22 lines
2.5 MiB
22 lines
2.5 MiB
var Module=typeof Module!=="undefined"?Module:{};"use strict";var LOG_TYPES={NP_TYPE_NONE:0,NP_TYPE_ERROR:1,NP_TYPE_NORMAL:2,NP_TYPE_DEBUG:3};var logType=LOG_TYPES.NP_TYPE_NORMAL;var logTime=function logTime(){var nowDate=new Date;return nowDate.toLocaleDateString()+" "+nowDate.toLocaleTimeString([],{hour12:false})};var NP_LOG=function NP_LOG(){var _console;for(var _len=arguments.length,args=Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key]}if(logType<LOG_TYPES.NP_TYPE_NORMAL)return;(_console=console).log.apply(_console,[logTime(),"[INFO]"].concat(args))};var NP_ERROR=function NP_ERROR(){var _console2;for(var _len2=arguments.length,args=Array(_len2),_key2=0;_key2<_len2;_key2++){args[_key2]=arguments[_key2]}if(logType<LOG_TYPES.NP_TYPE_ERROR)return;(_console2=console).error.apply(_console2,[logTime(),"[ERROR]"].concat(args))};var NP_DEBUG=function NP_DEBUG(){var _console3;for(var _len3=arguments.length,args=Array(_len3),_key3=0;_key3<_len3;_key3++){args[_key3]=arguments[_key3]}if(logType<LOG_TYPES.NP_TYPE_DEBUG)return;(_console3=console).log.apply(_console3,[logTime(),"[DEBUG]"].concat(args))};Module.print=NP_LOG;Module.printErr=NP_ERROR;"use strict";var _typeof=typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"?function(obj){return typeof obj}:function(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj};!function(e){if("object"==(typeof exports==="undefined"?"undefined":_typeof(exports))&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var t;t="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,t.flvjs=e()}}(function(){var e;return function e(t,n,i){function r(a,o){if(!n[a]){if(!t[a]){var u="function"==typeof require&&require;if(!o&&u)return u(a,!0);if(s)return s(a,!0);var l=new Error("Cannot find module '"+a+"'");throw l.code="MODULE_NOT_FOUND",l}var d=n[a]={exports:{}};t[a][0].call(d.exports,function(e){var n=t[a][1][e];return r(n||e)},d,d.exports,e,t,n,i)}return n[a].exports}for(var s="function"==typeof require&&require,a=0;a<i.length;a++){r(i[a])}return r}({1:[function(t,n,i){(function(r,s){!function(t,r){"object"==(typeof i==="undefined"?"undefined":_typeof(i))&&void 0!==n?n.exports=r():"function"==typeof e&&e.amd?e(r):t.ES6Promise=r()}(this,function(){"use strict";function e(e){var t=typeof e==="undefined"?"undefined":_typeof(e);return null!==e&&("object"===t||"function"===t)}function n(e){return"function"==typeof e}function i(e){V=e}function a(e){z=e}function o(){return void 0!==G?function(){G(l)}:u()}function u(){var e=setTimeout;return function(){return e(l,1)}}function l(){for(var e=0;e<F;e+=2){(0,Y[e])(Y[e+1]),Y[e]=void 0,Y[e+1]=void 0}F=0}function d(e,t){var n=this,i=new this.constructor(f);void 0===i[Q]&&C(i);var r=n._state;if(r){var s=arguments[r-1];z(function(){return A(r,i,s,n._result)})}else L(n,i,e,t);return i}function h(e){var t=this;if(e&&"object"==(typeof e==="undefined"?"undefined":_typeof(e))&&e.constructor===t)return e;var n=new t(f);return b(n,e),n}function f(){}function c(){return new TypeError("You cannot resolve a promise with itself")}function _(){return new TypeError("A promises callback cannot return that same promise.")}function m(e){try{return e.then}catch(e){return te.error=e,te}}function p(e,t,n,i){try{e.call(t,n,i)}catch(e){return e}}function v(e,t,n){z(function(e){var i=!1,r=p(n,t,function(n){i||(i=!0,t!==n?b(e,n):S(e,n))},function(t){i||(i=!0,k(e,t))},"Settle: "+(e._label||" unknown promise"));!i&&r&&(i=!0,k(e,r))},e)}function g(e,t){t._state===$?S(e,t._result):t._state===ee?k(e,t._result):L(t,void 0,function(t){return b(e,t)},function(t){return k(e,t)})}function y(e,t,i){t.constructor===e.constructor&&i===d&&t.constructor.resolve===h?g(e,t):i===te?(k(e,te.error),te.error=null):void 0===i?S(e,t):n(i)?v(e,t,i):S(e,t)}function b(t,n){t===n?k(t,c()):e(n)?y(t,n,m(n)):S(t,n)}function E(e){e._onerror&&e._onerror(e._result),R(e)}function S(e,t){e._state===J&&(e._result=t,e._state=$,0!==e._subscribers.length&&z(R,e))}function k(e,t){e._state===J&&(e._state=ee,e._result=t,z(E,e))}function L(e,t,n,i){var r=e._subscribers,s=r.length;e._onerror=null,r[s]=t,r[s+$]=n,r[s+ee]=i,0===s&&e._state&&z(R,e)}function R(e){var t=e._subscribers,n=e._state;if(0!==t.length){for(var i=void 0,r=void 0,s=e._result,a=0;a<t.length;a+=3){i=t[a],r=t[a+n],i?A(n,i,r,s):r(s)}e._subscribers.length=0}}function w(e,t){try{return e(t)}catch(e){return te.error=e,te}}function A(e,t,i,r){var s=n(i),a=void 0,o=void 0,u=void 0,l=void 0;if(s){if(a=w(i,r),a===te?(l=!0,o=a.error,a.error=null):u=!0,t===a)return void k(t,_())}else a=r,u=!0;t._state!==J||(s&&u?b(t,a):l?k(t,o):e===$?S(t,a):e===ee&&k(t,a))}function T(e,t){try{t(function(t){b(e,t)},function(t){k(e,t)})}catch(t){k(e,t)}}function O(){return ne++}function C(e){e[Q]=ne++,e._state=void 0,e._result=void 0,e._subscribers=[]}function I(){return new Error("Array Methods must be provided an Array")}function D(e){return new ie(this,e).promise}function x(e){var t=this;return new t(N(e)?function(n,i){for(var r=e.length,s=0;s<r;s++){t.resolve(e[s]).then(n,i)}}:function(e,t){return t(new TypeError("You must pass an array to race."))})}function M(e){var t=this,n=new t(f);return k(n,e),n}function j(){throw new TypeError("You must pass a resolver function as the first argument to the promise constructor")}function B(){throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.")}function P(){var e=void 0;if(void 0!==s)e=s;else if("undefined"!=typeof self)e=self;else try{e=Function("return this")()}catch(e){throw new Error("polyfill failed because global object is unavailable in this environment")}var t=e.Promise;if(t){var n=null;try{n=Object.prototype.toString.call(t.resolve())}catch(e){}if("[object Promise]"===n&&!t.cast)return}e.Promise=re}var U=void 0;U=Array.isArray?Array.isArray:function(e){return"[object Array]"===Object.prototype.toString.call(e)};var N=U,F=0,G=void 0,V=void 0,z=function z(e,t){Y[F]=e,Y[F+1]=t,2===(F+=2)&&(V?V(l):Z())},H="undefined"!=typeof window?window:void 0,q=H||{},K=q.MutationObserver||q.WebKitMutationObserver,W="undefined"==typeof self&&void 0!==r&&"[object process]"==={}.toString.call(r),X="undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof importScripts&&"undefined"!=typeof MessageChannel,Y=new Array(1e3),Z=void 0;Z=W?function(){return function(){return r.nextTick(l)}}():K?function(){var e=0,t=new K(l),n=document.createTextNode("");return t.observe(n,{characterData:!0}),function(){n.data=e=++e%2}}():X?function(){var e=new MessageChannel;return e.port1.onmessage=l,function(){return e.port2.postMessage(0)}}():void 0===H&&"function"==typeof t?function(){try{var e=Function("return this")().require("vertx");return G=e.runOnLoop||e.runOnContext,o()}catch(e){return u()}}():u();var Q=Math.random().toString(36).substring(2),J=void 0,$=1,ee=2,te={error:null},ne=0,ie=function(){function e(e,t){this._instanceConstructor=e,this.promise=new e(f),this.promise[Q]||C(this.promise),N(t)?(this.length=t.length,this._remaining=t.length,this._result=new Array(this.length),0===this.length?S(this.promise,this._result):(this.length=this.length||0,this._enumerate(t),0===this._remaining&&S(this.promise,this._result))):k(this.promise,I())}return e.prototype._enumerate=function(e){for(var t=0;this._state===J&&t<e.length;t++){this._eachEntry(e[t],t)}},e.prototype._eachEntry=function(e,t){var n=this._instanceConstructor,i=n.resolve;if(i===h){var r=m(e);if(r===d&&e._state!==J)this._settledAt(e._state,t,e._result);else if("function"!=typeof r)this._remaining--,this._result[t]=e;else if(n===re){var s=new n(f);y(s,e,r),this._willSettleAt(s,t)}else this._willSettleAt(new n(function(t){return t(e)}),t)}else this._willSettleAt(i(e),t)},e.prototype._settledAt=function(e,t,n){var i=this.promise;i._state===J&&(this._remaining--,e===ee?k(i,n):this._result[t]=n),0===this._remaining&&S(i,this._result)},e.prototype._willSettleAt=function(e,t){var n=this;L(e,void 0,function(e){return n._settledAt($,t,e)},function(e){return n._settledAt(ee,t,e)})},e}(),re=function(){function e(t){this[Q]=O(),this._result=this._state=void 0,this._subscribers=[],f!==t&&("function"!=typeof t&&j(),this instanceof e?T(this,t):B())}return e.prototype.catch=function(e){return this.then(null,e)},e.prototype.finally=function(e){var t=this,i=t.constructor;return n(e)?t.then(function(t){return i.resolve(e()).then(function(){return t})},function(t){return i.resolve(e()).then(function(){throw t})}):t.then(e,e)},e}();return re.prototype.then=d,re.all=D,re.race=x,re.resolve=h,re.reject=M,re._setScheduler=i,re._setAsap=a,re._asap=z,re.polyfill=P,re.Promise=re,re})}).call(this,t("_process"),"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{_process:3}],2:[function(e,t,n){function i(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}function r(e){return"function"==typeof e}function s(e){return"number"==typeof e}function a(e){return"object"==(typeof e==="undefined"?"undefined":_typeof(e))&&null!==e}function o(e){return void 0===e}t.exports=i,i.EventEmitter=i,i.prototype._events=void 0,i.prototype._maxListeners=void 0,i.defaultMaxListeners=10,i.prototype.setMaxListeners=function(e){if(!s(e)||e<0||isNaN(e))throw TypeError("n must be a positive number");return this._maxListeners=e,this},i.prototype.emit=function(e){var t,n,i,s,u,l;if(this._events||(this._events={}),"error"===e&&(!this._events.error||a(this._events.error)&&!this._events.error.length)){if((t=arguments[1])instanceof Error)throw t;var d=new Error('Uncaught, unspecified "error" event. ('+t+")");throw d.context=t,d}if(n=this._events[e],o(n))return!1;if(r(n))switch(arguments.length){case 1:n.call(this);break;case 2:n.call(this,arguments[1]);break;case 3:n.call(this,arguments[1],arguments[2]);break;default:s=Array.prototype.slice.call(arguments,1),n.apply(this,s)}else if(a(n))for(s=Array.prototype.slice.call(arguments,1),l=n.slice(),i=l.length,u=0;u<i;u++){l[u].apply(this,s)}return!0},i.prototype.addListener=function(e,t){var n;if(!r(t))throw TypeError("listener must be a function");return this._events||(this._events={}),this._events.newListener&&this.emit("newListener",e,r(t.listener)?t.listener:t),this._events[e]?a(this._events[e])?this._events[e].push(t):this._events[e]=[this._events[e],t]:this._events[e]=t,a(this._events[e])&&!this._events[e].warned&&(n=o(this._maxListeners)?i.defaultMaxListeners:this._maxListeners)&&n>0&&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},i.prototype.on=i.prototype.addListener,i.prototype.once=function(e,t){function n(){this.removeListener(e,n),i||(i=!0,t.apply(this,arguments))}if(!r(t))throw TypeError("listener must be a function");var i=!1;return n.listener=t,this.on(e,n),this},i.prototype.removeListener=function(e,t){var n,i,s,o;if(!r(t))throw TypeError("listener must be a function");if(!this._events||!this._events[e])return this;if(n=this._events[e],s=n.length,i=-1,n===t||r(n.listener)&&n.listener===t)delete this._events[e],this._events.removeListener&&this.emit("removeListener",e,t);else if(a(n)){for(o=s;o-- >0;){if(n[o]===t||n[o].listener&&n[o].listener===t){i=o;break}}if(i<0)return this;1===n.length?(n.length=0,delete this._events[e]):n.splice(i,1),this._events.removeListener&&this.emit("removeListener",e,t)}return this},i.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],r(n))this.removeListener(e,n);else if(n)for(;n.length;){this.removeListener(e,n[n.length-1])}return delete this._events[e],this},i.prototype.listeners=function(e){return this._events&&this._events[e]?r(this._events[e])?[this._events[e]]:this._events[e].slice():[]},i.prototype.listenerCount=function(e){if(this._events){var t=this._events[e];if(r(t))return 1;if(t)return t.length}return 0},i.listenerCount=function(e,t){return e.listenerCount(t)}},{}],3:[function(e,t,n){function i(){throw new Error("setTimeout has not been defined")}function r(){throw new Error("clearTimeout has not been defined")}function s(e){if(h===setTimeout)return setTimeout(e,0);if((h===i||!h)&&setTimeout)return h=setTimeout,setTimeout(e,0);try{return h(e,0)}catch(t){try{return h.call(null,e,0)}catch(t){return h.call(this,e,0)}}}function a(e){if(f===clearTimeout)return clearTimeout(e);if((f===r||!f)&&clearTimeout)return f=clearTimeout,clearTimeout(e);try{return f(e)}catch(t){try{return f.call(null,e)}catch(t){return f.call(this,e)}}}function o(){p&&_&&(p=!1,_.length?m=_.concat(m):v=-1,m.length&&u())}function u(){if(!p){var e=s(o);p=!0;for(var t=m.length;t;){for(_=m,m=[];++v<t;){_&&_[v].run()}v=-1,t=m.length}_=null,p=!1,a(e)}}function l(e,t){this.fun=e,this.array=t}function d(){}var h,f,c=t.exports={};!function(){try{h="function"==typeof setTimeout?setTimeout:i}catch(e){h=i}try{f="function"==typeof clearTimeout?clearTimeout:r}catch(e){f=r}}();var _,m=[],p=!1,v=-1;c.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++){t[n-1]=arguments[n]}m.push(new l(e,t)),1!==m.length||p||s(u)},l.prototype.run=function(){this.fun.apply(null,this.array)},c.title="browser",c.browser=!0,c.env={},c.argv=[],c.version="",c.versions={},c.on=d,c.addListener=d,c.once=d,c.off=d,c.removeListener=d,c.removeAllListeners=d,c.emit=d,c.prependListener=d,c.prependOnceListener=d,c.listeners=function(e){return[]},c.binding=function(e){throw new Error("process.binding is not supported")},c.cwd=function(){return"/"},c.chdir=function(e){throw new Error("process.chdir is not supported")},c.umask=function(){return 0}},{}],4:[function(e,t,n){var i=arguments[3],r=arguments[4],s=arguments[5],a=JSON.stringify;t.exports=function(e,t){function n(e){p[e]=!0;for(var t in r[e][1]){var i=r[e][1][t];p[i]||n(i)}}for(var o,u=Object.keys(s),l=0,d=u.length;l<d;l++){var h=u[l],f=s[h].exports;if(f===e||f&&f.default===e){o=h;break}}if(!o){o=Math.floor(Math.pow(16,8)*Math.random()).toString(16);for(var c={},l=0,d=u.length;l<d;l++){var h=u[l];c[h]=h}r[o]=["function(require,module,exports){"+e+"(self); }",c]}var _=Math.floor(Math.pow(16,8)*Math.random()).toString(16),m={};m[o]=o,r[_]=["function(require,module,exports){var f = require("+a(o)+");(f.default ? f.default : f)(self);}",m];var p={};n(_);var v="("+i+")({"+Object.keys(p).map(function(e){return a(e)+":["+r[e][0]+","+a(r[e][1])+"]"}).join(",")+"},{},["+a(_)+"])",g=window.URL||window.webkitURL||window.mozURL||window.msURL,y=new Blob([v],{type:"text/javascript"});if(t&&t.bare)return y;var b=g.createObjectURL(y),E=new Worker(b);return E.objectURL=b,E}},{}],5:[function(e,t,n){"use strict";function i(){return Object.assign({},r)}Object.defineProperty(n,"__esModule",{value:!0}),n.createDefaultConfig=i;var r=n.defaultConfig={enableWorker:!1,enableStashBuffer:!0,stashInitialSize:void 0,isLive:!1,lazyLoad:!0,lazyLoadMaxDuration:180,lazyLoadRecoverDuration:30,deferLoadAfterSourceOpen:!0,autoCleanupMaxBackwardDuration:180,autoCleanupMinBackwardDuration:120,statisticsInfoReportInterval:600,fixAudioTimestampGap:!0,accurateSeek:!1,seekType:"range",seekParamStart:"bstart",seekParamEnd:"bend",rangeLoadZeroStart:!1,customSeekHandler:void 0,reuseRedirectedURL:!1,headers:void 0,customLoader:void 0}},{}],6:[function(e,t,n){"use strict";function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(n,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),s=e("../io/io-controller.js"),a=function(e){return e&&e.__esModule?e:{default:e}}(s),o=e("../config.js"),u=function(){function e(){i(this,e)}return r(e,null,[{key:"supportMSEH264Playback",value:function value(){return window.MediaSource&&window.MediaSource.isTypeSupported('video/mp4; codecs="avc1.42E01E,mp4a.40.2"')}},{key:"supportNetworkStreamIO",value:function value(){var e=new a.default({},(0,o.createDefaultConfig)()),t=e.loaderType;return e.destroy(),"fetch-stream-loader"==t||"xhr-moz-chunked-loader"==t}},{key:"getNetworkLoaderTypeName",value:function value(){var e=new a.default({},(0,o.createDefaultConfig)()),t=e.loaderType;return e.destroy(),t}},{key:"supportNativeMediaPlayback",value:function value(t){void 0==e.videoElement&&(e.videoElement=window.document.createElement("video"));var n=e.videoElement.canPlayType(t);return"probably"===n||"maybe"==n}},{key:"getFeatureList",value:function value(){var t={mseFlvPlayback:!1,mseLiveFlvPlayback:!1,networkStreamIO:!1,networkLoaderName:"",nativeMP4H264Playback:!1,nativeWebmVP8Playback:!1,nativeWebmVP9Playback:!1};return t.mseFlvPlayback=e.supportMSEH264Playback(),t.networkStreamIO=e.supportNetworkStreamIO(),t.networkLoaderName=e.getNetworkLoaderTypeName(),t.mseLiveFlvPlayback=t.mseFlvPlayback&&t.networkStreamIO,t.nativeMP4H264Playback=e.supportNativeMediaPlayback('video/mp4; codecs="avc1.42001E, mp4a.40.2"'),t.nativeWebmVP8Playback=e.supportNativeMediaPlayback('video/webm; codecs="vp8.0, vorbis"'),t.nativeWebmVP9Playback=e.supportNativeMediaPlayback('video/webm; codecs="vp9"'),t}}]),e}();n.default=u},{"../config.js":5,"../io/io-controller.js":23}],7:[function(e,t,n){"use strict";function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(n,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),s=function(){function e(){i(this,e),this.mimeType=null,this.duration=null,this.hasAudio=null,this.hasVideo=null,this.audioCodec=null,this.videoCodec=null,this.audioDataRate=null,this.videoDataRate=null,this.audioSampleRate=null,this.audioChannelCount=null,this.width=null,this.height=null,this.fps=null,this.profile=null,this.level=null,this.refFrames=null,this.chromaFormat=null,this.sarNum=null,this.sarDen=null,this.metadata=null,this.segments=null,this.segmentCount=null,this.hasKeyframesIndex=null,this.keyframesIndex=null}return r(e,[{key:"isComplete",value:function value(){var e=!1===this.hasAudio||!0===this.hasAudio&&null!=this.audioCodec&&null!=this.audioSampleRate&&null!=this.audioChannelCount,t=!1===this.hasVideo||!0===this.hasVideo&&null!=this.videoCodec&&null!=this.width&&null!=this.height&&null!=this.fps&&null!=this.profile&&null!=this.level&&null!=this.refFrames&&null!=this.chromaFormat&&null!=this.sarNum&&null!=this.sarDen;return null!=this.mimeType&&null!=this.duration&&null!=this.metadata&&null!=this.hasKeyframesIndex&&e&&t}},{key:"isSeekable",value:function value(){return!0===this.hasKeyframesIndex}},{key:"getNearestKeyframe",value:function value(e){if(null==this.keyframesIndex)return null;var t=this.keyframesIndex,n=this._search(t.times,e);return{index:n,milliseconds:t.times[n],fileposition:t.filepositions[n]}}},{key:"_search",value:function value(e,t){var n=0,i=e.length-1,r=0,s=0,a=i;for(t<e[0]&&(n=0,s=a+1);s<=a;){if((r=s+Math.floor((a-s)/2))===i||t>=e[r]&&t<e[r+1]){n=r;break}e[r]<t?s=r+1:a=r-1}return n}}]),e}();n.default=s},{}],8:[function(e,t,n){"use strict";function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(n,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}();n.SampleInfo=function e(t,n,r,s,a){i(this,e),this.dts=t,this.pts=n,this.duration=r,this.originalDts=s,this.isSyncPoint=a,this.fileposition=null},n.MediaSegmentInfo=function(){function e(){i(this,e),this.beginDts=0,this.endDts=0,this.beginPts=0,this.endPts=0,this.originalBeginDts=0,this.originalEndDts=0,this.syncPoints=[],this.firstSample=null,this.lastSample=null}return r(e,[{key:"appendSyncPoint",value:function value(e){e.isSyncPoint=!0,this.syncPoints.push(e)}}]),e}(),n.IDRSampleList=function(){function e(){i(this,e),this._list=[]}return r(e,[{key:"clear",value:function value(){this._list=[]}},{key:"appendArray",value:function value(e){var t=this._list;0!==e.length&&(t.length>0&&e[0].originalDts<t[t.length-1].originalDts&&this.clear(),Array.prototype.push.apply(t,e))}},{key:"getLastSyncPointBeforeDts",value:function value(e){if(0==this._list.length)return null;var t=this._list,n=0,i=t.length-1,r=0,s=0,a=i;for(e<t[0].dts&&(n=0,s=a+1);s<=a;){if((r=s+Math.floor((a-s)/2))===i||e>=t[r].dts&&e<t[r+1].dts){n=r;break}t[r].dts<e?s=r+1:a=r-1}return this._list[n]}}]),e}(),n.MediaSegmentInfoList=function(){function e(t){i(this,e),this._type=t,this._list=[],this._lastAppendLocation=-1}return r(e,[{key:"isEmpty",value:function value(){return 0===this._list.length}},{key:"clear",value:function value(){this._list=[],this._lastAppendLocation=-1}},{key:"_searchNearestSegmentBefore",value:function value(e){var t=this._list;if(0===t.length)return-2;var n=t.length-1,i=0,r=0,s=n,a=0;if(e<t[0].originalBeginDts)return a=-1;for(;r<=s;){if((i=r+Math.floor((s-r)/2))===n||e>t[i].lastSample.originalDts&&e<t[i+1].originalBeginDts){a=i;break}t[i].originalBeginDts<e?r=i+1:s=i-1}return a}},{key:"_searchNearestSegmentAfter",value:function value(e){return this._searchNearestSegmentBefore(e)+1}},{key:"append",value:function value(e){var t=this._list,n=e,i=this._lastAppendLocation,r=0;-1!==i&&i<t.length&&n.originalBeginDts>=t[i].lastSample.originalDts&&(i===t.length-1||i<t.length-1&&n.originalBeginDts<t[i+1].originalBeginDts)?r=i+1:t.length>0&&(r=this._searchNearestSegmentBefore(n.originalBeginDts)+1),this._lastAppendLocation=r,this._list.splice(r,0,n)}},{key:"getLastSegmentBefore",value:function value(e){var t=this._searchNearestSegmentBefore(e);return t>=0?this._list[t]:null}},{key:"getLastSampleBefore",value:function value(e){var t=this.getLastSegmentBefore(e);return null!=t?t.lastSample:null}},{key:"getLastSyncPointBefore",value:function value(e){for(var t=this._searchNearestSegmentBefore(e),n=this._list[t].syncPoints;0===n.length&&t>0;){t--,n=this._list[t].syncPoints}return n.length>0?n[n.length-1]:null}},{key:"type",get:function get(){return this._type}},{key:"length",get:function get(){return this._list.length}}]),e}()},{}],9:[function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(n,"__esModule",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),a=e("events"),o=i(a),u=e("../utils/logger.js"),l=i(u),d=e("../utils/browser.js"),h=i(d),f=e("./mse-events.js"),c=i(f),_=e("./media-segment-info.js"),m=e("../utils/exception.js"),p=function(){function e(t){r(this,e),this.TAG="MSEController",this._config=t,this._emitter=new o.default,this._config.isLive&&void 0==this._config.autoCleanupSourceBuffer&&(this._config.autoCleanupSourceBuffer=!0),this.e={onSourceOpen:this._onSourceOpen.bind(this),onSourceEnded:this._onSourceEnded.bind(this),onSourceClose:this._onSourceClose.bind(this),onSourceBufferError:this._onSourceBufferError.bind(this),onSourceBufferUpdateEnd:this._onSourceBufferUpdateEnd.bind(this)},this._mediaSource=null,this._mediaSourceObjectURL=null,this._mediaElement=null,this._isBufferFull=!1,this._hasPendingEos=!1,this._requireSetMediaDuration=!1,this._pendingMediaDuration=0,this._pendingSourceBufferInit=[],this._mimeTypes={video:null,audio:null},this._sourceBuffers={video:null,audio:null},this._lastInitSegments={video:null,audio:null},this._pendingSegments={video:[],audio:[]},this._pendingRemoveRanges={video:[],audio:[]},this._idrList=new _.IDRSampleList}return s(e,[{key:"destroy",value:function value(){(this._mediaElement||this._mediaSource)&&this.detachMediaElement(),this.e=null,this._emitter.removeAllListeners(),this._emitter=null}},{key:"on",value:function value(e,t){this._emitter.addListener(e,t)}},{key:"off",value:function value(e,t){this._emitter.removeListener(e,t)}},{key:"attachMediaElement",value:function value(e){if(this._mediaSource)throw new m.IllegalStateException("MediaSource has been attached to an HTMLMediaElement!");var t=this._mediaSource=new window.MediaSource;t.addEventListener("sourceopen",this.e.onSourceOpen),t.addEventListener("sourceended",this.e.onSourceEnded),t.addEventListener("sourceclose",this.e.onSourceClose),this._mediaElement=e,this._mediaSourceObjectURL=window.URL.createObjectURL(this._mediaSource),e.src=this._mediaSourceObjectURL}},{key:"detachMediaElement",value:function value(){if(this._mediaSource){var e=this._mediaSource;for(var t in this._sourceBuffers){var n=this._pendingSegments[t];n.splice(0,n.length),this._pendingSegments[t]=null,this._pendingRemoveRanges[t]=null,this._lastInitSegments[t]=null;var i=this._sourceBuffers[t];if(i){if("closed"!==e.readyState){try{e.removeSourceBuffer(i)}catch(e){l.default.e(this.TAG,e.message)}i.removeEventListener("error",this.e.onSourceBufferError),i.removeEventListener("updateend",this.e.onSourceBufferUpdateEnd)}this._mimeTypes[t]=null,this._sourceBuffers[t]=null}}if("open"===e.readyState)try{e.endOfStream()}catch(e){l.default.e(this.TAG,e.message)}e.removeEventListener("sourceopen",this.e.onSourceOpen),e.removeEventListener("sourceended",this.e.onSourceEnded),e.removeEventListener("sourceclose",this.e.onSourceClose),this._pendingSourceBufferInit=[],this._isBufferFull=!1,this._idrList.clear(),this._mediaSource=null}this._mediaElement&&(this._mediaElement.src="",this._mediaElement.removeAttribute("src"),this._mediaElement=null),this._mediaSourceObjectURL&&(window.URL.revokeObjectURL(this._mediaSourceObjectURL),this._mediaSourceObjectURL=null)}},{key:"appendInitSegment",value:function value(e,t){if(!this._mediaSource||"open"!==this._mediaSource.readyState)return this._pendingSourceBufferInit.push(e),void this._pendingSegments[e.type].push(e);var n=e,i=""+n.container;n.codec&&n.codec.length>0&&(i+=";codecs="+n.codec);var r=!1;if(l.default.v(this.TAG,"Received Initialization Segment, mimeType: "+i),this._lastInitSegments[n.type]=n,i!==this._mimeTypes[n.type]){if(this._mimeTypes[n.type])l.default.v(this.TAG,"Notice: "+n.type+" mimeType changed, origin: "+this._mimeTypes[n.type]+", target: "+i);else{r=!0;try{var s=this._sourceBuffers[n.type]=this._mediaSource.addSourceBuffer(i);s.addEventListener("error",this.e.onSourceBufferError),s.addEventListener("updateend",this.e.onSourceBufferUpdateEnd)}catch(e){return l.default.e(this.TAG,e.message),void this._emitter.emit(c.default.ERROR,{code:e.code,msg:e.message})}}this._mimeTypes[n.type]=i}t||this._pendingSegments[n.type].push(n),r||this._sourceBuffers[n.type]&&!this._sourceBuffers[n.type].updating&&this._doAppendSegments(),h.default.safari&&"audio/mpeg"===n.container&&n.mediaDuration>0&&(this._requireSetMediaDuration=!0,this._pendingMediaDuration=n.mediaDuration/1e3,this._updateMediaSourceDuration())}},{key:"appendMediaSegment",value:function value(e){var t=e;this._pendingSegments[t.type].push(t),this._config.autoCleanupSourceBuffer&&this._needCleanupSourceBuffer()&&this._doCleanupSourceBuffer();var n=this._sourceBuffers[t.type];!n||n.updating||this._hasPendingRemoveRanges()||this._doAppendSegments()}},{key:"seek",value:function value(e){for(var t in this._sourceBuffers){if(this._sourceBuffers[t]){var n=this._sourceBuffers[t];if("open"===this._mediaSource.readyState)try{n.abort()}catch(e){l.default.e(this.TAG,e.message)}this._idrList.clear();var i=this._pendingSegments[t];if(i.splice(0,i.length),"closed"!==this._mediaSource.readyState){for(var r=0;r<n.buffered.length;r++){var s=n.buffered.start(r),a=n.buffered.end(r);this._pendingRemoveRanges[t].push({start:s,end:a})}if(n.updating||this._doRemoveRanges(),h.default.safari){var o=this._lastInitSegments[t];o&&(this._pendingSegments[t].push(o),n.updating||this._doAppendSegments())}}}}}},{key:"endOfStream",value:function value(){var e=this._mediaSource,t=this._sourceBuffers;if(!e||"open"!==e.readyState)return void(e&&"closed"===e.readyState&&this._hasPendingSegments()&&(this._hasPendingEos=!0));t.video&&t.video.updating||t.audio&&t.audio.updating?this._hasPendingEos=!0:(this._hasPendingEos=!1,e.endOfStream())}},{key:"getNearestKeyframe",value:function value(e){return this._idrList.getLastSyncPointBeforeDts(e)}},{key:"_needCleanupSourceBuffer",value:function value(){if(!this._config.autoCleanupSourceBuffer)return!1;var e=this._mediaElement.currentTime;for(var t in this._sourceBuffers){var n=this._sourceBuffers[t];if(n){var i=n.buffered;if(i.length>=1&&e-i.start(0)>=this._config.autoCleanupMaxBackwardDuration)return!0}}return!1}},{key:"_doCleanupSourceBuffer",value:function value(){var e=this._mediaElement.currentTime;for(var t in this._sourceBuffers){var n=this._sourceBuffers[t];if(n){for(var i=n.buffered,r=!1,s=0;s<i.length;s++){var a=i.start(s),o=i.end(s);if(a<=e&&e<o+3){if(e-a>=this._config.autoCleanupMaxBackwardDuration){r=!0;var u=e-this._config.autoCleanupMinBackwardDuration;this._pendingRemoveRanges[t].push({start:a,end:u})}}else o<e&&(r=!0,this._pendingRemoveRanges[t].push({start:a,end:o}))}r&&!n.updating&&this._doRemoveRanges()}}}},{key:"_updateMediaSourceDuration",value:function value(){var e=this._sourceBuffers;if(0!==this._mediaElement.readyState&&"open"===this._mediaSource.readyState&&!(e.video&&e.video.updating||e.audio&&e.audio.updating)){var t=this._mediaSource.duration,n=this._pendingMediaDuration;n>0&&(isNaN(t)||n>t)&&(l.default.v(this.TAG,"Update MediaSource duration from "+t+" to "+n),this._mediaSource.duration=n),this._requireSetMediaDuration=!1,this._pendingMediaDuration=0}}},{key:"_doRemoveRanges",value:function value(){for(var e in this._pendingRemoveRanges){if(this._sourceBuffers[e]&&!this._sourceBuffers[e].updating)for(var t=this._sourceBuffers[e],n=this._pendingRemoveRanges[e];n.length&&!t.updating;){var i=n.shift();t.remove(i.start,i.end)}}}},{key:"_doAppendSegments",value:function value(){var e=this._pendingSegments;for(var t in e){if(this._sourceBuffers[t]&&!this._sourceBuffers[t].updating&&e[t].length>0){var n=e[t].shift();if(n.timestampOffset){var i=this._sourceBuffers[t].timestampOffset,r=n.timestampOffset/1e3,s=Math.abs(i-r);s>.1&&(l.default.v(this.TAG,"Update MPEG audio timestampOffset from "+i+" to "+r),this._sourceBuffers[t].timestampOffset=r),delete n.timestampOffset}if(!n.data||0===n.data.byteLength)continue;try{this._sourceBuffers[t].appendBuffer(n.data),this._isBufferFull=!1,"video"===t&&n.hasOwnProperty("info")&&this._idrList.appendArray(n.info.syncPoints)}catch(e){this._pendingSegments[t].unshift(n),22===e.code?(this._isBufferFull||this._emitter.emit(c.default.BUFFER_FULL),this._isBufferFull=!0):(l.default.e(this.TAG,e.message),this._emitter.emit(c.default.ERROR,{code:e.code,msg:e.message}))}}}}},{key:"_onSourceOpen",value:function value(){if(l.default.v(this.TAG,"MediaSource onSourceOpen"),this._mediaSource.removeEventListener("sourceopen",this.e.onSourceOpen),this._pendingSourceBufferInit.length>0)for(var e=this._pendingSourceBufferInit;e.length;){var t=e.shift();this.appendInitSegment(t,!0)}this._hasPendingSegments()&&this._doAppendSegments(),this._emitter.emit(c.default.SOURCE_OPEN)}},{key:"_onSourceEnded",value:function value(){l.default.v(this.TAG,"MediaSource onSourceEnded")}},{key:"_onSourceClose",value:function value(){l.default.v(this.TAG,"MediaSource onSourceClose"),this._mediaSource&&null!=this.e&&(this._mediaSource.removeEventListener("sourceopen",this.e.onSourceOpen),this._mediaSource.removeEventListener("sourceended",this.e.onSourceEnded),this._mediaSource.removeEventListener("sourceclose",this.e.onSourceClose))}},{key:"_hasPendingSegments",value:function value(){var e=this._pendingSegments;return e.video.length>0||e.audio.length>0}},{key:"_hasPendingRemoveRanges",value:function value(){var e=this._pendingRemoveRanges;return e.video.length>0||e.audio.length>0}},{key:"_onSourceBufferUpdateEnd",value:function value(){this._requireSetMediaDuration?this._updateMediaSourceDuration():this._hasPendingRemoveRanges()?this._doRemoveRanges():this._hasPendingSegments()?this._doAppendSegments():this._hasPendingEos&&this.endOfStream(),this._emitter.emit(c.default.UPDATE_END)}},{key:"_onSourceBufferError",value:function value(e){l.default.e(this.TAG,"SourceBuffer Error: "+e)}}]),e}();n.default=p},{"../utils/browser.js":40,"../utils/exception.js":41,"../utils/logger.js":42,"./media-segment-info.js":8,"./mse-events.js":10,events:2}],10:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var i={ERROR:"error",SOURCE_OPEN:"source_open",UPDATE_END:"update_end",BUFFER_FULL:"buffer_full"};n.default=i},{}],11:[function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(n,"__esModule",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),a=e("events"),o=i(a),u=e("../utils/logger.js"),l=i(u),d=e("../utils/logging-control.js"),h=i(d),f=e("./transmuxing-controller.js"),c=i(f),_=e("./transmuxing-events.js"),m=i(_),p=e("./transmuxing-worker.js"),v=i(p),g=e("./media-info.js"),y=i(g),b=function(){function t(n,i){if(r(this,t),this.TAG="Transmuxer",this._emitter=new o.default,i.enableWorker&&"undefined"!=typeof Worker)try{var s=e("webworkify");this._worker=s(v.default),this._workerDestroying=!1,this._worker.addEventListener("message",this._onWorkerMessage.bind(this)),this._worker.postMessage({cmd:"init",param:[n,i]}),this.e={onLoggingConfigChanged:this._onLoggingConfigChanged.bind(this)},h.default.registerListener(this.e.onLoggingConfigChanged),this._worker.postMessage({cmd:"logging_config",param:h.default.getConfig()})}catch(e){l.default.e(this.TAG,"Error while initialize transmuxing worker, fallback to inline transmuxing"),this._worker=null,this._controller=new c.default(n,i)}else this._controller=new c.default(n,i);if(this._controller){var a=this._controller;a.on(m.default.IO_ERROR,this._onIOError.bind(this)),a.on(m.default.DEMUX_ERROR,this._onDemuxError.bind(this)),a.on(m.default.INIT_SEGMENT,this._onInitSegment.bind(this)),a.on(m.default.MEDIA_SEGMENT,this._onMediaSegment.bind(this)),a.on(m.default.LOADING_COMPLETE,this._onLoadingComplete.bind(this)),a.on(m.default.RECOVERED_EARLY_EOF,this._onRecoveredEarlyEof.bind(this)),a.on(m.default.MEDIA_INFO,this._onMediaInfo.bind(this)),a.on(m.default.METADATA_ARRIVED,this._onMetaDataArrived.bind(this)),a.on(m.default.SCRIPTDATA_ARRIVED,this._onScriptDataArrived.bind(this)),a.on(m.default.STATISTICS_INFO,this._onStatisticsInfo.bind(this)),a.on(m.default.RECOMMEND_SEEKPOINT,this._onRecommendSeekpoint.bind(this))}}return s(t,[{key:"destroy",value:function value(){this._worker?this._workerDestroying||(this._workerDestroying=!0,this._worker.postMessage({cmd:"destroy"}),h.default.removeListener(this.e.onLoggingConfigChanged),this.e=null):(this._controller.destroy(),this._controller=null),this._emitter.removeAllListeners(),this._emitter=null}},{key:"on",value:function value(e,t){this._emitter.addListener(e,t)}},{key:"off",value:function value(e,t){this._emitter.removeListener(e,t)}},{key:"hasWorker",value:function value(){return null!=this._worker}},{key:"open",value:function value(){this._worker?this._worker.postMessage({cmd:"start"}):this._controller.start()}},{key:"close",value:function value(){this._worker?this._worker.postMessage({cmd:"stop"}):this._controller.stop()}},{key:"seek",value:function value(e){this._worker?this._worker.postMessage({cmd:"seek",param:e}):this._controller.seek(e)}},{key:"pause",value:function value(){this._worker?this._worker.postMessage({cmd:"pause"}):this._controller.pause()}},{key:"resume",value:function value(){this._worker?this._worker.postMessage({cmd:"resume"}):this._controller.resume()}},{key:"_onInitSegment",value:function value(e,t){var n=this;Promise.resolve().then(function(){n._emitter.emit(m.default.INIT_SEGMENT,e,t)})}},{key:"_onMediaSegment",value:function value(e,t){var n=this;Promise.resolve().then(function(){n._emitter.emit(m.default.MEDIA_SEGMENT,e,t)})}},{key:"_onLoadingComplete",value:function value(){var e=this;Promise.resolve().then(function(){e._emitter.emit(m.default.LOADING_COMPLETE)})}},{key:"_onRecoveredEarlyEof",value:function value(){var e=this;Promise.resolve().then(function(){e._emitter.emit(m.default.RECOVERED_EARLY_EOF)})}},{key:"_onMediaInfo",value:function value(e){var t=this;Promise.resolve().then(function(){t._emitter.emit(m.default.MEDIA_INFO,e)})}},{key:"_onMetaDataArrived",value:function value(e){var t=this;Promise.resolve().then(function(){t._emitter.emit(m.default.METADATA_ARRIVED,e)})}},{key:"_onScriptDataArrived",value:function value(e){var t=this;Promise.resolve().then(function(){t._emitter.emit(m.default.SCRIPTDATA_ARRIVED,e)})}},{key:"_onStatisticsInfo",value:function value(e){var t=this;Promise.resolve().then(function(){t._emitter.emit(m.default.STATISTICS_INFO,e)})}},{key:"_onIOError",value:function value(e,t){var n=this;Promise.resolve().then(function(){n._emitter.emit(m.default.IO_ERROR,e,t)})}},{key:"_onDemuxError",value:function value(e,t){var n=this;Promise.resolve().then(function(){n._emitter.emit(m.default.DEMUX_ERROR,e,t)})}},{key:"_onRecommendSeekpoint",value:function value(e){var t=this;Promise.resolve().then(function(){t._emitter.emit(m.default.RECOMMEND_SEEKPOINT,e)})}},{key:"_onLoggingConfigChanged",value:function value(e){this._worker&&this._worker.postMessage({cmd:"logging_config",param:e})}},{key:"_onWorkerMessage",value:function value(e){var t=e.data,n=t.data;if("destroyed"===t.msg||this._workerDestroying)return this._workerDestroying=!1,this._worker.terminate(),void(this._worker=null);switch(t.msg){case m.default.INIT_SEGMENT:case m.default.MEDIA_SEGMENT:this._emitter.emit(t.msg,n.type,n.data);break;case m.default.LOADING_COMPLETE:case m.default.RECOVERED_EARLY_EOF:this._emitter.emit(t.msg);break;case m.default.MEDIA_INFO:Object.setPrototypeOf(n,y.default.prototype),this._emitter.emit(t.msg,n);break;case m.default.METADATA_ARRIVED:case m.default.SCRIPTDATA_ARRIVED:case m.default.STATISTICS_INFO:this._emitter.emit(t.msg,n);break;case m.default.IO_ERROR:case m.default.DEMUX_ERROR:this._emitter.emit(t.msg,n.type,n.info);break;case m.default.RECOMMEND_SEEKPOINT:this._emitter.emit(t.msg,n);break;case"logcat_callback":l.default.emitter.emit("log",n.type,n.logcat)}}}]),t}();n.default=b},{"../utils/logger.js":42,"../utils/logging-control.js":43,"./media-info.js":7,"./transmuxing-controller.js":12,"./transmuxing-events.js":13,"./transmuxing-worker.js":14,events:2,webworkify:4}],12:[function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(n,"__esModule",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),a=e("events"),o=i(a),u=e("../utils/logger.js"),l=i(u),d=e("../utils/browser.js"),h=i(d),f=e("./media-info.js"),c=i(f),_=e("../demux/flv-demuxer.js"),m=i(_),p=e("../remux/mp4-remuxer.js"),v=i(p),g=e("../demux/demux-errors.js"),y=i(g),b=e("../io/io-controller.js"),E=i(b),S=e("./transmuxing-events.js"),k=i(S),L=(e("../io/loader.js"),function(){function e(t,n){r(this,e),this.TAG="TransmuxingController",this._emitter=new o.default,this._config=n,t.segments||(t.segments=[{duration:t.duration,filesize:t.filesize,url:t.url}]),"boolean"!=typeof t.cors&&(t.cors=!0),"boolean"!=typeof t.withCredentials&&(t.withCredentials=!1),this._mediaDataSource=t,this._currentSegmentIndex=0;var i=0;this._mediaDataSource.segments.forEach(function(e){e.timestampBase=i,i+=e.duration,e.cors=t.cors,e.withCredentials=t.withCredentials,n.referrerPolicy&&(e.referrerPolicy=n.referrerPolicy)}),isNaN(i)||this._mediaDataSource.duration===i||(this._mediaDataSource.duration=i),this._mediaInfo=null,this._demuxer=null,this._remuxer=null,this._ioctl=null,this._pendingSeekTime=null,this._pendingResolveSeekPoint=null,this._statisticsReporter=null}return s(e,[{key:"destroy",value:function value(){this._mediaInfo=null,this._mediaDataSource=null,this._statisticsReporter&&this._disableStatisticsReporter(),this._ioctl&&(this._ioctl.destroy(),this._ioctl=null),this._demuxer&&(this._demuxer.destroy(),this._demuxer=null),this._remuxer&&(this._remuxer.destroy(),this._remuxer=null),this._emitter.removeAllListeners(),this._emitter=null}},{key:"on",value:function value(e,t){this._emitter.addListener(e,t)}},{key:"off",value:function value(e,t){this._emitter.removeListener(e,t)}},{key:"start",value:function value(){this._loadSegment(0),this._enableStatisticsReporter()}},{key:"_loadSegment",value:function value(e,t){this._currentSegmentIndex=e;var n=this._mediaDataSource.segments[e],i=this._ioctl=new E.default(n,this._config,e);i.onError=this._onIOException.bind(this),i.onSeeked=this._onIOSeeked.bind(this),i.onComplete=this._onIOComplete.bind(this),i.onRedirect=this._onIORedirect.bind(this),i.onRecoveredEarlyEof=this._onIORecoveredEarlyEof.bind(this),t?this._demuxer.bindDataSource(this._ioctl):i.onDataArrival=this._onInitChunkArrival.bind(this),i.open(t)}},{key:"stop",value:function value(){this._internalAbort(),this._disableStatisticsReporter()}},{key:"_internalAbort",value:function value(){this._ioctl&&(this._ioctl.destroy(),this._ioctl=null)}},{key:"pause",value:function value(){this._ioctl&&this._ioctl.isWorking()&&(this._ioctl.pause(),this._disableStatisticsReporter())}},{key:"resume",value:function value(){this._ioctl&&this._ioctl.isPaused()&&(this._ioctl.resume(),this._enableStatisticsReporter())}},{key:"seek",value:function value(e){if(null!=this._mediaInfo&&this._mediaInfo.isSeekable()){var t=this._searchSegmentIndexContains(e);if(t===this._currentSegmentIndex){var n=this._mediaInfo.segments[t];if(void 0==n)this._pendingSeekTime=e;else{var i=n.getNearestKeyframe(e);this._remuxer.seek(i.milliseconds),this._ioctl.seek(i.fileposition),this._pendingResolveSeekPoint=i.milliseconds}}else{var r=this._mediaInfo.segments[t];if(void 0==r)this._pendingSeekTime=e,this._internalAbort(),this._remuxer.seek(),this._remuxer.insertDiscontinuity(),this._loadSegment(t);else{var s=r.getNearestKeyframe(e);this._internalAbort(),this._remuxer.seek(e),this._remuxer.insertDiscontinuity(),this._demuxer.resetMediaInfo(),this._demuxer.timestampBase=this._mediaDataSource.segments[t].timestampBase,this._loadSegment(t,s.fileposition),this._pendingResolveSeekPoint=s.milliseconds,this._reportSegmentMediaInfo(t)}}this._enableStatisticsReporter()}}},{key:"_searchSegmentIndexContains",value:function value(e){for(var t=this._mediaDataSource.segments,n=t.length-1,i=0;i<t.length;i++){if(e<t[i].timestampBase){n=i-1;break}}return n}},{key:"_onInitChunkArrival",value:function value(e,t){var n=this,i=null,r=0;if(t>0)this._demuxer.bindDataSource(this._ioctl),this._demuxer.timestampBase=this._mediaDataSource.segments[this._currentSegmentIndex].timestampBase,r=this._demuxer.parseChunks(e,t);else if((i=m.default.probe(e)).match){this._demuxer=new m.default(i,this._config),this._remuxer||(this._remuxer=new v.default(this._config));var s=this._mediaDataSource;void 0==s.duration||isNaN(s.duration)||(this._demuxer.overridedDuration=s.duration),"boolean"==typeof s.hasAudio&&(this._demuxer.overridedHasAudio=s.hasAudio),"boolean"==typeof s.hasVideo&&(this._demuxer.overridedHasVideo=s.hasVideo),this._demuxer.timestampBase=s.segments[this._currentSegmentIndex].timestampBase,this._demuxer.onError=this._onDemuxException.bind(this),this._demuxer.onMediaInfo=this._onMediaInfo.bind(this),this._demuxer.onMetaDataArrived=this._onMetaDataArrived.bind(this),this._demuxer.onScriptDataArrived=this._onScriptDataArrived.bind(this),this._remuxer.bindDataSource(this._demuxer.bindDataSource(this._ioctl)),this._remuxer.onInitSegment=this._onRemuxerInitSegmentArrival.bind(this),this._remuxer.onMediaSegment=this._onRemuxerMediaSegmentArrival.bind(this),r=this._demuxer.parseChunks(e,t)}else i=null,l.default.e(this.TAG,"Non-FLV, Unsupported media type!"),Promise.resolve().then(function(){n._internalAbort()}),this._emitter.emit(k.default.DEMUX_ERROR,y.default.FORMAT_UNSUPPORTED,"Non-FLV, Unsupported media type"),r=0;return r}},{key:"_onMediaInfo",value:function value(e){var t=this;null==this._mediaInfo&&(this._mediaInfo=Object.assign({},e),this._mediaInfo.keyframesIndex=null,this._mediaInfo.segments=[],this._mediaInfo.segmentCount=this._mediaDataSource.segments.length,Object.setPrototypeOf(this._mediaInfo,c.default.prototype));var n=Object.assign({},e);Object.setPrototypeOf(n,c.default.prototype),this._mediaInfo.segments[this._currentSegmentIndex]=n,this._reportSegmentMediaInfo(this._currentSegmentIndex),null!=this._pendingSeekTime&&Promise.resolve().then(function(){var e=t._pendingSeekTime;t._pendingSeekTime=null,t.seek(e)})}},{key:"_onMetaDataArrived",value:function value(e){this._emitter.emit(k.default.METADATA_ARRIVED,e)}},{key:"_onScriptDataArrived",value:function value(e){this._emitter.emit(k.default.SCRIPTDATA_ARRIVED,e)}},{key:"_onIOSeeked",value:function value(){this._remuxer.insertDiscontinuity()}},{key:"_onIOComplete",value:function value(e){var t=e,n=t+1;n<this._mediaDataSource.segments.length?(this._internalAbort(),this._remuxer.flushStashedSamples(),this._loadSegment(n)):(this._remuxer.flushStashedSamples(),this._emitter.emit(k.default.LOADING_COMPLETE),this._disableStatisticsReporter())}},{key:"_onIORedirect",value:function value(e){var t=this._ioctl.extraData;this._mediaDataSource.segments[t].redirectedURL=e}},{key:"_onIORecoveredEarlyEof",value:function value(){this._emitter.emit(k.default.RECOVERED_EARLY_EOF)}},{key:"_onIOException",value:function value(e,t){l.default.e(this.TAG,"IOException: type = "+e+", code = "+t.code+", msg = "+t.msg),this._emitter.emit(k.default.IO_ERROR,e,t),this._disableStatisticsReporter()}},{key:"_onDemuxException",value:function value(e,t){l.default.e(this.TAG,"DemuxException: type = "+e+", info = "+t),this._emitter.emit(k.default.DEMUX_ERROR,e,t)}},{key:"_onRemuxerInitSegmentArrival",value:function value(e,t){this._emitter.emit(k.default.INIT_SEGMENT,e,t)}},{key:"_onRemuxerMediaSegmentArrival",value:function value(e,t){if(null==this._pendingSeekTime&&(this._emitter.emit(k.default.MEDIA_SEGMENT,e,t),null!=this._pendingResolveSeekPoint&&"video"===e)){var n=t.info.syncPoints,i=this._pendingResolveSeekPoint;this._pendingResolveSeekPoint=null,h.default.safari&&n.length>0&&n[0].originalDts===i&&(i=n[0].pts),this._emitter.emit(k.default.RECOMMEND_SEEKPOINT,i)}}},{key:"_enableStatisticsReporter",value:function value(){null==this._statisticsReporter&&(this._statisticsReporter=self.setInterval(this._reportStatisticsInfo.bind(this),this._config.statisticsInfoReportInterval))}},{key:"_disableStatisticsReporter",value:function value(){this._statisticsReporter&&(self.clearInterval(this._statisticsReporter),this._statisticsReporter=null)}},{key:"_reportSegmentMediaInfo",value:function value(e){var t=this._mediaInfo.segments[e],n=Object.assign({},t);n.duration=this._mediaInfo.duration,n.segmentCount=this._mediaInfo.segmentCount,delete n.segments,delete n.keyframesIndex,this._emitter.emit(k.default.MEDIA_INFO,n)}},{key:"_reportStatisticsInfo",value:function value(){var e={};e.url=this._ioctl.currentURL,e.hasRedirect=this._ioctl.hasRedirect,e.hasRedirect&&(e.redirectedURL=this._ioctl.currentRedirectedURL),e.speed=this._ioctl.currentSpeed,e.loaderType=this._ioctl.loaderType,e.currentSegmentIndex=this._currentSegmentIndex,e.totalSegmentCount=this._mediaDataSource.segments.length,this._emitter.emit(k.default.STATISTICS_INFO,e)}}]),e}());n.default=L},{"../demux/demux-errors.js":16,"../demux/flv-demuxer.js":18,"../io/io-controller.js":23,"../io/loader.js":24,"../remux/mp4-remuxer.js":39,"../utils/browser.js":40,"../utils/logger.js":42,"./media-info.js":7,"./transmuxing-events.js":13,events:2}],13:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var i={IO_ERROR:"io_error",DEMUX_ERROR:"demux_error",INIT_SEGMENT:"init_segment",MEDIA_SEGMENT:"media_segment",LOADING_COMPLETE:"loading_complete",RECOVERED_EARLY_EOF:"recovered_early_eof",MEDIA_INFO:"media_info",METADATA_ARRIVED:"metadata_arrived",SCRIPTDATA_ARRIVED:"scriptdata_arrived",STATISTICS_INFO:"statistics_info",RECOMMEND_SEEKPOINT:"recommend_seekpoint"};n.default=i},{}],14:[function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(n,"__esModule",{value:!0});var r=e("../utils/logger.js"),s=(i(r),e("../utils/logging-control.js")),a=i(s),o=e("../utils/polyfill.js"),u=i(o),l=e("./transmuxing-controller.js"),d=i(l),h=e("./transmuxing-events.js"),f=i(h),c=function c(e){function t(t,n){var i={msg:f.default.INIT_SEGMENT,data:{type:t,data:n}};e.postMessage(i,[n.data])}function n(t,n){var i={msg:f.default.MEDIA_SEGMENT,data:{type:t,data:n}};e.postMessage(i,[n.data])}function i(){var t={msg:f.default.LOADING_COMPLETE};e.postMessage(t)}function r(){var t={msg:f.default.RECOVERED_EARLY_EOF};e.postMessage(t)}function s(t){var n={msg:f.default.MEDIA_INFO,data:t};e.postMessage(n)}function o(t){var n={msg:f.default.METADATA_ARRIVED,data:t};e.postMessage(n)}function l(t){var n={msg:f.default.SCRIPTDATA_ARRIVED,data:t};e.postMessage(n)}function h(t){var n={msg:f.default.STATISTICS_INFO,data:t};e.postMessage(n)}function c(t,n){e.postMessage({msg:f.default.IO_ERROR,data:{type:t,info:n}})}function _(t,n){e.postMessage({msg:f.default.DEMUX_ERROR,data:{type:t,info:n}})}function m(t){e.postMessage({msg:f.default.RECOMMEND_SEEKPOINT,data:t})}function p(t,n){e.postMessage({msg:"logcat_callback",data:{type:t,logcat:n}})}var v=null,g=p.bind(this);u.default.install(),e.addEventListener("message",function(u){switch(u.data.cmd){case"init":v=new d.default(u.data.param[0],u.data.param[1]),v.on(f.default.IO_ERROR,c.bind(this)),v.on(f.default.DEMUX_ERROR,_.bind(this)),v.on(f.default.INIT_SEGMENT,t.bind(this)),v.on(f.default.MEDIA_SEGMENT,n.bind(this)),v.on(f.default.LOADING_COMPLETE,i.bind(this)),v.on(f.default.RECOVERED_EARLY_EOF,r.bind(this)),v.on(f.default.MEDIA_INFO,s.bind(this)),v.on(f.default.METADATA_ARRIVED,o.bind(this)),v.on(f.default.SCRIPTDATA_ARRIVED,l.bind(this)),v.on(f.default.STATISTICS_INFO,h.bind(this)),v.on(f.default.RECOMMEND_SEEKPOINT,m.bind(this));break;case"destroy":v&&(v.destroy(),v=null),e.postMessage({msg:"destroyed"});break;case"start":v.start();break;case"stop":v.stop();break;case"seek":v.seek(u.data.param);break;case"pause":v.pause();break;case"resume":v.resume();break;case"logging_config":var p=u.data.param;a.default.applyConfig(p),!0===p.enableCallback?a.default.addLogListener(g):a.default.removeLogListener(g)}})};n.default=c},{"../utils/logger.js":42,"../utils/logging-control.js":43,"../utils/polyfill.js":44,"./transmuxing-controller.js":12,"./transmuxing-events.js":13}],15:[function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(n,"__esModule",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),a=e("../utils/logger.js"),o=i(a),u=e("../utils/utf8-conv.js"),l=i(u),d=e("../utils/exception.js"),h=function(){var e=new ArrayBuffer(2);return new DataView(e).setInt16(0,256,!0),256===new Int16Array(e)[0]}(),f=function(){function e(){r(this,e)}return s(e,null,[{key:"parseScriptData",value:function value(t,n,i){var r={};try{var s=e.parseValue(t,n,i),a=e.parseValue(t,n+s.size,i-s.size);r[s.data]=a.data}catch(e){o.default.e("AMF",e.toString())}return r}},{key:"parseObject",value:function value(t,n,i){if(i<3)throw new d.IllegalStateException("Data not enough when parse ScriptDataObject");var r=e.parseString(t,n,i),s=e.parseValue(t,n+r.size,i-r.size),a=s.objectEnd;return{data:{name:r.data,value:s.data},size:r.size+s.size,objectEnd:a}}},{key:"parseVariable",value:function value(t,n,i){return e.parseObject(t,n,i)}},{key:"parseString",value:function value(e,t,n){if(n<2)throw new d.IllegalStateException("Data not enough when parse String");var i=new DataView(e,t,n),r=i.getUint16(0,!h),s=void 0;return s=r>0?(0,l.default)(new Uint8Array(e,t+2,r)):"",{data:s,size:2+r}}},{key:"parseLongString",value:function value(e,t,n){if(n<4)throw new d.IllegalStateException("Data not enough when parse LongString");var i=new DataView(e,t,n),r=i.getUint32(0,!h),s=void 0;return s=r>0?(0,l.default)(new Uint8Array(e,t+4,r)):"",{data:s,size:4+r}}},{key:"parseDate",value:function value(e,t,n){if(n<10)throw new d.IllegalStateException("Data size invalid when parse Date");var i=new DataView(e,t,n),r=i.getFloat64(0,!h);return r+=60*i.getInt16(8,!h)*1e3,{data:new Date(r),size:10}}},{key:"parseValue",value:function value(t,n,i){if(i<1)throw new d.IllegalStateException("Data not enough when parse Value");var r=new DataView(t,n,i),s=1,a=r.getUint8(0),u=void 0,l=!1;try{switch(a){case 0:u=r.getFloat64(1,!h),s+=8;break;case 1:u=!!r.getUint8(1),s+=1;break;case 2:var f=e.parseString(t,n+1,i-1);u=f.data,s+=f.size;break;case 3:u={};var c=0;for(9==(16777215&r.getUint32(i-4,!h))&&(c=3);s<i-4;){var _=e.parseObject(t,n+s,i-s-c);if(_.objectEnd)break;u[_.data.name]=_.data.value,s+=_.size}if(s<=i-3){9===(16777215&r.getUint32(s-1,!h))&&(s+=3)}break;case 8:u={},s+=4;var m=0;for(9==(16777215&r.getUint32(i-4,!h))&&(m=3);s<i-8;){var p=e.parseVariable(t,n+s,i-s-m);if(p.objectEnd)break;u[p.data.name]=p.data.value,s+=p.size}if(s<=i-3){9===(16777215&r.getUint32(s-1,!h))&&(s+=3)}break;case 9:u=void 0,s=1,l=!0;break;case 10:u=[];var v=r.getUint32(1,!h);s+=4;for(var g=0;g<v;g++){var y=e.parseValue(t,n+s,i-s);u.push(y.data),s+=y.size}break;case 11:var b=e.parseDate(t,n+1,i-1);u=b.data,s+=b.size;break;case 12:var E=e.parseString(t,n+1,i-1);u=E.data,s+=E.size;break;default:s=i,o.default.w("AMF","Unsupported AMF value type "+a)}}catch(e){o.default.e("AMF",e.toString())}return{data:u,size:s,objectEnd:l}}}]),e}();n.default=f},{"../utils/exception.js":41,"../utils/logger.js":42,"../utils/utf8-conv.js":45}],16:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var i={OK:"OK",FORMAT_ERROR:"FormatError",FORMAT_UNSUPPORTED:"FormatUnsupported",CODEC_UNSUPPORTED:"CodecUnsupported"};n.default=i},{}],17:[function(e,t,n){"use strict";function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(n,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),s=e("../utils/exception.js"),a=function(){function e(t){i(this,e),this.TAG="ExpGolomb",this._buffer=t,this._buffer_index=0,this._total_bytes=t.byteLength,this._total_bits=8*t.byteLength,this._current_word=0,this._current_word_bits_left=0}return r(e,[{key:"destroy",value:function value(){this._buffer=null}},{key:"_fillCurrentWord",value:function value(){var e=this._total_bytes-this._buffer_index;if(e<=0)throw new s.IllegalStateException("ExpGolomb: _fillCurrentWord() but no bytes available");var t=Math.min(4,e),n=new Uint8Array(4);n.set(this._buffer.subarray(this._buffer_index,this._buffer_index+t)),this._current_word=new DataView(n.buffer).getUint32(0,!1),this._buffer_index+=t,this._current_word_bits_left=8*t}},{key:"readBits",value:function value(e){if(e>32)throw new s.InvalidArgumentException("ExpGolomb: readBits() bits exceeded max 32bits!");if(e<=this._current_word_bits_left){var t=this._current_word>>>32-e;return this._current_word<<=e,this._current_word_bits_left-=e,t}var n=this._current_word_bits_left?this._current_word:0;n>>>=32-this._current_word_bits_left;var i=e-this._current_word_bits_left;this._fillCurrentWord();var r=Math.min(i,this._current_word_bits_left),a=this._current_word>>>32-r;return this._current_word<<=r,this._current_word_bits_left-=r,n=n<<r|a}},{key:"readBool",value:function value(){return 1===this.readBits(1)}},{key:"readByte",value:function value(){return this.readBits(8)}},{key:"_skipLeadingZero",value:function value(){var e=void 0;for(e=0;e<this._current_word_bits_left;e++){if(0!=(this._current_word&2147483648>>>e))return this._current_word<<=e,this._current_word_bits_left-=e,e}return this._fillCurrentWord(),e+this._skipLeadingZero()}},{key:"readUEG",value:function value(){var e=this._skipLeadingZero();return this.readBits(e+1)-1}},{key:"readSEG",value:function value(){var e=this.readUEG();return 1&e?e+1>>>1:-1*(e>>>1)}}]),e}();n.default=a},{"../utils/exception.js":41}],18:[function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){return e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3]}Object.defineProperty(n,"__esModule",{value:!0});var a="function"==typeof Symbol&&"symbol"==_typeof(Symbol.iterator)?function(e){return typeof e==="undefined"?"undefined":_typeof(e)}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e==="undefined"?"undefined":_typeof(e)},o=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),u=e("../utils/logger.js"),l=i(u),d=e("./amf-parser.js"),h=i(d),f=e("./sps-parser.js"),c=i(f),_=e("./demux-errors.js"),m=i(_),p=e("../core/media-info.js"),v=i(p),g=e("../utils/exception.js"),y=function(){function e(t,n){r(this,e),this.TAG="FLVDemuxer",this._config=n,this._onError=null,this._onMediaInfo=null,this._onMetaDataArrived=null,this._onScriptDataArrived=null,this._onTrackMetadata=null,this._onDataAvailable=null,this._dataOffset=t.dataOffset,this._firstParse=!0,this._dispatch=!1,this._hasAudio=t.hasAudioTrack,this._hasVideo=t.hasVideoTrack,this._hasAudioFlagOverrided=!1,this._hasVideoFlagOverrided=!1,this._audioInitialMetadataDispatched=!1,this._videoInitialMetadataDispatched=!1,this._mediaInfo=new v.default,this._mediaInfo.hasAudio=this._hasAudio,this._mediaInfo.hasVideo=this._hasVideo,this._metadata=null,this._audioMetadata=null,this._videoMetadata=null,this._naluLengthSize=4,this._timestampBase=0,this._timescale=1e3,this._duration=0,this._durationOverrided=!1,this._referenceFrameRate={fixed:!0,fps:23.976,fps_num:23976,fps_den:1e3},this._flvSoundRateTable=[5500,11025,22050,44100,48e3],this._mpegSamplingRates=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350],this._mpegAudioV10SampleRateTable=[44100,48e3,32e3,0],this._mpegAudioV20SampleRateTable=[22050,24e3,16e3,0],this._mpegAudioV25SampleRateTable=[11025,12e3,8e3,0],this._mpegAudioL1BitRateTable=[0,32,64,96,128,160,192,224,256,288,320,352,384,416,448,-1],this._mpegAudioL2BitRateTable=[0,32,48,56,64,80,96,112,128,160,192,224,256,320,384,-1],this._mpegAudioL3BitRateTable=[0,32,40,48,56,64,80,96,112,128,160,192,224,256,320,-1],this._videoTrack={type:"video",id:1,sequenceNumber:0,samples:[],length:0},this._audioTrack={type:"audio",id:2,sequenceNumber:0,samples:[],length:0},this._littleEndian=function(){var e=new ArrayBuffer(2);return new DataView(e).setInt16(0,256,!0),256===new Int16Array(e)[0]}()}return o(e,[{key:"destroy",value:function value(){this._mediaInfo=null,this._metadata=null,this._audioMetadata=null,this._videoMetadata=null,this._videoTrack=null,this._audioTrack=null,this._onError=null,this._onMediaInfo=null,this._onMetaDataArrived=null,this._onScriptDataArrived=null,this._onTrackMetadata=null,this._onDataAvailable=null}},{key:"bindDataSource",value:function value(e){return e.onDataArrival=this.parseChunks.bind(this),this}},{key:"resetMediaInfo",value:function value(){this._mediaInfo=new v.default}},{key:"_isInitialMetadataDispatched",value:function value(){return this._hasAudio&&this._hasVideo?this._audioInitialMetadataDispatched&&this._videoInitialMetadataDispatched:this._hasAudio&&!this._hasVideo?this._audioInitialMetadataDispatched:!(this._hasAudio||!this._hasVideo)&&this._videoInitialMetadataDispatched}},{key:"parseChunks",value:function value(t,n){if(!(this._onError&&this._onMediaInfo&&this._onTrackMetadata&&this._onDataAvailable))throw new g.IllegalStateException("Flv: onError & onMediaInfo & onTrackMetadata & onDataAvailable callback must be specified");var i=0,r=this._littleEndian;if(0===n){if(!(t.byteLength>13))return 0;i=e.probe(t).dataOffset}if(this._firstParse){this._firstParse=!1,n+i!==this._dataOffset&&l.default.w(this.TAG,"First time parsing but chunk byteStart invalid!");0!==new DataView(t,i).getUint32(0,!r)&&l.default.w(this.TAG,"PrevTagSize0 !== 0 !!!"),i+=4}for(;i<t.byteLength;){this._dispatch=!0;var s=new DataView(t,i);if(i+11+4>t.byteLength)break;var a=s.getUint8(0),o=16777215&s.getUint32(0,!r);if(i+11+o+4>t.byteLength)break;if(8===a||9===a||18===a){var u=s.getUint8(4),d=s.getUint8(5),h=s.getUint8(6),f=s.getUint8(7),c=h|d<<8|u<<16|f<<24;0!==(16777215&s.getUint32(7,!r))&&l.default.w(this.TAG,"Meet tag which has StreamID != 0!");var _=i+11;switch(a){case 8:this._parseAudioData(t,_,o,c);break;case 9:this._parseVideoData(t,_,o,c,n+i);break;case 18:this._parseScriptData(t,_,o)}var m=s.getUint32(11+o,!r);m!==11+o&&l.default.w(this.TAG,"Invalid PrevTagSize "+m),i+=11+o+4}else l.default.w(this.TAG,"Unsupported tag type "+a+", skipped"),i+=11+o+4}return this._isInitialMetadataDispatched()&&this._dispatch&&(this._audioTrack.length||this._videoTrack.length)&&this._onDataAvailable(this._audioTrack,this._videoTrack),i}},{key:"_parseScriptData",value:function value(e,t,n){var i=h.default.parseScriptData(e,t,n);if(i.hasOwnProperty("onMetaData")){if(null==i.onMetaData||"object"!==a(i.onMetaData))return void l.default.w(this.TAG,"Invalid onMetaData structure!");this._metadata&&l.default.w(this.TAG,"Found another onMetaData tag!"),this._metadata=i;var r=this._metadata.onMetaData;if(this._onMetaDataArrived&&this._onMetaDataArrived(Object.assign({},r)),"boolean"==typeof r.hasAudio&&!1===this._hasAudioFlagOverrided&&(this._hasAudio=r.hasAudio,this._mediaInfo.hasAudio=this._hasAudio),"boolean"==typeof r.hasVideo&&!1===this._hasVideoFlagOverrided&&(this._hasVideo=r.hasVideo,this._mediaInfo.hasVideo=this._hasVideo),"number"==typeof r.audiodatarate&&(this._mediaInfo.audioDataRate=r.audiodatarate),"number"==typeof r.videodatarate&&(this._mediaInfo.videoDataRate=r.videodatarate),"number"==typeof r.width&&(this._mediaInfo.width=r.width),"number"==typeof r.height&&(this._mediaInfo.height=r.height),"number"==typeof r.duration){if(!this._durationOverrided){var s=Math.floor(r.duration*this._timescale);this._duration=s,this._mediaInfo.duration=s}}else this._mediaInfo.duration=0;if("number"==typeof r.framerate){var o=Math.floor(1e3*r.framerate);if(o>0){var u=o/1e3;this._referenceFrameRate.fixed=!0,this._referenceFrameRate.fps=u,this._referenceFrameRate.fps_num=o,this._referenceFrameRate.fps_den=1e3,this._mediaInfo.fps=u}}if("object"===a(r.keyframes)){this._mediaInfo.hasKeyframesIndex=!0;var d=r.keyframes;this._mediaInfo.keyframesIndex=this._parseKeyframesIndex(d),r.keyframes=null}else this._mediaInfo.hasKeyframesIndex=!1;this._dispatch=!1,this._mediaInfo.metadata=r,l.default.v(this.TAG,"Parsed onMetaData"),this._mediaInfo.isComplete()&&this._onMediaInfo(this._mediaInfo)}Object.keys(i).length>0&&this._onScriptDataArrived&&this._onScriptDataArrived(Object.assign({},i))}},{key:"_parseKeyframesIndex",value:function value(e){for(var t=[],n=[],i=1;i<e.times.length;i++){var r=this._timestampBase+Math.floor(1e3*e.times[i]);t.push(r),n.push(e.filepositions[i])}return{times:t,filepositions:n}}},{key:"_parseAudioData",value:function value(e,t,n,i){if(n<=1)return void l.default.w(this.TAG,"Flv: Invalid audio packet, missing SoundData payload!");if(!0!==this._hasAudioFlagOverrided||!1!==this._hasAudio){var r=(this._littleEndian,new DataView(e,t,n)),s=r.getUint8(0),a=s>>>4;if(2!==a&&10!==a)return void this._onError(m.default.CODEC_UNSUPPORTED,"Flv: Unsupported audio codec idx: "+a);var o=0,u=(12&s)>>>2;if(!(u>=0&&u<=4))return void this._onError(m.default.FORMAT_ERROR,"Flv: Invalid audio sample rate idx: "+u);o=this._flvSoundRateTable[u];var d=1&s,h=this._audioMetadata,f=this._audioTrack;if(h||(!1===this._hasAudio&&!1===this._hasAudioFlagOverrided&&(this._hasAudio=!0,this._mediaInfo.hasAudio=!0),h=this._audioMetadata={},h.type="audio",h.id=f.id,h.timescale=this._timescale,h.duration=this._duration,h.audioSampleRate=o,h.channelCount=0===d?1:2),10===a){var c=this._parseAACAudioData(e,t+1,n-1);if(void 0==c)return;if(0===c.packetType){h.config&&l.default.w(this.TAG,"Found another AudioSpecificConfig!");var _=c.data;h.audioSampleRate=_.samplingRate,h.channelCount=_.channelCount,h.codec=_.codec,h.originalCodec=_.originalCodec,h.config=_.config,h.refSampleDuration=1024/h.audioSampleRate*h.timescale,l.default.v(this.TAG,"Parsed AudioSpecificConfig"),this._isInitialMetadataDispatched()?this._dispatch&&(this._audioTrack.length||this._videoTrack.length)&&this._onDataAvailable(this._audioTrack,this._videoTrack):this._audioInitialMetadataDispatched=!0,this._dispatch=!1,this._onTrackMetadata("audio",h);var p=this._mediaInfo;p.audioCodec=h.originalCodec,p.audioSampleRate=h.audioSampleRate,p.audioChannelCount=h.channelCount,p.hasVideo?null!=p.videoCodec&&(p.mimeType='video/x-flv; codecs="'+p.videoCodec+","+p.audioCodec+'"'):p.mimeType='video/x-flv; codecs="'+p.audioCodec+'"',p.isComplete()&&this._onMediaInfo(p)}else if(1===c.packetType){var v=this._timestampBase+i,g={unit:c.data,length:c.data.byteLength,dts:v,pts:v};f.samples.push(g),f.length+=c.data.length}else l.default.e(this.TAG,"Flv: Unsupported AAC data type "+c.packetType)}else if(2===a){if(!h.codec){var y=this._parseMP3AudioData(e,t+1,n-1,!0);if(void 0==y)return;h.audioSampleRate=y.samplingRate,h.channelCount=y.channelCount,h.codec=y.codec,h.originalCodec=y.originalCodec,h.refSampleDuration=1152/h.audioSampleRate*h.timescale,l.default.v(this.TAG,"Parsed MPEG Audio Frame Header"),this._audioInitialMetadataDispatched=!0,this._onTrackMetadata("audio",h);var b=this._mediaInfo;b.audioCodec=h.codec,b.audioSampleRate=h.audioSampleRate,b.audioChannelCount=h.channelCount,b.audioDataRate=y.bitRate,b.hasVideo?null!=b.videoCodec&&(b.mimeType='video/x-flv; codecs="'+b.videoCodec+","+b.audioCodec+'"'):b.mimeType='video/x-flv; codecs="'+b.audioCodec+'"',b.isComplete()&&this._onMediaInfo(b)}var E=this._parseMP3AudioData(e,t+1,n-1,!1);if(void 0==E)return;var S=this._timestampBase+i,k={unit:E,length:E.byteLength,dts:S,pts:S};f.samples.push(k),f.length+=E.length}}}},{key:"_parseAACAudioData",value:function value(e,t,n){if(n<=1)return void l.default.w(this.TAG,"Flv: Invalid AAC packet, missing AACPacketType or/and Data!");var i={},r=new Uint8Array(e,t,n);return i.packetType=r[0],0===r[0]?i.data=this._parseAACAudioSpecificConfig(e,t+1,n-1):i.data=r.subarray(1),i}},{key:"_parseAACAudioSpecificConfig",value:function value(e,t,n){var i=new Uint8Array(e,t,n),r=null,s=0,a=0,o=0,u=null;if(s=a=i[0]>>>3,(o=(7&i[0])<<1|i[1]>>>7)<0||o>=this._mpegSamplingRates.length)return void this._onError(m.default.FORMAT_ERROR,"Flv: AAC invalid sampling frequency index!");var l=this._mpegSamplingRates[o],d=(120&i[1])>>>3;if(d<0||d>=8)return void this._onError(m.default.FORMAT_ERROR,"Flv: AAC invalid channel configuration");5===s&&(u=(7&i[1])<<1|i[2]>>>7,i[2]);var h=self.navigator.userAgent.toLowerCase();return-1!==h.indexOf("firefox")?o>=6?(s=5,r=new Array(4),u=o-3):(s=2,r=new Array(2),u=o):-1!==h.indexOf("android")?(s=2,r=new Array(2),u=o):(s=5,u=o,r=new Array(4),o>=6?u=o-3:1===d&&(s=2,r=new Array(2),u=o)),r[0]=s<<3,r[0]|=(15&o)>>>1,r[1]=(15&o)<<7,r[1]|=(15&d)<<3,5===s&&(r[1]|=(15&u)>>>1,r[2]=(1&u)<<7,r[2]|=8,r[3]=0),{config:r,samplingRate:l,channelCount:d,codec:"mp4a.40."+s,originalCodec:"mp4a.40."+a}}},{key:"_parseMP3AudioData",value:function value(e,t,n,i){if(n<4)return void l.default.w(this.TAG,"Flv: Invalid MP3 packet, header missing!");var r=(this._littleEndian,new Uint8Array(e,t,n)),s=null;if(i){if(255!==r[0])return;var a=r[1]>>>3&3,o=(6&r[1])>>1,u=(240&r[2])>>>4,d=(12&r[2])>>>2,h=r[3]>>>6&3,f=3!==h?2:1,c=0,_=0;switch(a){case 0:c=this._mpegAudioV25SampleRateTable[d];break;case 2:c=this._mpegAudioV20SampleRateTable[d];break;case 3:c=this._mpegAudioV10SampleRateTable[d]}switch(o){case 1:34,u<this._mpegAudioL3BitRateTable.length&&(_=this._mpegAudioL3BitRateTable[u]);break;case 2:33,u<this._mpegAudioL2BitRateTable.length&&(_=this._mpegAudioL2BitRateTable[u]);break;case 3:32,u<this._mpegAudioL1BitRateTable.length&&(_=this._mpegAudioL1BitRateTable[u])}s={bitRate:_,samplingRate:c,channelCount:f,codec:"mp3",originalCodec:"mp3"}}else s=r;return s}},{key:"_parseVideoData",value:function value(e,t,n,i,r){if(n<=1)return void l.default.w(this.TAG,"Flv: Invalid video packet, missing VideoData payload!");if(!0!==this._hasVideoFlagOverrided||!1!==this._hasVideo){var s=new Uint8Array(e,t,n)[0],a=(240&s)>>>4,o=15&s;if(7!==o)return void this._onError(m.default.CODEC_UNSUPPORTED,"Flv: Unsupported codec in video frame: "+o);this._parseAVCVideoPacket(e,t+1,n-1,i,r,a)}}},{key:"_parseAVCVideoPacket",value:function value(e,t,n,i,r,s){if(n<4)return void l.default.w(this.TAG,"Flv: Invalid AVC packet, missing AVCPacketType or/and CompositionTime");var a=this._littleEndian,o=new DataView(e,t,n),u=o.getUint8(0),d=16777215&o.getUint32(0,!a),h=d<<8>>8;if(0===u)this._parseAVCDecoderConfigurationRecord(e,t+4,n-4);else if(1===u)this._parseAVCVideoData(e,t+4,n-4,i,r,s,h);else if(2!==u)return void this._onError(m.default.FORMAT_ERROR,"Flv: Invalid video packet type "+u)}},{key:"_parseAVCDecoderConfigurationRecord",value:function value(e,t,n){if(n<7)return void l.default.w(this.TAG,"Flv: Invalid AVCDecoderConfigurationRecord, lack of data!");var i=this._videoMetadata,r=this._videoTrack,s=this._littleEndian,a=new DataView(e,t,n);i?void 0!==i.avcc&&l.default.w(this.TAG,"Found another AVCDecoderConfigurationRecord!"):(!1===this._hasVideo&&!1===this._hasVideoFlagOverrided&&(this._hasVideo=!0,this._mediaInfo.hasVideo=!0),i=this._videoMetadata={},i.type="video",i.id=r.id,i.timescale=this._timescale,i.duration=this._duration);var o=a.getUint8(0),u=a.getUint8(1);a.getUint8(2),a.getUint8(3);if(1!==o||0===u)return void this._onError(m.default.FORMAT_ERROR,"Flv: Invalid AVCDecoderConfigurationRecord");if(this._naluLengthSize=1+(3&a.getUint8(4)),3!==this._naluLengthSize&&4!==this._naluLengthSize)return void this._onError(m.default.FORMAT_ERROR,"Flv: Strange NaluLengthSizeMinusOne: "+(this._naluLengthSize-1));var d=31&a.getUint8(5);if(0===d)return void this._onError(m.default.FORMAT_ERROR,"Flv: Invalid AVCDecoderConfigurationRecord: No SPS");d>1&&l.default.w(this.TAG,"Flv: Strange AVCDecoderConfigurationRecord: SPS Count = "+d);for(var h=6,f=0;f<d;f++){var _=a.getUint16(h,!s);if(h+=2,0!==_){var p=new Uint8Array(e,t+h,_);h+=_;var v=c.default.parseSPS(p);if(0===f){i.codecWidth=v.codec_size.width,i.codecHeight=v.codec_size.height,i.presentWidth=v.present_size.width,i.presentHeight=v.present_size.height,i.profile=v.profile_string,i.level=v.level_string,i.bitDepth=v.bit_depth,i.chromaFormat=v.chroma_format,i.sarRatio=v.sar_ratio,i.frameRate=v.frame_rate,!1!==v.frame_rate.fixed&&0!==v.frame_rate.fps_num&&0!==v.frame_rate.fps_den||(i.frameRate=this._referenceFrameRate);var g=i.frameRate.fps_den,y=i.frameRate.fps_num;i.refSampleDuration=i.timescale*(g/y);for(var b=p.subarray(1,4),E="avc1.",S=0;S<3;S++){var k=b[S].toString(16);k.length<2&&(k="0"+k),E+=k}i.codec=E;var L=this._mediaInfo;L.width=i.codecWidth,L.height=i.codecHeight,L.fps=i.frameRate.fps,L.profile=i.profile,L.level=i.level,L.refFrames=v.ref_frames,L.chromaFormat=v.chroma_format_string,L.sarNum=i.sarRatio.width,L.sarDen=i.sarRatio.height,L.videoCodec=E,L.hasAudio?null!=L.audioCodec&&(L.mimeType='video/x-flv; codecs="'+L.videoCodec+","+L.audioCodec+'"'):L.mimeType='video/x-flv; codecs="'+L.videoCodec+'"',L.isComplete()&&this._onMediaInfo(L)}}}var R=a.getUint8(h);if(0===R)return void this._onError(m.default.FORMAT_ERROR,"Flv: Invalid AVCDecoderConfigurationRecord: No PPS");R>1&&l.default.w(this.TAG,"Flv: Strange AVCDecoderConfigurationRecord: PPS Count = "+R),h++;for(var w=0;w<R;w++){var A=a.getUint16(h,!s);h+=2,0!==A&&(h+=A)}i.avcc=new Uint8Array(n),i.avcc.set(new Uint8Array(e,t,n),0),l.default.v(this.TAG,"Parsed AVCDecoderConfigurationRecord"),this._isInitialMetadataDispatched()?this._dispatch&&(this._audioTrack.length||this._videoTrack.length)&&this._onDataAvailable(this._audioTrack,this._videoTrack):this._videoInitialMetadataDispatched=!0,this._dispatch=!1,this._onTrackMetadata("video",i)}},{key:"_parseAVCVideoData",value:function value(e,t,n,i,r,s,a){for(var o=this._littleEndian,u=new DataView(e,t,n),d=[],h=0,f=0,c=this._naluLengthSize,_=this._timestampBase+i,m=1===s;f<n;){if(f+4>=n){l.default.w(this.TAG,"Malformed Nalu near timestamp "+_+", offset = "+f+", dataSize = "+n);break}var p=u.getUint32(f,!o);if(3===c&&(p>>>=8),p>n-c)return void l.default.w(this.TAG,"Malformed Nalus near timestamp "+_+", NaluSize > DataSize!");var v=31&u.getUint8(f+c);5===v&&(m=!0);var g=new Uint8Array(e,t+f,c+p),y={type:v,data:g};d.push(y),h+=g.byteLength,f+=c+p}if(d.length){var b=this._videoTrack,E={units:d,length:h,isKeyframe:m,dts:_,cts:a,pts:_+a};m&&(E.fileposition=r),b.samples.push(E),b.length+=h}}},{key:"onTrackMetadata",get:function get(){return this._onTrackMetadata},set:function set(e){this._onTrackMetadata=e}},{key:"onMediaInfo",get:function get(){return this._onMediaInfo},set:function set(e){this._onMediaInfo=e}},{key:"onMetaDataArrived",get:function get(){return this._onMetaDataArrived},set:function set(e){this._onMetaDataArrived=e}},{key:"onScriptDataArrived",get:function get(){return this._onScriptDataArrived},set:function set(e){this._onScriptDataArrived=e}},{key:"onError",get:function get(){return this._onError},set:function set(e){this._onError=e}},{key:"onDataAvailable",get:function get(){return this._onDataAvailable},set:function set(e){this._onDataAvailable=e}},{key:"timestampBase",get:function get(){return this._timestampBase},set:function set(e){this._timestampBase=e}},{key:"overridedDuration",get:function get(){return this._duration},set:function set(e){this._durationOverrided=!0,this._duration=e,this._mediaInfo.duration=e}},{key:"overridedHasAudio",set:function set(e){this._hasAudioFlagOverrided=!0,this._hasAudio=e,this._mediaInfo.hasAudio=e}},{key:"overridedHasVideo",set:function set(e){this._hasVideoFlagOverrided=!0,this._hasVideo=e,this._mediaInfo.hasVideo=e}}],[{key:"probe",value:function value(e){var t=new Uint8Array(e),n={match:!1};if(70!==t[0]||76!==t[1]||86!==t[2]||1!==t[3])return n;var i=(4&t[4])>>>2!=0,r=0!=(1&t[4]),a=s(t,5);return a<9?n:{match:!0,consumed:a,dataOffset:a,hasAudioTrack:i,hasVideoTrack:r}}}]),e}();n.default=y},{"../core/media-info.js":7,"../utils/exception.js":41,"../utils/logger.js":42,"./amf-parser.js":15,"./demux-errors.js":16,"./sps-parser.js":19}],19:[function(e,t,n){"use strict";function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(n,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),s=e("./exp-golomb.js"),a=function(e){return e&&e.__esModule?e:{default:e}}(s),o=function(){function e(){i(this,e)}return r(e,null,[{key:"_ebsp2rbsp",value:function value(e){for(var t=e,n=t.byteLength,i=new Uint8Array(n),r=0,s=0;s<n;s++){s>=2&&3===t[s]&&0===t[s-1]&&0===t[s-2]||(i[r]=t[s],r++)}return new Uint8Array(i.buffer,0,r)}},{key:"parseSPS",value:function value(t){var n=e._ebsp2rbsp(t),i=new a.default(n);i.readByte();var r=i.readByte();i.readByte();var s=i.readByte();i.readUEG();var o=e.getProfileString(r),u=e.getLevelString(s),l=1,d=420,h=[0,420,422,444],f=8;if((100===r||110===r||122===r||244===r||44===r||83===r||86===r||118===r||128===r||138===r||144===r)&&(l=i.readUEG(),3===l&&i.readBits(1),l<=3&&(d=h[l]),f=i.readUEG()+8,i.readUEG(),i.readBits(1),i.readBool()))for(var c=3!==l?8:12,_=0;_<c;_++){i.readBool()&&(_<6?e._skipScalingList(i,16):e._skipScalingList(i,64))}i.readUEG();var m=i.readUEG();if(0===m)i.readUEG();else if(1===m){i.readBits(1),i.readSEG(),i.readSEG();for(var p=i.readUEG(),v=0;v<p;v++){i.readSEG()}}var g=i.readUEG();i.readBits(1);var y=i.readUEG(),b=i.readUEG(),E=i.readBits(1);0===E&&i.readBits(1),i.readBits(1);var S=0,k=0,L=0,R=0;i.readBool()&&(S=i.readUEG(),k=i.readUEG(),L=i.readUEG(),R=i.readUEG());var w=1,A=1,T=0,O=!0,C=0,I=0;if(i.readBool()){if(i.readBool()){var D=i.readByte(),x=[1,12,10,16,40,24,20,32,80,18,15,64,160,4,3,2],M=[1,11,11,11,33,11,11,11,33,11,11,33,99,3,2,1];D>0&&D<16?(w=x[D-1],A=M[D-1]):255===D&&(w=i.readByte()<<8|i.readByte(),A=i.readByte()<<8|i.readByte())}if(i.readBool()&&i.readBool(),i.readBool()&&(i.readBits(4),i.readBool()&&i.readBits(24)),i.readBool()&&(i.readUEG(),i.readUEG()),i.readBool()){var j=i.readBits(32),B=i.readBits(32);O=i.readBool(),C=B,I=2*j,T=C/I}}var P=1;1===w&&1===A||(P=w/A);var U=0,N=0;if(0===l)U=1,N=2-E;else{var F=3===l?1:2,G=1===l?2:1;U=F,N=G*(2-E)}var V=16*(y+1),z=16*(b+1)*(2-E);V-=(S+k)*U,z-=(L+R)*N;var H=Math.ceil(V*P);return i.destroy(),i=null,{profile_string:o,level_string:u,bit_depth:f,ref_frames:g,chroma_format:d,chroma_format_string:e.getChromaFormatString(d),frame_rate:{fixed:O,fps:T,fps_den:I,fps_num:C},sar_ratio:{width:w,height:A},codec_size:{width:V,height:z},present_size:{width:H,height:z}}}},{key:"_skipScalingList",value:function value(e,t){for(var n=8,i=8,r=0,s=0;s<t;s++){0!==i&&(r=e.readSEG(),i=(n+r+256)%256),n=0===i?n:i}}},{key:"getProfileString",value:function value(e){switch(e){case 66:return"Baseline";case 77:return"Main";case 88:return"Extended";case 100:return"High";case 110:return"High10";case 122:return"High422";case 244:return"High444";default:return"Unknown"}}},{key:"getLevelString",value:function value(e){return(e/10).toFixed(1)}},{key:"getChromaFormatString",value:function value(e){switch(e){case 420:return"4:2:0";case 422:return"4:2:2";case 444:return"4:4:4";default:return"Unknown"}}}]),e}();n.default=o},{"./exp-golomb.js":17}],20:[function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}function r(e,t){var n=e;if(null==n||"object"!==(void 0===n?"undefined":o(n)))throw new w.InvalidArgumentException("MediaDataSource must be an javascript object!");if(!n.hasOwnProperty("type"))throw new w.InvalidArgumentException("MediaDataSource must has type field to indicate video file type!");switch(n.type){case"flv":return new g.default(n,t);default:return new b.default(n,t)}}function s(){return c.default.supportMSEH264Playback()}function a(){return c.default.getFeatureList()}Object.defineProperty(n,"__esModule",{value:!0});var o="function"==typeof Symbol&&"symbol"==_typeof(Symbol.iterator)?function(e){return typeof e==="undefined"?"undefined":_typeof(e)}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e==="undefined"?"undefined":_typeof(e)},u=e("events"),l=i(u),d=e("./utils/polyfill.js"),h=i(d),f=e("./core/features.js"),c=i(f),_=e("./io/loader.js"),m=e("./io/web-loader.js"),p=i(m),v=e("./player/flv-player.js"),g=i(v),y=e("./player/native-player.js"),b=i(y),E=e("./player/player-events.js"),S=i(E),k=e("./player/player-errors.js"),L=e("./utils/logging-control.js"),R=i(L),w=e("./utils/exception.js");h.default.install();var A={};A.createPlayer=r,A.isSupported=s,A.getFeatureList=a,A.BaseLoader=_.BaseLoader,A.LoaderStatus=_.LoaderStatus,A.LoaderErrors=_.LoaderErrors,A.Events=S.default,A.ErrorTypes=k.ErrorTypes,A.ErrorDetails=k.ErrorDetails,A.FlvPlayer=g.default,A.NativePlayer=b.default,A.LoggingControl=R.default,A.WebLoader=p.default,A.EventEmitter=l.default,Object.defineProperty(A,"version",{enumerable:!0,get:function get(){return"1.5.0"}}),n.default=A},{"./core/features.js":6,"./io/loader.js":24,"./io/web-loader.js":28,"./player/flv-player.js":33,"./player/native-player.js":34,"./player/player-errors.js":35,"./player/player-events.js":36,"./utils/exception.js":41,"./utils/logging-control.js":43,"./utils/polyfill.js":44,events:2}],21:[function(e,t,n){"use strict";t.exports=e("./flv.js").default},{"./flv.js":20}],22:[function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=(typeof t==="undefined"?"undefined":_typeof(t))&&"function"!=typeof t?e:t}function a(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+(typeof t==="undefined"?"undefined":_typeof(t)));e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(n,"__esModule",{value:!0});var o="function"==typeof Symbol&&"symbol"==_typeof(Symbol.iterator)?function(e){return typeof e==="undefined"?"undefined":_typeof(e)}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e==="undefined"?"undefined":_typeof(e)},u=function e(t,n,i){null===t&&(t=Function.prototype);var r=Object.getOwnPropertyDescriptor(t,n);if(void 0===r){var s=Object.getPrototypeOf(t);return null===s?void 0:e(s,n,i)}if("value"in r)return r.value;var a=r.get;if(void 0!==a)return a.call(i)},l=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),d=e("../utils/logger.js"),h=(i(d),e("../utils/browser.js")),f=i(h),c=e("./loader.js"),_=e("../utils/exception.js"),m=function(e){function t(e,n){r(this,t);var i=s(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"fetch-stream-loader"));return i.TAG="FetchStreamLoader",i._seekHandler=e,i._config=n,i._needStash=!0,i._requestAbort=!1,i._contentLength=null,i._receivedLength=0,i._reader=null,i}return a(t,e),l(t,null,[{key:"isSupported",value:function value(){try{var e=f.default.msedge&&f.default.version.minor>=15048,t=!f.default.msedge||e;return self.fetch&&self.ReadableStream&&t}catch(e){return!1}}}]),l(t,[{key:"destroy",value:function value(){this.isWorking()&&this.abort(),u(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"destroy",this).call(this)}},{key:"open",value:function value(e,t){var n=this,i=null;if(self.AbortController){var r=new self.AbortController;i=r.signal,this._fetchAbortController=r}this._dataSource=e,this._range=t;var s=e.url;this._config.reuseRedirectedURL&&void 0!=e.redirectedURL&&(s=e.redirectedURL);var a=this._seekHandler.getConfig(s,t),u=new self.Headers;if("object"===o(a.headers)){var l=a.headers;for(var d in l){l.hasOwnProperty(d)&&u.append(d,l[d])}}var h={method:"GET",headers:u,mode:"cors",cache:"default",referrerPolicy:"no-referrer-when-downgrade",signal:i};if("object"===o(this._config.headers))for(var f in this._config.headers){u.append(f,this._config.headers[f])}!1===e.cors&&(h.mode="same-origin"),e.withCredentials&&(h.credentials="include"),e.referrerPolicy&&(h.referrerPolicy=e.referrerPolicy),this._status=c.LoaderStatus.kConnecting,self.fetch(a.url,h).then(function(e){if(n._requestAbort)return n._requestAbort=!1,void(n._status=c.LoaderStatus.kIdle);if(e.ok&&e.status>=200&&e.status<=299){if(e.url!==a.url&&n._onURLRedirect){var t=n._seekHandler.removeURLParameters(e.url);n._onURLRedirect(t)}var i=e.headers.get("Content-Length");return null!=i&&(n._contentLength=parseInt(i),0!==n._contentLength&&n._onContentLengthKnown&&n._onContentLengthKnown(n._contentLength)),n._pump.call(n,e.body.getReader())}if(n._status=c.LoaderStatus.kError,!n._onError)throw new _.RuntimeException("FetchStreamLoader: Http code invalid, "+e.status+" "+e.statusText);n._onError(c.LoaderErrors.HTTP_STATUS_CODE_INVALID,{code:e.status,msg:e.statusText})}).catch(function(e){if(n._requestAbort)return void(n._requestAbort=!1);if(n._status=c.LoaderStatus.kError,!n._onError)throw e;n._onError(c.LoaderErrors.EXCEPTION,{code:-1,msg:e.message})})}},{key:"abort",value:function value(){this._requestAbort=!0,this._fetchAbortController&&this._fetchAbortController.abort()}},{key:"_pump",value:function value(e){var t=this;return e.read().then(function(n){if(n.done){if(null!==t._contentLength&&t._receivedLength<t._contentLength){t._status=c.LoaderStatus.kError;var i=c.LoaderErrors.EARLY_EOF,r={code:-1,msg:"Fetch stream meet Early-EOF"};if(!t._onError)throw new _.RuntimeException(r.msg);t._onError(i,r)}else t._status=c.LoaderStatus.kComplete,t._onComplete&&t._onComplete(t._range.from,t._range.from+t._receivedLength-1)}else{if(!0===t._requestAbort)return t._requestAbort=!1,t._status=c.LoaderStatus.kComplete,e.cancel();t._status=c.LoaderStatus.kBuffering;var s=n.value.buffer,a=t._range.from+t._receivedLength;t._receivedLength+=s.byteLength,t._onDataArrival&&t._onDataArrival(s,a,t._receivedLength),t._pump(e)}}).catch(function(e){if(11!==e.code||!f.default.msedge){if(t._requestAbort)return void(t._requestAbort=!1);t._status=c.LoaderStatus.kError;var n=0,i=null;if(19!==e.code&&"network error"!==e.message||!(null===t._contentLength||null!==t._contentLength&&t._receivedLength<t._contentLength)?(n=c.LoaderErrors.EXCEPTION,i={code:e.code,msg:e.message}):(n=c.LoaderErrors.EARLY_EOF,i={code:e.code,msg:"Fetch stream meet Early-EOF"}),!t._onError)throw new _.RuntimeException(i.msg);t._onError(n,i)}})}}]),t}(c.BaseLoader);n.default=m},{"../utils/browser.js":40,"../utils/exception.js":41,"../utils/logger.js":42,"./loader.js":24}],23:[function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(n,"__esModule",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),a=e("../utils/logger.js"),o=i(a),u=e("./speed-sampler.js"),l=i(u),d=e("./loader.js"),h=e("./fetch-stream-loader.js"),f=i(h),c=e("./xhr-moz-chunked-loader.js"),_=i(c),m=e("./xhr-msstream-loader.js"),p=(i(m),e("./xhr-range-loader.js")),v=i(p),g=e("./websocket-loader.js"),y=i(g),b=e("./range-seek-handler.js"),E=i(b),S=e("./param-seek-handler.js"),k=i(S),L=e("../utils/exception.js"),R=function(){function e(t,n,i){r(this,e),this.TAG="IOController",this._config=n,this._extraData=i,this._stashInitialSize=393216,void 0!=n.stashInitialSize&&n.stashInitialSize>0&&(this._stashInitialSize=n.stashInitialSize),this._stashUsed=0,this._stashSize=this._stashInitialSize,this._bufferSize=3145728,this._stashBuffer=new ArrayBuffer(this._bufferSize),this._stashByteStart=0,this._enableStash=!0,!1===n.enableStashBuffer&&(this._enableStash=!1),this._loader=null,this._loaderClass=null,this._seekHandler=null,this._dataSource=t,this._isWebSocketURL=/wss?:\/\/(.+?)/.test(t.url),this._refTotalLength=t.filesize?t.filesize:null,this._totalLength=this._refTotalLength,this._fullRequestFlag=!1,this._currentRange=null,this._redirectedURL=null,this._speedNormalized=0,this._speedSampler=new l.default,this._speedNormalizeList=[64,128,256,384,512,768,1024,1536,2048,3072,4096],this._isEarlyEofReconnecting=!1,this._paused=!1,this._resumeFrom=0,this._onDataArrival=null,this._onSeeked=null,this._onError=null,this._onComplete=null,this._onRedirect=null,this._onRecoveredEarlyEof=null,this._selectSeekHandler(),this._selectLoader(),this._createLoader()}return s(e,[{key:"destroy",value:function value(){this._loader.isWorking()&&this._loader.abort(),this._loader.destroy(),this._loader=null,this._loaderClass=null,this._dataSource=null,this._stashBuffer=null,this._stashUsed=this._stashSize=this._bufferSize=this._stashByteStart=0,this._currentRange=null,this._speedSampler=null,this._isEarlyEofReconnecting=!1,this._onDataArrival=null,this._onSeeked=null,this._onError=null,this._onComplete=null,this._onRedirect=null,this._onRecoveredEarlyEof=null,this._extraData=null}},{key:"isWorking",value:function value(){return this._loader&&this._loader.isWorking()&&!this._paused}},{key:"isPaused",value:function value(){return this._paused}},{key:"_selectSeekHandler",value:function value(){var e=this._config;if("range"===e.seekType)this._seekHandler=new E.default(this._config.rangeLoadZeroStart);else if("param"===e.seekType){var t=e.seekParamStart||"bstart",n=e.seekParamEnd||"bend";this._seekHandler=new k.default(t,n)}else{if("custom"!==e.seekType)throw new L.InvalidArgumentException("Invalid seekType in config: "+e.seekType);if("function"!=typeof e.customSeekHandler)throw new L.InvalidArgumentException("Custom seekType specified in config but invalid customSeekHandler!");this._seekHandler=new e.customSeekHandler}}},{key:"_selectLoader",value:function value(){if(null!=this._config.customLoader)this._loaderClass=this._config.customLoader;else if(this._isWebSocketURL)this._loaderClass=y.default;else if(f.default.isSupported())this._loaderClass=f.default;else if(_.default.isSupported())this._loaderClass=_.default;else{if(!v.default.isSupported())throw new L.RuntimeException("Your browser doesn't support xhr with arraybuffer responseType!");this._loaderClass=v.default}}},{key:"_createLoader",value:function value(){this._loader=new this._loaderClass(this._seekHandler,this._config),!1===this._loader.needStashBuffer&&(this._enableStash=!1),this._loader.onContentLengthKnown=this._onContentLengthKnown.bind(this),this._loader.onURLRedirect=this._onURLRedirect.bind(this),this._loader.onDataArrival=this._onLoaderChunkArrival.bind(this),this._loader.onComplete=this._onLoaderComplete.bind(this),this._loader.onError=this._onLoaderError.bind(this)}},{key:"open",value:function value(e){this._currentRange={from:0,to:-1},e&&(this._currentRange.from=e),this._speedSampler.reset(),e||(this._fullRequestFlag=!0),this._loader.open(this._dataSource,Object.assign({},this._currentRange))}},{key:"abort",value:function value(){this._loader.abort(),this._paused&&(this._paused=!1,this._resumeFrom=0)}},{key:"pause",value:function value(){this.isWorking()&&(this._loader.abort(),0!==this._stashUsed?(this._resumeFrom=this._stashByteStart,this._currentRange.to=this._stashByteStart-1):this._resumeFrom=this._currentRange.to+1,this._stashUsed=0,this._stashByteStart=0,this._paused=!0)}},{key:"resume",value:function value(){if(this._paused){this._paused=!1;var e=this._resumeFrom;this._resumeFrom=0,this._internalSeek(e,!0)}}},{key:"seek",value:function value(e){this._paused=!1,this._stashUsed=0,this._stashByteStart=0,this._internalSeek(e,!0)}},{key:"_internalSeek",value:function value(e,t){this._loader.isWorking()&&this._loader.abort(),this._flushStashBuffer(t),this._loader.destroy(),this._loader=null;var n={from:e,to:-1};this._currentRange={from:n.from,to:-1},this._speedSampler.reset(),this._stashSize=this._stashInitialSize,this._createLoader(),this._loader.open(this._dataSource,n),this._onSeeked&&this._onSeeked()}},{key:"updateUrl",value:function value(e){if(!e||"string"!=typeof e||0===e.length)throw new L.InvalidArgumentException("Url must be a non-empty string!");this._dataSource.url=e}},{key:"_expandBuffer",value:function value(e){for(var t=this._stashSize;t+1048576<e;){t*=2}if((t+=1048576)!==this._bufferSize){var n=new ArrayBuffer(t);if(this._stashUsed>0){var i=new Uint8Array(this._stashBuffer,0,this._stashUsed);new Uint8Array(n,0,t).set(i,0)}this._stashBuffer=n,this._bufferSize=t}}},{key:"_normalizeSpeed",value:function value(e){var t=this._speedNormalizeList,n=t.length-1,i=0,r=0,s=n;if(e<t[0])return t[0];for(;r<=s;){if((i=r+Math.floor((s-r)/2))===n||e>=t[i]&&e<t[i+1])return t[i];t[i]<e?r=i+1:s=i-1}}},{key:"_adjustStashSize",value:function value(e){var t=0;(t=this._config.isLive?e:e<512?e:e>=512&&e<=1024?Math.floor(1.5*e):2*e)>8192&&(t=8192);var n=1024*t+1048576;this._bufferSize<n&&this._expandBuffer(n),this._stashSize=1024*t}},{key:"_dispatchChunks",value:function value(e,t){return this._currentRange.to=t+e.byteLength-1,this._onDataArrival(e,t)}},{key:"_onURLRedirect",value:function value(e){this._redirectedURL=e,this._onRedirect&&this._onRedirect(e)}},{key:"_onContentLengthKnown",value:function value(e){e&&this._fullRequestFlag&&(this._totalLength=e,this._fullRequestFlag=!1)}},{key:"_onLoaderChunkArrival",value:function value(e,t,n){if(!this._onDataArrival)throw new L.IllegalStateException("IOController: No existing consumer (onDataArrival) callback!");if(!this._paused){this._isEarlyEofReconnecting&&(this._isEarlyEofReconnecting=!1,this._onRecoveredEarlyEof&&this._onRecoveredEarlyEof()),this._speedSampler.addBytes(e.byteLength);var i=this._speedSampler.lastSecondKBps;if(0!==i){var r=this._normalizeSpeed(i);this._speedNormalized!==r&&(this._speedNormalized=r,this._adjustStashSize(r))}if(this._enableStash){if(0===this._stashUsed&&0===this._stashByteStart&&(this._stashByteStart=t),this._stashUsed+e.byteLength<=this._stashSize){var s=new Uint8Array(this._stashBuffer,0,this._stashSize);s.set(new Uint8Array(e),this._stashUsed),this._stashUsed+=e.byteLength}else{var a=new Uint8Array(this._stashBuffer,0,this._bufferSize);if(this._stashUsed>0){var o=this._stashBuffer.slice(0,this._stashUsed),u=this._dispatchChunks(o,this._stashByteStart);if(u<o.byteLength){if(u>0){var l=new Uint8Array(o,u);a.set(l,0),this._stashUsed=l.byteLength,this._stashByteStart+=u}}else this._stashUsed=0,this._stashByteStart+=u;this._stashUsed+e.byteLength>this._bufferSize&&(this._expandBuffer(this._stashUsed+e.byteLength),a=new Uint8Array(this._stashBuffer,0,this._bufferSize)),a.set(new Uint8Array(e),this._stashUsed),this._stashUsed+=e.byteLength}else{var d=this._dispatchChunks(e,t);if(d<e.byteLength){var h=e.byteLength-d;h>this._bufferSize&&(this._expandBuffer(h),a=new Uint8Array(this._stashBuffer,0,this._bufferSize)),a.set(new Uint8Array(e,d),0),this._stashUsed+=h,this._stashByteStart=t+d}}}}else if(0===this._stashUsed){var f=this._dispatchChunks(e,t);if(f<e.byteLength){var c=e.byteLength-f;c>this._bufferSize&&this._expandBuffer(c);var _=new Uint8Array(this._stashBuffer,0,this._bufferSize);_.set(new Uint8Array(e,f),0),this._stashUsed+=c,this._stashByteStart=t+f}}else{this._stashUsed+e.byteLength>this._bufferSize&&this._expandBuffer(this._stashUsed+e.byteLength);var m=new Uint8Array(this._stashBuffer,0,this._bufferSize);m.set(new Uint8Array(e),this._stashUsed),this._stashUsed+=e.byteLength;var p=this._dispatchChunks(this._stashBuffer.slice(0,this._stashUsed),this._stashByteStart);if(p<this._stashUsed&&p>0){var v=new Uint8Array(this._stashBuffer,p);m.set(v,0)}this._stashUsed-=p,this._stashByteStart+=p}}}},{key:"_flushStashBuffer",value:function value(e){if(this._stashUsed>0){var t=this._stashBuffer.slice(0,this._stashUsed),n=this._dispatchChunks(t,this._stashByteStart),i=t.byteLength-n;if(n<t.byteLength){if(!e){if(n>0){var r=new Uint8Array(this._stashBuffer,0,this._bufferSize),s=new Uint8Array(t,n);r.set(s,0),this._stashUsed=s.byteLength,this._stashByteStart+=n}return 0}o.default.w(this.TAG,i+" bytes unconsumed data remain when flush buffer, dropped")}return this._stashUsed=0,this._stashByteStart=0,i}return 0}},{key:"_onLoaderComplete",value:function value(e,t){this._flushStashBuffer(!0),this._onComplete&&this._onComplete(this._extraData)}},{key:"_onLoaderError",value:function value(e,t){switch(o.default.e(this.TAG,"Loader error, code = "+t.code+", msg = "+t.msg),this._flushStashBuffer(!1),this._isEarlyEofReconnecting&&(this._isEarlyEofReconnecting=!1,e=d.LoaderErrors.UNRECOVERABLE_EARLY_EOF),e){case d.LoaderErrors.EARLY_EOF:if(!this._config.isLive&&this._totalLength){var n=this._currentRange.to+1;return void(n<this._totalLength&&(o.default.w(this.TAG,"Connection lost, trying reconnect..."),this._isEarlyEofReconnecting=!0,this._internalSeek(n,!1)))}e=d.LoaderErrors.UNRECOVERABLE_EARLY_EOF;break;case d.LoaderErrors.UNRECOVERABLE_EARLY_EOF:case d.LoaderErrors.CONNECTING_TIMEOUT:case d.LoaderErrors.HTTP_STATUS_CODE_INVALID:case d.LoaderErrors.EXCEPTION:}if(!this._onError)throw new L.RuntimeException("IOException: "+t.msg);this._onError(e,t)}},{key:"status",get:function get(){return this._loader.status}},{key:"extraData",get:function get(){return this._extraData},set:function set(e){this._extraData=e}},{key:"onDataArrival",get:function get(){return this._onDataArrival},set:function set(e){this._onDataArrival=e}},{key:"onSeeked",get:function get(){return this._onSeeked},set:function set(e){this._onSeeked=e}},{key:"onError",get:function get(){return this._onError},set:function set(e){this._onError=e}},{key:"onComplete",get:function get(){return this._onComplete},set:function set(e){this._onComplete=e}},{key:"onRedirect",get:function get(){return this._onRedirect},set:function set(e){this._onRedirect=e}},{key:"onRecoveredEarlyEof",get:function get(){return this._onRecoveredEarlyEof},set:function set(e){this._onRecoveredEarlyEof=e}},{key:"currentURL",get:function get(){return this._dataSource.url}},{key:"hasRedirect",get:function get(){return null!=this._redirectedURL||void 0!=this._dataSource.redirectedURL}},{key:"currentRedirectedURL",get:function get(){return this._redirectedURL||this._dataSource.redirectedURL}},{key:"currentSpeed",get:function get(){return this._loaderClass===v.default?this._loader.currentSpeed:this._speedSampler.lastSecondKBps}},{key:"loaderType",get:function get(){return this._loader.type}}]),e}();n.default=R},{"../utils/exception.js":41,"../utils/logger.js":42,"./fetch-stream-loader.js":22,"./loader.js":24,"./param-seek-handler.js":25,"./range-seek-handler.js":26,"./speed-sampler.js":27,"./websocket-loader.js":29,"./xhr-moz-chunked-loader.js":30,"./xhr-msstream-loader.js":31,"./xhr-range-loader.js":32}],24:[function(e,t,n){"use strict";function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(n,"__esModule",{value:!0}),n.BaseLoader=n.LoaderErrors=n.LoaderStatus=void 0;var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),s=e("../utils/exception.js"),a=n.LoaderStatus={kIdle:0,kConnecting:1,kBuffering:2,kError:3,kComplete:4};n.LoaderErrors={OK:"OK",EXCEPTION:"Exception",HTTP_STATUS_CODE_INVALID:"HttpStatusCodeInvalid",CONNECTING_TIMEOUT:"ConnectingTimeout",EARLY_EOF:"EarlyEof",UNRECOVERABLE_EARLY_EOF:"UnrecoverableEarlyEof"},n.BaseLoader=function(){function e(t){i(this,e),this._type=t||"undefined",this._status=a.kIdle,this._needStash=!1,this._onContentLengthKnown=null,this._onURLRedirect=null,this._onDataArrival=null,this._onError=null,this._onComplete=null}return r(e,[{key:"destroy",value:function value(){this._status=a.kIdle,this._onContentLengthKnown=null,this._onURLRedirect=null,this._onDataArrival=null,this._onError=null,this._onComplete=null}},{key:"isWorking",value:function value(){return this._status===a.kConnecting||this._status===a.kBuffering}},{key:"open",value:function value(e,t){throw new s.NotImplementedException("Unimplemented abstract function!")}},{key:"abort",value:function value(){throw new s.NotImplementedException("Unimplemented abstract function!")}},{key:"type",get:function get(){return this._type}},{key:"status",get:function get(){return this._status}},{key:"needStashBuffer",get:function get(){return this._needStash}},{key:"onContentLengthKnown",get:function get(){return this._onContentLengthKnown},set:function set(e){this._onContentLengthKnown=e}},{key:"onURLRedirect",get:function get(){return this._onURLRedirect},set:function set(e){this._onURLRedirect=e}},{key:"onDataArrival",get:function get(){return this._onDataArrival},set:function set(e){this._onDataArrival=e}},{key:"onError",get:function get(){return this._onError},set:function set(e){this._onError=e}},{key:"onComplete",get:function get(){return this._onComplete},set:function set(e){this._onComplete=e}}]),e}()},{"../utils/exception.js":41}],25:[function(e,t,n){"use strict";function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(n,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),s=function(){function e(t,n){i(this,e),this._startName=t,this._endName=n}return r(e,[{key:"getConfig",value:function value(e,t){var n=e;if(0!==t.from||-1!==t.to){var i=!0;-1===n.indexOf("?")&&(n+="?",i=!1),i&&(n+="&"),n+=this._startName+"="+t.from.toString(),-1!==t.to&&(n+="&"+this._endName+"="+t.to.toString())}return{url:n,headers:{}}}},{key:"removeURLParameters",value:function value(e){var t=e.split("?")[0],n=void 0,i=e.indexOf("?");-1!==i&&(n=e.substring(i+1));var r="";if(void 0!=n&&n.length>0)for(var s=n.split("&"),a=0;a<s.length;a++){var o=s[a].split("="),u=a>0;o[0]!==this._startName&&o[0]!==this._endName&&(u&&(r+="&"),r+=s[a])}return 0===r.length?t:t+"?"+r}}]),e}();n.default=s},{}],26:[function(e,t,n){"use strict";function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(n,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),s=function(){function e(t){i(this,e),this._zeroStart=t||!1}return r(e,[{key:"getConfig",value:function value(e,t){var n={};if(0!==t.from||-1!==t.to){var i=void 0;i=-1!==t.to?"bytes="+t.from.toString()+"-"+t.to.toString():"bytes="+t.from.toString()+"-",n.Range=i}else this._zeroStart&&(n.Range="bytes=0-");return{url:e,headers:n}}},{key:"removeURLParameters",value:function value(e){return e}}]),e}();n.default=s},{}],27:[function(e,t,n){"use strict";function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(n,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),s=function(){function e(){i(this,e),this._firstCheckpoint=0,this._lastCheckpoint=0,this._intervalBytes=0,this._totalBytes=0,this._lastSecondBytes=0,self.performance&&self.performance.now?this._now=self.performance.now.bind(self.performance):this._now=Date.now}return r(e,[{key:"reset",value:function value(){this._firstCheckpoint=this._lastCheckpoint=0,this._totalBytes=this._intervalBytes=0,this._lastSecondBytes=0}},{key:"addBytes",value:function value(e){0===this._firstCheckpoint?(this._firstCheckpoint=this._now(),this._lastCheckpoint=this._firstCheckpoint,this._intervalBytes+=e,this._totalBytes+=e):this._now()-this._lastCheckpoint<1e3?(this._intervalBytes+=e,this._totalBytes+=e):(this._lastSecondBytes=this._intervalBytes,this._intervalBytes=e,this._totalBytes+=e,this._lastCheckpoint=this._now())}},{key:"currentKBps",get:function get(){this.addBytes(0);var e=(this._now()-this._lastCheckpoint)/1e3;return 0==e&&(e=1),this._intervalBytes/e/1024}},{key:"lastSecondKBps",get:function get(){return this.addBytes(0),0!==this._lastSecondBytes?this._lastSecondBytes/1024:this._now()-this._lastCheckpoint>=500?this.currentKBps:0}},{key:"averageKBps",get:function get(){var e=(this._now()-this._firstCheckpoint)/1e3;return this._totalBytes/e/1024}}]),e}();n.default=s},{}],28:[function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=(typeof t==="undefined"?"undefined":_typeof(t))&&"function"!=typeof t?e:t}function a(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+(typeof t==="undefined"?"undefined":_typeof(t)));e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(n,"__esModule",{value:!0});var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),u=e("../utils/logger.js"),l=(i(u),e("./loader.js"),e("./fetch-stream-loader.js")),d=i(l),h=e("./xhr-moz-chunked-loader.js"),f=i(h),c=e("./xhr-msstream-loader.js"),_=(i(c),e("./xhr-range-loader.js")),m=i(_),p=e("./range-seek-handler.js"),v=i(p),g=e("./param-seek-handler.js"),y=i(g),b=e("./websocket-loader.js"),E=i(b),S=e("../config.js"),k=e("../utils/exception.js"),L=e("events"),R=i(L),w=function(e){function t(){r(this,t);var e=s(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return e.TAG="WebLoader",e._config=(0,S.createDefaultConfig)(),e._loader=null,e._loaderClass=null,e._seekHandler=null,e._isStart=!1,e._isFirst=!0,e}return a(t,e),o(t,[{key:"start",value:function value(e){if(this._isStart)throw"isStart";this._isWebSocketURL=/wss?:\/\/(.+?)/.test(e),this._currentRange={from:0,to:-1},this._selectSeekHandler(),this._selectLoader(),this._createLoader(),this._loader.open({url:e},Object.assign({},this._currentRange)),this._isStart=!0,this._isFirst=!0}},{key:"stop",value:function value(){this._isStart&&(this._loader.abort(),this._isStart=!1)}},{key:"_selectSeekHandler",value:function value(){var e=this._config;if("range"===e.seekType)this._seekHandler=new v.default(this._config.rangeLoadZeroStart);else if("param"===e.seekType){var t=e.seekParamStart||"bstart",n=e.seekParamEnd||"bend";this._seekHandler=new y.default(t,n)}else{if("custom"!==e.seekType)throw new k.InvalidArgumentException("Invalid seekType in config: "+e.seekType);if("function"!=typeof e.customSeekHandler)throw new k.InvalidArgumentException("Custom seekType specified in config but invalid customSeekHandler!");this._seekHandler=new e.customSeekHandler}}},{key:"_selectLoader",value:function value(){if(this._isWebSocketURL)this._loaderClass=E.default;else if(d.default.isSupported())this._loaderClass=d.default;else if(f.default.isSupported())this._loaderClass=f.default;else{if(!m.default.isSupported())throw new k.RuntimeException("Your browser doesn't support xhr with arraybuffer responseType!");this._loaderClass=m.default}}},{key:"_createLoader",value:function value(){this._loader=new this._loaderClass(this._seekHandler,this._config),this._loader.onContentLength=this._onContentLength.bind(this),this._loader.onURLRedirect=this._onURLRedirect.bind(this),this._loader.onDataArrival=this._onLoaderChunkArrival.bind(this),this._loader.onComplete=this._onLoaderComplete.bind(this),this._loader.onError=this._onLoaderError.bind(this)}},{key:"_onURLRedirect",value:function value(){}},{key:"_onContentLength",value:function value(e){}},{key:"_onLoaderChunkArrival",value:function value(e,t,n){this._isFirst&&(this.emit("start"),this._isFirst=!1),this.emit("data",e)}},{key:"_onLoaderComplete",value:function value(e,t){this.emit("close"),this._isFirst=!0}},{key:"_onLoaderError",value:function value(e,t){this.emit("error",t),this._isFirst=!0}}]),t}(R.default);n.default=w},{"../config.js":5,"../utils/exception.js":41,"../utils/logger.js":42,"./fetch-stream-loader.js":22,"./loader.js":24,"./param-seek-handler.js":25,"./range-seek-handler.js":26,"./websocket-loader.js":29,"./xhr-moz-chunked-loader.js":30,"./xhr-msstream-loader.js":31,"./xhr-range-loader.js":32,events:2}],29:[function(e,t,n){"use strict";function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function r(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=(typeof t==="undefined"?"undefined":_typeof(t))&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+(typeof t==="undefined"?"undefined":_typeof(t)));e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(n,"__esModule",{value:!0});var a=function e(t,n,i){null===t&&(t=Function.prototype);var r=Object.getOwnPropertyDescriptor(t,n);if(void 0===r){var s=Object.getPrototypeOf(t);return null===s?void 0:e(s,n,i)}if("value"in r)return r.value;var a=r.get;if(void 0!==a)return a.call(i)},o=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),u=e("../utils/logger.js"),l=(function(e){e&&e.__esModule}(u),e("./loader.js")),d=e("../utils/exception.js"),h=function(e){function t(){i(this,t);var e=r(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"websocket-loader"));return e.TAG="WebSocketLoader",e._needStash=!0,e._ws=null,e._requestAbort=!1,e._receivedLength=0,e}return s(t,e),o(t,null,[{key:"isSupported",value:function value(){try{return void 0!==self.WebSocket}catch(e){return!1}}}]),o(t,[{key:"destroy",value:function value(){this._ws&&this.abort(),a(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"destroy",this).call(this)}},{key:"open",value:function value(e){try{var t=this._ws=new self.WebSocket(e.url);t.binaryType="arraybuffer",t.onopen=this._onWebSocketOpen.bind(this),t.onclose=this._onWebSocketClose.bind(this),t.onmessage=this._onWebSocketMessage.bind(this),t.onerror=this._onWebSocketError.bind(this),this._status=l.LoaderStatus.kConnecting}catch(e){this._status=l.LoaderStatus.kError;var n={code:e.code,msg:e.message};if(!this._onError)throw new d.RuntimeException(n.msg);this._onError(l.LoaderErrors.EXCEPTION,n)}}},{key:"abort",value:function value(){var e=this._ws;!e||0!==e.readyState&&1!==e.readyState||(this._requestAbort=!0,e.close()),this._ws=null,this._status=l.LoaderStatus.kComplete}},{key:"_onWebSocketOpen",value:function value(e){this._status=l.LoaderStatus.kBuffering}},{key:"_onWebSocketClose",value:function value(e){if(!0===this._requestAbort)return void(this._requestAbort=!1);this._status=l.LoaderStatus.kComplete,this._onComplete&&this._onComplete(0,this._receivedLength-1)}},{key:"_onWebSocketMessage",value:function value(e){var t=this;if(e.data instanceof ArrayBuffer)this._dispatchArrayBuffer(e.data);else if(e.data instanceof Blob){var n=new FileReader;n.onload=function(){t._dispatchArrayBuffer(n.result)},n.readAsArrayBuffer(e.data)}else{this._status=l.LoaderStatus.kError;var i={code:-1,msg:"Unsupported WebSocket message type: "+e.data.constructor.name};if(!this._onError)throw new d.RuntimeException(i.msg);this._onError(l.LoaderErrors.EXCEPTION,i)}}},{key:"_dispatchArrayBuffer",value:function value(e){var t=e,n=this._receivedLength;this._receivedLength+=t.byteLength,this._onDataArrival&&this._onDataArrival(t,n,this._receivedLength)}},{key:"_onWebSocketError",value:function value(e){this._status=l.LoaderStatus.kError;var t={code:e.code,msg:e.message};if(!this._onError)throw new d.RuntimeException(t.msg);this._onError(l.LoaderErrors.EXCEPTION,t)}}]),t}(l.BaseLoader);n.default=h},{"../utils/exception.js":41,"../utils/logger.js":42,"./loader.js":24}],30:[function(e,t,n){"use strict";function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function r(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=(typeof t==="undefined"?"undefined":_typeof(t))&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+(typeof t==="undefined"?"undefined":_typeof(t)));e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(n,"__esModule",{value:!0});var a="function"==typeof Symbol&&"symbol"==_typeof(Symbol.iterator)?function(e){return typeof e==="undefined"?"undefined":_typeof(e)}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e==="undefined"?"undefined":_typeof(e)},o=function e(t,n,i){null===t&&(t=Function.prototype);var r=Object.getOwnPropertyDescriptor(t,n);if(void 0===r){var s=Object.getPrototypeOf(t);return null===s?void 0:e(s,n,i)}if("value"in r)return r.value;var a=r.get;if(void 0!==a)return a.call(i)},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),l=e("../utils/logger.js"),d=function(e){return e&&e.__esModule?e:{default:e}}(l),h=e("./loader.js"),f=e("../utils/exception.js"),c=function(e){function t(e,n){i(this,t);var s=r(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"xhr-moz-chunked-loader"));return s.TAG="MozChunkedLoader",s._seekHandler=e,s._config=n,s._needStash=!0,s._xhr=null,s._requestAbort=!1,s._contentLength=null,s._receivedLength=0,s}return s(t,e),u(t,null,[{key:"isSupported",value:function value(){try{var e=new XMLHttpRequest;return e.open("GET","https://example.com",!0),e.responseType="moz-chunked-arraybuffer","moz-chunked-arraybuffer"===e.responseType}catch(e){return d.default.w("MozChunkedLoader",e.message),!1}}}]),u(t,[{key:"destroy",value:function value(){this.isWorking()&&this.abort(),this._xhr&&(this._xhr.onreadystatechange=null,this._xhr.onprogress=null,this._xhr.onloadend=null,this._xhr.onerror=null,this._xhr=null),o(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"destroy",this).call(this)}},{key:"open",value:function value(e,t){this._dataSource=e,this._range=t;var n=e.url;this._config.reuseRedirectedURL&&void 0!=e.redirectedURL&&(n=e.redirectedURL);var i=this._seekHandler.getConfig(n,t);this._requestURL=i.url;var r=this._xhr=new XMLHttpRequest;if(r.open("GET",i.url,!0),r.responseType="moz-chunked-arraybuffer",r.onreadystatechange=this._onReadyStateChange.bind(this),r.onprogress=this._onProgress.bind(this),r.onloadend=this._onLoadEnd.bind(this),r.onerror=this._onXhrError.bind(this),e.withCredentials&&(r.withCredentials=!0),"object"===a(i.headers)){var s=i.headers;for(var o in s){s.hasOwnProperty(o)&&r.setRequestHeader(o,s[o])}}if("object"===a(this._config.headers)){var u=this._config.headers;for(var l in u){u.hasOwnProperty(l)&&r.setRequestHeader(l,u[l])}}this._status=h.LoaderStatus.kConnecting,r.send()}},{key:"abort",value:function value(){this._requestAbort=!0,this._xhr&&this._xhr.abort(),this._status=h.LoaderStatus.kComplete}},{key:"_onReadyStateChange",value:function value(e){var t=e.target;if(2===t.readyState){if(void 0!=t.responseURL&&t.responseURL!==this._requestURL&&this._onURLRedirect){var n=this._seekHandler.removeURLParameters(t.responseURL);this._onURLRedirect(n)}if(0!==t.status&&(t.status<200||t.status>299)){if(this._status=h.LoaderStatus.kError,!this._onError)throw new f.RuntimeException("MozChunkedLoader: Http code invalid, "+t.status+" "+t.statusText);this._onError(h.LoaderErrors.HTTP_STATUS_CODE_INVALID,{code:t.status,msg:t.statusText})}else this._status=h.LoaderStatus.kBuffering}}},{key:"_onProgress",value:function value(e){if(this._status!==h.LoaderStatus.kError){null===this._contentLength&&null!==e.total&&0!==e.total&&(this._contentLength=e.total,this._onContentLengthKnown&&this._onContentLengthKnown(this._contentLength));var t=e.target.response,n=this._range.from+this._receivedLength;this._receivedLength+=t.byteLength,this._onDataArrival&&this._onDataArrival(t,n,this._receivedLength)}}},{key:"_onLoadEnd",value:function value(e){if(!0===this._requestAbort)return void(this._requestAbort=!1);this._status!==h.LoaderStatus.kError&&(this._status=h.LoaderStatus.kComplete,this._onComplete&&this._onComplete(this._range.from,this._range.from+this._receivedLength-1))}},{key:"_onXhrError",value:function value(e){this._status=h.LoaderStatus.kError;var t=0,n=null;if(this._contentLength&&e.loaded<this._contentLength?(t=h.LoaderErrors.EARLY_EOF,n={code:-1,msg:"Moz-Chunked stream meet Early-Eof"}):(t=h.LoaderErrors.EXCEPTION,n={code:-1,msg:e.constructor.name+" "+e.type}),!this._onError)throw new f.RuntimeException(n.msg);this._onError(t,n)}}]),t}(h.BaseLoader);n.default=c},{"../utils/exception.js":41,"../utils/logger.js":42,"./loader.js":24}],31:[function(e,t,n){"use strict";function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function r(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=(typeof t==="undefined"?"undefined":_typeof(t))&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+(typeof t==="undefined"?"undefined":_typeof(t)));e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(n,"__esModule",{value:!0});var a="function"==typeof Symbol&&"symbol"==_typeof(Symbol.iterator)?function(e){return typeof e==="undefined"?"undefined":_typeof(e)}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e==="undefined"?"undefined":_typeof(e)},o=function e(t,n,i){null===t&&(t=Function.prototype);var r=Object.getOwnPropertyDescriptor(t,n);if(void 0===r){var s=Object.getPrototypeOf(t);return null===s?void 0:e(s,n,i)}if("value"in r)return r.value;var a=r.get;if(void 0!==a)return a.call(i)},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),l=e("../utils/logger.js"),d=function(e){return e&&e.__esModule?e:{default:e}}(l),h=e("./loader.js"),f=e("../utils/exception.js"),c=function(e){function t(e,n){i(this,t);var s=r(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"xhr-msstream-loader"));return s.TAG="MSStreamLoader",s._seekHandler=e,s._config=n,s._needStash=!0,s._xhr=null,s._reader=null,s._totalRange=null,s._currentRange=null,s._currentRequestURL=null,s._currentRedirectedURL=null,s._contentLength=null,s._receivedLength=0,s._bufferLimit=16777216,s._lastTimeBufferSize=0,s._isReconnecting=!1,s}return s(t,e),u(t,null,[{key:"isSupported",value:function value(){try{if(void 0===self.MSStream||void 0===self.MSStreamReader)return!1;var e=new XMLHttpRequest;return e.open("GET","https://example.com",!0),e.responseType="ms-stream","ms-stream"===e.responseType}catch(e){return d.default.w("MSStreamLoader",e.message),!1}}}]),u(t,[{key:"destroy",value:function value(){this.isWorking()&&this.abort(),this._reader&&(this._reader.onprogress=null,this._reader.onload=null,this._reader.onerror=null,this._reader=null),this._xhr&&(this._xhr.onreadystatechange=null,this._xhr=null),o(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"destroy",this).call(this)}},{key:"open",value:function value(e,t){this._internalOpen(e,t,!1)}},{key:"_internalOpen",value:function value(e,t,n){this._dataSource=e,n?this._currentRange=t:this._totalRange=t;var i=e.url;this._config.reuseRedirectedURL&&(void 0!=this._currentRedirectedURL?i=this._currentRedirectedURL:void 0!=e.redirectedURL&&(i=e.redirectedURL));var r=this._seekHandler.getConfig(i,t);this._currentRequestURL=r.url;var s=this._reader=new self.MSStreamReader;s.onprogress=this._msrOnProgress.bind(this),s.onload=this._msrOnLoad.bind(this),s.onerror=this._msrOnError.bind(this);var o=this._xhr=new XMLHttpRequest;if(o.open("GET",r.url,!0),o.responseType="ms-stream",o.onreadystatechange=this._xhrOnReadyStateChange.bind(this),o.onerror=this._xhrOnError.bind(this),e.withCredentials&&(o.withCredentials=!0),"object"===a(r.headers)){var u=r.headers;for(var l in u){u.hasOwnProperty(l)&&o.setRequestHeader(l,u[l])}}if("object"===a(this._config.headers)){var d=this._config.headers;for(var f in d){d.hasOwnProperty(f)&&o.setRequestHeader(f,d[f])}}this._isReconnecting?this._isReconnecting=!1:this._status=h.LoaderStatus.kConnecting,o.send()}},{key:"abort",value:function value(){this._internalAbort(),this._status=h.LoaderStatus.kComplete}},{key:"_internalAbort",value:function value(){this._reader&&(1===this._reader.readyState&&this._reader.abort(),this._reader.onprogress=null,this._reader.onload=null,this._reader.onerror=null,this._reader=null),this._xhr&&(this._xhr.abort(),this._xhr.onreadystatechange=null,this._xhr=null)}},{key:"_xhrOnReadyStateChange",value:function value(e){var t=e.target;if(2===t.readyState){if(t.status>=200&&t.status<=299){if(this._status=h.LoaderStatus.kBuffering,void 0!=t.responseURL){var n=this._seekHandler.removeURLParameters(t.responseURL);t.responseURL!==this._currentRequestURL&&n!==this._currentRedirectedURL&&(this._currentRedirectedURL=n,this._onURLRedirect&&this._onURLRedirect(n))}var i=t.getResponseHeader("Content-Length");if(null!=i&&null==this._contentLength){var r=parseInt(i);r>0&&(this._contentLength=r,this._onContentLengthKnown&&this._onContentLengthKnown(this._contentLength))}}else{if(this._status=h.LoaderStatus.kError,!this._onError)throw new f.RuntimeException("MSStreamLoader: Http code invalid, "+t.status+" "+t.statusText);this._onError(h.LoaderErrors.HTTP_STATUS_CODE_INVALID,{code:t.status,msg:t.statusText})}}else if(3===t.readyState&&t.status>=200&&t.status<=299){this._status=h.LoaderStatus.kBuffering;var s=t.response;this._reader.readAsArrayBuffer(s)}}},{key:"_xhrOnError",value:function value(e){this._status=h.LoaderStatus.kError;var t=h.LoaderErrors.EXCEPTION,n={code:-1,msg:e.constructor.name+" "+e.type};if(!this._onError)throw new f.RuntimeException(n.msg);this._onError(t,n)}},{key:"_msrOnProgress",value:function value(e){var t=e.target,n=t.result;if(null==n)return void this._doReconnectIfNeeded();var i=n.slice(this._lastTimeBufferSize);this._lastTimeBufferSize=n.byteLength;var r=this._totalRange.from+this._receivedLength;this._receivedLength+=i.byteLength,this._onDataArrival&&this._onDataArrival(i,r,this._receivedLength),n.byteLength>=this._bufferLimit&&(d.default.v(this.TAG,"MSStream buffer exceeded max size near "+(r+i.byteLength)+", reconnecting..."),this._doReconnectIfNeeded())}},{key:"_doReconnectIfNeeded",value:function value(){if(null==this._contentLength||this._receivedLength<this._contentLength){this._isReconnecting=!0,this._lastTimeBufferSize=0,this._internalAbort();var e={from:this._totalRange.from+this._receivedLength,to:-1};this._internalOpen(this._dataSource,e,!0)}}},{key:"_msrOnLoad",value:function value(e){this._status=h.LoaderStatus.kComplete,this._onComplete&&this._onComplete(this._totalRange.from,this._totalRange.from+this._receivedLength-1)}},{key:"_msrOnError",value:function value(e){this._status=h.LoaderStatus.kError;var t=0,n=null;if(this._contentLength&&this._receivedLength<this._contentLength?(t=h.LoaderErrors.EARLY_EOF,n={code:-1,msg:"MSStream meet Early-Eof"}):(t=h.LoaderErrors.EARLY_EOF,n={code:-1,msg:e.constructor.name+" "+e.type}),!this._onError)throw new f.RuntimeException(n.msg);this._onError(t,n)}}]),t}(h.BaseLoader);n.default=c},{"../utils/exception.js":41,"../utils/logger.js":42,"./loader.js":24}],32:[function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=(typeof t==="undefined"?"undefined":_typeof(t))&&"function"!=typeof t?e:t}function a(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+(typeof t==="undefined"?"undefined":_typeof(t)));e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(n,"__esModule",{value:!0});var o="function"==typeof Symbol&&"symbol"==_typeof(Symbol.iterator)?function(e){return typeof e==="undefined"?"undefined":_typeof(e)}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e==="undefined"?"undefined":_typeof(e)},u=function e(t,n,i){null===t&&(t=Function.prototype);var r=Object.getOwnPropertyDescriptor(t,n);if(void 0===r){var s=Object.getPrototypeOf(t);return null===s?void 0:e(s,n,i)}if("value"in r)return r.value;var a=r.get;if(void 0!==a)return a.call(i)},l=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),d=e("../utils/logger.js"),h=i(d),f=e("./speed-sampler.js"),c=i(f),_=e("./loader.js"),m=e("../utils/exception.js"),p=function(e){function t(e,n){r(this,t);var i=s(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"xhr-range-loader"));return i.TAG="RangeLoader",i._seekHandler=e,i._config=n,i._needStash=!1,i._chunkSizeKBList=[128,256,384,512,768,1024,1536,2048,3072,4096,5120,6144,7168,8192],i._currentChunkSizeKB=384,i._currentSpeedNormalized=0,i._zeroSpeedChunkCount=0,i._xhr=null,i._speedSampler=new c.default,i._requestAbort=!1,i._waitForTotalLength=!1,i._totalLengthReceived=!1,i._currentRequestURL=null,i._currentRedirectedURL=null,i._currentRequestRange=null,i._totalLength=null,i._contentLength=null,i._receivedLength=0,i._lastTimeLoaded=0,i}return a(t,e),l(t,null,[{key:"isSupported",value:function value(){try{var e=new XMLHttpRequest;return e.open("GET","https://example.com",!0),e.responseType="arraybuffer","arraybuffer"===e.responseType}catch(e){return h.default.w("RangeLoader",e.message),!1}}}]),l(t,[{key:"destroy",value:function value(){this.isWorking()&&this.abort(),this._xhr&&(this._xhr.onreadystatechange=null,this._xhr.onprogress=null,this._xhr.onload=null,this._xhr.onerror=null,this._xhr=null),u(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"destroy",this).call(this)}},{key:"open",value:function value(e,t){this._dataSource=e,this._range=t,this._status=_.LoaderStatus.kConnecting;var n=!1;void 0!=this._dataSource.filesize&&0!==this._dataSource.filesize&&(n=!0,this._totalLength=this._dataSource.filesize),this._totalLengthReceived||n?this._openSubRange():(this._waitForTotalLength=!0,this._internalOpen(this._dataSource,{from:0,to:-1}))}},{key:"_openSubRange",value:function value(){var e=1024*this._currentChunkSizeKB,t=this._range.from+this._receivedLength,n=t+e;null!=this._contentLength&&n-this._range.from>=this._contentLength&&(n=this._range.from+this._contentLength-1),this._currentRequestRange={from:t,to:n},this._internalOpen(this._dataSource,this._currentRequestRange)}},{key:"_internalOpen",value:function value(e,t){this._lastTimeLoaded=0;var n=e.url;this._config.reuseRedirectedURL&&(void 0!=this._currentRedirectedURL?n=this._currentRedirectedURL:void 0!=e.redirectedURL&&(n=e.redirectedURL));var i=this._seekHandler.getConfig(n,t);this._currentRequestURL=i.url;var r=this._xhr=new XMLHttpRequest;if(r.open("GET",i.url,!0),r.responseType="arraybuffer",r.onreadystatechange=this._onReadyStateChange.bind(this),r.onprogress=this._onProgress.bind(this),r.onload=this._onLoad.bind(this),r.onerror=this._onXhrError.bind(this),e.withCredentials&&(r.withCredentials=!0),"object"===o(i.headers)){var s=i.headers;for(var a in s){s.hasOwnProperty(a)&&r.setRequestHeader(a,s[a])}}if("object"===o(this._config.headers)){var u=this._config.headers;for(var l in u){u.hasOwnProperty(l)&&r.setRequestHeader(l,u[l])}}r.send()}},{key:"abort",value:function value(){this._requestAbort=!0,this._internalAbort(),this._status=_.LoaderStatus.kComplete}},{key:"_internalAbort",value:function value(){this._xhr&&(this._xhr.onreadystatechange=null,this._xhr.onprogress=null,this._xhr.onload=null,this._xhr.onerror=null,this._xhr.abort(),this._xhr=null)}},{key:"_onReadyStateChange",value:function value(e){var t=e.target;if(2===t.readyState){if(void 0!=t.responseURL){var n=this._seekHandler.removeURLParameters(t.responseURL);t.responseURL!==this._currentRequestURL&&n!==this._currentRedirectedURL&&(this._currentRedirectedURL=n,this._onURLRedirect&&this._onURLRedirect(n))}if(t.status>=200&&t.status<=299){if(this._waitForTotalLength)return;this._status=_.LoaderStatus.kBuffering}else{if(this._status=_.LoaderStatus.kError,!this._onError)throw new m.RuntimeException("RangeLoader: Http code invalid, "+t.status+" "+t.statusText);this._onError(_.LoaderErrors.HTTP_STATUS_CODE_INVALID,{code:t.status,msg:t.statusText})}}}},{key:"_onProgress",value:function value(e){if(this._status!==_.LoaderStatus.kError){if(null===this._contentLength){var t=!1;if(this._waitForTotalLength){this._waitForTotalLength=!1,this._totalLengthReceived=!0,t=!0;var n=e.total;this._internalAbort(),null!=n&0!==n&&(this._totalLength=n)}if(-1===this._range.to?this._contentLength=this._totalLength-this._range.from:this._contentLength=this._range.to-this._range.from+1,t)return void this._openSubRange();this._onContentLengthKnown&&this._onContentLengthKnown(this._contentLength)}var i=e.loaded-this._lastTimeLoaded;this._lastTimeLoaded=e.loaded,this._speedSampler.addBytes(i)}}},{key:"_normalizeSpeed",value:function value(e){var t=this._chunkSizeKBList,n=t.length-1,i=0,r=0,s=n;if(e<t[0])return t[0];for(;r<=s;){if((i=r+Math.floor((s-r)/2))===n||e>=t[i]&&e<t[i+1])return t[i];t[i]<e?r=i+1:s=i-1}}},{key:"_onLoad",value:function value(e){if(this._status!==_.LoaderStatus.kError){if(this._waitForTotalLength)return void(this._waitForTotalLength=!1);this._lastTimeLoaded=0;var t=this._speedSampler.lastSecondKBps;if(0===t&&++this._zeroSpeedChunkCount>=3&&(t=this._speedSampler.currentKBps),0!==t){var n=this._normalizeSpeed(t);this._currentSpeedNormalized!==n&&(this._currentSpeedNormalized=n,this._currentChunkSizeKB=n)}var i=e.target.response,r=this._range.from+this._receivedLength;this._receivedLength+=i.byteLength;var s=!1;null!=this._contentLength&&this._receivedLength<this._contentLength?this._openSubRange():s=!0,this._onDataArrival&&this._onDataArrival(i,r,this._receivedLength),s&&(this._status=_.LoaderStatus.kComplete,this._onComplete&&this._onComplete(this._range.from,this._range.from+this._receivedLength-1))}}},{key:"_onXhrError",value:function value(e){this._status=_.LoaderStatus.kError;var t=0,n=null;if(this._contentLength&&this._receivedLength>0&&this._receivedLength<this._contentLength?(t=_.LoaderErrors.EARLY_EOF,n={code:-1,msg:"RangeLoader meet Early-Eof"}):(t=_.LoaderErrors.EXCEPTION,n={code:-1,msg:e.constructor.name+" "+e.type}),!this._onError)throw new m.RuntimeException(n.msg);this._onError(t,n)}},{key:"currentSpeed",get:function get(){return this._speedSampler.lastSecondKBps}}]),t}(_.BaseLoader);n.default=p},{"../utils/exception.js":41,"../utils/logger.js":42,"./loader.js":24,"./speed-sampler.js":27}],33:[function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(n,"__esModule",{value:!0});var s="function"==typeof Symbol&&"symbol"==_typeof(Symbol.iterator)?function(e){return typeof e==="undefined"?"undefined":_typeof(e)}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e==="undefined"?"undefined":_typeof(e)},a=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),o=e("events"),u=i(o),l=e("../utils/logger.js"),d=i(l),h=e("../utils/browser.js"),f=i(h),c=e("./player-events.js"),_=i(c),m=e("../core/transmuxer.js"),p=i(m),v=e("../core/transmuxing-events.js"),g=i(v),y=e("../core/mse-controller.js"),b=i(y),E=e("../core/mse-events.js"),S=i(E),k=e("./player-errors.js"),L=e("../config.js"),R=e("../utils/exception.js"),w=function(){function e(t,n){if(r(this,e),this.TAG="FlvPlayer",this._type="FlvPlayer",this._emitter=new u.default,this._config=(0,L.createDefaultConfig)(),"object"===(void 0===n?"undefined":s(n))&&Object.assign(this._config,n),"flv"!==t.type.toLowerCase())throw new R.InvalidArgumentException("FlvPlayer requires an flv MediaDataSource input!");!0===t.isLive&&(this._config.isLive=!0),this.e={onvLoadedMetadata:this._onvLoadedMetadata.bind(this),onvSeeking:this._onvSeeking.bind(this),onvCanPlay:this._onvCanPlay.bind(this),onvStalled:this._onvStalled.bind(this),onvProgress:this._onvProgress.bind(this)},self.performance&&self.performance.now?this._now=self.performance.now.bind(self.performance):this._now=Date.now,this._pendingSeekTime=null,this._requestSetTime=!1,this._seekpointRecord=null,this._progressChecker=null,this._mediaDataSource=t,this._mediaElement=null,this._msectl=null,this._transmuxer=null,this._mseSourceOpened=!1,this._hasPendingLoad=!1,this._receivedCanPlay=!1,this._mediaInfo=null,this._statisticsInfo=null;var i=f.default.chrome&&(f.default.version.major<50||50===f.default.version.major&&f.default.version.build<2661);this._alwaysSeekKeyframe=!!(i||f.default.msedge||f.default.msie),this._alwaysSeekKeyframe&&(this._config.accurateSeek=!1)}return a(e,[{key:"destroy",value:function value(){null!=this._progressChecker&&(window.clearInterval(this._progressChecker),this._progressChecker=null),this._transmuxer&&this.unload(),this._mediaElement&&this.detachMediaElement(),this.e=null,this._mediaDataSource=null,this._emitter.removeAllListeners(),this._emitter=null}},{key:"on",value:function value(e,t){var n=this;e===_.default.MEDIA_INFO?null!=this._mediaInfo&&Promise.resolve().then(function(){n._emitter.emit(_.default.MEDIA_INFO,n.mediaInfo)}):e===_.default.STATISTICS_INFO&&null!=this._statisticsInfo&&Promise.resolve().then(function(){n._emitter.emit(_.default.STATISTICS_INFO,n.statisticsInfo)}),this._emitter.addListener(e,t)}},{key:"off",value:function value(e,t){this._emitter.removeListener(e,t)}},{key:"attachMediaElement",value:function value(e){var t=this;if(this._mediaElement=e,e.addEventListener("loadedmetadata",this.e.onvLoadedMetadata),e.addEventListener("seeking",this.e.onvSeeking),e.addEventListener("canplay",this.e.onvCanPlay),e.addEventListener("stalled",this.e.onvStalled),e.addEventListener("progress",this.e.onvProgress),this._msectl=new b.default(this._config),this._msectl.on(S.default.UPDATE_END,this._onmseUpdateEnd.bind(this)),this._msectl.on(S.default.BUFFER_FULL,this._onmseBufferFull.bind(this)),this._msectl.on(S.default.SOURCE_OPEN,function(){t._mseSourceOpened=!0,t._hasPendingLoad&&(t._hasPendingLoad=!1,t.load())}),this._msectl.on(S.default.ERROR,function(e){t._emitter.emit(_.default.ERROR,k.ErrorTypes.MEDIA_ERROR,k.ErrorDetails.MEDIA_MSE_ERROR,e)}),this._msectl.attachMediaElement(e),null!=this._pendingSeekTime)try{e.currentTime=this._pendingSeekTime,this._pendingSeekTime=null}catch(e){}}},{key:"detachMediaElement",value:function value(){this._mediaElement&&(this._msectl.detachMediaElement(),this._mediaElement.removeEventListener("loadedmetadata",this.e.onvLoadedMetadata),this._mediaElement.removeEventListener("seeking",this.e.onvSeeking),this._mediaElement.removeEventListener("canplay",this.e.onvCanPlay),this._mediaElement.removeEventListener("stalled",this.e.onvStalled),this._mediaElement.removeEventListener("progress",this.e.onvProgress),this._mediaElement=null),this._msectl&&(this._msectl.destroy(),this._msectl=null)}},{key:"load",value:function value(){var e=this;if(!this._mediaElement)throw new R.IllegalStateException("HTMLMediaElement must be attached before load()!");if(this._transmuxer)throw new R.IllegalStateException("FlvPlayer.load() has been called, please call unload() first!");if(!this._hasPendingLoad){if(this._config.deferLoadAfterSourceOpen&&!1===this._mseSourceOpened)return void(this._hasPendingLoad=!0);this._mediaElement.readyState>0&&(this._requestSetTime=!0,this._mediaElement.currentTime=0),this._transmuxer=new p.default(this._mediaDataSource,this._config),this._transmuxer.on(g.default.INIT_SEGMENT,function(t,n){e._msectl.appendInitSegment(n)}),this._transmuxer.on(g.default.MEDIA_SEGMENT,function(t,n){if(e._msectl.appendMediaSegment(n),e._config.lazyLoad&&!e._config.isLive){var i=e._mediaElement.currentTime;n.info.endDts>=1e3*(i+e._config.lazyLoadMaxDuration)&&null==e._progressChecker&&(d.default.v(e.TAG,"Maximum buffering duration exceeded, suspend transmuxing task"),e._suspendTransmuxer())}}),this._transmuxer.on(g.default.LOADING_COMPLETE,function(){e._msectl.endOfStream(),e._emitter.emit(_.default.LOADING_COMPLETE)}),this._transmuxer.on(g.default.RECOVERED_EARLY_EOF,function(){e._emitter.emit(_.default.RECOVERED_EARLY_EOF)}),this._transmuxer.on(g.default.IO_ERROR,function(t,n){e._emitter.emit(_.default.ERROR,k.ErrorTypes.NETWORK_ERROR,t,n)}),this._transmuxer.on(g.default.DEMUX_ERROR,function(t,n){e._emitter.emit(_.default.ERROR,k.ErrorTypes.MEDIA_ERROR,t,{code:-1,msg:n})}),this._transmuxer.on(g.default.MEDIA_INFO,function(t){e._mediaInfo=t,e._emitter.emit(_.default.MEDIA_INFO,Object.assign({},t))}),this._transmuxer.on(g.default.METADATA_ARRIVED,function(t){e._emitter.emit(_.default.METADATA_ARRIVED,t)}),this._transmuxer.on(g.default.SCRIPTDATA_ARRIVED,function(t){e._emitter.emit(_.default.SCRIPTDATA_ARRIVED,t)}),this._transmuxer.on(g.default.STATISTICS_INFO,function(t){e._statisticsInfo=e._fillStatisticsInfo(t),e._emitter.emit(_.default.STATISTICS_INFO,Object.assign({},e._statisticsInfo))}),this._transmuxer.on(g.default.RECOMMEND_SEEKPOINT,function(t){e._mediaElement&&!e._config.accurateSeek&&(e._requestSetTime=!0,e._mediaElement.currentTime=t/1e3)}),this._transmuxer.open()}}},{key:"unload",value:function value(){this._mediaElement&&this._mediaElement.pause(),this._msectl&&this._msectl.seek(0),this._transmuxer&&(this._transmuxer.close(),this._transmuxer.destroy(),this._transmuxer=null)}},{key:"play",value:function value(){return this._mediaElement.play()}},{key:"pause",value:function value(){this._mediaElement.pause()}},{key:"_fillStatisticsInfo",value:function value(e){if(e.playerType=this._type,!(this._mediaElement instanceof HTMLVideoElement))return e;var t=!0,n=0,i=0;if(this._mediaElement.getVideoPlaybackQuality){var r=this._mediaElement.getVideoPlaybackQuality();n=r.totalVideoFrames,i=r.droppedVideoFrames}else void 0!=this._mediaElement.webkitDecodedFrameCount?(n=this._mediaElement.webkitDecodedFrameCount,i=this._mediaElement.webkitDroppedFrameCount):t=!1;return t&&(e.decodedFrames=n,e.droppedFrames=i),e}},{key:"_onmseUpdateEnd",value:function value(){if(this._config.lazyLoad&&!this._config.isLive){for(var e=this._mediaElement.buffered,t=this._mediaElement.currentTime,n=0,i=0;i<e.length;i++){var r=e.start(i),s=e.end(i);if(r<=t&&t<s){r,n=s;break}}n>=t+this._config.lazyLoadMaxDuration&&null==this._progressChecker&&(d.default.v(this.TAG,"Maximum buffering duration exceeded, suspend transmuxing task"),this._suspendTransmuxer())}}},{key:"_onmseBufferFull",value:function value(){d.default.v(this.TAG,"MSE SourceBuffer is full, suspend transmuxing task"),null==this._progressChecker&&this._suspendTransmuxer()}},{key:"_suspendTransmuxer",value:function value(){this._transmuxer&&(this._transmuxer.pause(),null==this._progressChecker&&(this._progressChecker=window.setInterval(this._checkProgressAndResume.bind(this),1e3)))}},{key:"_checkProgressAndResume",value:function value(){for(var e=this._mediaElement.currentTime,t=this._mediaElement.buffered,n=!1,i=0;i<t.length;i++){var r=t.start(i),s=t.end(i);if(e>=r&&e<s){e>=s-this._config.lazyLoadRecoverDuration&&(n=!0);break}}n&&(window.clearInterval(this._progressChecker),this._progressChecker=null,n&&(d.default.v(this.TAG,"Continue loading from paused position"),this._transmuxer.resume()))}},{key:"_isTimepointBuffered",value:function value(e){for(var t=this._mediaElement.buffered,n=0;n<t.length;n++){var i=t.start(n),r=t.end(n);if(e>=i&&e<r)return!0}return!1}},{key:"_internalSeek",value:function value(e){var t=this._isTimepointBuffered(e),n=!1,i=0;if(e<1&&this._mediaElement.buffered.length>0){var r=this._mediaElement.buffered.start(0);(r<1&&e<r||f.default.safari)&&(n=!0,i=f.default.safari?.1:r)}if(n)this._requestSetTime=!0,this._mediaElement.currentTime=i;else if(t){if(this._alwaysSeekKeyframe){var s=this._msectl.getNearestKeyframe(Math.floor(1e3*e));this._requestSetTime=!0,this._mediaElement.currentTime=null!=s?s.dts/1e3:e}else this._requestSetTime=!0,this._mediaElement.currentTime=e;null!=this._progressChecker&&this._checkProgressAndResume()}else null!=this._progressChecker&&(window.clearInterval(this._progressChecker),this._progressChecker=null),this._msectl.seek(e),this._transmuxer.seek(Math.floor(1e3*e)),this._config.accurateSeek&&(this._requestSetTime=!0,this._mediaElement.currentTime=e)}},{key:"_checkAndApplyUnbufferedSeekpoint",value:function value(){if(this._seekpointRecord)if(this._seekpointRecord.recordTime<=this._now()-100){var e=this._mediaElement.currentTime;this._seekpointRecord=null,this._isTimepointBuffered(e)||(null!=this._progressChecker&&(window.clearTimeout(this._progressChecker),this._progressChecker=null),this._msectl.seek(e),this._transmuxer.seek(Math.floor(1e3*e)),this._config.accurateSeek&&(this._requestSetTime=!0,this._mediaElement.currentTime=e))}else window.setTimeout(this._checkAndApplyUnbufferedSeekpoint.bind(this),50)}},{key:"_checkAndResumeStuckPlayback",value:function value(e){var t=this._mediaElement;if(e||!this._receivedCanPlay||t.readyState<2){var n=t.buffered;n.length>0&&t.currentTime<n.start(0)&&(d.default.w(this.TAG,"Playback seems stuck at "+t.currentTime+", seek to "+n.start(0)),this._requestSetTime=!0,this._mediaElement.currentTime=n.start(0),this._mediaElement.removeEventListener("progress",this.e.onvProgress))}else this._mediaElement.removeEventListener("progress",this.e.onvProgress)}},{key:"_onvLoadedMetadata",value:function value(e){null!=this._pendingSeekTime&&(this._mediaElement.currentTime=this._pendingSeekTime,this._pendingSeekTime=null)}},{key:"_onvSeeking",value:function value(e){var t=this._mediaElement.currentTime,n=this._mediaElement.buffered;if(this._requestSetTime)return void(this._requestSetTime=!1);if(t<1&&n.length>0){var i=n.start(0);if(i<1&&t<i||f.default.safari)return this._requestSetTime=!0,void(this._mediaElement.currentTime=f.default.safari?.1:i)}if(this._isTimepointBuffered(t)){if(this._alwaysSeekKeyframe){var r=this._msectl.getNearestKeyframe(Math.floor(1e3*t));null!=r&&(this._requestSetTime=!0,this._mediaElement.currentTime=r.dts/1e3)}return void(null!=this._progressChecker&&this._checkProgressAndResume())}this._seekpointRecord={seekPoint:t,recordTime:this._now()},window.setTimeout(this._checkAndApplyUnbufferedSeekpoint.bind(this),50)}},{key:"_onvCanPlay",value:function value(e){this._receivedCanPlay=!0,this._mediaElement.removeEventListener("canplay",this.e.onvCanPlay)}},{key:"_onvStalled",value:function value(e){this._checkAndResumeStuckPlayback(!0)}},{key:"_onvProgress",value:function value(e){this._checkAndResumeStuckPlayback()}},{key:"type",get:function get(){return this._type}},{key:"buffered",get:function get(){return this._mediaElement.buffered}},{key:"duration",get:function get(){return this._mediaElement.duration}},{key:"volume",get:function get(){return this._mediaElement.volume},set:function set(e){this._mediaElement.volume=e}},{key:"muted",get:function get(){return this._mediaElement.muted},set:function set(e){this._mediaElement.muted=e}},{key:"currentTime",get:function get(){return this._mediaElement?this._mediaElement.currentTime:0},set:function set(e){this._mediaElement?this._internalSeek(e):this._pendingSeekTime=e}},{key:"mediaInfo",get:function get(){return Object.assign({},this._mediaInfo)}},{key:"statisticsInfo",get:function get(){return null==this._statisticsInfo&&(this._statisticsInfo={}),this._statisticsInfo=this._fillStatisticsInfo(this._statisticsInfo),Object.assign({},this._statisticsInfo)}}]),e}();n.default=w},{"../config.js":5,"../core/mse-controller.js":9,"../core/mse-events.js":10,"../core/transmuxer.js":11,"../core/transmuxing-events.js":13,"../utils/browser.js":40,"../utils/exception.js":41,"../utils/logger.js":42,"./player-errors.js":35,"./player-events.js":36,events:2}],34:[function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(n,"__esModule",{value:!0});var s="function"==typeof Symbol&&"symbol"==_typeof(Symbol.iterator)?function(e){return typeof e==="undefined"?"undefined":_typeof(e)}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e==="undefined"?"undefined":_typeof(e)},a=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),o=e("events"),u=i(o),l=e("./player-events.js"),d=i(l),h=e("../config.js"),f=e("../utils/exception.js"),c=function(){function e(t,n){if(r(this,e),this.TAG="NativePlayer",this._type="NativePlayer",this._emitter=new u.default,this._config=(0,h.createDefaultConfig)(),"object"===(void 0===n?"undefined":s(n))&&Object.assign(this._config,n),"flv"===t.type.toLowerCase())throw new f.InvalidArgumentException("NativePlayer does't support flv MediaDataSource input!");if(t.hasOwnProperty("segments"))throw new f.InvalidArgumentException("NativePlayer("+t.type+") doesn't support multipart playback!");this.e={onvLoadedMetadata:this._onvLoadedMetadata.bind(this)},this._pendingSeekTime=null,this._statisticsReporter=null,this._mediaDataSource=t,this._mediaElement=null}return a(e,[{key:"destroy",value:function value(){this._mediaElement&&(this.unload(),this.detachMediaElement()),this.e=null,this._mediaDataSource=null,this._emitter.removeAllListeners(),this._emitter=null}},{key:"on",value:function value(e,t){var n=this;e===d.default.MEDIA_INFO?null!=this._mediaElement&&0!==this._mediaElement.readyState&&Promise.resolve().then(function(){n._emitter.emit(d.default.MEDIA_INFO,n.mediaInfo)}):e===d.default.STATISTICS_INFO&&null!=this._mediaElement&&0!==this._mediaElement.readyState&&Promise.resolve().then(function(){n._emitter.emit(d.default.STATISTICS_INFO,n.statisticsInfo)}),this._emitter.addListener(e,t)}},{key:"off",value:function value(e,t){this._emitter.removeListener(e,t)}},{key:"attachMediaElement",value:function value(e){if(this._mediaElement=e,e.addEventListener("loadedmetadata",this.e.onvLoadedMetadata),null!=this._pendingSeekTime)try{e.currentTime=this._pendingSeekTime,this._pendingSeekTime=null}catch(e){}}},{key:"detachMediaElement",value:function value(){this._mediaElement&&(this._mediaElement.src="",this._mediaElement.removeAttribute("src"),this._mediaElement.removeEventListener("loadedmetadata",this.e.onvLoadedMetadata),this._mediaElement=null),null!=this._statisticsReporter&&(window.clearInterval(this._statisticsReporter),this._statisticsReporter=null)}},{key:"load",value:function value(){if(!this._mediaElement)throw new f.IllegalStateException("HTMLMediaElement must be attached before load()!");this._mediaElement.src=this._mediaDataSource.url,this._mediaElement.readyState>0&&(this._mediaElement.currentTime=0),this._mediaElement.preload="auto",this._mediaElement.load(),this._statisticsReporter=window.setInterval(this._reportStatisticsInfo.bind(this),this._config.statisticsInfoReportInterval)}},{key:"unload",value:function value(){this._mediaElement&&(this._mediaElement.src="",this._mediaElement.removeAttribute("src")),null!=this._statisticsReporter&&(window.clearInterval(this._statisticsReporter),this._statisticsReporter=null)}},{key:"play",value:function value(){return this._mediaElement.play()}},{key:"pause",value:function value(){this._mediaElement.pause()}},{key:"_onvLoadedMetadata",value:function value(e){null!=this._pendingSeekTime&&(this._mediaElement.currentTime=this._pendingSeekTime,this._pendingSeekTime=null),this._emitter.emit(d.default.MEDIA_INFO,this.mediaInfo)}},{key:"_reportStatisticsInfo",value:function value(){this._emitter.emit(d.default.STATISTICS_INFO,this.statisticsInfo)}},{key:"type",get:function get(){return this._type}},{key:"buffered",get:function get(){return this._mediaElement.buffered}},{key:"duration",get:function get(){return this._mediaElement.duration}},{key:"volume",get:function get(){return this._mediaElement.volume},set:function set(e){this._mediaElement.volume=e}},{key:"muted",get:function get(){return this._mediaElement.muted},set:function set(e){this._mediaElement.muted=e}},{key:"currentTime",get:function get(){return this._mediaElement?this._mediaElement.currentTime:0},set:function set(e){this._mediaElement?this._mediaElement.currentTime=e:this._pendingSeekTime=e}},{key:"mediaInfo",get:function get(){var e=this._mediaElement instanceof HTMLAudioElement?"audio/":"video/",t={mimeType:e+this._mediaDataSource.type};return this._mediaElement&&(t.duration=Math.floor(1e3*this._mediaElement.duration),this._mediaElement instanceof HTMLVideoElement&&(t.width=this._mediaElement.videoWidth,t.height=this._mediaElement.videoHeight)),t}},{key:"statisticsInfo",get:function get(){var e={playerType:this._type,url:this._mediaDataSource.url};if(!(this._mediaElement instanceof HTMLVideoElement))return e;var t=!0,n=0,i=0;if(this._mediaElement.getVideoPlaybackQuality){var r=this._mediaElement.getVideoPlaybackQuality();n=r.totalVideoFrames,i=r.droppedVideoFrames}else void 0!=this._mediaElement.webkitDecodedFrameCount?(n=this._mediaElement.webkitDecodedFrameCount,i=this._mediaElement.webkitDroppedFrameCount):t=!1;return t&&(e.decodedFrames=n,e.droppedFrames=i),e}}]),e}();n.default=c},{"../config.js":5,"../utils/exception.js":41,"./player-events.js":36,events:2}],35:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.ErrorDetails=n.ErrorTypes=void 0;var i=e("../io/loader.js"),r=e("../demux/demux-errors.js"),s=function(e){return e&&e.__esModule?e:{default:e}}(r);n.ErrorTypes={NETWORK_ERROR:"NetworkError",MEDIA_ERROR:"MediaError",OTHER_ERROR:"OtherError"},n.ErrorDetails={NETWORK_EXCEPTION:i.LoaderErrors.EXCEPTION,NETWORK_STATUS_CODE_INVALID:i.LoaderErrors.HTTP_STATUS_CODE_INVALID,NETWORK_TIMEOUT:i.LoaderErrors.CONNECTING_TIMEOUT,NETWORK_UNRECOVERABLE_EARLY_EOF:i.LoaderErrors.UNRECOVERABLE_EARLY_EOF,MEDIA_MSE_ERROR:"MediaMSEError",MEDIA_FORMAT_ERROR:s.default.FORMAT_ERROR,MEDIA_FORMAT_UNSUPPORTED:s.default.FORMAT_UNSUPPORTED,MEDIA_CODEC_UNSUPPORTED:s.default.CODEC_UNSUPPORTED}},{"../demux/demux-errors.js":16,"../io/loader.js":24}],36:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var i={ERROR:"error",LOADING_COMPLETE:"loading_complete",RECOVERED_EARLY_EOF:"recovered_early_eof",MEDIA_INFO:"media_info",METADATA_ARRIVED:"metadata_arrived",SCRIPTDATA_ARRIVED:"scriptdata_arrived",STATISTICS_INFO:"statistics_info"};n.default=i},{}],37:[function(e,t,n){"use strict";function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(n,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),s=function(){function e(){i(this,e)}return r(e,null,[{key:"getSilentFrame",value:function value(e,t){if("mp4a.40.2"===e){if(1===t)return new Uint8Array([0,200,0,128,35,128]);if(2===t)return new Uint8Array([33,0,73,144,2,25,0,35,128]);if(3===t)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,142]);if(4===t)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,128,44,128,8,2,56]);if(5===t)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,56]);if(6===t)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,0,178,0,32,8,224])}else{if(1===t)return new Uint8Array([1,64,34,128,163,78,230,128,186,8,0,0,0,28,6,241,193,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(2===t)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(3===t)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94])}return null}}]),e}();n.default=s},{}],38:[function(e,t,n){"use strict";function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(n,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),s=function(){function e(){i(this,e)}return r(e,null,[{key:"init",value:function value(){e.types={avc1:[],avcC:[],btrt:[],dinf:[],dref:[],esds:[],ftyp:[],hdlr:[],mdat:[],mdhd:[],mdia:[],mfhd:[],minf:[],moof:[],moov:[],mp4a:[],mvex:[],mvhd:[],sdtp:[],stbl:[],stco:[],stsc:[],stsd:[],stsz:[],stts:[],tfdt:[],tfhd:[],traf:[],trak:[],trun:[],trex:[],tkhd:[],vmhd:[],smhd:[],".mp3":[]};for(var t in e.types){e.types.hasOwnProperty(t)&&(e.types[t]=[t.charCodeAt(0),t.charCodeAt(1),t.charCodeAt(2),t.charCodeAt(3)])}var n=e.constants={};n.FTYP=new Uint8Array([105,115,111,109,0,0,0,1,105,115,111,109,97,118,99,49]),n.STSD_PREFIX=new Uint8Array([0,0,0,0,0,0,0,1]),n.STTS=new Uint8Array([0,0,0,0,0,0,0,0]),n.STSC=n.STCO=n.STTS,n.STSZ=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0]),n.HDLR_VIDEO=new Uint8Array([0,0,0,0,0,0,0,0,118,105,100,101,0,0,0,0,0,0,0,0,0,0,0,0,86,105,100,101,111,72,97,110,100,108,101,114,0]),n.HDLR_AUDIO=new Uint8Array([0,0,0,0,0,0,0,0,115,111,117,110,0,0,0,0,0,0,0,0,0,0,0,0,83,111,117,110,100,72,97,110,100,108,101,114,0]),n.DREF=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,12,117,114,108,32,0,0,0,1]),n.SMHD=new Uint8Array([0,0,0,0,0,0,0,0]),n.VMHD=new Uint8Array([0,0,0,1,0,0,0,0,0,0,0,0])}},{key:"box",value:function value(e){for(var t=8,n=null,i=Array.prototype.slice.call(arguments,1),r=i.length,s=0;s<r;s++){t+=i[s].byteLength}n=new Uint8Array(t),n[0]=t>>>24&255,n[1]=t>>>16&255,n[2]=t>>>8&255,n[3]=255&t,n.set(e,4);for(var a=8,o=0;o<r;o++){n.set(i[o],a),a+=i[o].byteLength}return n}},{key:"generateInitSegment",value:function value(t){var n=e.box(e.types.ftyp,e.constants.FTYP),i=e.moov(t),r=new Uint8Array(n.byteLength+i.byteLength);return r.set(n,0),r.set(i,n.byteLength),r}},{key:"moov",value:function value(t){var n=e.mvhd(t.timescale,t.duration),i=e.trak(t),r=e.mvex(t);return e.box(e.types.moov,n,i,r)}},{key:"mvhd",value:function value(t,n){return e.box(e.types.mvhd,new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,t>>>24&255,t>>>16&255,t>>>8&255,255&t,n>>>24&255,n>>>16&255,n>>>8&255,255&n,0,1,0,0,1,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,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255]))}},{key:"trak",value:function value(t){return e.box(e.types.trak,e.tkhd(t),e.mdia(t))}},{key:"tkhd",value:function value(t){var n=t.id,i=t.duration,r=t.presentWidth,s=t.presentHeight;return e.box(e.types.tkhd,new Uint8Array([0,0,0,7,0,0,0,0,0,0,0,0,n>>>24&255,n>>>16&255,n>>>8&255,255&n,0,0,0,0,i>>>24&255,i>>>16&255,i>>>8&255,255&i,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,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,r>>>8&255,255&r,0,0,s>>>8&255,255&s,0,0]))}},{key:"mdia",value:function value(t){return e.box(e.types.mdia,e.mdhd(t),e.hdlr(t),e.minf(t))}},{key:"mdhd",value:function value(t){var n=t.timescale,i=t.duration;return e.box(e.types.mdhd,new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,n>>>24&255,n>>>16&255,n>>>8&255,255&n,i>>>24&255,i>>>16&255,i>>>8&255,255&i,85,196,0,0]))}},{key:"hdlr",value:function value(t){var n=null;return n="audio"===t.type?e.constants.HDLR_AUDIO:e.constants.HDLR_VIDEO,e.box(e.types.hdlr,n)}},{key:"minf",value:function value(t){var n=null;return n="audio"===t.type?e.box(e.types.smhd,e.constants.SMHD):e.box(e.types.vmhd,e.constants.VMHD),e.box(e.types.minf,n,e.dinf(),e.stbl(t))}},{key:"dinf",value:function value(){return e.box(e.types.dinf,e.box(e.types.dref,e.constants.DREF))}},{key:"stbl",value:function value(t){return e.box(e.types.stbl,e.stsd(t),e.box(e.types.stts,e.constants.STTS),e.box(e.types.stsc,e.constants.STSC),e.box(e.types.stsz,e.constants.STSZ),e.box(e.types.stco,e.constants.STCO))}},{key:"stsd",value:function value(t){return"audio"===t.type?"mp3"===t.codec?e.box(e.types.stsd,e.constants.STSD_PREFIX,e.mp3(t)):e.box(e.types.stsd,e.constants.STSD_PREFIX,e.mp4a(t)):e.box(e.types.stsd,e.constants.STSD_PREFIX,e.avc1(t))}},{key:"mp3",value:function value(t){var n=t.channelCount,i=t.audioSampleRate,r=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,n,0,16,0,0,0,0,i>>>8&255,255&i,0,0]);return e.box(e.types[".mp3"],r)}},{key:"mp4a",value:function value(t){var n=t.channelCount,i=t.audioSampleRate,r=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,n,0,16,0,0,0,0,i>>>8&255,255&i,0,0]);return e.box(e.types.mp4a,r,e.esds(t))}},{key:"esds",value:function value(t){var n=t.config||[],i=n.length,r=new Uint8Array([0,0,0,0,3,23+i,0,1,0,4,15+i,64,21,0,0,0,0,0,0,0,0,0,0,0,5].concat([i]).concat(n).concat([6,1,2]));return e.box(e.types.esds,r)}},{key:"avc1",value:function value(t){var n=t.avcc,i=t.codecWidth,r=t.codecHeight,s=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,i>>>8&255,255&i,r>>>8&255,255&r,0,72,0,0,0,72,0,0,0,0,0,0,0,1,10,120,113,113,47,102,108,118,46,106,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,255,255]);return e.box(e.types.avc1,s,e.box(e.types.avcC,n))}},{key:"mvex",value:function value(t){return e.box(e.types.mvex,e.trex(t))}},{key:"trex",value:function value(t){var n=t.id,i=new Uint8Array([0,0,0,0,n>>>24&255,n>>>16&255,n>>>8&255,255&n,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1]);return e.box(e.types.trex,i)}},{key:"moof",value:function value(t,n){return e.box(e.types.moof,e.mfhd(t.sequenceNumber),e.traf(t,n))}},{key:"mfhd",value:function value(t){var n=new Uint8Array([0,0,0,0,t>>>24&255,t>>>16&255,t>>>8&255,255&t]);return e.box(e.types.mfhd,n)}},{key:"traf",value:function value(t,n){var i=t.id,r=e.box(e.types.tfhd,new Uint8Array([0,0,0,0,i>>>24&255,i>>>16&255,i>>>8&255,255&i])),s=e.box(e.types.tfdt,new Uint8Array([0,0,0,0,n>>>24&255,n>>>16&255,n>>>8&255,255&n])),a=e.sdtp(t),o=e.trun(t,a.byteLength+16+16+8+16+8+8);return e.box(e.types.traf,r,s,o,a)}},{key:"sdtp",value:function value(t){for(var n=t.samples||[],i=n.length,r=new Uint8Array(4+i),s=0;s<i;s++){var a=n[s].flags;r[s+4]=a.isLeading<<6|a.dependsOn<<4|a.isDependedOn<<2|a.hasRedundancy}return e.box(e.types.sdtp,r)}},{key:"trun",value:function value(t,n){var i=t.samples||[],r=i.length,s=12+16*r,a=new Uint8Array(s);n+=8+s,a.set([0,0,15,1,r>>>24&255,r>>>16&255,r>>>8&255,255&r,n>>>24&255,n>>>16&255,n>>>8&255,255&n],0);for(var o=0;o<r;o++){var u=i[o].duration,l=i[o].size,d=i[o].flags,h=i[o].cts;a.set([u>>>24&255,u>>>16&255,u>>>8&255,255&u,l>>>24&255,l>>>16&255,l>>>8&255,255&l,d.isLeading<<2|d.dependsOn,d.isDependedOn<<6|d.hasRedundancy<<4|d.isNonSync,0,0,h>>>24&255,h>>>16&255,h>>>8&255,255&h],12+16*o)}return e.box(e.types.trun,a)}},{key:"mdat",value:function value(t){return e.box(e.types.mdat,t)}}]),e}();s.init(),n.default=s},{}],39:[function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(n,"__esModule",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),a=e("../utils/logger.js"),o=i(a),u=e("./mp4-generator.js"),l=i(u),d=e("./aac-silent.js"),h=i(d),f=e("../utils/browser.js"),c=i(f),_=e("../core/media-segment-info.js"),m=e("../utils/exception.js"),p=function(){function e(t){r(this,e),this.TAG="MP4Remuxer",this._config=t,this._isLive=!0===t.isLive,this._dtsBase=-1,this._dtsBaseInited=!1,this._audioDtsBase=1/0,this._videoDtsBase=1/0,this._audioNextDts=void 0,this._videoNextDts=void 0,this._audioStashedLastSample=null,this._videoStashedLastSample=null,this._audioMeta=null,this._videoMeta=null,this._audioSegmentInfoList=new _.MediaSegmentInfoList("audio"),this._videoSegmentInfoList=new _.MediaSegmentInfoList("video"),this._onInitSegment=null,this._onMediaSegment=null,this._forceFirstIDR=!(!c.default.chrome||!(c.default.version.major<50||50===c.default.version.major&&c.default.version.build<2661)),this._fillSilentAfterSeek=c.default.msedge||c.default.msie,this._mp3UseMpegAudio=!c.default.firefox,this._fillAudioTimestampGap=this._config.fixAudioTimestampGap}return s(e,[{key:"destroy",value:function value(){this._dtsBase=-1,this._dtsBaseInited=!1,this._audioMeta=null,this._videoMeta=null,this._audioSegmentInfoList.clear(),this._audioSegmentInfoList=null,this._videoSegmentInfoList.clear(),this._videoSegmentInfoList=null,this._onInitSegment=null,this._onMediaSegment=null}},{key:"bindDataSource",value:function value(e){return e.onDataAvailable=this.remux.bind(this),e.onTrackMetadata=this._onTrackMetadataReceived.bind(this),this}},{key:"insertDiscontinuity",value:function value(){this._audioNextDts=this._videoNextDts=void 0}},{key:"seek",value:function value(e){this._audioStashedLastSample=null,this._videoStashedLastSample=null,this._videoSegmentInfoList.clear(),this._audioSegmentInfoList.clear()}},{key:"remux",value:function value(e,t){if(!this._onMediaSegment)throw new m.IllegalStateException("MP4Remuxer: onMediaSegment callback must be specificed!");this._dtsBaseInited||this._calculateDtsBase(e,t),this._remuxVideo(t),this._remuxAudio(e)}},{key:"_onTrackMetadataReceived",value:function value(e,t){var n=null,i="mp4",r=t.codec;if("audio"===e)this._audioMeta=t,"mp3"===t.codec&&this._mp3UseMpegAudio?(i="mpeg",r="",n=new Uint8Array):n=l.default.generateInitSegment(t);else{if("video"!==e)return;this._videoMeta=t,n=l.default.generateInitSegment(t)}if(!this._onInitSegment)throw new m.IllegalStateException("MP4Remuxer: onInitSegment callback must be specified!");this._onInitSegment(e,{type:e,data:n.buffer,codec:r,container:e+"/"+i,mediaDuration:t.duration})}},{key:"_calculateDtsBase",value:function value(e,t){this._dtsBaseInited||(e.samples&&e.samples.length&&(this._audioDtsBase=e.samples[0].dts),t.samples&&t.samples.length&&(this._videoDtsBase=t.samples[0].dts),this._dtsBase=Math.min(this._audioDtsBase,this._videoDtsBase),this._dtsBaseInited=!0)}},{key:"flushStashedSamples",value:function value(){var e=this._videoStashedLastSample,t=this._audioStashedLastSample,n={type:"video",id:1,sequenceNumber:0,samples:[],length:0};null!=e&&(n.samples.push(e),n.length=e.length);var i={type:"audio",id:2,sequenceNumber:0,samples:[],length:0};null!=t&&(i.samples.push(t),i.length=t.length),this._videoStashedLastSample=null,this._audioStashedLastSample=null,this._remuxVideo(n,!0),this._remuxAudio(i,!0)}},{key:"_remuxAudio",value:function value(e,t){if(null!=this._audioMeta){var n=e,i=n.samples,r=void 0,s=-1,a=-1,u=this._audioMeta.refSampleDuration,d="mp3"===this._audioMeta.codec&&this._mp3UseMpegAudio,f=this._dtsBaseInited&&void 0===this._audioNextDts,m=!1;if(i&&0!==i.length&&(1!==i.length||t)){var p=0,v=null,g=0;d?(p=0,g=n.length):(p=8,g=8+n.length);var y=null;if(i.length>1&&(y=i.pop(),g-=y.length),null!=this._audioStashedLastSample){var b=this._audioStashedLastSample;this._audioStashedLastSample=null,i.unshift(b),g+=b.length}null!=y&&(this._audioStashedLastSample=y);var E=i[0].dts-this._dtsBase;if(this._audioNextDts)r=E-this._audioNextDts;else if(this._audioSegmentInfoList.isEmpty())r=0,this._fillSilentAfterSeek&&!this._videoSegmentInfoList.isEmpty()&&"mp3"!==this._audioMeta.originalCodec&&(m=!0);else{var S=this._audioSegmentInfoList.getLastSampleBefore(E);if(null!=S){var k=E-(S.originalDts+S.duration);k<=3&&(k=0);var L=S.dts+S.duration+k;r=E-L}else r=0}if(m){var R=E-r,w=this._videoSegmentInfoList.getLastSegmentBefore(E);if(null!=w&&w.beginDts<R){var A=h.default.getSilentFrame(this._audioMeta.originalCodec,this._audioMeta.channelCount);if(A){var T=w.beginDts,O=R-w.beginDts;o.default.v(this.TAG,"InsertPrefixSilentAudio: dts: "+T+", duration: "+O),i.unshift({unit:A,dts:T,pts:T}),g+=A.byteLength}}else m=!1}for(var C=[],I=0;I<i.length;I++){var D=i[I],x=D.unit,M=D.dts-this._dtsBase,j=M-r;-1===s&&(s=j);var B=0;if(I!==i.length-1){B=i[I+1].dts-this._dtsBase-r-j}else if(null!=y){var P=y.dts-this._dtsBase-r;B=P-j}else B=C.length>=1?C[C.length-1].duration:Math.floor(u);var U=!1,N=null;if(B>1.5*u&&"mp3"!==this._audioMeta.codec&&this._fillAudioTimestampGap&&!c.default.safari){U=!0;var F=Math.abs(B-u),G=Math.ceil(F/u),V=j+u;o.default.w(this.TAG,"Large audio timestamp gap detected, may cause AV sync to drift. Silent frames will be generated to avoid unsync.\ndts: "+(j+B)+" ms, expected: "+(j+Math.round(u))+" ms, delta: "+Math.round(F)+" ms, generate: "+G+" frames");var z=h.default.getSilentFrame(this._audioMeta.originalCodec,this._audioMeta.channelCount);null==z&&(o.default.w(this.TAG,"Unable to generate silent frame for "+this._audioMeta.originalCodec+" with "+this._audioMeta.channelCount+" channels, repeat last frame"),z=x),N=[];for(var H=0;H<G;H++){var q=Math.round(V);if(N.length>0){var K=N[N.length-1];K.duration=q-K.dts}var W={dts:q,pts:q,cts:0,unit:z,size:z.byteLength,duration:0,originalDts:M,flags:{isLeading:0,dependsOn:1,isDependedOn:0,hasRedundancy:0}};N.push(W),g+=W.size,V+=u}var X=N[N.length-1];X.duration=j+B-X.dts,B=Math.round(u)}C.push({dts:j,pts:j,cts:0,unit:D.unit,size:D.unit.byteLength,duration:B,originalDts:M,flags:{isLeading:0,dependsOn:1,isDependedOn:0,hasRedundancy:0}}),U&&C.push.apply(C,N)}d?v=new Uint8Array(g):(v=new Uint8Array(g),v[0]=g>>>24&255,v[1]=g>>>16&255,v[2]=g>>>8&255,v[3]=255&g,v.set(l.default.types.mdat,4));for(var Y=0;Y<C.length;Y++){var Z=C[Y].unit;v.set(Z,p),p+=Z.byteLength}var Q=C[C.length-1];a=Q.dts+Q.duration,this._audioNextDts=a;var J=new _.MediaSegmentInfo;J.beginDts=s,J.endDts=a,J.beginPts=s,J.endPts=a,J.originalBeginDts=C[0].originalDts,J.originalEndDts=Q.originalDts+Q.duration,J.firstSample=new _.SampleInfo(C[0].dts,C[0].pts,C[0].duration,C[0].originalDts,!1),J.lastSample=new _.SampleInfo(Q.dts,Q.pts,Q.duration,Q.originalDts,!1),this._isLive||this._audioSegmentInfoList.append(J),n.samples=C,n.sequenceNumber++;var $=null;$=d?new Uint8Array:l.default.moof(n,s),n.samples=[],n.length=0;var ee={type:"audio",data:this._mergeBoxes($,v).buffer,sampleCount:C.length,info:J};d&&f&&(ee.timestampOffset=s),this._onMediaSegment("audio",ee)}}}},{key:"_remuxVideo",value:function value(e,t){if(null!=this._videoMeta){var n=e,i=n.samples,r=void 0,s=-1,a=-1,o=-1,u=-1;if(i&&0!==i.length&&(1!==i.length||t)){var d=8,h=null,f=8+e.length,c=null;if(i.length>1&&(c=i.pop(),f-=c.length),null!=this._videoStashedLastSample){var m=this._videoStashedLastSample;this._videoStashedLastSample=null,i.unshift(m),f+=m.length}null!=c&&(this._videoStashedLastSample=c);var p=i[0].dts-this._dtsBase;if(this._videoNextDts)r=p-this._videoNextDts;else if(this._videoSegmentInfoList.isEmpty())r=0;else{var v=this._videoSegmentInfoList.getLastSampleBefore(p);if(null!=v){var g=p-(v.originalDts+v.duration);g<=3&&(g=0);var y=v.dts+v.duration+g;r=p-y}else r=0}for(var b=new _.MediaSegmentInfo,E=[],S=0;S<i.length;S++){var k=i[S],L=k.dts-this._dtsBase,R=k.isKeyframe,w=L-r,A=k.cts,T=w+A;-1===s&&(s=w,o=T);var O=0;if(S!==i.length-1){O=i[S+1].dts-this._dtsBase-r-w}else if(null!=c){var C=c.dts-this._dtsBase-r;O=C-w}else O=E.length>=1?E[E.length-1].duration:Math.floor(this._videoMeta.refSampleDuration);if(R){var I=new _.SampleInfo(w,T,O,k.dts,!0);I.fileposition=k.fileposition,b.appendSyncPoint(I)}E.push({dts:w,pts:T,cts:A,units:k.units,size:k.length,isKeyframe:R,duration:O,originalDts:L,flags:{isLeading:0,dependsOn:R?2:1,isDependedOn:R?1:0,hasRedundancy:0,isNonSync:R?0:1}})}h=new Uint8Array(f),h[0]=f>>>24&255,h[1]=f>>>16&255,h[2]=f>>>8&255,h[3]=255&f,h.set(l.default.types.mdat,4);for(var D=0;D<E.length;D++){for(var x=E[D].units;x.length;){var M=x.shift(),j=M.data;h.set(j,d),d+=j.byteLength}}var B=E[E.length-1];if(a=B.dts+B.duration,u=B.pts+B.duration,this._videoNextDts=a,b.beginDts=s,b.endDts=a,b.beginPts=o,b.endPts=u,b.originalBeginDts=E[0].originalDts,b.originalEndDts=B.originalDts+B.duration,b.firstSample=new _.SampleInfo(E[0].dts,E[0].pts,E[0].duration,E[0].originalDts,E[0].isKeyframe),b.lastSample=new _.SampleInfo(B.dts,B.pts,B.duration,B.originalDts,B.isKeyframe),this._isLive||this._videoSegmentInfoList.append(b),n.samples=E,n.sequenceNumber++,this._forceFirstIDR){var P=E[0].flags;P.dependsOn=2,P.isNonSync=0}var U=l.default.moof(n,s);n.samples=[],n.length=0,this._onMediaSegment("video",{type:"video",data:this._mergeBoxes(U,h).buffer,sampleCount:E.length,info:b})}}}},{key:"_mergeBoxes",value:function value(e,t){var n=new Uint8Array(e.byteLength+t.byteLength);return n.set(e,0),n.set(t,e.byteLength),n}},{key:"onInitSegment",get:function get(){return this._onInitSegment},set:function set(e){this._onInitSegment=e}},{key:"onMediaSegment",get:function get(){return this._onMediaSegment},set:function set(e){this._onMediaSegment=e}}]),e}();n.default=p},{"../core/media-segment-info.js":8,"../utils/browser.js":40,"../utils/exception.js":41,"../utils/logger.js":42,"./aac-silent.js":37,"./mp4-generator.js":38}],40:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var i={};!function(){var e=self.navigator.userAgent.toLowerCase(),t=/(edge)\/([\w.]+)/.exec(e)||/(opr)[\/]([\w.]+)/.exec(e)||/(chrome)[ \/]([\w.]+)/.exec(e)||/(iemobile)[\/]([\w.]+)/.exec(e)||/(version)(applewebkit)[ \/]([\w.]+).*(safari)[ \/]([\w.]+)/.exec(e)||/(webkit)[ \/]([\w.]+).*(version)[ \/]([\w.]+).*(safari)[ \/]([\w.]+)/.exec(e)||/(webkit)[ \/]([\w.]+)/.exec(e)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(e)||/(msie) ([\w.]+)/.exec(e)||e.indexOf("trident")>=0&&/(rv)(?::| )([\w.]+)/.exec(e)||e.indexOf("compatible")<0&&/(firefox)[ \/]([\w.]+)/.exec(e)||[],n=/(ipad)/.exec(e)||/(ipod)/.exec(e)||/(windows phone)/.exec(e)||/(iphone)/.exec(e)||/(kindle)/.exec(e)||/(android)/.exec(e)||/(windows)/.exec(e)||/(mac)/.exec(e)||/(linux)/.exec(e)||/(cros)/.exec(e)||[],r={browser:t[5]||t[3]||t[1]||"",version:t[2]||t[4]||"0",majorVersion:t[4]||t[2]||"0",platform:n[0]||""},s={};if(r.browser){s[r.browser]=!0;var a=r.majorVersion.split(".");s.version={major:parseInt(r.majorVersion,10),string:r.version},a.length>1&&(s.version.minor=parseInt(a[1],10)),a.length>2&&(s.version.build=parseInt(a[2],10))}r.platform&&(s[r.platform]=!0),(s.chrome||s.opr||s.safari)&&(s.webkit=!0),(s.rv||s.iemobile)&&(s.rv&&delete s.rv,r.browser="msie",s.msie=!0),s.edge&&(delete s.edge,r.browser="msedge",s.msedge=!0),s.opr&&(r.browser="opera",s.opera=!0),s.safari&&s.android&&(r.browser="android",s.android=!0),s.name=r.browser,s.platform=r.platform;for(var o in i){i.hasOwnProperty(o)&&delete i[o]}Object.assign(i,s)}(),n.default=i},{}],41:[function(e,t,n){"use strict";function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=(typeof t==="undefined"?"undefined":_typeof(t))&&"function"!=typeof t?e:t}function r(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+(typeof t==="undefined"?"undefined":_typeof(t)));e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function s(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(n,"__esModule",{value:!0});var a=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),o=n.RuntimeException=function(){function e(t){s(this,e),this._message=t}return a(e,[{key:"toString",value:function value(){return this.name+": "+this.message}},{key:"name",get:function get(){return"RuntimeException"}},{key:"message",get:function get(){return this._message}}]),e}();n.IllegalStateException=function(e){function t(e){return s(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e))}return r(t,e),a(t,[{key:"name",get:function get(){return"IllegalStateException"}}]),t}(o),n.InvalidArgumentException=function(e){function t(e){return s(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e))}return r(t,e),a(t,[{key:"name",get:function get(){return"InvalidArgumentException"}}]),t}(o),n.NotImplementedException=function(e){function t(e){return s(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e))}return r(t,e),a(t,[{key:"name",get:function get(){return"NotImplementedException"}}]),t}(o)},{}],42:[function(e,t,n){"use strict";function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(n,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),s=e("events"),a=function(e){return e&&e.__esModule?e:{default:e}}(s),o=function(){function e(){i(this,e)}return r(e,null,[{key:"e",value:function value(t,n){t&&!e.FORCE_GLOBAL_TAG||(t=e.GLOBAL_TAG);var i="["+t+"] > "+n;e.ENABLE_CALLBACK&&e.emitter.emit("log","error",i),e.ENABLE_ERROR&&(console.error?console.error(i):console.warn?console.warn(i):console.log(i))}},{key:"i",value:function value(t,n){t&&!e.FORCE_GLOBAL_TAG||(t=e.GLOBAL_TAG);var i="["+t+"] > "+n;e.ENABLE_CALLBACK&&e.emitter.emit("log","info",i),e.ENABLE_INFO&&(console.info?console.info(i):console.log(i))}},{key:"w",value:function value(t,n){t&&!e.FORCE_GLOBAL_TAG||(t=e.GLOBAL_TAG);var i="["+t+"] > "+n;e.ENABLE_CALLBACK&&e.emitter.emit("log","warn",i),e.ENABLE_WARN&&(console.warn?console.warn(i):console.log(i))}},{key:"d",value:function value(t,n){t&&!e.FORCE_GLOBAL_TAG||(t=e.GLOBAL_TAG);var i="["+t+"] > "+n;e.ENABLE_CALLBACK&&e.emitter.emit("log","debug",i),e.ENABLE_DEBUG&&(console.debug?console.debug(i):console.log(i))}},{key:"v",value:function value(t,n){t&&!e.FORCE_GLOBAL_TAG||(t=e.GLOBAL_TAG);var i="["+t+"] > "+n;e.ENABLE_CALLBACK&&e.emitter.emit("log","verbose",i),e.ENABLE_VERBOSE&&console.log(i)}}]),e}();o.GLOBAL_TAG="flv.js",o.FORCE_GLOBAL_TAG=!1,o.ENABLE_ERROR=!0,o.ENABLE_INFO=!0,o.ENABLE_WARN=!0,o.ENABLE_DEBUG=!0,o.ENABLE_VERBOSE=!0,o.ENABLE_CALLBACK=!1,o.emitter=new a.default,n.default=o},{events:2}],43:[function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(n,"__esModule",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),a=e("events"),o=i(a),u=e("./logger.js"),l=i(u),d=function(){function e(){r(this,e)}return s(e,null,[{key:"getConfig",value:function value(){return{globalTag:l.default.GLOBAL_TAG,forceGlobalTag:l.default.FORCE_GLOBAL_TAG,enableVerbose:l.default.ENABLE_VERBOSE,enableDebug:l.default.ENABLE_DEBUG,enableInfo:l.default.ENABLE_INFO,enableWarn:l.default.ENABLE_WARN,enableError:l.default.ENABLE_ERROR,enableCallback:l.default.ENABLE_CALLBACK}}},{key:"applyConfig",value:function value(e){l.default.GLOBAL_TAG=e.globalTag,l.default.FORCE_GLOBAL_TAG=e.forceGlobalTag,l.default.ENABLE_VERBOSE=e.enableVerbose,l.default.ENABLE_DEBUG=e.enableDebug,l.default.ENABLE_INFO=e.enableInfo,l.default.ENABLE_WARN=e.enableWarn,l.default.ENABLE_ERROR=e.enableError,l.default.ENABLE_CALLBACK=e.enableCallback}},{key:"_notifyChange",value:function value(){var t=e.emitter;if(t.listenerCount("change")>0){var n=e.getConfig();t.emit("change",n)}}},{key:"registerListener",value:function value(t){e.emitter.addListener("change",t)}},{key:"removeListener",value:function value(t){e.emitter.removeListener("change",t)}},{key:"addLogListener",value:function value(t){l.default.emitter.addListener("log",t),l.default.emitter.listenerCount("log")>0&&(l.default.ENABLE_CALLBACK=!0,e._notifyChange())}},{key:"removeLogListener",value:function value(t){l.default.emitter.removeListener("log",t),0===l.default.emitter.listenerCount("log")&&(l.default.ENABLE_CALLBACK=!1,e._notifyChange())}},{key:"forceGlobalTag",get:function get(){return l.default.FORCE_GLOBAL_TAG},set:function set(t){l.default.FORCE_GLOBAL_TAG=t,e._notifyChange()}},{key:"globalTag",get:function get(){return l.default.GLOBAL_TAG},set:function set(t){l.default.GLOBAL_TAG=t,e._notifyChange()}},{key:"enableAll",get:function get(){return l.default.ENABLE_VERBOSE&&l.default.ENABLE_DEBUG&&l.default.ENABLE_INFO&&l.default.ENABLE_WARN&&l.default.ENABLE_ERROR},set:function set(t){l.default.ENABLE_VERBOSE=t,l.default.ENABLE_DEBUG=t,l.default.ENABLE_INFO=t,l.default.ENABLE_WARN=t,l.default.ENABLE_ERROR=t,e._notifyChange()}},{key:"enableDebug",get:function get(){return l.default.ENABLE_DEBUG},set:function set(t){l.default.ENABLE_DEBUG=t,e._notifyChange()}},{key:"enableVerbose",get:function get(){return l.default.ENABLE_VERBOSE},set:function set(t){l.default.ENABLE_VERBOSE=t,e._notifyChange()}},{key:"enableInfo",get:function get(){return l.default.ENABLE_INFO},set:function set(t){l.default.ENABLE_INFO=t,e._notifyChange()}},{key:"enableWarn",get:function get(){return l.default.ENABLE_WARN},set:function set(t){l.default.ENABLE_WARN=t,e._notifyChange()}},{key:"enableError",get:function get(){return l.default.ENABLE_ERROR},set:function set(t){l.default.ENABLE_ERROR=t,e._notifyChange()}}]),e}();d.emitter=new o.default,n.default=d},{"./logger.js":42,events:2}],44:[function(e,t,n){"use strict";function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(n,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),s=function(){function t(){i(this,t)}return r(t,null,[{key:"install",value:function value(){Object.setPrototypeOf=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},Object.assign=Object.assign||function(e){if(void 0===e||null===e)throw new TypeError("Cannot convert undefined or null to object");for(var t=Object(e),n=1;n<arguments.length;n++){var i=arguments[n];if(void 0!==i&&null!==i)for(var r in i){i.hasOwnProperty(r)&&(t[r]=i[r])}}return t},"function"!=typeof self.Promise&&e("es6-promise").polyfill()}}]),t}();s.install(),n.default=s},{"es6-promise":1}],45:[function(e,t,n){"use strict";function i(e,t,n){var i=e;if(t+n<i.length){for(;n--;){if(128!=(192&i[++t]))return!1}return!0}return!1}function r(e){for(var t=[],n=e,r=0,s=e.length;r<s;){if(n[r]<128)t.push(String.fromCharCode(n[r])),++r;else{if(n[r]<192);else if(n[r]<224){if(i(n,r,1)){var a=(31&n[r])<<6|63&n[r+1];if(a>=128){t.push(String.fromCharCode(65535&a)),r+=2;continue}}}else if(n[r]<240){if(i(n,r,2)){var o=(15&n[r])<<12|(63&n[r+1])<<6|63&n[r+2];if(o>=2048&&55296!=(63488&o)){t.push(String.fromCharCode(65535&o)),r+=3;continue}}}else if(n[r]<248&&i(n,r,3)){var u=(7&n[r])<<18|(63&n[r+1])<<12|(63&n[r+2])<<6|63&n[r+3];if(u>65536&&u<1114112){u-=65536,t.push(String.fromCharCode(u>>>10|55296)),t.push(String.fromCharCode(1023&u|56320)),r+=4;continue}}t.push(String.fromCharCode(65533)),++r}}return t.join("")}Object.defineProperty(n,"__esModule",{value:!0}),n.default=r},{}]},{},[21])(21)});var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var arguments_=[];var thisProgram="./this.program";var quit_=function(status,toThrow){throw toThrow};var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_HAS_NODE=false;var ENVIRONMENT_IS_SHELL=false;ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_HAS_NODE=typeof process==="object"&&typeof process.versions==="object"&&typeof process.versions.node==="string";ENVIRONMENT_IS_NODE=ENVIRONMENT_HAS_NODE&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;if(ENVIRONMENT_IS_NODE){scriptDirectory=__dirname+"/";var nodeFS;var nodePath;read_=function shell_read(filename,binary){var ret;ret=tryParseAsDataURI(filename);if(!ret){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);ret=nodeFS["readFileSync"](filename)}return binary?ret:ret.toString()};readBinary=function readBinary(filename){var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process["argv"].length>1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);quit_=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){read_=function shell_read(f){var data=tryParseAsDataURI(f);if(data){return intArrayToString(data)}return read(f)}}readBinary=function readBinary(f){var data;data=tryParseAsDataURI(f);if(data){return data}if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit==="function"){quit_=function(status){quit(status)}}if(typeof print!=="undefined"){if(typeof console==="undefined")console={};console.log=print;console.warn=console.error=typeof printErr!=="undefined"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}read_=function shell_read(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText}catch(err){var data=tryParseAsDataURI(url);if(data){return intArrayToString(data)}throw err}};if(ENVIRONMENT_IS_WORKER){readBinary=function readBinary(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}catch(err){var data=tryParseAsDataURI(url);if(data){return data}throw err}}}readAsync=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}var data=tryParseAsDataURI(url);if(data){onload(data.buffer);return}onerror()};xhr.onerror=onerror;xhr.send(null)};setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var STACK_ALIGN=16;function dynamicAlloc(size){var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;if(end>_emscripten_get_heap_size()){abort()}HEAP32[DYNAMICTOP_PTR>>2]=end;return ret}function getNativeTypeSize(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return 4}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0,"getNativeTypeSize invalid bits "+bits+", type "+type);return bits/8}else{return 0}}}}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var jsCallStartIndex=1;var functionPointers=new Array(0);var funcWrappers={};function dynCall(sig,ptr,args){if(args&&args.length){return Module["dynCall_"+sig].apply(null,[ptr].concat(args))}else{return Module["dynCall_"+sig].call(null,ptr)}}var tempRet0=0;var setTempRet0=function(value){tempRet0=value};var getTempRet0=function(){return tempRet0};var GLOBAL_BASE=8;var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];assert(func,"Cannot call unknown function "+ident+", make sure it is exported");return func}function ccall(ident,returnType,argTypes,args,opts){var toC={"string":function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}return ret},"array":function(arr){var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string")return UTF8ToString(ret);if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i<args.length;i++){var converter=toC[argTypes[i]];if(converter){if(stack===0)stack=stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}var ret=func.apply(null,cArgs);ret=convertReturnValue(ret);if(stack!==0)stackRestore(stack);return ret}function cwrap(ident,returnType,argTypes,opts){argTypes=argTypes||[];var numericArgs=argTypes.every(function(type){return type==="number"});var numericRet=returnType!=="string";if(numericRet&&numericArgs&&!opts){return getCFunc(ident)}return function(){return ccall(ident,returnType,argTypes,arguments,opts)}}var ALLOC_NORMAL=0;var ALLOC_NONE=3;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[_malloc,stackAlloc,dynamicAlloc][allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var stop;ptr=ret;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr<stop;ptr+=4){HEAP32[ptr>>2]=0}stop=ret+size;while(ptr<stop){HEAP8[ptr++>>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i<size){var curr=slab[i];type=singleType||types[i];if(type===0){i++;continue}if(type=="i64")type="i32";setValue(ret+i,curr,type);if(previousType!==type){typeSize=getNativeTypeSize(type);previousType=type}i+=typeSize}return ret}function getMemory(size){if(!runtimeInitialized)return dynamicAlloc(size);return _malloc(size)}var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(u8Array,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var endPtr=idx;while(u8Array[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var str="";while(idx<endPtr){var u0=u8Array[idx++];if(!(u0&128)){str+=String.fromCharCode(u0);continue}var u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}var u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u0=(u0&7)<<18|u1<<12|u2<<6|u8Array[idx++]&63}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function allocateUTF8(str){var size=lengthBytesUTF8(str)+1;var ret=_malloc(size);if(ret)stringToUTF8Array(str,HEAP8,ret,size);return ret}function allocateUTF8OnStack(str){var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8Array(str,HEAP8,ret,size);return ret}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i<str.length;++i){HEAP8[buffer++>>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}var PAGE_SIZE=16384;function alignUp(x,multiple){if(x%multiple>0){x+=multiple-x%multiple}return x}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STACK_BASE=1113392,DYNAMIC_BASE=6356272,DYNAMICTOP_PTR=1113360;var INITIAL_TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;if(Module["buffer"]){buffer=Module["buffer"]}else{buffer=new ArrayBuffer(INITIAL_TOTAL_MEMORY)}INITIAL_TOTAL_MEMORY=buffer.byteLength;updateGlobalBufferViews();HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __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 initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){FS.ignorePermissions=false;callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}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_exp=Math.exp;var Math_log=Math.log;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_min=Math.min;var Math_trunc=Math.trunc;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}var tempDouble;var tempI64;var ASM_CONSTS=[function($0){if(typeof NP=="undefined"){NP={}}NP[$0]={}},function($0){var self=SL[$0];if(self&&self.audioContext&&self.audioContext.state=="suspended"){self.audioContext.resume()}},function($0,$1,$2,$3,$4){var self=NP[$0];var ret=self.emit("stats",{"buf":$1,"fps":$2,"abps":$3,"vbps":$4})},function($0,$1,$2){var self=NP[$0];var ret=self.emit("audioInfo",$1,$2)},function($0,$1,$2){var self=NP[$0];var ret=self.emit("videoInfo",$1,$2)},function($0){if(typeof SL=="undefined"){SL={}}SL[$0]={}},function($0){if(typeof SL[$0]=="object"){delete SL[$0]}},function($0){var self=SL[$0];if(self.scriptProcessorNode!=undefined){self.scriptProcessorNode.disconnect();self.scriptProcessorNode=undefined}if(self.audioContext!=undefined){self.audioContext.close();self.audioContext=undefined}if(self.currentOutputBuffer!=undefined){self.currentOutputBuffer=undefined}return 0},function($0){var self=SL[$0];if(typeof AudioContext!="undefined"){self.audioContext=new AudioContext}else if(typeof webkitAudioContext!="undefined"){self.audioContext=new webkitAudioContext}return self.audioContext==undefined?-1:0},function($0){return SL[$0].audioContext.sampleRate},function($0,$1,$2,$3){var self=SL[$3];self.scriptProcessorNode=self.audioContext["createScriptProcessor"]($1,0,$0);self.scriptProcessorNode["onaudioprocess"]=function(e){self.currentOutputBuffer=e["outputBuffer"];dynCall("vi",$2,[$3])};self.scriptProcessorNode["connect"](self.audioContext["destination"]);self.audioContext.resume()},function($0,$1,$2,$3,$4){var self=SL[$0];var channelData=self.currentOutputBuffer.getChannelData(0);if($3==$2){for(var i=0;i<$2;i++){channelData[i]=HEAPF32[$1+(i<<2)>>2]*$4}}else{channelData.fill(0)}}];function _emscripten_asm_const_ii(code,a0){return ASM_CONSTS[code](a0)}function _emscripten_asm_const_iiii(code,a0,a1,a2){return ASM_CONSTS[code](a0,a1,a2)}function _emscripten_asm_const_iiiiii(code,a0,a1,a2,a3,a4){return ASM_CONSTS[code](a0,a1,a2,a3,a4)}function _emscripten_asm_const_iiiiid(code,a0,a1,a2,a3,a4){return ASM_CONSTS[code](a0,a1,a2,a3,a4)}function _emscripten_asm_const_iiiii(code,a0,a1,a2,a3){return ASM_CONSTS[code](a0,a1,a2,a3)}function _get_do_str(){var jsString=document.domain;var lengthBytes=lengthBytesUTF8(jsString)+1;var stringOnWasmHeap=_malloc(lengthBytes);stringToUTF8(jsString,stringOnWasmHeap,lengthBytes+1);return stringOnWasmHeap}__ATINIT__.push({func:function(){___emscripten_environ_constructor()}});memoryInitializer="data:application/octet-stream;base64,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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcXV5fYGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6e3x9fn+AgYKDhIWGh4iJiouMjY6PkJGSk5SVlpeYmZqbnJ2en6ChoqOkpaanqKmqq6ytrq+wsbKztLW2t7i5uru8vb6/wMHCw8TFxsfIycrLzM3Oz9DR0tPU1dbX2Nna29zd3t/g4eLj5OXm5+jp6uvs7e7v8PHy8/T19vf4+fr7/P3+//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AAQgQ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AADgwQAAwP///99BIgAAAFDHAgAdyQIAJ8kCAJQAAAABAAAABQAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAB3JAgBEyQIASckCAAAAAACAAAAAAQAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAB3JAgBqyQIAb8kCAAAAAACAAAAAAgAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAB3JAgCQyQIAlckCAAAAAACAAAAABQAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAB3JAgCsyQIAsMkCAAAAAACAAAAAAgAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAB3JAgDXyQIA3MkCAAAAAACAAAAACQAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAB3JAgDzyQIA98kCAAAAAACAAAAABQAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAB3JAgAnUgMAIsoCAAAAAACAAAAAAwAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAB3JAgA4ygIAPsoCAAAAAACAAAAABAAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAB3JAgBWygIAWcoCAAAAAACAAAAABgAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAB3JAgBuygIAcsoCAAAAAACAAAAABwAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAB3JAgCIygIAjMoCAAAAAACAAAAACAAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAB3JAgCiygIAp8oCAAAAAACAAAAAMgAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAB3JAgC+ygIAAAAAAGwAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAwP///99BAAAAAAAAAADIygIAysoCAIwAAAABAAAADAAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAAAAAADuygIA8coCAKABAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAwP///99BCwAAAAAAAAARywIAFMsCAKQBAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAwP///99BCwAAAAAAAACyXgMAMcsCALgBAAABAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BCQAAAAAAAABGywIAAAAAAKwBAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAwP///99BCQAAAAAAAABRywIAAAAAALABAAABAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BAAAAAAAAAABeywIAAAAAAHgAAAABAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BAAAAAAAAAABkywIAassCAOABAAAEAAAAAAAAAAAA4D8AAADg///vxwAAAOD//+9HEQAAAAAAAADiywIA6MsCAOQBAAAEAAAAAAAAAAAA4D8AAAAAAADwvwAAAOD//+9HEQAAAAAAAAAJzAIADswCAOgBAAABAAAAAgAAAAAAAAAAAAAAAADwvwAAAAAAQFFAEQAAAAAAAAAyzAIAN8wCAOwBAAABAAAAHwAAAAAAAAAAAAAAAADwvwAAAAAAAJBAEQAAAAAAAABbzAIAYcwCAPABAAABAAAAAwAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAAAAAACXzAIAmswCAKAAAAABAAAAAAAAAAAAAAAAAAAAAADwvwAAwP///99BEQAAAAAAAADOzAIA2MwCAKQAAAAEAAAAAAAAAAAA9D8AAADg///vxwAAAOD//+9HEQAAAAAAAAD6zAIABs0CAKgAAAABAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAAAAAAAZzQIAJM0CAKwAAAABAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAAAAAABMzQIAT80CAGwCAAABAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAAAAAABpzQIAAAAAAHACAAABAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BAAAAAAAAAABxzQIAAAAAAHQCAAABAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BAAAAAAAAAAB9zQIAAAAAAHgCAAABAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BAAAAAAAAAACIzQIAAAAAAHwCAAABAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BAAAAAAAAAACTzQIAAAAAAIACAAABAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BAAAAAAAAAACbzQIAAAAAAIQCAAABAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BAAAAAAAAAACjzQIAAAAAAIgCAAABAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BAAAAAAAAAACuzQIAAAAAAIwCAAABAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BAAAAAAAAAAC4zQIAAAAAAJACAAABAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BAAAAAAAAAADDzQIAAAAAADQAAAABAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BAAAAAAAAAADNzQIA0c0CAJwCAAAAAAAAAQAAAAAAAAAAAAAAAADgwQAAwP///99BEgAAAM3NAgD7zQIAAAAAAAAAAACAAAAAAQAAAAAAAAAAAAAAAADgwQAAwP///99BEgAAAM3NAgAGzgIAEs4CAAAAAACAAAAAAgAAAAAAAAAAAAAAAADgwQAAwP///99BEgAAAM3NAgBNzgIAWM4CAAAAAACAAAAABAAAAAAAAAAAAAAAAADgwQAAwP///99BEgAAAM3NAgCOzgIAk84CAAAAAACAAAAACAAAAAAAAAAAAAAAAADgwQAAwP///99BEgAAAM3NAgC0zgIAv84CAAAAAACAAAAAEAAAAAAAAAAAAAAAAADgwQAAwP///99BEgAAAM3NAgC8EQMAAAAAAAAAAACAAAAAIAAAAAAAAAAAAAAAAADgwQAAwP///99BEgAAAM3NAgDazgIA4c4CAAAAAACAAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BEgAAAM3NAgALzwIAAAAAAAAAAACAAAAAQAAAAAAAAAAAAAAAAADgwQAAwP///99BEgAAAM3NAgAXzwIAIM8CAAAAAACAAAAAgAAAAAAAAAAAAAAAAADgwQAAwP///99BEgAAAM3NAgBUzwIAAAAAAAAAAACAAAAAAAEAAAAAAAAAAAAAAADgwQAAwP///99BEgAAAM3NAgBhzwIAcs8CAAAAAACAAAAAAAIAAAAAAAAAAAAAAADgwQAAwP///99BEgAAAM3NAgCuzwIAs88CAAAAAACAAAAAAAQAAAAAAAAAAAAAAADgwQAAwP///99BEgAAAM3NAgDmzwIAAAAAAAAAAACAAAAAAAgAAAAAAAAAAAAAAADgwQAAwP///99BEgAAAM3NAgDyzwIAAAAAAAAAAACAAAAAABAAAAAAAAAAAAAAAADgwQAAwP///99BEgAAAM3NAgD6zwIA/c8CAAAAAACAAAAAACAAAAAAAAAAAAAAAADgwQAAwP///99BEgAAAM3NAgCNUgMANdACAAAAAACAAAAAAEAAAAAAAAAAAAAAAADgwQAAwP///99BEgAAAM3NAgBG0AIAAAAAAAAAAACAAAAAAIAAAAAAAAAAAAAAAADgwQAAwP///99BEgAAAM3NAgBM0AIAU9ACAKACAAABAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BGwAAAEzQAgB40AIAfdACAAAAAACAAAAAAgAAAAAAAAAAAAAAAADgwQAAwP///99BGwAAAEzQAgBM0AIAz9ACAAAAAACAAAAAAQAAAAAAAAAAAAAAAADgwQAAwP///99BGwAAAEzQAgAe0QIAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BGwAAAEzQAgAl0QIAMNECAAAAAACAAAAA//////////8AAAAAAADgwQAAwP///99BGwAAAEzQAgBM0QIAWdECAAAAAACAAAAA/v////////8AAAAAAADgwQAAwP///99BGwAAAEzQAgCE0QIAjtECALAAAAAEAAAAAAAAAAAA9D8AAADg///vxwAAAOD//+9HEQAAAAAAAACw0QIAu9ECALACAAAAAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BGgAAALDRAgDV0QIA3tECAAAAAACAAAAAAQAAAAAAAAAAAAAAAADgwQAAwP///99BGgAAALDRAgDz0QIA/dECAAAAAACAAAAAAgAAAAAAAAAAAAAAAADgwQAAwP///99BGgAAALDRAgAn0gIALtICAAAAAACAAAAABAAAAAAAAAAAAAAAAADgwQAAwP///99BGgAAALDRAgBP0gIAV9ICAAAAAACAAAAACAAAAAAAAAAAAAAAAADgwQAAwP///99BGgAAALDRAgB/0gIAitICAAAAAACAAAAAAIAAAAAAAAAAAAAAAADgwQAAwP///99BGgAAALDRAgCY0gIAoNICAAAAAACAAAAAAAABAAAAAAAAAAAAAADgwQAAwP///99BGgAAALDRAgAG0wIAENMCAAAAAACAAAAAAAACAAAAAAAAAAAAAADgwQAAwP///99BGgAAALDRAgA90wIASNMCAAAAAACAAAAAAAAEAAAAAAAAAAAAAADgwQAAwP///99BGgAAALDRAgCG0wIAAAAAALQAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAwP///99BAAAAAAAAAACT0wIAAAAAALQBAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAwP///99BAAAAAAAAAACf0wIAqtMCALgAAAABAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAAAAAADP0wIA19MCAPQBAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwFhAEQAAAAAAAAAH1AIA19MCAPgBAAAEAAAAAAAAAAAAAAAAAADg///vxwAAAOD//+9HEQAAAAAAAAAT1AIA19MCAPwBAAABAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAAAAAAAg1AIAAAAAAAQCAAABAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BAAAAAAAAAAAy1AIA19MCAAwCAAAFAAAAAAAAAAAAAAAAAAAAAABgwAAAAAAAwF9AEQAAAAAAAAA41AIAQNQCABACAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAwP///99BGQAAAAAAAACB1AIAidQCABgCAAACAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BGQAAAAAAAADt1AIA9dQCAAACAAABAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BGQAAAAAAAAAb1QIA19MCACACAAAEAAAAAAAAAAAA8D8AAADg///vxwAAAOD//+9HEQAAAAAAAAAv1QIAOdUCALwAAAAEAAAAmpmZmZmZ6b8AAADg///vxwAAAOD//+9HEQAAAAAAAABb1QIAZdUCAMAAAAAEAAAAAAAAAAAAAAAAAADg///vxwAAAOD//+9HEQAAAAAAAACH1QIA19MCACQCAAAEAAAAAAAAAAAAAAAAAADg///vxwAAAOD//+9HEQAAAAAAAACU1QIAmNUCAAgDAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAwP///99BEQAAAJTVAgCuPwMAptUCAAAAAACAAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAJTVAgC81QIAxNUCAAAAAACAAAAAAQAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAJTVAgDR1QIA1dUCAAAAAACAAAAAAgAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAJTVAgDm1QIAAAAAAAAAAACAAAAAAwAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAJTVAgDq1QIAAAAAAAAAAACAAAAABQAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAJTVAgDy1QIA99UCAAAAAACAAAAABgAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAJTVAgAO1gIAGNYCAMQAAAAEAAAAAAAAAAAAAAAAAADg///vxwAAAOD//+9HEQAAAAAAAABK1gIAVdYCAMgAAAAEAAAAAAAAAAAAAAAAAADg///vxwAAAOD//+9HEQAAAAAAAABx1gIAfNYCAMwAAAAEAAAAAAAAAAAAAAAAAADg///vxwAAAOD//+9HEQAAAAAAAACX1gIAntYCANAAAAAEAAAAAAAAAAAAAAAAAADg///vxwAAAOD//+9HEQAAAAAAAACs1gIAttYCANQAAAAEAAAAAAAAAAAAAAAAAADg///vxwAAAOD//+9HEQAAAAAAAADm1gIA69YCAAwDAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAwP///99BEwAAAObWAgCuPwMAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAAObWAgDR1QIAAAAAAAAAAACAAAAAAQAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAAObWAgAG1wIAAAAAAAAAAACAAAAAAgAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAAObWAgAN1wIAAAAAAAAAAACAAAAAAwAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAAObWAgAX1wIAAAAAAAAAAACAAAAABwAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAAObWAgDq1QIAAAAAAAAAAACAAAAACAAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAAObWAgAb1wIAAAAAAAAAAACAAAAACQAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAAObWAgAf1wIAAAAAAAAAAACAAAAACgAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAAObWAgAp1wIAAAAAAAAAAACAAAAAEAAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAAObWAgA31wIAAAAAAAAAAACAAAAAEQAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAAObWAgBD1wIAAAAAAAAAAACAAAAAFgAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAAObWAgBO1wIAAAAAAAAAAACAAAAAFwAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAAObWAgBa1wIAAAAAAAAAAACAAAAADQAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAAObWAgBe1wIAAAAAAAAAAACAAAAADgAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAAObWAgBj1wIAa9cCAAAAAACAAAAADgAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAAObWAgCO1wIAlNcCAAAAAACAAAAAFAAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAAObWAgCs1wIAAAAAAAAAAACAAAAAgAAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAAObWAgC31wIAAAAAANgAAAABAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BAAAAAAAAAADD1wIAxtcCAKQCAAAAAAAAAwAAAAAAAAAAAAAAAADgwQAAwP///99BEgAAAMPXAgDl1wIA79cCAAAAAACAAAAAAQAAAAAAAAAAAAAAAADgwQAAwP///99BEgAAAMPXAgAa2AIAItgCAAAAAACAAAAAAgAAAAAAAAAAAAAAAADgwQAAwP///99BEgAAAMPXAgBM2AIAWNgCAAAAAACAAAAAAAEAAAAAAAAAAAAAAADgwQAAwP///99BEgAAAMPXAgCB2AIAAAAAABADAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAwP///99BAAAAAAAAAACX2AIAnNgCANwAAAABAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAJfYAgCu2AIAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAJfYAgCz2AIAAAAAAAAAAACAAAAAAQAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAJfYAgC52AIAAAAAAAAAAACAAAAAAgAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAJfYAgDA2AIAx9gCAOQAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACRAEQAAAAAAAADb2AIAx9gCAOQAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACRAEQAAAAAAAADhOgMA39gCAKgCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwP///99BOwAAAOE6AwD52AIA/tgCAAAAAACAAAAAAQAAAAAAAAAAAAAAAADgwQAAwP///99BEgAAAOE6AwAL2QIADtkCAAAAAACAAAAAAgAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAOE6AwDz0QIAAAAAAAAAAACAAAAABAAAAAAAAAAAAAAAAADgwQAAwP///99BEgAAAOE6AwAb2QIAI9kCAAAAAACAAAAACAAAAAAAAAAAAAAAAADgwQAAwP///99BEgAAAOE6AwA42QIAO9kCAAAAAACAAAAAEAAAAAAAAAAAAAAAAADgwQAAwP///99BEgAAAOE6AwBh2QIAZNkCAAAAAACAAAAAIAAAAAAAAAAAAAAAAADgwQAAwP///99BEgAAAOE6AwBy2QIAAAAAAAAAAACAAAAAQAAAAAAAAAAAAAAAAADgwQAAwP///99BEgAAAOE6AwB82QIAAAAAAAAAAACAAAAAAACAAAAAAAAAAAAAAADgwQAAwP///99BEgAAAOE6AwCL2QIAAAAAAAAAAACAAAAAgAAAAAAAAAAAAAAAAADgwQAAwP///99BEgAAAOE6AwCQ2QIAAAAAAAAAAACAAAAAAAEAAAAAAAAAAAAAAADgwQAAwP///99BEgAAAOE6AwCa2QIAAAAAAAAAAACAAAAAAAIAAAAAAAAAAAAAAADgwQAAwP///99BEgAAAOE6AwCe2QIAodkCAAAAAACAAAAAAAQAAAAAAAAAAAAAAADgwQAAwP///99BEgAAAOE6AwCz2QIAuNkCAAAAAACAAAAAAAgAAAAAAAAAAAAAAADgwQAAwP///99BEgAAAOE6AwDl2QIAAAAAAAAAAACAAAAAABAAAAAAAAAAAAAAAADgwQAAwP///99BEgAAAOE6AwDq2QIA8dkCAAAAAACAAAAAACAAAAAAAAAAAAAAAADgwQAAwP///99BEgAAAOE6AwA02gIAQNoCAAAAAACAAAAAAEAAAAAAAAAAAAAAAADgwQAAwP///99BEgAAAOE6AwBW2gIAXtoCAAAAAACAAAAAAIAAAAAAAAAAAAAAAADgwQAAwP///99BEgAAAOE6AwB52gIAhNoCAAAAAACAAAAAAAABAAAAAAAAAAAAAADgwQAAwP///99BGgAAAOE6AwCZ2gIAntoCAAAAAACAAAAAAAAAAQAAAAAAAAAAAADgwQAAwP///99BGgAAAOE6AwC32gIAvdoCAKwCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwP///99BEgAAAOnaAgDy2gIA9doCAAAAAACAAAAAAQAAAAAAAAAAAAAAAADgwQAAwP///99BEgAAAOnaAgCXzAIAF9sCAAAAAACAAAAAAgAAAAAAAAAAAAAAAADgwQAAwP///99BEgAAAOnaAgA52wIAPNsCAAAAAACAAAAABAAAAAAAAAAAAAAAAADgwQAAwP///99BEgAAAOnaAgBf2wIAY9sCAOwAAAABAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAIDbAgCJ2wIAkNsCAPAAAAABAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAIDbAgCs2wIAstsCAPQAAAABAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAIDbAgDO2wIA19sCAPgAAAABAAAACAAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAIDbAgD32wIAANwCAPwAAAABAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAAAAAAAq3AIANNwCAAABAAABAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAAAAAABo3AIAbtwCAAQBAAABAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAAAAAACE3AIAi9wCAAgBAAABAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAIDbAgCy3AIAttwCAAAAAACAAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAIDbAgDY3AIA3NwCAAAAAACAAAAAAQAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAIDbAgDy3AIA99wCAAAAAACAAAAAAgAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAIDbAgCU1QIAKN0CAAAAAACAAAAAAwAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAIDbAgBGxQIAVN0CAAAAAACAAAAABAAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAIDbAgCM3QIAkN0CAAAAAACAAAAABQAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAIDbAgC03QIAt90CAAAAAACAAAAABgAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAIDbAgBEyQIArGUDAAAAAACAAAAABwAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAIDbAgDV3QIA2t0CAAAAAACAAAAACAAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAIDbAgD/3QIABN4CAAAAAACAAAAACQAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAIDbAgAo3gIALd4CAAAAAACAAAAACgAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAIDbAgBZ3gIAAAAAAAAAAACAAAAADQAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAIDbAgBg3gIAAAAAAAAAAACAAAAAAAEAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAIDbAgBn3gIAbN4CAAAAAACAAAAADwAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAIDbAgCa3gIAp94CAAwBAAABAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAAAAAADa3gIA394CABABAAABAAAACAAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAAAAAAAB3wIAAAAAABQBAAABAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BAAAAAAAAAAAT3wIAHN8CABgBAAABAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAAAAAABO3wIAVN8CABwBAAABAAAAP0IPAAAAAAAAAAAAAADgwQAAwP///99BEQAAAAAAAABl3wIAa98CACABAAABAAAAP0IPAAAAAAAAAAAAAADgwQAAwP///99BEQAAAAAAAAB83wIAAAAAAFQAAAABAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BGQAAAAAAAACL3wIAAAAAADQCAAABAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAIvfAgCR3wIAld8CAAAAAACAAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAIvfAgARywIAu98CAAAAAACAAAAAAQAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAIvfAgDM3wIA0N8CAAAAAACAAAAAAgAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAIvfAgDi3wIA5t8CAAAAAACAAAAAAwAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAIvfAgD33wIA/98CAAAAAACAAAAABAAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAIvfAgAT4AIAG+ACADgCAAABAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAAAAAAAp4AIAAAAAACQBAAABAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BAAAAAAAAAAA14AIAAAAAACgBAAABAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BAAAAAAAAAABH4AIAS+ACACwBAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAEQAAAEfgAgAG1wIAfeACAAAAAACAAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAEfgAgCH4AIAjOACAAAAAACAAAAAAQAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAEfgAgC03QIAnOACAAAAAACAAAAAAgAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAEfgAgC14AIAAAAAADgAAAABAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BAAAAAAAAAADG4AIA0+ACADgBAAABAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAAAAAADq4AIA19MCADwCAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAwP///99BEQAAAAAAAADv4AIA19MCAEACAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAwP///99BEQAAAAAAAAD04AIA9+ACADwBAAABAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAAAAAAAH4QIAGeECADACAAABAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAAAAAABQxwIAAAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4P///+9BGwAAAFDHAgDGOgMAAAAAAFgDAAABAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAAAAAABp4QIAceECACADAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAwP///99BGwAAAGnhAgCuPwMAi+ECAAAAAACAAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAAGnhAgC64QIAx+ECAEABAAABAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAAAAAADj4QIA8OECAEQBAAABAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAAAAAAAF4gIACOICAEgBAAABAAAAAAAAAAAAAAAAAAAAAAAgwAAAAAAAADBAEQAAAAAAAAAb4gIAIeICADgDAAABAAAACAAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAAAAAAAt4gIANuICAEwBAAABAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BEgAAAAAAAABt4gIAeeICAFABAAABAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BEgAAAAAAAACz4gIAAAAAADwDAAABAAAAnf////////8AAAAAAADgwQAAwP///99BGQAAALPiAgDATwMAAAAAAAAAAACAAAAAnf////////8AAAAAAADgwQAAwP///99BGQAAALPiAgC74gIAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BCQAAALPiAgDE4gIAAAAAAAAAAACAAAAAAQAAAAAAAAAAAAAAAADgwQAAwP///99BCQAAALPiAgDM4gIAAAAAAAAAAACAAAAAAgAAAAAAAAAAAAAAAADgwQAAwP///99BCQAAALPiAgDU4gIAAAAAAAAAAACAAAAAAwAAAAAAAAAAAAAAAADgwQAAwP///99BCQAAALPiAgDc4gIAAAAAAAAAAACAAAAABAAAAAAAAAAAAAAAAADgwQAAwP///99BCQAAALPiAgDj4gIAAAAAAAAAAACAAAAAHAAAAAAAAAAAAAAAAADgwQAAwP///99BCQAAALPiAgDt4gIAAAAAAAAAAACAAAAAFgAAAAAAAAAAAAAAAADgwQAAwP///99BCQAAALPiAgD04gIAAAAAAAAAAACAAAAAJgAAAAAAAAAAAAAAAADgwQAAwP///99BCQAAALPiAgD84gIAAAAAAAAAAACAAAAAgAAAAAAAAAAAAAAAAADgwQAAwP///99BCQAAALPiAgAK4wIAAAAAAAAAAACAAAAAgwAAAAAAAAAAAAAAAADgwQAAwP///99BCQAAALPiAgDGGAMAAAAAAAAAAACAAAAAFAAAAAAAAAAAAAAAAADgwQAAwP///99BCQAAALPiAgAX4wIAAAAAAAAAAACAAAAAHgAAAAAAAAAAAAAAAADgwQAAwP///99BCQAAALPiAgAe4wIAAAAAAAAAAACAAAAAKAAAAAAAAAAAAAAAAADgwQAAwP///99BCQAAALPiAgAo4wIAAAAAAAAAAACAAAAAMgAAAAAAAAAAAAAAAADgwQAAwP///99BCQAAALPiAgAz4wIAAAAAAAAAAACAAAAAPAAAAAAAAAAAAAAAAADgwQAAwP///99BCQAAALPiAgA94wIAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAALPiAgBG4wIAAAAAAAAAAACAAAAAAgAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAALPiAgBR4wIAAAAAAAAAAACAAAAAAwAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAALPiAgBc4wIAAAAAAAAAAACAAAAADwAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAALPiAgBm4wIAAAAAAAAAAACAAAAAAgAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAALPiAgBt4wIAAAAAAEADAAABAAAAnf////////8AAAAAAADgwQAAwP///99BGQAAAG3jAgDATwMAAAAAAAAAAACAAAAAnf////////8AAAAAAADgwQAAwP///99BGQAAAG3jAgBz4wIAeuMCABgDAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAwP///99BGgAAAAAAAACl4wIAtOMCAEQCAAABAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAAAAAADJ4wIA1eMCAEgCAAABAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAAAAAADn4wIA8OMCAEwCAAABAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAAAAAAAE5AIADOQCAFACAAABAAAADQAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAIDbAgAo5AIA19MCAFQBAAAEAAAAAAAAAAAAAAAAAADg///vxwAAAOD//+9HEQAAAAAAAAA05AIAO+QCAFgBAAABAAAA7AAAAAAAAAAAAAAAAADwPwAAAADA/99AEQAAAAAAAABk5AIAa+QCAFwBAAABAAAASg4AAAAAAAAAAAAAAADwPwAAAADA/99AEQAAAAAAAACU5AIAmeQCAGABAAABAAAAAAEAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAAAAAADU5AIA5eQCAEQDAAABAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BEgAAABnlAgAj5QIALeUCAEgDAAABAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BEgAAABnlAgBe5QIAaeUCAEwDAAABAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BEgAAABnlAgCbYgMAj+UCAAAAAACAAAAA8P////////8AAAAAAADgwQAAwP///99BEgAAABnlAgB/PwMAoOUCAAAAAACAAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BEgAAABnlAgC35QIAveUCAAAAAACAAAAACAAAAAAAAAAAAAAAAADgwQAAwP///99BEgAAABnlAgDe5QIA5OUCAAAAAACAAAAAEAAAAAAAAAAAAAAAAADgwQAAwP///99BEgAAABnlAgAF5gIAC+YCAAAAAACAAAAAIAAAAAAAAAAAAAAAAADgwQAAwP///99BEgAAABnlAgAv5gIAN+YCAAAAAACAAAAAGAAAAAAAAAAAAAAAAADgwQAAwP///99BEgAAABnlAgCHPwMAWuYCAAAAAACAAAAAMAAAAAAAAAAAAAAAAADgwQAAwP///99BEgAAABnlAgBt5gIAeuYCAGQBAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAABBAEQAAAAAAAAC65gIAxOYCAGgBAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACRAEQAAAAAAAADy5gIA/eYCAGwBAAABAAAAGQAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAAAAAAAh5wIAJucCAHABAAABAAAAAQAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAAAAAABb5wIAaOcCAHQBAAABAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BEQAAAAAAAACD5wIAi+cCAFQCAAABAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BGQAAAAAAAACw5wIAuucCAHgBAAABAAAABgAAAAAAAAAAAAAAAAAAAAAAwP///99BEQAAAAAAAAD+5wIAAAAAAHwBAAABAAAAAAEAAAAAAAAAAAAAAAAAAAAAwP///99BEQAAAAAAAAAM6AIAGugCAIABAAABAAAAKAAAAAAAAAAAAAAAAADwPwAAwP///99BEQAAAAAAAABD6AIAAAAAAFgAAAABAAAA//////////8AAAAAAADgwQAAwP///99BGQAAAAAAAABV6AIAAAAAAFgCAAABAAAA//////////8AAAAAAADgwQAAwP///99BCQAAAAAAAABq6AIAAAAAAFwCAAABAAAA//////////8AAAAAAADgwQAAwP///99BCQAAAAAAAAB/6AIAlOgCAGACAAACAAAA//////////8AAAAAAADwvwAAAAAAAOBDEQAAAAAAAADO6AIAAAAAABQDAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAwP///99BAAAAAAAAAABxWgMAAAAAAMABAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPBDCwAAAHFaAwDi6AIAAAAAAMgBAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPBDCgAAAOLoAgD56AIAAAAAACgCAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOD//+9HEQAAAAAAAAAI6QIAAAAAACwCAAAEAAAAAAAAAAAACEAAAAAAAAAAAAAAAOD//+9HEQAAAAAAAAAX6QIAAAAAAHQAAAABAAAAAQAAAAAAAAAAAAAAAADwPwAAwP///99BGwAAAAAAAAAn6QIAN+kCAIQBAAABAAAAAgAAAAAAAAAAAAAAAADwPwAAwP///99BEwAAAEfpAgDRTwMAXOkCAAAAAACAAAAAAQAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAAEfpAgDATwMAY+kCAAAAAACAAAAAAgAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAAEfpAgDXTwMAb+kCAAAAAACAAAAABAAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAAEfpAgDeTwMAeOkCAAAAAACAAAAABQAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAAEfpAgDmTwMAgukCAAAAAACAAAAABgAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAAEfpAgDwTwMAjukCAAAAAACAAAAABwAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAAEfpAgD6TwMAmukCAAAAAACAAAAACAAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAAEfpAgD/TwMAn+kCAAAAAACAAAAACQAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAAEfpAgAGUAMAp+kCAAAAAACAAAAACgAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAAEfpAgCz6QIAp+kCAAAAAACAAAAACgAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAAEfpAgAPUAMAvukCAAAAAACAAAAACwAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAAEfpAgAYUAMAyukCAAAAAACAAAAADAAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAAEfpAgAhUAMA1ukCAAAAAACAAAAAFgAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAAEfpAgDg6QIAY+kCAAAAAACAAAAAAgAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAAEfpAgDs6QIA9ukCAIgBAAABAAAAAgAAAAAAAAAAAAAAAADwPwAAwP///99BEwAAABXqAgDRTwMAXOkCAAAAAACAAAAAAQAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAABXqAgDATwMAY+kCAAAAAACAAAAAAgAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAABXqAgAk6gIAb+kCAAAAAACAAAAABAAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAABXqAgAs6gIAeOkCAAAAAACAAAAABQAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAABXqAgDmTwMAgukCAAAAAACAAAAABgAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAABXqAgDwTwMAjukCAAAAAACAAAAABwAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAABXqAgArUAMANOoCAAAAAACAAAAACAAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAABXqAgAyUAMAO+oCAAAAAACAAAAACQAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAABXqAgA5UAMAP+oCAAAAAACAAAAACgAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAABXqAgBAUAMAT+oCAAAAAACAAAAACwAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAABXqAgBNUAMAXeoCAAAAAACAAAAADAAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAABXqAgBVUAMAZeoCAAAAAACAAAAADQAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAABXqAgBiUAMAc+oCAAAAAACAAAAADgAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAABXqAgBsUAMAhOoCAAAAAACAAAAADwAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAABXqAgB2UAMAleoCAAAAAACAAAAAEAAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAABXqAgAGUAMAp+kCAAAAAACAAAAAEQAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAABXqAgCAUAMAoOoCAAAAAACAAAAAEgAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAABXqAgDg6QIAY+kCAAAAAACAAAAAAgAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAABXqAgAnUgMAO+oCAAAAAACAAAAACQAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAABXqAgCt6gIAP+oCAAAAAACAAAAACgAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAABXqAgC26gIAT+oCAAAAAACAAAAACwAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAABXqAgDD6gIAXeoCAAAAAACAAAAADAAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAABXqAgDK6gIAZeoCAAAAAACAAAAADQAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAABXqAgDX6gIAc+oCAAAAAACAAAAADgAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAABXqAgDk6gIAhOoCAAAAAACAAAAADwAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAABXqAgCz6QIAp+kCAAAAAACAAAAAEQAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAABXqAgDx6gIA/OoCAIwBAAABAAAAAgAAAAAAAAAAAAAAAAAAAAAAwP///99BEwAAAAjrAgAY6wIAHOsCAAAAAACAAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAAAjrAgDRTwMAXOkCAAAAAACAAAAAAQAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAAAjrAgDATwMAY+kCAAAAAACAAAAAAgAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAAAjrAgCRUAMAIOsCAAAAAACAAAAABAAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAAAjrAgDeTwMAeOkCAAAAAACAAAAABQAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAAAjrAgDmTwMAgukCAAAAAACAAAAABgAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAAAjrAgDwTwMAjukCAAAAAACAAAAABwAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAAAjrAgCVUAMAJOsCAAAAAACAAAAACAAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAAAjrAgCbUAMAKusCAAAAAACAAAAACQAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAAAjrAgCkUAMANusCAAAAAACAAAAACgAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAAAjrAgCsUAMAQesCAAAAAACAAAAACwAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAAAjrAgDg6QIAY+kCAAAAAACAAAAAAgAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAAAjrAgBM6wIAJOsCAAAAAACAAAAACAAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAAAjrAgBS6wIAKusCAAAAAACAAAAACQAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAAAjrAgBd6wIANusCAAAAAACAAAAACgAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAAAjrAgBn6wIAc+sCAJABAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAwP///99BEwAAAH/rAgDATwMAY+kCAAAAAACAAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAAH/rAgCQ6wIAk+sCAAAAAACAAAAAAQAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAAH/rAgCm6wIAqesCAAAAAACAAAAAAgAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAAH/rAgDg6QIAY+kCAAAAAACAAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAAH/rAgC26wIAk+sCAAAAAACAAAAAAQAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAAH/rAgC76wIAqesCAAAAAACAAAAAAgAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAAH/rAgDA6wIA1+sCAJQBAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAwP///99BEwAAAO7rAgDATwMAY+kCAAAAAACAAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAAO7rAgCu2AIACuwCAAAAAACAAAAAAQAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAAO7rAgAP7AIAFuwCAAAAAACAAAAAAgAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAAO7rAgAd7AIAJewCAAAAAACAAAAAAwAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAAO7rAgAu7AIAMuwCAAAAAACAAAAABAAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAAO7rAgA27AIAQewCAAAAAACAAAAABQAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAAO7rAgBN7AIAVOwCAAAAAACAAAAABgAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAAO7rAgDg6QIAY+kCAAAAAACAAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAAO7rAgBb7AIAbOwCAAQAAAABAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BAAAAAAAAAACF7AIAjOwCAJgBAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAwP///99BEQAAAAAAAADE7AIA0OwCACQDAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAwP///99BGwAAAMTsAgDr7AIAAAAAAAAAAACAAAAAAgAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAAMTsAgDx7AIAAAAAAAAAAACAAAAAAQAAAAAAAAAAAAAAAADgwQAAwP///99BEwAAAMTsAgD37AIACu0CANABAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACBACQAAAPfsAgAd7QIAIO0CAAAAAACAAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BCQAAAPfsAgAz7QIANu0CAAAAAACAAAAAAQAAAAAAAAAAAAAAAADgwQAAwP///99BCQAAAPfsAgA+7QIAQe0CAAAAAACAAAAAAgAAAAAAAAAAAAAAAADgwQAAwP///99BCQAAAPfsAgBT7QIAVu0CAAAAAACAAAAAAwAAAAAAAAAAAAAAAADgwQAAwP///99BCQAAAPfsAgBn7QIAau0CAAAAAACAAAAABAAAAAAAAAAAAAAAAADgwQAAwP///99BCQAAAPfsAgBz7QIAdu0CAAAAAACAAAAABQAAAAAAAAAAAAAAAADgwQAAwP///99BCQAAAPfsAgCB7QIAhO0CAAAAAACAAAAABgAAAAAAAAAAAAAAAADgwQAAwP///99BCQAAAPfsAgCO7QIAke0CAAAAAACAAAAABwAAAAAAAAAAAAAAAADgwQAAwP///99BCQAAAPfsAgCc7QIAn+0CAAAAAACAAAAACAAAAAAAAAAAAAAAAADgwQAAwP///99BCQAAAPfsAgCn7QIAuu0CANQBAABUTUZT//////////8AAAAAAADwvwAAwP///99BCgAAAKftAgDl7QIAAAAAAHwDAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAwP///99BAAAAAAAAAADy7QIA/u0CAKgDAAAFAAAAAAAAAAAAAAAAAAAAAABgwAAAAAAAwF9AIgAAAAAAAAAq7gIAO+4CAKwDAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAwP///99BIgAAACruAgBs7gIAAAAAAAAAAACAAAAA//////////8AAAAAAADgwQAAwP///99BIgAAACruAgCuPwMAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BIgAAACruAgB37gIAAAAAAAAAAACAAAAAAQAAAAAAAAAAAAAAAADgwQAAwP///99BIgAAACruAgCD7gIAk+4CANQDAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAPA/IgAAAIPuAgBWGwMAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BIgAAAIPuAgC07gIAAAAAAAAAAACAAAAAAQAAAAAAAAAAAAAAAADgwQAAwP///99BIgAAAIPuAgDF7gIAAAAAANwBAABMT09CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPA/GgAAAAAAAADX7gIAAAAAAGgDAABMT09CAQAAAAAAAAAAAAAAAAAAAAAAAAAAAPA/GQAAAAAAAADu7gIAAAAAAPADAABMT09CAQAAAAAAAAAAAAAAAAAAAAAAAAAAAPA/EgAAAAAAAAD97gIACO8CALADAABMT09CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPA/EgAAAAAAAAAe7wIAKu8CAJwBAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABRAEwAAAB7vAgA27wIAAAAAAAAAAACAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEwAAAB7vAgBC7wIAAAAAAAAAAACAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEwAAAB7vAgA52wIAAAAAAAAAAACAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEwAAAB7vAgBF7wIAAAAAAAAAAACAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEwAAAB7vAgCKwgIAAAAAAAAAAACAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEwAAAB7vAgBI7wIAV+8CALwDAAAFAAAAAAAAAAAAAAAAAAAAAABgwAAAAAAAwF9AOwAAAAAAAAB87wIAjO8CAMADAAAFAAAAAAAAAAAAAAAAAAAAAABgwAAAAAAAwF9AOgAAAAAAAAC57wIAxu8CAJAAAABUTUZQ//////////8AAAAAAADwvwAAwP///99BAAAAAAAAAADX7wIA4u8CAHwAAABFWklTAAAAAAAAAAAAAAAAAAAAAAAAwP///99BAAAAAAAAAADx7wIA/O8CAOADAAACAAAA////fwAAAAAAAAAAAAAAAAAAwP///99BOwAAAAAAAAAV8AIAAAAAAOwDAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAA4P///+9BEgAAABXwAgAj8AIAMPACAAAAAACAAAAAAQAAAAAAAAAAAAAAAADgwQAAwP///99BEgAAABXwAgCw8AIAwfACAAAAAACAAAAAAgAAAAAAAAAAAAAAAADgwQAAwP///99BEgAAABXwAgA28QIATfECAAAAAACAAAAABAAAAAAAAAAAAAAAAADgwQAAwP///99BEgAAABXwAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBmAwDAZgMAwGcDAMBpAwDAbQMAwHUDAMCFAwDApQMAwOUDAAAAAAAAAAAABAAAAAAAAAADAAAAAAAAAAcAAAAAAAAABwEAAAAAAAA3AAAAAAAAAD8AAAAAAAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPBwAAAAAAAD8GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADClYs/8DeYP/MEtT8AAABA2SESP21VMj8IIVA/OEtpP2gifD/AsIg/sOiYP9tMrz8gsQAAQLEAAICxAACQsQAAAAAAAAIm3r4cJki/4JR5v1wcfD/Xs10/uo0kP0Qdrz4AAAAAzuZUvsk/0L4YeRa/vT4+v9ezXb9xeHO//Zh+v2/ofj80OnY/bCllP9tKTD9Rdyw/QsQGP6v0uD7VKDw+AAAAAAIm3r66jSQ/RB2vPgAAAADO5lS+yT/Qvhh5Fr9Rdyw/QsQGP6v0uD7VKDw+AAEBAgMDBAUAAAAEBQAFAAAAAQAAAAAAAAAAAAAAAAEAAQAAAAAAAAAAAAAAAAAAAQEAAQAAAAAAAAAAAAAAAQEAAQABAwAAAAAAAAAAAQEAAQEBAwAAAAAAAAAAAQEAAQEBAwMABAAAAAAAAQEAAQEBAQECAwMABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAwABAwMABAAAAQEAAQEBAgECAwMABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgD/DqoU/wpWLP9PDkT/wN5g/MvWeP9f+pT8/WK0/8wS1P6QIvT8qZ8U/jCTOP/1E1z/fzOA/x8DqP30l9T9VBwMAZAcDACQWAAABAAAA//////////8AAAAAAADwvwAAAAAAAABACgAAAFUHAwCuPwMAjwcDAAAAAACAAAAA//////////8AAAAAAADgwQAAwP///99BCgAAAFUHAwCdBwMAogcDAAAAAACAAAAAAQAAAAAAAAAAAAAAAADgwQAAwP///99BCgAAAFUHAwC7BwMAvwcDAAAAAACAAAAAAgAAAAAAAAAAAAAAAADgwQAAwP///99BCgAAAFUHAwDYBwMA3QcDAAAAAACAAAAAAAAAAAAAAAAAAAAAAADgwQAAwP///99BCgAAAFUHAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG3n+/DUcYv0aceD993yy/FbEQPtRuc78Lq/C+AS+/vt+aTj+o05c+zpXHvk5OZT8diCy8Smorv1Skab9i/eu9OGQMPxORQD/u2Mw+X0J9v3qpf78QqGG/P490v/e5aD/lHeq+nDERvzGzOr+05nq/KZhBPwiIVj49yJA9i1BIv921Pj+FZGm/CuN2v8GIcr8sxps+uh/9vg9oKj/zgiU/jb5qPyhYMz4NLzW/SYYGP+VUM78VJOi+CbZ+v4eVZr8VTXs/QU5Gv5H1C79HnNK8F2qKvJRrPDtHcVy/SNnZPoEqfb/H+WC/OX8EPyNVKz/QEH+/e8EUv+3rf7/C03s/THsNP4kwGD8+DrE+LeRyP55rID+7eD6/1IBFv/17rb7leWq/cw4XPXZKQ7946Wm/FkJMPxWLbr96cws/+Br0vY88W7+pPdk+acdtvyO0jj6Wye+9e31/v3CxWj7VO2i//QxDvwlofz8OKns/LmN1vx/wW7+UKXU/1t1uvzIX/T5KFpw+HpU0v21XWj9Oce8+xsxpP+GWf785Q3G9XRk1P7pmkT7lUrE+ZNxzP/OGDL86IUm/mXRBv5s4db8uIlG++vhSP5Jvdz/v3ya/XSljv0a6b79Sq38/tA1qP6qfe7+ENjS/EoUWP5+8uDtoIB4/rAFkPxkgBz+O1C+/pN1OP0e+OD8kTjG/qBghv3aKCz7oSJk+Zsjrvjn2ar/5eD2/aDR+Pyb70D7j3FI/RIg9v18xfL/e7X+/GYt1v3wMfr/8P1u+5Cpvv9guML9JsIm+ICRrPxKovz2y63W/ztO4Ptg2BD86tza/oX4cP31i8D5pXPI+JfKLvqf0aD+Ul3c/+prlPkz7fT+8iCo/VkV3PwrNPz+qF2a/POd+v4UhBz/GWHk/p5osvgUSOj84Eva+cU50P0dBMD+DyDq/HB5EvzCFWr9rK2M/c2pQv/+Meb9QGmG/DVs/P0w6N788V3y/fNJVP0tHVj9eM/a+Ww19vxmteD8oCk0/BRoFPxZvTT9/CAu8iUZEvx/0M7+suA0/X311v/aE3b7chXg/Wv6+PRSObL9U5lo/w+8xv2WAfD+u+4c+RK87P4yOjz5F3hQ+Kcs9vwY8fj/Mlo+8o39Tv+IfDb8mLn2/qMd6P+WxcL9L8X2/lZErP/9FLb+zWAE+ITC7PW5OUr5rcje/elZ6v8FlTz+thwk/gfXPPnWFh77jQi2/3exxP95VXj9uvDu+krh+v4vJ17z64Vc/biLVPTi+vL2+BTI/R+N/P1oa/b2tHUy/hnNqv+undj9KZnc/TadMv1CrJD9c3+y9qV6SPtFnzL7H+HA/Gat9Pyqua7+Zl5I+ugxpv0ZBVb+oXSy/Qjx0P5+2+z7cF4S9miQFPYLpfr8jCdk+1K4nv2xRUz/pAlC/bSoEvz8Yf7+3S1g/pKM8O4fOJT8xpzM/Y3BRvrmvdj9wa9A+qVcwv+bTaT8hkLK+Ffg2PxF4az9TQio/knZ9v3fSWz/jSzA/jH0OPxmufr+VVk2+bDBxPw05f7/alCy/2K/9PqNg8r5D6lu/mKwSPkIDcb+K2pW+2uVrPX054D4p/0m/SRa6vhwUJj9fNrO9HhR6PyQHd79tIwq/IyYOP1n2ST8BQjw/1ep2P9gnnr43gE6/jG4SPVEneb+XuXw/0tr3PuYfUb/YhGi/Or0tP50WUD844SG+z1BaP+KmTj87G32+rq30Psk57b5xs3Y/Wg3FPu7Ofb+McH++irBUP5Sjcr9+aBa/63pTPNuTdD+rBlu/SgR3v8nkI79KKHm/CoH9PSX8aT/XaBQ/Zs9/vyr6NT/+Zl6/eclPvldZhr7cwS6/R5B8vj1dYL/68MU8TDqLPn4YUj8i01m/aK5iP2B4Zb+iFzq+JOaFvqSZvz1NZww/fvMLv/a1dT95s70+tl4ZvwooNL/3imk/8Sexvu+Rfr8LEDC/ptKavgpwib6vxlQ/F0D7PuE96L6djsc+8oR0PxxCer9WVFk95mkxvjB+bb/y3X8/BDYVPyxDJr+Fuy8/Rhv2vRJMEr/O5xa/1WqyvvEX1r6qqyY+D7V/PzYR5D3kBRG/t6pnv0v+cD+3pLQ+MNtBv21YCT+NWVI+BMFxvyPzfz9EYUw/e+GUPlU3tT4g6yC/+HrGPt1q3j5TR3y/9qR7v6pCVz480Ec+BEFxv5ZrdL8y0Hs/Rw1vPzl1Nb/hM1q/7tmqvY0/Xb91eOq+gRDHPsUFeT+xoms/hdQfv49BZD+prAw/gZe8vunudj/oXHA/qVFmvw0gfj9c4xm9cM1wvx+f0z7BVX8/IlgsvhTOt74aw+6+aoRWPVZHg74f7Ls+nOfFvtShaj/Rm5y+XqQwP2rWaD/M7sW+Wrl+P6HDlb7nt78+AhEav+knXj8/ZHm/nfV2Py12Yj+1OBM/xPJUPSTNWT6D9Qi/OvB4P1AU/b7HWXs/I0Z9v2ETzr6dFnu/f4M6v6n4i77W338/yD6BPRCfC78Ph1G+m4IRvnWIKT9VrDk/Kf9YvxdXwjwq8WO/mn9jPzGDdT+Od0Q/qis8P0Z8Gb0RiKK+NZe8vr6lrr6n4c0+gsH0Ps3Yyb5cpXs/8wCjPOuHnr4KGzm+Jft/Py2Qhr6cdm6/hK57v9nNfz+DKk2/Zj6FvjSPQr8b2ba+E59FPt29f79zFz8/HJZdP/9RDj+XDKs+1KJcP613fT+jgzw9wrwqv4+bar8L4iM/TkAgPozmfj9queo+cmIiv6TZVz4T1p29F1RlvwBkfD8Y5mE/5g1NP4WuvL5Xn0g/7/7oPvxVsj0uNE8/CT1ev051yT6SEcq+Owgrv5OPej+GhDm/eUxzvydIZT83Ii4+Fv0LP0LkRL8TV3a/wld/PwWc2j7YUXQ/cVN4Pwjsfj9zgwq/hqiPPnaGWr+3QVo/B0slv9COAb/YkCi/B9x4v7d+bL4bSXQ/Bg5+v8wheL+d3Tw/wxCePn2O1D7GH3u+Gc8hP7kfrb7E8sW+uapuvaUljr3xemq+3nV4P6KKPb5mifM+k8zWveqwYL+YBzi/YsJHP+p4fz95gWY/sFwTP0MMab90BJQ+RYx2P/cB2D5mhfY+D/BuP9no3r4vi3i/EMpdP2cFvD6KJSc/IJlPv/HHsz0VWoa+boBtv/IHVz808w4/xMR/v7DSdb9GGj8/OLr4PUdsP7/Ut4m+eTN1P9lcSr+7aHQ/7OWvvfxi+T5f/38/VDjtPpmL4D0U1UO/RmFkP/TvEj/srrQ+UPVAP7uQdz+JfBe/tOBkv5w5QD/snZe+pW98v8ItgD5VstC+RIRmv8RWKz/TfXw/z4F5v1lU+brDxWY/u3B/Pz9iX7+5CX4/v1BqvzjBIL4vZwe9r32+vpftkz0/V2O/BLd+P8KPeD+zwT+/ffZ/P5vPOz0DhX8/Dvtjv0zGor53e1a/zfN5P+JJqz6wwFy/XEB/v3Owbj//wGm+DUdBPq4nLD9MWRW9Xc1SvSQObb923X8/O65vPxdlKz/sMn0/y/t+v9Sh5L5FMFI/BdN+P9/qfT/+YDg/6SAnvxeZBT/EWHA/ZLs/v2qkdz/crmg/C5hjvs48Ej+59eG+j0htvw9hW78ncWM/7/ZqP+hY7b7wvjk/LL5/v/tCf7+HBRU/e8FGP8J2cT8BDZ49Qx0WP9F8D7/RQVM/s+Z7P8MSyj68cPM+P6YvP9QgKD9Jtzs+1BMGPSrUP78VEMa+cmwDP9o0eb+XKne//mYIvycLar9GiH8/gIAcP8qmAL8yZ2O/f4CjPBUsWj9g0n8/Oh9yP28+VD8NgYG94isWv5Lpdz9/9DO+WZ32vn+XVT8yXAW+e5FzPXsIUj5vp1A/YmVyv3FH5r5WYdE+QMBlv3Sbfz/GJcs+waA/v/Jrm72yrz0/R3BDPyS+1T7WsT6/k39yP9YXJj/KpNM+u4kfP+lUbr8eJdg+OPWdvZyO3TzL5l299s1MPxhZaj8EJEu/umO5vmSDIz90d6Y9VWYHP6G5GT/6DD4/Jf03PaSvfT8cLke+BttNv2qYYr+GaCW/INQ4P0vA7j1GLVa/DlZzv4kqeL9QTh+/WuJTP20g9jziVH+/59h6v4cDuz5493+/P264vo4fZD/6m3q/sCfVPTQJRj9zq3U/cG61vp8oAj8jCXY/FiUuPg6/RL/Vd4Q+E7p/P2HYNrxaJnw/zsVLv6GseD8fHn6/YtR+v16Qf790xpk8J0A1v/NxrD5KZTS/P8duPxebfz/ovHy/3jYiv4qwKL7xeya+qpp1vyd3375ts3K/spx/vzxjdj/p/iu+dWh9vxE6Yb8snje/rDfiPl2Jb7/C324/MMd/v8l9cL9zaBC/WMpiv4TW8z5M7X8/H8JWv6v2QL+feAU8PFpwP20b57127Fk/mwMGP3JFyz4aW1E/tZC9vkjnXr92cri+92+xPksTb7+MQli/OSonvz7SPL6E8vQ9Cb5/P5NjcT9M5lQ/LjVAPxvutb5RNRE/+4t2vmnp7z5oUZq+mR55P+fXfr+MGMS+CzR8P1YN0j4xZ608NGPFPQK3ND07U1q/bS1qP8B/Yz+BUn+/48v2vobSd7/vK40+3xoWPxqtKL+FnhY/hwZ9P0z8fz9GeFO+GcILPysLH7/sUxm/8BNQPiRpXr8EWHq/JYF2P7CV4z0FAVw+T87TvmB4kD5QH3c+RlADP5b3Kb8V9Ki9aXcJv9f7eb805Xi/5BxiPom5Xz9nCAO+YRNDPkhJgzxiVO2+adZzvzaskL1J3nG/KKhsv+Qr1r36lVa/otuKvLKMQD/14n+/PpHXvh5Jfz8KkDi/8j6zvsHWST+xTAc/JlR5P+iuiL7z930/J/IRv9eURD+640O/G+1Rv708PL9dulE/XDp/Pz7OiL6DZDA/78DdvoFsWj9s8H0/BTRrP0+STr+SDae+05HcPphzYL4YVi0/g2x0v6C/Dz/l+TS/KNbdPfW3sL0cjGk/eO0ov8C9+r64GRA/Ge1jv9lwN7/8Fic/t74oPyOlLD+tHFG/L5b0vtDsK77dRX+/Rodvv2etaL/dzh4/pYyHvUzWc76fin4//KNAPsMTej8uw5K+E7lyP/Sdeb/0T3S/48tLv59q+75qbKg+ILJ/PxnTYz9eJgE/uyVcv1h58T4JST++ye0ev3EAQD9gmeC+vP5/P4d+fD94KQm/bncdv5AoZb87WR29Vuoyv4Afmr5nCZ29o27WPsM/szy7gVy/OU59P8wZLD+7Lgq+dhY1vxL2Q79MwXA/Stu4PbjoUr9+x7Y9qjOkvv5dAD9BcBM/o1p9vz39ub5NYJg9RPJ/P7OxEL7/dGy/ttN6v4Vj5L5O1gq/9HDiPrSYNj+9ZhY9FdUiP7CRBT+qnVq/V29yv0ydlbwZ03y/u6hSP0TVXz/a3GQ/hCJvv8zV0z537HU/92BuPwyweT/gi1w/sBV/P7+vMz/tcXK/J3OXvtl+aj8qQnu/Bt5/vw1HGL9GnHg/fd8svxWxED7UbnO/C6vwvgEvv77fmk4/qNOXPs6Vx75OTmU/HYgsvEpqK79UpGm/Yv3rvRISEhISEhMTExMTExMTExMTExMTExMTExMTExMTExMTExMREhAREhEQEBAQDw4ODQ0MCwoJCAcGBQQDAgIDBAUGBwgJCgwNDg4PEBEQExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMAAAAAAAAA1v8DANf/AwDY/wMA2f8DANr/AwDb/wMAuP8HALn/BwC6/wcAu/8HALz/BwC9/wcAvv8HAL//BwDA/wcAwf8HAML/BwDD/wcAxP8HAMX/BwDG/wcAx/8HAMj/BwDJ/wcAyv8HAMv/BwDM/wcAzf8HAM7/BwDP/wcA0P8HANH/BwDS/wcA0/8HAOb/AQDU/wMA8P8AAOn/AQDV/wMA5/8BAPH/AADs/wAA7f8AAO7/AAD0fwAA+T8AAPc/AAD6HwAA+R8AAPsPAAD8BwAA/AMAAP0BAAD9AAAAfQAAAD0AAAAdAAAADQAAAAUAAAABAAAAAAAAAAQAAAAMAAAAHAAAADwAAAB8AAAA/AAAAPwBAAD9AwAA+g8AAPgfAAD2PwAA+D8AAPV/AADv/wAA6P8BAPL/AADU/wcA1f8HANb/BwDX/wcA2P8HANn/BwDa/wcA2/8HANz/BwDd/wcA3v8HAN//BwDg/wcA4f8HAOL/BwDj/wcA5P8HAOX/BwDm/wcA5/8HAOj/BwDp/wcA6v8HAOv/BwDs/wcA7f8HAO7/BwDv/wcA8P8HAPH/BwDy/wcA8/8HAPT/BwD1/wcA9v8HAPf/BwD4/wcA+f8HAPr/BwD7/wcA/P8HAP3/BwD+/wcA//8HAAAAAAAAAAAAAAAAABMTFBQUFBQUFBMUFBQUExQTExQSFBQUExQUFBMUExITEhIREhERERAQEA8PDg0NDAwLCgkJCAcGBQQDAgIDBAUGCAgJCgsLCwwMDQ0ODhAQERESEhISEhISFBMUFBQUFBQTFBQUFBMUEhQUExMUFBQUFBQUFBQUFBQAAAAAAAAA5/8HAOj/BwDS/w8A0/8PANT/DwDV/w8A1v8PANf/DwDY/w8A2v8HANn/DwDa/w8A2/8PANz/DwDb/wcA3f8PANz/BwDd/wcA3v8PAOT/AwDf/w8A4P8PAOH/DwDe/wcA4v8PAOP/DwDk/w8A3/8HAOX/DwDg/wcA6P8DAOH/BwDg/wMA6f8DAO//AQDl/wMA7P8BAO3/AQDu/wEA9P8AAPP/AADw/wAA938AAPZ/AAD6PwAA+h8AAPkfAAD6DwAA+A8AAPkHAAD7AwAA/AEAAPoBAAD7AAAAfAAAADwAAAAcAAAADAAAAAUAAAABAAAAAAAAAAQAAAANAAAAHQAAAD0AAAD6AAAA/AAAAPsBAAD6AwAA+AcAAPoHAAD7BwAA+Q8AAPsPAAD4HwAA+x8AAPg/AAD5PwAA8f8AAPL/AADq/wEA6/8BAOH/AwDi/wMA6v8DAOP/AwDm/wMA5/8DAOv/AwDm/w8A4v8HAOf/DwDo/w8A6f8PAOr/DwDr/w8A7P8PAOP/BwDt/w8A7v8PAO//DwDw/w8A5P8HAPH/DwDs/wMA8v8PAPP/DwDl/wcA5v8HAPT/DwD1/w8A9v8PAPf/DwD4/w8A+f8PAPr/DwD7/w8A/P8PAP3/DwD+/w8A//8PAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEAwLCQcFAwECBAYICwwPEBAQEBAQEBEREREREREREREAAAAAAAAAAAAAAAAAAADk/wAA5f8AAOb/AADn/wAA6P8AAOn/AADq/wAA6/8AAOz/AADt/wAA7v8AAO//AADw/wAA8f8AAPL/AADz/wAA9P8AAOL/AAD8DwAA/AcAAP4BAAB+AAAAHgAAAAYAAAAAAAAAAgAAAA4AAAA+AAAA/gAAAP0HAAD9DwAA8H8AAOP/AAD1/wAA9v8AAPf/AAD4/wAA+f8AAPr/AAD2/wEA9/8BAPj/AQD5/wEA+v8BAPv/AQD8/wEA/f8BAP7/AQD//wEAAAAAAAAAAAAAAAAAEhISEhISEhISEhISEhISEBEOCwsIBwQCAQMFBgkLDA8QEhISEhISEhISEhISEhITEwAAAAAAAAAAAAAAAAAAAOL/AwDj/wMA5P8DAOX/AwDm/wMA5/8DAOj/AwDp/wMA6v8DAOv/AwDs/wMA7f8DAO7/AwDv/wMA8P8DAPf/AADw/wEA/D8AAP4HAAD8BwAA/gAAAH4AAAAOAAAAAgAAAAAAAAAGAAAAHgAAAD4AAAD+AQAA/QcAAP4PAAD6fwAA9v8AAPH/AwDy/wMA8/8DAPT/AwD1/wMA9v8DAPf/AwD4/wMA+f8DAPr/AwD7/wMA/P8DAP3/AwD+/wMA/v8HAP//BwAAAAAAAAAAAAAAAAASEhMTExMTExMTExMTExMTExEQEBAODg4NDAsIBgQCAQMFBwkLDQ4ODxAREhMTExMTExMTExMTExMTExMTExMA7f8DAO7/AwDe/wcA3/8HAOD/BwDh/wcA4v8HAOP/BwDk/wcA5f8HAOb/BwDn/wcA6P8HAOn/BwDq/wcA6/8HAOz/BwD0/wEA9/8AAPn/AAD4/wAA+z8AAPo/AAD4PwAA+h8AAPwPAAD8BwAA/gAAAD4AAAAOAAAAAgAAAAAAAAAGAAAAHgAAAH4AAAD+AQAA/QcAAPsfAAD5PwAA/D8AAPp/AAD2/wAA9f8BAOz/AwDt/wcA7v8HAO//BwDw/wcA8f8HAPL/BwDz/wcA9P8HAPX/BwD2/wcA9/8HAPj/BwD5/wcA+v8HAPv/BwD8/wcA/f8HAP7/BwD//wcAAAAAABQUFBQUFBQSExMTExISFBMREhEQEA8ODAsKCQgGBAIBAwUICQoLDA0ODw8QEBEREhISFBMTExQTExQUFBQUFADw/w8A8f8PAPL/DwDz/w8A9P8PAPX/DwD2/w8A8/8DAPX/BwDu/wcA7/8HAPb/BwD0/wMA8v8DAPf/DwDw/wcA9f8BAPD/AwD0/wEA9/8AAPb/AAD4fwAA+z8AAP0PAAD9BwAA/QMAAP0BAAD9AAAAPgAAAA4AAAACAAAAAAAAAAYAAAAeAAAA/AAAAPwBAAD8AwAA/AcAAPwPAAD8HwAA+j8AAPl/AAD6fwAA+P8AAPn/AAD2/wEA9/8BAPX/AwD2/wMA8f8DAPj/DwDx/wcA8v8HAPP/BwD5/w8A9/8HAPT/BwD6/w8A+/8PAPz/DwD9/w8A/v8PAP//DwAAAAAADQ0NDQ0NDQwIBwQDAQIFBgkNDQ0NDQ0ODgAAAAAAAADyH/Mf9B/1H/Yf9x/4H/gP/gB+AA4ABgAAAAIAHgA+AP4B+R/6H/sf/B/9H/4f/j//PwAAAAAAAAAAAAAAAAAADQ0NDQ0ODgsIBwQCAQMFBgkMDQ4ODg4ODgAAAAAAAAD3H/gf+R/6H/sf+D/5P/wH/gB+AA4AAgAAAAYAHgA+AP4B+g/2H/o/+z/8P/0//j//PwAAAAAAAAAAAAAAAAAADQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0LCAYEAwECBQgKDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ4OAM4fzx/QH9Ef0h/TH9Qf1R/WH9cf2B/ZH9of2x/cH90f3h/fH+Af4R/iH+Mf5B/lH+Yf5x/yB/0APgAOAAYAAAACAB4A/AD4A8wf6B/pH+of6x/sH80f7R/uH+8f8B/xH/If8x/0H/Uf9h/3H/gf+R/6H/sf/B/9H/4f/j//PwAACAgICAgICAgICAUCAQMGCAgICAgICAgICAAAAAAAAADs7e7v8PHy8/T1HAIABjr29/j5+vv8/f7/AAAAAAAAAKuqqj6UXpo+02dfPgTb6z2zYAI9AAAAAAAAAAAAAAAA+Pn6+/z9/v8AAQIDBAUGB/v8/f7/AAECAwQFBgcJCw37/f7/AAECAwQFBgcJCw0Q+vz+/wABAgMEBQYHCQsNEPz+/wABAgMEBQYHCQsNEBT+/wABAgMEBQYHCQsNEBQYNjw1PwAAgD8czrQ/+QIVUAAAAAAAAEA/ZmZmP0jhej8AAAAAAADwP807f2aeoPY/6P8DAOb/AwDn/wMA5f8DAPX/BwDx/wcA7f8HAPb/BwDu/wcA7/8HAPD/BwD8/wcA/f8HAP//BwD+/wcA9/8HAPj/BwD7/wcA+f8HAOT/AwD6/wcA4/8DAO//AQDw/wEA9f8AAO7/AQDy/wAA8/8AAPT/AADx/wAA9n8AAPd/AAD5PwAA9T8AAPc/AADzPwAA9j8AAPI/AAD3HwAA9R8AAPkPAAD3DwAA9g8AAPkHAAD0DwAA+AcAAPkDAAD3AwAA9QMAAPgBAAD3AQAA+gAAAPgAAAD2AAAAeQAAADoAAAA4AAAAGgAAAAsAAAAEAAAAAAAAAAoAAAAMAAAAGwAAADkAAAA7AAAAeAAAAHoAAAD3AAAA+QAAAPYBAAD5AQAA9AMAAPYDAAD4AwAA9QcAAPQHAAD2BwAA9wcAAPUPAAD4DwAA9B8AAPYfAAD4HwAA+D8AAPQ/AADw/wAA9H8AAPb/AAD1fwAA4v8DANn/BwDa/wcA2/8HANz/BwDd/wcA3v8HANj/BwDS/wcA0/8HANT/BwDV/wcA1v8HAPL/BwDf/wcA5/8HAOj/BwDp/wcA6v8HAOv/BwDm/wcA4P8HAOH/BwDi/wcA4/8HAOT/BwDl/wcA1/8HAOz/BwD0/wcA8/8HAAAAAAAAAAAAAAAAABISEhITExMTExMTExMTExMTExMSExIRERAREBAQEA8PDg4ODg4ODQ0MDAwLDAsKCgoJCQgICAcGBgUEAwEEBAUGBgcHCAgJCQoKCgsLCwsMDA0NDQ4OEA8QDxITExMTExMTExMTExMTExMTExMTExMTExMTExMTExMAAAAAAAAA4NIAAJDTAABA1AAA8NQAAKDVAABQ1gAAANcAAIDXAAAA2AAAYNkAAMDaAAAAAAAA+AfxAf0H9QNoAPAD9wfsAfUH8QNyAPQDdAARAHYA6wFsAPYD/AfhAfEH8AFhAPYB8gfqAfsH8gFpAO0BdwAXAG8A5gFkAOUBZwAVAGIAEgAAABQAZQAWAG0A6QFjAOQBawATAHEA4wFwAPMB/gfnAfMH7wFgAO4B8AfiAfoH8wNqAOgBdQAQAHMA9AFuAPcD9gfgAfkH8gNmAPUB/wf3AfQHAAAAAAAAAAAAAAAAAADzAW8A/QHrACMA6gD3AegA+gHyAC0AcAAgAAYAKwBuACgA6QD5AWYA+ADnABsA8QD0AWsA9QHsACoAbAAsAAoAJwBnABoA9QAkAAgAHwAJAAAABwAdAAsAMADvABwAZAAeAAwAKQDzAC8A8AD8AXEA8gH0ACEA5gD3AGgA+AHuACIAZQAxAAIAJgDtACUAagD7AXIA/gFpAC4A9gD/AW0A9gEAAAAAAAAAAAAAAAAAAAAACQDvAAsAGQDwAOsB5gHyAwoANQDvATQANwDpAe0B5wHzA+4B7QP6H+wB8gH5B/gH+AP4DwgAOAD2AzYAdQDxA+sD7AP0DxgAdgD0BzkAdADvA/MB9AH2B+gB6gP8H/IA8QH7D/UD8wf8D+4A9wP+f/AB9Qf9f/sf+j////EA8AP8P+oB7gP7P/YP+g/8f/IH9Q/+//QD9wf7f/cP+Q/6fwAAAAAAAAAAAAAAAAAABwAWAPYAGAAIAO8A7wHzAPgHGQAXAO0AFQABAOIA8ABwAPAD7gHxAPoH7gDkAPID9gfvA/0HBQAUAPIACQAEAOUA9ADoAPQDBgACAOcAAwAAAGsA4wBpAPMB6wDmAPYDbgBqAPQB7APwAfkD9QDsAPsH6gBvAPcD+QfzA/8P6QBtAPgDbABoAPUB7gPyAfQH9wfxA/4P7QPxAfUH/gf1A/wHAAAAAAAAAAAAAAAAAAD/H/cP9AfoB/ED7gf5B/gP/R/9D/EH6APoAfAA7AHuA/IH+g/0D+8D8gHoAHAA7ADwAeoD8wfrB+sB6gAaAAgAGQDuAO8B7QfwA/IAcwALAAAACgBxAPMA6QfvB+4B7wAYAAkAGwDrAOkB7Af2B+sD8wHtAHIA6QDxAe0D9wf2D/AH6QPtAfEA6gHsA/gH+Q/8H/wP9Q/qB/MD8gP1B/sP/h8AAAAAAAAAAAAAAAAAAP4H/QPxAesB9AHqAfAB/AP9B/YD5QHqAGwAcQBoAPAA5gH3A/MB7wAyACcAKAAmADEA6wD3AegBbwAuAAgABAAGACkAawDuAe8BcgAtAAIAAAADAC8AcwD6AecBbgArAAcAAQAFACwAbQDsAfkB7gAwACQAKgAlADMA7ADyAfgD5AHtAGoAcABpAHQA8QD6A/8H+QP2Ae0B+AHpAfUB+wP8BwAAAAAAAAAAAAAAAAAAAAAFADcAdADyAOsB7QP3BwQADAA1AHEA7ADuAO4B9QE2ADQAcgDqAPEA6QHzAfUDcwBwAOsA8ADxAfAB7AP6A/MA7QDoAe8B7wPxA/kD+wftAe8A6gHyAfMD+AP5B/wH7gPsAfQB9AP3A/gH/Q/+D/YH8APyA/YD+gf9B/wP/w8OAAUAEAAwAG8A8QD6Af4DAwAAAAQAEgAsAGoAdQD4AA8AAgAGABQALgBpAHIA9QAvABEAEwAqADIAbADsAPoAcQArAC0AMQBtAHAA8gD5Ae8AaAAzAGsAbgDuAPkA/AP4AXQAcwDtAPAA9gD2Af0B/QPzAPQA9wD3AfsB/AH/AwAABQA3AOcA3gHOA9kDyAfNB8gP3Q/kH+wfBAAMADUAcgDqAO0A4gHRA9MD4APYB88P1Q82ADQAcQDoAOwA4QHPA90D2wPQB8cP1A/kD+YAcADpAN0B4wHSA9wDzAfKB94H2A/qD9sf3wHrANwB5gHVA94DywfdB9wHzQ/iD+cP4R/QA+AB5AHWA8UH0QfbB9IP4AfZD+sP4x/pH8QH5QHXA8YHzwfaB8sP2g/jD+kP5h/zH/cf0wfYA+ED1AfZB9MP3g/dH9kf4h/qH/Ef9h/SB9QD2gPHB9cH4gfOD9sP2B/uH/A/9B/yP+EH3wPJB9YHyg/QD+UP5g/rH+8f8z/0P/U/4A/OB9UHxg/RD+EP4B/oH/Af8T/4P/Y//H/oD98HyQ/XD9wP3B/fH+0f9R/5P/s//X/+f+cfzA/WD98P3h/aH+Uf8h/6P/c//D/9P/9/AAAAAAAAAAAAAAAAAAAiAAgAHQAmAF8A0wDPAdAD1wPtA/AH9gf9DwcAAAABAAkAIABUAGAA1QDcANQBzQPeA+cHHAACAAYADAAeACgAWwDNANkAzgHcAdkD8QMlAAsACgANACQAVwBhAMwA3QDMAd4B0wPnA10AIQAfACMAJwBZAGQA2ADfANIB4gHdA+4D0QBVACkAVgBYAGIAzgDgAOIA2gHUA+MD6wfJAV4AWgBcAGMAygDaAMcBygHgAdsD6APsB+MB0gDLANAA1wDbAMYB1QHYAcoD2gPqB/EH4QHUAM8A1gDeAOEA0AHWAdED1QPyA+4H+wfpA80ByAHLAdEB1wHfAc8D4APvA+YH+Af6D+sD3QHTAdkB2wHSA8wD3APqA+0H8wf5B/kP8gfOA+QBywPYA9YD4gPlA+gH9Af1B/cH+w/6B+wD3wPhA+QD5gPwA+kH7wf4D/4P/A//DwAAAAAAAAAAAAAAAAAAAAAGABkAPQCcAMYApwGQA8ID3wPmB/MH+w/sB/oP/g+OAwUAAQAIABQANwBCAJIArwCRAaUBtQGeA8ADogPNA9YHrgAXAAcACQAYADkAQACOAKMAuACZAawBwQGxA5YDvgPKA50APAAVABYAGgA7AEQAkQClAL4AlgGuAbkBoQORA6UD1QOUAJoANgA4ADoAQQCMAJsAsADDAJ4BqwG8AZ8DjwOpA88DkwC/AD4APwBDAEUAngCnALkAlAGiAboBwwGmA6cDuwPUA58AoAGPAI0AkACYAKYAtgDEAJ8BrwG/AZkDvwO0A8kD5wOoALYBqwCkAKoAsgDCAMUAmAGkAbgBjAOkA8QDxgPdA+gDrQCvA5IBvQC8AI4BlwGaAaMBsQGNA5gDtwPTA9ED2wPdB7QA3gOpAZsBnAGhAaoBrQGzAYsDsgO4A84D4QPgA9IH5Qe3AOMHuwGoAaYBsAGyAbcBmwOaA7oDtQPWA9cH5APYB+oHugDoB6ADvQG0AYoDxAGSA6oDsAO8A9cD1AfcB9sH1QfwB8EA+wfIA6MDlQOdA6wDrgPFA9gD4gPmA+QH5wfgB+kH9weQAfIHkwO+AcABlAOXA60DwwPBA9ID2gfZB98H6wf0B/oHlQH4B70DnAOrA6gDswO5A9AD4wPlA+IH3gftB/EH+Qf8B5MB/Q/cA7YDxwPMA8sD2QPaA9MH4QfuB+8H9Qf2B/wP/w+dAcIBtQChAJYAlwCVAJkAoACiAKwAqQCxALMAuwDAAI8BBAAAAAAAAAAAAAAAAAAAAEDdAACg3QAAAN4AAGDeAADA3gAAIN8AAIDfAADA3wAAAOAAALDgAABg4QAAAAAAAAsJCwoHCgsJCwoHCgcFBwkHCgsJCwkHCQsJCwkHCQcFBwkHCQcFBwUBBQcFBwkHCQcFBwkHCQsJCwkHCQsJCwoHCQcFBwkHCgsJCwoHCQsJCwAAAAAAAAAAAAAAAAAAAAkHCQgGCAkICQgGBwYFBgcGCAkHCAgGCAkHCQgGBwYFBgcGCAYFBgUDBQYFBggGBwYFBggGCAkHCQgGCAgHCQgGBwYEBggGBwkHCQcGCAkHCQAAAAAAAAAAAAAAAAAAAAEECAQFCAkJCgQGCQYGCQkJCgkKDQkJCwsKDAQGCgYHCgoKDAUHCwYHCgkJCwkKDQgJDAoLDAgKDwkLDw0OEAgKDgkKDgwMDwsMEAoLDwwMDwAAAAAAAAAAAAAAAAAAAAQFCAUECAkICwUFCAUECAgHCgkICwgICgsKCwQFCAQECAgICgQECAQEBwgHCQgICgcHCQoJCggICwgHCgsKDAgHCgcHCQoJCwsKDAoJCwsKCwAAAAAAAAAAAAAAAAAAAA0MCwsKCwsMDQwLCgkICQoLDAwKCQgHCAkKCwsJCAUEBQgJCwoIBwQBBAcICwsJCAUEBQgJCwsKCQgHCAkKCwwLCgkICQoLDA0MDAsKCgsMDQAAAAAAAAAAAAAAAAAAAAsKCQkJCQkKCwoJCAcHBwgJCgkIBgYGBgYICQkHBgQEBAYHCQkHBgQEBAYHCQkHBgQEBAYHCQkIBgYGBgYICQoJCAcHBwcICgsKCQkJCQkKCwAAAAAAAAAAAAAAAAAAAAEDBgcICQoLAwQGBwgICQkGBgcICAkJCgcHCAgJCQoKCAgJCQoKCgsJCAkJCgoLCwoJCQoKCwwMCwoKCgsLDAwFBAUGBwgJCgQDBAUGBwcIBQQEBQYHBwgGBQUGBgcICAcGBgYHBwgJCAcGBwcICAoJBwcICAgJCQoICAgJCQkKAQMGCAkKCgsLDAwNDQMEBgcICAkKCgoLDAwGBgcICAkKCgoLDAwMCAcICQkKCgsLCwwMDQkICQkKCgsLCwwMDA0KCQkKCwsLDAsMDA0NCwkKCwsLDAwMDA0NDQsKCgsLDAwNDQ0NDQ0LCgoLCwsMDA0NDg0OCwoLCwwMDAwNDQ4ODgwLCwwMDA0NDQ4ODg8MCwwMDA0NDQ0ODg8PDQwMDA0NDQ0ODg4ODwAAAAAAAAAGBQYGBwgJCgoKCwsMBQQEBQYHBwgICQoKCwYEBQUGBgcICAkJCgoGBQUFBgcHCAgJCQoKBwYGBgYHBwgICQkKCggHBgcHBwgICAkKCgsJBwcHBwgICQkJ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AAAAAFDvAABQ7wAAoO8AAPDvAADw7wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwADQAOAA8AEQATABUAFwAZABwAHwAiACUAKQAuADQAOwADAEsAUwBbAGMAawBzAEAAgAAAAAAAAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAANAA4AEAASABQAFgAYABsAHgAhACQAKAAsADAANQA7AAEASABQAFgAYABoAHAAeABAAIAAAAAAAAEAAgADAAQABQAGAAcACAAJAAoACwANAA8AEQAUABcAGgAeACMAKQAwADgAAABIAFAAWABgAGgAcAB4AEAAgAAAAAAAAAAAAAAAHDwAABw8AAAwPAAABDxAAAQ8QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwADQAOABAAEgAUABYAGAAbAB4AIQAkACcAKwAvADUAPAAEAEwAVABcAGQAbAB4AEAAAAAAAAAAAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAANAA4ADwAQABIAFAAWABgAGgAcAB8AIgAlACkALQAyADgAAABIAFAAWABgAGgAcAB4AEAAAAAAAAEAAgADAAQABQAGAAcACAAJAAoACwANAA8AEQAUABcAGgAeACMAKQAwADgAAABIAFAAWABgAGgAcAB4AEAAJDxAACQ8QAAkPEAALDxAACw8QAAsPEAANDxAADQ8QAA8PEAAPDxAADw8QAAEPIAABDyAAAAAAAAAAAAAAAAAAAAAAQACAAMABAAFAAYACAAKAAwAEAAXACAAAAAAAAAAAAABAAIAAwAEAAUABwAJAAsADgARABQAGAAcACAAAAAAAAEAAgADAAQABQAGAAcACQALAA0AEAATABcAGwAgAAAAAQACAAMABAAFAAYABwAIAAoADAAPABIAFgAbACAAAAABAAIAAwAEAAUABgAHAAkACwANAA8AEgAWABsAIAAcPIAAHDyAABw8gAAkPIAAJDyAACQ8gAAsPIAALDyAADQ8gAA0PIAANDyAADw8gAA8PIAAAAAAAAAAAAAAAAAAAAABAAIAAwAEAAUABgAIAAoADAAQABcAHgAAAAAAAAAAAAEAAgADAAQABQA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BYgBAAIAAAAZHAMAAAAAAAAAAAAAAAAAAAAAAAaIAQACAAAAKBwDAAAAAAAAAAAAAAAAAAAAAAAHiAEAAgAAADIcAwAAAAAAAAAAALCMAgAAAAAAAYABAAIAAAA7HAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZAAAAGQAAABkAAAAAAAAABMRDw8NDQ0NCwsLCwsLCwsJCQkJCQkJCQkJCQkJCQkJBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBICAgICAgICAfICAgICAgIA8QERITFBUWFxgZGhscHR4HBwcHCAgICAkJCQkKCgoKCwsLCwwMDAwNDQ0NDg4ODgMDAwMDAwMDAwMDAwMDAwMEBAQEBAQEBAQEBAQEBAQEBQUFBQUFBQUFBQUFBQUFBQYGBgYGBgYGBgYGBgYGBgYBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC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AwAAAAAAAAAAAAAAAwMBAgAAAAAAAAAAAAAAAAICAQAAAAAAAAAAAAAAAAABAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEDAgMCAwIDAgMCAwIDAgEHBgUEAwUEAwIDAgMCAQAABQcGBQQDBAMCAwIBAQAAAAMHBQQGBQQDAwICAQAAAAAFBAMHBgUEAwIBAQAAAAAAAQEHBgUEAwIBAQAAAAAAAAEBBQQDAwIBAQAAAAAAAAABAQEDAwICAQAAAAAAAAAAAQABAwIBAQEAAAAAAAAAAAEAAQMCAQEAAAAAAAAAAAAAAQECAQMAAAAAAAAAAAAAAAEBAQEAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAQEAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQAAAAAAAAAAAAAAAAAAAQICAAAAAAAAAAAAAAAAAAICAgIAAAAAAAAAAAAAAAACAgIDAwAAAAAAAAAAAAAAAgIDAwMDAAAAAAAAAAAAAAIDAwMDAwMAAAAAAAAAAAADAwMDAwMDBAUGBwgJCgsAAQAAAAAAAAAAAAAAAAAAAAEBAAAAAAAAAAAAAAAAAAADAgEAAAAAAAAAAAAAAAAAAwIBAQAAAAAAAAAAAAAAAAMCAwIBAAAAAAAAAAAAAAADAAEDAgUEAAAAAAAAAAAABwYFBAMCAQEBAQEBAQEBAA8ABwsNDgMFCgwBAgQIBgkAAQIECAMFCgwPBwsNDgYJAAAAAAAAAAABAAAAAQAAAAIAAAACAAAAAgAAAAIAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAYAAAAMAAAAGAAAADAAAAD///9/AAAAAAABAgMHCggLAwcLDxEhFSUAAAAAAAAAAAAAAAAAAAAAAgIDAwgLCAsLCw8PFSUVJQAAAAAAAAAAAAAAAAAAAAAAAAEBBwoHCgMDBwcRIREhAAAAAAAAAAAAAAAAAAAAAAACAAIHCgcKAwsDCxEhESEAAAAAAAAAAAAAAAAAAAAAABBAUCAwYHCAkMDQoLDg8ACAAAAAIAAAgAAAACAAAAAABAEIDAUJDQIGCg4DBwsPAAAAAAAAAAAAAAAAAAAAAAAJERIMKBsHIzkdHjomNS8BAhgLEzAUDioyFiU7Hzw3CAMgBBopDRUxKw8sNCc9PhAKGQUhIgYcOCQXMy0uNj8AAAAAAAAAAAAAAAAAAAAAAAgQAQkYIBECGSgwOCEKAxIpMTkaCwQTIioyOhsMBRQjKzM7HA0GFSQsNDwdDhYlLTU9HgcPJi42PhcfJy83PwAAAAAAAAAAAAAAAAAAAAAACQI4EhoiGyMcJB0tBzYnCBgZISkLKgwrDSwONQ8+LxAgKAoxBDIFMwY0Fj0mFzcBETADORM6FDsVPCUeLh8/AAAAAAAAAAAAAAAAAAAAAJnIi42dmpqampqampq4mpqauD+LmpqampqampqampqampqampqZiopvjV6KtpqLi4uLi4tubnx9jJl9f4xtb49/b09sez9ubnx9jJl9f4xtb49/b09sez9bq4aNb299bm5efGx8a32Ns5l9a32Ns5l9a32Ns5l9jIu2tpiImIiZiItviItvjW+MXImKjJiKi5lKlVyLa3qYjLOmtozjesWKmYinmJiampqampqampqampoAAAAAAAAAAAAAAAAAAAAAAAAAAACZuWuLfprFucmampqVmouampqYi256X08/Hx+ZmZmZjMaMxqhPfIpemW+Va6eai4uLi4uLfW5ebl9PfW9uTm5vb19ebHtsfW5ebl9PfW9uTm5vb19ebHtseYw9mpuai5mLe3s/maa3jIiZmqa3jIiZmqa3jIiZmqqZe3treWt5p5e3jJe3jIyMmsTEp5qYp7a2hpWImXmIianCpqeap4m2a6dbemunmpqampqampqampqaAAAAAAAAAAAAAAAAAAAAAAAAAAAAmaBri36axbnJmpqahpqLmpq3mIuaiV9PPx8fmZmZmanGqcaoT+CneplvlVynmouLi4uLi31ufG5fXn1vb099fm9vT2x7XX1ufG5fXn1vb099fm9vT2x7XXmMPZqqmouZi3t7P3ymt4yImZqmt4yImZqmt4yImZqqmYqKenl6eaeXt4yXt4yMjJrEp6eamKe2toaViJl5iHqp0KanmpintmunW2trp5qampqampqampqamgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAECAwQFAAECAwQFAAECAwQFAAECAwQFAAECAwQFAAECAwQFAAECAwQFAAECAwQFAAECAwQFAAECAwQF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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAExIAwADAAAAIAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAACAAAAAIAAAAHAAAAAQAAAAAAAAADAAAAAQAAAAAAAAAIAAAAAgAAAAcAAAACAAAAAAAAAAMAAAACAAAAAAAAAAgAAAACAAAABwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUkgDAAMAAAAgAAAAAAAAAAAAAAADAAAAAgAAAAAAAAAIAAAAAgAAAAcAAAADAAAAAAAAAAMAAAABAAAAAAAAAAgAAAACAAAABwAAAAIAAAAAAAAAAwAAAAAAAAAAAAAACAAAAAIAAAAHAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYSAMAAwEAABAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAABAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAIAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGBIAwADAAAAEAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAEAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAgAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaEgDAAMCAgAQAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAQAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAACAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwSAMAAwIAABAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAABAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAIAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHhIAwABAAAAQAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH1IAwAAAAAAhkgDAAEAAAAEAAAAAAAAAAAAAAABAAAAAAAAAAAAAAABAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMSAMAAQAAAAQAAAAAAAAAAAAAAAEAAAAAAAAABwAAAAEAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJJIAwABAAAAAgAAAAAAAAAAAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAl0gDAAMBAQAQAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAQAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAACAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgSAMAAwEAABAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAABAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAIAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKlIAwADAAAAEAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAEAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAgAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAskgDAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC5SAMAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMJIAwADAQAAAAAAAAAAAAAAAAAAAgAAAAEAAAAAAAAACAAAAAEAAAAHAAAAAgAAAAAAAAAEAAAAAAAAAAAAAAAIAAAAAwAAAAcAAAABAAAAAAAAAAQAAAACAAAAAAAAAAgAAAADAAAABwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAykgDAAMCAAAAAAAAAAAAAAAAAAAEAAAAAQAAAAAAAAAIAAAAAwAAAAcAAAACAAAAAAAAAAYAAAAAAAAAAAAAAAgAAAAFAAAABwAAAAEAAAAAAAAABgAAAAMAAAAAAAAACAAAAAUAAAAHAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADUSAMAAwAAAGAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAMAAAAAAAAAAgAAAAEAAAAAAAAAAQAAAAAAAAADAAAAAwAAAAAAAAACAAAAAQAAAAAAAAABAAAAAAAAAAYAAAACAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANlIAwADAAAAJAAAAAAAAAAAAAAABAAAAAMAAAAAAAAAAQAAAAMAAAAAAAAABAAAAAAAAAAEAAAAAQAAAAAAAAACAAAAAwAAAAEAAAACAAAAAAAAAAQAAAAAAAAAAAAAAAEAAAADAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3kgDAAMAAABgAAAAAAAAAAAAAAABAAAAAAAAAAAAAAABAAAAAAAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAIAAAAAAAAAAQAAAAEAAAAAAAAAAQAAAAAAAAADAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADoSAMAAwAAAGAAAAAAAAAAAAAAAAEAAAAAAAAABgAAAAIAAAAAAAAAAQAAAAEAAAAAAAAAAQAAAAAAAAADAAAAAwAAAAAAAAACAAAAAQAAAAAAAAABAAAAAAAAAAAAAAADAAAAAAAAAAIAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAO1IAwADAAAAJAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAQAAAAMAAAAAAAAAAQAAAAAAAAAEAAAAAQAAAAAAAAACAAAAAwAAAAEAAAACAAAAAAAAAAQAAAADAAAAAAAAAAEAAAADAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8kgDAAMAAABgAAAAAAAAAAAAAAABAAAAAAAAAAMAAAABAAAAAAAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAIAAAAAAAAAAQAAAAEAAAAAAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD8SAMAAwEBABAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAABAAAAAgAAAAAAAAAAAAAACAAAAAEAAAAHAAAAAQAAAAEAAAACAAAAAQAAAAAAAAAIAAAAAQAAAAcAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFJAwADAQEAEAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAEAAAACAAAAAQAAAAAAAAAIAAAAAQAAAAcAAAACAAAAAQAAAAIAAAAAAAAAAAAAAAgAAAABAAAABwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkkDAAQAAACgAAAAAAAAAAAAAAAEAAAAAQAAAAAAAAAIAAAAAwAAAAcAAAACAAAAAAAAAAQAAAACAAAAAAAAAAgAAAADAAAABwAAAAMAAAAAAAAABAAAAAMAAAAAAAAACAAAAAMAAAAHAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAIAAAAAwAAAAcAAAABAAAAAAAAAAAAAAALSQMABAAAAKAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAgAAAADAAAABwAAAAEAAAAAAAAABAAAAAEAAAAAAAAACAAAAAMAAAAHAAAAAgAAAAAAAAAEAAAAAgAAAAAAAAAIAAAAAwAAAAcAAAADAAAAAAAAAAQAAAADAAAAAAAAAAgAAAADAAAABwAAAAQAAAAAAAAAAAAAABBJAwAEAAAAoAAAAAAAAAAAAAAABAAAAAMAAAAAAAAACAAAAAMAAAAHAAAABAAAAAAAAAAEAAAAAgAAAAAAAAAIAAAAAwAAAAcAAAADAAAAAAAAAAQAAAABAAAAAAAAAAgAAAADAAAABwAAAAIAAAAAAAAABAAAAAAAAAAAAAAACAAAAAMAAAAHAAAAAQAAAAAAAAAAAAAAFUkDAAQAAACgAAAAAAAAAAAAAAAEAAAAAgAAAAAAAAAIAAAAAwAAAAcAAAADAAAAAAAAAAQAAAABAAAAAAAAAAgAAAADAAAABwAAAAIAAAAAAAAABAAAAAAAAAAAAAAACAAAAAMAAAAHAAAAAQAAAAAAAAAEAAAAAwAAAAAAAAAIAAAAAwAAAAcAAAAEAAAAAAAAAAAAAAAaSQMAAQAAAAEAAAAAAAAAAAAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjSQMAAAAAAClJAwABAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADJJAwAAAAAAOEkDAAMAAQAQAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAQAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAACAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABASQMAAwABABAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAABAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAIAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAElJAwAEAQEAkAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAEAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAgAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAADAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAAAAAAAAAAAUkkDAAABAQAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABdSQMAAAEBAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGlJAwAAAQEACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdUkDAAABAQAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACASQMAAAEBAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIpJAwADAAAAIQAAAAAAAAAAAAAABgAAAAAAAAAAAAAAEAAAAAUAAAAPAAAAAQAAAAAAAAAGAAAAAgAAAAAAAAAQAAAABQAAAA8AAAADAAAAAAAAAAYAAAAEAAAAAAAAABAAAAAFAAAADwAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkkkDAAMAAAAgAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAQAAAABQAAAA8AAAABAAAAAAAAAAYAAAACAAAAAAAAABAAAAAFAAAADwAAAAMAAAAAAAAABgAAAAQAAAAAAAAAEAAAAAUAAAAPAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACaSQMAAwAAACEAAAAAAAAAAAAAAAIAAAD/////AwAAAAUAAAABAAAABAAAAAAAAAAAAAAAAgAAAAAAAAAFAAAABgAAAAEAAAAFAAAAAQAAAAAAAAACAAAAAAAAAAAAAAAFAAAAAQAAAAQAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKNJAwADAAAAIAAAAAAAAAAAAAAAAgAAAAEAAAADAAAABQAAAAEAAAAEAAAAAgAAAAAAAAACAAAAAAAAAAUAAAAGAAAAAQAAAAUAAAABAAAAAAAAAAIAAAAAAAAAAAAAAAUAAAABAAAABAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArEkDAAMAAAAhAAAAAAAAAAAAAAACAAAA/////wIAAAAFAAAAAQAAAAQAAAAAAAAAAAAAAAIAAAAAAAAABQAAAAUAAAABAAAABAAAAAEAAAAAAAAAAgAAAAAAAAAAAAAABQAAAAEAAAAEAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC1SQMAAwAAACAAAAAAAAAAAAAAAAIAAAABAAAAAgAAAAUAAAABAAAABAAAAAIAAAAAAAAAAgAAAAAAAAAFAAAABQAAAAEAAAAEAAAAAQAAAAAAAAACAAAAAAAAAAAAAAAFAAAAAQAAAAQAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAL5JAwADAAAAIQAAAAAAAAAAAAAAAgAAAAAAAAAAAAAABQAAAAEAAAAEAAAAAQAAAAAAAAACAAAAAAAAAAUAAAAGAAAAAQAAAAUAAAABAAAAAAAAAAIAAAD/////AwAAAAUAAAABAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAx0kDAAMAAAAgAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAFAAAAAQAAAAQAAAABAAAAAAAAAAIAAAAAAAAABQAAAAYAAAABAAAABQAAAAEAAAAAAAAAAgAAAAEAAAADAAAABQAAAAEAAAAEAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQSQMAAwAAACEAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAUAAAABAAAABAAAAAEAAAAAAAAAAgAAAAAAAAAFAAAABQAAAAEAAAAEAAAAAQAAAAAAAAACAAAA/////wIAAAAFAAAAAQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANlJAwADAAAAIAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAABQAAAAEAAAAEAAAAAQAAAAAAAAACAAAAAAAAAAUAAAAFAAAAAQAAAAQAAAABAAAAAAAAAAIAAAABAAAAAgAAAAUAAAABAAAABAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4kkDAAABAQAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADtSQMAAAEBAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPhJAwAAAQEACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkoDAAMBAQAQAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAQAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAACAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOSgMAAwEBABEAAAAAAAAAAAAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAABAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABpKAwADAQAAEAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAgAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJkoDAAMBAAARAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAQAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAACAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAySgMAAwAAABAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAABAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD5KAwADAAAAEQAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAgAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASkoDAAABAQAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABWSgMAAAEBAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGBKAwADAAAAIAAAAAAAAAAAAAAAAgAAAAEAAAAAAAAABAAAAAEAAAADAAAAAgAAAAAAAAACAAAAAAAAAAQAAAAEAAAAAQAAAAMAAAABAAAAAAAAAAIAAAAAAAAAAAAAAAQAAAABAAAAAwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaUoDAAMAAAAhAAAAAAAAAAAAAAACAAAA/////wAAAAAEAAAAAQAAAAMAAAAAAAAAAAAAAAIAAAAAAAAABAAAAAQAAAABAAAAAwAAAAEAAAAAAAAAAgAAAAAAAAAAAAAABAAAAAEAAAADAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABySgMAAwAAACAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAQAAAABAAAAAwAAAAEAAAAAAAAAAgAAAAAAAAAEAAAABAAAAAEAAAADAAAAAQAAAAAAAAACAAAAAQAAAAAAAAAEAAAAAQAAAAMAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHtKAwADAAAAIQAAAAAAAAAAAAAAAgAAAAAAAAAAAAAABAAAAAEAAAADAAAAAQAAAAAAAAACAAAAAAAAAAQAAAAEAAAAAQAAAAMAAAABAAAAAAAAAAIAAAD/////AAAAAAQAAAABAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAhEoDAAIAAACAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAIAAAAAQAAAAcAAAABAAAAAAAAAAIAAAABAAAAAAAAAAgAAAABAAAABwAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAiEoDAAAAAACPSgMAAwAAACEAAAAAAAAAAAAAAAYAAAAEAAAAAAAAABAAAAAFAAAADwAAAAUAAAAAAAAABgAAAAIAAAAAAAAAEAAAAAUAAAAPAAAAAwAAAAAAAAAGAAAAAAAAAAAAAAAQAAAABQAAAA8AAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJdKAwADAAAAIAAAAAAAAAAAAAAABgAAAAQAAAAAAAAAEAAAAAUAAAAPAAAABQAAAAAAAAAGAAAAAgAAAAAAAAAQAAAABQAAAA8AAAADAAAAAAAAAAYAAAAAAAAAAAAAABAAAAAFAAAADwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAn0oDAAMBAQARAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAQAAAAIAAAAAAAAAAAAAAAkAAAABAAAACAAAAAEAAAACAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACqSgMAAwEBABAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAkAAAABAAAACAAAAAEAAAABAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALVKAwADAQEAEQAAAAAAAAAAAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAgAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwUoDAAMBAQAQAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAQAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAACAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADNSgMAAwEAABEAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAABAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANlKAwADAQAAEAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAgAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5UoDAAMAAAARAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAQAAAAIAAAAAAAAAAAAAAAkAAAABAAAACAAAAAEAAAACAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwSgMAAwAAABAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAkAAAABAAAACAAAAAEAAAABAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPtKAwADAAAAEQAAAAAAAAAAAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAgAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0sDAAMAAAAQAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAQAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAACAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATSwMAAwEAABEAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAkAAAABAAAACAAAAAEAAAABAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB5LAwADAQAAEAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAgAAAAIAAAAAAAAAAAAAAAkAAAABAAAACAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKUsDAAABAQAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAxSwMAAwAAADAAAAAAAAAAAgAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAAAAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAEAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADZLAwADAAAAMQAAAAAAAAACAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAAAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAQAAAAIAAAAAAAAAAAAAAAkAAAABAAAACAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPksDAAMAAAAwAAAAAAAAAAIAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAAAAAAIAAAAAAAAAAAAAAAkAAAABAAAACAAAAAEAAAABAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGSwMAAwAAADEAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAAAAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE9LAwADAAAAMAAAAAAAAAACAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAAAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAQAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWEsDAAMAAAAxAAAAAAAAAAIAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAAAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAABAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABhSwMAAwAAADAAAAAAAAAAAgAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAAAAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGpLAwAEAQAAkAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAEAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAgAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAADAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAAAAAAAAAAAc0sDAAQAAACQAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAQAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAACAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAMAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAAAAAAAAAAB8SwMABAEBAJEAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAkAAAABAAAACAAAAAEAAAABAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAwAAAAIAAAAAAAAAAAAAAAkAAAABAAAACAAAAAEAAAAAAAAAAAAAAIhLAwAEAQEAkAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAgAAAAIAAAAAAAAAAAAAAAkAAAABAAAACAAAAAEAAAADAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAAAAAAAAAAAlEsDAAQBAACRAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAQAAAAIAAAAAAAAAAAAAAAkAAAABAAAACAAAAAEAAAACAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAMAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAAAAAAAAAACgSwMABAEAAJAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAkAAAABAAAACAAAAAEAAAABAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAwAAAAIAAAAAAAAAAAAAAAkAAAABAAAACAAAAAEAAAAAAAAAAAAAAKxLAwAEAAAAkQAAAAAAAAAAAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAgAAAAIAAAAAAAAAAAAAAAkAAAABAAAACAAAAAEAAAADAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAAAAAAAAAAAuEsDAAQAAACQAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAQAAAAIAAAAAAAAAAAAAAAkAAAABAAAACAAAAAEAAAACAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAMAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAAAAAAAAAADESwMABAEBAJEAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAABAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAwAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAAAAAAAAAAAANFLAwAEAQEAkAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAgAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAADAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAAAAAAAAAAA3ksDAAQBAACRAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAQAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAACAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAMAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAAAAAAAAAADrSwMABAEAAJAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAABAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAwAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAAAAAAAAAAAAPhLAwAEAAAAkQAAAAAAAAAAAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAgAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAADAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAAAAAAAAAAABUwDAAQAAACQAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAQAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAACAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAMAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAAAAAAAAAAASTAMABAEBAJEAAAAAAAAAAAAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAABAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAwAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAAAAAAAAAAAAB9MAwAEAQEAkAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAgAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAADAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAAAAAAAAAAALEwDAAQBAACRAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAQAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAACAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAMAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAAAAAAAAAAA5TAMABAEAAJAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAABAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAwAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAAAAAAAAAAAAEZMAwAEAAAAkQAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAgAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAADAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAAAAAAAAAAAU0wDAAQAAACQAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAQAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAACAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAMAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAAAAAAAAAABgTAMAAAEBAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGZMAwADAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAEAAAADAAAAAUAAAALAAAAAQAAAAAAAAAGAAAAAgAAAAQAAAAMAAAABQAAAAsAAAADAAAAAAAAAAYAAAAEAAAABAAAAAwAAAAFAAAACwAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbkwDAAMAAAABAAAAAAAAAAAAAAAGAAAAAAAAAAQAAAAMAAAABQAAAAsAAAABAAAAAAAAAAYAAAACAAAABAAAAAwAAAAFAAAACwAAAAMAAAAAAAAABgAAAAQAAAAEAAAADAAAAAUAAAALAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB2TAMAAwEAABAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAABAAAAAgAAAAAAAAAAAAAACAAAAAEAAAAHAAAAAQAAAAEAAAACAAAAAQAAAAAAAAAIAAAAAQAAAAcAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHtMAwADAQAAEAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAEAAAAEAAAAAAAAAAAAAAAKAAAAAwAAAAkAAAABAAAAAQAAAAQAAAACAAAAAAAAAAoAAAADAAAACQAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgkwDAAMBAAARAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAQAAAAQAAAAAAAAAAAAAAAoAAAADAAAACQAAAAEAAAABAAAABAAAAAIAAAAAAAAACgAAAAMAAAAJAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACJTAMABAAAAKEAAAAAAAAAAAAAAAgAAAAAAAAAAAAAABAAAAAHAAAADwAAAAEAAAAAAAAACAAAAAIAAAAAAAAAEAAAAAcAAAAPAAAAAwAAAAAAAAAIAAAABAAAAAAAAAAQAAAABwAAAA8AAAAFAAAAAAAAAAgAAAAGAAAAAAAAABAAAAAHAAAADwAAAAcAAAAAAAAAAAAAAJJMAwAEAAAAoAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAEAAAAAcAAAAPAAAAAQAAAAAAAAAIAAAAAgAAAAAAAAAQAAAABwAAAA8AAAADAAAAAAAAAAgAAAAEAAAAAAAAABAAAAAHAAAADwAAAAUAAAAAAAAACAAAAAYAAAAAAAAAEAAAAAcAAAAPAAAABwAAAAAAAAAAAAAAm0wDAAQAAAChAAAAAAAAAAAAAAAIAAAABAAAAAAAAAAQAAAABwAAAA8AAAAFAAAAAAAAAAgAAAACAAAAAAAAABAAAAAHAAAADwAAAAMAAAAAAAAACAAAAAAAAAAAAAAAEAAAAAcAAAAPAAAAAQAAAAAAAAAIAAAABgAAAAAAAAAQAAAABwAAAA8AAAAHAAAAAAAAAAAAAACkTAMABAAAAKAAAAAAAAAAAAAAAAgAAAAEAAAAAAAAABAAAAAHAAAADwAAAAUAAAAAAAAACAAAAAIAAAAAAAAAEAAAAAcAAAAPAAAAAwAAAAAAAAAIAAAAAAAAAAAAAAAQAAAABwAAAA8AAAABAAAAAAAAAAgAAAAGAAAAAAAAABAAAAAHAAAADwAAAAcAAAAAAAAAAAAAAK1MAwADAQAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAACAAAAAEAAAAHAAAAAQAAAAAAAAAEAAAAAwAAAAAAAAAIAAAAAwAAAAcAAAAEAAAAAAAAAAQAAAABAAAAAAAAAAgAAAADAAAABwAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtUwDAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC5TAMAAgAAAIEAAAAAAAAAAAAAAAQAAAAAAAAAAAAAABAAAAADAAAADwAAAAEAAAAAAAAABAAAAAIAAAAAAAAAEAAAAAMAAAAPAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMBMAwACAAAAgAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAEAAAAAMAAAAPAAAAAQAAAAAAAAAEAAAAAgAAAAAAAAAQAAAAAwAAAA8AAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAx0wDAAQAAACwAAAAAAAAAAIAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAABAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAMAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAAAAAAAAAADNTAMABAAAALEAAAAAAAAAAgAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAAAAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAwAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAAAAAAAAAAAANdMAwAEAAAAsAAAAAAAAAACAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAAAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAQAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAADAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAAAAAAAAAAA4UwDAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADlTAMAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOpMAwAAAQEACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9kwDAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD7TAMAAwAAACAAAAAAAAAAAAAAAAQAAAABAAAAAAAAAAgAAAADAAAABwAAAAIAAAAAAAAABAAAAAIAAAAAAAAACAAAAAMAAAAHAAAAAwAAAAAAAAAEAAAAAwAAAAAAAAAIAAAAAwAAAAcAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABNAwADAAAAIAAAAAAAAAAAAAAABAAAAAAAAAAAAAAACAAAAAMAAAAHAAAAAQAAAAAAAAAEAAAAAQAAAAAAAAAIAAAAAwAAAAcAAAACAAAAAAAAAAQAAAACAAAAAAAAAAgAAAADAAAABwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABU0DAAMAAAAgAAAAAAAAAAAAAAAEAAAAAwAAAAAAAAAIAAAAAwAAAAcAAAAEAAAAAAAAAAQAAAACAAAAAAAAAAgAAAADAAAABwAAAAMAAAAAAAAABAAAAAEAAAAAAAAACAAAAAMAAAAHAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKTQMAAwAAACAAAAAAAAAAAAAAAAQAAAACAAAAAAAAAAgAAAADAAAABwAAAAMAAAAAAAAABAAAAAEAAAAAAAAACAAAAAMAAAAHAAAAAgAAAAAAAAAEAAAAAAAAAAAAAAAIAAAAAwAAAAcAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9NAwADAQEAEQAAAAAAAAAAAAAAAgAAAAAAAAAAAAAADAAAAAEAAAALAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAMAAAAAQAAAAsAAAABAAAAAgAAAAIAAAAAAAAAAAAAAAwAAAABAAAACwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG00DAAMBAQAQAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAMAAAAAQAAAAsAAAABAAAAAQAAAAIAAAAAAAAAAAAAAAwAAAABAAAACwAAAAEAAAACAAAAAgAAAAAAAAAAAAAADAAAAAEAAAALAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAnTQMAAwEBABEAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAA4AAAABAAAADQAAAAEAAAABAAAAAgAAAAAAAAAAAAAADgAAAAEAAAANAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAOAAAAAQAAAA0AAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADNNAwADAQEAEAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAADgAAAAEAAAANAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAOAAAAAQAAAA0AAAABAAAAAgAAAAIAAAAAAAAAAAAAAA4AAAABAAAADQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP00DAAMBAAARAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAMAAAAAQAAAAsAAAABAAAAAQAAAAIAAAAAAAAAAAAAAAwAAAABAAAACwAAAAEAAAACAAAAAgAAAAAAAAAAAAAADAAAAAEAAAALAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLTQMAAwEAABAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAwAAAABAAAACwAAAAEAAAABAAAAAgAAAAAAAAAAAAAADAAAAAEAAAALAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAMAAAAAQAAAAsAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFdNAwADAQAAEQAAAAAAAAAAAAAAAgAAAAAAAAAAAAAADgAAAAEAAAANAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAOAAAAAQAAAA0AAAABAAAAAgAAAAIAAAAAAAAAAAAAAA4AAAABAAAADQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAY00DAAMBAAAQAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAOAAAAAQAAAA0AAAABAAAAAQAAAAIAAAAAAAAAAAAAAA4AAAABAAAADQAAAAEAAAACAAAAAgAAAAAAAAAAAAAADgAAAAEAAAANAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABvTQMAAwAAABEAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAwAAAABAAAACwAAAAEAAAABAAAAAgAAAAAAAAAAAAAADAAAAAEAAAALAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAMAAAAAQAAAAsAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHtNAwADAAAAEAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAADAAAAAEAAAALAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAMAAAAAQAAAAsAAAABAAAAAgAAAAIAAAAAAAAAAAAAAAwAAAABAAAACwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAh00DAAMAAAARAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAOAAAAAQAAAA0AAAABAAAAAQAAAAIAAAAAAAAAAAAAAA4AAAABAAAADQAAAAEAAAACAAAAAgAAAAAAAAAAAAAADgAAAAEAAAANAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACTTQMAAwAAABAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAA4AAAABAAAADQAAAAEAAAABAAAAAgAAAAAAAAAAAAAADgAAAAEAAAANAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAOAAAAAQAAAA0AAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJ9NAwADAAAAMQAAAAAAAAACAAAAAgAAAAAAAAAAAAAADAAAAAEAAAALAAAAAQAAAAAAAAACAAAAAAAAAAAAAAAMAAAAAQAAAAsAAAABAAAAAQAAAAIAAAAAAAAAAAAAAAwAAAABAAAACwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqE0DAAMAAAAwAAAAAAAAAAIAAAACAAAAAAAAAAAAAAAMAAAAAQAAAAsAAAABAAAAAAAAAAIAAAAAAAAAAAAAAAwAAAABAAAACwAAAAEAAAABAAAAAgAAAAAAAAAAAAAADAAAAAEAAAALAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACxTQMAAwAAADEAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAA4AAAABAAAADQAAAAEAAAAAAAAAAgAAAAAAAAAAAAAADgAAAAEAAAANAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAOAAAAAQAAAA0AAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALpNAwADAAAAMAAAAAAAAAACAAAAAgAAAAAAAAAAAAAADgAAAAEAAAANAAAAAQAAAAAAAAACAAAAAAAAAAAAAAAOAAAAAQAAAA0AAAABAAAAAQAAAAIAAAAAAAAAAAAAAA4AAAABAAAADQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAw00DAAMCAAAQAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAQAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAACAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMTQMAAwAAACABAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAIAAAAAAAAAAQAAAAEAAAAAAAAAAQAAAAAAAAAAAAAABAAAAAAAAAADAAAAAQAAAAAAAAABAAAAAAAAAAAAAAACAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANhNAwADAAAAIAEAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAgAAAAAAAAABAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAEAAAAAAAAAAMAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAIAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5E0DAAMAAAAgAQAAAAAAAAAAAAABAAAAAAAAAAAAAAACAAAAAAAAAAEAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAQAAAAAAAAAAwAAAAEAAAAAAAAAAQAAAAAAAAAAAAAAAgAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwTQMAAwAAACABAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAIAAAAAAAAAAQAAAAEAAAAAAAAAAQAAAAAAAAAAAAAABAAAAAAAAAADAAAAAQAAAAAAAAABAAAAAAAAAAAAAAACAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPxNAwADAAAAIAEAAAAAAAAAAAAAAgAAAAAAAAAAAAAABAAAAAEAAAADAAAAAQAAAAAAAAACAAAAAAAAAAAAAAAIAAAAAQAAAAcAAAABAAAAAAAAAAIAAAAAAAAAAAAAAAQAAAABAAAAAwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC04DAAMAAAAhAQAAAAAAAAAAAAACAAAAAAAAAAAAAAAEAAAAAQAAAAMAAAABAAAAAAAAAAIAAAAAAAAAAAAAAAgAAAABAAAABwAAAAEAAAAAAAAAAgAAAAAAAAAAAAAABAAAAAEAAAADAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaTgMAAwAAACABAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAQAAAABAAAAAwAAAAEAAAAAAAAAAgAAAAAAAAAAAAAACAAAAAEAAAAHAAAAAQAAAAAAAAACAAAAAAAAAAAAAAAEAAAAAQAAAAMAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAClOAwADAAAAIQEAAAAAAAAAAAAAAgAAAAAAAAAAAAAABAAAAAEAAAADAAAAAQAAAAAAAAACAAAAAAAAAAAAAAAIAAAAAQAAAAcAAAABAAAAAAAAAAIAAAAAAAAAAAAAAAQAAAABAAAAAwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOE4DAAMAAAAgAQAAAAAAAAAAAAACAAAAAAAAAAAAAAAEAAAAAQAAAAMAAAABAAAAAAAAAAIAAAAAAAAAAAAAAAgAAAABAAAABwAAAAEAAAAAAAAAAgAAAAAAAAAAAAAABAAAAAEAAAADAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABHTgMAAwAAACEBAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAQAAAABAAAAAwAAAAEAAAAAAAAAAgAAAAAAAAAAAAAACAAAAAEAAAAHAAAAAQAAAAAAAAACAAAAAAAAAAAAAAAEAAAAAQAAAAMAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFZOAwADAAAAIAEAAAAAAAAAAAAAAgAAAAAAAAAAAAAABAAAAAEAAAADAAAAAQAAAAAAAAACAAAAAAAAAAAAAAAIAAAAAQAAAAcAAAABAAAAAAAAAAIAAAAAAAAAAAAAAAQAAAABAAAAAwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZU4DAAMAAAAhAQAAAAAAAAAAAAACAAAAAAAAAAAAAAAEAAAAAQAAAAMAAAABAAAAAAAAAAIAAAAAAAAAAAAAAAgAAAABAAAABwAAAAEAAAAAAAAAAgAAAAAAAAAAAAAABAAAAAEAAAADAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0TgMAAwABABAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAABAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIBOAwADAAEAEQAAAAAAAAAAAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAgAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjE4DAAMAAQAQAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAMAAAAAQAAAAsAAAABAAAAAQAAAAIAAAAAAAAAAAAAAAwAAAABAAAACwAAAAEAAAACAAAAAgAAAAAAAAAAAAAADAAAAAEAAAALAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACYTgMAAwABABEAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAwAAAABAAAACwAAAAEAAAABAAAAAgAAAAAAAAAAAAAADAAAAAEAAAALAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAMAAAAAQAAAAsAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKROAwAEAAAAgAAAAAAAAAAAAAAACAAAAAIAAAAAAAAAEAAAAAcAAAAPAAAAAwAAAAAAAAAIAAAABAAAAAAAAAAQAAAABwAAAA8AAAAFAAAAAAAAAAgAAAAGAAAAAAAAABAAAAAHAAAADwAAAAcAAAAAAAAACAAAAAAAAAAAAAAAEAAAAAcAAAAPAAAAAQAAAAAAAAAAAAAArU4DAAQAAACBAAAAAAAAAAAAAAAIAAAAAgAAAAAAAAAQAAAABwAAAA8AAAADAAAAAAAAAAgAAAAEAAAAAAAAABAAAAAHAAAADwAAAAUAAAAAAAAACAAAAAYAAAAAAAAAEAAAAAcAAAAPAAAABwAAAAAAAAAIAAAAAAAAAAAAAAAQAAAABwAAAA8AAAABAAAAAAAAAAAAAAC2TgMAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMdOAwADAQEAEAAAAAAAAAAAAAAAAgAAAAAAAAAGAAAACgAAAAEAAAAJAAAAAQAAAAEAAAAEAAAAAAAAAAYAAAAKAAAAAwAAAAkAAAABAAAAAQAAAAQAAAACAAAABgAAAAoAAAADAAAACQAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzk4DAAMBAQARAAAAAAAAAAAAAAACAAAAAAAAAAYAAAAKAAAAAQAAAAkAAAABAAAAAQAAAAQAAAAAAAAABgAAAAoAAAADAAAACQAAAAEAAAABAAAABAAAAAIAAAAGAAAACgAAAAMAAAAJAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADVTgMABAAAALEAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAAwAAAABAAAACwAAAAEAAAAAAAAAAgAAAAAAAAAAAAAADAAAAAEAAAALAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAMAAAAAQAAAAsAAAABAAAAAwAAAAIAAAAAAAAAAAAAAAwAAAABAAAACwAAAAEAAAAAAAAAAAAAAN9OAwAEAAAAsAAAAAAAAAACAAAAAgAAAAAAAAAAAAAADAAAAAEAAAALAAAAAQAAAAAAAAACAAAAAAAAAAAAAAAMAAAAAQAAAAsAAAABAAAAAQAAAAIAAAAAAAAAAAAAAAwAAAABAAAACwAAAAEAAAADAAAAAgAAAAAAAAAAAAAADAAAAAEAAAALAAAAAQAAAAAAAAAAAAAA6U4DAAQAAACxAAAAAAAAAAIAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAAAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAABAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAMAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAAAAAAAAAADzTgMABAAAALAAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAAAAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAwAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAAAAAAAAAAAAP1OAwAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACE8DAAEAAAABAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAMAAAAAQAAAAsAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEU8DAAAAAAAXTwMAAQAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAwAAAABAAAACwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgTwMAAAAAACZPAwABAAAAAQAAAAAAAAAAAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC9PAwAAAAAANU8DAAEAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPk8DAAAAAABETwMAAwEBABAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAABAAAABAAAAAAAAAAAAAAAEAAAAAMAAAAPAAAAAQAAAAEAAAAEAAAAAgAAAAAAAAAQAAAAAwAAAA8AAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEtPAwADAQEAEQAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAEAAAAEAAAAAAAAAAAAAAAQAAAAAwAAAA8AAAABAAAAAQAAAAQAAAACAAAAAAAAABAAAAADAAAADwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUk8DAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYTwMAAQAAAAEAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAkAAAABAAAACAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgTwMAAAAAAGVPAwABAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG1PAwAAAAAAck8DAAMAAAAxAgAAAAAAAAIAAAAEAAAAAAAAAAAAAAAgAAAAAwAAAB8AAAABAAAAAAAAAAQAAAAAAAAAAAAAACAAAAADAAAAHwAAAAEAAAABAAAABAAAAAAAAAAAAAAAIAAAAAMAAAAfAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB8TwMAAwAAADACAAAAAAAAAgAAAAQAAAAAAAAAAAAAACAAAAADAAAAHwAAAAEAAAAAAAAABAAAAAAAAAAAAAAAIAAAAAMAAAAfAAAAAQAAAAEAAAAEAAAAAAAAAAAAAAAgAAAAAwAAAB8AAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIZPAwAEAAAAsQIAAAAAAAACAAAABAAAAAAAAAAAAAAAIAAAAAMAAAAfAAAAAQAAAAAAAAAEAAAAAAAAAAAAAAAgAAAAAwAAAB8AAAABAAAAAQAAAAQAAAAAAAAAAAAAACAAAAADAAAAHwAAAAEAAAADAAAABAAAAAAAAAAAAAAAIAAAAAMAAAAfAAAAAQAAAAAAAAAAAAAAkU8DAAQAAACwAgAAAAAAAAIAAAAEAAAAAAAAAAAAAAAgAAAAAwAAAB8AAAABAAAAAAAAAAQAAAAAAAAAAAAAACAAAAADAAAAHwAAAAEAAAABAAAABAAAAAAAAAAAAAAAIAAAAAMAAAAfAAAAAQAAAAMAAAAEAAAAAAAAAAAAAAAgAAAAAwAAAB8AAAABAAAAAAAAAAAAAACcTwMAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMhPAwDRTwMAwE8DAMhPAwDXTwMA3k8DAOZPAwDwTwMA+k8DAP9PAwAGUAMAD1ADABhQAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAhUAMAAAAAAMhPAwDRTwMAwE8DAMhPAwDXTwMA3k8DAOZPAwDwTwMAK1ADADJQAwA5UAMAQFADAE1QAwBVUAMA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AADA////30EIAAAAAAAAAJFZAwB7WQMAKAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAADA////30EIAAAAAAAAAKBZAwCkWQMALAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAADA////30EIAAAAAAAAALtZAwCkWQMALAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAADA////30EIAAAAAAAAAMtZAwDPWQMADAAAAFRNRlP//////////wAAAAAAAPC/AADA////30EIAAAAAAAAAOdZAwDPWQMADAAAAFRNRlP//////////wAAAAAAAPC/AADA////30EIAAAAAAAAAPVZAwD5WQMAFAAAAFRNRlP//////////wAAAAAAAPC/AADA////30EIAAAAAAAAABJaAwD5WQMAFAAAAFRNRlP//////////wAAAAAAAPC/AADA////30EIAAAAAAAAACFaAwAlWgMAeAAAAFRNRlP//////////wAAAAAAAPC/AADA////30EIAAAAAAAAAEBaAwAlWgMAeAAAAFRNRlP//////////wAAAAAAAPC/AADA////30EIAAAAAAAAAFRaAwBYWgMAaAAAAEFMSEMAAAAAAAAAAAAAAAAAAODDAAAAAAAA4EMIAAAAcVoDAIBaAwBYWgMAaAAAAEFMSEMAAAAAAAAAAAAAAAAAAODDAAAAAAAA4EMIAAAAcVoDAJJaAwCWWgMAcAAAAEFMSEMAAAAAAAAAAAAAAAAAAODDAAAAAAAA4EMIAAAAcVoDALBaAwCWWgMAcAAAAEFMSEMAAAAAAAAAAAAAAAAAAODDAAAAAAAA4EMIAAAAcVoDAMNaAwDIWgMAOAAAAAQAAADNO39mnqDmPwAAAAAAAEDAAAAAAAAAQEAIAAAAAAAAAN1aAwDIWgMAOAAAAAQAAADNO39mnqDmPwAAAAAAAEDAAAAAAAAAQEAIAAAAAAAAAO5aAwDzWgMANAAAAAQAAADNO39mnqDmPwAAAAAAAEDAAAAAAAAAQEAIAAAAAAAAAApbAwAdWwMANAAAAAQAAADNO39mnqDmPwAAAAAAAEDAAAAAAAAAQEAIAAAAAAAAADRbAwBCWwMAPAAAAAQAAAAAAAAAAAAAAAAAAAAAAEDAAAAAAAAAQEAIAAAAAAAAAFRbAwBaWwMAQAAAAAQAAAAAAAAAAADwPwAAAAAAQI/AAAAAAABAj0AIAAAAAAAAAG5bAwBaWwMAQAAAAAQAAAAAAAAAAADwPwAAAAAAQI/AAAAAAABAj0AIAAAAAAAAAH5bAwCOWwMARAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAj0AIAAAAAAAAAKJbAwCoWwMAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADg////70EIAAAAolsDALJbAwCoWwMAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADg////70EIAAAAolsDALxbAwDAWwMAAAAAAIAAAAABAAAAAAAAAAAAAAAAAODBAADA////30EIAAAAolsDANFbAwDeWwMAiAAAAAQAAAAAAAAAAADwPwAAAAAAAAAAAADA////30EIAAAAAAAAAO9bAwD9WwMAfAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAUUAIAAAA71sDAA9cAwAbXAMAAAAAAIAAAAABAAAAAAAAAAAAAAAAAODBAADA////30EIAAAA71sDADVcAwBAXAMAAAAAAIAAAAACAAAAAAAAAAAAAAAAAODBAADA////30EIAAAA71sDAFlcAwBnXAMAAAAAAIAAAAADAAAAAAAAAAAAAAAAAODBAADA////30EIAAAA71sDAI9cAwCYXAMAAAAAAIAAAABBAAAAAAAAAAAAAAAAAODBAADA////30EIAAAA71sDAL1cAwDFXAMAAAAAAIAAAABFAAAAAAAAAAAAAAAAAODBAADA////30EIAAAA71sDAOlcAwD1XAMAAAAAAIAAAABGAAAAAAAAAAAAAAAAAODBAADA////30EIAAAA71sDAB1dAwAqXQMAAAAAAIAAAABHAAAAAAAAAAAAAAAAAODBAADA////30EIAAAA71sDAFNdAwBeXQMAAAAAAIAAAABCAAAAAAAAAAAAAAAAAODBAADA////30EIAAAA71sDAIVdAwCZXQMAAAAAAIAAAABDAAAAAAAAAAAAAAAAAODBAADA////30EIAAAA71sDAMldAwDdXQMAAAAAAIAAAABEAAAAAAAAAAAAAAAAAODBAADA////30EIAAAA71sDAA1eAwAZXgMAJCsAAAEAAAAgAAAAAAAAAAAAAAAAAAAAAADA////30EIAAAAAAAAADheAwBEXgMA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CgAAAGQAAADoAwAAECcAAKCGAQBAQg8AgJaYAADh9QX/////////////////////////////////////////////////////////////////AAECAwQFBgcICf////////8KCwwNDg8QERITFBUWFxgZGhscHR4fICEiI////////woLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIj/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wAAAAAAAAAAAAAAAAAAABEACgAREREAAAAABQAAAAAAAAkAAAAACwAAAAAAAAAAEQAPChEREQMKBwABEwkLCwAACQYLAAALAAYRAAAAERERAAAAAAAAAAAAAAAAAAAAAAsAAAAAAAAAABEACgoREREACgAAAgAJCwAAAAkACwAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAwAAAAACQwAAAAAAAwAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAADQAAAAQNAAAAAAkOAAAAAAAOAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAA8AAAAADwAAAAAJEAAAAAAAEAAAEAAAEgAAABISEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASAAAAEhISAAAAAAAACQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAAAAAAAAAAACgAAAAAKAAAAAAkLAAAAAAALAAALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAADAAAAAAJDAAAAAAADAAADAAAMDEyMzQ1Njc4OUFCQ0RFRnV0ZjgAY2hhcgAAyHdjaGFydAAAxnVjczIAdWNzMmJlAADEdWNzMmxlAADFdXRmMTYAdXRmMTZiZQAAwnV0ZjE2bGUAAMF1Y3M0AHVjczRiZQB1dGYzMgB1dGYzMmJlAADAdWNzNGxlAHV0ZjMybGUAAMNh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fQB7IHZhciBzZWxmID0gU0xbJDBdOyBpZiAoc2VsZiAmJiBzZWxmLmF1ZGlvQ29udGV4dCAmJiBzZWxmLmF1ZGlvQ29udGV4dC5zdGF0ZSA9PSAnc3VzcGVuZGVkJykgeyBzZWxmLmF1ZGlvQ29udGV4dC5yZXN1bWUoKTsgfSB9AHsgdmFyIHNlbGYgPSBOUFskMF07IHZhciByZXQgPSBzZWxmLmVtaXQoInN0YXRzIiwgeyJidWYiIDogJDEsICJmcHMiIDogJDIsICJhYnBzIiA6ICQzLCAidmJwcyIgOiAkNH0pOyB9AFVuYXV0aG9yaXplZCEAQ29kZWMgbm90IGZvdW5kAENvdWxkIG5vdCBhbGxvY2F0ZSBjb2RlYyBjb250ZXh0AEdMIGVycm9yIGFmdGVyICVzKCk6IDB4JTA4eAoAZ2xDcmVhdGVTaGFkZXIAdmVydGV4AGZyYWdtZW50AENvdWxkIG5vdCBjb21waWxlICVzIHNoYWRlcjoKJXMKACVzOiBDb3VsZCBub3QgY3JlYXRlIHByb2dyYW0AaW5pdEdMAGFQb3NpdGlvbgBnbEdldEF0dHJpYkxvY2F0aW9uIGFQb3NpdGlvbgAlczogQ291bGQgbm90IGdldCBhUG9zaXRpb24gaGFuZGxlAGFUZXh0dXJlQ29vcmQAZ2xHZXRBdHRyaWJMb2NhdGlvbiBhVGV4dHVyZUNvb3JkACVzOiBDb3VsZCBub3QgZ2V0IGFUZXh0dXJlQ29vcmQgaGFuZGxlAGdsVmVydGV4QXR0cmliUG9pbnRlciBhUG9zaXRpb24AZ2xFbmFibGVWZXJ0ZXhBdHRyaWJBcnJheSBwb3NpdGlvbkhhbmRsZQBnbFZlcnRleEF0dHJpYlBvaW50ZXIgYVRleHR1cmVDb29yZABnbEVuYWJsZVZlcnRleEF0dHJpYkFycmF5IGFUZXh0dXJlQ29vcmQAWXRleABnbEdldFVuaWZvcm1Mb2NhdGlvbgBnbFVuaWZvcm0xaSBZdGV4AFV0ZXgAZ2xHZXRVbmlmb3JtTG9jYXRpb24gVXRleABnbFVuaWZvcm0xaSBVdGV4AFZ0ZXgAZ2xVbmlmb3JtMWkAZ2xDcmVhdGVQcm9ncmFtAENvdWxkIG5vdCBsaW5rIHByb2dyYW0AQ291bGQgbm90IGxpbmsgcHJvZ3JhbToKJXMKAGRlbGV0ZVRleHR1cmVzAFZpZGVvIHNpemUgY2hhbmdlOiVkIHggJWQKAHNldHVwVGV4dHVyZXMAaW5pdGlhbGl6ZVRleHR1cmUAeyBpZiAodHlwZW9mKFNMKSA9PSAndW5kZWZpbmVkJykgeyBTTCA9IHt9OyB9IFNMWyQwXSA9IHt9OyB9AHsgaWYgKHR5cGVvZihTTFskMF0pID09ICdvYmplY3QnKSB7IGRlbGV0ZSBTTFskMF07IH0gfQB7IHZhciBzZWxmID0gU0xbJDBdOyBpZiAoc2VsZi5zY3JpcHRQcm9jZXNzb3JOb2RlICE9IHVuZGVmaW5lZCkgeyBzZWxmLnNjcmlwdFByb2Nlc3Nvck5vZGUuZGlzY29ubmVjdCgpOyBzZWxmLnNjcmlwdFByb2Nlc3Nvck5vZGUgPSB1bmRlZmluZWQ7IH0gaWYgKHNlbGYuYXVkaW9Db250ZXh0ICE9IHVuZGVmaW5lZCkgeyBzZWxmLmF1ZGlvQ29udGV4dC5jbG9zZSgpOyBzZWxmLmF1ZGlvQ29udGV4dCA9IHVuZGVmaW5lZDsgfSBpZiAoc2VsZi5jdXJyZW50T3V0cHV0QnVmZmVyICE9IHVuZGVmaW5lZCkgeyBzZWxmLmN1cnJlbnRPdXRwdXRCdWZmZXIgPSB1bmRlZmluZWQgfSByZXR1cm4gMDsgfQB7IHZhciBzZWxmID0gU0xbJDBdOyBpZiAodHlwZW9mKEF1ZGlvQ29udGV4dCkgIT0gJ3VuZGVmaW5lZCcpIHsgc2VsZi5hdWRpb0NvbnRleHQgPSBuZXcgQXVkaW9Db250ZXh0KCk7IH0gZWxzZSBpZiAodHlwZW9mKHdlYmtpdEF1ZGlvQ29udGV4dCkgIT0gJ3VuZGVmaW5lZCcpIHsgc2VsZi5hdWRpb0NvbnRleHQgPSBuZXcgd2Via2l0QXVkaW9Db250ZXh0KCk7IH0gcmV0dXJuIHNlbGYuYXVkaW9Db250ZXh0ID09IHVuZGVmaW5lZCA/IC0xIDogMDsgfQBXZWIgQXVkaW8gQVBJIGlzIG5vdCBhdmFpbGFibGUhAHsgcmV0dXJuIFNMWyQwXS5hdWRpb0NvbnRleHQuc2FtcGxlUmF0ZTsgfQB7IHZhciBzZWxmID0gU0xbJDNdOyBzZWxmLnNjcmlwdFByb2Nlc3Nvck5vZGUgPSBzZWxmLmF1ZGlvQ29udGV4dFsnY3JlYXRlU2NyaXB0UHJvY2Vzc29yJ10oJDEsIDAsICQwKTsgc2VsZi5zY3JpcHRQcm9jZXNzb3JOb2RlWydvbmF1ZGlvcHJvY2VzcyddID0gZnVuY3Rpb24oZSkgeyBzZWxmLmN1cnJlbnRPdXRwdXRCdWZmZXIgPSBlWydvdXRwdXRCdWZmZXInXTsgZHluQ2FsbCgndmknLCAkMiwgWyQzXSk7IH07IHNlbGYuc2NyaXB0UHJvY2Vzc29yTm9kZVsnY29ubmVjdCddKHNlbGYuYXVkaW9Db250ZXh0WydkZXN0aW5hdGlvbiddKTsgc2VsZi5hdWRpb0NvbnRleHQucmVzdW1lKCk7IH0AU0RMMiBvcGVuIGF1ZGlvIGRldmljZSBzcj0lZCBuYnM9JWQKAHsgdmFyIHNlbGYgPSBTTFskMF07IHZhciBjaGFubmVsRGF0YSA9IHNlbGYuY3VycmVudE91dHB1dEJ1ZmZlci5nZXRDaGFubmVsRGF0YSgwKTsgaWYgKCQzID09ICQyKSB7IGZvciAodmFyIGkgPSAwOyBpIDwgJDI7IGkrKykgeyBjaGFubmVsRGF0YVtpXSA9IEhFQVBGMzJbKCQxICsgKGkgPDwgMikpID4+IDJdICogJDQ7IH0gfSBlbHNlIHsgY2hhbm5lbERhdGEuZmlsbCgwKTsgfSB9AGxpYmF2Y29kZWMvYXZwYWNrZXQuYwBzaXplPD0weDdmZmZmZmZmIC0gNSAmJiBwIC0gcGt0LT5kYXRhID49IHNpemUAcGt0LT5zaXplID49IDAAVGhpcyBkZWNvZGVyIGRvZXMgbm90IHN1cHBvcnQgcGFyYW1ldGVyIGNoYW5nZXMsIGJ1dCBQQVJBTV9DSEFOR0Ugc2lkZSBkYXRhIHdhcyBzZW50IHRvIGl0LgoASW52YWxpZCBjaGFubmVsIGNvdW50AEludmFsaWQgc2FtcGxlIHJhdGUAUEFSQU1fQ0hBTkdFIHNpZGUgZGF0YSB0b28gc21hbGwuCgBFcnJvciBhcHBseWluZyBwYXJhbWV0ZXIgY2hhbmdlcy4KAEVycm9yIHByZS1wcm9jZXNzaW5nIGEgcGFja2V0IGJlZm9yZSBkZWNvZGluZwoAIWZyYW1lLT5idWZbMF0AbGliYXZjb2RlYy9kZWNvZGUuYwBza2lwICVkIC8gZGlzY2FyZCAlZCBzYW1wbGVzIGR1ZSB0byBzaWRlIGRhdGEKAHNraXAgd2hvbGUgZnJhbWUsIHNraXAgbGVmdDogJWQKAENvdWxkIG5vdCB1cGRhdGUgdGltZXN0YW1wcyBmb3Igc2tpcHBlZCBzYW1wbGVzLgoAc2tpcCAlZC8lZCBzYW1wbGVzCgBDb3VsZCBub3QgdXBkYXRlIHRpbWVzdGFtcHMgZm9yIGRpc2NhcmRlZCBzYW1wbGVzLgoAZGlzY2FyZCAlZC8lZCBzYW1wbGVzCgBNdWx0aXBsZSBmcmFtZXMgaW4gYSBwYWNrZXQuCgBUb28gbWFueSBlcnJvcnMgd2hlbiBkcmFpbmluZywgdGhpcyBpcyBhIGJ1Zy4gU3RvcCBkcmFpbmluZyBhbmQgZm9yY2UgRU9GLgoAZnJhbWUtPmJ1ZlswXQAsAEEgbm9uLWV4aXN0aW5nIGJpdHN0cmVhbSBmaWx0ZXIgJXMgcmVxdWVzdGVkIGJ5IGEgZGVjb2Rlci4gVGhpcyBpcyBhIGJ1ZywgcGxlYXNlIHJlcG9ydCBpdC4KAEludmFsaWQgY3JvcHBpbmcgaW5mb3JtYXRpb24gc2V0IGJ5IGEgZGVjb2RlcjogJXp1LyV6dS8lenUvJXp1IChmcmFtZSBzaXplICVkeCVkKS4gVGhpcyBpcyBhIGJ1ZywgcGxlYXNlIHJlcG9ydCBpdAoAYXZjaS0+Y29tcGF0X2RlY29kZV9jb25zdW1lZCA9PSAwAEdvdCB1bmV4cGVjdGVkIHBhY2tldCBhZnRlciBFT0YKAEdvdCB1bmV4cGVjdGVkIHBhY2tldCBzaXplIGFmdGVyIGEgcGFydGlhbCBkZWNvZGUKAFRoZSBkZXByZWNhdGVkIGF2Y29kZWNfZGVjb2RlXyogQVBJIGNhbm5vdCByZXR1cm4gYWxsIHRoZSBmcmFtZXMgZm9yIHRoaXMgZGVjb2Rlci4gU29tZSBmcmFtZXMgd2lsbCBiZSBkcm9wcGVkLiBVcGRhdGUgeW91ciBjb2RlIHRvIHRoZSBuZXcgZGVjb2RpbmcgQVBJIHRvIGZpeCB0aGlzLgoAbiA+PSAxAEZvcm1hdCByZXR1cm5lZCBmcm9tIGdldF9idWZmZXIoKSBkb2VzIG5vdCBtYXRjaCB0aGUgZm9ybWF0IG9mIHByb3ZpZGVkIEFWSFdGcmFtZXNDb250ZXh0CgBjaG9pY2VzW25dICE9IEFWX1BJWF9GTVRfTk9ORQBDb3VsZCBub3QgZmluZCBhbiBBVkhXQWNjZWwgZm9yIHRoZSBwaXhlbCBmb3JtYXQ6ICVzAElnbm9yaW5nIGV4cGVyaW1lbnRhbCBod2FjY2VsOiAlcwoAZnJhbWUtPm5iX2V4dGVuZGVkX2J1ZiA9PSAwAGRlZmF1bHRfZ2V0X2J1ZmZlciBjYWxsZWQgb24gZnJhbWUgJXAAcGljLT5kYXRhWypdIT1OVUxMIGluIGF2Y29kZWNfZGVmYXVsdF9nZXRfYnVmZmVyCgBVbmFibGUgdG8gZ2V0IHBpeGVsIGZvcm1hdCBkZXNjcmlwdG9yIGZvciBmb3JtYXQgJXMKAGRlZmF1bHRfZ2V0X2J1ZmZlciBjYWxsZWQgb24gcGljICVwCgBJbmNvbnNpc3RlbnQgY2hhbm5lbCBjb25maWd1cmF0aW9uLgoAVG9vIG1hbnkgY2hhbm5lbHM6ICVkLgoAZ2V0X2J1ZmZlcigpIGZhaWxlZAoAdmlkZW9fZ2V0X2J1ZmZlcjogaW1hZ2UgcGFyYW1ldGVycyBpbnZhbGlkCgBwaWMtPmRhdGFbKl0hPU5VTEwgaW4gZ2V0X2J1ZmZlcl9pbnRlcm5hbAoAZnJhbWUtPmRhdGFbaV0AQnVmZmVyIHJldHVybmVkIGJ5IGdldF9idWZmZXIyKCkgZGlkIG5vdCB6ZXJvIHVudXNlZCBwbGFuZSBwb2ludGVycwoAbWlzc2luZyBwaWN0dXJlIGluIGFjY2VzcyB1bml0IHdpdGggc2l6ZSAlZAoAaWxsZWdhbCByZW9yZGVyaW5nX29mX3BpY19udW1zX2lkYyAlZAoAcmVmZXJlbmNlIGNvdW50ICVkIG92ZXJmbG93CgBBVkMtcGFyc2VyOiBuYWwgbGVuZ3RoIHNpemUgaW52YWxpZAoAQVZDLXBhcnNlcjogbmFsIHNpemUgJWQgcmVtYWluaW5nICVkCgBUcnVuY2F0aW5nIGxpa2VseSBvdmVyc2l6ZWQgU1BTCgBzcHNfaWQgJXUgb3V0IG9mIHJhbmdlCgBjaHJvbWFfZm9ybWF0X2lkYyAldQBzZXBhcmF0ZSBjb2xvciBwbGFuZXMgYXJlIG5vdCBzdXBwb3J0ZWQKAERpZmZlcmVudCBjaHJvbWEgYW5kIGx1bWEgYml0IGRlcHRoAGlsbGVnYWwgYml0IGRlcHRoIHZhbHVlICglZCwgJWQpCgBsb2cyX21heF9mcmFtZV9udW1fbWludXM0IG91dCBvZiByYW5nZSAoMC0xMik6ICVkCgBsb2cyX21heF9wb2NfbHNiICglZCkgaXMgb3V0IG9mIHJhbmdlCgBwb2NfY3ljbGVfbGVuZ3RoIG92ZXJmbG93ICVkCgBpbGxlZ2FsIFBPQyB0eXBlICVkCgB0b28gbWFueSByZWZlcmVuY2UgZnJhbWVzICVkCgBoZWlnaHQgb3ZlcmZsb3cKAG1iX3dpZHRoL2hlaWdodCBvdmVyZmxvdwoAZGlzY2FyZGluZyBzcHMgY3JvcHBpbmcsIG9yaWdpbmFsIHZhbHVlcyBhcmUgbDolZCByOiVkIHQ6JWQgYjolZAoAY3JvcCB2YWx1ZXMgaW52YWxpZCAlZCAlZCAlZCAlZCAvICVkICVkCgBWVUkAT3ZlcnJlYWQgJXMgYnkgJWQgYml0cwoAUElDLUFGRgBNQi1BRkYARlJNADhCOABzcHM6JXUgcHJvZmlsZTolZC8lZCBwb2M6JWQgcmVmOiVkICVkeCVkICVzICVzIGNyb3A6JXUvJXUvJXUvJXUgJXMgJXMgJWQvJWQgYiVkIHJlbzolZAoAaWxsZWdhbCBhc3BlY3QgcmF0aW8KAFRydW5jYXRlZCBWVUkKAHRpbWVfc2NhbGUvbnVtX3VuaXRzX2luX3RpY2sgaW52YWxpZCBvciB1bnN1cHBvcnRlZCAoJXUvJXUpCgBDbGlwcGluZyBpbGxlZ2FsIG51bV9yZW9yZGVyX2ZyYW1lcyAlZAoAY3BiX2NvdW50ICVkIGludmFsaWQKAGRlbHRhIHNjYWxlICVkIGlzIGludmFsaWQKAFRydW5jYXRpbmcgbGlrZWx5IG92ZXJzaXplZCBQUFMgKCV6dSA+ICV6dSkKAEludmFsaWQgbHVtYSBiaXQgZGVwdGg9JWQKAFVuaW1wbGVtZW50ZWQgbHVtYSBiaXQgZGVwdGg9JWQARk1PIG5vdCBzdXBwb3J0ZWQKAHJlZmVyZW5jZSBvdmVyZmxvdyAocHBzKQoAQ0FWTEMAQ0FCQUMAd2VpZ2h0ZWQATFBBUgBDT05TVFIAUkVEVQA4eDhEQ1QAcHBzOiV1IHNwczoldSAlcyBzbGljZV9ncm91cHM6JWQgcmVmOiV1LyV1ICVzIHFwOiVkLyVkLyVkLyVkICVzICVzICVzICVzCgBDdXJyZW50IHByb2ZpbGUgZG9lc24ndCBwcm92aWRlIG1vcmUgUkJTUCBkYXRhIGluIFBQUywgc2tpcHBpbmcKAFNFSSB0eXBlICVkIHNpemUgJWQgdHJ1bmNhdGVkIGF0ICVkCgB1bmtub3duIFNFSSB0eXBlICVkCgBub24tZXhpc3RpbmcgU1BTICVkIHJlZmVyZW5jZWQgaW4gYnVmZmVyaW5nIHBlcmlvZAoAeDI2NCAtIGNvcmUgJWQAeDI2NCAtIGNvcmUgMDAwMAB1c2VyIGRhdGE6IiVzIgoAU1BTIHVuYXZhaWxhYmxlIGluIGRlY29kZV9waWN0dXJlX3RpbWluZwoAAQEBAgIDAwIDY3RfdHlwZTolWCBwaWNfc3RydWN0OiVkCgBjaGVja2VyYm9hcmRfcmwAY2hlY2tlcmJvYXJkX2xyAGNvbF9pbnRlcmxlYXZlZF9ybABjb2xfaW50ZXJsZWF2ZWRfbHIAcm93X2ludGVybGVhdmVkX3JsAHJvd19pbnRlcmxlYXZlZF9scgByaWdodF9sZWZ0AGxlZnRfcmlnaHQAYm90dG9tX3RvcAB0b3BfYm90dG9tAGJsb2NrX3JsAGJsb2NrX2xyAAIDAQYFABAgMAAgEEBgMFBwYnVmX2luZGV4IDw9IGJ1Zl9zaXplAGxpYmF2Y29kZWMvaDI2NGRlYy5jAFEyNjQAbm8gZnJhbWUhCgBwaWN0LT5idWZbMF0gfHwgISpnb3RfZnJhbWUARHVwbGljYXRpbmcgZmllbGQgJWQgdG8gZmlsbCBtaXNzaW5nCgBzdGVyZW9fbW9kZQBJbnZhbGlkIGludGVyIElEUiBmcmFtZQoAaW52YWxpZCBtaXhlZCBJRFIgLyBub24gSURSIGZyYW1lcyBjYW5ub3QgYmUgZGVjb2RlZCBpbiBzbGljZSBtdWx0aXRocmVhZGluZyBtb2RlCgBkYXRhIHBhcnRpdGlvbmluZwBTUFMgZGVjb2RpbmcgZmFpbHVyZSwgdHJ5aW5nIGFnYWluIHdpdGggdGhlIGNvbXBsZXRlIE5BTAoAVW5rbm93biBOQUwgY29kZTogJWQgKCVkIGJpdHMpCgBkZWNvZGVfc2xpY2VfaGVhZGVyIGVycm9yCgBHcmVlbiBNZXRhZGF0YSBJbmZvIFNFSSBtZXNzYWdlCgAgIGdyZWVuX21ldGFkYXRhX3R5cGU6ICVkCgAgIGdyZWVuX21ldGFkYXRhX3BlcmlvZF90eXBlOiAlZAoAICBncmVlbl9tZXRhZGF0YV9udW1fc2Vjb25kczogJWQKACAgZ3JlZW5fbWV0YWRhdGFfbnVtX3BpY3R1cmVzOiAlZAoAICBTRUkgR1JFRU4gQ29tcGxleGl0eSBNZXRyaWNzOiAlZiAlZiAlZiAlZgoAICB4c2RfbWV0cmljX3R5cGU6ICVkCgAgIHhzZF9tZXRyaWNfdmFsdWU6ICVmCgBJbnZhbGlkIHplcm8tc2l6ZWQgVkNMIE5BTCB1bml0CgBwdGhyZWFkX29uY2UgaGFzIGZhaWxlZC4ARXJyb3IgcmVzaWxpZW5jZSB3aXRoIHNsaWNlIHRocmVhZHMgaXMgZW5hYmxlZC4gSXQgaXMgdW5zYWZlIGFuZCB1bnN1cHBvcnRlZCBhbmQgbWF5IGNyYXNoLiBVc2UgaXQgYXQgeW91ciBvd24gcmlzawoASDI2NCBEZWNvZGVyAGlzX2F2YwBpcyBhdmMAbmFsX2xlbmd0aF9zaXplAGVuYWJsZV9lcgBFbmFibGUgZXJyb3IgcmVzaWxpZW5jZSBvbiBkYW1hZ2VkIGZyYW1lcyAodW5zYWZlKQBDYW5ub3QgYWxsb2NhdGUgbWVtb3J5LgoAUmVmZXJlbmNlIG5vdCBhdmFpbGFibGUgZm9yIGVycm9yIGNvbmNlYWxpbmcKAFJlZmVyZW5jZSBpbnZhbGlkCgBsaWJhdmNvZGVjL2gyNjRkc3AuYwAAIICgABBJbnZhbGlkIE5BTCB1bml0OiAlZAoAbWlzc2luZyBwaWN0dXJlIGluIGFjY2VzcyB1bml0CgBJbnZhbGlkIHZhbHVlIG9mIGRlbHRhX2lkeCBpbiBzbGljZSBoZWFkZXIgUlBTOiAlZCA+ICVkLgoASW52YWxpZCB2YWx1ZSBvZiBhYnNfZGVsdGFfcnBzOiAlZAoASW52YWxpZCBudW1fZGVsdGFfcG9jczogJWQKAFRvbyBtYW55IHJlZnMgaW4gYSBzaG9ydCB0ZXJtIFJQUy4KAEludmFsaWQgdmFsdWUgb2YgZGVsdGFfcG9jOiAlZAoARGVjb2RpbmcgVlBTCgBUcnVuY2F0aW5nIGxpa2VseSBvdmVyc2l6ZWQgVlBTICgldGQgPiAlenUpCgBWUFMgaWQgb3V0IG9mIHJhbmdlOiAlZAoAdnBzX3Jlc2VydmVkX3RocmVlXzJiaXRzIGlzIG5vdCB0aHJlZQoAdnBzX3Jlc2VydmVkX2ZmZmZfMTZiaXRzIGlzIG5vdCAweGZmZmYKAHZwc19tYXhfc3ViX2xheWVycyBvdXQgb2YgcmFuZ2U6ICVkCgB2cHNfbWF4X2RlY19waWNfYnVmZmVyaW5nX21pbnVzMSBvdXQgb2YgcmFuZ2U6ICVkCgB2cHNfbWF4X251bV9yZW9yZGVyX3BpY3Mgb3V0IG9mIHJhbmdlOiAlZAoAdG9vIG1hbnkgbGF5ZXJfaWRfaW5jbHVkZWRfZmxhZ3MKAHZwc19udW1faHJkX3BhcmFtZXRlcnMgJWQgaXMgaW52YWxpZAoAT3ZlcnJlYWQgVlBTIGJ5ICVkIGJpdHMKACEocy0+c3BzX2xpc3RbaWRdICYmIHMtPnNwcyA9PSAoSEVWQ1NQUyopcy0+c3BzX2xpc3RbaWRdLT5kYXRhKQBsaWJhdmNvZGVjL2hldmNfcHMuYwBuYl9jcGIgJWQgaW52YWxpZAoAUFRMIGluZm9ybWF0aW9uIHRvbyBzaG9ydAoAUFRMIGluZm9ybWF0aW9uIGZvciBzdWJsYXllciAlaSB0b28gc2hvcnQKAE5vdCBlbm91Z2ggZGF0YSBmb3Igc3VibGF5ZXIgJWkgbGV2ZWxfaWRjCgBNYWluIHByb2ZpbGUgYml0c3RyZWFtCgBNYWluIDEwIHByb2ZpbGUgYml0c3RyZWFtCgBNYWluIFN0aWxsIFBpY3R1cmUgcHJvZmlsZSBiaXRzdHJlYW0KAFJhbmdlIEV4dGVuc2lvbiBwcm9maWxlIGJpdHN0cmVhbQoAVW5rbm93biBIRVZDIHByb2ZpbGU6ICVkCgBWUFMgJWQgZG9lcyBub3QgZXhpc3QKAHNwc19tYXhfc3ViX2xheWVycyBvdXQgb2YgcmFuZ2U6ICVkCgBTUFMgaWQgb3V0IG9mIHJhbmdlOiAlZAoAY2hyb21hX2Zvcm1hdF9pZGMgJWQgaXMgaW52YWxpZAoAZGlzY2FyZGluZyBzcHMgY29uZm9ybWFuY2Ugd2luZG93LCBvcmlnaW5hbCB2YWx1ZXMgYXJlIGw6JXUgcjoldSB0OiV1IGI6JXUKAEx1bWEgYml0IGRlcHRoICglZCkgaXMgZGlmZmVyZW50IGZyb20gY2hyb21hIGJpdCBkZXB0aCAoJWQpLCB0aGlzIGlzIHVuc3VwcG9ydGVkLgoAbG9nMl9tYXhfcGljX29yZGVyX2NudF9sc2JfbWludXM0IG91dCByYW5nZTogJWQKAHNwc19tYXhfZGVjX3BpY19idWZmZXJpbmdfbWludXMxIG91dCBvZiByYW5nZTogJWQKAHNwc19tYXhfbnVtX3Jlb3JkZXJfcGljcyBvdXQgb2YgcmFuZ2U6ICVkCgBJbnZhbGlkIHZhbHVlICVkIGZvciBsb2cyX21pbl9jYl9zaXplAEludmFsaWQgdmFsdWUgJWQgZm9yIGxvZzJfZGlmZl9tYXhfbWluX2NvZGluZ19ibG9ja19zaXplAEludmFsaWQgdmFsdWUgZm9yIGxvZzJfbWluX3RiX3NpemUASW52YWxpZCB2YWx1ZSAlZCBmb3IgbG9nMl9kaWZmX21heF9taW5fdHJhbnNmb3JtX2Jsb2NrX3NpemUAUENNIGJpdCBkZXB0aCAoJWQsICVkKSBpcyBncmVhdGVyIHRoYW4gbm9ybWFsIGJpdCBkZXB0aCAoJWQpCgBUb28gbWFueSBzaG9ydCB0ZXJtIFJQUzogJWQuCgBudW1fbG9uZ190ZXJtX3JlZl9waWNzX3NwcyAlZCBpcyBvdXQgb2YgcmFuZ2UuCgBleHRlbmRlZF9wcmVjaXNpb25fcHJvY2Vzc2luZ19mbGFnIG5vdCB5ZXQgaW1wbGVtZW50ZWQKAGhpZ2hfcHJlY2lzaW9uX29mZnNldHNfZW5hYmxlZF9mbGFnIG5vdCB5ZXQgaW1wbGVtZW50ZWQKAGNhYmFjX2J5cGFzc19hbGlnbm1lbnRfZW5hYmxlZF9mbGFnIG5vdCB5ZXQgaW1wbGVtZW50ZWQKAEludmFsaWQgY3JvcHBpbmcgb2Zmc2V0czogJXUvJXUvJXUvJXUKAERpc3BsYXlpbmcgdGhlIHdob2xlIHZpZGVvIHN1cmZhY2UuCgBDVEIgc2l6ZSBvdXQgb2YgcmFuZ2U6IDJeJWQKAGxvZzJfY3RiX3NpemUgJWQgZGlmZmVycyBmcm9tIHRoZSBib3VuZHMgb2YgYW55IGtub3duIHByb2ZpbGUKAGxvZzJfY3RiX3NpemUgJWQASW52YWxpZCBjb2RlZCBmcmFtZSBkaW1lbnNpb25zLgoAbWF4X3RyYW5zZm9ybV9oaWVyYXJjaHlfZGVwdGhfaW50ZXIgb3V0IG9mIHJhbmdlOiAlZAoAbWF4X3RyYW5zZm9ybV9oaWVyYXJjaHlfZGVwdGhfaW50cmEgb3V0IG9mIHJhbmdlOiAlZAoAbWF4IHRyYW5zZm9ybSBibG9jayBzaXplIG91dCBvZiByYW5nZTogJWQKAE92ZXJyZWFkIFNQUyBieSAlZCBiaXRzCgBEZWNvZGluZyBWVUkKAFVua25vd24gU0FSIGluZGV4OiAldS4KAEludmFsaWQgZGVmYXVsdCBkaXNwbGF5IHdpbmRvdwoAZGlzY2FyZGluZyB2dWkgZGVmYXVsdCBkaXNwbGF5IHdpbmRvdywgb3JpZ2luYWwgdmFsdWVzIGFyZSBsOiV1IHI6JXUgdDoldSBiOiV1CgBTdHJhbmdlIFZVSSB0aW1pbmcgaW5mb3JtYXRpb24sIHJldHJ5aW5nLi4uCgBSZXRyeSBnb3QgJXUvJXUgZnBzCgBTdHJhbmdlIFZVSSBiaXRzdHJlYW0gcmVzdHJpY3Rpb24gaW5mb3JtYXRpb24sIHJldHJ5aW5nIGZyb20gdGltaW5nIGluZm9ybWF0aW9uLi4uCgBPdmVycmVhZCBpbiBWVUksIHJldHJ5aW5nIGZyb20gdGltaW5nIGluZm9ybWF0aW9uLi4uCgBJbnZhbGlkIGRlbHRhIGluIHNjYWxpbmcgbGlzdCBkYXRhOiAlZC4KAFRoZSBmb2xsb3dpbmcgYml0LWRlcHRocyBhcmUgY3VycmVudGx5IHNwZWNpZmllZDogOCwgOSwgMTAgYW5kIDEyIGJpdHMsIGNocm9tYV9mb3JtYXRfaWRjIGlzICVkLCBkZXB0aCBpcyAlZAoARGVjb2RpbmcgU1BTCgBUcnVuY2F0aW5nIGxpa2VseSBvdmVyc2l6ZWQgU1BTICgldGQgPiAlenUpCgBQYXJzZWQgU1BTOiBpZCAlZDsgY29kZWQgd3hoOiAlZHglZDsgY3JvcHBlZCB3eGg6ICVkeCVkOyBwaXhfZm10OiAlcy4KAERlY29kaW5nIFBQUwoAVHJ1bmNhdGluZyBsaWtlbHkgb3ZlcnNpemVkIFBQUyAoJXRkID4gJXp1KQoAU1BTICV1IGRvZXMgbm90IGV4aXN0LgoAZGlmZl9jdV9xcF9kZWx0YV9kZXB0aCAlZCBpcyBpbnZhbGlkCgBwcHNfY2JfcXBfb2Zmc2V0IG91dCBvZiByYW5nZTogJWQKAHBwc19jcl9xcF9vZmZzZXQgb3V0IG9mIHJhbmdlOiAlZAoAbnVtX3RpbGVfY29sdW1uc19taW51czEgb3V0IG9mIHJhbmdlOiAlZAoAbnVtX3RpbGVfcm93c19taW51czEgb3V0IG9mIHJhbmdlOiAlZAoASW52YWxpZCB0aWxlIHdpZHRocy4KAEludmFsaWQgdGlsZSBoZWlnaHRzLgoAcHBzX2JldGFfb2Zmc2V0X2RpdjIgb3V0IG9mIHJhbmdlOiAlZAoAcHBzX3RjX29mZnNldF9kaXYyIG91dCBvZiByYW5nZTogJWQKAGxvZzJfcGFyYWxsZWxfbWVyZ2VfbGV2ZWxfbWludXMyIG91dCBvZiByYW5nZTogJWQKAE92ZXJyZWFkIFBQUyBieSAlZCBiaXRzCgBjaHJvbWFfcXBfb2Zmc2V0X2xpc3RfbGVuX21pbnVzMSBzaGFsbCBiZSBpbiB0aGUgcmFuZ2UgWzAsIDVdLgoAY2JfcXBfb2Zmc2V0X2xpc3Qgbm90IHRlc3RlZCB5ZXQuCgBEZWNvZGluZyBTRUkKAFNraXBwZWQgU1VGRklYIFNFSSAlZAoAU2tpcHBlZCBQUkVGSVggU0VJICVkCgBudW1fc3BzX2lkc19taW51czEgJWQgaW52YWxpZAoAYWN0aXZlX3BhcmFtZXRlcl9zZXRfaWQgJWQgaW52YWxpZAoAQk9UVE9NIEZpZWxkCgBUT1AgRmllbGQKAERlY29kZWQgZnJhbWUgd2l0aCBQT0MgJWQuCgBWZXJpZnlpbmcgY2hlY2tzdW0gZm9yIGZyYW1lIHdpdGggUE9DICVkOiAAcGxhbmUgJWQgLSBjb3JyZWN0IAA7IABtaXNtYXRjaGluZyBjaGVja3N1bSBvZiBwbGFuZSAlZCAtIAAgIT0gACUwMngARXJyb3Igc3BsaXR0aW5nIHRoZSBpbnB1dCBpbnRvIE5BTCB1bml0cy4KAEVycm9yIHBhcnNpbmcgTkFMIHVuaXQgIyVkLgoARmlyc3Qgc2xpY2UgaW4gYSBmcmFtZSBtaXNzaW5nLgoATm9uLW1hdGNoaW5nIE5BTCB0eXBlcyBvZiB0aGUgVkNMIE5BTFVzOiAlZCAlZAoARXJyb3IgY29uc3RydWN0aW5nIHRoZSByZWZlcmVuY2UgbGlzdHMgZm9yIHRoZSBjdXJyZW50IHNsaWNlLgoAU2tpcHBpbmcgTkFMIHVuaXQgJWQKAEltcG9zc2libGUgaW5pdGlhbCB0aWxlLgoAUHJldmlvdXMgc2xpY2Ugc2VnbWVudCBtaXNzaW5nCgBUaGUgY3VfcXBfZGVsdGEgJWQgaXMgb3V0c2lkZSB0aGUgdmFsaWQgcmFuZ2UgWyVkLCAlZF0uCgBjdV9jaHJvbWFfcXBfb2Zmc2V0X2lkeCBub3QgeWV0IHRlc3RlZC4KAAAaCgFXUFAgY3RiIGFkZHJlc3NlcyBhcmUgd3JvbmcgKCVkICVkICVkICVkKQoAZW50cnlfcG9pbnRfb2Zmc2V0IHRhYmxlIGlzIGNvcnJ1cHRlZAoARXJyb3IgY29uc3RydWN0aW5nIHRoZSBmcmFtZSBSUFMuCgBNYXN0ZXJpbmcgRGlzcGxheSBNZXRhZGF0YToKAHIoJTUuNGYsJTUuNGYpIGcoJTUuNGYsJTUuNGYpIGIoJTUuNGYgJTUuNGYpIHdwKCU1LjRmLCAlNS40ZikKAG1pbl9sdW1pbmFuY2U9JWYsIG1heF9sdW1pbmFuY2U9JWYKAENvbnRlbnQgTGlnaHQgTGV2ZWwgTWV0YWRhdGE6CgBNYXhDTEw9JWQsIE1heEZBTEw9JWQKAFBQUyBpZCBvdXQgb2YgcmFuZ2U6ICVkCgBQUFMgY2hhbmdlZCBiZXR3ZWVuIHNsaWNlcy4KAEludmFsaWQgc2xpY2Ugc2VnbWVudCBhZGRyZXNzOiAldS4KAFVua25vd24gc2xpY2UgdHlwZTogJWQuCgBJbnRlciBzbGljZXMgaW4gYW4gSVJBUCBmcmFtZS4KAElnbm9yaW5nIFBPQyBjaGFuZ2UgYmV0d2VlbiBzbGljZXM6ICVkIC0+ICVkCgBObyByZWYgbGlzdHMgaW4gdGhlIFNQUy4KAEludmFsaWQgbG9uZyB0ZXJtIFJQUy4KAFRvbyBtYW55IHJlZnM6ICVkLyVkLgoAWmVybyByZWZzIGZvciBhIGZyYW1lIHdpdGggUCBvciBCIHNsaWNlcy4KAEludmFsaWQgY29sbG9jYXRlZF9yZWZfaWR4OiAlZC4KAEludmFsaWQgbnVtYmVyIG9mIG1lcmdpbmcgTVZQIGNhbmRpZGF0ZXM6ICVkLgoASW52YWxpZCBkZWJsb2NrIGZpbHRlciBvZmZzZXRzOiAlZCwgJWQKAEluZGVwZW5kZW50IHNsaWNlIHNlZ21lbnQgbWlzc2luZy4KAG51bV9lbnRyeV9wb2ludF9vZmZzZXRzICVkIGlzIGludmFsaWQKAG9mZnNldF9sZW4gJWQgaXMgaW52YWxpZAoARmFpbGVkIHRvIGFsbG9jYXRlIG1lbW9yeQoAdG9vIG1hbnkgc2xpY2VfaGVhZGVyX2V4dGVuc2lvbl9kYXRhX2J5dGVzCgBUaGUgc2xpY2VfcXAgJWQgaXMgb3V0c2lkZSB0aGUgdmFsaWQgcmFuZ2UgWyVkLCA1MV0uCgBJbXBvc3NpYmxlIHNsaWNlIHNlZ21lbnQuCgBPdmVycmVhZCBzbGljZSBoZWFkZXIgYnkgJWQgYml0cwoAbHVtYV9sb2cyX3dlaWdodF9kZW5vbSAlZCBpcyBpbnZhbGlkCgBIRVZDIGRlY29kZXIAYXBwbHlfZGVmZGlzcHdpbgBBcHBseSBkZWZhdWx0IGRpc3BsYXkgd2luZG93IGZyb20gVlVJAHN0cmljdC1kaXNwbGF5d2luAHN0cmljbHkgYXBwbHkgZGVmYXVsdCBkaXNwbGF5IHdpbmRvdyBzaXplAAECAAMEUGFja2V0IGlzIHRvbyBzbWFsbAoATGVmdG92ZXIgYnl0ZXM6ICVkLgoAbGliYXZjb2RlYy9vcHRpb25zLmMAQVZDb2RlY0NvbnRleHQAYgBzZXQgYml0cmF0ZSAoaW4gYml0cy9zKQBhYgBidABTZXQgdmlkZW8gYml0cmF0ZSB0b2xlcmFuY2UgKGluIGJpdHMvcykuIEluIDEtcGFzcyBtb2RlLCBiaXRyYXRlIHRvbGVyYW5jZSBzcGVjaWZpZXMgaG93IGZhciByYXRlY29udHJvbCBpcyB3aWxsaW5nIHRvIGRldmlhdGUgZnJvbSB0aGUgdGFyZ2V0IGF2ZXJhZ2UgYml0cmF0ZSB2YWx1ZS4gVGhpcyBpcyBub3QgcmVsYXRlZCB0byBtaW5pbXVtL21heGltdW0gYml0cmF0ZS4gTG93ZXJpbmcgdG9sZXJhbmNlIHRvbyBtdWNoIGhhcyBhbiBhZHZlcnNlIGVmZmVjdCBvbiBxdWFsaXR5LgB1bmFsaWduZWQAYWxsb3cgZGVjb2RlcnMgdG8gcHJvZHVjZSB1bmFsaWduZWQgb3V0cHV0AG12NAB1c2UgZm91ciBtb3Rpb24gdmVjdG9ycyBwZXIgbWFjcm9ibG9jayAoTVBFRy00KQBxcGVsAHVzZSAxLzQtcGVsIG1vdGlvbiBjb21wZW5zYXRpb24AbG9vcAB1c2UgbG9vcCBmaWx0ZXIAcXNjYWxlAHVzZSBmaXhlZCBxc2NhbGUAZ21jAHVzZSBnbWMAbXYwAGFsd2F5cyB0cnkgYSBtYiB3aXRoIG12PTwwLDA+AGlucHV0X3ByZXNlcnZlZABwYXNzMQB1c2UgaW50ZXJuYWwgMi1wYXNzIHJhdGVjb250cm9sIGluIGZpcnN0ICBwYXNzIG1vZGUAcGFzczIAdXNlIGludGVybmFsIDItcGFzcyByYXRlY29udHJvbCBpbiBzZWNvbmQgcGFzcyBtb2RlAG9ubHkgZGVjb2RlL2VuY29kZSBncmF5c2NhbGUAZW11X2VkZ2UAZG8gbm90IGRyYXcgZWRnZXMAcHNucgBlcnJvcls/XSB2YXJpYWJsZXMgd2lsbCBiZSBzZXQgZHVyaW5nIGVuY29kaW5nAHRydW5jYXRlZABJbnB1dCBiaXRzdHJlYW0gbWlnaHQgYmUgcmFuZG9tbHkgdHJ1bmNhdGVkAG5hcQBub3JtYWxpemUgYWRhcHRpdmUgcXVhbnRpemF0aW9uAGlsZGN0AHVzZSBpbnRlcmxhY2VkIERDVABsb3dfZGVsYXkAZm9yY2UgbG93IGRlbGF5AGdsb2JhbF9oZWFkZXIAcGxhY2UgZ2xvYmFsIGhlYWRlcnMgaW4gZXh0cmFkYXRhIGluc3RlYWQgb2YgZXZlcnkga2V5ZnJhbWUAYml0ZXhhY3QAdXNlIG9ubHkgYml0ZXhhY3QgZnVuY3Rpb25zIChleGNlcHQgKEkpRENUKQBILjI2MyBhZHZhbmNlZCBpbnRyYSBjb2RpbmcgLyBNUEVHLTQgQUMgcHJlZGljdGlvbgBpbG1lAGludGVybGFjZWQgbW90aW9uIGVzdGltYXRpb24AY2dvcABjbG9zZWQgR09QAG91dHB1dF9jb3JydXB0AE91dHB1dCBldmVuIHBvdGVudGlhbGx5IGNvcnJ1cHRlZCBmcmFtZXMAZmFzdABhbGxvdyBub24tc3BlYy1jb21wbGlhbnQgc3BlZWR1cCB0cmlja3MAZmxhZ3MyAG5vb3V0AHNraXAgYml0c3RyZWFtIGVuY29kaW5nAGlnbm9yZWNyb3AAaWdub3JlIGNyb3BwaW5nIGluZm9ybWF0aW9uIGZyb20gc3BzAGxvY2FsX2hlYWRlcgBwbGFjZSBnbG9iYWwgaGVhZGVycyBhdCBldmVyeSBrZXlmcmFtZSBpbnN0ZWFkIG9mIGluIGV4dHJhZGF0YQBjaHVua3MARnJhbWUgZGF0YSBtaWdodCBiZSBzcGxpdCBpbnRvIG11bHRpcGxlIGNodW5rcwBzaG93YWxsAFNob3cgYWxsIGZyYW1lcyBiZWZvcmUgdGhlIGZpcnN0IGtleWZyYW1lAGV4cG9ydF9tdnMAZXhwb3J0IG1vdGlvbiB2ZWN0b3JzIHRocm91Z2ggZnJhbWUgc2lkZSBkYXRhAHNraXBfbWFudWFsAGRvIG5vdCBza2lwIHNhbXBsZXMgYW5kIGV4cG9ydCBza2lwIGluZm9ybWF0aW9uIGFzIGZyYW1lIHNpZGUgZGF0YQBhc3Nfcm9fZmx1c2hfbm9vcABkbyBub3QgcmVzZXQgQVNTIFJlYWRPcmRlciBmaWVsZCBvbiBmbHVzaABtZV9tZXRob2QAc2V0IG1vdGlvbiBlc3RpbWF0aW9uIG1ldGhvZAB6ZXJvAHplcm8gbW90aW9uIGVzdGltYXRpb24gKGZhc3Rlc3QpAGZ1bGwAZnVsbCBtb3Rpb24gZXN0aW1hdGlvbiAoc2xvd2VzdCkAZXB6cwBFUFpTIG1vdGlvbiBlc3RpbWF0aW9uAGVzYQBlc2EgbW90aW9uIGVzdGltYXRpb24gKGFsaWFzIGZvciBmdWxsKQB0ZXNhAHRlc2EgbW90aW9uIGVzdGltYXRpb24AZGlhAGRpYW1vbmQgbW90aW9uIGVzdGltYXRpb24gKGFsaWFzIGZvciBFUFpTKQBsb2cgbW90aW9uIGVzdGltYXRpb24AcGhvZHMAcGhvZHMgbW90aW9uIGVzdGltYXRpb24AeDEAWDEgbW90aW9uIGVzdGltYXRpb24AaGV4AGhleCBtb3Rpb24gZXN0aW1hdGlvbgB1bWgAdW1oIG1vdGlvbiBlc3RpbWF0aW9uAGl0ZXIAaXRlciBtb3Rpb24gZXN0aW1hdGlvbgB0aW1lX2Jhc2UAZwBzZXQgdGhlIGdyb3VwIG9mIHBpY3R1cmUgKEdPUCkgc2l6ZQBhcgBzZXQgYXVkaW8gc2FtcGxpbmcgcmF0ZSAoaW4gSHopAGFjAHNldCBudW1iZXIgb2YgYXVkaW8gY2hhbm5lbHMAc2V0IGN1dG9mZiBiYW5kd2lkdGgAZnJhbWVfc2l6ZQBmcmFtZV9udW1iZXIAZGVsYXkAcWNvbXAAdmlkZW8gcXVhbnRpemVyIHNjYWxlIGNvbXByZXNzaW9uIChWQlIpLiBDb25zdGFudCBvZiByYXRlY29udHJvbCBlcXVhdGlvbi4gUmVjb21tZW5kZWQgcmFuZ2UgZm9yIGRlZmF1bHQgcmNfZXE6IDAuMC0xLjAAcWJsdXIAdmlkZW8gcXVhbnRpemVyIHNjYWxlIGJsdXIgKFZCUikAcW1pbgBtaW5pbXVtIHZpZGVvIHF1YW50aXplciBzY2FsZSAoVkJSKQBxbWF4AG1heGltdW0gdmlkZW8gcXVhbnRpemVyIHNjYWxlIChWQlIpAHFkaWZmAG1heGltdW0gZGlmZmVyZW5jZSBiZXR3ZWVuIHRoZSBxdWFudGl6ZXIgc2NhbGVzIChWQlIpAGJmAHNldCBtYXhpbXVtIG51bWJlciBvZiBCLWZyYW1lcyBiZXR3ZWVuIG5vbi1CLWZyYW1lcwBiX3FmYWN0b3IAUVAgZmFjdG9yIGJldHdlZW4gUC0gYW5kIEItZnJhbWVzAHJjX3N0cmF0ZWd5AHJhdGVjb250cm9sIG1ldGhvZABiX3N0cmF0ZWd5AHN0cmF0ZWd5IHRvIGNob29zZSBiZXR3ZWVuIEkvUC9CLWZyYW1lcwBwcwBSVFAgcGF5bG9hZCBzaXplIGluIGJ5dGVzAG12X2JpdHMAaGVhZGVyX2JpdHMAaV90ZXhfYml0cwBwX3RleF9iaXRzAGlfY291bnQAcF9jb3VudABza2lwX2NvdW50AG1pc2NfYml0cwBmcmFtZV9iaXRzAGNvZGVjX3RhZwBidWcAd29yayBhcm91bmQgbm90IGF1dG9kZXRlY3RlZCBlbmNvZGVyIGJ1Z3MAYXV0b2RldGVjdABvbGRfbXNtcGVnNABzb21lIG9sZCBsYXZjLWdlbmVyYXRlZCBNU01QRUc0djMgZmlsZXMgKG5vIGF1dG9kZXRlY3Rpb24pAHh2aWRfaWxhY2UAWHZpZCBpbnRlcmxhY2luZyBidWcgKGF1dG9kZXRlY3RlZCBpZiBGT1VSQ0MgPT0gWFZJWCkAdW1wNAAoYXV0b2RldGVjdGVkIGlmIEZPVVJDQyA9PSBVTVA0KQBub19wYWRkaW5nAHBhZGRpbmcgYnVnIChhdXRvZGV0ZWN0ZWQpAGFjX3ZsYwBpbGxlZ2FsIFZMQyBidWcgKGF1dG9kZXRlY3RlZCBwZXIgRk9VUkNDKQBxcGVsX2Nocm9tYQBzdGRfcXBlbABvbGQgc3RhbmRhcmQgcXBlbCAoYXV0b2RldGVjdGVkIHBlciBGT1VSQ0MvdmVyc2lvbikAcXBlbF9jaHJvbWEyAGRpcmVjdF9ibG9ja3NpemUAZGlyZWN0LXFwZWwtYmxvY2tzaXplIGJ1ZyAoYXV0b2RldGVjdGVkIHBlciBGT1VSQ0MvdmVyc2lvbikAZWRnZQBlZGdlIHBhZGRpbmcgYnVnIChhdXRvZGV0ZWN0ZWQgcGVyIEZPVVJDQy92ZXJzaW9uKQBocGVsX2Nocm9tYQBkY19jbGlwAG1zAHdvcmsgYXJvdW5kIHZhcmlvdXMgYnVncyBpbiBNaWNyb3NvZnQncyBicm9rZW4gZGVjb2RlcnMAdHJ1bmNhdGVkIGZyYW1lcwBpZWRnZQBzdHJpY3QAaG93IHN0cmljdGx5IHRvIGZvbGxvdyB0aGUgc3RhbmRhcmRzAHZlcnkAc3RyaWN0bHkgY29uZm9ybSB0byBhIG9sZGVyIG1vcmUgc3RyaWN0IHZlcnNpb24gb2YgdGhlIHNwZWMgb3IgcmVmZXJlbmNlIHNvZnR3YXJlAHN0cmljdGx5IGNvbmZvcm0gdG8gYWxsIHRoZSB0aGluZ3MgaW4gdGhlIHNwZWMgbm8gbWF0dGVyIHdoYXQgdGhlIGNvbnNlcXVlbmNlcwBub3JtYWwAdW5vZmZpY2lhbABhbGxvdyB1bm9mZmljaWFsIGV4dGVuc2lvbnMAZXhwZXJpbWVudGFsAGFsbG93IG5vbi1zdGFuZGFyZGl6ZWQgZXhwZXJpbWVudGFsIHRoaW5ncwBiX3FvZmZzZXQAUVAgb2Zmc2V0IGJldHdlZW4gUC0gYW5kIEItZnJhbWVzAGVycl9kZXRlY3QAc2V0IGVycm9yIGRldGVjdGlvbiBmbGFncwBjcmNjaGVjawB2ZXJpZnkgZW1iZWRkZWQgQ1JDcwBiaXRzdHJlYW0AZGV0ZWN0IGJpdHN0cmVhbSBzcGVjaWZpY2F0aW9uIGRldmlhdGlvbnMAYnVmZmVyAGRldGVjdCBpbXByb3BlciBiaXRzdHJlYW0gbGVuZ3RoAGV4cGxvZGUAYWJvcnQgZGVjb2Rpbmcgb24gbWlub3IgZXJyb3IgZGV0ZWN0aW9uAGlnbm9yZV9lcnIAaWdub3JlIGVycm9ycwBjYXJlZnVsAGNvbnNpZGVyIHRoaW5ncyB0aGF0IHZpb2xhdGUgdGhlIHNwZWMsIGFyZSBmYXN0IHRvIGNoZWNrIGFuZCBoYXZlIG5vdCBiZWVuIHNlZW4gaW4gdGhlIHdpbGQgYXMgZXJyb3JzAGNvbXBsaWFudABjb25zaWRlciBhbGwgc3BlYyBub24gY29tcGxpYW5jaWVzIGFzIGVycm9ycwBhZ2dyZXNzaXZlAGNvbnNpZGVyIHRoaW5ncyB0aGF0IGEgc2FuZSBlbmNvZGVyIHNob3VsZCBub3QgZG8gYXMgYW4gZXJyb3IAaGFzX2JfZnJhbWVzAGJsb2NrX2FsaWduAG1wZWdfcXVhbnQAdXNlIE1QRUcgcXVhbnRpemVycyBpbnN0ZWFkIG9mIEguMjYzAHFzcXVpc2gAZGVwcmVjYXRlZCwgdXNlIGVuY29kZXIgcHJpdmF0ZSBvcHRpb25zIGluc3RlYWQAcmNfcW1vZF9hbXAAcmNfcW1vZF9mcmVxAHJjX292ZXJyaWRlX2NvdW50AHJjX2VxAG1heHJhdGUAbWF4aW11bSBiaXRyYXRlIChpbiBiaXRzL3MpLiBVc2VkIGZvciBWQlYgdG9nZXRoZXIgd2l0aCBidWZzaXplLgBtaW5yYXRlAG1pbmltdW0gYml0cmF0ZSAoaW4gYml0cy9zKS4gTW9zdCB1c2VmdWwgaW4gc2V0dGluZyB1cCBhIENCUiBlbmNvZGUuIEl0IGlzIG9mIGxpdHRsZSB1c2Ugb3RoZXJ3aXNlLgBidWZzaXplAHNldCByYXRlY29udHJvbCBidWZmZXIgc2l6ZSAoaW4gYml0cykAcmNfYnVmX2FnZ3Jlc3Npdml0eQBpX3FmYWN0b3IAUVAgZmFjdG9yIGJldHdlZW4gUC0gYW5kIEktZnJhbWVzAGlfcW9mZnNldABRUCBvZmZzZXQgYmV0d2VlbiBQLSBhbmQgSS1mcmFtZXMAcmNfaW5pdF9jcGx4AGRjdABEQ1QgYWxnb3JpdGhtAGF1dG9zZWxlY3QgYSBnb29kIG9uZQBmYXN0aW50AGZhc3QgaW50ZWdlcgBpbnQAYWNjdXJhdGUgaW50ZWdlcgBtbXgAYWx0aXZlYwBmYWFuAGZsb2F0aW5nIHBvaW50IEFBTiBEQ1QAbHVtaV9tYXNrAGNvbXByZXNzZXMgYnJpZ2h0IGFyZWFzIHN0cm9uZ2VyIHRoYW4gbWVkaXVtIG9uZXMAdGNwbHhfbWFzawB0ZW1wb3JhbCBjb21wbGV4aXR5IG1hc2tpbmcAc2NwbHhfbWFzawBzcGF0aWFsIGNvbXBsZXhpdHkgbWFza2luZwBwX21hc2sAaW50ZXIgbWFza2luZwBkYXJrX21hc2sAY29tcHJlc3NlcyBkYXJrIGFyZWFzIHN0cm9uZ2VyIHRoYW4gbWVkaXVtIG9uZXMAaWRjdABzZWxlY3QgSURDVCBpbXBsZW1lbnRhdGlvbgBzaW1wbGUAc2ltcGxlbW14AGFybQBzaDQAc2ltcGxlYXJtAHNpbXBsZWFybXY1dGUAc2ltcGxlYXJtdjYAc2ltcGxlbmVvbgBzaW1wbGVhbHBoYQBpcHAAeHZpZAB4dmlkbW14AGRlcHJlY2F0ZWQsIGZvciBjb21wYXRpYmlsaXR5IG9ubHkAZmFhbmkAZmxvYXRpbmcgcG9pbnQgQUFOIElEQ1QAc2ltcGxlYXV0bwBzbGljZV9jb3VudABlYwBzZXQgZXJyb3IgY29uY2VhbG1lbnQgc3RyYXRlZ3kAZ3Vlc3NfbXZzAGl0ZXJhdGl2ZSBtb3Rpb24gdmVjdG9yIChNVikgc2VhcmNoIChzbG93KQBkZWJsb2NrAHVzZSBzdHJvbmcgZGVibG9jayBmaWx0ZXIgZm9yIGRhbWFnZWQgTUJzAGZhdm9yX2ludGVyAGZhdm9yIHByZWRpY3RpbmcgZnJvbSB0aGUgcHJldmlvdXMgZnJhbWUAYml0c19wZXJfY29kZWRfc2FtcGxlAHByZWQAcHJlZGljdGlvbiBtZXRob2QAbGVmdABwbGFuZQBtZWRpYW4AYXNwZWN0AHNhbXBsZSBhc3BlY3QgcmF0aW8Ac2FyAHByaW50IHNwZWNpZmljIGRlYnVnIGluZm8AcGljdABwaWN0dXJlIGluZm8AcmMAcmF0ZSBjb250cm9sAG1iX3R5cGUAbWFjcm9ibG9jayAoTUIpIHR5cGUAcXAAcGVyLWJsb2NrIHF1YW50aXphdGlvbiBwYXJhbWV0ZXIgKFFQKQBtdgBtb3Rpb24gdmVjdG9yAGRjdF9jb2VmZgBncmVlbl9tZXRhZGF0YQBza2lwAHN0YXJ0Y29kZQBwdHMAZXIAZXJyb3IgcmVjb2duaXRpb24AbW1jbwBtZW1vcnkgbWFuYWdlbWVudCBjb250cm9sIG9wZXJhdGlvbnMgKEguMjY0KQBidWdzAHZpc19xcAB2aXN1YWxpemUgcXVhbnRpemF0aW9uIHBhcmFtZXRlciAoUVApLCBsb3dlciBRUCBhcmUgdGludGVkIGdyZWVuZXIAdmlzX21iX3R5cGUAdmlzdWFsaXplIGJsb2NrIHR5cGVzAGJ1ZmZlcnMAcGljdHVyZSBidWZmZXIgYWxsb2NhdGlvbnMAdGhyZWFkX29wcwB0aHJlYWRpbmcgb3BlcmF0aW9ucwBub21jAHNraXAgbW90aW9uIGNvbXBlbnNhdGlvbgB2aXNtdgB2aXN1YWxpemUgbW90aW9uIHZlY3RvcnMgKE1WcykgKGRlcHJlY2F0ZWQpAGRlYnVnX212AHBmAGZvcndhcmQgcHJlZGljdGVkIE1WcyBvZiBQLWZyYW1lcwBmb3J3YXJkIHByZWRpY3RlZCBNVnMgb2YgQi1mcmFtZXMAYmIAYmFja3dhcmQgcHJlZGljdGVkIE1WcyBvZiBCLWZyYW1lcwBjbXAAZnVsbC1wZWwgTUUgY29tcGFyZSBmdW5jdGlvbgBjbXBfZnVuYwBzdWJjbXAAc3ViLXBlbCBNRSBjb21wYXJlIGZ1bmN0aW9uAG1iY21wAG1hY3JvYmxvY2sgY29tcGFyZSBmdW5jdGlvbgBpbGRjdGNtcABpbnRlcmxhY2VkIERDVCBjb21wYXJlIGZ1bmN0aW9uAGRpYV9zaXplAGRpYW1vbmQgdHlwZSAmIHNpemUgZm9yIG1vdGlvbiBlc3RpbWF0aW9uAGxhc3RfcHJlZABhbW91bnQgb2YgbW90aW9uIHByZWRpY3RvcnMgZnJvbSB0aGUgcHJldmlvdXMgZnJhbWUAcHJlbWUAcHJlIG1vdGlvbiBlc3RpbWF0aW9uAHByZWNtcABwcmUgbW90aW9uIGVzdGltYXRpb24gY29tcGFyZSBmdW5jdGlvbgBzYWQAc3VtIG9mIGFic29sdXRlIGRpZmZlcmVuY2VzLCBmYXN0AHNzZQBzdW0gb2Ygc3F1YXJlZCBlcnJvcnMAc2F0ZABzdW0gb2YgYWJzb2x1dGUgSGFkYW1hcmQgdHJhbnNmb3JtZWQgZGlmZmVyZW5jZXMAc3VtIG9mIGFic29sdXRlIERDVCB0cmFuc2Zvcm1lZCBkaWZmZXJlbmNlcwBzdW0gb2Ygc3F1YXJlZCBxdWFudGl6YXRpb24gZXJyb3JzIChhdm9pZCwgbG93IHF1YWxpdHkpAGJpdABudW1iZXIgb2YgYml0cyBuZWVkZWQgZm9yIHRoZSBibG9jawByZAByYXRlIGRpc3RvcnRpb24gb3B0aW1hbCwgc2xvdwB2c2FkAHN1bSBvZiBhYnNvbHV0ZSB2ZXJ0aWNhbCBkaWZmZXJlbmNlcwB2c3NlAHN1bSBvZiBzcXVhcmVkIHZlcnRpY2FsIGRpZmZlcmVuY2VzAG5zc2UAbm9pc2UgcHJlc2VydmluZyBzdW0gb2Ygc3F1YXJlZCBkaWZmZXJlbmNlcwBkY3RtYXgAY2hyb21hAG1zYWQAc3VtIG9mIGFic29sdXRlIGRpZmZlcmVuY2VzLCBtZWRpYW4gcHJlZGljdGVkAHByZV9kaWFfc2l6ZQBkaWFtb25kIHR5cGUgJiBzaXplIGZvciBtb3Rpb24gZXN0aW1hdGlvbiBwcmUtcGFzcwBzdWJxAHN1Yi1wZWwgbW90aW9uIGVzdGltYXRpb24gcXVhbGl0eQBkdGdfYWN0aXZlX2Zvcm1hdABtZV9yYW5nZQBsaW1pdCBtb3Rpb24gdmVjdG9ycyByYW5nZSAoMTAyMyBmb3IgRGl2WCBwbGF5ZXIpAGliaWFzAGludHJhIHF1YW50IGJpYXMAcGJpYXMAaW50ZXIgcXVhbnQgYmlhcwBnbG9iYWxfcXVhbGl0eQBjb2RlcgB2bGMAdmFyaWFibGUgbGVuZ3RoIGNvZGVyIC8gSHVmZm1hbiBjb2RlcgBhcml0aG1ldGljIGNvZGVyAHJhdwByYXcgKG5vIGVuY29kaW5nKQBybGUAcnVuLWxlbmd0aCBjb2RlcgBkZWZsYXRlAGRlZmxhdGUtYmFzZWQgY29kZXIAY29udGV4dABjb250ZXh0IG1vZGVsAHNsaWNlX2ZsYWdzAHh2bWNfYWNjZWxlcmF0aW9uAG1iZABtYWNyb2Jsb2NrIGRlY2lzaW9uIGFsZ29yaXRobSAoaGlnaCBxdWFsaXR5IG1vZGUpAHVzZSBtYmNtcABiaXRzAHVzZSBmZXdlc3QgYml0cwB1c2UgYmVzdCByYXRlIGRpc3RvcnRpb24Ac3RyZWFtX2NvZGVjX3RhZwBzY190aHJlc2hvbGQAc2NlbmUgY2hhbmdlIHRocmVzaG9sZABsbWluAGxtYXgAbnIAbm9pc2UgcmVkdWN0aW9uAHJjX2luaXRfb2NjdXBhbmN5AG51bWJlciBvZiBiaXRzIHdoaWNoIHNob3VsZCBiZSBsb2FkZWQgaW50byB0aGUgcmMgYnVmZmVyIGJlZm9yZSBkZWNvZGluZyBzdGFydHMAdGhyZWFkcwBzZXQgdGhlIG51bWJlciBvZiB0aHJlYWRzAGF1dG9kZXRlY3QgYSBzdWl0YWJsZSBudW1iZXIgb2YgdGhyZWFkcyB0byB1c2UAbWVfdGhyZXNob2xkAG1vdGlvbiBlc3RpbWF0aW9uIHRocmVzaG9sZABtYl90aHJlc2hvbGQAbWFjcm9ibG9jayB0aHJlc2hvbGQAZGMAaW50cmFfZGNfcHJlY2lzaW9uAG5zc2V3AG5zc2Ugd2VpZ2h0AHNraXBfdG9wAG51bWJlciBvZiBtYWNyb2Jsb2NrIHJvd3MgYXQgdGhlIHRvcCB3aGljaCBhcmUgc2tpcHBlZABza2lwX2JvdHRvbQBudW1iZXIgb2YgbWFjcm9ibG9jayByb3dzIGF0IHRoZSBib3R0b20gd2hpY2ggYXJlIHNraXBwZWQAcHJvZmlsZQBhYWNfbWFpbgBhYWNfbG93AGFhY19zc3IAYWFjX2x0cABhYWNfaGUAYWFjX2hlX3YyAGFhY19sZABhYWNfZWxkAG1wZWcyX2FhY19sb3cAbXBlZzJfYWFjX2hlAGR0c19lcwBkdHNfOTZfMjQAZHRzX2hkX2hyYQBkdHNfaGRfbWEAbXBlZzRfc3AAbXBlZzRfY29yZQBtcGVnNF9tYWluAG1wZWc0X2FzcABtYWluMTAAbGV2ZWwAbG93cmVzAGRlY29kZSBhdCAxPSAxLzIsIDI9MS80LCAzPTEvOCByZXNvbHV0aW9ucwBza2lwX3RocmVzaG9sZABmcmFtZSBza2lwIHRocmVzaG9sZABza2lwX2ZhY3RvcgBmcmFtZSBza2lwIGZhY3RvcgBza2lwX2V4cABmcmFtZSBza2lwIGV4cG9uZW50AHNraXBjbXAAZnJhbWUgc2tpcCBjb21wYXJlIGZ1bmN0aW9uAGJvcmRlcl9tYXNrAG1ibG1pbgBtaW5pbXVtIG1hY3JvYmxvY2sgTGFncmFuZ2UgZmFjdG9yIChWQlIpAG1ibG1heABtYXhpbXVtIG1hY3JvYmxvY2sgTGFncmFuZ2UgZmFjdG9yIChWQlIpAG1lcGMAbW90aW9uIGVzdGltYXRpb24gYml0cmF0ZSBwZW5hbHR5IGNvbXBlbnNhdGlvbiAoMS4wID0gMjU2KQBza2lwX2xvb3BfZmlsdGVyAHNraXAgbG9vcCBmaWx0ZXJpbmcgcHJvY2VzcyBmb3IgdGhlIHNlbGVjdGVkIGZyYW1lcwBhdmRpc2NhcmQAc2tpcF9pZGN0AHNraXAgSURDVC9kZXF1YW50aXphdGlvbiBmb3IgdGhlIHNlbGVjdGVkIGZyYW1lcwBza2lwX2ZyYW1lAHNraXAgZGVjb2RpbmcgZm9yIHRoZSBzZWxlY3RlZCBmcmFtZXMAZGlzY2FyZCBubyBmcmFtZQBkaXNjYXJkIHVzZWxlc3MgZnJhbWVzAG5vcmVmAGRpc2NhcmQgYWxsIG5vbi1yZWZlcmVuY2UgZnJhbWVzAGJpZGlyAGRpc2NhcmQgYWxsIGJpZGlyZWN0aW9uYWwgZnJhbWVzAG5va2V5AGRpc2NhcmQgYWxsIGZyYW1lcyBleGNlcHQga2V5ZnJhbWVzAG5vaW50cmEAZGlzY2FyZCBhbGwgZnJhbWVzIGV4Y2VwdCBJIGZyYW1lcwBkaXNjYXJkIGFsbCBmcmFtZXMAYmlkaXJfcmVmaW5lAHJlZmluZSB0aGUgdHdvIG1vdGlvbiB2ZWN0b3JzIHVzZWQgaW4gYmlkaXJlY3Rpb25hbCBtYWNyb2Jsb2NrcwBicmRfc2NhbGUAZG93bnNjYWxlIGZyYW1lcyBmb3IgZHluYW1pYyBCLWZyYW1lIGRlY2lzaW9uAGtleWludF9taW4AbWluaW11bSBpbnRlcnZhbCBiZXR3ZWVuIElEUi1mcmFtZXMAcmVmcwByZWZlcmVuY2UgZnJhbWVzIHRvIGNvbnNpZGVyIGZvciBtb3Rpb24gY29tcGVuc2F0aW9uAGNocm9tYW9mZnNldABjaHJvbWEgUVAgb2Zmc2V0IGZyb20gbHVtYQB0cmVsbGlzAHJhdGUtZGlzdG9ydGlvbiBvcHRpbWFsIHF1YW50aXphdGlvbgBzY19mYWN0b3IAbXVsdGlwbGllZCBieSBxc2NhbGUgZm9yIGVhY2ggZnJhbWUgYW5kIGFkZGVkIHRvIHNjZW5lX2NoYW5nZV9zY29yZQBtdjBfdGhyZXNob2xkAGJfc2Vuc2l0aXZpdHkAYWRqdXN0IHNlbnNpdGl2aXR5IG9mIGJfZnJhbWVfc3RyYXRlZ3kgMQBjb21wcmVzc2lvbl9sZXZlbABtaW5fcHJlZGljdGlvbl9vcmRlcgBtYXhfcHJlZGljdGlvbl9vcmRlcgB0aW1lY29kZV9mcmFtZV9zdGFydABHT1AgdGltZWNvZGUgZnJhbWUgc3RhcnQgbnVtYmVyLCBpbiBub24tZHJvcC1mcmFtZSBmb3JtYXQAYml0c19wZXJfcmF3X3NhbXBsZQByZXF1ZXN0X2NoYW5uZWxfbGF5b3V0AHJjX21heF92YnZfdXNlAHJjX21pbl92YnZfdXNlAHRpY2tzX3Blcl9mcmFtZQBjb2xvcl9wcmltYXJpZXMAY29sb3IgcHJpbWFyaWVzAGNvbG9yX3ByaW1hcmllc190eXBlAEJULjcwOQBVbnNwZWNpZmllZABCVC40NzAgTQBCVC40NzAgQkcAU01QVEUgMTcwIE0AU01QVEUgMjQwIE0ARmlsbQBCVC4yMDIwAFNNUFRFIDQyOC0xAHNtcHRlNDI4XzEAU01QVEUgNDMxLTIAU01QVEUgNDIyLTEASkVERUMgUDIyAHVuc3BlY2lmaWVkAGNvbG9yX3RyYwBjb2xvciB0cmFuc2ZlciBjaGFyYWN0ZXJpc3RpY3MAY29sb3JfdHJjX3R5cGUAZ2FtbWEyMgBnYW1tYTI4AExpbmVhcgBMb2cATG9nIHNxdWFyZSByb290AElFQyA2MTk2Ni0yLTQAQlQuMTM2MQBJRUMgNjE5NjYtMi0xAEJULjIwMjAgLSAxMCBiaXQAQlQuMjAyMCAtIDEyIGJpdABTTVBURSAyMDg0AEFSSUIgU1RELUI2NwBsb2dfc3FydABpZWM2MTk2Nl8yXzQAYnQxMzYxAGllYzYxOTY2XzJfMQBidDIwMjBfMTBiaXQAYnQyMDIwXzEyYml0AGNvbG9yc3BhY2UAY29sb3Igc3BhY2UAY29sb3JzcGFjZV90eXBlAHJnYgBSR0IARkNDAFlDR0NPAEJULjIwMjAgTkNMAEJULjIwMjAgQ0wAU01QVEUgMjA4NQB5Y29jZwBidDIwMjBfbmNsAGJ0MjAyMF9jbABjb2xvcl9yYW5nZQBjb2xvciByYW5nZQBjb2xvcl9yYW5nZV90eXBlAHR2AE1QRUcgKDIxOSoyXihuLTgpKQBwYwBKUEVHICgyXm4tMSkAbXBlZwBqcGVnAGNocm9tYV9zYW1wbGVfbG9jYXRpb24AY2hyb21hIHNhbXBsZSBsb2NhdGlvbgBjaHJvbWFfc2FtcGxlX2xvY2F0aW9uX3R5cGUATGVmdABjZW50ZXIAQ2VudGVyAHRvcGxlZnQAVG9wLWxlZnQAdG9wAFRvcABib3R0b21sZWZ0AEJvdHRvbS1sZWZ0AGJvdHRvbQBCb3R0b20AbG9nX2xldmVsX29mZnNldABzZXQgdGhlIGxvZyBsZXZlbCBvZmZzZXQAc2xpY2VzAHNldCB0aGUgbnVtYmVyIG9mIHNsaWNlcywgdXNlZCBpbiBwYXJhbGxlbGl6ZWQgZW5jb2RpbmcAdGhyZWFkX3R5cGUAc2VsZWN0IG11bHRpdGhyZWFkaW5nIHR5cGUAc2xpY2UAZnJhbWUAYXVkaW9fc2VydmljZV90eXBlAGF1ZGlvIHNlcnZpY2UgdHlwZQBtYQBNYWluIEF1ZGlvIFNlcnZpY2UAZWYARWZmZWN0cwB2aQBWaXN1YWxseSBJbXBhaXJlZABoaQBIZWFyaW5nIEltcGFpcmVkAGRpAERpYWxvZ3VlAGNvAENvbW1lbnRhcnkAZW0ARW1lcmdlbmN5AHZvAFZvaWNlIE92ZXIAa2EAS2FyYW9rZQByZXF1ZXN0X3NhbXBsZV9mbXQAc2FtcGxlIGZvcm1hdCBhdWRpbyBkZWNvZGVycyBzaG91bGQgcHJlZmVyAHBrdF90aW1lYmFzZQBzdWJfY2hhcmVuYwBzZXQgaW5wdXQgdGV4dCBzdWJ0aXRsZXMgY2hhcmFjdGVyIGVuY29kaW5nAHN1Yl9jaGFyZW5jX21vZGUAc2V0IGlucHV0IHRleHQgc3VidGl0bGVzIGNoYXJhY3RlciBlbmNvZGluZyBtb2RlAGRvX25vdGhpbmcAcHJlX2RlY29kZXIAc3ViX3RleHRfZm9ybWF0AHNldCBkZWNvZGVkIHRleHQgc3VidGl0bGUgZm9ybWF0AGFzc193aXRoX3RpbWluZ3MAcmVmY291bnRlZF9mcmFtZXMAc2lkZV9kYXRhX29ubHlfcGFja2V0cwBhcHBseV9jcm9wcGluZwBza2lwX2FscGhhAFNraXAgcHJvY2Vzc2luZyBhbHBoYQBmaWVsZF9vcmRlcgBGaWVsZCBvcmRlcgBwcm9ncmVzc2l2ZQB0dAB0YgBkdW1wX3NlcGFyYXRvcgBzZXQgaW5mb3JtYXRpb24gZHVtcCBmaWVsZCBzZXBhcmF0b3IAY29kZWNfd2hpdGVsaXN0AExpc3Qgb2YgZGVjb2RlcnMgdGhhdCBhcmUgYWxsb3dlZCB0byBiZSB1c2VkAHBpeGVsX2Zvcm1hdABzZXQgcGl4ZWwgZm9ybWF0AHZpZGVvX3NpemUAc2V0IHZpZGVvIHNpemUAbWF4X3BpeGVscwBNYXhpbXVtIG51bWJlciBvZiBwaXhlbHMAaHdhY2NlbF9mbGFncwBpZ25vcmVfbGV2ZWwAaWdub3JlIGxldmVsIGV2ZW4gaWYgdGhlIGNvZGVjIGxldmVsIHVzZWQgaXMgdW5rbm93biBvciBoaWdoZXIgdGhhbiB0aGUgbWF4aW11bSBzdXBwb3J0ZWQgbGV2ZWwgcmVwb3J0ZWQgYnkgdGhlIGhhcmR3YXJlIGRyaXZlcgBhbGxvd19oaWdoX2RlcHRoAGFsbG93IHRvIG91dHB1dCBZVVYgcGl4ZWwgZm9ybWF0cyB3aXRoIGEgZGlmZmVyZW50IGNocm9tYSBzYW1wbGluZyB0aGFuIDQ6MjowIGFuZC9vciBvdGhlciB0aGFuIDggYml0cyBwZXIgY29tcG9uZW50AGFsbG93X3Byb2ZpbGVfbWlzbWF0Y2gAYXR0ZW1wdCB0byBkZWNvZGUgYW55d2F5IGlmIEhXIGFjY2VsZXJhdGVkIGRlY29kZXIncyBzdXBwb3J0ZWQgcHJvZmlsZXMgZG8gbm90IGV4YWN0bHkgbWF0Y2ggdGhlIHN0cmVhbQBOVUxMAGxpYmF2Y29kZWMvcGFyc2VyLmMARmFpbGVkIHRvIHJlYWxsb2NhdGUgcGFyc2VyIGJ1ZmZlciB0byAlZAoAbmV4dCA+PSAwIHx8IHBjLT5idWZmZXIASW52YWxpZCBzYW1wbGVfc2l6ZQoASW52YWxpZCBudW1iZXIgb2YgY2hhbm5lbHMKAGNvZGVjIGlkcyBtaXNtYXRjaAoASW52YWxpZCBQQ00gcGFja2V0LCBkYXRhIGhhcyBzaXplICVkIGJ1dCBhdCBsZWFzdCBhIHNpemUgb2YgJWQgd2FzIGV4cGVjdGVkCgBQQ00gY2hhbm5lbHMgb3V0IG9mIGJvdW5kcwoAYXZfcGFja2V0X3JlZigpIGZhaWxlZCBpbiBzdWJtaXRfcGFja2V0KCkKAHAtPmF2Y3R4LT5jb2RlY190eXBlID09IEFWTUVESUFfVFlQRV9WSURFTyB8fCBwLT5hdmN0eC0+Y29kZWNfdHlwZSA9PSBBVk1FRElBX1RZUEVfQVVESU8AbGliYXZjb2RlYy9wdGhyZWFkX2ZyYW1lLmMAZmN0eC0+YXN5bmNfbG9jawAlcCBmaW5pc2hlZCAlZCBmaWVsZCAlZAoAdGhyZWFkIGF3YWl0aW5nICVkIGZpZWxkICVkIGZyb20gJXAKAE11bHRpcGxlIGZmX3RocmVhZF9maW5pc2hfc2V0dXAoKSBjYWxscwoARmluYWwgdGhyZWFkIHVwZGF0ZSBmYWlsZWQKACFwLT5od2FjY2VsX3NlcmlhbGl6aW5nAEEgZnJhbWUgdGhyZWFkZWQgZGVjb2RlciBkaWQgbm90IGZyZWUgdGhlIGZyYW1lIG9uIGZhaWx1cmUuIFRoaXMgaXMgYSBidWcsIHBsZWFzZSByZXBvcnQgaXQuCgBnZXRfZm9ybWF0KCkgY2Fubm90IGJlIGNhbGxlZCBhZnRlciBmZl90aHJlYWRfZmluaXNoX3NldHVwKCkKAHRocmVhZF9nZXRfYnVmZmVyKCkgZmFpbGVkCgBnZXRfYnVmZmVyKCkgY2Fubm90IGJlIGNhbGxlZCBhZnRlciBmZl90aHJlYWRfZmluaXNoX3NldHVwKCkKAHRocmVhZF9yZWxlYXNlX2J1ZmZlciBjYWxsZWQgb24gcGljICVwCgBwLT50aHJlYWRfY291bnQgPT0gYXZjdHgtPnRocmVhZF9jb3VudABsaWJhdmNvZGVjL3B0aHJlYWRfc2xpY2UuYwAuL2xpYmF2dXRpbC9tZW1faW50ZXJuYWwuaABpZ25vcmluZyBpbnZhbGlkIFNBUjogJWQvJWQKAGRlc2MtPmZsYWdzICYgKDEgPDwgNCkAbGliYXZjb2RlYy91dGlscy5jAEluc3VmZmljaWVudCB0aHJlYWQgbG9ja2luZy4gQXQgbGVhc3QgJWQgdGhyZWFkcyBhcmUgY2FsbGluZyBhdmNvZGVjX29wZW4yKCkgYXQgdGhlIHNhbWUgdGltZSByaWdodCBub3cuCgBObyBsb2NrIG1hbmFnZXIgaXMgc2V0LCBwbGVhc2Ugc2VlIGF2X2xvY2ttZ3JfcmVnaXN0ZXIoKQoAIWZmX2F2Y29kZWNfbG9ja2VkAE5vIGNvZGVjIHByb3ZpZGVkIHRvIGF2Y29kZWNfb3BlbjIoKQoAVGhpcyBBVkNvZGVjQ29udGV4dCB3YXMgYWxsb2NhdGVkIGZvciAlcywgYnV0ICVzIHBhc3NlZCB0byBhdmNvZGVjX29wZW4yKCkKAENvZGVjICglcykgbm90IG9uIHdoaXRlbGlzdCAnJXMnCgBJZ25vcmluZyBpbnZhbGlkIHdpZHRoL2hlaWdodCB2YWx1ZXMKAGlnbm9yaW5nIGludmFsaWQgU0FSOiAldS8ldQoAQ29kZWMgdHlwZSBvciBpZCBtaXNtYXRjaGVzCgBkZWNvZGVyAGVuY29kZXIAVGhlICVzICclcycgaXMgZXhwZXJpbWVudGFsIGJ1dCBleHBlcmltZW50YWwgY29kZWNzIGFyZSBub3QgZW5hYmxlZCwgYWRkICctc3RyaWN0ICVkJyBpZiB5b3Ugd2FudCB0byB1c2UgaXQuCgBBbHRlcm5hdGl2ZWx5IHVzZSB0aGUgbm9uIGV4cGVyaW1lbnRhbCAlcyAnJXMnLgoAVGhlIG1heGltdW0gdmFsdWUgZm9yIGxvd3JlcyBzdXBwb3J0ZWQgYnkgdGhlIGRlY29kZXIgaXMgJWQKAFRoZSAndmlzbXYnIG9wdGlvbiBpcyBkZXByZWNhdGVkLCBzZWUgdGhlIGNvZGVjdmlldyBmaWx0ZXIgaW5zdGVhZC4KAFRoZSBlbmNvZGVyIHRpbWViYXNlIGlzIG5vdCBzZXQuCgAlZABTcGVjaWZpZWQgc2FtcGxlIGZvcm1hdCAlcyBpcyBpbnZhbGlkIG9yIG5vdCBzdXBwb3J0ZWQKAFNwZWNpZmllZCBwaXhlbCBmb3JtYXQgJXMgaXMgaW52YWxpZCBvciBub3Qgc3VwcG9ydGVkCgBTcGVjaWZpZWQgc2FtcGxlIHJhdGUgJWQgaXMgbm90IHN1cHBvcnRlZAoAQ2hhbm5lbCBsYXlvdXQgbm90IHNwZWNpZmllZAoAU3BlY2lmaWVkIGNoYW5uZWwgbGF5b3V0ICclcycgaXMgbm90IHN1cHBvcnRlZAoAQ2hhbm5lbCBsYXlvdXQgJyVzJyB3aXRoICVkIGNoYW5uZWxzIGRvZXMgbm90IG1hdGNoIG51bWJlciBvZiBzcGVjaWZpZWQgY2hhbm5lbHMgJWQKAFNwZWNpZmllZCBudW1iZXIgb2YgY2hhbm5lbHMgJWQgaXMgbm90IHN1cHBvcnRlZAoAU3BlY2lmaWVkIGJpdCBkZXB0aCAlZCBub3QgcG9zc2libGUgd2l0aCB0aGUgc3BlY2lmaWVkIHBpeGVsIGZvcm1hdHMgZGVwdGggJWQKAGRpbWVuc2lvbnMgbm90IHNldAoAQml0cmF0ZSAlbGxkIGlzIGV4dHJlbWVseSBsb3csIG1heWJlIHlvdSBtZWFuICVsbGRrCgB0aWNrc19wZXJfZnJhbWUgJWQgdG9vIGxhcmdlIGZvciB0aGUgdGltZWJhc2UgJWQvJWQuAE1pc21hdGNoaW5nIEFWQ29kZWNDb250ZXh0LnBpeF9mbXQgYW5kIEFWSFdGcmFtZXNDb250ZXh0LmZvcm1hdAoATWlzbWF0Y2hpbmcgQVZDb2RlY0NvbnRleHQuc3dfcGl4X2ZtdCAoJXMpIGFuZCBBVkhXRnJhbWVzQ29udGV4dC5zd19mb3JtYXQgKCVzKQoAZ3JheSBkZWNvZGluZyByZXF1ZXN0ZWQgYnV0IG5vdCBlbmFibGVkIGF0IGNvbmZpZ3VyYXRpb24gdGltZQoAQ2hhbm5lbCBsYXlvdXQgJyVzJyB3aXRoICVkIGNoYW5uZWxzIGRvZXMgbm90IG1hdGNoIHNwZWNpZmllZCBudW1iZXIgb2YgY2hhbm5lbHMgJWQ6IGlnbm9yaW5nIHNwZWNpZmllZCBjaGFubmVsIGxheW91dAoAQ2hhcmFjdGVyIGVuY29kaW5nIGlzIG9ubHkgc3VwcG9ydGVkIHdpdGggc3VidGl0bGVzIGNvZGVjcwoAQ29kZWMgJyVzJyBpcyBiaXRtYXAtYmFzZWQsIHN1YnRpdGxlcyBjaGFyYWN0ZXIgZW5jb2Rpbmcgd2lsbCBiZSBpZ25vcmVkCgBVVEYtOABVbmFibGUgdG8gb3BlbiBpY29udiBjb250ZXh0IHdpdGggaW5wdXQgY2hhcmFjdGVyIGVuY29kaW5nICIlcyIKACooY29uc3QgQVZDbGFzcyAqKilhdmN0eC0+cHJpdl9kYXRhID09IGNvZGVjLT5wcml2X2NsYXNzAGZmX2F2Y29kZWNfbG9ja2VkACFkc3QtPnByb2dyZXNzAHAgPD0gZW5kAEVycm9yIGRlY29kaW5nIEFBQyBmcmFtZSBoZWFkZXIuCgBpbnZhbGlkIHNhbXBsaW5nIHJhdGUgaW5kZXggJWQKAEVsZW0gdHlwZToleCBpZDoleAoAY2hhbm5lbCBlbGVtZW50ICVkLiVkIGlzIG5vdCBhbGxvY2F0ZWQKAE5vdCBldmFsdWF0aW5nIGEgZnVydGhlciBwcm9ncmFtX2NvbmZpZ19lbGVtZW50IGFzIHRoaXMgY29uc3RydWN0IGlzIGR1YmlvdXMgYXQgYmVzdC4KAFRZUEVfRklMOiBJbnB1dCBidWZmZXIgZXhoYXVzdGVkIGJlZm9yZSBFTkQgZWxlbWVudCBmb3VuZAoASW5wdXQgYnVmZmVyIGV4aGF1c3RlZCBiZWZvcmUgRU5EIGVsZW1lbnQgZm91bmQKAG5vIGZyYW1lIGRhdGEgZm91bmQKAENoYW5uZWxFbGVtZW50ICVkLiVkIG1pc3NpbmcgCgBEZXBlbmRlbnQgY291cGxpbmcgaXMgbm90IHN1cHBvcnRlZCB0b2dldGhlciB3aXRoIExUUAoAZXh0ZW5zaW9uIHR5cGU6ICVkIGxlbjolZAoAU0JSIHdhcyBmb3VuZCBiZWZvcmUgdGhlIGZpcnN0IGNoYW5uZWwgZWxlbWVudC4KAFNCUiB3aXRoIDk2MCBmcmFtZSBsZW5ndGgAU0JSIHNpZ25hbGVkIHRvIGJlIG5vdC1wcmVzZW50IGJ1dCB3YXMgZm91bmQgaW4gdGhlIGJpdHN0cmVhbS4KAEltcGxpY2l0IFNCUiB3YXMgZm91bmQgd2l0aCBhIGZpcnN0IG9jY3VycmVuY2UgYWZ0ZXIgdGhlIGZpcnN0IGZyYW1lLgoARklMTDolcwoAbGliZmFhYyAlZC4lZABUb28gbGFyZ2UgcmVtYXBwZWQgaWQAVG9vIG1hbnkgY2hhbm5lbHMKAFNhbXBsZSByYXRlIGluZGV4IGluIHByb2dyYW0gY29uZmlnIGVsZW1lbnQgZG9lcyBub3QgbWF0Y2ggdGhlIHNhbXBsZSByYXRlIGluZGV4IGNvbmZpZ3VyZWQgYnkgdGhlIGNvbnRhaW5lci4KAGRlY29kZV9wY2U6IElucHV0IGJ1ZmZlciBleGhhdXN0ZWQgYmVmb3JlIEVORCBlbGVtZW50IGZvdW5kCgBsaWJhdmNvZGVjL2FhY2RlY190ZW1wbGF0ZS5jAHNraXBfZGF0YV9zdHJlYW1fZWxlbWVudDogSW5wdXQgYnVmZmVyIGV4aGF1c3RlZCBiZWZvcmUgRU5EIGVsZW1lbnQgZm91bmQKAG1zX3ByZXNlbnQgPSAzIGlzIHJlc2VydmVkLgoAUmVzZXJ2ZWQgYml0IHNldC4KAEFBQyBMRCBpcyBvbmx5IGRlZmluZWQgZm9yIE9OTFlfTE9OR19TRVFVRU5DRSBidXQgd2luZG93IHNlcXVlbmNlICVkIGZvdW5kLgoAUHJlZGljdGlvbiBpcyBub3QgYWxsb3dlZCBpbiBBQUMtTEMuCgBMVFAgaW4gRVIgQUFDIExEIG5vdCB5ZXQgaW1wbGVtZW50ZWQuCgBOdW1iZXIgb2Ygc2NhbGVmYWN0b3IgYmFuZHMgaW4gZ3JvdXAgKCVkKSBleGNlZWRzIGxpbWl0ICglZCkuCgBJbnZhbGlkIFByZWRpY3RvciBSZXNldCBHcm91cC4KAFB1bHNlIHRvb2wgbm90IGFsbG93ZWQgaW4gZWlnaHQgc2hvcnQgc2VxdWVuY2UuCgBQdWxzZSBkYXRhIGNvcnJ1cHQgb3IgaW52YWxpZC4KAFNTUgBlcnJvciBpbiBzcGVjdHJhbCBkYXRhLCBFU0Mgb3ZlcmZsb3cKAFROUyBmaWx0ZXIgb3JkZXIgJWQgaXMgZ3JlYXRlciB0aGFuIG1heGltdW0gJWQuCgBJZiB5b3UgaGVhcmQgYW4gYXVkaWJsZSBhcnRpZmFjdCwgdGhlcmUgbWF5IGJlIGEgYnVnIGluIHRoZSBkZWNvZGVyLiBDbGlwcGVkIGludGVuc2l0eSBzdGVyZW8gcG9zaXRpb24gKCVkIC0+ICVkKQBJZiB5b3UgaGVhcmQgYW4gYXVkaWJsZSBhcnRpZmFjdCwgdGhlcmUgbWF5IGJlIGEgYnVnIGluIHRoZSBkZWNvZGVyLiBDbGlwcGVkIG5vaXNlIGdhaW4gKCVkIC0+ICVkKQBTY2FsZWZhY3RvciAoJWQpIG91dCBvZiByYW5nZS4KAGludmFsaWQgYmFuZCB0eXBlCgBkZWNvZGVfYmFuZF90eXBlczogSW5wdXQgYnVmZmVyIGV4aGF1c3RlZCBiZWZvcmUgRU5EIGVsZW1lbnQgZm91bmQKAE51bWJlciBvZiBiYW5kcyAoJWQpIGV4Y2VlZHMgbGltaXQgKCVkKS4KAG1vbm8gd2l0aCBDUEUKAHN0ZXJlbyB3aXRoIFNDRQoAU0NFAFRoaXMgc3RyZWFtIHNlZW1zIHRvIGluY29ycmVjdGx5IHJlcG9ydCBpdHMgbGFzdCBjaGFubmVsIGFzICVzWyVkXSwgbWFwcGluZyB0byBMRkVbMF0KAFRoaXMgc3RyZWFtIHNlZW1zIHRvIGluY29ycmVjdGx5IHJlcG9ydCBpdHMgbGFzdCBjaGFubmVsIGFzICVzWyVkXSwgbWFwcGluZyB0byBTQ0VbMV0KAGludmFsaWQgZGVmYXVsdCBjaGFubmVsIGNvbmZpZ3VyYXRpb24gKCVkKQoAQXNzdW1pbmcgYW4gaW5jb3JyZWN0bHkgZW5jb2RlZCA3LjEgY2hhbm5lbCBsYXlvdXQgaW5zdGVhZCBvZiBhIHNwZWMtY29tcGxpYW50IDcuMSh3aWRlKSBsYXlvdXQsIHVzZSAtc3RyaWN0ICVkIHRvIGRlY29kZSBhY2NvcmRpbmcgdG8gdGhlIHNwZWNpZmljYXRpb24gaW5zdGVhZC4KAE1vcmUgdGhhbiBvbmUgQUFDIFJEQiBwZXIgQURUUyBmcmFtZQBVbmtub3duIEVSIGNoYW5uZWwgY29uZmlndXJhdGlvbiAlZABBdWRpbyBzcGVjaWZpYyBjb25maWcgc2l6ZSBpcyBpbnZhbGlkCgBpbnZhbGlkIGxvdyBkZWxheSBzYW1wbGluZyByYXRlIGluZGV4ICVkCgBTQlIrAEF1ZGlvIG9iamVjdCB0eXBlICVzJWQAQUFDIGRhdGEgcmVzaWxpZW5jZSAoZmxhZ3MgJXgpAExvdyBEZWxheSBTQlIAZXBDb25maWcgJWQAQUFDIGRlY29kZXIAZHVhbF9tb25vX21vZGUAU2VsZWN0IHRoZSBjaGFubmVsIHRvIGRlY29kZSBmb3IgZHVhbCBtb25vAGF1dG9zZWxlY3Rpb24AbWFpbgBTZWxlY3QgTWFpbi9MZWZ0IGNoYW5uZWwAc3ViAFNlbGVjdCBTdWIvUmlnaHQgY2hhbm5lbABib3RoAFNlbGVjdCBib3RoIGNoYW5uZWxzAEV4cGVjdGVkIHRvIHJlYWQgJWQgU0JSIGJ5dGVzIGFjdHVhbGx5IHJlYWQgJWQuCgBJbnZhbGlkIGJpdHN0cmVhbSAtIGNhbm5vdCBhcHBseSBTQlIgdG8gZWxlbWVudCB0eXBlICVkCgBTQlIgRXh0ZW5zaW9uIG92ZXIgcmVhZC4KAFBhcmFtZXRyaWMgU3RlcmVvIHNpZ25hbGVkIHRvIGJlIG5vdC1wcmVzZW50IGJ1dCB3YXMgZm91bmQgaW4gdGhlIGJpdHN0cmVhbS4KAFJlc2VydmVkIFNCUiBleHRlbnNpb25zAG5vaXNlX2ZhY3NfcSAlZCBpcyBpbnZhbGlkCgBlbnZfZmFjc19xICVkIGlzIGludmFsaWQKAEludmFsaWQgYml0c3RyZWFtLCB0b28gbWFueSBTQlIgZW52ZWxvcGVzIGluIEZJWEZJWCB0eXBlIFNCUiBmcmFtZTogJWQKAAABAgIDA0ludmFsaWQgYml0c3RyZWFtLCB0b28gbWFueSBTQlIgZW52ZWxvcGVzIGluIFZBUlZBUiB0eXBlIFNCUiBmcmFtZTogJWQKAGJzX3BvaW50ZXIgPj0gMABsaWJhdmNvZGVjL2FhY3Nicl90ZW1wbGF0ZS5jAEludmFsaWQgYml0c3RyZWFtLCBic19wb2ludGVyIHBvaW50cyB0byBhIG1pZGRsZSBub2lzZSBib3JkZXIgb3V0c2lkZSB0aGUgdGltZSBib3JkZXJzIHRhYmxlOiAlZAoATm90IHN0cmljdGx5IG1vbm90b25lIHRpbWUgYm9yZGVycwoAU0JSIHJlc2V0IGZhaWxlZC4gU3dpdGNoaW5nIFNCUiB0byBwdXJlIHVwc2FtcGxpbmcgbW9kZS4KAFN0b3AgZnJlcXVlbmN5IGJvcmRlciB0b28gaGlnaDogJWQKAFN0YXJ0IGZyZXF1ZW5jeSBib3JkZXIgdG9vIGhpZ2g6ICVkCgBUb28gbWFueSBub2lzZSBmbG9vciBzY2FsZSBmYWN0b3JzOiAlZAoAcGF0Y2ggY29uc3RydWN0aW9uIGZhaWxlZAoAVG9vIG1hbnkgcGF0Y2hlczogJWQKAFVuc3VwcG9ydGVkIHNhbXBsZSByYXRlIGZvciBTQlI6ICVkCgBJbnZhbGlkIGJzX3N0b3BfZnJlcTogJWQKAEludmFsaWQgYml0c3RyZWFtLCB0b28gbWFueSBRTUYgc3ViYmFuZHM6ICVkCgBJbnZhbGlkIG51bV9iYW5kc18wOiAlZAoASW52YWxpZCB2RGswWyVkXTogJWQKAEludmFsaWQgdkRrMVslZF06ICVkCgBJbnZhbGlkIG5fbWFzdGVyOiAlZAoASW52YWxpZCBiaXRzdHJlYW0sIGNyb3Nzb3ZlciBiYW5kIGluZGV4IGJleW9uZCBhcnJheSBib3VuZHM6ICVkCgBlbGVtZW50IHR5cGUgbWlzbWF0Y2ggJWQgIT0gJWQKAE5vIHF1YW50aXplZCBkYXRhIHJlYWQgZm9yIHNicl9kZXF1YW50LgoAc2JyLT5kYXRhW2NoXS5ic19udW1fZW52ID4gMABreCAhPSBmX3RhYmxle2hpZ2gsbG93fVswXS4gRGVyaXZlZCBmcmVxdWVuY3kgdGFibGVzIHdlcmUgbm90IHJlZ2VuZXJhdGVkLgoARVJST1IgOiBubyBzdWJiYW5kIGZvdW5kIGZvciBmcmVxdWVuY3kgJWQKAGVudmVsb3BlIHNjYWxlZmFjdG9yIG92ZXJmbG93IGluIGRlcXVhbnQKAHRlbXAxIDw9IDFFMjAAbGliYXZjb2RlYy9hYWNzYnIuYwApKS8xMTMvLysrKygoKCguMTExLi4qKiooKAAAACQkJR8fAAAAAAAAAAAjIyUeHgAAAAAADAwMDg4ODw8PDw8PDyEhJigoKCkpJSUlIiIfHyIoKjMuLioqKicnAAAAHyAlHx8AAAAAAAAAAB8gJR4eAAAAAAAJCQoODg4ODg4ODg4ObGliYXZjb2RlYy9iaXRzdHJlYW0uYwBuYl9jb2RlcyArIDEgPD0gKHNpemVvZihsb2NhbGJ1ZikgLyBzaXplb2YoKGxvY2FsYnVmKVswXSkpAHN5bWJvbHNfc2l6ZSA8PSAyIHx8ICFzeW1ib2xzAFRvbyBsb25nIFZMQyAoJWQpIGluIGluaXRfdmxjCgBJbnZhbGlkIGNvZGUgJXggZm9yICVkIGluIGluaXRfdmxjCgBuZWVkZWQgJWQgaGFkICVkCgByZXQgPj0gMABpbmNvcnJlY3QgY29kZXMKAEEgbm9uLU5VTEwgcGFja2V0IHNlbnQgYWZ0ZXIgYW4gRU9GLgoAQ29kZWMgJyVzJyAoJWQpIGlzIG5vdCBzdXBwb3J0ZWQgYnkgdGhlIGJpdHN0cmVhbSBmaWx0ZXIgJyVzJy4gU3VwcG9ydGVkIGNvZGVjcyBhcmU6IAAlcyAoJWQpIABBVkJTRkNvbnRleHQAbXBlZzF2aWRlbwBtcGVnMnZpZGVvAG1wZWd2aWRlb194dm1jAGgyNjEAaDI2MwBydjEwAHJ2MjAAbWpwZWcAbWpwZWdiAG1wZWc0AHJhd3ZpZGVvAG1zbXBlZzR2MQBtc21wZWc0djIAbXNtcGVnNHYzAHdtdjEAd212MgBoMjYzcABoMjYzaQBmbHYxAHN2ZwBzdnExAHN2cTMAZHZ2aWRlbwBodWZmeXV2AGN5dXYAaDI2NABpbmRlbzMAdnAzAHRoZW9yYQBhc3YxAGFzdjIAZmZ2MQA0eG0AdmNyMQBjbGpyAG1kZWMAcm9xAGludGVycGxheXZpZGVvAHhhbl93YzMAeGFuX3djNABycHphAGNpbmVwYWsAd3NfdnFhAG1zcmxlAG1zdmlkZW8xAGlkY2luADhicHMAc21jAGZsaWMAdHJ1ZW1vdGlvbjEAdm1kdmlkZW8AbXN6aAB6bGliAHF0cmxlAHNub3cAdHNjYwB1bHRpAHFkcmF3AHZpeGwAcXBlZwBmZnZodWZmAHJ2MzAAcnY0MAB2YzEAd212MwBsb2NvAHdudjEAYWFzYwBpbmRlbzIAZnJhcHMAdHJ1ZW1vdGlvbjIAYm1wAGNzY2QAbW12aWRlbwB6bWJ2AGF2cwBzbWFja3ZpZGVvAG51dgBrbXZjAGZsYXNoc3YAY2F2cwBqcGVnMjAwMAB2bW5jAHZwNQB2cDYAdnA2ZgBkc2ljaW52aWRlbwB0aWVydGV4c2VxdmlkZW8AZHhhAGRueGhkAHRocABjOTMAYmV0aHNvZnR2aWQAdnA2YQBhbXYAdmIAaW5kZW80AGluZGVvNQBtaW1pYwBybDIAZXNjYXBlMTI0AGRhYWxhAGRpcmFjAGJmaQBjbXYAbW90aW9ucGl4ZWxzAHRndgB0Z3EAdHFpAGF1cmEAYXVyYTIAdjIxMHgAdG12AHYyMTAAbWFkAGZyd3UAZmxhc2hzdjIAY2RncmFwaGljcwByMjEwAGFubQBiaW5rdmlkZW8AaWZmX2lsYm0Aa2d2MQB5b3AAdnA4AHZwOQBwaWN0b3IAYTY0X211bHRpAGE2NF9tdWx0aTUAcjEwawBtMTAxAG12YzEAbXZjMgBteHBlZwBsYWdhcml0aABwcm9yZXMAanYAZGZhAHV0dmlkZW8AYm12X3ZpZGVvAHZibGUAZHh0b3J5AHY0MTAAY2R4bAB6ZXJvY29kZWMAbXNzMQBtc2ExAHRzY2MyAG10czIAY2xsYwBtc3MyAGFpYwB5NDFwAGVzY2FwZTEzMABhdnJwADAxMnYAYXZ1aQBheXV2AHRhcmdhX3kyMTYAdjMwOAB2NDA4AHl1djQAYXZybgBjcGlhAHhmYWNlAHNtdmpwZWcAZzJtAGhubTR2aWRlbwBoZXZjAGZpYwBwYWZfdmlkZW8AdnA3AHNhbm0Ac2dpcmxlAGhxeABocV9ocWEAaGFwAGR4dgBzY3JlZW5wcmVzc28Ac3BlZWRocQB3cmFwcGVkX2F2ZnJhbWUAcnNjYwBtYWdpY3l1dgB0cnVlbW90aW9uMnJ0AGNmaGQAc2hlZXJ2aWRlbwB5bGMAcGl4bGV0AGZtdmMAc2NwcgBjbGVhcnZpZGVvAGF2MQBiaXRwYWNrZWQAbXNjYwBzcmdjAGdkdgBhbGlhc19waXgAYW5zaQBicmVuZGVyX3BpeABkZHMAZHB4AGV4cgBmaXRzAGdpZgBqcGVnbHMAbGpwZWcAcGFtAHBibQBwY3gAcGdtAHBnbXl1dgBwbmcAcHBtAHBzZABwdHgAc2dpAHNwNXgAc3VucmFzdAB0YXJnYQB0ZHNjAHRpZmYAdHhkAHZjMWltYWdlAHdlYnAAd212M2ltYWdlAHhibQB4cG0AeHdkAGFwbmcAcGNtX3MxNmxlAHBjbV9zMTZiZQBwY21fdTE2bGUAcGNtX3UxNmJlAHBjbV9zOABwY21fdTgAcGNtX211bGF3AHBjbV9hbGF3AHBjbV9zMzJsZQBwY21fczMyYmUAcGNtX3M2NGxlAHBjbV9zNjRiZQBwY21fdTMybGUAcGNtX3UzMmJlAHBjbV9zMjRsZQBwY21fczI0YmUAcGNtX3UyNGxlAHBjbV91MjRiZQBwY21fczI0ZGF1ZABwY21fem9yawBwY21fczE2YmVfcGxhbmFyAHBjbV9zMTZsZV9wbGFuYXIAcGNtX3MyNGxlX3BsYW5hcgBwY21fczMybGVfcGxhbmFyAHBjbV9kdmQAcGNtX2YxNmxlAHBjbV9mMjRsZQBwY21fZjMyYmUAcGNtX2YzMmxlAHBjbV9mNjRiZQBwY21fZjY0bGUAcGNtX2JsdXJheQBwY21fbHhmAHMzMDJtAHBjbV9zOF9wbGFuYXIAYWRwY21faW1hX3F0AGFkcGNtX2ltYV93YXYAYWRwY21faW1hX2RrMwBhZHBjbV9pbWFfZGs0AGFkcGNtX2ltYV93cwBhZHBjbV9pbWFfc21qcGVnAGFkcGNtX21zAGFkcGNtXzR4bQBhZHBjbV94YQBhZHBjbV9hZHgAYWRwY21fZWEAYWRwY21fZzcyNgBhZHBjbV9jdABhZHBjbV9zd2YAYWRwY21feWFtYWhhAGFkcGNtX3NicHJvXzQAYWRwY21fc2Jwcm9fMwBhZHBjbV9zYnByb18yAGFkcGNtX3RocABhZHBjbV90aHBfbGUAYWRwY21faW1hX2FtdgBhZHBjbV9lYV9yMQBhZHBjbV9lYV9yMwBhZHBjbV9lYV9yMgBhZHBjbV9pbWFfZWFfc2VhZABhZHBjbV9pbWFfZWFfZWFjcwBhZHBjbV9lYV94YXMAYWRwY21fZWFfbWF4aXNfeGEAYWRwY21faW1hX2lzcwBhZHBjbV9nNzIyAGFkcGNtX2ltYV9hcGMAYWRwY21fYWZjAGFkcGNtX2ltYV9va2kAYWRwY21fZHRrAGFkcGNtX2ltYV9yYWQAYWRwY21fZzcyNmxlAGFkcGNtX3ZpbWEAYWRwY21fcHN4AGFkcGNtX2FpY2EAYWRwY21faW1hX2RhdDQAYW1yX25iAGFtcl93YgByYV8xNDQAcmFfMjg4AHJvcV9kcGNtAGludGVycGxheV9kcGNtAHhhbl9kcGNtAHNvbF9kcGNtAHNkeDJfZHBjbQBncmVtbGluX2RwY20AbXAyAG1wMwBhYWMAYWMzAGR0cwB2b3JiaXMAZHZhdWRpbwB3bWF2MQB3bWF2MgBtYWNlMwBtYWNlNgB2bWRhdWRpbwBmbGFjAG1wM2FkdQBtcDNvbjQAc2hvcnRlbgBhbGFjAHdlc3R3b29kX3NuZDEAZ3NtAHFkbTIAY29vawB0cnVlc3BlZWNoAHR0YQBzbWFja2F1ZGlvAHFjZWxwAHdhdnBhY2sAZHNpY2luYXVkaW8AaW1jAG11c2VwYWNrNwBtbHAAZ3NtX21zAGF0cmFjMwB2b3h3YXJlAGFwZQBuZWxseW1vc2VyAG11c2VwYWNrOABzcGVleAB3bWF2b2ljZQB3bWFwcm8Ad21hbG9zc2xlc3MAYXRyYWMzcABhdHJhYzNwYWwAYXRyYWMzYWwAZWFjMwBzaXByAG1wMQB0d2ludnEAdHJ1ZWhkAG1wNGFscwBhdHJhYzEAYmlua2F1ZGlvX3JkZnQAYmlua2F1ZGlvX2RjdABhYWNfbGF0bQBxZG1jAGNlbHQAZzcyM18xAGRzc19zcABkb2xieV9lAGc3MjkAOHN2eF9leHAAOHN2eF9maWIAYm12X2F1ZGlvAHJhbGYAaWFjAGlsYmMAd2F2ZXN5bnRoAHNvbmljAHNvbmljbHMAb3B1cwBjb21mb3J0bm9pc2UAdGFrAG1ldGFzb3VuZABwYWZfYXVkaW8AYXZjAGV2cmMAc212ADRndgBkc2RfbHNiZgBkc2RfbXNiZgBkc2RfbHNiZl9wbGFuYXIAZHNkX21zYmZfcGxhbmFyAGludGVycGxheWFjbQB4bWExAHhtYTIAZHN0AGFkcGNtX210YWYAZHZkX3N1YnRpdGxlAGR2Yl9zdWJ0aXRsZQB0ZXh0AHhzdWIAYXNzAHNzYQBtb3ZfdGV4dABoZG12X3Bnc19zdWJ0aXRsZQBkdmJfdGVsZXRleHQAc3J0AHN1YnJpcABtaWNyb2R2ZABtcGwyAGVpYV82MDgAamFjb3N1YgBwanMAc2FtaQByZWFsdGV4dABzdGwAc3Vidmlld2VyMQBzdWJ2aWV3ZXIAdnBsYXllcgB3ZWJ2dHQAaGRtdl90ZXh0X3N1YnRpdGxlAHR0ZgBiaW50ZXh0AHhiaW4AaWRmAG90ZgBrbHYAZHZkX25hdl9wYWNrZXQAdGltZWRfaWQzAGJpbl9kYXRhAHNjdGVfMzUAYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtAGFwcGxpY2F0aW9uL3ZuZC5tcy1vcGVudHlwZQBhcHBsaWNhdGlvbi94LXRydWV0eXBlLWZvbnQAYXBwbGljYXRpb24veC1mb250AGltYWdlL3BuZwBpbWFnZS94LXh3aW5kb3dkdW1wAGltYWdlL3gteHBpeG1hcABpbWFnZS94LXhiaXRtYXAAaW1hZ2Uvd2VicABpbWFnZS90aWZmAGltYWdlL3gtdGFyZ2EAaW1hZ2UveC10Z2EAaW1hZ2UveC1wY3gAaW1hZ2UveC1wb3J0YWJsZS1waXhtYXAAaW1hZ2UvZ2lmAGltYWdlL2pwMgBpbWFnZS94LW1zLWJtcABpbWFnZS9zdmcreG1sAGltYWdlL2pwZWcAaW50ZXJuYWwgZXJyb3IsIHNsaWNlIGVuZCBiZWZvcmUgc3RhcnQKAGlnbm9yaW5nIGxhc3QgbWlzc2luZyBzbGljZQoAQ2Fubm90IHVzZSBwcmV2aW91cyBwaWN0dXJlIGluIGVycm9yIGNvbmNlYWxtZW50CgBDYW5ub3QgdXNlIG5leHQgcGljdHVyZSBpbiBlcnJvciBjb25jZWFsbWVudAoAV2FybmluZyBNVnMgbm90IGF2YWlsYWJsZQoAJTJYIABjb25jZWFsaW5nICVkIERDLCAlZCBBQywgJWQgTVYgZXJyb3JzIGluICVjIGZyYW1lCgBzLT5hdmN0eC0+Y29kZWNfaWQgIT0gQVZfQ09ERUNfSURfSDI2NABsaWJhdmNvZGVjL2Vycm9yX3Jlc2lsaWVuY2UuYwBzLT5xdWFydGVyX3NhbXBsZQBndWVzc19kYygpIGlzIG91dCBvZiBtZW1vcnkKAG5leHRfYmxvY2tsaXN0X2xlbmd0aCA8PSBtYl9oZWlnaHQgKiBtYl93aWR0aABuYWwtPnNraXBwZWRfYnl0ZXNfcG9zX3NpemUgPj0gbmFsLT5za2lwcGVkX2J5dGVzAGxpYmF2Y29kZWMvaDI2NDVfcGFyc2UuYwBFeGNlZWRlZCBuZXh0IE5BTEZGIHBvc2l0aW9uLCByZS1zeW5jaW5nLgoATm8gc3RhcnQgY29kZSBpcyBmb3VuZC4KAE5BTEZGOiBDb25zdW1lZCBvbmx5ICVkIGJ5dGVzIGluc3RlYWQgb2YgJWQKAEludmFsaWQgTkFMIHVuaXQgJWQsIHNraXBwaW5nLgoAbmFsX3VuaXRfdHlwZTogJWQsIG5hbF9yZWZfaWRjOiAlZAoAbmFsX3VuaXRfdHlwZTogJWQoJXMpLCBudWhfbGF5ZXJfaWQ6ICVkLCB0ZW1wb3JhbF9pZDogJWQKAFNFSV9TVUZGSVgAU0VJX1BSRUZJWABGRF9OVVQARU9CX05VVABFT1NfTlVUAEFVRABQUFMAU1BTAFZQUwBDUkFfTlVUAElEUl9OX0xQAElEUl9XX1JBREwAQkxBX05fTFAAQkxBX1dfUkFETABCTEFfV19MUABSQVNMX1IAUkFTTF9OAFJBRExfUgBSQURMX04AU1RTQV9SAFNUU0FfTgBUU0FfUgBUU0FfTgBUUkFJTF9SAFRSQUlMX04ASW52YWxpZCBOQUwgdW5pdCBzaXplICglZCA+ICVkKS4KAAECAwMBAgIAAQEAAAEBAQABAQAAAQAAAG1iX3R5cGUgJWQgaW4gJWMgc2xpY2UgdG9vIGxhcmdlIGF0ICVkICVkCgBOb3QgZW5vdWdoIGRhdGEgZm9yIGFuIGludHJhIFBDTSBibG9jay4KAEIgc3ViX21iX3R5cGUgJXUgb3V0IG9mIHJhbmdlIGF0ICVkICVkCgBQIHN1Yl9tYl90eXBlICV1IG91dCBvZiByYW5nZSBhdCAlZCAlZAoAcmVmICV1IG92ZXJmbG93CgBjYnAgdG9vIGxhcmdlICgldSkgYXQgJWQgJWQKAGRxdWFudCBvdXQgb2YgcmFuZ2UgKCVkKSBhdCAlZCAlZAoAY29ycnVwdGVkIG1hY3JvYmxvY2sgJWQgJWQgKHRvdGFsX2NvZWZmPSVkKQoASW52YWxpZCBsZXZlbCBwcmVmaXgKAG5lZ2F0aXZlIG51bWJlciBvZiB6ZXJvIGNvZWZmcyBhdCAlZCAlZAoAcG9jZGlmZiBvdmVyZmxvdwoAcG9jZGlmZjAgb3ZlcmZsb3cKAGN1ci0+bWJhZmYgPT0gKGgpLT5tYl9hZmZfZnJhbWUAbGliYXZjb2RlYy9oMjY0X2RpcmVjdC5jAGNvIGxvY2F0ZWQgUE9DcyB1bmF2YWlsYWJsZQoAbHVtYV9sb2cyX3dlaWdodF9kZW5vbSAlZCBpcyBvdXQgb2YgcmFuZ2UKAGNocm9tYV9sb2cyX3dlaWdodF9kZW5vbSAlZCBpcyBvdXQgb2YgcmFuZ2UKAE91dCBvZiByYW5nZSB3ZWlnaHQKAP8ACf//////AAAAAHRvcCBibG9jayB1bmF2YWlsYWJsZSBmb3IgcmVxdWVzdGVkIGludHJhIG1vZGUgJWQKAAD/CgD///8A/wsAAGxlZnQgYmxvY2sgdW5hdmFpbGFibGUgZm9yIHJlcXVlc3RlZCBpbnRyYTR4NCBtb2RlICVkCgBvdXQgb2YgcmFuZ2UgaW50cmEgY2hyb21hIHByZWQgbW9kZQoABAH//3RvcCBibG9jayB1bmF2YWlsYWJsZSBmb3IgcmVxdWVzdGVkIGludHJhIG1vZGUKAGxlZnQgYmxvY2sgdW5hdmFpbGFibGUgZm9yIHJlcXVlc3RlZCBpbnRyYSBtb2RlCgAF/wL/BnJlZmVyZW5jZSBvdmVyZmxvdyAldSA+ICV1IG9yICV1ID4gJXUKAGF2Y0MgJWQgdG9vIHNob3J0CgBEZWNvZGluZyBzcHMgJWQgZnJvbSBhdmNDIGZhaWxlZAoARGVjb2RpbmcgcHBzICVkIGZyb20gYXZjQyBmYWlsZWQKAFNQUyBkZWNvZGluZyBmYWlsdXJlLCB0cnlpbmcgYWdhaW4gYWZ0ZXIgZXNjYXBpbmcgdGhlIE5BTAoAIWRzdC0+Zi0+YnVmWzBdAGxpYmF2Y29kZWMvaDI2NF9waWN0dXJlLmMAc3JjLT5mLT5idWZbMF0Ac3JjLT50Zi5mID09IHNyYy0+ZgBoYXJkd2FyZSBhY2NlbGVyYXRvciBmYWlsZWQgdG8gZGVjb2RlIHBpY3R1cmUKAGFic19kaWZmX3BpY19udW0gb3ZlcmZsb3cKAGxvbmdfdGVybV9waWNfaWR4IG92ZXJmbG93CgBsaWJhdmNvZGVjL2gyNjRfcmVmcy5jAHJlZmVyZW5jZSBwaWN0dXJlIG1pc3NpbmcgZHVyaW5nIHJlb3JkZXIKAE1pc3NpbmcgcmVmZXJlbmNlIHBpY3R1cmUsIGRlZmF1bHQgaXMgJWQKAGF2X2J1ZmZlcl9nZXRfcmVmX2NvdW50KHNsLT5yZWZfbGlzdFtsaXN0XVtpbmRleF0ucGFyZW50LT5mLT5idWZbMF0pID4gMABsZW4gPD0gMzIARGlzY2FyZGluZyBtaXNtYXRjaGluZyByZWZlcmVuY2UKAGluZGV4IDwgZGVmX2xlbgBsb25nIHRlcm0gbGlzdDoKACV1IGZuOiVkIHBvYzolZCAlcAoAc2hvcnQgdGVybSBsaXN0OgoAcmVmZXJlbmNlIGNvdW50IG92ZXJmbG93CgBpbGxlZ2FsIG1vZGlmaWNhdGlvbl9vZl9waWNfbnVtc19pZGMgJXUKAG5vIG1tY28gaGVyZQoAbW1jbzolZCAlZCAlZAoAbW1jbzogdW5yZWYgc2hvcnQgZmFpbHVyZQoAbW1jbzogdW5yZWYgc2hvcnQgJWQgY291bnQgJWQKAG1tY286IHVucmVmIGxvbmcgZmFpbHVyZQoAbW1jbzogY2Fubm90IGFzc2lnbiBjdXJyZW50IHBpY3R1cmUgdG8gc2hvcnQgYW5kIGxvbmcgYXQgdGhlIHNhbWUgdGltZQoAbW1jbzogY2Fubm90IGFzc2lnbiBjdXJyZW50IHBpY3R1cmUgdG8gMiBsb25nIHRlcm0gcmVmZXJlbmNlcwoAIWgtPmN1cl9waWNfcHRyLT5sb25nX3JlZgBpbGxlZ2FsIHNob3J0IHRlcm0gcmVmZXJlbmNlIGFzc2lnbm1lbnQgZm9yIHNlY29uZCBmaWVsZCBpbiBjb21wbGVtZW50YXJ5IGZpZWxkIHBhaXIgKGZpcnN0IGZpZWxkIGlzIGxvbmcgdGVybSkKAGlsbGVnYWwgc2hvcnQgdGVybSBidWZmZXIgc3RhdGUgZGV0ZWN0ZWQKAG51bWJlciBvZiByZWZlcmVuY2UgZnJhbWVzICglZCslZCkgZXhjZWVkcyBtYXggKCVkOyBwcm9iYWJseSBjb3JydXB0IGlucHV0KSwgZGlzY2FyZGluZyBvbmUKAHJlbW92ZSBzaG9ydCAlZCBjb3VudCAlZAoAJWQgJWQgJXAKAGlsbGVnYWwgbG9uZyByZWYgaW4gbWVtb3J5IG1hbmFnZW1lbnQgY29udHJvbCBvcGVyYXRpb24gJWQKAGlsbGVnYWwgbWVtb3J5IG1hbmFnZW1lbnQgY29udHJvbCBvcGVyYXRpb24gJWQKAGgyNjRfc2xpY2VfaGVhZGVyX2luaXQoKSBmYWlsZWQAQ291bGQgbm90IGFsbG9jYXRlIG1lbW9yeQoAVkRQQVUgZGVjb2RpbmcgZG9lcyBub3Qgc3VwcG9ydCB2aWRlbyBjb2xvcnNwYWNlLgoAVW5zdXBwb3J0ZWQgYml0IGRlcHRoICVkCgBjb250ZXh0X2luaXQoKSBmYWlsZWQuCgBUb28gbWFueSBmaWVsZHMKAEJyb2tlbiBmcmFtZSBwYWNrZXRpemluZwoAc2wgPT0gaC0+c2xpY2VfY3R4AGxpYmF2Y29kZWMvaDI2NF9zbGljZS5jAFBQUyBjaGFuZ2VkIGJldHdlZW4gc2xpY2VzCgBTUFMgY2hhbmdlZCBpbiB0aGUgbWlkZGxlIG9mIHRoZSBmcmFtZQoAQ2hhbmdpbmcgZmllbGQgbW9kZSAoJWQgLT4gJWQpIGJldHdlZW4gc2xpY2VzIGlzIG5vdCBhbGxvd2VkCgB1bnNldCBjdXJfcGljX3B0ciBvbiBzbGljZSAlZAoASW52YWxpZCBtaXggb2YgSURSIGFuZCBub24tSURSIHNsaWNlcwoAZmlyc3RfbWJfaW5fc2xpY2Ugb3ZlcmZsb3cKAFBvc3NpYmx5IHRvbyBtYW55IHNsaWNlcyAoJWQgPj0gJWQpLCBpbmNyZWFzZSBNQVhfU0xJQ0VTIGFuZCByZWNvbXBpbGUgaWYgdGhlcmUgYXJlIGFydGlmYWN0cwoAVABCAEYAIGZpeAAgSURSAGMAVEVNUABTUEFUAHNsaWNlOiVkICVzIG1iOiVkICVjJXMlcyBmcmFtZTolZCBwb2M6JWQvJWQgcmVmOiVkLyVkIHFwOiVkIGxvb3A6JWQ6JWQ6JWQgd2VpZ2h0OiVkJXMgJXMKAGgtPmN1cl9waWNfcHRyAGgtPmN1cl9waWNfcHRyLT5mLT5idWZbMF0ASW52YWxpZCBmaWVsZCBtb2RlIGNvbWJpbmF0aW9uICVkLyVkCgBGb3VuZCByZWZlcmVuY2UgYW5kIG5vbi1yZWZlcmVuY2UgZmllbGRzIGluIHRoZSBzYW1lIGZyYW1lLCB3aGljaABGcmFtZSBudW0gZ2FwICVkICVkCgBJbnZhbGlkIFBPQyAlZDwlZAoASW5jcmVhc2luZyByZW9yZGVyIGJ1ZmZlciB0byAlZAoAcGljcyA8PSAxNgBvb28Abm8gcGljdHVyZSAlcwoAQXR0ZW1wdCB0byBzdGFydCBhIGZyYW1lIG91dHNpZGUgU0VUVVAgc3RhdGUKAG5vIGZyYW1lIGJ1ZmZlciBhdmFpbGFibGUKACFwaWMtPmYtPmRhdGFbMF0AIXBpYy0+aHdhY2NlbF9waWN0dXJlX3ByaXZhdGUAY2hhbmdpbmcgd2lkdGggJWQgLT4gJWQgLyBoZWlnaHQgJWQgLT4gJWQgb24gc2xpY2UgJWQKAFJlaW5pdCBjb250ZXh0IHRvICVkeCVkLCBwaXhfZm10OiAlcwoAaDI2NF9zbGljZV9oZWFkZXJfaW5pdCgpIGZhaWxlZAoAc3BzLT5jcm9wX3JpZ2h0ICsgc3BzLT5jcm9wX2xlZnQgPCAodW5zaWduZWQpaC0+d2lkdGgAc3BzLT5jcm9wX3RvcCArIHNwcy0+Y3JvcF9ib3R0b20gPCAodW5zaWduZWQpaC0+aGVpZ2h0AGNvbnRleHRfY291bnQgJiYgaC0+c2xpY2VfY3R4W2NvbnRleHRfY291bnQgLSAxXS5tYl95IDwgaC0+bWJfaGVpZ2h0AGgtPmJsb2NrX29mZnNldFsxNV0gPT0gKDQgKiAoKHNjYW44WzE1XSAtIHNjYW44WzBdKSAmIDcpIDw8IGgtPnBpeGVsX3NoaWZ0KSArIDQgKiBzbC0+bGluZXNpemUgKiAoKHNjYW44WzE1XSAtIHNjYW44WzBdKSA+PiAzKQBTbGljZSBvdmVybGFwcyB3aXRoIG5leHQgYXQgJWQKAGJ5dGVzdHJlYW0gb3ZlcnJlYWQgJXRkCgBlcnJvciB3aGlsZSBkZWNvZGluZyBNQiAlZCAlZCwgYnl0ZXN0cmVhbSAldGQKAGVycm9yIHdoaWxlIGRlY29kaW5nIE1CICVkICVkCgAhaC0+c2V0dXBfZmluaXNoZWQAc2xpY2UgdHlwZSAlZCB0b28gbGFyZ2UgYXQgJWQKAEEgbm9uLWludHJhIHNsaWNlIGluIGFuIElEUiBOQUwgdW5pdC4KAHBwc19pZCAldSBvdXQgb2YgcmFuZ2UKAG5vbi1leGlzdGluZyBQUFMgJXUgcmVmZXJlbmNlZAoAbm9uLWV4aXN0aW5nIFNQUyAldSByZWZlcmVuY2VkCgBGcmFtZSBudW0gY2hhbmdlIGZyb20gJWQgdG8gJWQKAFRoaXMgc3RyZWFtIHdhcyBnZW5lcmF0ZWQgYnkgYSBicm9rZW4gZW5jb2RlciwgaW52YWxpZCA4eDggaW5mZXJlbmNlCgBjYWJhY19pbml0X2lkYyAldSBvdmVyZmxvdwoAUVAgJXUgb3V0IG9mIHJhbmdlCgBkZWJsb2NraW5nX2ZpbHRlcl9pZGMgJXUgb3V0IG9mIHJhbmdlCgBkZWJsb2NraW5nIGZpbHRlciBwYXJhbWV0ZXJzICVkICVkIG91dCBvZiByYW5nZQoASW52YWxpZCBVRSBnb2xvbWIgY29kZQoAYml0X2RlcHRoPD04AGxpYmF2Y29kZWMvaDI2NHByZWQuYwBDQUJBQ19NQVhfQklOIDogJWQKACgtMzlASAACAQMAAQABAAABAQABAgIDAwQEYnVmX3NpemUgPj0gMABsaWJhdmNvZGVjL2J5dGVzdHJlYW0uaABJbnZhbGlkIE5BTCB1bml0IHNpemUgaW4gZXh0cmFkYXRhLgoARGVjb2RpbmcgbmFsIHVuaXQgJWQgJWQgZnJvbSBodmNDIGZhaWxlZAoASWdub3JpbmcgTkFMIHR5cGUgJWQgaW4gZXh0cmFkYXRhCgBEdXBsaWNhdGUgUE9DIGluIGEgc2VxdWVuY2U6ICVkLgoAIWZyYW1lLT5od2FjY2VsX3BpY3R1cmVfcHJpdmF0ZQBsaWJhdmNvZGVjL2hldmNfcmVmcy5jAEVycm9yIGFsbG9jYXRpbmcgZnJhbWUsIERQQiBmdWxsLgoAT3V0cHV0IGZyYW1lIHdpdGggUE9DICVkLgoAWmVybyByZWZzIGluIHRoZSBmcmFtZSBSUFMuCgBJbnZhbGlkIHJlZmVyZW5jZSBpbmRleC4KAENvdWxkIG5vdCBmaW5kIHJlZiB3aXRoIFBPQyAlZAoAbiA8PSAxMDI0AGxpYmF2Y29kZWMva2Jkd2luLmMAAAECAwQFBghJbnZhbGlkIHNhbXBsZSByYXRlICVkCgBudWxsAEFwcGxpY2F0aW9uIGhhcyByZXF1ZXN0ZWQgJWQgdGhyZWFkcy4gVXNpbmcgYSB0aHJlYWQgY291bnQgZ3JlYXRlciB0aGFuICVkIGlzIG5vdCByZWNvbW1lbmRlZC4KAAoUIgoUIgULEQULEWlpZF9tb2RlICVkIGlzIHJlc2VydmVkLgoAaWNjX21vZGUgJWQgaXMgcmVzZXJ2ZWQuCgAAAQIEAQIDBGJvcmRlcl9wb3NpdGlvbiBub24gbW9ub3RvbmUuCgBwcyBleHRlbnNpb24gb3ZlcmZsb3cgJWQKAGlpZF9wYXIgaW52YWxpZAoAaWNjX3BhciBpbnZhbGlkCgBFeHBlY3RlZCB0byByZWFkICVkIFBTIGJpdHMgYWN0dWFsbHkgcmVhZCAlZC4KAB4eDg4HBwAAAABpbGxlZ2FsIGljYwoAaWxsZWdhbCBpaWQKAA4ODAoHBQMBAgQGCAkLDQ4NCwkHBQMBAgQGCAoMDgEDBAQEBAQEAQAGBAIDBQcBAwQFBQQEAwECAgMCAAMDAQMEBAUFBAMBAQYEDw4FAAEDBAUFBAQDAQIBBwYAAgP9/wEDBQcKDhIWUmVmZXJlbmNlICVkID49ICVkCgBncmF5IGNocm9tYQoAY2FiYWMgZGVjb2RlIG9mIHFzY2FsZSBkaWZmIGZhaWxlZCBhdCAlZCAlZAoAAAABAQICAgECAwQAAAAAb3ZlcmZsb3cgaW4gZGVjb2RlX2NhYmFjX21iX212ZAoAIAoJDQBBTEwARkwAZnJvbnQgbGVmdABGUgBmcm9udCByaWdodABGQwBmcm9udCBjZW50ZXIATEZFAGxvdyBmcmVxdWVuY3kAQkwAYmFjayBsZWZ0AEJSAGJhY2sgcmlnaHQARkxDAGZyb250IGxlZnQtb2YtY2VudGVyAEZSQwBmcm9udCByaWdodC1vZi1jZW50ZXIAQkMAYmFjayBjZW50ZXIAU0wAc2lkZSBsZWZ0AFNSAHNpZGUgcmlnaHQAVEMAdG9wIGNlbnRlcgBURkwAdG9wIGZyb250IGxlZnQAVEZDAHRvcCBmcm9udCBjZW50ZXIAVEZSAHRvcCBmcm9udCByaWdodABUQkwAdG9wIGJhY2sgbGVmdABUQkMAdG9wIGJhY2sgY2VudGVyAFRCUgB0b3AgYmFjayByaWdodABETABkb3dubWl4IGxlZnQARFIAZG93bm1peCByaWdodABXTAB3aWRlIGxlZnQAV1IAd2lkZSByaWdodABTREwAc3Vycm91bmQgZGlyZWN0IGxlZnQAU0RSAHN1cnJvdW5kIGRpcmVjdCByaWdodABMRkUyAGxvdyBmcmVxdWVuY3kgMgBtb25vAHN0ZXJlbwAyLjEAMy4wADMuMChiYWNrKQA0LjAAcXVhZABxdWFkKHNpZGUpADMuMQA1LjAANS4wKHNpZGUpADQuMQA1LjEANS4xKHNpZGUpADYuMAA2LjAoZnJvbnQpAGhleGFnb25hbAA2LjEANi4xKGJhY2spADYuMShmcm9udCkANy4wADcuMChmcm9udCkANy4xADcuMSh3aWRlKQA3LjEod2lkZS1zaWRlKQBvY3RhZ29uYWwAaGV4YWRlY2Fnb25hbABkb3dubWl4ACVzACVkIGNoYW5uZWxzACAoACsAKQBkZXRlY3RlZCAlZCBsb2dpY2FsIGNvcmVzCgBGYWlsZWQgdG8gbWFwIGZyYW1lIGludG8gZGVyaXZlZCBmcmFtZSBjb250ZXh0OiAlZC4KAEludmFsaWQgbWFwcGluZyBmb3VuZCB3aGVuIGF0dGVtcHRpbmcgdW5tYXAuCgBQaWN0dXJlIHNpemUgJXV4JXUgaXMgaW52YWxpZAoAUGljdHVyZSBzaXplICV1eCV1IGV4Y2VlZHMgc3BlY2lmaWVkIG1heCBwaXhlbCBjb3VudCAlbGxkLCBzZWUgdGhlIGRvY3VtZW50YXRpb24gaWYgeW91IHdpc2ggdG8gaW5jcmVhc2UgaXQKAElNR1VUSUxTAGFicyhzcmNfbGluZXNpemUpID49IGJ5dGV3aWR0aABsaWJhdnV0aWwvaW1ndXRpbHMuYwBhYnMoZHN0X2xpbmVzaXplKSA+PSBieXRld2lkdGgAYXZfaW1hZ2VfZ2V0X2xpbmVzaXplIGZhaWxlZAoAJXMlcyVzJXMAWyVzIEAgJXBdIABbJXNdIABwYW5pYwBmYXRhbABlcnJvcgB3YXJuaW5nAGluZm8AdmVyYm9zZQBkZWJ1ZwBxdWlldAAgICAgTGFzdCBtZXNzYWdlIHJlcGVhdGVkICVkIHRpbWVzDQAgICAgTGFzdCBtZXNzYWdlIHJlcGVhdGVkICVkIHRpbWVzCgAbWyV1OzMldW0lcxtbMG0AG1s0ODs1OyV1bRtbMzg7NTslZG0lcxtbMG0AG1s0ODs1OyV1bRtbMzg7NTsldW0lcxtbMG0AVEVSTQBOT19DT0xPUgBBVl9MT0dfRk9SQ0VfTk9DT0xPUgBBVl9MT0dfRk9SQ0VfQ09MT1IAQVZfTE9HX0ZPUkNFXzI1NkNPTE9SADI1NmNvbG9yACBpcyBub3QgaW1wbGVtZW50ZWQuIFVwZGF0ZSB5b3VyIEZGbXBlZyB2ZXJzaW9uIHRvIHRoZSBuZXdlc3Qgb25lIGZyb20gR2l0LiBJZiB0aGUgcHJvYmxlbSBzdGlsbCBvY2N1cnMsIGl0IG1lYW5zIHRoYXQgeW91ciBmaWxlIGhhcyBhIGZlYXR1cmUgd2hpY2ggaGFzIG5vdCBiZWVuIGltcGxlbWVudGVkLgoASWYgeW91IHdhbnQgdG8gaGVscCwgdXBsb2FkIGEgc2FtcGxlIG9mIHRoaXMgZmlsZSB0byBmdHA6Ly91cGxvYWQuZmZtcGVnLm9yZy9pbmNvbWluZy8gYW5kIGNvbnRhY3QgdGhlIGZmbXBlZy1kZXZlbCBtYWlsaW5nIGxpc3QuIChmZm1wZWctZGV2ZWxAZmZtcGVnLm9yZykKAHZhbCB8fCAhbWluX3NpemUAbGliYXZ1dGlsL21lbV9pbnRlcm5hbC5oAFVuYWJsZSB0byBwYXJzZSBvcHRpb24gdmFsdWUgIiVzIiBhcyBkdXJhdGlvbgoAVW5hYmxlIHRvIHBhcnNlIG9wdGlvbiB2YWx1ZSAiJXMiIGFzIGNoYW5uZWwgbGF5b3V0CgBJbnZhbGlkIG9wdGlvbiB0eXBlLgoAVW5hYmxlIHRvIHBhcnNlIG9wdGlvbiB2YWx1ZSAiJXMiIGFzIGNvbG9yCgBzYW1wbGUgZm9ybWF0AFVuYWJsZSB0byBwYXJzZSBvcHRpb24gdmFsdWUgIiVzIiBhcyAlcwoAVmFsdWUgJWQgZm9yIHBhcmFtZXRlciAnJXMnIG91dCBvZiAlcyBmb3JtYXQgcmFuZ2UgWyVkIC0gJWRdCgBwaXhlbCBmb3JtYXQAVmFsdWUgJWYgZm9yIHBhcmFtZXRlciAnJXMnIG91dCBvZiByYW5nZSBbJWcgLSAlZ10KAFZhbHVlICVmIGZvciBwYXJhbWV0ZXIgJyVzJyBpcyBub3QgYSB2YWxpZCBzZXQgb2YgMzJiaXQgaW50ZWdlciBmbGFncwoAVW5hYmxlIHRvIHBhcnNlIG9wdGlvbiB2YWx1ZSAiJXMiIGFzIHZpZGVvIHJhdGUKAFVuYWJsZSB0byBwYXJzZSBvcHRpb24gdmFsdWUgIiVzIiBhcyBpbWFnZSBzaXplCgAlZCUqMVs6L10lZCVjAGNvbnN0X3ZhbHVlcyBhcnJheSB0b28gc21hbGwgZm9yICVzCgBkZWZhdWx0AGFsbABVbmFibGUgdG8gcGFyc2Ugb3B0aW9uIHZhbHVlICIlcyIKAGF1dG8AdHJ1ZSx5LHllcyxlbmFibGUsZW5hYmxlZCxvbgBmYWxzZSxuLG5vLGRpc2FibGUsZGlzYWJsZWQsb2ZmAFVuYWJsZSB0byBwYXJzZSBvcHRpb24gdmFsdWUgIiVzIiBhcyBib29sZWFuCgBBVk9wdGlvbiB0eXBlICVkIG9mIG9wdGlvbiAlcyBub3QgaW1wbGVtZW50ZWQgeWV0CgBFcnJvciBzZXR0aW5nIG9wdGlvbiAlcyB0byB2YWx1ZSAlcy4KACVkOiVkJWMAbnRzYwBwYWwAcW50c2MAcXBhbABzbnRzYwBzcGFsAG50c2MtZmlsbQBzcWNpZgBxY2lmAGNpZgA0Y2lmADE2Y2lmAHFxdmdhAHF2Z2EAdmdhAHN2Z2EAeGdhAHV4Z2EAcXhnYQBzeGdhAHFzeGdhAGhzeGdhAHd2Z2EAd3hnYQB3c3hnYQB3dXhnYQB3b3hnYQB3cXN4Z2EAd3F1eGdhAHdoc3hnYQB3aHV4Z2EAY2dhAGVnYQBoZDQ4MABoZDcyMABoZDEwODAAMmsAMmtkY2kAMmtmbGF0ADJrc2NvcGUANGsANGtkY2kANGtmbGF0ADRrc2NvcGUAbmhkAGhxdmdhAHdxdmdhAGZ3cXZnYQBodmdhAHFoZAB1aGQyMTYwAHVoZDQzMjAAMHgAYmlrZXNoZWQAMDEyMzQ1Njc4OUFCQ0RFRmFiY2RlZgBJbnZhbGlkIDB4UlJHR0JCW0FBXSBjb2xvciBzdHJpbmc6ICclcycKAENhbm5vdCBmaW5kIGNvbG9yICclcycKAEludmFsaWQgYWxwaGEgdmFsdWUgc3BlY2lmaWVyICclcycgaW4gJyVzJwoAQWxpY2VCbHVlAEFudGlxdWVXaGl0ZQBBcXVhAEFxdWFtYXJpbmUAQXp1cmUAQmVpZ2UAQmlzcXVlAEJsYWNrAEJsYW5jaGVkQWxtb25kAEJsdWUAQmx1ZVZpb2xldABCcm93bgBCdXJseVdvb2QAQ2FkZXRCbHVlAENoYXJ0cmV1c2UAQ2hvY29sYXRlAENvcmFsAENvcm5mbG93ZXJCbHVlAENvcm5zaWxrAENyaW1zb24AQ3lhbgBEYXJrQmx1ZQBEYXJrQ3lhbgBEYXJrR29sZGVuUm9kAERhcmtHcmF5AERhcmtHcmVlbgBEYXJrS2hha2kARGFya01hZ2VudGEARGFya09saXZlR3JlZW4ARGFya29yYW5nZQBEYXJrT3JjaGlkAERhcmtSZWQARGFya1NhbG1vbgBEYXJrU2VhR3JlZW4ARGFya1NsYXRlQmx1ZQBEYXJrU2xhdGVHcmF5AERhcmtUdXJxdW9pc2UARGFya1Zpb2xldABEZWVwUGluawBEZWVwU2t5Qmx1ZQBEaW1HcmF5AERvZGdlckJsdWUARmlyZUJyaWNrAEZsb3JhbFdoaXRlAEZvcmVzdEdyZWVuAEZ1Y2hzaWEAR2FpbnNib3JvAEdob3N0V2hpdGUAR29sZABHb2xkZW5Sb2QAR3JheQBHcmVlbgBHcmVlblllbGxvdwBIb25leURldwBIb3RQaW5rAEluZGlhblJlZABJbmRpZ28ASXZvcnkAS2hha2kATGF2ZW5kZXIATGF2ZW5kZXJCbHVzaABMYXduR3JlZW4ATGVtb25DaGlmZm9uAExpZ2h0Qmx1ZQBMaWdodENvcmFsAExpZ2h0Q3lhbgBMaWdodEdvbGRlblJvZFllbGxvdwBMaWdodEdyZWVuAExpZ2h0R3JleQBMaWdodFBpbmsATGlnaHRTYWxtb24ATGlnaHRTZWFHcmVlbgBMaWdodFNreUJsdWUATGlnaHRTbGF0ZUdyYXkATGlnaHRTdGVlbEJsdWUATGlnaHRZZWxsb3cATGltZQBMaW1lR3JlZW4ATGluZW4ATWFnZW50YQBNYXJvb24ATWVkaXVtQXF1YU1hcmluZQBNZWRpdW1CbHVlAE1lZGl1bU9yY2hpZABNZWRpdW1QdXJwbGUATWVkaXVtU2VhR3JlZW4ATWVkaXVtU2xhdGVCbHVlAE1lZGl1bVNwcmluZ0dyZWVuAE1lZGl1bVR1cnF1b2lzZQBNZWRpdW1WaW9sZXRSZWQATWlkbmlnaHRCbHVlAE1pbnRDcmVhbQBNaXN0eVJvc2UATW9jY2FzaW4ATmF2YWpvV2hpdGUATmF2eQBPbGRMYWNlAE9saXZlAE9saXZlRHJhYgBPcmFuZ2UAT3JhbmdlUmVkAE9yY2hpZABQYWxlR29sZGVuUm9kAFBhbGVHcmVlbgBQYWxlVHVycXVvaXNlAFBhbGVWaW9sZXRSZWQAUGFwYXlhV2hpcABQZWFjaFB1ZmYAUGVydQBQaW5rAFBsdW0AUG93ZGVyQmx1ZQBQdXJwbGUAUmVkAFJvc3lCcm93bgBSb3lhbEJsdWUAU2FkZGxlQnJvd24AU2FsbW9uAFNhbmR5QnJvd24AU2VhR3JlZW4AU2VhU2hlbGwAU2llbm5hAFNpbHZlcgBTa3lCbHVlAFNsYXRlQmx1ZQBTbGF0ZUdyYXkAU25vdwBTcHJpbmdHcmVlbgBTdGVlbEJsdWUAVGFuAFRlYWwAVGhpc3RsZQBUb21hdG8AVHVycXVvaXNlAFZpb2xldABXaGVhdABXaGl0ZQBXaGl0ZVNtb2tlAFllbGxvdwBZZWxsb3dHcmVlbgAlSDolTTolUwBqYW51YXJ5AGZlYnJ1YXJ5AG1hcmNoAGFwcmlsAG1heQBqdW5lAGp1bHkAYXVndXN0AHNlcHRlbWJlcgBvY3RvYmVyAG5vdmVtYmVyAGRlY2VtYmVyAG5vdwAlSjolTTolUwAlTTolUwAlSDolTQAlSCVNACVIACVIJU0lUwAlWSAtICVtIC0gJWQAJVklbSVkAHl1djQyMHAAeXV5djQyMgByZ2IyNABiZ3IyNAB5dXY0MjJwAHl1djQ0NHAAeXV2NDEwcAB5dXY0MTFwAGdyYXkAZ3JheTgseTgAbW9ub3cAbW9ub2IAcGFsOAB5dXZqNDIwcAB5dXZqNDIycAB5dXZqNDQ0cAB4dm1jbWMAeHZtY2lkY3QAdXl2eTQyMgB1eXl2eXk0MTEAYmdyOABiZ3I0AGJncjRfYnl0ZQByZ2I4AHJnYjQAcmdiNF9ieXRlAG52MTIAbnYyMQBhcmdiAHJnYmEAYWJncgBiZ3JhAGdyYXkxNmJlAHkxNmJlAGdyYXkxNmxlAHkxNmxlAHl1djQ0MHAAeXV2ajQ0MHAAeXV2YTQyMHAAdmRwYXVfaDI2NAB2ZHBhdV9tcGVnMQB2ZHBhdV9tcGVnMgB2ZHBhdV93bXYzAHZkcGF1X3ZjMQByZ2I0OGJlAHJnYjQ4bGUAcmdiNTY1YmUAcmdiNTY1bGUAcmdiNTU1YmUAcmdiNTU1bGUAYmdyNTY1YmUAYmdyNTY1bGUAYmdyNTU1YmUAYmdyNTU1bGUAdmFhcGlfbW9jbwB2YWFwaV9pZGN0AHZhYXBpX3ZsZAB5dXY0MjBwMTZsZQB5dXY0MjBwMTZiZQB5dXY0MjJwMTZsZQB5dXY0MjJwMTZiZQB5dXY0NDRwMTZsZQB5dXY0NDRwMTZiZQB2ZHBhdV9tcGVnNABkeHZhMl92bGQAcmdiNDQ0bGUAcmdiNDQ0YmUAYmdyNDQ0bGUAYmdyNDQ0YmUAeWE4AGdyYXk4YQBiZ3I0OGJlAGJncjQ4bGUAeXV2NDIwcDliZQB5dXY0MjBwOWxlAHl1djQyMHAxMGJlAHl1djQyMHAxMGxlAHl1djQyMnAxMGJlAHl1djQyMnAxMGxlAHl1djQ0NHA5YmUAeXV2NDQ0cDlsZQB5dXY0NDRwMTBiZQB5dXY0NDRwMTBsZQB5dXY0MjJwOWJlAHl1djQyMnA5bGUAdmRhX3ZsZABnYnJwAGdicnA5YmUAZ2JycDlsZQBnYnJwMTBiZQBnYnJwMTBsZQBnYnJwMTZiZQBnYnJwMTZsZQB5dXZhNDIycAB5dXZhNDQ0cAB5dXZhNDIwcDliZQB5dXZhNDIwcDlsZQB5dXZhNDIycDliZQB5dXZhNDIycDlsZQB5dXZhNDQ0cDliZQB5dXZhNDQ0cDlsZQB5dXZhNDIwcDEwYmUAeXV2YTQyMHAxMGxlAHl1dmE0MjJwMTBiZQB5dXZhNDIycDEwbGUAeXV2YTQ0NHAxMGJlAHl1dmE0NDRwMTBsZQB5dXZhNDIwcDE2YmUAeXV2YTQyMHAxNmxlAHl1dmE0MjJwMTZiZQB5dXZhNDIycDE2bGUAeXV2YTQ0NHAxNmJlAHl1dmE0NDRwMTZsZQB2ZHBhdQB4eXoxMmxlAHh5ejEyYmUAbnYxNgBudjIwbGUAbnYyMGJlAHJnYmE2NGJlAHJnYmE2NGxlAGJncmE2NGJlAGJncmE2NGxlAHl2eXU0MjIAdmRhAHlhMTZiZQB5YTE2bGUAZ2JyYXAAZ2JyYXAxNmJlAGdicmFwMTZsZQBxc3YAbW1hbABkM2QxMXZhX3ZsZABjdWRhADByZ2IAcmdiMAAwYmdyAGJncjAAeXV2NDIwcDEyYmUAeXV2NDIwcDEybGUAeXV2NDIwcDE0YmUAeXV2NDIwcDE0bGUAeXV2NDIycDEyYmUAeXV2NDIycDEybGUAeXV2NDIycDE0YmUAeXV2NDIycDE0bGUAeXV2NDQ0cDEyYmUAeXV2NDQ0cDEybGUAeXV2NDQ0cDE0YmUAeXV2NDQ0cDE0bGUAZ2JycDEyYmUAZ2JycDEybGUAZ2JycDE0YmUAZ2JycDE0bGUAeXV2ajQxMXAAYmF5ZXJfYmdncjgAYmF5ZXJfcmdnYjgAYmF5ZXJfZ2JyZzgAYmF5ZXJfZ3JiZzgAYmF5ZXJfYmdncjE2bGUAYmF5ZXJfYmdncjE2YmUAYmF5ZXJfcmdnYjE2bGUAYmF5ZXJfcmdnYjE2YmUAYmF5ZXJfZ2JyZzE2bGUAYmF5ZXJfZ2JyZzE2YmUAYmF5ZXJfZ3JiZzE2bGUAYmF5ZXJfZ3JiZzE2YmUAeXV2NDQwcDEwbGUAeXV2NDQwcDEwYmUAeXV2NDQwcDEybGUAeXV2NDQwcDEyYmUAYXl1djY0bGUAYXl1djY0YmUAdmlkZW90b29sYm94X3ZsZABwMDEwbGUAcDAxMGJlAGdicmFwMTJiZQBnYnJhcDEybGUAZ2JyYXAxMGJlAGdicmFwMTBsZQBtZWRpYWNvZGVjAGdyYXkxMmJlAHkxMmJlAGdyYXkxMmxlAHkxMmxlAGdyYXkxMGJlAHkxMGJlAGdyYXkxMGxlAHkxMGxlAHAwMTZsZQBwMDE2YmUAZDNkMTEAZ3JheTliZQB5OWJlAGdyYXk5bGUAeTlsZQBnYnJwZjMyYmUAZ2JycGYzMmxlAGdicmFwZjMyYmUAZ2JyYXBmMzJsZQBkcm1fcHJpbWUAcmdiMzIAYmdyMzIAJXMlcwBsZQB2YWFwaQB1bmtub3duAHJlc2VydmVkAGJ0NzA5AGJ0NDcwbQBidDQ3MGJnAHNtcHRlMTcwbQBzbXB0ZTI0MG0AZmlsbQBidDIwMjAAc21wdGU0MjgAc21wdGU0MzEAc21wdGU0MzIAamVkZWMtcDIyAGxpbmVhcgBsb2cxMDAAbG9nMzE2AGllYzYxOTY2LTItNABidDEzNjFlAGllYzYxOTY2LTItMQBidDIwMjAtMTAAYnQyMDIwLTEyAHNtcHRlMjA4NABhcmliLXN0ZC1iNjcAZ2JyAGZjYwB5Y2djbwBidDIwMjBuYwBidDIwMjBjAHNtcHRlMjA4NQBjaHJvbWEtZGVyaXZlZC1uYwBjaHJvbWEtZGVyaXZlZC1jAGljdGNwAC9kZXYvdXJhbmRvbQAvZGV2L3JhbmRvbQBzaXplb2YodG1wKSA+PSBhdl9zaGFfc2l6ZQBsaWJhdnV0aWwvcmFuZG9tX3NlZWQuYwCAAG5iX3RocmVhZHMgPj0gMABsaWJhdnV0aWwvc2xpY2V0aHJlYWQuYwBuYl9qb2JzID4gMABJbnZhbGlkIGNoYXJzICclcycgYXQgdGhlIGVuZCBvZiBleHByZXNzaW9uICclcycKAFVuZGVmaW5lZCBjb25zdGFudCBvciBtaXNzaW5nICcoJyBpbiAnJXMnCgBNaXNzaW5nICcpJyBpbiAnJXMnCgBNaXNzaW5nICcpJyBvciB0b28gbWFueSBhcmdzIGluICclcycKAHNpbmgAY29zaAB0YW5oAHNpbgBjb3MAdGFuAGF0YW4AYXNpbgBhY29zAGV4cABsb2cAYWJzAHRpbWUAc3F1aXNoAGdhdXNzAG1vZABtYXgAbWluAGVxAGd0ZQBndABsdGUAbHQAbGQAaXNuYW4AaXNpbmYAc3QAd2hpbGUAdGF5bG9yAHJvb3QAZmxvb3IAY2VpbAB0cnVuYwByb3VuZABzcXJ0AG5vdABwb3cAcHJpbnQAcmFuZG9tAGh5cG90AGdjZABpZgBpZm5vdABiaXRhbmQAYml0b3IAYmV0d2VlbgBjbGlwAGF0YW4yAGxlcnAAVW5rbm93biBmdW5jdGlvbiBpbiAnJXMnCgBFAFBJAFBISQBRUDJMQU1CREEARXZhbAAlZgoARmFpbGVkIHRvIHNldCBjbG9zZSBvbiBleGVjCgBGYWlsZWQgdG8gc2V0IG9wdGlvbgoAUmVxdWVzdGVkIGlucHV0IHNhbXBsZSBmb3JtYXQgJWQgaXMgaW52YWxpZAoAUmVxdWVzdGVkIG91dHB1dCBzYW1wbGUgZm9ybWF0ICVkIGlzIGludmFsaWQKAElucHV0IGNoYW5uZWwgbGF5b3V0IDB4JWxseCBpcyBpbnZhbGlkIG9yIHVuc3VwcG9ydGVkLgoAT3V0cHV0IGNoYW5uZWwgbGF5b3V0IDB4JWxseCBpcyBpbnZhbGlkIG9yIHVuc3VwcG9ydGVkLgoAUmVxdWVzdGVkIHJlc2FtcGxpbmcgZW5naW5lIGlzIHVuYXZhaWxhYmxlCgBJbnB1dCBjaGFubmVsIGxheW91dCBoYXMgYSBkaWZmZXJlbnQgbnVtYmVyIG9mIGNoYW5uZWxzIHRoYW4gdGhlIG51bWJlciBvZiB1c2VkIGNoYW5uZWxzLCBpZ25vcmluZyBsYXlvdXQKAFVzaW5nICVzIGludGVybmFsbHkgYmV0d2VlbiBmaWx0ZXJzCgBSZXF1ZXN0ZWQgc2FtcGxlIGZvcm1hdCAlcyBpcyBub3Qgc3VwcG9ydGVkIGludGVybmFsbHksIFMxNi9TMzIvUzY0L0ZMVC9EQkwgaXMgc3VwcG9ydGVkCgBGYWlsZWQgdG8gaW5pdGlhbGl6ZSByZXNhbXBsZXIKAFJlc2FtcGxpbmcgb25seSBzdXBwb3J0ZWQgd2l0aCBpbnRlcm5hbCBzMTYvczMyL2ZsdC9kYmwKACFzLT5pbl9jaF9sYXlvdXQAbGlic3dyZXNhbXBsZS9zd3Jlc2FtcGxlLmMASW5wdXQgY2hhbm5lbCBjb3VudCBhbmQgbGF5b3V0IGFyZSB1bnNldAoAT3V0cHV0IGNoYW5uZWwgbGF5b3V0ICVzIG1pc21hdGNoZXMgc3BlY2lmaWVkIGNoYW5uZWwgY291bnQgJWQKAElucHV0IGNoYW5uZWwgbGF5b3V0ICVzIG1pc21hdGNoZXMgc3BlY2lmaWVkIGNoYW5uZWwgY291bnQgJWQKAFJlbWF0cml4IGlzIG5lZWRlZCBiZXR3ZWVuICVzIGFuZCAlcyBidXQgdGhlcmUgaXMgbm90IGVub3VnaCBpbmZvcm1hdGlvbiB0byBkbyBpdAoAcy0+dXNlZF9jaF9jb3VudABzLT5vdXQuY2hfY291bnQAIXMtPnByZW91dC5jb3VudABhLT5icHMAYS0+Y2hfY291bnQAQ29udGV4dCBoYXMgbm90IGJlZW4gaW5pdGlhbGl6ZWQKAHMtPmRyb3Bfb3V0cHV0AG91dC0+cGxhbmFyID09IGluLT5wbGFuYXIAb3V0LT5icHMgPT0gaW4tPmJwcwBvdXQtPmNoX2NvdW50ID09IGluLT5jaF9jb3VudAAhcy0+cmVzYW1wbGUAcy0+bWlkYnVmLmNoX2NvdW50ID09IHMtPnVzZWRfY2hfY291bnQAcy0+bWlkYnVmLmNoX2NvdW50ID09IHMtPm91dC5jaF9jb3VudABzLT5pbi5wbGFuYXIAcy0+ZGl0aGVyLm5vaXNlLmNoX2NvdW50ID09IHByZW91dC0+Y2hfY291bnQAY3R4LT5jaGFubmVscyA9PSBvdXQtPmNoX2NvdW50AGxpYnN3cmVzYW1wbGUvYXVkaW9jb252ZXJ0LmMAcy0+ZGl0aGVyLm1ldGhvZCA8IFNXUl9ESVRIRVJfTkIAbGlic3dyZXNhbXBsZS9kaXRoZXIuYwBSZXF1ZXN0ZWQgbm9pc2Ugc2hhcGluZyBkaXRoZXIgbm90IGF2YWlsYWJsZSBhdCB0aGlzIHNhbXBsaW5nIHJhdGUsIHVzaW5nIHRyaWFuZ3VsYXIgaHAgZGl0aGVyCgBTV1Jlc2FtcGxlcgBpY2gAc2V0IGlucHV0IGNoYW5uZWwgY291bnQAaW5fY2hhbm5lbF9jb3VudABvY2gAc2V0IG91dHB1dCBjaGFubmVsIGNvdW50AG91dF9jaGFubmVsX2NvdW50AHVjaABzZXQgdXNlZCBjaGFubmVsIGNvdW50AHVzZWRfY2hhbm5lbF9jb3VudABpc3IAc2V0IGlucHV0IHNhbXBsZSByYXRlAGluX3NhbXBsZV9yYXRlAG9zcgBzZXQgb3V0cHV0IHNhbXBsZSByYXRlAG91dF9zYW1wbGVfcmF0ZQBpc2YAc2V0IGlucHV0IHNhbXBsZSBmb3JtYXQAaW5fc2FtcGxlX2ZtdABvc2YAc2V0IG91dHB1dCBzYW1wbGUgZm9ybWF0AG91dF9zYW1wbGVfZm10AHRzZgBzZXQgaW50ZXJuYWwgc2FtcGxlIGZvcm1hdABpbnRlcm5hbF9zYW1wbGVfZm10AGljbABzZXQgaW5wdXQgY2hhbm5lbCBsYXlvdXQAY2hhbm5lbF9sYXlvdXQAaW5fY2hhbm5lbF9sYXlvdXQAb2NsAHNldCBvdXRwdXQgY2hhbm5lbCBsYXlvdXQAb3V0X2NoYW5uZWxfbGF5b3V0AGNsZXYAc2V0IGNlbnRlciBtaXggbGV2ZWwAY2VudGVyX21peF9sZXZlbABzbGV2AHNldCBzdXJyb3VuZCBtaXggbGV2ZWwAc3Vycm91bmRfbWl4X2xldmVsAHNldCBzdXJyb3VuZCBtaXggTGV2ZWwAbGZlX21peF9sZXZlbABzZXQgTEZFIG1peCBsZXZlbABybXZvbABzZXQgcmVtYXRyaXggdm9sdW1lAHJlbWF0cml4X3ZvbHVtZQByZW1hdHJpeF9tYXh2YWwAc2V0IHJlbWF0cml4IG1heHZhbABmbGFncwBzZXQgZmxhZ3MAc3dyX2ZsYWdzAHJlcwBmb3JjZSByZXNhbXBsaW5nAGRpdGhlcl9zY2FsZQBzZXQgZGl0aGVyIHNjYWxlAGRpdGhlcl9tZXRob2QAc2V0IGRpdGhlciBtZXRob2QAcmVjdGFuZ3VsYXIAc2VsZWN0IHJlY3Rhbmd1bGFyIGRpdGhlcgB0cmlhbmd1bGFyAHNlbGVjdCB0cmlhbmd1bGFyIGRpdGhlcgB0cmlhbmd1bGFyX2hwAHNlbGVjdCB0cmlhbmd1bGFyIGRpdGhlciB3aXRoIGhpZ2ggcGFzcwBsaXBzaGl0egBzZWxlY3QgTGlwc2hpdHogbm9pc2Ugc2hhcGluZyBkaXRoZXIAc2hpYmF0YQBzZWxlY3QgU2hpYmF0YSBub2lzZSBzaGFwaW5nIGRpdGhlcgBsb3dfc2hpYmF0YQBzZWxlY3QgbG93IFNoaWJhdGEgbm9pc2Ugc2hhcGluZyBkaXRoZXIAaGlnaF9zaGliYXRhAHNlbGVjdCBoaWdoIFNoaWJhdGEgbm9pc2Ugc2hhcGluZyBkaXRoZXIAZl93ZWlnaHRlZABzZWxlY3QgZi13ZWlnaHRlZCBub2lzZSBzaGFwaW5nIGRpdGhlcgBtb2RpZmllZF9lX3dlaWdodGVkAHNlbGVjdCBtb2RpZmllZC1lLXdlaWdodGVkIG5vaXNlIHNoYXBpbmcgZGl0aGVyAGltcHJvdmVkX2Vfd2VpZ2h0ZWQAc2VsZWN0IGltcHJvdmVkLWUtd2VpZ2h0ZWQgbm9pc2Ugc2hhcGluZyBkaXRoZXIAZmlsdGVyX3NpemUAc2V0IHN3ciByZXNhbXBsaW5nIGZpbHRlciBzaXplAHBoYXNlX3NoaWZ0AHNldCBzd3IgcmVzYW1wbGluZyBwaGFzZSBzaGlmdABsaW5lYXJfaW50ZXJwAGVuYWJsZSBsaW5lYXIgaW50ZXJwb2xhdGlvbgBleGFjdF9yYXRpb25hbABlbmFibGUgZXhhY3QgcmF0aW9uYWwAY3V0b2ZmAHNldCBjdXRvZmYgZnJlcXVlbmN5IHJhdGlvAHJlc2FtcGxlX2N1dG9mZgByZXNhbXBsZXIAc2V0IHJlc2FtcGxpbmcgRW5naW5lAHN3cgBzZWxlY3QgU1cgUmVzYW1wbGVyAHNveHIAc2VsZWN0IFNvWCBSZXNhbXBsZXIAcHJlY2lzaW9uAHNldCBzb3hyIHJlc2FtcGxpbmcgcHJlY2lzaW9uIChpbiBiaXRzKQBjaGVieQBlbmFibGUgc294ciBDaGVieXNoZXYgcGFzc2JhbmQgJiBoaWdoZXItcHJlY2lzaW9uIGlycmF0aW9uYWwgcmF0aW8gYXBwcm94aW1hdGlvbgBtaW5fY29tcABzZXQgbWluaW11bSBkaWZmZXJlbmNlIGJldHdlZW4gdGltZXN0YW1wcyBhbmQgYXVkaW8gZGF0YSAoaW4gc2Vjb25kcykgYmVsb3cgd2hpY2ggbm8gdGltZXN0YW1wIGNvbXBlbnNhdGlvbiBvZiBlaXRoZXIga2luZCBpcyBhcHBsaWVkAG1pbl9oYXJkX2NvbXAAc2V0IG1pbmltdW0gZGlmZmVyZW5jZSBiZXR3ZWVuIHRpbWVzdGFtcHMgYW5kIGF1ZGlvIGRhdGEgKGluIHNlY29uZHMpIHRvIHRyaWdnZXIgcGFkZGluZy90cmltbWluZyB0aGUgZGF0YS4AY29tcF9kdXJhdGlvbgBzZXQgZHVyYXRpb24gKGluIHNlY29uZHMpIG92ZXIgd2hpY2ggZGF0YSBpcyBzdHJldGNoZWQvc3F1ZWV6ZWQgdG8gbWFrZSBpdCBtYXRjaCB0aGUgdGltZXN0YW1wcy4AbWF4X3NvZnRfY29tcABzZXQgbWF4aW11bSBmYWN0b3IgYnkgd2hpY2ggZGF0YSBpcyBzdHJldGNoZWQvc3F1ZWV6ZWQgdG8gbWFrZSBpdCBtYXRjaCB0aGUgdGltZXN0YW1wcy4AYXN5bmMAc2ltcGxpZmllZCAxIHBhcmFtZXRlciBhdWRpbyB0aW1lc3RhbXAgbWF0Y2hpbmcsIDAoZGlzYWJsZWQpLCAxKGZpbGxpbmcgYW5kIHRyaW1taW5nKSwgPjEobWF4aW11bSBzdHJldGNoL3NxdWVlemUgaW4gc2FtcGxlcyBwZXIgc2Vjb25kKQBmaXJzdF9wdHMAQXNzdW1lIHRoZSBmaXJzdCBwdHMgc2hvdWxkIGJlIHRoaXMgdmFsdWUgKGluIHNhbXBsZXMpLgBtYXRyaXhfZW5jb2RpbmcAc2V0IG1hdHJpeGVkIHN0ZXJlbyBlbmNvZGluZwBub25lAHNlbGVjdCBub25lAGRvbGJ5AHNlbGVjdCBEb2xieQBkcGxpaQBzZWxlY3QgRG9sYnkgUHJvIExvZ2ljIElJAGZpbHRlcl90eXBlAHNlbGVjdCBzd3IgZmlsdGVyIHR5cGUAY3ViaWMAc2VsZWN0IGN1YmljAGJsYWNrbWFuX251dHRhbGwAc2VsZWN0IEJsYWNrbWFuIE51dHRhbGwgd2luZG93ZWQgc2luYwBrYWlzZXIAc2VsZWN0IEthaXNlciB3aW5kb3dlZCBzaW5jAGthaXNlcl9iZXRhAHNldCBzd3IgS2Fpc2VyIHdpbmRvdyBiZXRhAG91dHB1dF9zYW1wbGVfYml0cwBzZXQgc3dyIG51bWJlciBvZiBvdXRwdXQgc2FtcGxlIGJpdHMAU1dSAElucHV0IGNoYW5uZWwgbGF5b3V0ICclcycgaXMgbm90IHN1cHBvcnRlZAoAT3V0cHV0IGNoYW5uZWwgbGF5b3V0ICclcycgaXMgbm90IHN1cHBvcnRlZAoAbGlic3dyZXNhbXBsZS9yZW1hdHJpeC5jAE1hdHJpeCBjb2VmZmljaWVudHM6CgA/ACVzOiAAJXM6JWYgAAoAVHJlYXRpbmcgJXMgYXMgbW9ubwoAIXMtPm91dF9jaF9sYXlvdXQgfHwgb3V0LT5jaF9jb3VudCA9PSBhdl9nZXRfY2hhbm5lbF9sYXlvdXRfbmJfY2hhbm5lbHMocy0+b3V0X2NoX2xheW91dCkAIXMtPiBpbl9jaF9sYXlvdXQgfHwgaW4gLT5jaF9jb3VudCA9PSBhdl9nZXRfY2hhbm5lbF9sYXlvdXRfbmJfY2hhbm5lbHMocy0+IGluX2NoX2xheW91dCkAQXNzZXJ0aW9uICVzIGZhaWxlZCBhdCAlczolZAoAIWMtPmZyYWMgJiYgIWMtPmRzdF9pbmNyX21vZABsaWJzd3Jlc2FtcGxlL3Jlc2FtcGxlLmMAdGFwX2NvdW50ID09IDEgfHwgdGFwX2NvdW50ICUgMiA9PSAwADAAYS0+cGxhbmFyAFVuc3VwcG9ydGVkIHNhbXBsZSBmb3JtYXQKAEZpbHRlciBsZW5ndGggdG9vIGxhcmdlCgBpbmZpbml0eQAAAQIEBwMGBQAtKyAgIDBYMHgAKG51bGwpAC0wWCswWCAwWC0weCsweCAweABpbmYASU5GAG5hbgBOQU4ALg==";var tempDoublePtr=1113376;function demangle(func){return func}function demangleAll(text){var regex=/\b__Z[\w\d_]+/g;return text.replace(regex,function(x){var y=demangle(x);return x===y?x:y+" ["+x+"]"})}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}var ENV={};function ___buildEnvironment(environ){var MAX_ENV_VALUES=64;var TOTAL_ENV_SIZE=1024;var poolPtr;var envPtr;if(!___buildEnvironment.called){___buildEnvironment.called=true;ENV["USER"]=ENV["LOGNAME"]="web_user";ENV["PATH"]="/";ENV["PWD"]="/";ENV["HOME"]="/home/web_user";ENV["LANG"]="C.UTF-8";ENV["LANG"]=(typeof navigator==="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8";ENV["_"]=thisProgram;poolPtr=getMemory(TOTAL_ENV_SIZE);envPtr=getMemory(MAX_ENV_VALUES*4);HEAP32[envPtr>>2]=poolPtr;HEAP32[environ>>2]=envPtr}else{envPtr=HEAP32[environ>>2];poolPtr=HEAP32[envPtr>>2]}var strings=[];var totalSize=0;for(var key in ENV){if(typeof ENV[key]==="string"){var line=key+"="+ENV[key];strings.push(line);totalSize+=line.length}}if(totalSize>TOTAL_ENV_SIZE){throw new Error("Environment size exceeded TOTAL_ENV_SIZE!")}var ptrSize=4;for(var i=0;i<strings.length;i++){var line=strings[i];writeAsciiToMemory(line,poolPtr);HEAP32[envPtr+i*ptrSize>>2]=poolPtr;poolPtr+=line.length+1}HEAP32[envPtr+strings.length*ptrSize>>2]=0}var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)}};function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:function(from,to){from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start<arr.length;start++){if(arr[start]!=="")break}var end=arr.length-1;for(;end>=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i<length;i++){if(fromParts[i]!==toParts[i]){samePartsLength=i;break}}var outputParts=[];for(var i=samePartsLength;i<fromParts.length;i++){outputParts.push("..")}outputParts=outputParts.concat(toParts.slice(samePartsLength));return outputParts.join("/")}};var TTY={ttys:[],init:function(){},shutdown:function(){},register:function(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)},stream_ops:{open:function(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(19)}stream.tty=tty;stream.seekable=false},close:function(stream){stream.tty.ops.flush(stream.tty)},flush:function(stream){stream.tty.ops.flush(stream.tty)},read:function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(6)}var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=stream.tty.ops.get_char(stream.tty)}catch(e){throw new FS.ErrnoError(5)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(11)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead},write:function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.put_char){throw new FS.ErrnoError(6)}try{for(var i=0;i<length;i++){stream.tty.ops.put_char(stream.tty,buffer[offset+i])}}catch(e){throw new FS.ErrnoError(5)}if(length){stream.node.timestamp=Date.now()}return i}},default_tty_ops:{get_char:function(tty){if(!tty.input.length){var result=null;if(ENVIRONMENT_IS_NODE){var BUFSIZE=256;var buf=Buffer.alloc?Buffer.alloc(BUFSIZE):new Buffer(BUFSIZE);var bytesRead=0;var isPosixPlatform=process.platform!="win32";var fd=process.stdin.fd;if(isPosixPlatform){var usingDevice=false;try{fd=fs.openSync("/dev/stdin","r");usingDevice=true}catch(e){}}try{bytesRead=fs.readSync(fd,buf,0,BUFSIZE,null)}catch(e){if(e.toString().indexOf("EOF")!=-1)bytesRead=0;else throw e}if(usingDevice){fs.closeSync(fd)}if(bytesRead>0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};var MEMFS={ops_table:null,mount:function(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode:function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(1)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node},getFileDataAsRegularArray:function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i<node.usedBytes;++i)arr.push(node.contents[i]);return arr}return node.contents},getFileDataAsTypedArray:function(node){if(!node.contents)return new Uint8Array;if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)},expandFileStorage:function(node,newCapacity){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity<CAPACITY_DOUBLING_MAX?2:1.125)|0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(new ArrayBuffer(newSize));if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length<newSize)node.contents.push(0);node.usedBytes=newSize},node_ops:{getattr:function(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr},setattr:function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}},lookup:function(parent,name){throw FS.genericErrors[2]},mknod:function(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)},rename:function(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(39)}}}delete old_node.parent.contents[old_node.name];old_node.name=new_name;new_dir.contents[new_name]=old_node;old_node.parent=new_dir},unlink:function(parent,name){delete parent.contents[name]},rmdir:function(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(39)}delete parent.contents[name]},readdir:function(node){var entries=[".",".."];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries},symlink:function(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node},readlink:function(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(22)}return node.link}},stream_ops:{read:function(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i<size;i++)buffer[offset+i]=contents[position+i]}return size},write:function(stream,buffer,offset,length,position,canOwn){canOwn=false;if(!length)return 0;var node=stream.node;node.timestamp=Date.now();if(buffer.subarray&&(!node.contents||node.contents.subarray)){if(canOwn){node.contents=buffer.subarray(offset,offset+length);node.usedBytes=length;return length}else if(node.usedBytes===0&&position===0){node.contents=new Uint8Array(buffer.subarray(offset,offset+length));node.usedBytes=length;return length}else if(position+length<=node.usedBytes){node.contents.set(buffer.subarray(offset,offset+length),position);return length}}MEMFS.expandFileStorage(node,position+length);if(node.contents.subarray&&buffer.subarray)node.contents.set(buffer.subarray(offset,offset+length),position);else{for(var i=0;i<length;i++){node.contents[position+i]=buffer[offset+i]}}node.usedBytes=Math.max(node.usedBytes,position+length);return length},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.usedBytes}}if(position<0){throw new FS.ErrnoError(22)}return position},allocate:function(stream,offset,length){MEMFS.expandFileStorage(stream.node,offset+length);stream.node.usedBytes=Math.max(stream.node.usedBytes,offset+length)},mmap:function(stream,buffer,offset,length,position,prot,flags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(19)}var ptr;var allocated;var contents=stream.node.contents;if(!(flags&2)&&(contents.buffer===buffer||contents.buffer===buffer.buffer)){allocated=false;ptr=contents.byteOffset}else{if(position>0||position+length<stream.node.usedBytes){if(contents.subarray){contents=contents.subarray(position,position+length)}else{contents=Array.prototype.slice.call(contents,position,position+length)}}allocated=true;var fromHeap=buffer.buffer==HEAP8.buffer;ptr=_malloc(length);if(!ptr){throw new FS.ErrnoError(12)}(fromHeap?HEAP8:buffer).set(contents,ptr)}return{ptr:ptr,allocated:allocated}},msync:function(stream,buffer,offset,length,mmapFlags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(19)}if(mmapFlags&2){return 0}var bytesWritten=MEMFS.stream_ops.write(stream,buffer,0,length,offset,false);return 0}}};var IDBFS={dbs:{},indexedDB:function(){if(typeof indexedDB!=="undefined")return indexedDB;var ret=null;if(typeof window==="object")ret=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB;assert(ret,"IDBFS used, but indexedDB not supported");return ret},DB_VERSION:21,DB_STORE_NAME:"FILE_DATA",mount:function(mount){return MEMFS.mount.apply(null,arguments)},syncfs:function(mount,populate,callback){IDBFS.getLocalSet(mount,function(err,local){if(err)return callback(err);IDBFS.getRemoteSet(mount,function(err,remote){if(err)return callback(err);var src=populate?remote:local;var dst=populate?local:remote;IDBFS.reconcile(src,dst,callback)})})},getDB:function(name,callback){var db=IDBFS.dbs[name];if(db){return callback(null,db)}var req;try{req=IDBFS.indexedDB().open(name,IDBFS.DB_VERSION)}catch(e){return callback(e)}if(!req){return callback("Unable to connect to IndexedDB")}req.onupgradeneeded=function(e){var db=e.target.result;var transaction=e.target.transaction;var fileStore;if(db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)){fileStore=transaction.objectStore(IDBFS.DB_STORE_NAME)}else{fileStore=db.createObjectStore(IDBFS.DB_STORE_NAME)}if(!fileStore.indexNames.contains("timestamp")){fileStore.createIndex("timestamp","timestamp",{unique:false})}};req.onsuccess=function(){db=req.result;IDBFS.dbs[name]=db;callback(null,db)};req.onerror=function(e){callback(this.error);e.preventDefault()}},getLocalSet:function(mount,callback){var entries={};function isRealDir(p){return p!=="."&&p!==".."}function toAbsolute(root){return function(p){return PATH.join2(root,p)}}var check=FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint));while(check.length){var path=check.pop();var stat;try{stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){check.push.apply(check,FS.readdir(path).filter(isRealDir).map(toAbsolute(path)))}entries[path]={timestamp:stat.mtime}}return callback(null,{type:"local",entries:entries})},getRemoteSet:function(mount,callback){var entries={};IDBFS.getDB(mount.mountpoint,function(err,db){if(err)return callback(err);try{var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readonly");transaction.onerror=function(e){callback(this.error);e.preventDefault()};var store=transaction.objectStore(IDBFS.DB_STORE_NAME);var index=store.index("timestamp");index.openKeyCursor().onsuccess=function(event){var cursor=event.target.result;if(!cursor){return callback(null,{type:"remote",db:db,entries:entries})}entries[cursor.primaryKey]={timestamp:cursor.key};cursor.continue()}}catch(e){return callback(e)}})},loadLocalEntry:function(path,callback){var stat,node;try{var lookup=FS.lookupPath(path);node=lookup.node;stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){return callback(null,{timestamp:stat.mtime,mode:stat.mode})}else if(FS.isFile(stat.mode)){node.contents=MEMFS.getFileDataAsTypedArray(node);return callback(null,{timestamp:stat.mtime,mode:stat.mode,contents:node.contents})}else{return callback(new Error("node type not supported"))}},storeLocalEntry:function(path,entry,callback){try{if(FS.isDir(entry.mode)){FS.mkdir(path,entry.mode)}else if(FS.isFile(entry.mode)){FS.writeFile(path,entry.contents,{canOwn:true})}else{return callback(new Error("node type not supported"))}FS.chmod(path,entry.mode);FS.utime(path,entry.timestamp,entry.timestamp)}catch(e){return callback(e)}callback(null)},removeLocalEntry:function(path,callback){try{var lookup=FS.lookupPath(path);var stat=FS.stat(path);if(FS.isDir(stat.mode)){FS.rmdir(path)}else if(FS.isFile(stat.mode)){FS.unlink(path)}}catch(e){return callback(e)}callback(null)},loadRemoteEntry:function(store,path,callback){var req=store.get(path);req.onsuccess=function(event){callback(null,event.target.result)};req.onerror=function(e){callback(this.error);e.preventDefault()}},storeRemoteEntry:function(store,path,entry,callback){var req=store.put(entry,path);req.onsuccess=function(){callback(null)};req.onerror=function(e){callback(this.error);e.preventDefault()}},removeRemoteEntry:function(store,path,callback){var req=store.delete(path);req.onsuccess=function(){callback(null)};req.onerror=function(e){callback(this.error);e.preventDefault()}},reconcile:function(src,dst,callback){var total=0;var create=[];Object.keys(src.entries).forEach(function(key){var e=src.entries[key];var e2=dst.entries[key];if(!e2||e.timestamp>e2.timestamp){create.push(key);total++}});var remove=[];Object.keys(dst.entries).forEach(function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}});if(!total){return callback(null)}var errored=false;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err&&!errored){errored=true;return callback(err)}}transaction.onerror=function(e){done(this.error);e.preventDefault()};transaction.oncomplete=function(e){if(!errored){callback(null)}};create.sort().forEach(function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)})}else{IDBFS.loadLocalEntry(path,function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)})}});remove.sort().reverse().forEach(function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}})}};var NODEFS={isWindows:false,staticInit:function(){NODEFS.isWindows=!!process.platform.match(/^win/);var flags=process["binding"]("constants");if(flags["fs"]){flags=flags["fs"]}NODEFS.flagsForNodeMap={1024:flags["O_APPEND"],64:flags["O_CREAT"],128:flags["O_EXCL"],0:flags["O_RDONLY"],2:flags["O_RDWR"],4096:flags["O_SYNC"],512:flags["O_TRUNC"],1:flags["O_WRONLY"]}},bufferFrom:function(arrayBuffer){return Buffer.alloc?Buffer.from(arrayBuffer):new Buffer(arrayBuffer)},mount:function(mount){assert(ENVIRONMENT_HAS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)},createNode:function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(22)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node},getMode:function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&292)>>2}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}return stat.mode},realPath:function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)},flagsForNode:function(flags){flags&=~2097152;flags&=~2048;flags&=~32768;flags&=~524288;var newFlags=0;for(var k in NODEFS.flagsForNodeMap){if(flags&k){newFlags|=NODEFS.flagsForNodeMap[k];flags^=k}}if(!flags){return newFlags}else{throw new FS.ErrnoError(22)}},node_ops:{getattr:function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}},setattr:function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},lookup:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)},mknod:function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}return node},rename:function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},unlink:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},rmdir:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},readdir:function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},symlink:function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},readlink:function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}}},stream_ops:{open:function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsForNode(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},close:function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},read:function(stream,buffer,offset,length,position){if(length===0)return 0;try{return fs.readSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(-e.errno)}},write:function(stream,buffer,offset,length,position){try{return fs.writeSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(-e.errno)}},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=fs.fstatSync(stream.nfd);position+=stat.size}catch(e){throw new FS.ErrnoError(-e.errno)}}}if(position<0){throw new FS.ErrnoError(22)}return position}}};var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:function(mount){assert(ENVIRONMENT_IS_WORKER);if(!WORKERFS.reader)WORKERFS.reader=new FileReaderSync;var root=WORKERFS.createNode(null,"/",WORKERFS.DIR_MODE,0);var createdParents={};function ensureParent(path){var parts=path.split("/");var parent=root;for(var i=0;i<parts.length-1;i++){var curr=parts.slice(0,i+1).join("/");if(!createdParents[curr]){createdParents[curr]=WORKERFS.createNode(parent,parts[i],WORKERFS.DIR_MODE,0)}parent=createdParents[curr]}return parent}function base(path){var parts=path.split("/");return parts[parts.length-1]}Array.prototype.forEach.call(mount.opts["files"]||[],function(file){WORKERFS.createNode(ensureParent(file.name),base(file.name),WORKERFS.FILE_MODE,0,file,file.lastModifiedDate)});(mount.opts["blobs"]||[]).forEach(function(obj){WORKERFS.createNode(ensureParent(obj["name"]),base(obj["name"]),WORKERFS.FILE_MODE,0,obj["data"])});(mount.opts["packages"]||[]).forEach(function(pack){pack["metadata"].files.forEach(function(file){var name=file.filename.substr(1);WORKERFS.createNode(ensureParent(name),base(name),WORKERFS.FILE_MODE,0,pack["blob"].slice(file.start,file.end))})});return root},createNode:function(parent,name,mode,dev,contents,mtime){var node=FS.createNode(parent,name,mode);node.mode=mode;node.node_ops=WORKERFS.node_ops;node.stream_ops=WORKERFS.stream_ops;node.timestamp=(mtime||new Date).getTime();assert(WORKERFS.FILE_MODE!==WORKERFS.DIR_MODE);if(mode===WORKERFS.FILE_MODE){node.size=contents.size;node.contents=contents}else{node.size=4096;node.contents={}}if(parent){parent.contents[name]=node}return node},node_ops:{getattr:function(node){return{dev:1,ino:undefined,mode:node.mode,nlink:1,uid:0,gid:0,rdev:undefined,size:node.size,atime:new Date(node.timestamp),mtime:new Date(node.timestamp),ctime:new Date(node.timestamp),blksize:4096,blocks:Math.ceil(node.size/4096)}},setattr:function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}},lookup:function(parent,name){throw new FS.ErrnoError(2)},mknod:function(parent,name,mode,dev){throw new FS.ErrnoError(1)},rename:function(oldNode,newDir,newName){throw new FS.ErrnoError(1)},unlink:function(parent,name){throw new FS.ErrnoError(1)},rmdir:function(parent,name){throw new FS.ErrnoError(1)},readdir:function(node){var entries=[".",".."];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries},symlink:function(parent,newName,oldPath){throw new FS.ErrnoError(1)},readlink:function(node){throw new FS.ErrnoError(1)}},stream_ops:{read:function(stream,buffer,offset,length,position){if(position>=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size},write:function(stream,buffer,offset,length,position){throw new FS.ErrnoError(5)},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(22)}return position}}};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)},lookupPath:function(path,opts){path=PATH_FS.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(40)}var parts=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),false);var current=FS.root;var current_path="/";for(var i=0;i<parts.length;i++){var islast=i===parts.length-1;if(islast&&opts.parent){break}current=FS.lookupNode(current,parts[i]);current_path=PATH.join2(current_path,parts[i]);if(FS.isMountpoint(current)){if(!islast||islast&&opts.follow_mount){current=current.mounted.root}}if(!islast||opts.follow){var count=0;while(FS.isLink(current.mode)){var link=FS.readlink(current_path);current_path=PATH_FS.resolve(PATH.dirname(current_path),link);var lookup=FS.lookupPath(current_path,{recurse_count:opts.recurse_count});current=lookup.node;if(count++>40){throw new FS.ErrnoError(40)}}}}return{path:current_path,node:current}},getPath:function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:function(parentid,name){var hash=0;for(var i=0;i<name.length;i++){hash=(hash<<5)-hash+name.charCodeAt(i)|0}return(parentid+hash>>>0)%FS.nameTable.length},hashAddNode:function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:function(node){FS.hashRemoveNode(node)},isRoot:function(node){return node===node.parent},isMountpoint:function(node){return!!node.mounted},isFile:function(mode){return(mode&61440)===32768},isDir:function(mode){return(mode&61440)===16384},isLink:function(mode){return(mode&61440)===40960},isChrdev:function(mode){return(mode&61440)===8192},isBlkdev:function(mode){return(mode&61440)===24576},isFIFO:function(mode){return(mode&61440)===4096},isSocket:function(mode){return(mode&49152)===49152},flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return 13}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return 13}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return 13}return 0},mayLookup:function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return 13;return 0},mayCreate:function(dir,name){try{var node=FS.lookupNode(dir,name);return 17}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return 20}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 16}}else{if(FS.isDir(node.mode)){return 21}}return 0},mayOpen:function(node,flags){if(!node){return 2}if(FS.isLink(node.mode)){return 40}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 21}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(24)},getStream:function(fd){return FS.streams[fd]},createStream:function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=function(){};FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:function(fd){FS.streams[fd]=null},chrdev_stream_ops:{open:function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:function(){throw new FS.ErrnoError(29)}},major:function(dev){return dev>>8},minor:function(dev){return dev&255},makedev:function(ma,mi){return ma<<8|mi},registerDevice:function(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:function(dev){return FS.devices[dev]},getMounts:function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(16)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(16)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(20)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(22)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:function(parent,name){return parent.node_ops.lookup(parent,name)},mknod:function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(22)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(1)}return parent.node_ops.mknod(parent,name,mode,dev)},create:function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:function(path,mode){var dirs=path.split("/");var d="";for(var i=0;i<dirs.length;++i){if(!dirs[i])continue;d+="/"+dirs[i];try{FS.mkdir(d,mode)}catch(e){if(e.errno!=17)throw e}}},mkdev:function(path,mode,dev){if(typeof dev==="undefined"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)},symlink:function(oldpath,newpath){if(!PATH_FS.resolve(oldpath)){throw new FS.ErrnoError(2)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(2)}var newname=PATH.basename(newpath);var err=FS.mayCreate(parent,newname);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(1)}return parent.node_ops.symlink(parent,newname,oldpath)},rename:function(old_path,new_path){var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;try{lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node}catch(e){throw new FS.ErrnoError(16)}if(!old_dir||!new_dir)throw new FS.ErrnoError(2);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(18)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH_FS.relative(old_path,new_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(22)}relative=PATH_FS.relative(new_path,old_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(39)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var err=FS.mayDelete(old_dir,old_name,isdir);if(err){throw new FS.ErrnoError(err)}err=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(err){throw new FS.ErrnoError(err)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(1)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(16)}if(new_dir!==old_dir){err=FS.nodePermissions(old_dir,"w");if(err){throw new FS.ErrnoError(err)}}try{if(FS.trackingDelegate["willMovePath"]){FS.trackingDelegate["willMovePath"](old_path,new_path)}}catch(e){console.log("FS.trackingDelegate['willMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name)}catch(e){throw e}finally{FS.hashAddNode(old_node)}try{if(FS.trackingDelegate["onMovePath"])FS.trackingDelegate["onMovePath"](old_path,new_path)}catch(e){console.log("FS.trackingDelegate['onMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}},rmdir:function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,true);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(1)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(16)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}},readdir:function(path){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node.node_ops.readdir){throw new FS.ErrnoError(20)}return node.node_ops.readdir(node)},unlink:function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,false);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(1)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(16)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.unlink(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}},readlink:function(path){var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(2)}if(!link.node_ops.readlink){throw new FS.ErrnoError(22)}return PATH_FS.resolve(FS.getPath(link.parent),link.node_ops.readlink(link))},stat:function(path,dontFollow){var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;if(!node){throw new FS.ErrnoError(2)}if(!node.node_ops.getattr){throw new FS.ErrnoError(1)}return node.node_ops.getattr(node)},lstat:function(path){return FS.stat(path,true)},chmod:function(path,mode,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(1)}node.node_ops.setattr(node,{mode:mode&4095|node.mode&~4095,timestamp:Date.now()})},lchmod:function(path,mode){FS.chmod(path,mode,true)},fchmod:function(fd,mode){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(9)}FS.chmod(stream.node,mode)},chown:function(path,uid,gid,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(1)}node.node_ops.setattr(node,{timestamp:Date.now()})},lchown:function(path,uid,gid){FS.chown(path,uid,gid,true)},fchown:function(fd,uid,gid){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(9)}FS.chown(stream.node,uid,gid)},truncate:function(path,len){if(len<0){throw new FS.ErrnoError(22)}var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(1)}if(FS.isDir(node.mode)){throw new FS.ErrnoError(21)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(22)}var err=FS.nodePermissions(node,"w");if(err){throw new FS.ErrnoError(err)}node.node_ops.setattr(node,{size:len,timestamp:Date.now()})},ftruncate:function(fd,len){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(9)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(22)}FS.truncate(stream.node,len)},utime:function(path,atime,mtime){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;node.node_ops.setattr(node,{timestamp:Math.max(atime,mtime)})},open:function(path,flags,mode,fd_start,fd_end){if(path===""){throw new FS.ErrnoError(2)}flags=typeof flags==="string"?FS.modeStringToFlags(flags):flags;mode=typeof mode==="undefined"?438:mode;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;if(typeof path==="object"){node=path}else{path=PATH.normalize(path);try{var lookup=FS.lookupPath(path,{follow:!(flags&131072)});node=lookup.node}catch(e){}}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(17)}}else{node=FS.mknod(path,mode,0);created=true}}if(!node){throw new FS.ErrnoError(2)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(20)}if(!created){var err=FS.mayOpen(node,flags);if(err){throw new FS.ErrnoError(err)}}if(flags&512){FS.truncate(node,0)}flags&=~(128|512);var stream=FS.createStream({node:node,path:FS.getPath(node),flags:flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false},fd_start,fd_end);if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(Module["logReadFiles"]&&!(flags&1)){if(!FS.readFiles)FS.readFiles={};if(!(path in FS.readFiles)){FS.readFiles[path]=1;console.log("FS.trackingDelegate error on read file: "+path)}}try{if(FS.trackingDelegate["onOpenFile"]){var trackingFlags=0;if((flags&2097155)!==1){trackingFlags|=FS.tracking.openFlags.READ}if((flags&2097155)!==0){trackingFlags|=FS.tracking.openFlags.WRITE}FS.trackingDelegate["onOpenFile"](path,trackingFlags)}}catch(e){console.log("FS.trackingDelegate['onOpenFile']('"+path+"', flags) threw an exception: "+e.message)}return stream},close:function(stream){if(FS.isClosed(stream)){throw new FS.ErrnoError(9)}if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}stream.fd=null},isClosed:function(stream){return stream.fd===null},llseek:function(stream,offset,whence){if(FS.isClosed(stream)){throw new FS.ErrnoError(9)}if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(29)}if(whence!=0&&whence!=1&&whence!=2){throw new FS.ErrnoError(22)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position},read:function(stream,buffer,offset,length,position){if(length<0||position<0){throw new FS.ErrnoError(22)}if(FS.isClosed(stream)){throw new FS.ErrnoError(9)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(9)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(21)}if(!stream.stream_ops.read){throw new FS.ErrnoError(22)}var seeking=typeof position!=="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(29)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead},write:function(stream,buffer,offset,length,position,canOwn){if(length<0||position<0){throw new FS.ErrnoError(22)}if(FS.isClosed(stream)){throw new FS.ErrnoError(9)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(9)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(21)}if(!stream.stream_ops.write){throw new FS.ErrnoError(22)}if(stream.flags&1024){FS.llseek(stream,0,2)}var seeking=typeof position!=="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(29)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;try{if(stream.path&&FS.trackingDelegate["onWriteToFile"])FS.trackingDelegate["onWriteToFile"](stream.path)}catch(e){console.log("FS.trackingDelegate['onWriteToFile']('"+stream.path+"') threw an exception: "+e.message)}return bytesWritten},allocate:function(stream,offset,length){if(FS.isClosed(stream)){throw new FS.ErrnoError(9)}if(offset<0||length<=0){throw new FS.ErrnoError(22)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(9)}if(!FS.isFile(stream.node.mode)&&!FS.isDir(stream.node.mode)){throw new FS.ErrnoError(19)}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(95)}stream.stream_ops.allocate(stream,offset,length)},mmap:function(stream,buffer,offset,length,position,prot,flags){if((prot&2)!==0&&(flags&2)===0&&(stream.flags&2097155)!==2){throw new FS.ErrnoError(13)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(13)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(19)}return stream.stream_ops.mmap(stream,buffer,offset,length,position,prot,flags)},msync:function(stream,buffer,offset,length,mmapFlags){if(!stream||!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)},munmap:function(stream){return 0},ioctl:function(stream,cmd,arg){if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(25)}return stream.stream_ops.ioctl(stream,cmd,arg)},readFile:function(path,opts){opts=opts||{};opts.flags=opts.flags||"r";opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf,0)}else if(opts.encoding==="binary"){ret=buf}FS.close(stream);return ret},writeFile:function(path,data,opts){opts=opts||{};opts.flags=opts.flags||"w";var stream=FS.open(path,opts.flags,opts.mode);if(typeof data==="string"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,undefined,opts.canOwn)}else if(ArrayBuffer.isView(data)){FS.write(stream,data,0,data.byteLength,undefined,opts.canOwn)}else{throw new Error("Unsupported data type")}FS.close(stream)},cwd:function(){return FS.currentPath},chdir:function(path){var lookup=FS.lookupPath(path,{follow:true});if(lookup.node===null){throw new FS.ErrnoError(2)}if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(20)}var err=FS.nodePermissions(lookup.node,"x");if(err){throw new FS.ErrnoError(err)}FS.currentPath=lookup.path},createDefaultDirectories:function(){FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")},createDefaultDevices:function(){FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:function(){return 0},write:function(stream,buffer,offset,length,pos){return length}});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var random_device;if(typeof crypto==="object"&&typeof crypto["getRandomValues"]==="function"){var randomBuffer=new Uint8Array(1);random_device=function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]}}else if(ENVIRONMENT_IS_NODE){try{var crypto_module=require("crypto");random_device=function(){return crypto_module["randomBytes"](1)[0]}}catch(e){}}else{}if(!random_device){random_device=function(){abort("random_device")}}FS.createDevice("/dev","random",random_device);FS.createDevice("/dev","urandom",random_device);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")},createSpecialDirectories:function(){FS.mkdir("/proc");FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount:function(){var node=FS.createNode("/proc/self","fd",16384|511,73);node.node_ops={lookup:function(parent,name){var fd=+name;var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(9);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:function(){return stream.path}}};ret.parent=ret;return ret}};return node}},{},"/proc/self/fd")},createStandardStreams:function(){if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin","r");var stdout=FS.open("/dev/stdout","w");var stderr=FS.open("/dev/stderr","w")},ensureErrnoError:function(){if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.node=node;this.setErrno=function(errno){this.errno=errno};this.setErrno(errno);this.message="FS error"};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[2].forEach(function(code){FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack="<generic error, no stack>"})},staticInit:function(){FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={"MEMFS":MEMFS,"IDBFS":IDBFS,"NODEFS":NODEFS,"WORKERFS":WORKERFS}},init:function(input,output,error){FS.init.initialized=true;FS.ensureErrnoError();Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()},quit:function(){FS.init.initialized=false;var fflush=Module["_fflush"];if(fflush)fflush(0);for(var i=0;i<FS.streams.length;i++){var stream=FS.streams[i];if(!stream){continue}FS.close(stream)}},getMode:function(canRead,canWrite){var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode},joinPath:function(parts,forceRelative){var path=PATH.join.apply(null,parts);if(forceRelative&&path[0]=="/")path=path.substr(1);return path},absolutePath:function(relative,base){return PATH_FS.resolve(base,relative)},standardizePath:function(path){return PATH.normalize(path)},findObject:function(path,dontResolveLastLink){var ret=FS.analyzePath(path,dontResolveLastLink);if(ret.exists){return ret.object}else{___setErrNo(ret.error);return null}},analyzePath:function(path,dontResolveLastLink){try{var lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});path=lookup.path}catch(e){}var ret={isRoot:false,exists:false,error:0,name:null,path:null,object:null,parentExists:false,parentPath:null,parentObject:null};try{var lookup=FS.lookupPath(path,{parent:true});ret.parentExists=true;ret.parentPath=lookup.path;ret.parentObject=lookup.node;ret.name=PATH.basename(path);lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});ret.exists=true;ret.path=lookup.path;ret.object=lookup.node;ret.name=lookup.node.name;ret.isRoot=lookup.path==="/"}catch(e){ret.error=e.errno}return ret},createFolder:function(parent,name,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.mkdir(path,mode)},createPath:function(parent,path,canRead,canWrite){parent=typeof parent==="string"?parent:FS.getPath(parent);var parts=path.split("/").reverse();while(parts.length){var part=parts.pop();if(!part)continue;var current=PATH.join2(parent,part);try{FS.mkdir(current)}catch(e){}parent=current}return current},createFile:function(parent,name,properties,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.create(path,mode)},createDataFile:function(parent,name,data,canRead,canWrite,canOwn){var path=name?PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name):parent;var mode=FS.getMode(canRead,canWrite);var node=FS.create(path,mode);if(data){if(typeof data==="string"){var arr=new Array(data.length);for(var i=0,len=data.length;i<len;++i)arr[i]=data.charCodeAt(i);data=arr}FS.chmod(node,mode|146);var stream=FS.open(node,"w");FS.write(stream,data,0,data.length,0,canOwn);FS.close(stream);FS.chmod(node,mode)}return node},createDevice:function(parent,name,input,output){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(!!input,!!output);if(!FS.createDevice.major)FS.createDevice.major=64;var dev=FS.makedev(FS.createDevice.major++,0);FS.registerDevice(dev,{open:function(stream){stream.seekable=false},close:function(stream){if(output&&output.buffer&&output.buffer.length){output(10)}},read:function(stream,buffer,offset,length,pos){var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=input()}catch(e){throw new FS.ErrnoError(5)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(11)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead},write:function(stream,buffer,offset,length,pos){for(var i=0;i<length;i++){try{output(buffer[offset+i])}catch(e){throw new FS.ErrnoError(5)}}if(length){stream.node.timestamp=Date.now()}return i}});return FS.mkdev(path,mode,dev)},createLink:function(parent,name,target,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);return FS.symlink(target,path)},forceLoadFile:function(obj){if(obj.isDevice||obj.isFolder||obj.link||obj.contents)return true;var success=true;if(typeof XMLHttpRequest!=="undefined"){throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.")}else if(read_){try{obj.contents=intArrayFromString(read_(obj.url),true);obj.usedBytes=obj.contents.length}catch(e){success=false}}else{throw new Error("Cannot load without read() or XMLHttpRequest.")}if(!success)___setErrNo(5);return success},createLazyFile:function(parent,name,url,canRead,canWrite){function LazyUint8Array(){this.lengthKnown=false;this.chunks=[]}LazyUint8Array.prototype.get=function LazyUint8Array_get(idx){if(idx>this.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}};var lazyArray=this;lazyArray.setDataGetter(function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(5)}return fn.apply(null,arguments)}});stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(5)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i<size;i++){buffer[offset+i]=contents[position+i]}}else{for(var i=0;i<size;i++){buffer[offset+i]=contents.get(position+i)}}return size};node.stream_ops=stream_ops;return node},createPreloadedFile:function(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish){Browser.init();var fullname=name?PATH_FS.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency("cp "+fullname);function processData(byteArray){function finish(byteArray){if(preFinish)preFinish();if(!dontCreateFile){FS.createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}if(onload)onload();removeRunDependency(dep)}var handled=false;Module["preloadPlugins"].forEach(function(plugin){if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,function(){if(onerror)onerror();removeRunDependency(dep)});handled=true}});if(!handled)finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){Browser.asyncLoad(url,function(byteArray){processData(byteArray)},onerror)}else{processData(url)}},indexedDB:function(){return window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB},DB_NAME:function(){return"EM_FS_"+window.location.pathname},DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:function(paths,onload,onerror){onload=onload||function(){};onerror=onerror||function(){};var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=function openRequest_onupgradeneeded(){console.log("creating db");var db=openRequest.result;db.createObjectStore(FS.DB_STORE_NAME)};openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;var transaction=db.transaction([FS.DB_STORE_NAME],"readwrite");var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach(function(path){var putRequest=files.put(FS.analyzePath(path).object.contents,path);putRequest.onsuccess=function putRequest_onsuccess(){ok++;if(ok+fail==total)finish()};putRequest.onerror=function putRequest_onerror(){fail++;if(ok+fail==total)finish()}});transaction.onerror=onerror};openRequest.onerror=onerror},loadFilesFromDB:function(paths,onload,onerror){onload=onload||function(){};onerror=onerror||function(){};var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=onerror;openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;try{var transaction=db.transaction([FS.DB_STORE_NAME],"readonly")}catch(e){onerror(e);return}var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach(function(path){var getRequest=files.get(path);getRequest.onsuccess=function getRequest_onsuccess(){if(FS.analyzePath(path).exists){FS.unlink(path)}FS.createDataFile(PATH.dirname(path),PATH.basename(path),getRequest.result,true,true,true);ok++;if(ok+fail==total)finish()};getRequest.onerror=function getRequest_onerror(){fail++;if(ok+fail==total)finish()}});transaction.onerror=onerror};openRequest.onerror=onerror}};var SYSCALLS={DEFAULT_POLLMASK:5,mappings:{},umask:511,calculateAt:function(dirfd,path){if(path[0]!=="/"){var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=FS.getStream(dirfd);if(!dirstream)throw new FS.ErrnoError(9);dir=dirstream.path}path=PATH.join2(dir,path)}return path},doStat:function(func,path,buf){try{var stat=func(path)}catch(e){if(e&&e.node&&PATH.normalize(path)!==PATH.normalize(FS.getPath(e.node))){return-20}throw e}HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;HEAP32[buf+56>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+76>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[buf+80>>2]=tempI64[0],HEAP32[buf+84>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)},doMkdir:function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0},doMknod:function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-22}FS.mknod(path,mode,dev);return 0},doReadlink:function(path,buf,bufsize){if(bufsize<=0)return-22;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len},doAccess:function(path,amode){if(amode&~7){return-22}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;if(!node){return-2}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-13}return 0},doDup:function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd},doReadv:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr<len)break}return ret},doWritev:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret},varargs:0,get:function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(){var ret=UTF8ToString(SYSCALLS.get());return ret},getStreamFromFD:function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(9);return stream},get64:function(){var low=SYSCALLS.get(),high=SYSCALLS.get();return low},getZero:function(){SYSCALLS.get()}};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 HIGH_OFFSET=4294967296;var offset=offset_high*HIGH_OFFSET+(offset_low>>>0);var DOUBLE_LIMIT=9007199254740992;if(offset<=-DOUBLE_LIMIT||offset>=DOUBLE_LIMIT){return-75}FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[result>>2]=tempI64[0],HEAP32[result+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doWritev(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-22}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0;case 16:case 8:return-22;case 9:___setErrNo(22);return-1;default:{return-22}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall3(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.read(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21509:case 21505:{if(!stream.tty)return-25;return 0}case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-25;return 0}case 21519:{if(!stream.tty)return-25;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-25;return-22}case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-25;return 0}case 21524:{if(!stream.tty)return-25;return 0}default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _abort(){Module["abort"]()}var _acos=Math_acos;var _asin=Math_asin;var _atan=Math_atan;function _clock(){if(_clock.start===undefined)_clock.start=Date.now();return(Date.now()-_clock.start)*(1e6/1e3)|0}var _cos=Math_cos;function _emscripten_clear_interval(id){clearInterval(id)}var JSEvents={keyEvent:0,mouseEvent:0,wheelEvent:0,uiEvent:0,focusEvent:0,deviceOrientationEvent:0,deviceMotionEvent:0,fullscreenChangeEvent:0,pointerlockChangeEvent:0,visibilityChangeEvent:0,touchEvent:0,previousFullscreenElement:null,previousScreenX:null,previousScreenY:null,removeEventListenersRegistered:false,removeAllEventListeners:function(){for(var i=JSEvents.eventHandlers.length-1;i>=0;--i){JSEvents._removeHandler(i)}JSEvents.eventHandlers=[];JSEvents.deferredCalls=[]},registerRemoveEventListeners:function(){if(!JSEvents.removeEventListenersRegistered){__ATEXIT__.push(JSEvents.removeAllEventListeners);JSEvents.removeEventListenersRegistered=true}},deferredCalls:[],deferCall:function(targetFunction,precedence,argsList){function arraysHaveEqualContent(arrA,arrB){if(arrA.length!=arrB.length)return false;for(var i in arrA){if(arrA[i]!=arrB[i])return false}return true}for(var i in JSEvents.deferredCalls){var call=JSEvents.deferredCalls[i];if(call.targetFunction==targetFunction&&arraysHaveEqualContent(call.argsList,argsList)){return}}JSEvents.deferredCalls.push({targetFunction:targetFunction,precedence:precedence,argsList:argsList});JSEvents.deferredCalls.sort(function(x,y){return x.precedence<y.precedence})},removeDeferredCalls:function(targetFunction){for(var i=0;i<JSEvents.deferredCalls.length;++i){if(JSEvents.deferredCalls[i].targetFunction==targetFunction){JSEvents.deferredCalls.splice(i,1);--i}}},canPerformEventHandlerRequests:function(){return JSEvents.inEventHandler&&JSEvents.currentEventHandler.allowsDeferredCalls},runDeferredCalls:function(){if(!JSEvents.canPerformEventHandlerRequests()){return}for(var i=0;i<JSEvents.deferredCalls.length;++i){var call=JSEvents.deferredCalls[i];JSEvents.deferredCalls.splice(i,1);--i;call.targetFunction.apply(this,call.argsList)}},inEventHandler:0,currentEventHandler:null,eventHandlers:[],isInternetExplorer:function(){return navigator.userAgent.indexOf("MSIE")!==-1||navigator.appVersion.indexOf("Trident/")>0},removeAllHandlersOnTarget:function(target,eventTypeString){for(var i=0;i<JSEvents.eventHandlers.length;++i){if(JSEvents.eventHandlers[i].target==target&&(!eventTypeString||eventTypeString==JSEvents.eventHandlers[i].eventTypeString)){JSEvents._removeHandler(i--)}}},_removeHandler:function(i){var h=JSEvents.eventHandlers[i];h.target.removeEventListener(h.eventTypeString,h.eventListenerFunc,h.useCapture);JSEvents.eventHandlers.splice(i,1)},registerOrRemoveHandler:function(eventHandler){var jsEventHandler=function jsEventHandler(event){++JSEvents.inEventHandler;JSEvents.currentEventHandler=eventHandler;JSEvents.runDeferredCalls();eventHandler.handlerFunc(event);JSEvents.runDeferredCalls();--JSEvents.inEventHandler};if(eventHandler.callbackfunc){eventHandler.eventListenerFunc=jsEventHandler;eventHandler.target.addEventListener(eventHandler.eventTypeString,jsEventHandler,eventHandler.useCapture);JSEvents.eventHandlers.push(eventHandler);JSEvents.registerRemoveEventListeners()}else{for(var i=0;i<JSEvents.eventHandlers.length;++i){if(JSEvents.eventHandlers[i].target==eventHandler.target&&JSEvents.eventHandlers[i].eventTypeString==eventHandler.eventTypeString){JSEvents._removeHandler(i--)}}}},getBoundingClientRectOrZeros:function(target){return target.getBoundingClientRect?target.getBoundingClientRect():{left:0,top:0}},pageScrollPos:function(){if(pageXOffset>0||pageYOffset>0){return[pageXOffset,pageYOffset]}if(typeof document.documentElement.scrollLeft!=="undefined"||typeof document.documentElement.scrollTop!=="undefined"){return[document.documentElement.scrollLeft,document.documentElement.scrollTop]}return[document.body.scrollLeft|0,document.body.scrollTop|0]},getNodeNameForTarget:function(target){if(!target)return"";if(target==window)return"#window";if(target==screen)return"#screen";return target&&target.nodeName?target.nodeName:""},tick:function(){if(window["performance"]&&window["performance"]["now"])return window["performance"]["now"]();else return Date.now()},fullscreenEnabled:function(){return document.fullscreenEnabled||document.mozFullScreenEnabled||document.webkitFullscreenEnabled||document.msFullscreenEnabled}};var __specialEventTargets=[0,typeof document!=="undefined"?document:0,typeof window!=="undefined"?window:0];function __findEventTarget(target){try{if(!target)return window;if(typeof target==="number")target=__specialEventTargets[target]||UTF8ToString(target);if(target==="#window")return window;else if(target==="#document")return document;else if(target==="#screen")return screen;else if(target==="#canvas")return Module["canvas"];return typeof target==="string"?document.getElementById(target):target}catch(e){return null}}function __findCanvasEventTarget(target){if(typeof target==="number")target=UTF8ToString(target);if(!target||target==="#canvas"){if(typeof GL!=="undefined"&&GL.offscreenCanvases["canvas"])return GL.offscreenCanvases["canvas"];return Module["canvas"]}if(typeof GL!=="undefined"&&GL.offscreenCanvases[target])return GL.offscreenCanvases[target];return __findEventTarget(target)}function _emscripten_get_canvas_element_size(target,width,height){var canvas=__findCanvasEventTarget(target);if(!canvas)return-4;HEAP32[width>>2]=canvas.width;HEAP32[height>>2]=canvas.height}function _emscripten_get_element_css_size(target,width,height){target=target?__findEventTarget(target):Module["canvas"];if(!target)return-4;if(target.getBoundingClientRect){var rect=target.getBoundingClientRect();HEAPF64[width>>3]=rect.right-rect.left;HEAPF64[height>>3]=rect.bottom-rect.top}else{HEAPF64[width>>3]=target.clientWidth;HEAPF64[height>>3]=target.clientHeight}return 0}function _emscripten_get_heap_size(){return HEAP8.length}function _emscripten_set_canvas_element_size(target,width,height){var canvas=__findCanvasEventTarget(target);if(!canvas)return-4;canvas.width=width;canvas.height=height;return 0}function _emscripten_set_element_css_size(target,width,height){target=target?__findEventTarget(target):Module["canvas"];if(!target)return-4;target.style.width=width+"px";target.style.height=height+"px";return 0}function _emscripten_set_interval(cb,msecs,userData){return setInterval(function(){dynCall_vi(cb,userData)},msecs)}function __registerTouchEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.touchEvent)JSEvents.touchEvent=_malloc(1684);target=__findEventTarget(target);var touchEventHandlerFunc=function(ev){var e=ev||event;var touches={};for(var i=0;i<e.touches.length;++i){var touch=e.touches[i];touch.changed=false;touches[touch.identifier]=touch}for(var i=0;i<e.changedTouches.length;++i){var touch=e.changedTouches[i];touches[touch.identifier]=touch;touch.changed=true}for(var i=0;i<e.targetTouches.length;++i){var touch=e.targetTouches[i];touches[touch.identifier].onTarget=true}var touchEvent=JSEvents.touchEvent;var ptr=touchEvent;HEAP32[ptr+4>>2]=e.ctrlKey;HEAP32[ptr+8>>2]=e.shiftKey;HEAP32[ptr+12>>2]=e.altKey;HEAP32[ptr+16>>2]=e.metaKey;ptr+=20;var canvasRect=Module["canvas"]?Module["canvas"].getBoundingClientRect():undefined;var targetRect=JSEvents.getBoundingClientRectOrZeros(target);var numTouches=0;for(var i in touches){var t=touches[i];HEAP32[ptr>>2]=t.identifier;HEAP32[ptr+4>>2]=t.screenX;HEAP32[ptr+8>>2]=t.screenY;HEAP32[ptr+12>>2]=t.clientX;HEAP32[ptr+16>>2]=t.clientY;HEAP32[ptr+20>>2]=t.pageX;HEAP32[ptr+24>>2]=t.pageY;HEAP32[ptr+28>>2]=t.changed;HEAP32[ptr+32>>2]=t.onTarget;if(canvasRect){HEAP32[ptr+44>>2]=t.clientX-canvasRect.left;HEAP32[ptr+48>>2]=t.clientY-canvasRect.top}else{HEAP32[ptr+44>>2]=0;HEAP32[ptr+48>>2]=0}HEAP32[ptr+36>>2]=t.clientX-targetRect.left;HEAP32[ptr+40>>2]=t.clientY-targetRect.top;ptr+=52;if(++numTouches>=32){break}}HEAP32[touchEvent>>2]=numTouches;if(dynCall_iiii(callbackfunc,eventTypeId,touchEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString=="touchstart"||eventTypeString=="touchend",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:touchEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_touchstart_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,22,"touchstart",targetThread);return 0}function __fillVisibilityChangeEventData(eventStruct,e){var visibilityStates=["hidden","visible","prerender","unloaded"];var visibilityState=visibilityStates.indexOf(document.visibilityState);HEAP32[eventStruct>>2]=document.hidden;HEAP32[eventStruct+4>>2]=visibilityState}function __registerVisibilityChangeEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.visibilityChangeEvent)JSEvents.visibilityChangeEvent=_malloc(8);var visibilityChangeEventHandlerFunc=function(ev){var e=ev||event;var visibilityChangeEvent=JSEvents.visibilityChangeEvent;__fillVisibilityChangeEventData(visibilityChangeEvent,e);if(dynCall_iiii(callbackfunc,eventTypeId,visibilityChangeEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:false,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:visibilityChangeEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_visibilitychange_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!__specialEventTargets[1]){return-4}__registerVisibilityChangeEventCallback(__specialEventTargets[1],userData,useCapture,callbackfunc,21,"visibilitychange",targetThread);return 0}var GL={counter:1,lastError:0,buffers:[],mappedBuffers:{},programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:{},currentContext:null,offscreenCanvases:{},timerQueriesEXT:[],programInfos:{},stringCache:{},unpackAlignment:4,init:function(){GL.miniTempBuffer=new Float32Array(GL.MINI_TEMP_BUFFER_SIZE);for(var i=0;i<GL.MINI_TEMP_BUFFER_SIZE;i++){GL.miniTempBufferViews[i]=GL.miniTempBuffer.subarray(0,i+1)}},recordError:function recordError(errorCode){if(!GL.lastError){GL.lastError=errorCode}},getNewId:function(table){var ret=GL.counter++;for(var i=table.length;i<ret;i++){table[i]=null}return ret},MINI_TEMP_BUFFER_SIZE:256,miniTempBuffer:null,miniTempBufferViews:[0],getSource:function(shader,count,string,length){var source="";for(var i=0;i<count;++i){var len=length?HEAP32[length+i*4>>2]:-1;source+=UTF8ToString(HEAP32[string+i*4>>2],len<0?undefined:len)}return source},createContext:function(canvas,webGLContextAttributes){var ctx=canvas.getContext("webgl",webGLContextAttributes)||canvas.getContext("experimental-webgl",webGLContextAttributes);return ctx?GL.registerContext(ctx,webGLContextAttributes):0},registerContext:function(ctx,webGLContextAttributes){var handle=_malloc(8);var context={handle:handle,attributes:webGLContextAttributes,version:webGLContextAttributes.majorVersion,GLctx:ctx};if(ctx.canvas)ctx.canvas.GLctxObject=context;GL.contexts[handle]=context;if(typeof webGLContextAttributes.enableExtensionsByDefault==="undefined"||webGLContextAttributes.enableExtensionsByDefault){GL.initExtensions(context)}return handle},makeContextCurrent:function(contextHandle){GL.currentContext=GL.contexts[contextHandle];Module.ctx=GLctx=GL.currentContext&&GL.currentContext.GLctx;return!(contextHandle&&!GLctx)},getContext:function(contextHandle){return GL.contexts[contextHandle]},deleteContext:function(contextHandle){if(GL.currentContext===GL.contexts[contextHandle])GL.currentContext=null;if(typeof JSEvents==="object")JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas);if(GL.contexts[contextHandle]&&GL.contexts[contextHandle].GLctx.canvas)GL.contexts[contextHandle].GLctx.canvas.GLctxObject=undefined;_free(GL.contexts[contextHandle]);GL.contexts[contextHandle]=null},acquireInstancedArraysExtension:function(ctx){var ext=ctx.getExtension("ANGLE_instanced_arrays");if(ext){ctx["vertexAttribDivisor"]=function(index,divisor){ext["vertexAttribDivisorANGLE"](index,divisor)};ctx["drawArraysInstanced"]=function(mode,first,count,primcount){ext["drawArraysInstancedANGLE"](mode,first,count,primcount)};ctx["drawElementsInstanced"]=function(mode,count,type,indices,primcount){ext["drawElementsInstancedANGLE"](mode,count,type,indices,primcount)}}},acquireVertexArrayObjectExtension:function(ctx){var ext=ctx.getExtension("OES_vertex_array_object");if(ext){ctx["createVertexArray"]=function(){return ext["createVertexArrayOES"]()};ctx["deleteVertexArray"]=function(vao){ext["deleteVertexArrayOES"](vao)};ctx["bindVertexArray"]=function(vao){ext["bindVertexArrayOES"](vao)};ctx["isVertexArray"]=function(vao){return ext["isVertexArrayOES"](vao)}}},acquireDrawBuffersExtension:function(ctx){var ext=ctx.getExtension("WEBGL_draw_buffers");if(ext){ctx["drawBuffers"]=function(n,bufs){ext["drawBuffersWEBGL"](n,bufs)}}},initExtensions:function(context){if(!context)context=GL.currentContext;if(context.initExtensionsDone)return;context.initExtensionsDone=true;var GLctx=context.GLctx;if(context.version<2){GL.acquireInstancedArraysExtension(GLctx);GL.acquireVertexArrayObjectExtension(GLctx);GL.acquireDrawBuffersExtension(GLctx)}GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query");var automaticallyEnabledExtensions=["OES_texture_float","OES_texture_half_float","OES_standard_derivatives","OES_vertex_array_object","WEBGL_compressed_texture_s3tc","WEBGL_depth_texture","OES_element_index_uint","EXT_texture_filter_anisotropic","EXT_frag_depth","WEBGL_draw_buffers","ANGLE_instanced_arrays","OES_texture_float_linear","OES_texture_half_float_linear","EXT_blend_minmax","EXT_shader_texture_lod","WEBGL_compressed_texture_pvrtc","EXT_color_buffer_half_float","WEBGL_color_buffer_float","EXT_sRGB","WEBGL_compressed_texture_etc1","EXT_disjoint_timer_query","WEBGL_compressed_texture_etc","WEBGL_compressed_texture_astc","EXT_color_buffer_float","WEBGL_compressed_texture_s3tc_srgb","EXT_disjoint_timer_query_webgl2"];var exts=GLctx.getSupportedExtensions()||[];exts.forEach(function(ext){if(automaticallyEnabledExtensions.indexOf(ext)!=-1){GLctx.getExtension(ext)}})},populateUniformTable:function(program){var p=GL.programs[program];var ptable=GL.programInfos[program]={uniforms:{},maxUniformLength:0,maxAttributeLength:-1,maxUniformBlockNameLength:-1};var utable=ptable.uniforms;var numUniforms=GLctx.getProgramParameter(p,35718);for(var i=0;i<numUniforms;++i){var u=GLctx.getActiveUniform(p,i);var name=u.name;ptable.maxUniformLength=Math.max(ptable.maxUniformLength,name.length+1);if(name.slice(-1)=="]"){name=name.slice(0,name.lastIndexOf("["))}var loc=GLctx.getUniformLocation(p,name);if(loc){var id=GL.getNewId(GL.uniforms);utable[name]=[u.size,id];GL.uniforms[id]=loc;for(var j=1;j<u.size;++j){var n=name+"["+j+"]";loc=GLctx.getUniformLocation(p,n);id=GL.getNewId(GL.uniforms);GL.uniforms[id]=loc}}}}};var __emscripten_webgl_power_preferences=["default","low-power","high-performance"];function _emscripten_webgl_do_create_context(target,attributes){var contextAttributes={};var a=attributes>>2;contextAttributes["alpha"]=!!HEAP32[a+(0>>2)];contextAttributes["depth"]=!!HEAP32[a+(4>>2)];contextAttributes["stencil"]=!!HEAP32[a+(8>>2)];contextAttributes["antialias"]=!!HEAP32[a+(12>>2)];contextAttributes["premultipliedAlpha"]=!!HEAP32[a+(16>>2)];contextAttributes["preserveDrawingBuffer"]=!!HEAP32[a+(20>>2)];var powerPreference=HEAP32[a+(24>>2)];contextAttributes["powerPreference"]=__emscripten_webgl_power_preferences[powerPreference];contextAttributes["failIfMajorPerformanceCaveat"]=!!HEAP32[a+(28>>2)];contextAttributes.majorVersion=HEAP32[a+(32>>2)];contextAttributes.minorVersion=HEAP32[a+(36>>2)];contextAttributes.enableExtensionsByDefault=HEAP32[a+(40>>2)];contextAttributes.explicitSwapControl=HEAP32[a+(44>>2)];contextAttributes.proxyContextToMainThread=HEAP32[a+(48>>2)];contextAttributes.renderViaOffscreenBackBuffer=HEAP32[a+(52>>2)];var canvas=__findCanvasEventTarget(target);if(!canvas){return 0}if(contextAttributes.explicitSwapControl){return 0}var contextHandle=GL.createContext(canvas,contextAttributes);return contextHandle}function _emscripten_webgl_create_context(a0,a1){return _emscripten_webgl_do_create_context(a0,a1)}function _emscripten_webgl_destroy_context_calling_thread(contextHandle){if(GL.currentContext==contextHandle)GL.currentContext=0;GL.deleteContext(contextHandle)}function _emscripten_webgl_destroy_context(a0){return _emscripten_webgl_destroy_context_calling_thread(a0)}function _emscripten_webgl_init_context_attributes(attributes){var a=attributes>>2;for(var i=0;i<56>>2;++i){HEAP32[a+i]=0}HEAP32[a+(0>>2)]=HEAP32[a+(4>>2)]=HEAP32[a+(12>>2)]=HEAP32[a+(16>>2)]=HEAP32[a+(32>>2)]=HEAP32[a+(40>>2)]=1}function _emscripten_webgl_make_context_current(contextHandle){var success=GL.makeContextCurrent(contextHandle);return success?0:-5}Module["_emscripten_webgl_make_context_current"]=_emscripten_webgl_make_context_current;var _exp=Math_exp;var _fabs=Math_abs;function _getenv(name){if(name===0)return 0;name=UTF8ToString(name);if(!ENV.hasOwnProperty(name))return 0;if(_getenv.ret)_free(_getenv.ret);_getenv.ret=allocateUTF8(ENV[name]);return _getenv.ret}function _gettimeofday(ptr){var now=Date.now();HEAP32[ptr>>2]=now/1e3|0;HEAP32[ptr+4>>2]=now%1e3*1e3|0;return 0}function _glActiveTexture(x0){GLctx["activeTexture"](x0)}function _glAttachShader(program,shader){GLctx.attachShader(GL.programs[program],GL.shaders[shader])}function _glBindBuffer(target,buffer){GLctx.bindBuffer(target,GL.buffers[buffer])}function _glBindTexture(target,texture){GLctx.bindTexture(target,GL.textures[texture])}function _glBufferData(target,size,data,usage){GLctx.bufferData(target,data?HEAPU8.subarray(data,data+size):size,usage)}function _glClear(x0){GLctx["clear"](x0)}function _glClearColor(x0,x1,x2,x3){GLctx["clearColor"](x0,x1,x2,x3)}function _glCompileShader(shader){GLctx.compileShader(GL.shaders[shader])}function _glCreateProgram(){var id=GL.getNewId(GL.programs);var program=GLctx.createProgram();program.name=id;GL.programs[id]=program;return id}function _glCreateShader(shaderType){var id=GL.getNewId(GL.shaders);GL.shaders[id]=GLctx.createShader(shaderType);return id}function _glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _glDeleteTextures(n,textures){for(var i=0;i<n;i++){var id=HEAP32[textures+i*4>>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function __glGenObject(n,buffers,createFunction,objectTable){for(var i=0;i<n;i++){var buffer=GLctx[createFunction]();var id=buffer&&GL.getNewId(objectTable);if(buffer){buffer.name=id;objectTable[id]=buffer}else{GL.recordError(1282)}HEAP32[buffers+i*4>>2]=id}}function _glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function _glGetError(){var error=GLctx.getError()||GL.lastError;GL.lastError=0;return error}function _glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i<numAttribs;++i){var activeAttrib=GLctx.getActiveAttrib(program,i);ptable.maxAttributeLength=Math.max(ptable.maxAttributeLength,activeAttrib.name.length+1)}}HEAP32[p>>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i<numBlocks;++i){var activeBlockName=GLctx.getActiveUniformBlockName(program,i);ptable.maxUniformBlockNameLength=Math.max(ptable.maxUniformBlockNameLength,activeBlockName.length+1)}}HEAP32[p>>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source===null||source.length==0?0:source.length+1;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function _glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?parseInt(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex<uniformInfo[0]){return uniformInfo[1]+arrayIndex}else{return-1}}function _glLinkProgram(program){GLctx.linkProgram(GL.programs[program]);GL.populateUniformTable(program)}function _glPixelStorei(pname,param){if(pname==3317){GL.unpackAlignment=param}GLctx.pixelStorei(pname,param)}function _glShaderSource(shader,count,string,length){var source=GL.getSource(shader,count,string,length);GLctx.shaderSource(GL.shaders[shader],source)}function __computeUnpackAlignedImageSize(width,height,sizePerPixel,alignment){function roundedToNextMultipleOf(x,y){return x+y-1&-y}var plainRowSize=width*sizePerPixel;var alignedRowSize=roundedToNextMultipleOf(plainRowSize,alignment);return height*alignedRowSize}var __colorChannelsInGlTextureFormat={6402:1,6406:1,6407:3,6408:4,6409:1,6410:2,35904:3,35906:4};var __sizeOfGlTextureElementType={5121:1,5123:2,5125:4,5126:4,32819:2,32820:2,33635:2,34042:4,36193:2};function emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat){var sizePerPixel=__colorChannelsInGlTextureFormat[format]*__sizeOfGlTextureElementType[type];if(!sizePerPixel){GL.recordError(1280);return}var bytes=__computeUnpackAlignedImageSize(width,height,sizePerPixel,GL.unpackAlignment);var end=pixels+bytes;switch(type){case 5121:return HEAPU8.subarray(pixels,end);case 5126:return HEAPF32.subarray(pixels>>2,end>>2);case 5125:case 34042:return HEAPU32.subarray(pixels>>2,end>>2);case 5123:case 33635:case 32819:case 32820:case 36193:return HEAPU16.subarray(pixels>>1,end>>1);default:GL.recordError(1280)}}function _glTexImage2D(target,level,internalFormat,width,height,border,format,type,pixels){GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixels?emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat):null)}function _glTexParameterf(x0,x1,x2){GLctx["texParameterf"](x0,x1,x2)}function _glUniform1i(location,v0){GLctx.uniform1i(GL.uniforms[location],v0)}function _glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}var ___tm_timezone=(stringToUTF8("GMT",1113264,4),1113264);function _gmtime_r(time,tmPtr){var date=new Date(HEAP32[time>>2]*1e3);HEAP32[tmPtr>>2]=date.getUTCSeconds();HEAP32[tmPtr+4>>2]=date.getUTCMinutes();HEAP32[tmPtr+8>>2]=date.getUTCHours();HEAP32[tmPtr+12>>2]=date.getUTCDate();HEAP32[tmPtr+16>>2]=date.getUTCMonth();HEAP32[tmPtr+20>>2]=date.getUTCFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getUTCDay();HEAP32[tmPtr+36>>2]=0;HEAP32[tmPtr+32>>2]=0;var start=Date.UTC(date.getUTCFullYear(),0,1,0,0,0,0);var yday=(date.getTime()-start)/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+40>>2]=___tm_timezone;return tmPtr}function _llvm_exp2_f32(x){return Math.pow(2,x)}function _llvm_exp2_f64(a0){return _llvm_exp2_f32(a0)}function _llvm_log2_f32(x){return Math.log(x)/Math.LN2}var _llvm_trunc_f64=Math_trunc;function _tzset(){if(_tzset.called)return;_tzset.called=true;HEAP32[__get_timezone()>>2]=(new Date).getTimezoneOffset()*60;var winter=new Date(2e3,0,1);var summer=new Date(2e3,6,1);HEAP32[__get_daylight()>>2]=Number(winter.getTimezoneOffset()!=summer.getTimezoneOffset());function extractZone(date){var match=date.toTimeString().match(/\(([A-Za-z ]+)\)$/);return match?match[1]:"GMT"}var winterName=extractZone(winter);var summerName=extractZone(summer);var winterNamePtr=allocate(intArrayFromString(winterName),"i8",ALLOC_NORMAL);var summerNamePtr=allocate(intArrayFromString(summerName),"i8",ALLOC_NORMAL);if(summer.getTimezoneOffset()<winter.getTimezoneOffset()){HEAP32[__get_tzname()>>2]=winterNamePtr;HEAP32[__get_tzname()+4>>2]=summerNamePtr}else{HEAP32[__get_tzname()>>2]=summerNamePtr;HEAP32[__get_tzname()+4>>2]=winterNamePtr}}function _localtime_r(time,tmPtr){_tzset();var date=new Date(HEAP32[time>>2]*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var start=new Date(date.getFullYear(),0,1);var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var summerOffset=new Date(2e3,6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=(summerOffset!=winterOffset&&date.getTimezoneOffset()==Math.min(winterOffset,summerOffset))|0;HEAP32[tmPtr+32>>2]=dst;var zonePtr=HEAP32[__get_tzname()+(dst?4:0)>>2];HEAP32[tmPtr+40>>2]=zonePtr;return tmPtr}var _log=Math_log;function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest)}function _mktime(tmPtr){_tzset();var date=new Date(HEAP32[tmPtr+20>>2]+1900,HEAP32[tmPtr+16>>2],HEAP32[tmPtr+12>>2],HEAP32[tmPtr+8>>2],HEAP32[tmPtr+4>>2],HEAP32[tmPtr>>2],0);var dst=HEAP32[tmPtr+32>>2];var guessedOffset=date.getTimezoneOffset();var start=new Date(date.getFullYear(),0,1);var summerOffset=new Date(2e3,6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dstOffset=Math.min(winterOffset,summerOffset);if(dst<0){HEAP32[tmPtr+32>>2]=Number(summerOffset!=winterOffset&&dstOffset==guessedOffset)}else if(dst>0!=(dstOffset==guessedOffset)){var nonDstOffset=Math.max(winterOffset,summerOffset);var trueOffset=dst>0?dstOffset:nonDstOffset;date.setTime(date.getTime()+(trueOffset-guessedOffset)*6e4)}HEAP32[tmPtr+24>>2]=date.getDay();var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;return date.getTime()/1e3|0}function _pthread_cond_destroy(){return 0}function _pthread_cond_init(){return 0}function _pthread_cond_signal(){return 0}function _pthread_cond_wait(){return 0}function _pthread_create(){return 11}function _pthread_join(){}function abortOnCannotGrowMemory(requestedSize){abort("OOM")}function emscripten_realloc_buffer(size){try{var newBuffer=new ArrayBuffer(size);if(newBuffer.byteLength!=size)return false;new Int8Array(newBuffer).set(HEAP8)}catch(e){return false}buffer=newBuffer;Module["_emscripten_replace_memory"](newBuffer);return true}function _emscripten_resize_heap(requestedSize){var oldSize=_emscripten_get_heap_size();var PAGE_MULTIPLE=16777216;var LIMIT=2147483648-PAGE_MULTIPLE;if(requestedSize>LIMIT){return false}var MIN_TOTAL_MEMORY=16777216;var newSize=Math.max(oldSize,MIN_TOTAL_MEMORY);while(newSize<requestedSize){if(newSize<=536870912){newSize=alignUp(2*newSize,PAGE_MULTIPLE)}else{newSize=Math.min(alignUp((3*newSize+2147483648)/4,PAGE_MULTIPLE),LIMIT)}}if(!emscripten_realloc_buffer(newSize)){return false}updateGlobalBufferViews();return true}var _sin=Math_sin;function _sysconf(name){switch(name){case 30:return PAGE_SIZE;case 85:var maxHeapSize=2*1024*1024*1024-16777216;return maxHeapSize/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(22);return-1}var _tan=Math_tan;FS.staticInit();if(ENVIRONMENT_HAS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}var GLctx;GL.init();var ASSERTIONS=false;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}function intArrayToString(array){var ret=[];for(var i=0;i<array.length;i++){var chr=array[i];if(chr>255){if(ASSERTIONS){assert(false,"Character code "+chr+" ("+String.fromCharCode(chr)+") at offset "+i+" not in 0x00-0xFF.")}chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}var decodeBase64=typeof atob==="function"?atob:function(input){var keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{enc1=keyStr.indexOf(input.charAt(i++));enc2=keyStr.indexOf(input.charAt(i++));enc3=keyStr.indexOf(input.charAt(i++));enc4=keyStr.indexOf(input.charAt(i++));chr1=enc1<<2|enc2>>4;chr2=(enc2&15)<<4|enc3>>2;chr3=(enc3&3)<<6|enc4;output=output+String.fromCharCode(chr1);if(enc3!==64){output=output+String.fromCharCode(chr2)}if(enc4!==64){output=output+String.fromCharCode(chr3)}}while(i<input.length);return output};function intArrayFromBase64(s){if(typeof ENVIRONMENT_IS_NODE==="boolean"&&ENVIRONMENT_IS_NODE){var buf;try{buf=Buffer.from(s,"base64")}catch(_){buf=new Buffer(s,"base64")}return new Uint8Array(buf.buffer,buf.byteOffset,buf.byteLength)}try{var decoded=decodeBase64(s);var bytes=new Uint8Array(decoded.length);for(var i=0;i<decoded.length;++i){bytes[i]=decoded.charCodeAt(i)}return bytes}catch(_){throw new Error("Converting base64 string to bytes failed.")}}function tryParseAsDataURI(filename){if(!isDataURI(filename)){return}return intArrayFromBase64(filename.slice(dataURIPrefix.length))}var asmGlobalArg={"Math":Math,"Int8Array":Int8Array,"Int16Array":Int16Array,"Int32Array":Int32Array,"Uint8Array":Uint8Array,"Uint16Array":Uint16Array,"Float32Array":Float32Array,"Float64Array":Float64Array,"NaN":NaN,Infinity:Infinity};var asmLibraryArg={"a":abort,"b":setTempRet0,"c":getTempRet0,"d":___buildEnvironment,"e":___setErrNo,"f":___syscall140,"g":___syscall146,"h":___syscall221,"i":___syscall3,"j":___syscall5,"k":___syscall54,"l":___syscall6,"m":__computeUnpackAlignedImageSize,"n":__fillVisibilityChangeEventData,"o":__findCanvasEventTarget,"p":__findEventTarget,"q":__glGenObject,"r":__registerTouchEventCallback,"s":__registerVisibilityChangeEventCallback,"t":_abort,"u":_acos,"v":_asin,"w":_atan,"x":_clock,"y":_cos,"z":_emscripten_asm_const_ii,"A":_emscripten_asm_const_iiii,"B":_emscripten_asm_const_iiiii,"C":_emscripten_asm_const_iiiiid,"D":_emscripten_asm_const_iiiiii,"E":_emscripten_clear_interval,"F":_emscripten_get_canvas_element_size,"G":_emscripten_get_element_css_size,"H":_emscripten_get_heap_size,"I":_emscripten_memcpy_big,"J":_emscripten_resize_heap,"K":_emscripten_set_canvas_element_size,"L":_emscripten_set_element_css_size,"M":_emscripten_set_interval,"N":_emscripten_set_touchstart_callback_on_thread,"O":_emscripten_set_visibilitychange_callback_on_thread,"P":_emscripten_webgl_create_context,"Q":_emscripten_webgl_destroy_context,"R":_emscripten_webgl_destroy_context_calling_thread,"S":_emscripten_webgl_do_create_context,"T":_emscripten_webgl_init_context_attributes,"U":_emscripten_webgl_make_context_current,"V":_exp,"W":_fabs,"X":_get_do_str,"Y":_getenv,"Z":_gettimeofday,"_":_glActiveTexture,"$":_glAttachShader,"aa":_glBindBuffer,"ab":_glBindTexture,"ac":_glBufferData,"ad":_glClear,"ae":_glClearColor,"af":_glCompileShader,"ag":_glCreateProgram,"ah":_glCreateShader,"ai":_glDeleteProgram,"aj":_glDeleteShader,"ak":_glDeleteTextures,"al":_glDrawArrays,"am":_glEnableVertexAttribArray,"an":_glGenBuffers,"ao":_glGenTextures,"ap":_glGetAttribLocation,"aq":_glGetError,"ar":_glGetProgramInfoLog,"as":_glGetProgramiv,"at":_glGetShaderInfoLog,"au":_glGetShaderiv,"av":_glGetUniformLocation,"aw":_glLinkProgram,"ax":_glPixelStorei,"ay":_glShaderSource,"az":_glTexImage2D,"aA":_glTexParameterf,"aB":_glUniform1i,"aC":_glUseProgram,"aD":_glVertexAttribPointer,"aE":_glViewport,"aF":_gmtime_r,"aG":_llvm_exp2_f32,"aH":_llvm_exp2_f64,"aI":_llvm_log2_f32,"aJ":_llvm_trunc_f64,"aK":_localtime_r,"aL":_log,"aM":_mktime,"aN":_pthread_cond_destroy,"aO":_pthread_cond_init,"aP":_pthread_cond_signal,"aQ":_pthread_cond_wait,"aR":_pthread_create,"aS":_pthread_join,"aT":_sin,"aU":_sysconf,"aV":_tan,"aW":_tzset,"aX":abortOnCannotGrowMemory,"aY":demangle,"aZ":demangleAll,"a_":emscriptenWebGLGetTexPixelData,"a$":emscripten_realloc_buffer,"ba":jsStackTrace,"bb":stackTrace,"bc":tempDoublePtr,"bd":DYNAMICTOP_PTR};// EMSCRIPTEN_START_ASM
|
|
var asm=(/** @suppress {uselessCode} */ function(global,env,buffer) {
|
|
"almost asm";var a=new global.Int8Array(buffer),b=new global.Int16Array(buffer),c=new global.Int32Array(buffer),d=new global.Uint8Array(buffer),e=new global.Uint16Array(buffer),f=new global.Float32Array(buffer),g=new global.Float64Array(buffer),h=env.bc|0,i=env.bd|0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=global.NaN,s=global.Infinity,t=global.Math.floor,u=global.Math.abs,v=global.Math.sqrt,w=global.Math.pow,x=global.Math.cos,y=global.Math.sin,z=global.Math.tan,A=global.Math.acos,B=global.Math.asin,C=global.Math.atan,D=global.Math.atan2,E=global.Math.exp,F=global.Math.log,G=global.Math.ceil,H=global.Math.imul,I=global.Math.min,J=global.Math.clz32,K=env.a,L=env.b,M=env.c,N=env.d,O=env.e,P=env.f,Q=env.g,R=env.h,S=env.i,T=env.j,U=env.k,V=env.l,W=env.m,X=env.n,Y=env.o,Z=env.p,_=env.q,$=env.r,aa=env.s,ba=env.t,ca=env.u,da=env.v,ea=env.w,fa=env.x,ga=env.y,ha=env.z,ia=env.A,ja=env.B,ka=env.C,la=env.D,ma=env.E,na=env.F,oa=env.G,pa=env.H,qa=env.I,ra=env.J,sa=env.K,ta=env.L,ua=env.M,va=env.N,wa=env.O,xa=env.P,ya=env.Q,za=env.R,Aa=env.S,Ba=env.T,Ca=env.U,Da=env.V,Ea=env.W,Fa=env.X,Ga=env.Y,Ha=env.Z,Ia=env._,Ja=env.$,Ka=env.aa,La=env.ab,Ma=env.ac,Na=env.ad,Oa=env.ae,Pa=env.af,Qa=env.ag,Ra=env.ah,Sa=env.ai,Ta=env.aj,Ua=env.ak,Va=env.al,Wa=env.am,Xa=env.an,Ya=env.ao,Za=env.ap,_a=env.aq,$a=env.ar,ab=env.as,bb=env.at,cb=env.au,db=env.av,eb=env.aw,fb=env.ax,gb=env.ay,hb=env.az,ib=env.aA,jb=env.aB,kb=env.aC,lb=env.aD,mb=env.aE,nb=env.aF,ob=env.aG,pb=env.aH,qb=env.aI,rb=env.aJ,sb=env.aK,tb=env.aL,ub=env.aM,vb=env.aN,wb=env.aO,xb=env.aP,yb=env.aQ,zb=env.aR,Ab=env.aS,Bb=env.aT,Cb=env.aU,Db=env.aV,Eb=env.aW,Fb=env.aX,Gb=env.aY,Hb=env.aZ,Ib=env.a_,Jb=env.a$,Kb=env.ba,Lb=env.bb,Mb=1113392,Nb=6356272,Ob=0.0;function Pb(newBuffer){a=new Int8Array(newBuffer);d=new Uint8Array(newBuffer);b=new Int16Array(newBuffer);e=new Uint16Array(newBuffer);c=new Int32Array(newBuffer);f=new Float32Array(newBuffer);g=new Float64Array(newBuffer);buffer=newBuffer;return true}
|
|
// EMSCRIPTEN_START_FUNCS
|
|
function Lr(d,f,g,h,i,j){d=d|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;x=f>>>1;u=g>>>1;v=u<<2;w=H(x,-2)|0;t=0-x|0;s=0;while(1){if((s|0)==2)break;o=c[h+(s<<2)>>2]<<1;a:do if((o|0)>=1){p=0-o|0;q=(a[i+s>>0]|0)==0;r=(a[j+s>>0]|0)==0;m=0;n=d;while(1){if((m|0)==4)break a;g=n+(t<<1)|0;l=e[g>>1]|0;k=e[n>>1]|0;f=(e[n+(w<<1)>>1]|0)+4-(e[n+(x<<1)>>1]|0)+(k-l<<2)>>3;f=(f|0)<(p|0)?p:(f|0)>(o|0)?o:f;l=f+l|0;if(q)b[g>>1]=l>>>0<512?l:0-l>>31&511;f=k-f|0;if(r)b[n>>1]=f>>>0<512?f:0-f>>31&511;m=m+1|0;n=n+(u<<1)|0}}while(0);s=s+1|0;d=d+(v<<1)|0}return}function Mr(a){a=a|0;do switch(a|0){case 0:{a=205053;break}case 1:{a=205045;break}case 2:{a=205039;break}case 3:{a=205033;break}case 4:{a=205026;break}case 5:{a=205019;break}case 6:{a=205012;break}case 7:{a=205005;break}case 8:{a=204998;break}case 9:{a=204991;break}case 16:{a=204982;break}case 17:{a=204971;break}case 18:{a=204962;break}case 19:{a=204951;break}case 20:{a=204942;break}case 21:{a=204934;break}case 32:{a=204930;break}case 33:{a=204926;break}case 34:{a=204922;break}case 35:{a=204918;break}case 36:{a=204910;break}case 37:{a=204902;break}case 38:{a=204895;break}case 39:{a=204884;break}case 40:{a=204873;break}default:a=222298}while(0);return a|0}function Nr(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;n=Mb;Mb=Mb+16|0;l=n+12|0;j=n+8|0;k=n+4|0;m=n;e=$A(k,d,l)|0;do if((e|0)>=0){i=d+8|0;h=c[k>>2]|0;while(1){e=c[i>>2]|0;if((a[e>>0]|0)!=94){f=11;break}c[i>>2]=e+1;e=$A(m,d,j)|0;if((e|0)<0){f=5;break}f=xS(18,h,c[m>>2]|0)|0;c[k>>2]=f;if(!f){f=7;break}e=c[f+24>>2]|0;if(e|0){h=e+8|0;g[h>>3]=+g[h>>3]*+(c[j>>2]|1|0)}h=f}if((f|0)==5){wP(h);break}else if((f|0)==7){wP(h);wP(c[m>>2]|0);e=-12;break}else if((f|0)==11){if(h|0){m=h+8|0;g[m>>3]=+g[m>>3]*+(c[l>>2]|1|0)}c[b>>2]=h;e=0;break}}while(0);Mb=n;return e|0}function Or(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0;q=b+8|0;r=d+16|0;s=b+12|0;t=d+24|0;u=b+16|0;v=d+32|0;h=b+24|0;i=d+48|0;j=b+4|0;k=d+72|0;l=b+20|0;m=d+104|0;n=b+28|0;o=d+120|0;p=a+4|0;f=0;while(1){if((f|0)>=(e|0))break;w=+g[(c[q>>2]|0)+(f<<3)>>3]*+g[r>>3]+ +g[(c[s>>2]|0)+(f<<3)>>3]*+g[t>>3];g[(c[a>>2]|0)+(f<<3)>>3]=w+ +g[(c[b>>2]|0)+(f<<3)>>3]*+g[d>>3]+ +g[(c[u>>2]|0)+(f<<3)>>3]*+g[v>>3]+ +g[(c[h>>2]|0)+(f<<3)>>3]*+g[i>>3];g[(c[p>>2]|0)+(f<<3)>>3]=w+ +g[(c[j>>2]|0)+(f<<3)>>3]*+g[k>>3]+ +g[(c[l>>2]|0)+(f<<3)>>3]*+g[m>>3]+ +g[(c[n>>2]|0)+(f<<3)>>3]*+g[o>>3];f=f+1|0}return}function Pr(c,d,f,g,h,i,j,k,l,m,n){c=c|0;d=d|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;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=g>>>1;v=d>>>1;r=m+-1|0;t=20672+(r<<2)|0;u=i+2|0;s=1<<i+1;o=k<<4;p=20672+(r<<2)+1|0;q=20672+(r<<2)+2|0;r=20672+(r<<2)+3|0;k=g&-2;i=0;m=f;d=c;while(1){if((i|0)>=(h|0))break;l=0;while(1){if((l|0)>=(n|0))break;c=H(e[m+(l-w<<1)>>1]|0,a[t>>0]|0)|0;c=(H(e[m+(l<<1)>>1]|0,a[p>>0]|0)|0)+c|0;c=c+(H(e[m+(l+w<<1)>>1]|0,a[q>>0]|0)|0)|0;c=((H(c+(H(e[m+(l+k<<1)>>1]|0,a[r>>0]|0)|0)>>4,j)|0)+s>>u)+o|0;b[d+(l<<1)>>1]=c>>>0<4096?c:0-c>>31&4095;l=l+1|0}i=i+1|0;m=m+(w<<1)|0;d=d+(v<<1)|0}return}function Qr(c,d,f,g,h,i,j,k,l,m,n){c=c|0;d=d|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;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=g>>>1;v=d>>>1;r=m+-1|0;t=20672+(r<<2)|0;u=i+4|0;s=1<<i+3;o=k<<2;p=20672+(r<<2)+1|0;q=20672+(r<<2)+2|0;r=20672+(r<<2)+3|0;k=g&-2;i=0;m=f;d=c;while(1){if((i|0)>=(h|0))break;l=0;while(1){if((l|0)>=(n|0))break;c=H(e[m+(l-w<<1)>>1]|0,a[t>>0]|0)|0;c=(H(e[m+(l<<1)>>1]|0,a[p>>0]|0)|0)+c|0;c=c+(H(e[m+(l+w<<1)>>1]|0,a[q>>0]|0)|0)|0;c=((H(c+(H(e[m+(l+k<<1)>>1]|0,a[r>>0]|0)|0)>>2,j)|0)+s>>u)+o|0;b[d+(l<<1)>>1]=c>>>0<1024?c:0-c>>31&1023;l=l+1|0}i=i+1|0;m=m+(w<<1)|0;d=d+(v<<1)|0}return}function Rr(a,c,d){a=a|0;c=c|0;d=d|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;i=d>>1;g=d&-2;h=i*3|0;f=0;d=c;while(1){if((f|0)==4)break;p=e[d+-8>>1]|0;o=e[d>>1]|0;n=e[d+8>>1]|0;c=e[d+16>>1]|0;k=e[d+24>>1]|0;l=e[d+32>>1]|0;j=e[d+40>>1]|0;m=e[d+48>>1]|0;q=(e[d+-16>>1]|0)+16+k+((n+o|0)*20|0)+(H(c+p|0,-5)|0)>>5;b[a>>1]=q>>>0<4096?q:0-q>>31&4095;p=p+16+l+((c+n|0)*20|0)+(H(k+o|0,-5)|0)>>5;b[a+(i<<1)>>1]=p>>>0<4096?p:0-p>>31&4095;o=o+16+j+((k+c|0)*20|0)+(H(l+n|0,-5)|0)>>5;b[a+(g<<1)>>1]=o>>>0<4096?o:0-o>>31&4095;c=n+16+m+((l+k|0)*20|0)+(H(j+c|0,-5)|0)>>5;b[a+(h<<1)>>1]=c>>>0<4096?c:0-c>>31&4095;f=f+1|0;a=a+2|0;d=d+2|0}return}function Sr(a,c,d){a=a|0;c=c|0;d=d|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;i=d>>1;g=d&-2;h=i*3|0;f=0;d=c;while(1){if((f|0)==4)break;p=e[d+-8>>1]|0;o=e[d>>1]|0;n=e[d+8>>1]|0;c=e[d+16>>1]|0;k=e[d+24>>1]|0;l=e[d+32>>1]|0;j=e[d+40>>1]|0;m=e[d+48>>1]|0;q=(e[d+-16>>1]|0)+16+k+((n+o|0)*20|0)+(H(c+p|0,-5)|0)>>5;b[a>>1]=q>>>0<1024?q:0-q>>31&1023;p=p+16+l+((c+n|0)*20|0)+(H(k+o|0,-5)|0)>>5;b[a+(i<<1)>>1]=p>>>0<1024?p:0-p>>31&1023;o=o+16+j+((k+c|0)*20|0)+(H(l+n|0,-5)|0)>>5;b[a+(g<<1)>>1]=o>>>0<1024?o:0-o>>31&1023;c=n+16+m+((l+k|0)*20|0)+(H(j+c|0,-5)|0)>>5;b[a+(h<<1)>>1]=c>>>0<1024?c:0-c>>31&1023;f=f+1|0;a=a+2|0;d=d+2|0}return}function Tr(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=b+74496|0;l=b+288|0;i=0;while(1){if((i|0)==16)break;m=c[a+620+(i<<2)>>2]|0;a:do if(m|0?(c[m+148704>>2]|0)==(f|0):0){k=m+148708|0;b=0;j=0;while(1){if((j|0)>(c[k>>2]|0))break a;do if((c[m+148712+(j<<2)>>2]|0)==(d|0)?(c[m+148744+(j<<2)>>2]|0)==(e|0):0){h=m+148776+(j<<2)|0;if((c[h>>2]|0)!=1){hc[g&255](a,l,m,b);h=c[h>>2]|0;b=b+((h|0)!=0&1)|0;if((h|0)==2)break}hc[g&255](a,n,m,b);b=b+1|0}else o=12;while(0);if((o|0)==12){o=0;b=((c[m+148776+(j<<2)>>2]|0)==3?2:1)+b|0}j=j+1|0}}while(0);i=i+1|0}return}function Ur(c,d,f,g,h,i,j,k,l,m,n){c=c|0;d=d|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;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=g>>>1;v=d>>>1;r=m+-1|0;t=20672+(r<<2)|0;u=i+5|0;s=1<<i+4;o=k<<1;p=20672+(r<<2)+1|0;q=20672+(r<<2)+2|0;r=20672+(r<<2)+3|0;k=g&-2;i=0;m=f;d=c;while(1){if((i|0)>=(h|0))break;l=0;while(1){if((l|0)>=(n|0))break;c=H(e[m+(l-w<<1)>>1]|0,a[t>>0]|0)|0;c=(H(e[m+(l<<1)>>1]|0,a[p>>0]|0)|0)+c|0;c=c+(H(e[m+(l+w<<1)>>1]|0,a[q>>0]|0)|0)|0;c=((H(c+(H(e[m+(l+k<<1)>>1]|0,a[r>>0]|0)|0)>>1,j)|0)+s>>u)+o|0;b[d+(l<<1)>>1]=c>>>0<512?c:0-c>>31&511;l=l+1|0}i=i+1|0;m=m+(w<<1)|0;d=d+(v<<1)|0}return}function Vr(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|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.0;q=b+8|0;r=d+8|0;s=b+12|0;t=d+12|0;u=b+16|0;v=d+16|0;h=b+24|0;i=d+24|0;j=b+4|0;k=d+36|0;l=b+20|0;m=d+52|0;n=b+28|0;o=d+60|0;p=a+4|0;g=0;while(1){if((g|0)>=(e|0))break;w=+f[(c[q>>2]|0)+(g<<2)>>2]*+f[r>>2]+ +f[(c[s>>2]|0)+(g<<2)>>2]*+f[t>>2];f[(c[a>>2]|0)+(g<<2)>>2]=w+ +f[(c[b>>2]|0)+(g<<2)>>2]*+f[d>>2]+ +f[(c[u>>2]|0)+(g<<2)>>2]*+f[v>>2]+ +f[(c[h>>2]|0)+(g<<2)>>2]*+f[i>>2];f[(c[p>>2]|0)+(g<<2)>>2]=w+ +f[(c[j>>2]|0)+(g<<2)>>2]*+f[k>>2]+ +f[(c[l>>2]|0)+(g<<2)>>2]*+f[m>>2]+ +f[(c[n>>2]|0)+(g<<2)>>2]*+f[o>>2];g=g+1|0}return}function Wr(a,b,d,e,g){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;h=g+(H(e,-3)|0)|0;while(1){if(a>>>0>=h>>>0)break;m=FU(+f[b>>2]*-9223372036854775808.0)|0;j=M()|0;i=a;c[i>>2]=m;c[i+4>>2]=j;i=b+d|0;j=a+e|0;m=FU(+f[i>>2]*-9223372036854775808.0)|0;l=M()|0;k=j;c[k>>2]=m;c[k+4>>2]=l;i=i+d|0;j=j+e|0;k=FU(+f[i>>2]*-9223372036854775808.0)|0;l=M()|0;m=j;c[m>>2]=k;c[m+4>>2]=l;i=i+d|0;j=j+e|0;m=FU(+f[i>>2]*-9223372036854775808.0)|0;l=M()|0;k=j;c[k>>2]=m;c[k+4>>2]=l;a=j+e|0;b=i+d|0}while(1){if(a>>>0>=g>>>0)break;k=FU(+f[b>>2]*-9223372036854775808.0)|0;l=M()|0;m=a;c[m>>2]=k;c[m+4>>2]=l;a=a+e|0;b=b+d|0}return}function Xr(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=0;while(1){if((f|0)==13)break;j=c;i=j;i=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;j=j+4|0;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=b;g=h;a[g>>0]=i;a[g+1>>0]=i>>8;a[g+2>>0]=i>>16;a[g+3>>0]=i>>24;h=h+4|0;a[h>>0]=j;a[h+1>>0]=j>>8;a[h+2>>0]=j>>16;a[h+3>>0]=j>>24;h=c+8|0;j=h;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=h+4|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=b+8|0;i=g;a[i>>0]=j;a[i+1>>0]=j>>8;a[i+2>>0]=j>>16;a[i+3>>0]=j>>24;g=g+4|0;a[g>>0]=h;a[g+1>>0]=h>>8;a[g+2>>0]=h>>16;a[g+3>>0]=h>>24;f=f+1|0;b=b+16|0;c=c+e|0}return}function Yr(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=Mb;Mb=Mb+32|0;g=h;f=0;while(1){if((f|0)==4)break;j=f<<5;k=b[a+(j<<1)>>1]|0;j=b[a+((j|16)<<1)>>1]|0;i=f<<1;c[g+(i<<2)>>2]=j+k;c[g+((i|1)<<2)>>2]=k-j;f=f+1|0}f=0;while(1){if((f|0)==2)break;k=d[175370+f>>0]|0;j=c[g+(f<<2)>>2]|0;m=c[g+(f+4<<2)>>2]|0;i=m+j|0;m=j-m|0;j=c[g+(f+2<<2)>>2]|0;n=c[g+(f+6<<2)>>2]|0;l=j-n|0;j=n+j|0;n=((H(j+i|0,e)|0)+128|0)>>>8&65535;b[a+(k<<1)>>1]=n;n=((H(l+m|0,e)|0)+128|0)>>>8&65535;b[a+(k+32<<1)>>1]=n;l=((H(m-l|0,e)|0)+128|0)>>>8&65535;b[a+(k+64<<1)>>1]=l;j=((H(i-j|0,e)|0)+128|0)>>>8&65535;b[a+(k+96<<1)>>1]=j;f=f+1|0}Mb=h;return}function Zr(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;h=f+(H(e,-3)|0)|0;while(1){if(a>>>0>=h>>>0)break;m=LU(+g[b>>3]*-9223372036854775808.0)|0;j=M()|0;i=a;c[i>>2]=m;c[i+4>>2]=j;i=b+d|0;j=a+e|0;m=LU(+g[i>>3]*-9223372036854775808.0)|0;l=M()|0;k=j;c[k>>2]=m;c[k+4>>2]=l;i=i+d|0;j=j+e|0;k=LU(+g[i>>3]*-9223372036854775808.0)|0;l=M()|0;m=j;c[m>>2]=k;c[m+4>>2]=l;i=i+d|0;j=j+e|0;m=LU(+g[i>>3]*-9223372036854775808.0)|0;l=M()|0;k=j;c[k>>2]=m;c[k+4>>2]=l;a=j+e|0;b=i+d|0}while(1){if(a>>>0>=f>>>0)break;k=LU(+g[b>>3]*-9223372036854775808.0)|0;l=M()|0;m=a;c[m>>2]=k;c[m+4>>2]=l;a=a+e|0;b=b+d|0}return}function _r(b,f){b=b|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;p=c[f+368>>2]|0;q=f+304|0;r=f+288|0;o=b+5404|0;j=f+14048|0;b=0;l=0;m=f+88256|0;while(1){if((l|0)>=(c[q>>2]|0))break;n=f+308+l|0;k=0;while(1){if(k>>>0>=(d[r>>0]|0)>>>0)break;a:do if((a[f+13+b>>0]|0?(c[f+6160+(b<<2)>>2]|0)>>>0<13:0)?(c[f+80368+(b<<2)>>2]|0)>>>0<13:0){h=p+(k<<1)|0;i=p+(k+1<<1)|0;g=0;while(1){if(g>>>0>=(d[n>>0]|0)>>>0)break a;t=g<<7;s=e[h>>1]|0;gc[c[(c[o>>2]|0)+32>>2]&1023](j+(t<<2)+(s<<2)|0,m+(t<<2)+(s<<2)|0,(e[i>>1]|0)-s|0);g=g+1|0}}while(0);k=k+1|0;b=b+1|0}t=d[n>>0]<<7;j=j+(t<<2)|0;l=l+1|0;m=m+(t<<2)|0}return}function $r(a,c,d){a=a|0;c=c|0;d=d|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;i=d>>1;g=d&-2;h=i*3|0;f=0;d=c;while(1){if((f|0)==4)break;p=e[d+-8>>1]|0;o=e[d>>1]|0;n=e[d+8>>1]|0;c=e[d+16>>1]|0;k=e[d+24>>1]|0;l=e[d+32>>1]|0;j=e[d+40>>1]|0;m=e[d+48>>1]|0;q=(e[d+-16>>1]|0)+16+k+((n+o|0)*20|0)+(H(c+p|0,-5)|0)>>5;b[a>>1]=q>>>0<512?q:0-q>>31&511;p=p+16+l+((c+n|0)*20|0)+(H(k+o|0,-5)|0)>>5;b[a+(i<<1)>>1]=p>>>0<512?p:0-p>>31&511;o=o+16+j+((k+c|0)*20|0)+(H(l+n|0,-5)|0)>>5;b[a+(g<<1)>>1]=o>>>0<512?o:0-o>>31&511;c=n+16+m+((l+k|0)*20|0)+(H(j+c|0,-5)|0)>>5;b[a+(h<<1)>>1]=c>>>0<512?c:0-c>>31&511;f=f+1|0;a=a+2|0;d=d+2|0}return}function as(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;a:do if(!b)e=0;else{m=b+4|0;if(!e)e=0;else e=(e-(c[m>>2]|0)>>3)+1|0;k=c[b>>2]|0;l=(f&1|0)==0;j=(f&2|0)==0;while(1){if(e>>>0>=k>>>0){e=0;break a}i=c[m>>2]|0;h=c[i+(e<<3)>>2]|0;if(l){f=0;while(1){b=a[h+f>>0]|0;n=z0(b<<24>>24)|0;g=a[d+f>>0]|0;if(g<<24>>24==0|(n|0)!=(z0(g<<24>>24)|0))break;else f=f+1|0}}else{f=0;while(1){b=a[h+f>>0]|0;g=a[d+f>>0]|0;if(g<<24>>24==0?1:b<<24>>24!=g<<24>>24)break;else f=f+1|0}}if(!(g<<24>>24!=0|j&b<<24>>24!=0))break;e=e+1|0}e=i+(e<<3)|0}while(0);return e|0}function bs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=Mb;Mb=Mb+16|0;h=j;e=EZ(40)|0;c[h>>2]=e;a:do if(!e)d=-12;else{c[e>>2]=166900;c[e+4>>2]=a;k=ZX()|0;f=e+16|0;c[f>>2]=k;k=ZX()|0;c[e+20>>2]=k;do if((!((k|0)==0|(c[f>>2]|0)==0)?(k=EZ(8)|0,d=e+8|0,c[d>>2]=k,k|0):0)?(g=A$()|0,c[c[d>>2]>>2]=g,g=c[h>>2]|0,i=g,c[c[g+8>>2]>>2]|0):0){R0(g);d=c[a+12>>2]|0;if(d|0){f=EZ(d)|0;e=g+12|0;c[e>>2]=f;if(!f)break;d=c[a+8>>2]|0;if(d|0){c[f>>2]=d;R0(c[e>>2]|0)}}c[b>>2]=i;d=0;break a}while(0);VA(h);d=-12}while(0);Mb=j;return d|0}function cs(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;k=b;l=c[k>>2]|0;f=l&63;k=aX(l|0,c[k+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;l=M()|0;m=b;c[m>>2]=k;c[m+4>>2]=l;if(f){g=64-f|0;g=(g|0)<(e|0)?g:e;Mn(b+8+f|0,d|0,g|0)|0;if((g+f|0)>=64){vp(b+72|0,b+8|0,1);d=d+g|0;e=e-g|0;h=4}}else h=4;if((h|0)==4){g=d;f=d+(e&-64)|0;if(!(g&3))vp(b+72|0,d,(e|0)/64|0);else{l=b+8|0;m=b+72|0;h=(d>>>0>f>>>0?d:f)+(63-g)&-64;g=d;while(1){if(g>>>0>=f>>>0)break;i=l;j=g;k=i+64|0;do{a[i>>0]=a[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));vp(m,l,1);g=g+64|0}f=d+h|0}d=e&63;if(d|0)Mn(b+8|0,f|0,d|0)|0}return}function ds(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;n=Mb;Mb=Mb+16|0;l=n;k=d+e|0;c[l>>2]=-1;f=0;g=0;e=0;b=d;a:while(1){j=(e|0)!=0;b:while(1){i=j&(g|0)!=0;c:while(1){h=(f|0)!=0;d:while(1){if(b>>>0>=k>>>0){b=0;break a}b=Tq(b,k,l)|0;e=c[l>>2]|0;if((e&-256|0)!=256){b=0;break a}o=e>>>1;e=o&63;switch(o&63){case 32:break b;case 33:break c;case 34:break d;default:{}}if(!((e|0)!=35&(h|(e|0)!=39)^1|i^1)){m=13;break a}}f=1}g=1}e=1}if((m|0)==13){while(1){e=b+-4|0;if(e>>>0<=d>>>0)break;if(!(a[b+-5>>0]|0))b=b+-1|0;else break}b=e-d|0}Mb=n;return b|0}function es(a,b,d,f,g){a=a|0;b=b|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;h=g+(H(f,-3)|0)|0;while(1){if(a>>>0>=h>>>0)break;m=_U(e[b>>1]|0|0,0,48)|0;j=M()|0;i=a;c[i>>2]=m;c[i+4>>2]=j;i=b+d|0;j=a+f|0;m=_U(e[i>>1]|0|0,0,48)|0;l=M()|0;k=j;c[k>>2]=m;c[k+4>>2]=l;i=i+d|0;j=j+f|0;k=_U(e[i>>1]|0|0,0,48)|0;l=M()|0;m=j;c[m>>2]=k;c[m+4>>2]=l;i=i+d|0;j=j+f|0;m=_U(e[i>>1]|0|0,0,48)|0;l=M()|0;k=j;c[k>>2]=m;c[k+4>>2]=l;a=j+f|0;b=i+d|0}while(1){if(a>>>0>=g>>>0)break;k=_U(e[b>>1]|0|0,0,48)|0;l=M()|0;m=a;c[m>>2]=k;c[m+4>>2]=l;a=a+f|0;b=b+d|0}return}function fs(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;m=d+8|0;n=e+8|0;o=d+12|0;p=e+12|0;q=d+16|0;r=e+16|0;h=d+4|0;i=e+28|0;j=d+20|0;k=e+44|0;l=a+4|0;g=0;while(1){if((g|0)>=(f|0))break;t=H(c[n>>2]|0,b[(c[m>>2]|0)+(g<<1)>>1]|0)|0;t=(H(c[p>>2]|0,b[(c[o>>2]|0)+(g<<1)>>1]|0)|0)+t|0;s=H(c[e>>2]|0,b[(c[d>>2]|0)+(g<<1)>>1]|0)|0;t=t+16384|0;s=(t+s+(H(c[r>>2]|0,b[(c[q>>2]|0)+(g<<1)>>1]|0)|0)|0)>>>15&65535;b[(c[a>>2]|0)+(g<<1)>>1]=s;s=H(c[i>>2]|0,b[(c[h>>2]|0)+(g<<1)>>1]|0)|0;s=(t+s+(H(c[k>>2]|0,b[(c[j>>2]|0)+(g<<1)>>1]|0)|0)|0)>>>15&65535;b[(c[l>>2]|0)+(g<<1)>>1]=s;g=g+1|0}return}function gs(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;m=Mb;Mb=Mb+16|0;k=m;c[b>>2]=c[e+20>>2];j=b+4|0;c[j>>2]=c[e+24>>2];do if((f|0)!=1){i=(g|0)==3?15:31;if(mT(d)|0){g=(au(d)|0)+1|0;c[b>>2]=g;if((f|0)==3)e=(au(d)|0)+1|0;else e=1;c[j>>2]=e}g=(c[b>>2]|0)+-1|0;e=(c[j>>2]|0)+-1|0;if(g>>>0>i>>>0|e>>>0>i>>>0){c[k>>2]=g;c[k+4>>2]=i;c[k+8>>2]=e;c[k+12>>2]=i;AD(h,16,205977,k);c[a>>2]=0;c[b>>2]=0;c[j>>2]=0;e=-1094995529;break}else{e=(f|0)==3?2:1;l=9;break}}else{c[j>>2]=0;c[b>>2]=0;e=0;l=9}while(0);if((l|0)==9){c[a>>2]=e;e=0}Mb=m;return e|0}function hs(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;i=d[b+(0-e)>>0]|0;m=d[b+(1-e)>>0]|0;l=d[b+(2-e)>>0]|0;j=d[b+(3-e)>>0]|0;h=d[c>>0]|0;g=d[c+1>>0]|0;f=d[c+2>>0]|0;c=m+1|0;a[b>>0]=(c+i|0)>>>1;c=(c+l|0)>>>1&255;k=e<<1;a[b+k>>0]=c;a[b+1>>0]=c;c=(l+1+j|0)>>>1&255;a[b+(k|1)>>0]=c;a[b+2>>0]=c;c=(j+1+h|0)>>>1&255;a[b+(k+2)>>0]=c;a[b+3>>0]=c;a[b+(k+3)>>0]=(h+1+g|0)>>>1;k=l+2|0;a[b+e>>0]=(k+i+(m<<1)|0)>>>2;i=j+2|0;l=(i+m+(l<<1)|0)>>>2&255;c=e*3|0;a[b+c>>0]=l;a[b+(e+1)>>0]=l;j=(k+(j<<1)+h|0)>>>2&255;a[b+(c+1)>>0]=j;a[b+(e+2)>>0]=j;i=(i+(h<<1)+g|0)>>>2&255;a[b+(c+2)>>0]=i;a[b+(e+3)>>0]=i;a[b+(c+3)>>0]=(h+2+(g<<1)+f|0)>>>2;return}function is(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=Mb;Mb=Mb+16|0;h=i;do switch(e|0){case 256:{yz(b,a);a=0;break}case 45:{rB(b+56|0,a);a=0;break}case 47:{NM(b+72|0,a);a=0;break}case 1:{a=qv(b,a,d,g,f)|0;break}case 137:{AB(b+100|0,a);a=0;break}case 144:{dU(b+128|0,a);a=0;break}case 129:{a=Gx(b,a,g)|0;break}case 4:{a=IB(b,a,f)|0;break}case 147:{pY(b+140|0,a);a=0;break}default:{c[h>>2]=e;AD(g,48,178928,h);fS(a,f<<3);a=0}}while(0);Mb=i;return a|0}function js(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,o=0,p=0,q=0;m=0;while(1){if((m|0)==4)break;p=a[g+m>>0]|0;o=p<<24>>24;a:do if(p<<24>>24>=1){p=0-o|0;h=1;n=b;while(1){if(!h)break a;h=n+-1|0;i=d[h>>0]|0;j=d[n+-2>>0]|0;k=d[n>>0]|0;l=d[n+1>>0]|0;q=i-k|0;if(((((q|0)>-1?q:0-q|0)|0)<(e|0)?(q=j-i|0,(((q|0)>-1?q:0-q|0)|0)<(f|0)):0)?(q=l-k|0,(((q|0)>-1?q:0-q|0)|0)<(f|0)):0){q=j+4-l+(k-i<<2)>>3;q=(q|0)<(p|0)?p:(q|0)>(o|0)?o:q;l=q+i|0;a[h>>0]=l>>>0>255?0-l>>31:l;q=k-q|0;a[n>>0]=q>>>0>255?0-q>>31:q}h=0;n=n+c|0}}while(0);b=b+c|0;m=m+1|0}return}function ks(c,e,f,g,h,i,j,k,l,m,n,o,p,q){c=c|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;v=o+-1|0;r=20672+(v<<2)|0;s=j+7|0;t=20672+(v<<2)+1|0;u=20672+(v<<2)+2|0;v=20672+(v<<2)+3|0;j=m+1+n<<j+6;n=0;p=f;while(1){if((n|0)>=(i|0))break;o=0;while(1){if((o|0)>=(q|0))break;m=H(d[p+(o+-1)>>0]|0,a[r>>0]|0)|0;m=(H(d[p+o>>0]|0,a[t>>0]|0)|0)+m|0;f=o+1|0;m=m+(H(d[p+f>>0]|0,a[u>>0]|0)|0)|0;m=H(m+(H(d[p+(o+2)>>0]|0,a[v>>0]|0)|0)|0,l)|0;m=(H(b[h+(o<<1)>>1]|0,k)|0)+j+m>>s;a[c+o>>0]=m>>>0>255?0-m>>31:m;o=f}h=h+128|0;c=c+e|0;n=n+1|0;p=p+g|0}return}function ls(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=Mb;Mb=Mb+16|0;i=j;f=JE(b)|0;g=f>>>0>31;if(!g?(h=c[d+(f<<2)>>2]|0,(h|0)!=0):0){g=c[h+4>>2]|0;a:do if(c[g+1152>>2]|0){e=g+1168|0;f=g+1172|0;d=0;while(1){if((d|0)>=(c[e>>2]|0))break a;i=rO(b,c[f>>2]|0)|0;c[a+4+(d<<2)>>2]=i;eW(b,c[f>>2]|0);d=d+1|0}}while(0);b:do if(c[g+1156>>2]|0){f=g+1168|0;e=g+1172|0;d=0;while(1){if((d|0)>=(c[f>>2]|0))break b;i=rO(b,c[e>>2]|0)|0;c[a+4+(d<<2)>>2]=i;eW(b,c[e>>2]|0);d=d+1|0}}while(0);c[a>>2]=1;d=0}else{c[i>>2]=f;AD(e,16,173977,i);d=g?-1094995529:-1397768184}Mb=j;return d|0}function ms(c,d,f,g,h,i,j,k,l,m,n){c=c|0;d=d|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;var o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=g>>>1;t=d>>>1;p=l+-1|0;r=20672+(p<<2)|0;s=i+2|0;q=1<<i+1;i=k<<4;k=20672+(p<<2)+1|0;o=20672+(p<<2)+2|0;p=20672+(p<<2)+3|0;l=0;d=f;m=c;while(1){if((l|0)>=(h|0))break;g=0;while(1){if((g|0)>=(n|0))break;f=H(e[d+(g+-1<<1)>>1]|0,a[r>>0]|0)|0;f=(H(e[d+(g<<1)>>1]|0,a[k>>0]|0)|0)+f|0;c=g+1|0;f=f+(H(e[d+(c<<1)>>1]|0,a[o>>0]|0)|0)|0;f=((H(f+(H(e[d+(g+2<<1)>>1]|0,a[p>>0]|0)|0)>>4,j)|0)+q>>s)+i|0;b[m+(g<<1)>>1]=f>>>0<4096?f:0-f>>31&4095;g=c}l=l+1|0;d=d+(u<<1)|0;m=m+(t<<1)|0}return}function ns(c,d,f,g,h,i,j,k,l,m,n){c=c|0;d=d|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;var o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=g>>>1;t=d>>>1;p=l+-1|0;r=20672+(p<<2)|0;s=i+4|0;q=1<<i+3;i=k<<2;k=20672+(p<<2)+1|0;o=20672+(p<<2)+2|0;p=20672+(p<<2)+3|0;l=0;d=f;m=c;while(1){if((l|0)>=(h|0))break;g=0;while(1){if((g|0)>=(n|0))break;f=H(e[d+(g+-1<<1)>>1]|0,a[r>>0]|0)|0;f=(H(e[d+(g<<1)>>1]|0,a[k>>0]|0)|0)+f|0;c=g+1|0;f=f+(H(e[d+(c<<1)>>1]|0,a[o>>0]|0)|0)|0;f=((H(f+(H(e[d+(g+2<<1)>>1]|0,a[p>>0]|0)|0)>>2,j)|0)+q>>s)+i|0;b[m+(g<<1)>>1]=f>>>0<1024?f:0-f>>31&1023;g=c}l=l+1|0;d=d+(u<<1)|0;m=m+(t<<1)|0}return}function os(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;switch(b|0){case 9:{b=41;d=42;e=43;f=44;g=34;h=35;i=36;j=37;k=33;l=45;m=46;n=47;o=48;break}case 10:{b=49;d=50;e=51;f=52;g=39;h=40;i=41;j=42;k=38;l=53;m=54;n=55;o=56;break}case 12:{b=57;d=58;e=59;f=60;g=44;h=45;i=46;j=47;k=43;l=61;m=62;n=63;o=64;break}default:{b=65;d=66;e=67;f=68;g=49;h=50;i=51;j=52;k=48;l=69;m=70;n=71;o=72}}c[a>>2]=b;c[a+4>>2]=d;c[a+8>>2]=e;c[a+12>>2]=f;c[a+16>>2]=l;c[a+20>>2]=m;c[a+24>>2]=n;c[a+28>>2]=o;c[a+32>>2]=k;c[a+36>>2]=g;c[a+40>>2]=h;c[a+44>>2]=i;c[a+48>>2]=j;return}function ps(c,d,f,g,h,i,j,k,l,m,n){c=c|0;d=d|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;var o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=g>>>1;t=d>>>1;p=l+-1|0;r=20672+(p<<2)|0;s=i+5|0;q=1<<i+4;i=k<<1;k=20672+(p<<2)+1|0;o=20672+(p<<2)+2|0;p=20672+(p<<2)+3|0;l=0;d=f;m=c;while(1){if((l|0)>=(h|0))break;g=0;while(1){if((g|0)>=(n|0))break;f=H(e[d+(g+-1<<1)>>1]|0,a[r>>0]|0)|0;f=(H(e[d+(g<<1)>>1]|0,a[k>>0]|0)|0)+f|0;c=g+1|0;f=f+(H(e[d+(c<<1)>>1]|0,a[o>>0]|0)|0)|0;f=((H(f+(H(e[d+(g+2<<1)>>1]|0,a[p>>0]|0)|0)>>1,j)|0)+q>>s)+i|0;b[m+(g<<1)>>1]=f>>>0<512?f:0-f>>31&511;g=c}l=l+1|0;d=d+(u<<1)|0;m=m+(t<<1)|0}return}function qs(b,d){b=b|0;d=d|0;var e=0,f=0;e=b+136|0;f=c[e>>2]|0;do if(!(LA(f+224|0,f+13|0)|0)){b=c[b+1412>>2]|0;if((c[b+13320>>2]|0)==(d|0)){b=c[e>>2]|0;if((c[b+31244>>2]|0)==1){b=3;break}if(LA(b+224|0,b+14|0)|0){b=1;break}if((d|0)==3){b=2;break}b=c[e>>2]|0;b=(LA(b+224|0,b+15|0)|0)==0;b=b?3:2;break}f=(a[b+13196>>0]|0)==0;b=c[e>>2]|0;b=(LA(b+224|0,b+14|0)|0)!=0;if(f){b=b?1:2;break}d=c[e>>2]|0;d=(LA(d+224|0,d+16|0)|0)!=0;if(b){if(d){b=1;break}b=(MP((c[e>>2]|0)+224|0)|0)==0;b=b?4:5;break}else{if(d){b=2;break}b=(MP((c[e>>2]|0)+224|0)|0)==0;b=b?6:7;break}}else b=0;while(0);return b|0}function rs(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,k=0,l=0,m=0,n=0,o=0;j=0;h=0;k=0;while(1){if((j|0)>=(g|0))break;i=0;while(1){if((i|0)==16)break;l=(d[b+i>>0]|0)-(d[e+i>>0]|0)|0;i=i+1|0;k=(H(l,l)|0)+k|0}j=j+1|0;a:do if((j|0)<(g|0)){i=0;while(1){if((i|0)==15)break a;o=i+f|0;n=i+1|0;l=o+1|0;m=(d[b+i>>0]|0)-(d[b+o>>0]|0)-(d[b+n>>0]|0)+(d[b+l>>0]|0)|0;l=(d[e+i>>0]|0)-(d[e+o>>0]|0)-(d[e+n>>0]|0)+(d[e+l>>0]|0)|0;i=n;h=((m|0)>-1?m:0-m|0)+h-((l|0)>-1?l:0-l|0)|0}}while(0);b=b+f|0;e=e+f|0}b=(h|0)>-1?h:0-h|0;if(!a)b=b<<3;else b=H(c[(c[a+596>>2]|0)+824>>2]|0,b)|0;return b+k|0}function ss(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;k=Mb;Mb=Mb+16|0;d=k;j=a+13384|0;b=c[j>>2]|0;h=c[(c[a+13444>>2]|0)+8>>2]|0;h=(((b|0)>(h|0)?h:b)+1|0)/2|0;i=a+13380|0;b=nm(a+12540|0,(c[i>>2]|0)+b+h|0)|0;if((b|0)>=0){if(!(c[a+12812>>2]|0)){c[d>>2]=222638;c[d+4>>2]=222574;c[d+8>>2]=554;AD(0,0,222515,d);ba()}e=a+12800|0;f=a+12804|0;b=0;while(1){if((b|0)>=(c[e>>2]|0))break;g=a+12540+(b<<2)|0;d=0;while(1){if((d|0)>=(h|0))break;n=c[g>>2]|0;m=(c[j>>2]|0)+(c[i>>2]|0)|0;l=c[f>>2]|0;Mn(n+(H(m+d|0,l)|0)|0,n+(H(m+~d|0,l)|0)|0,l|0)|0;d=d+1|0}b=b+1|0}c[j>>2]=(c[j>>2]|0)+h;b=0}Mb=k;return b|0}function ts(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=Mb;Mb=Mb+16|0;h=k;j=d+7596|0;g=0;while(1){if(g>>>0>=32){i=8;break}if((c[(c[d+3520+(g*68|0)>>2]|0)+248>>2]|0?(b[d+3520+(g*68|0)+64>>1]|0)==(b[j>>1]|0):0)?(c[d+3520+(g*68|0)+36>>2]|0)==(f|0):0){i=6;break}g=g+1|0}if((i|0)==6){g=c[d+4>>2]|0;c[h>>2]=f;AD(g,16,209662,h);g=-1094995529}else if((i|0)==8){g=Cj(d)|0;if(!g)g=-12;else{c[e>>2]=c[g>>2];c[d+3516>>2]=g;a[g+66>>0]=(a[d+2430>>0]|0)==0?2:3;c[g+36>>2]=f;b[g+64>>1]=b[j>>1]|0;j=c[d+1412>>2]|0;g=c[g>>2]|0;c[g+392>>2]=c[j+12>>2];c[g+396>>2]=c[j+16>>2];c[g+384>>2]=c[j+20>>2];c[g+388>>2]=c[j+24>>2];g=0}}Mb=k;return g|0}function us(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,k=0,l=0,m=0,n=0,o=0;j=0;h=0;k=0;while(1){if((j|0)>=(g|0))break;i=0;while(1){if((i|0)==8)break;l=(d[b+i>>0]|0)-(d[e+i>>0]|0)|0;i=i+1|0;k=(H(l,l)|0)+k|0}j=j+1|0;a:do if((j|0)<(g|0)){i=0;while(1){if((i|0)==7)break a;o=i+f|0;n=i+1|0;l=o+1|0;m=(d[b+i>>0]|0)-(d[b+o>>0]|0)-(d[b+n>>0]|0)+(d[b+l>>0]|0)|0;l=(d[e+i>>0]|0)-(d[e+o>>0]|0)-(d[e+n>>0]|0)+(d[e+l>>0]|0)|0;i=n;h=((m|0)>-1?m:0-m|0)+h-((l|0)>-1?l:0-l|0)|0}}while(0);b=b+f|0;e=e+f|0}b=(h|0)>-1?h:0-h|0;if(!a)b=b<<3;else b=H(c[(c[a+596>>2]|0)+824>>2]|0,b)|0;return b+k|0}function vs(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=Mb;Mb=Mb+32|0;k=m;h=m+4|0;i=a+25644|0;j=a+25640|0;g=a+4|0;a=0;f=0;b=0;a:while(1){if((f|0)>=(c[i>>2]|0))break;d=c[j>>2]|0;e=d+(f*72|0)+48|0;b:do switch(c[e>>2]|0){case 8:case 7:{a=f;break}case 1:case 5:case 2:{d=XY(h,(c[d+(f*72|0)+12>>2]|0)+1|0,(c[d+(f*72|0)+8>>2]|0)+-1|0)|0;if((d|0)<0){AD(c[g>>2]|0,16,174976,k);if(!(c[(c[g>>2]|0)+688>>2]&8))break b;else{l=12;break a}}d=(b|0)!=0;if(!(d&(mO(h)|0)!=0?(b|0)==(c[e>>2]|0):0))a=f;if(!d)b=c[e>>2]|0;break}default:{}}while(0);f=f+1|0}if((l|0)==12)a=d;Mb=m;return a|0}function ws(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;l=Mb;Mb=Mb+16|0;j=l+4|0;i=l;k=d+4|0;e=c[k>>2]|0;do if((e|0)>=1){c[k>>2]=e+-1;e=ku(j,d)|0;if((e|0)>=0){f=d+8|0;h=c[j>>2]|0;while(1){e=c[f>>2]|0;if((a[e>>0]|0)!=59){f=9;break}c[f>>2]=e+1;e=ku(i,d)|0;if((e|0)<0){f=6;break}g=c[i>>2]|0;e=xS(22,h,g)|0;if(!e){f=8;break}else h=e}if((f|0)==6){c[j>>2]=h;wP(h);break}else if((f|0)==8){c[j>>2]=0;wP(h);wP(g);e=-12;break}else if((f|0)==9){c[j>>2]=h;c[k>>2]=(c[k>>2]|0)+1;c[b>>2]=h;e=0;break}}}else e=-22;while(0);Mb=l;return e|0}function xs(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=xW(a)|0;h=153408+(((xW(b)|0)*12|0)+h<<2)|0;h=c[h>>2]|0;a:do if((h|0)!=0?(g=EZ(32)|0,(g|0)!=0):0){if((d|0)==1){b=CW(b)|0;f=CW(a)|0}else f=a;c[g>>2]=d;c[g+12>>2]=h;c[g+20>>2]=e;switch(b|0){case 0:case 5:{d=g+24|0;c[d>>2]=-2139062144;c[d+4>>2]=-2139062144;break}default:{}}if(!((e|0)!=0|(f|0)!=(b|0)))switch(jY(b)|0){case 1:{c[g+16>>2]=720;break a}case 2:{c[g+16>>2]=721;break a}case 4:{c[g+16>>2]=722;break a}case 8:{c[g+16>>2]=723;break a}default:break a}}else g=0;while(0);return g|0}function ys(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=((c[b+1184>>2]|0)*6|0)+4|0;h=0;while(1){if((h|0)==6)break;f=a+173812+(h<<2)|0;c[f>>2]=a+38620+(h*22528|0);b=a+164+(h<<6)|0;e=0;while(1){if(e>>>0>=h>>>0){b=5;break}if(!(AE(a+164+(e<<6)|0,b,64)|0)){b=7;break}e=e+1|0}a:do if((b|0)==5){b=0;while(1){if((b|0)>=(i|0))break a;f=d[19216+b>>0]|0;g=d[19120+b>>0]|0;e=0;while(1){if((e|0)==64)break;j=(H(d[a+164+(h<<6)+e>>0]|0,d[(d[19056+(e>>>1&12|e&3)>>0]|0)+(19072+(g*6|0))>>0]|0)|0)<<f;c[a+38620+(h*22528|0)+(b<<8)+((e<<3&56|e>>>3)<<2)>>2]=j;e=e+1|0}b=b+1|0}}else if((b|0)==7)c[f>>2]=a+38620+(e*22528|0);while(0);h=h+1|0}return}function zs(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=((c[b+1184>>2]|0)*6|0)+4|0;h=0;while(1){if((h|0)==6)break;f=a+173788+(h<<2)|0;c[f>>2]=a+4828+(h*5632|0);b=a+68+(h<<4)|0;e=0;while(1){if(e>>>0>=h>>>0){b=5;break}if(!(AE(a+68+(e<<4)|0,b,16)|0)){b=7;break}e=e+1|0}a:do if((b|0)==5){b=0;while(1){if((b|0)>=(i|0))break a;f=(d[19216+b>>0]|0)+2|0;g=d[19120+b>>0]|0;e=0;while(1){if((e|0)==16)break;j=e>>>2;k=(H(d[a+68+(h<<4)+e>>0]|0,d[(j&1)+(e&1)+(19024+(g*3|0))>>0]|0)|0)<<f;c[a+4828+(h*5632|0)+(b<<6)+((e<<2&12|j)<<2)>>2]=k;e=e+1|0}b=b+1|0}}else if((b|0)==7)c[f>>2]=a+4828+(e*5632|0);while(0);h=h+1|0}return}function As(a,b,e,f){a=a|0;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;g=0-f|0;if(!b){j=d[a+g>>0]|0;g=j}else{g=d[a+g>>0]|0;j=d[a+~f>>0]|0}h=d[a+(1-f)>>0]|0;i=h+2|0;k=d[a+(2-f)>>0]|0;l=k+2|0;m=d[a+(3-f)>>0]|0;n=d[a+(4-f)>>0]|0;o=d[a+(5-f)>>0]|0;p=d[a+(6-f)>>0]|0;q=d[a+(7-f)>>0]|0;if(!e)b=q;else b=d[a+(8-f)>>0]|0;g=H(((i+j+(g<<1)|0)>>>2)+4+((l+g+(h<<1)|0)>>>2)+((i+(k<<1)+m|0)>>>2)+((l+(m<<1)+n|0)>>>2)+((m+2+(n<<1)+o|0)>>>2)+((n+2+(o<<1)+p|0)>>>2)+((o+2+(p<<1)+q|0)>>>2)+((p+2+(q<<1)+b|0)>>>2)>>3,16843009)|0;b=0;while(1){if((b|0)==8)break;c[a>>2]=g;c[a+4>>2]=g;b=b+1|0;a=a+f|0}return}function Bs(a){a=a|0;var b=0,d=0,e=0;bU(a+25716|0);bU(a+26380|0);bU(a+26376|0);bU(a+26384|0);bU(a+26388|0);bU(a+26392|0);bU(a+25956|0);bU(a+28204|0);c[a+26356>>2]=0;bU(a+26372|0);bU(a+26344|0);bU(a+26348|0);KT(a+29904|0);KT(a+29908|0);KT(a+29912|0);KT(a+29916|0);d=a+25632|0;b=a+25628|0;a=0;while(1){if((a|0)>=(c[d>>2]|0))break;e=c[b>>2]|0;bU(e+(a*34768|0)+27784|0);bU(e+(a*34768|0)+572|0);bU(e+(a*34768|0)+604|0);bU(e+(a*34768|0)+608|0);bU(e+(a*34768|0)+27788|0);bU(e+(a*34768|0)+27792|0);bU(e+(a*34768|0)+27796|0);bU(e+(a*34768|0)+27800|0);e=e+(a*34768|0)+27804|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;a=a+1|0}return}function Cs(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=Mb;Mb=Mb+16|0;AD(e,48,178891,i);f=255;h=0;while(1){if((f|0)!=255){g=3;break}if((h|0)>2147483392|(a$(a)|0)<16){f=-1094995529;break}j=HG(a,8)|0;f=j;h=j+h|0}a:do if((g|0)==3){f=0;g=255;while(1){if((g|0)!=255)break;j=a$(a)|0;k=((j|0)<0)<<31>>31;g=_U(f|0,((f|0)<0)<<31>>31|0,3)|0;g=aX(g|0,M()|0,8,0)|0;l=M()|0;if((l|0)>(k|0)|(l|0)==(k|0)&g>>>0>j>>>0){f=-1094995529;break a}g=HG(a,8)|0;f=g+f|0}if((d|0)==39){f=is(a,b,c,h,f,e)|0;break}else{ZK(a,b,h,f,e);f=0;break}}while(0);Mb=i;return f|0}function Ds(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,m=0;g=Mb;Mb=Mb+32|0;f=g;e=0;while(1){if((e|0)==4)break;i=e<<5;j=c[a+(i<<2)>>2]|0;i=c[a+((i|16)<<2)>>2]|0;h=e<<1;c[f+(h<<2)>>2]=i+j;c[f+((h|1)<<2)>>2]=j-i;e=e+1|0}e=0;while(1){if((e|0)==2)break;j=d[175370+e>>0]|0;i=c[f+(e<<2)>>2]|0;l=c[f+(e+4<<2)>>2]|0;h=l+i|0;l=i-l|0;i=c[f+(e+2<<2)>>2]|0;m=c[f+(e+6<<2)>>2]|0;k=i-m|0;i=m+i|0;m=(H(i+h|0,b)|0)+128>>8;c[a+(j<<2)>>2]=m;m=(H(k+l|0,b)|0)+128>>8;c[a+(j+32<<2)>>2]=m;k=(H(l-k|0,b)|0)+128>>8;c[a+(j+64<<2)>>2]=k;i=(H(h-i|0,b)|0)+128>>8;c[a+(j+96<<2)>>2]=i;e=e+1|0}Mb=g;return}function Es(c,d,f,g,h,i,j,k,l){c=c|0;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,o=0,p=0,q=0,r=0,s=0;s=g>>>1;q=k+-1|0;r=20672+(q<<2)|0;n=d>>>1;o=20672+(q<<2)+1|0;p=20672+(q<<2)+2|0;q=20672+(q<<2)+3|0;m=g&-2;g=h;h=0;d=c;k=f;while(1){if((h|0)>=(i|0))break;j=0;while(1){if((j|0)>=(l|0))break;f=H(e[k+(j-s<<1)>>1]|0,a[r>>0]|0)|0;f=(H(e[k+(j<<1)>>1]|0,a[o>>0]|0)|0)+f|0;f=f+(H(e[k+(j+s<<1)>>1]|0,a[p>>0]|0)|0)|0;f=f+(H(e[k+(j+m<<1)>>1]|0,a[q>>0]|0)|0)>>2;f=(b[g+(j<<1)>>1]|0)+16+f>>5;b[d+(j<<1)>>1]=f>>>0<1024?f:0-f>>31&1023;j=j+1|0}g=g+128|0;h=h+1|0;d=d+(n<<1)|0;k=k+(s<<1)|0}return}function Fs(c,d,f,g,h,i,j,k,l){c=c|0;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,o=0,p=0,q=0,r=0,s=0;s=g>>>1;q=k+-1|0;r=20672+(q<<2)|0;n=d>>>1;o=20672+(q<<2)+1|0;p=20672+(q<<2)+2|0;q=20672+(q<<2)+3|0;m=g&-2;g=h;h=0;d=c;k=f;while(1){if((h|0)>=(i|0))break;j=0;while(1){if((j|0)>=(l|0))break;f=H(e[k+(j-s<<1)>>1]|0,a[r>>0]|0)|0;f=(H(e[k+(j<<1)>>1]|0,a[o>>0]|0)|0)+f|0;f=f+(H(e[k+(j+s<<1)>>1]|0,a[p>>0]|0)|0)|0;f=f+(H(e[k+(j+m<<1)>>1]|0,a[q>>0]|0)|0)>>4;f=(b[g+(j<<1)>>1]|0)+4+f>>3;b[d+(j<<1)>>1]=f>>>0<4096?f:0-f>>31&4095;j=j+1|0}g=g+128|0;h=h+1|0;d=d+(n<<1)|0;k=k+(s<<1)|0}return}function Gs(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=d[b+(1-e)>>0]|0;l=d[b+(2-e)>>0]|0;h=d[b+(3-e)>>0]|0;j=d[c>>0]|0;i=d[c+1>>0]|0;g=d[c+2>>0]|0;f=d[c+3>>0]|0;c=l+2|0;a[b>>0]=(c+(d[b+(0-e)>>0]|0)+(m<<1)|0)>>>2;k=h+2|0;l=(k+m+(l<<1)|0)>>>2&255;a[b+e>>0]=l;a[b+1>>0]=l;c=(c+j+(h<<1)|0)>>>2&255;h=e<<1;a[b+h>>0]=c;a[b+(e+1)>>0]=c;a[b+2>>0]=c;k=(k+i+(j<<1)|0)>>>2&255;c=e*3|0;a[b+c>>0]=k;a[b+(h|1)>>0]=k;a[b+(e+2)>>0]=k;a[b+3>>0]=k;j=(j+2+g+(i<<1)|0)>>>2&255;a[b+(c+1)>>0]=j;a[b+(h+2)>>0]=j;a[b+(e+3)>>0]=j;e=(i+2+f+(g<<1)|0)>>>2&255;a[b+(c+2)>>0]=e;a[b+(h+3)>>0]=e;a[b+(c+3)>>0]=(g+2+(f*3|0)|0)>>>2;return}function Hs(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;h=g+(H(f,-3)|0)|0;while(1){if(b>>>0>=h>>>0)break;i=d;i=kV(c[i>>2]|0,c[i+4>>2]|0,56)|0;M()|0;a[b>>0]=i&255^-128;i=d+e|0;j=b+f|0;k=i;k=kV(c[k>>2]|0,c[k+4>>2]|0,56)|0;M()|0;a[j>>0]=k&255^-128;i=i+e|0;j=j+f|0;k=i;k=kV(c[k>>2]|0,c[k+4>>2]|0,56)|0;M()|0;a[j>>0]=k&255^-128;i=i+e|0;j=j+f|0;k=i;k=kV(c[k>>2]|0,c[k+4>>2]|0,56)|0;M()|0;a[j>>0]=k&255^-128;b=j+f|0;d=i+e|0}while(1){if(b>>>0>=g>>>0)break;k=d;k=kV(c[k>>2]|0,c[k+4>>2]|0,56)|0;M()|0;a[b>>0]=k&255^-128;b=b+f|0;d=d+e|0}return}function Is(c,d,f,g,h,i,j,k,l){c=c|0;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,o=0,p=0,q=0,r=0,s=0;s=g>>>1;q=k+-1|0;r=20672+(q<<2)|0;n=d>>>1;o=20672+(q<<2)+1|0;p=20672+(q<<2)+2|0;q=20672+(q<<2)+3|0;m=g&-2;g=h;h=0;d=c;k=f;while(1){if((h|0)>=(i|0))break;j=0;while(1){if((j|0)>=(l|0))break;f=H(e[k+(j-s<<1)>>1]|0,a[r>>0]|0)|0;f=(H(e[k+(j<<1)>>1]|0,a[o>>0]|0)|0)+f|0;f=f+(H(e[k+(j+s<<1)>>1]|0,a[p>>0]|0)|0)|0;f=f+(H(e[k+(j+m<<1)>>1]|0,a[q>>0]|0)|0)>>1;f=(b[g+(j<<1)>>1]|0)+32+f>>6;b[d+(j<<1)>>1]=f>>>0<512?f:0-f>>31&511;j=j+1|0}g=g+128|0;h=h+1|0;d=d+(n<<1)|0;k=k+(s<<1)|0}return}function Js(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=e+16|0;g=c[f>>2]|0;if(!g)if(!(xF(e)|0)){g=c[f>>2]|0;h=5}else f=0;else h=5;a:do if((h|0)==5){j=e+20|0;i=c[j>>2]|0;f=i;if((g-i|0)>>>0<d>>>0){f=Yb[c[e+36>>2]&15](e,b,d)|0;break}b:do if((a[e+75>>0]|0)<0|(d|0)==0){h=0;g=b}else{i=d;while(1){g=i+-1|0;if((a[b+g>>0]|0)==10)break;if(!g){h=0;g=b;break b}else i=g}f=Yb[c[e+36>>2]&15](e,b,i)|0;if(f>>>0<i>>>0)break a;h=i;g=b+i|0;d=d-i|0;f=c[j>>2]|0}while(0);Mn(f|0,g|0,d|0)|0;c[j>>2]=(c[j>>2]|0)+d;f=h+d|0}while(0);return f|0}function Ks(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=0;while(1){f=e+8|0;if((f|0)>(d|0))break;g=W_(c[b+(e<<2)>>2]|0)|0;c[a+(e<<2)>>2]=g;g=e|1;h=W_(c[b+(g<<2)>>2]|0)|0;c[a+(g<<2)>>2]=h;g=e|2;h=W_(c[b+(g<<2)>>2]|0)|0;c[a+(g<<2)>>2]=h;g=e|3;h=W_(c[b+(g<<2)>>2]|0)|0;c[a+(g<<2)>>2]=h;g=e|4;h=W_(c[b+(g<<2)>>2]|0)|0;c[a+(g<<2)>>2]=h;g=e|5;h=W_(c[b+(g<<2)>>2]|0)|0;c[a+(g<<2)>>2]=h;g=e|6;h=W_(c[b+(g<<2)>>2]|0)|0;c[a+(g<<2)>>2]=h;g=e|7;h=W_(c[b+(g<<2)>>2]|0)|0;c[a+(g<<2)>>2]=h;e=f}while(1){if((e|0)>=(d|0))break;h=W_(c[b+(e<<2)>>2]|0)|0;c[a+(e<<2)>>2]=h;e=e+1|0}return}function Ls(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;u=f<<2;v=H(e,-2)|0;w=0-e|0;t=0;while(1){if((t|0)==2)break;p=c[g+(t<<2)>>2]|0;a:do if((p|0)>=1){q=0-p|0;r=(a[h+t>>0]|0)==0;s=(a[i+t>>0]|0)==0;n=0;o=b;while(1){if((n|0)==4)break a;k=o+w|0;m=d[k>>0]|0;l=d[o>>0]|0;j=(d[o+v>>0]|0)+4-(d[o+e>>0]|0)+(l-m<<2)>>3;j=(j|0)<(q|0)?q:(j|0)>(p|0)?p:j;m=j+m|0;if(r)a[k>>0]=m>>>0>255?0-m>>31:m;j=l-j|0;if(s)a[o>>0]=j>>>0>255?0-j>>31:j;n=n+1|0;o=o+f|0}}while(0);t=t+1|0;b=b+u|0}return}function Ms(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0;f=0;while(1){if((f|0)==21)break;h=d[c>>0]|d[c+1>>0]<<8|d[c+2>>0]<<16|d[c+3>>0]<<24;a[b>>0]=h;a[b+1>>0]=h>>8;a[b+2>>0]=h>>16;a[b+3>>0]=h>>24;h=c+4|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=b+4|0;a[g>>0]=h;a[g+1>>0]=h>>8;a[g+2>>0]=h>>16;a[g+3>>0]=h>>24;g=c+8|0;g=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;h=b+8|0;a[h>>0]=g;a[h+1>>0]=g>>8;a[h+2>>0]=g>>16;a[h+3>>0]=g>>24;h=c+12|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=b+12|0;a[g>>0]=h;a[g+1>>0]=h>>8;a[g+2>>0]=h>>16;a[g+3>>0]=h>>24;f=f+1|0;b=b+16|0;c=c+e|0}return}function Ns(b,d){b=b|0;d=d|0;var e=0;a[b>>0]=d>>>5;switch(d|0){case 160:{c[b+80>>2]=1732584193;c[b+84>>2]=-271733879;c[b+88>>2]=-1732584194;c[b+92>>2]=271733878;c[b+96>>2]=-1009589776;d=217;e=5;break}case 224:{c[b+80>>2]=-1056596264;c[b+84>>2]=914150663;c[b+88>>2]=812702999;c[b+92>>2]=-150054599;c[b+96>>2]=-4191439;c[b+100>>2]=1750603025;c[b+104>>2]=1694076839;c[b+108>>2]=-1090891868;d=218;e=5;break}case 256:{c[b+80>>2]=1779033703;c[b+84>>2]=-1150833019;c[b+88>>2]=1013904242;c[b+92>>2]=-1521486534;c[b+96>>2]=1359893119;c[b+100>>2]=-1694144372;c[b+104>>2]=528734635;c[b+108>>2]=1541459225;d=218;e=5;break}default:d=-22}if((e|0)==5){c[b+112>>2]=d;d=b+8|0;c[d>>2]=0;c[d+4>>2]=0;d=0}return d|0}function Os(c,d,f,g,h,i,j,k,l){c=c|0;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,o=0,p=0,q=0,r=0;r=g>>>1;q=d>>>1;p=j+-1|0;m=20672+(p<<2)|0;n=20672+(p<<2)+1|0;o=20672+(p<<2)+2|0;p=20672+(p<<2)+3|0;j=h;h=0;d=f;k=c;while(1){if((h|0)>=(i|0))break;g=0;while(1){if((g|0)>=(l|0))break;f=H(e[d+(g+-1<<1)>>1]|0,a[m>>0]|0)|0;f=(H(e[d+(g<<1)>>1]|0,a[n>>0]|0)|0)+f|0;c=g+1|0;f=f+(H(e[d+(c<<1)>>1]|0,a[o>>0]|0)|0)|0;f=f+(H(e[d+(g+2<<1)>>1]|0,a[p>>0]|0)|0)>>2;f=(b[j+(g<<1)>>1]|0)+16+f>>5;b[k+(g<<1)>>1]=f>>>0<1024?f:0-f>>31&1023;g=c}j=j+128|0;h=h+1|0;d=d+(r<<1)|0;k=k+(q<<1)|0}return}function Ps(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=Mb;Mb=Mb+16|0;i=k;j=k+4|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;a=xg(j,a,b,f,e,2,28,1)|0;a:do if((a|0)<0)a=0;else{h=j+4|0;g=0;while(1){if((g|0)>=(c[h>>2]|0))break a;b=c[j>>2]|0;e=c[b+(g*72|0)+48>>2]|0;switch(e|0){case 7:{a=td(b+(g*72|0)+28|0,f,d,0)|0;if((a|0)<0)break a;break}case 8:{a=te(b+(g*72|0)+28|0,f,d,c[b+(g*72|0)+16>>2]|0)|0;if((a|0)<0)break a;break}default:{c[i>>2]=e;AD(f,40,209627,i)}}g=g+1|0}}while(0);DP(j);Mb=k;return a|0}function Qs(c,d,f,g,h,i,j,k,l){c=c|0;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,o=0,p=0,q=0,r=0;r=g>>>1;q=d>>>1;p=j+-1|0;m=20672+(p<<2)|0;n=20672+(p<<2)+1|0;o=20672+(p<<2)+2|0;p=20672+(p<<2)+3|0;j=h;h=0;d=f;k=c;while(1){if((h|0)>=(i|0))break;g=0;while(1){if((g|0)>=(l|0))break;f=H(e[d+(g+-1<<1)>>1]|0,a[m>>0]|0)|0;f=(H(e[d+(g<<1)>>1]|0,a[n>>0]|0)|0)+f|0;c=g+1|0;f=f+(H(e[d+(c<<1)>>1]|0,a[o>>0]|0)|0)|0;f=f+(H(e[d+(g+2<<1)>>1]|0,a[p>>0]|0)|0)>>4;f=(b[j+(g<<1)>>1]|0)+4+f>>3;b[k+(g<<1)>>1]=f>>>0<4096?f:0-f>>31&4095;g=c}j=j+128|0;h=h+1|0;d=d+(r<<1)|0;k=k+(q<<1)|0}return}function Rs(b,c,e){b=b|0;c=c|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;g=e<<1;h=e*3|0;f=0;while(1){if((f|0)==4)break;p=d[c+-4>>0]|0;o=d[c>>0]|0;n=d[c+4>>0]|0;i=d[c+8>>0]|0;k=d[c+12>>0]|0;l=d[c+16>>0]|0;j=d[c+20>>0]|0;m=d[c+24>>0]|0;q=(d[c+-8>>0]|0)+16+k+((n+o|0)*20|0)+(H(i+p|0,-5)|0)>>5;a[b>>0]=q>>>0>255?0-q>>31:q;p=p+16+l+((i+n|0)*20|0)+(H(k+o|0,-5)|0)>>5;a[b+e>>0]=p>>>0>255?0-p>>31:p;o=o+16+j+((k+i|0)*20|0)+(H(l+n|0,-5)|0)>>5;a[b+g>>0]=o>>>0>255?0-o>>31:o;i=n+16+m+((l+k|0)*20|0)+(H(j+i|0,-5)|0)>>5;a[b+h>>0]=i>>>0>255?0-i>>31:i;f=f+1|0;b=b+1|0;c=c+1|0}return}function Ss(c,d,f,g,h,i,j,k,l){c=c|0;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,o=0,p=0,q=0,r=0;r=g>>>1;q=d>>>1;p=j+-1|0;m=20672+(p<<2)|0;n=20672+(p<<2)+1|0;o=20672+(p<<2)+2|0;p=20672+(p<<2)+3|0;j=h;h=0;d=f;k=c;while(1){if((h|0)>=(i|0))break;g=0;while(1){if((g|0)>=(l|0))break;f=H(e[d+(g+-1<<1)>>1]|0,a[m>>0]|0)|0;f=(H(e[d+(g<<1)>>1]|0,a[n>>0]|0)|0)+f|0;c=g+1|0;f=f+(H(e[d+(c<<1)>>1]|0,a[o>>0]|0)|0)|0;f=f+(H(e[d+(g+2<<1)>>1]|0,a[p>>0]|0)|0)>>1;f=(b[j+(g<<1)>>1]|0)+32+f>>6;b[k+(g<<1)>>1]=f>>>0<512?f:0-f>>31&511;g=c}j=j+128|0;h=h+1|0;d=d+(r<<1)|0;k=k+(q<<1)|0}return}function Ts(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=Mb;Mb=Mb+48|0;j=k+32|0;i=k+16|0;h=k;do if(a[e>>0]|0){f=c[41813]|0;if((f|0)<0){ZD();f=c[41813]|0}g=(b|0)==4?0:f;if((g|0)==1){j=c[41852]|0;b=c[94192+(b<<2)>>2]|0;c[h>>2]=b>>>4&15;c[h+4>>2]=b&15;c[h+8>>2]=e;cV(j,211765,h)|0;break}if((d|0)!=0&(f|0)==256){j=c[41852]|0;c[i>>2]=(c[94192+(b<<2)>>2]|0)>>>16&255;c[i+4>>2]=d;c[i+8>>2]=e;cV(j,211781,i)|0;break}f=c[41852]|0;if((g|0)==256){b=c[94192+(b<<2)>>2]|0;c[j>>2]=b>>>16&255;c[j+4>>2]=b>>>8&255;c[j+8>>2]=e;cV(f,211808,j)|0;break}else{GY(e,f)|0;break}}while(0);Mb=k;return}function Us(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=Mb;Mb=Mb+16|0;e=h;c[e>>2]=0;f=f1(b)|0;do if(f){d=hV(f)|0;c[e>>2]=d;if(!d){_B(168573)|0;d=0;break}a:do if((b|0)>=65543)if((b|0)<86050)switch(b|0){case 65543:{g=6;break a}default:break a}else switch(b|0){case 86050:{g=6;break a}default:break a}else switch(b|0){case 65542:{g=6;break}default:{}}while(0);if((g|0)==6)c[d+420>>2]=1;c[d+836>>2]=c[a+8>>2];if((Ac(d,f,0)|0)<0){dS(e);d=c[e>>2]|0}}else{_B(168557)|0;d=0}while(0);Mb=h;return d|0}function Vs(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=d>>1;k=(j<<6|1)<<g;g=g+1|0;d=a;j=0;while(1){if((j|0)>=(f|0))break;m=H(e[c>>1]|0,i)|0;m=m+k+(H(e[d>>1]|0,h)|0)>>g;b[d>>1]=m>>>0<16384?m:0-m>>31&16383;m=H(e[c+2>>1]|0,i)|0;a=d+2|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<16384?m:0-m>>31&16383;a=H(e[c+4>>1]|0,i)|0;m=d+4|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<16384?a:0-a>>31&16383;m=H(e[c+6>>1]|0,i)|0;a=d+6|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<16384?m:0-m>>31&16383;c=c+(l<<1)|0;d=d+(l<<1)|0;j=j+1|0}return}function Ws(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=Mb;Mb=Mb+16|0;e=i;h=c[(c[a+64>>2]|0)+20>>2]|0;if((c[a+808>>2]&1|0)!=0?(c[a+812>>2]|0)==0:0)d=(c[a+472>>2]|0)==11;else d=1;j=c[b>>2]|0;do if(j|0?c[j+248>>2]|0:0){if(c[a+680>>2]&32768|0){c[e>>2]=b;AD(a,48,193791,e)}F$(b+12|0);c[b+8>>2]=0;c[b+4>>2]=0;if(d){jB(c[b>>2]|0);break}a=(c[h>>2]|0)+8|0;d2(a)|0;d=h+308|0;e=(c[d>>2]|0)+1|0;if(e>>>0<=5368708?(f=h+304|0,g=ZQ(c[f>>2]|0,h+312|0,e*400|0)|0,g|0):0){c[f>>2]=g;WU(g+((c[d>>2]|0)*400|0)|0,c[b>>2]|0);c[d>>2]=(c[d>>2]|0)+1}d2(a)|0}while(0);Mb=i;return}function Xs(a){a=+a;var b=0,d=0,e=0,f=0.0,i=0.0;g[h>>3]=a;d=c[h+4>>2]|0;b=d&2147483647;do if(b>>>0>2146435071)a=a+a;else{if(b>>>0<1048576){g[h>>3]=a*18014398509481984.0;d=c[h+4>>2]|0;b=d&2147483647;if(!b)break;else e=696219795}else e=715094163;c[h>>2]=0;c[h+4>>2]=((b>>>0)/3|0)+e|d&-2147483648;f=+g[h>>3];i=f*f*(f/a);g[h>>3]=(i*(i*i)*(i*.14599619288661245+-.758397934778766)+(i*(i*1.6214297201053545+-1.8849797954337717)+1.87595182427177))*f;d=aX(c[h>>2]|0,c[h+4>>2]|0,-2147483648,0)|0;e=M()|0;c[h>>2]=d&-1073741824;c[h+4>>2]=e;f=+g[h>>3];a=a/(f*f);a=(a-f)/(f+f+a)*f+f}while(0);return +a}function Ys(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=d>>1;n=e[a+-2>>1]|0;l=e[a+(h+-1<<1)>>1]|0;c=d&-2;k=e[a+(c+-1<<1)>>1]|0;g=h*3|0;f=b[a+(g+-1<<1)>>1]|0;i=f&65535;m=l+1|0;b[a>>1]=(m+n|0)>>>1;j=k+2|0;b[a+2>>1]=(j+n+(l<<1)|0)>>>2;m=(m+k|0)>>>1&65535;b[a+(h<<1)>>1]=m;b[a+4>>1]=m;l=(i+2+l+(k<<1)|0)>>>2&65535;b[a+(h+1<<1)>>1]=l;b[a+6>>1]=l;k=(k+1+i|0)>>>1&65535;b[a+(c<<1)>>1]=k;b[a+(h+2<<1)>>1]=k;i=(j+i+(i<<1)|0)>>>2&65535;b[a+((d|1)<<1)>>1]=i;b[a+(h+3<<1)>>1]=i;b[a+(g+3<<1)>>1]=f;b[a+(g+2<<1)>>1]=f;b[a+(c+2<<1)>>1]=f;b[a+(g<<1)>>1]=f;b[a+(g+1<<1)>>1]=f;b[a+(c+3<<1)>>1]=f;return}function Zs(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=d>>1;k=(j<<4|1)<<g;g=g+1|0;d=a;j=0;while(1){if((j|0)>=(f|0))break;m=H(e[c>>1]|0,i)|0;m=m+k+(H(e[d>>1]|0,h)|0)>>g;b[d>>1]=m>>>0<4096?m:0-m>>31&4095;m=H(e[c+2>>1]|0,i)|0;a=d+2|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<4096?m:0-m>>31&4095;a=H(e[c+4>>1]|0,i)|0;m=d+4|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<4096?a:0-a>>31&4095;m=H(e[c+6>>1]|0,i)|0;a=d+6|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<4096?m:0-m>>31&4095;c=c+(l<<1)|0;d=d+(l<<1)|0;j=j+1|0}return}function _s(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=d>>1;k=(j<<2|1)<<g;g=g+1|0;d=a;j=0;while(1){if((j|0)>=(f|0))break;m=H(e[c>>1]|0,i)|0;m=m+k+(H(e[d>>1]|0,h)|0)>>g;b[d>>1]=m>>>0<1024?m:0-m>>31&1023;m=H(e[c+2>>1]|0,i)|0;a=d+2|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<1024?m:0-m>>31&1023;a=H(e[c+4>>1]|0,i)|0;m=d+4|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<1024?a:0-a>>31&1023;m=H(e[c+6>>1]|0,i)|0;a=d+6|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<1024?m:0-m>>31&1023;c=c+(l<<1)|0;d=d+(l<<1)|0;j=j+1|0}return}function $s(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=Mb;Mb=Mb+32|0;i=j+16|0;g=j;a:do if(!(c[a+8>>2]|0)){d=b+80|0;e=jz(c[d>>2]|0)|0;d=e0(c[d>>2]|0)|0;if(!d)f=0;else f=c[d+8>>2]|0;e=(e|0)!=1|(f&2|0)==0?e:2;d=0;while(1){if((d|0)>=(e|0))break;if(!(c[b+(d<<2)>>2]|0)){h=7;break}else d=d+1|0}if((h|0)==7){c[g>>2]=172478;c[g+4>>2]=171026;c[g+8>>2]=1606;AD(0,0,222515,g);ba()}d=(f&64|0)==0|(e|0)!=1?e:2;e=(d|0)>0;while(1){if(!(e&d>>>0<8))break a;f=b+(d<<2)|0;if(c[f>>2]|0)AD(a,16,172493,i);c[f>>2]=0;d=d+1|0}}while(0);Mb=j;return}function at(b,c,e,f,g,h,i,j,k,l,m){b=b|0;c=c|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;r=l+-1|0;t=20672+(r<<2)|0;u=h+6|0;o=1<<h+5;p=20672+(r<<2)+1|0;q=20672+(r<<2)+2|0;r=20672+(r<<2)+3|0;s=f<<1;n=0;h=e;l=b;while(1){if((n|0)>=(g|0))break;k=0;while(1){if((k|0)>=(m|0))break;b=H(d[h+(k-f)>>0]|0,a[t>>0]|0)|0;b=(H(d[h+k>>0]|0,a[p>>0]|0)|0)+b|0;b=b+(H(d[h+(k+f)>>0]|0,a[q>>0]|0)|0)|0;b=((H(b+(H(d[h+(k+s)>>0]|0,a[r>>0]|0)|0)|0,i)|0)+o>>u)+j|0;a[l+k>>0]=b>>>0>255?0-b>>31:b;k=k+1|0}n=n+1|0;h=h+f|0;l=l+c|0}return}function bt(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=d>>1;k=(j<<1|1)<<g;g=g+1|0;d=a;j=0;while(1){if((j|0)>=(f|0))break;m=H(e[c>>1]|0,i)|0;m=m+k+(H(e[d>>1]|0,h)|0)>>g;b[d>>1]=m>>>0<512?m:0-m>>31&511;m=H(e[c+2>>1]|0,i)|0;a=d+2|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<512?m:0-m>>31&511;a=H(e[c+4>>1]|0,i)|0;m=d+4|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<512?a:0-a>>31&511;m=H(e[c+6>>1]|0,i)|0;a=d+6|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<512?m:0-m>>31&511;c=c+(l<<1)|0;d=d+(l<<1)|0;j=j+1|0}return}function ct(a,b,d,e,g){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0;h=g+(H(e,-3)|0)|0;while(1){if(a>>>0>=h>>>0)break;i=b;f[a>>2]=(+((c[i>>2]|0)>>>0)+4294967296.0*+(c[i+4>>2]|0))*-1.0842021724855044e-19;i=b+d|0;j=a+e|0;k=i;f[j>>2]=(+((c[k>>2]|0)>>>0)+4294967296.0*+(c[k+4>>2]|0))*-1.0842021724855044e-19;i=i+d|0;j=j+e|0;k=i;f[j>>2]=(+((c[k>>2]|0)>>>0)+4294967296.0*+(c[k+4>>2]|0))*-1.0842021724855044e-19;i=i+d|0;j=j+e|0;k=i;f[j>>2]=(+((c[k>>2]|0)>>>0)+4294967296.0*+(c[k+4>>2]|0))*-1.0842021724855044e-19;a=j+e|0;b=i+d|0}while(1){if(a>>>0>=g>>>0)break;k=b;f[a>>2]=(+((c[k>>2]|0)>>>0)+4294967296.0*+(c[k+4>>2]|0))*-1.0842021724855044e-19;a=a+e|0;b=b+d|0}return}function dt(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;h=f+(H(e,-3)|0)|0;while(1){if(a>>>0>=h>>>0)break;i=b;g[a>>3]=(+((c[i>>2]|0)>>>0)+4294967296.0*+(c[i+4>>2]|0))*-1.0842021724855044e-19;i=b+d|0;j=a+e|0;k=i;g[j>>3]=(+((c[k>>2]|0)>>>0)+4294967296.0*+(c[k+4>>2]|0))*-1.0842021724855044e-19;i=i+d|0;j=j+e|0;k=i;g[j>>3]=(+((c[k>>2]|0)>>>0)+4294967296.0*+(c[k+4>>2]|0))*-1.0842021724855044e-19;i=i+d|0;j=j+e|0;k=i;g[j>>3]=(+((c[k>>2]|0)>>>0)+4294967296.0*+(c[k+4>>2]|0))*-1.0842021724855044e-19;a=j+e|0;b=i+d|0}while(1){if(a>>>0>=f>>>0)break;k=b;g[a>>3]=(+((c[k>>2]|0)>>>0)+4294967296.0*+(c[k+4>>2]|0))*-1.0842021724855044e-19;a=a+e|0;b=b+d|0}return}function et(b,c,d,e,g){b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=g+(H(e,-3)|0)|0;while(1){if(b>>>0>=h>>>0)break;j=Q1(+f[c>>2]*128.0)|0;i=j+128|0;a[b>>0]=i>>>0>255?j+-2147483520>>31:i;i=c+d|0;j=b+e|0;l=Q1(+f[i>>2]*128.0)|0;k=l+128|0;a[j>>0]=k>>>0>255?l+-2147483520>>31:k;i=i+d|0;j=j+e|0;k=Q1(+f[i>>2]*128.0)|0;l=k+128|0;a[j>>0]=l>>>0>255?k+-2147483520>>31:l;i=i+d|0;j=j+e|0;l=Q1(+f[i>>2]*128.0)|0;k=l+128|0;a[j>>0]=k>>>0>255?l+-2147483520>>31:k;b=j+e|0;c=i+d|0}while(1){if(b>>>0>=g>>>0)break;k=Q1(+f[c>>2]*128.0)|0;l=k+128|0;a[b>>0]=l>>>0>255?k+-2147483520>>31:l;b=b+e|0;c=c+d|0}return}function ft(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;l=Mb;Mb=Mb+16|0;k=l+4|0;j=l;e=Nr(k,d)|0;do if((e|0)>=0){h=d+8|0;i=c[k>>2]|0;a:while(1){e=c[h>>2]|0;switch(a[e>>0]|0){case 47:case 42:break;default:{f=8;break a}}c[h>>2]=e+1;f=a[e>>0]|0;e=Nr(j,d)|0;if((e|0)<0){f=5;break}g=c[j>>2]|0;e=xS(f<<24>>24==42?19:20,i,g)|0;if(!e){f=7;break}else i=e}if((f|0)==5){c[k>>2]=i;wP(i);break}else if((f|0)==7){c[k>>2]=0;wP(i);wP(g);e=-12;break}else if((f|0)==8){c[k>>2]=i;c[b>>2]=i;e=0;break}}while(0);Mb=l;return e|0}function gt(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;j=c[a+26364>>2]|0;i=a+24312|0;k=c[i>>2]|0;j=c[((j|0)==3?k+84|0:k+76+(((j|0)==2&1)<<2)|0)>>2]|0;k=c[b+25364>>2]|0;a:do if(!(c[a+26360>>2]|0))d=b+23404|0;else{f=b+25372|0;d=b+23404|0;e=0;while(1){if((e|0)==2)break a;g=c[(c[i>>2]|0)+76+(e<<2)>>2]|0;h=c[(c[f>>2]|0)+76+(e<<2)>>2]|0;a=0;while(1){if(a>>>0>=c[d>>2]<<1>>>0)break;l=Ar(b,g,h,a+16|0)|0;c[b+21996+(e<<7)+((a^e)<<2)>>2]=l;a=a+1|0}e=e+1|0}}while(0);a=0;while(1){if(a>>>0>=(c[d>>2]|0)>>>0)break;l=Ar(b,j,k,a)|0;c[b+21868+(a<<2)>>2]=l;a=a+1|0}return}function ht(b,c,d,e,f){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,l=0;h=f+(H(e,-3)|0)|0;while(1){if(b>>>0>=h>>>0)break;j=i0(+g[c>>3]*128.0)|0;i=j+128|0;a[b>>0]=i>>>0>255?j+-2147483520>>31:i;i=c+d|0;j=b+e|0;l=i0(+g[i>>3]*128.0)|0;k=l+128|0;a[j>>0]=k>>>0>255?l+-2147483520>>31:k;i=i+d|0;j=j+e|0;k=i0(+g[i>>3]*128.0)|0;l=k+128|0;a[j>>0]=l>>>0>255?k+-2147483520>>31:l;i=i+d|0;j=j+e|0;l=i0(+g[i>>3]*128.0)|0;k=l+128|0;a[j>>0]=k>>>0>255?l+-2147483520>>31:k;b=j+e|0;c=i+d|0}while(1){if(b>>>0>=f>>>0)break;k=i0(+g[c>>3]*128.0)|0;l=k+128|0;a[b>>0]=l>>>0>255?k+-2147483520>>31:l;b=b+e|0;c=c+d|0}return}function it(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;if(!(c[a+24>>2]|0)){e=c[a>>2]|0;if(!e)a=0;else{d=c[e+72>>2]|0;c[a>>2]=d;if(!d)c[a+4>>2]=0;g=a+8|0;c[g>>2]=(c[g>>2]|0)+-1;g=a+12|0;c[g>>2]=-80-(c[e+28>>2]|0)+(c[g>>2]|0);g=e+48|0;f=a+16|0;d=f;g=_W(c[d>>2]|0,c[d+4>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0;d=M()|0;c[f>>2]=g;c[f+4>>2]=d;f=e+16|0;a=a+32|0;d=a;if((c[f>>2]|0)==(c[d>>2]|0)?(c[f+4>>2]|0)==(c[d+4>>2]|0):0){g=a;c[g>>2]=0;c[g+4>>2]=0}a=e;d=b+72|0;do{c[b>>2]=c[a>>2];b=b+4|0;a=a+4|0}while((b|0)<(d|0));$1(e);a=1}}else a=-1;return a|0}function jt(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;h=g+(H(f,-3)|0)|0;while(1){if(a>>>0>=h>>>0)break;i=d;i=kV(c[i>>2]|0,c[i+4>>2]|0,48)|0;M()|0;b[a>>1]=i;i=d+e|0;j=a+f|0;k=i;k=kV(c[k>>2]|0,c[k+4>>2]|0,48)|0;M()|0;b[j>>1]=k;i=i+e|0;j=j+f|0;k=i;k=kV(c[k>>2]|0,c[k+4>>2]|0,48)|0;M()|0;b[j>>1]=k;i=i+e|0;j=j+f|0;k=i;k=kV(c[k>>2]|0,c[k+4>>2]|0,48)|0;M()|0;b[j>>1]=k;a=j+f|0;d=i+e|0}while(1){if(a>>>0>=g>>>0)break;k=d;k=kV(c[k>>2]|0,c[k+4>>2]|0,48)|0;M()|0;b[a>>1]=k;a=a+f|0;d=d+e|0}return}function kt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;if(!(mT(b)|0))d=1;else{d=HG(b,4)|0;c[a>>2]=d;eW(b,4);d=2}if(mT(b)|0)d=(KE(a,b)|0)+d|0;if(!(mT(b)|0))f=1;else{e=HG(b,4)|0;f=a+396|0;c[f>>2]=e;e=HG(b,4)|0;c[a+400>>2]=e;f=c[f>>2]|0;e=0;while(1){d=d+1|0;if((e|0)>(f|0))break;g=HG(b,8)|0;c[a+404+(e<<2)>>2]=g;e=e+1|0}f=f+1|0}if(mT(b)|0){g=HG(b,7)|0;c[a+472>>2]=g;s1(b);d=d+1|0}e=0;while(1){if((e|0)>=(f|0))break;g=mT(b)|0;c[a+4+(e<<2)>>2]=g;g=HG(b,7)|0;c[a+72+(e<<2)>>2]=g;e=e+1|0;d=d+1|0}return d|0}function lt(a,b,e,f){a=a|0;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=Mb;Mb=Mb+16|0;i=n+8|0;l=c[f+24>>2]|0;h=UA(f,70,0)|0;m=c[f+28>>2]|0;j=c[a+60>>2]|0;k=(m|0)/64|0;if((m|0)>=64){f=m&63;if(f|0){c[i>>2]=f;AD(a,24,180788,i)}if(((h|0)!=0&(m|0)>127?(g=a+416|0,((c[g>>2]|0)%11025|0|0)==0):0)?(1<<((d[h>>0]|0)>>>2&3)|0)==(k|0):0)c[g>>2]=(m>>>7)*11025;c[b+76>>2]=k<<8;f=rQ(a,b,0)|0;if((f|0)>=0){a=c[b>>2]|0;g=0;f=l;while(1){if((g|0)>=(k|0))break;xj(j,f,a);a=a+1024|0;g=g+1|0;f=f+64|0}c[e>>2]=1;f=m}}else{AD(a,16,180767,n);f=-1094995529}Mb=n;return f|0}function mt(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}e=(V1()|0)+188|0;if(!(c[c[e>>2]>>2]|0))if((d&-128|0)==57216){a[b>>0]=d;b=1;break}else{b=j2()|0;c[b>>2]=84;b=-1;break}if(d>>>0<2048){a[b>>0]=d>>>6|192;a[b+1>>0]=d&63|128;b=2;break}if(d>>>0<55296|(d&-8192|0)==57344){a[b>>0]=d>>>12|224;a[b+1>>0]=d>>>6&63|128;a[b+2>>0]=d&63|128;b=3;break}if((d+-65536|0)>>>0<1048576){a[b>>0]=d>>>18|240;a[b+1>>0]=d>>>12&63|128;a[b+2>>0]=d>>>6&63|128;a[b+3>>0]=d&63|128;b=4;break}else{b=j2()|0;c[b>>2]=84;b=-1;break}}else b=1;while(0);return b|0}function nt(a,b,e,f){a=a|0;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;if(!b){e=d[a+-1>>0]|0;b=e}else{b=d[a+-1>>0]|0;e=d[a+~f>>0]|0}o=d[a+(f+-1)>>0]|0;n=o+2|0;m=d[a+((f<<1)+-1)>>0]|0;l=m+2|0;k=d[a+((f*3|0)+-1)>>0]|0;j=d[a+((f<<2)+-1)>>0]|0;i=d[a+((f*5|0)+-1)>>0]|0;h=d[a+((f*6|0)+-1)>>0]|0;g=d[a+((f*7|0)+-1)>>0]|0;e=H(((n+e+(b<<1)|0)>>>2)+4+((l+b+(o<<1)|0)>>>2)+((n+(m<<1)+k|0)>>>2)+((l+(k<<1)+j|0)>>>2)+((k+2+(j<<1)+i|0)>>>2)+((j+2+(i<<1)+h|0)>>>2)+((h+2+(g*3|0)|0)>>>2)+((i+2+(h<<1)+g|0)>>>2)>>3,16843009)|0;b=0;while(1){if((b|0)==8)break;c[a>>2]=e;c[a+4>>2]=e;b=b+1|0;a=a+f|0}return}function ot(b,c,e,f,g,h,i,j,k,l,m){b=b|0;c=c|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;r=k+-1|0;s=20672+(r<<2)|0;t=h+6|0;o=1<<h+5;p=20672+(r<<2)+1|0;q=20672+(r<<2)+2|0;r=20672+(r<<2)+3|0;n=0;h=e;l=b;while(1){if((n|0)>=(g|0))break;k=0;while(1){if((k|0)>=(m|0))break;e=H(d[h+(k+-1)>>0]|0,a[s>>0]|0)|0;e=(H(d[h+k>>0]|0,a[p>>0]|0)|0)+e|0;b=k+1|0;e=e+(H(d[h+b>>0]|0,a[q>>0]|0)|0)|0;e=((H(e+(H(d[h+(k+2)>>0]|0,a[r>>0]|0)|0)|0,i)|0)+o>>t)+j|0;a[l+k>>0]=e>>>0>255?0-e>>31:e;k=b}n=n+1|0;h=h+f|0;l=l+c|0}return}function pt(a,b){a=a|0;b=b|0;c[a>>2]=25;c[a+484>>2]=5;c[a+488>>2]=6;c[a+492>>2]=7;c[a+496>>2]=8;c[a+500>>2]=9;c[a+504>>2]=10;c[a+508>>2]=11;c[a+512>>2]=12;c[a+52>>2]=13;c[a+56>>2]=14;c[a+68>>2]=15;c[a+72>>2]=16;c[a+76>>2]=17;c[a+80>>2]=18;c[a+292>>2]=19;c[a+296>>2]=20;c[a+4>>2]=5;c[a+8>>2]=9;c[a+28>>2]=21;c[a+32>>2]=22;c[a+36>>2]=23;c[a+100>>2]=24;c[a+104>>2]=25;c[a+148>>2]=26;c[a+152>>2]=27;c[a+124>>2]=28;c[a+128>>2]=29;c[a+172>>2]=30;c[a+176>>2]=31;c[a+188>>2]=32;c[a+192>>2]=33;c[a+196>>2]=34;c[a+200>>2]=35;c[a+212>>2]=36;c[a+216>>2]=37;c[a+220>>2]=38;c[a+224>>2]=39;c[a+516>>2]=40;c[a+520>>2]=41;return}function qt(a,b,c,e,f){a=a|0;b=b|0;c=c|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=0;h=0;a=c;while(1){if((g|0)>=(f|0))break;o=(d[b>>0]|0)-(d[a>>0]|0)|0;n=(d[b+1>>0]|0)-(d[a+1>>0]|0)|0;m=(d[b+2>>0]|0)-(d[a+2>>0]|0)|0;l=(d[b+3>>0]|0)-(d[a+3>>0]|0)|0;k=(d[b+4>>0]|0)-(d[a+4>>0]|0)|0;j=(d[b+5>>0]|0)-(d[a+5>>0]|0)|0;i=(d[b+6>>0]|0)-(d[a+6>>0]|0)|0;c=(d[b+7>>0]|0)-(d[a+7>>0]|0)|0;g=g+1|0;h=((o|0)>-1?o:0-o|0)+h+((n|0)>-1?n:0-n|0)+((m|0)>-1?m:0-m|0)+((l|0)>-1?l:0-l|0)+((k|0)>-1?k:0-k|0)+((j|0)>-1?j:0-j|0)+((i|0)>-1?i:0-i|0)+((c|0)>-1?c:0-c|0)|0;b=b+e|0;a=a+e|0}return h|0}function rt(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=b+8|0;i=c[f>>2]|0;a[b+12>>0]=a[b+12+i>>0]|0;a[b+87940>>0]=a[b+87932+i>>0]|0;e=b+14568|0;c[b+14564>>2]=((c[e>>2]|0)!=(i|0))<<31>>31;i=b+13|0;h=d+13|0;a[i>>0]=a[h>>0]|0;a[i+1>>0]=a[h+1>>0]|0;a[i+2>>0]=a[h+2>>0]|0;a[i+3>>0]=a[h+3>>0]|0;a[i+4>>0]=a[h+4>>0]|0;a[i+5>>0]=a[h+5>>0]|0;i=d+87932|0;h=c[i+4>>2]|0;g=b+87932|0;c[g>>2]=c[i>>2];c[g+4>>2]=h;g=b+87941|0;h=d+87941|0;a[g>>0]=a[h>>0]|0;a[g+1>>0]=a[h+1>>0]|0;a[g+2>>0]=a[h+2>>0]|0;c[f>>2]=c[d+8>>2];c[b+92>>2]=c[d+92>>2];c[b+20>>2]=c[d+20>>2];c[b>>2]=c[d>>2];c[e>>2]=c[d+14568>>2];return}function st(a,b,e,f){a=a|0;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;l=Mb;Mb=Mb+32|0;h=l;i=c[a+4>>2]|0;j=c[a+24316>>2]|0;b=(e0(c[i+144>>2]|0)|0)+6|0;b=d[b>>0]|0;g=c[a+26364>>2]|0;n=(g|0)!=3;p=n&1;o=f<<p;f=e<<p;e=(c[i+128>>2]|0)-f|0;e=(o|0)>(e|0)?e:o;if(!((n?(c[a+26368>>2]|0)!=0:0)?!(c[i+292>>2]&2|0):0))k=4;if((k|0)==4?(m=c[i+152>>2]|0,m|0):0){p=H(c[j+32>>2]|0,f)|0;c[h>>2]=p;b=H(c[j+36>>2]|0,f>>b)|0;c[h+8>>2]=b;c[h+4>>2]=b;b=3;while(1){if((b|0)==8)break;c[h+(b<<2)>>2]=0;b=b+1|0}kc[m&127](i,j,h,f,g,e)}Mb=l;return}function tt(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=Mb;Mb=Mb+16|0;e=i;g=a+136|0;b=9;h=0;while(1){if(h>>>0>=5){f=3;break}f=c[g>>2]|0;if(!(LA(f+224|0,f+b|0)|0)){b=0;f=14;break}b=10;h=h+1|0}a:do if((f|0)==3){d=0;b=0;while(1){if(d>>>0>=31){f=9;break}if(!(MP((c[g>>2]|0)+224|0)|0))break;j=(1<<d)+b|0;d=d+1|0;b=j}if((f|0)==9?(d|0)==31:0){b=c[a+4>>2]|0;c[e>>2]=31;AD(b,16,209464,e);b=-1094995529;break}while(1){a=d+-1|0;if(!d){f=14;break a}d=a;b=((MP((c[g>>2]|0)+224|0)|0)<<a)+b|0}}while(0);if((f|0)==14)b=b+h|0;Mb=i;return b|0}function ut(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=f>>1;k=f&-2;l=o*3|0;m=o<<2;n=o*5|0;h=o*6|0;i=o*7|0;j=o<<3;g=d;f=a+(0-o<<1)|0;a=0;while(1){if((a|0)==8)break;p=(c[g>>2]|0)+(e[f>>1]|0)|0;b[f+(o<<1)>>1]=p;p=(c[g+32>>2]|0)+p|0;b[f+(k<<1)>>1]=p;p=(c[g+64>>2]|0)+p|0;b[f+(l<<1)>>1]=p;p=(c[g+96>>2]|0)+p|0;b[f+(m<<1)>>1]=p;p=(c[g+128>>2]|0)+p|0;b[f+(n<<1)>>1]=p;p=(c[g+160>>2]|0)+p|0;b[f+(h<<1)>>1]=p;p=(c[g+192>>2]|0)+p|0;b[f+(i<<1)>>1]=p;b[f+(j<<1)>>1]=(c[g+224>>2]|0)+p;g=g+4|0;f=f+2|0;a=a+1|0}jv(d|0,0,256)|0;return}function vt(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;g=f+(H(e,-3)|0)|0;while(1){if(a>>>0>=g>>>0)break;l=b;i=c[l+4>>2]|0;h=a;c[h>>2]=c[l>>2];c[h+4>>2]=i;h=b+d|0;i=a+e|0;l=h;k=c[l+4>>2]|0;j=i;c[j>>2]=c[l>>2];c[j+4>>2]=k;h=h+d|0;i=i+e|0;j=h;k=c[j+4>>2]|0;l=i;c[l>>2]=c[j>>2];c[l+4>>2]=k;h=h+d|0;i=i+e|0;l=h;k=c[l+4>>2]|0;j=i;c[j>>2]=c[l>>2];c[j+4>>2]=k;a=i+e|0;b=h+d|0}while(1){if(a>>>0>=f>>>0)break;j=b;k=c[j+4>>2]|0;l=a;c[l>>2]=c[j>>2];c[l+4>>2]=k;a=a+e|0;b=b+d|0}return}function wt(a,b,e,f,g,h,i){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;j=0;while(1){if((j|0)>=(i|0))break;m=H(j,g)|0;p=b+m|0;l=H(j,h)|0;o=e+l|0;k=H(j,f)|0;n=a+k|0;q=c[n>>2]|0;o=b0(q,b0(d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24,d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24)|0)|0;c[n>>2]=o;m=b+(m+4)|0;l=e+(l+4)|0;k=a+(k+4)|0;n=c[k>>2]|0;l=b0(n,b0(d[m>>0]|d[m+1>>0]<<8|d[m+2>>0]<<16|d[m+3>>0]<<24,d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24)|0)|0;c[k>>2]=l;j=j+1|0}return}function xt(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;m=Mb;Mb=Mb+32|0;l=m;f=b+392|0;g=c[f>>2]|0;h=b+396|0;i=c[h>>2]|0;j=b+384|0;k=c[j>>2]|0;d=b+388|0;e=c[d>>2]|0;if((g>>>0<(2147483647-i|0)>>>0&k>>>0<(2147483647-e|0)>>>0?(i+g|0)>>>0<(c[b+68>>2]|0)>>>0:0)?(e+k|0)>>>0<(c[b+72>>2]|0)>>>0:0)if(!(c[a+1008>>2]|0))a=0;else a=Si(b,c[a+92>>2]&1)|0;else{n=c[b+68>>2]|0;b=c[b+72>>2]|0;c[l>>2]=g;c[l+4>>2]=i;c[l+8>>2]=k;c[l+12>>2]=e;c[l+16>>2]=n;c[l+20>>2]=b;AD(a,24,171486,l);c[f>>2]=0;c[h>>2]=0;c[j>>2]=0;c[d>>2]=0;a=0}Mb=m;return a|0}function yt(c,d,f,g,h,i,j,k){c=c|0;d=d|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,r=0;r=g>>>1;q=d>>>1;p=j+-1|0;m=20672+(p<<2)|0;n=20672+(p<<2)+1|0;o=20672+(p<<2)+2|0;p=20672+(p<<2)+3|0;l=g&-2;g=0;j=f;d=c;while(1){if((g|0)>=(h|0))break;i=0;while(1){if((i|0)>=(k|0))break;c=H(e[j+(i-r<<1)>>1]|0,a[m>>0]|0)|0;c=(H(e[j+(i<<1)>>1]|0,a[n>>0]|0)|0)+c|0;c=c+(H(e[j+(i+r<<1)>>1]|0,a[o>>0]|0)|0)|0;c=(c+(H(e[j+(i+l<<1)>>1]|0,a[p>>0]|0)|0)>>4)+2>>2;b[d+(i<<1)>>1]=c>>>0<4096?c:0-c>>31&4095;i=i+1|0}g=g+1|0;j=j+(r<<1)|0;d=d+(q<<1)|0}return}function zt(c,d,f,g,h,i,j,k){c=c|0;d=d|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,r=0;r=g>>>1;q=d>>>1;p=j+-1|0;m=20672+(p<<2)|0;n=20672+(p<<2)+1|0;o=20672+(p<<2)+2|0;p=20672+(p<<2)+3|0;l=g&-2;g=0;j=f;d=c;while(1){if((g|0)>=(h|0))break;i=0;while(1){if((i|0)>=(k|0))break;c=H(e[j+(i-r<<1)>>1]|0,a[m>>0]|0)|0;c=(H(e[j+(i<<1)>>1]|0,a[n>>0]|0)|0)+c|0;c=c+(H(e[j+(i+r<<1)>>1]|0,a[o>>0]|0)|0)|0;c=(c+(H(e[j+(i+l<<1)>>1]|0,a[p>>0]|0)|0)>>2)+8>>4;b[d+(i<<1)>>1]=c>>>0<1024?c:0-c>>31&1023;i=i+1|0}g=g+1|0;j=j+(r<<1)|0;d=d+(q<<1)|0}return}function At(c,d,f,g,h,i,j,k){c=c|0;d=d|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,r=0;r=g>>>1;q=d>>>1;p=j+-1|0;m=20672+(p<<2)|0;n=20672+(p<<2)+1|0;o=20672+(p<<2)+2|0;p=20672+(p<<2)+3|0;l=g&-2;g=0;j=f;d=c;while(1){if((g|0)>=(h|0))break;i=0;while(1){if((i|0)>=(k|0))break;c=H(e[j+(i-r<<1)>>1]|0,a[m>>0]|0)|0;c=(H(e[j+(i<<1)>>1]|0,a[n>>0]|0)|0)+c|0;c=c+(H(e[j+(i+r<<1)>>1]|0,a[o>>0]|0)|0)|0;c=(c+(H(e[j+(i+l<<1)>>1]|0,a[p>>0]|0)|0)>>1)+16>>5;b[d+(i<<1)>>1]=c>>>0<512?c:0-c>>31&511;i=i+1|0}g=g+1|0;j=j+(r<<1)|0;d=d+(q<<1)|0}return}function Bt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;if((c[a+24>>2]|0)==0?(d=RD(80)|0,(d|0)!=0):0){e=d;f=b;g=e+72|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));c[d+72>>2]=0;e=a+4|0;g=c[e>>2]|0;c[((g|0)==0?a:g+72|0)>>2]=d;c[e>>2]=d;e=a+8|0;c[e>>2]=(c[e>>2]|0)+1;e=a+12|0;c[e>>2]=(c[d+28>>2]|0)+80+(c[e>>2]|0);e=d+48|0;g=a+16|0;f=g;e=aX(c[f>>2]|0,c[f+4>>2]|0,c[e>>2]|0,c[e+4>>2]|0)|0;f=M()|0;c[g>>2]=e;c[g+4>>2]=f;if(!(c[b+36>>2]|0))a=0;else{f=b+16|0;g=c[f+4>>2]|0;a=a+32|0;c[a>>2]=c[f>>2];c[a+4>>2]=g;a=0}}else a=-1;return a|0}function Ct(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;n=c[b+136>>2]|0;j=1<<c[(c[b+1412>>2]|0)+13336>>2];p=j+-1|0;k=p&e;p=p&f;l=(p|0)!=0;i=(a[n+309>>0]|0)!=0|l;b=i&1;c[n+31292>>2]=b;m=(k|0)!=0|(a[n+308>>0]|0)!=0;c[n+31288>>2]=m&1;if(!(k|p))i=d[n+311>>0]|0;else i=m&i&1;c[n+31296>>2]=i;if((k+g|0)==(j|0))if(!(a[n+310>>0]|0)){c[n+31304>>2]=0;b=0}else{b=(l^1)&1;o=7}else o=7;if((o|0)==7){c[n+31304>>2]=b;if(!b)b=0;else b=(g+e|0)<(c[n+312>>2]|0)&1}c[n+31300>>2]=b;c[n+31284>>2]=m&(h+f|0)<(c[n+316>>2]|0)&1;return}function Dt(c,f,g){c=c|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;l=g<<1;m=g*3|0;n=g<<2;o=g*5|0;p=g*6|0;j=g*7|0;k=g<<3;i=f;c=c+(0-g)|0;h=0;while(1){if((h|0)==8)break;q=(e[i>>1]|0)+(d[c>>0]|0)|0;a[c+g>>0]=q;q=q+(e[i+16>>1]|0)|0;a[c+l>>0]=q;q=q+(e[i+32>>1]|0)|0;a[c+m>>0]=q;q=q+(e[i+48>>1]|0)|0;a[c+n>>0]=q;q=q+(e[i+64>>1]|0)|0;a[c+o>>0]=q;q=q+(e[i+80>>1]|0)|0;a[c+p>>0]=q;q=q+(e[i+96>>1]|0)|0;a[c+j>>0]=q;a[c+k>>0]=q+(e[i+112>>1]|0);i=i+2|0;c=c+1|0;h=h+1|0}c=f+128|0;do{b[f>>1]=0;f=f+2|0}while((f|0)<(c|0));return}function Et(b){b=b|0;var d=0,e=0,f=0,g=0;f=c[b+60>>2]|0;c[f+4>>2]=b;d=EZ(31328)|0;c[f+136>>2]=d;a:do if(((d|0)!=0?(c[f+72>>2]=d,c[f+8>>2]=f,e=RD(199)|0,c[f+152>>2]=e,(e|0)!=0):0)?(e=CX()|0,c[f+164>>2]=e,(e|0)!=0):0){d=0;while(1){if(d>>>0>=32)break;e=CX()|0;c[f+3520+(d*68|0)>>2]=e;if(!e){g=10;break a}c[f+3520+(d*68|0)+4>>2]=e;d=d+1|0}c[f+5716>>2]=2147483647;e=b2()|0;d=f+7648|0;c[d>>2]=e;if(e){t0(f+7540|0);a[f+7628>>0]=1;c[f+5708>>2]=0;l0(d);d=0}else g=10}else g=10;while(0);if((g|0)==10){ou(b)|0;d=-12}return d|0}function Ft(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0;h=g+(H(e,-3)|0)|0;while(1){if(a>>>0>=h>>>0)break;i=Q1(+f[c>>2]*32768.0)|0;b[a>>1]=(i+32768|0)>>>0>65535?i>>31^32767:i;i=c+d|0;j=a+e|0;k=Q1(+f[i>>2]*32768.0)|0;b[j>>1]=(k+32768|0)>>>0>65535?k>>31^32767:k;i=i+d|0;j=j+e|0;k=Q1(+f[i>>2]*32768.0)|0;b[j>>1]=(k+32768|0)>>>0>65535?k>>31^32767:k;i=i+d|0;j=j+e|0;k=Q1(+f[i>>2]*32768.0)|0;b[j>>1]=(k+32768|0)>>>0>65535?k>>31^32767:k;a=j+e|0;c=i+d|0}while(1){if(a>>>0>=g>>>0)break;k=Q1(+f[c>>2]*32768.0)|0;b[a>>1]=(k+32768|0)>>>0>65535?k>>31^32767:k;a=a+e|0;c=c+d|0}return}function Gt(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0,v=0.0,w=0.0,x=0,y=0;l=+f[d>>2];m=+f[d+4>>2];n=+f[d+8>>2];k=+f[d+12>>2];h=+f[c>>2];i=+f[c+4>>2];j=+f[c+8>>2];g=+f[c+12>>2];d=0;while(1){if((d|0)>=(e|0))break;y=a+(d<<3)|0;w=+f[y>>2];x=a+(d<<3)+4|0;t=+f[x>>2];u=b+(d<<3)|0;v=+f[u>>2];c=b+(d<<3)+4|0;s=+f[c>>2];r=l+h;q=m+i;p=n+j;o=k+g;f[y>>2]=r*w+p*v;f[x>>2]=r*t+p*s;f[u>>2]=q*w+o*v;f[c>>2]=q*t+o*s;h=r;i=q;j=p;g=o;d=d+1|0}return}function Ht(c,e,f,g,h,i,j,k,l){c=c|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,q=0,r=0,s=0,t=0,u=0;q=k+-1|0;n=20672+(q<<2)|0;o=20672+(q<<2)+1|0;p=20672+(q<<2)+2|0;q=20672+(q<<2)+3|0;r=g<<1;m=0;k=f;while(1){if((m|0)>=(i|0))break;j=0;while(1){if((j|0)>=(l|0))break;u=H(d[k+(j-g)>>0]|0,a[n>>0]|0)|0;t=H(d[k+j>>0]|0,a[o>>0]|0)|0;s=H(d[k+(j+g)>>0]|0,a[p>>0]|0)|0;f=H(d[k+(j+r)>>0]|0,a[q>>0]|0)|0;f=u+64+t+s+f+(b[h+(j<<1)>>1]|0)>>7;a[c+j>>0]=f>>>0>255?0-f>>31:f;j=j+1|0}h=h+128|0;m=m+1|0;c=c+e|0;k=k+g|0}return}function It(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=Mb;Mb=Mb+16|0;f=g;a:do if((fu(f,b,d,a,1)|0)>=0?(e=EZ(28)|0,(e|0)!=0):0){c[e+16>>2]=b;c[e+20>>2]=a;c[e+24>>2]=(c[f>>2]|0)/(d|0)|0;a=(iY(a)|0)==0;a=a?1:b;b=e+4|0;c[b>>2]=a;a=DZ(a)|0;c[e>>2]=a;b:do if(a|0){a=0;while(1){if((a|0)>=(c[b>>2]|0))break;h=D0(c[f>>2]|0)|0;c[(c[e>>2]|0)+(a<<2)>>2]=h;if(!(c[(c[e>>2]|0)+(a<<2)>>2]|0))break b;else a=a+1|0}c[e+12>>2]=d;break a}while(0);OO(e);e=0}else e=0;while(0);Mb=g;return e|0}function Jt(b,c,e,f,g,h,i,j){b=b|0;c=c|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;l=(j+1|1)<<g;k=g+1|0;j=b;g=0;while(1){if((g|0)>=(f|0))break;m=H(d[c>>0]|0,i)|0;m=m+l+(H(d[j>>0]|0,h)|0)>>k;a[j>>0]=m>>>0>255?0-m>>31:m;m=H(d[c+1>>0]|0,i)|0;b=j+1|0;m=m+l+(H(d[b>>0]|0,h)|0)>>k;a[b>>0]=m>>>0>255?0-m>>31:m;b=H(d[c+2>>0]|0,i)|0;m=j+2|0;b=b+l+(H(d[m>>0]|0,h)|0)>>k;a[m>>0]=b>>>0>255?0-b>>31:b;m=H(d[c+3>>0]|0,i)|0;b=j+3|0;m=m+l+(H(d[b>>0]|0,h)|0)>>k;a[b>>0]=m>>>0>255?0-m>>31:m;c=c+e|0;j=j+e|0;g=g+1|0}return}function Kt(a,c,d,e,f){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0;h=f+(H(e,-3)|0)|0;while(1){if(a>>>0>=h>>>0)break;i=i0(+g[c>>3]*32768.0)|0;b[a>>1]=(i+32768|0)>>>0>65535?i>>31^32767:i;i=c+d|0;j=a+e|0;k=i0(+g[i>>3]*32768.0)|0;b[j>>1]=(k+32768|0)>>>0>65535?k>>31^32767:k;i=i+d|0;j=j+e|0;k=i0(+g[i>>3]*32768.0)|0;b[j>>1]=(k+32768|0)>>>0>65535?k>>31^32767:k;i=i+d|0;j=j+e|0;k=i0(+g[i>>3]*32768.0)|0;b[j>>1]=(k+32768|0)>>>0>65535?k>>31^32767:k;a=j+e|0;c=i+d|0}while(1){if(a>>>0>=f>>>0)break;k=i0(+g[c>>3]*32768.0)|0;b[a>>1]=(k+32768|0)>>>0>65535?k>>31^32767:k;a=a+e|0;c=c+d|0}return}function Lt(c,e,f,g,h,i,j){c=c|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;n=f>>>1;m=((a[20752+(h<<2)+1>>0]|0)*80|0)+(a[20752+(h<<2)>>0]|0)|0;l=((a[20752+(h<<2)+3>>0]|0)*80|0)+(a[20752+(h<<2)+2>>0]|0)|0;k=c;f=e;c=0;while(1){if((c|0)>=(j|0))break;h=0;while(1){if((h|0)>=(i|0))break;e=b[f+(h<<1)>>1]|0;p=b[f+(m+h<<1)>>1]|0;o=b[f+(l+h<<1)>>1]|0;e=(b[g+(d[180762+((((e&65535)<(p&65535))<<31>>31)+2+((e&65535)>(p&65535)&1)+(((e&65535)<(o&65535))<<31>>31)+((e&65535)>(o&65535)&1))>>0]<<1)>>1]|0)+(e&65535)|0;b[k+(h<<1)>>1]=e>>>0<4096?e:0-e>>31&4095;h=h+1|0}k=k+(n<<1)|0;f=f+160|0;c=c+1|0}return}function Mt(c,e,f,g,h,i,j){c=c|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;n=f>>>1;m=((a[20752+(h<<2)+1>>0]|0)*80|0)+(a[20752+(h<<2)>>0]|0)|0;l=((a[20752+(h<<2)+3>>0]|0)*80|0)+(a[20752+(h<<2)+2>>0]|0)|0;k=c;f=e;c=0;while(1){if((c|0)>=(j|0))break;h=0;while(1){if((h|0)>=(i|0))break;e=b[f+(h<<1)>>1]|0;p=b[f+(m+h<<1)>>1]|0;o=b[f+(l+h<<1)>>1]|0;e=(b[g+(d[180762+((((e&65535)<(p&65535))<<31>>31)+2+((e&65535)>(p&65535)&1)+(((e&65535)<(o&65535))<<31>>31)+((e&65535)>(o&65535)&1))>>0]<<1)>>1]|0)+(e&65535)|0;b[k+(h<<1)>>1]=e>>>0<1024?e:0-e>>31&1023;h=h+1|0}k=k+(n<<1)|0;f=f+160|0;c=c+1|0}return}function Nt(c,e,f,g,h,i,j){c=c|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;n=f>>>1;m=((a[20752+(h<<2)+1>>0]|0)*80|0)+(a[20752+(h<<2)>>0]|0)|0;l=((a[20752+(h<<2)+3>>0]|0)*80|0)+(a[20752+(h<<2)+2>>0]|0)|0;k=c;f=e;c=0;while(1){if((c|0)>=(j|0))break;h=0;while(1){if((h|0)>=(i|0))break;e=b[f+(h<<1)>>1]|0;p=b[f+(m+h<<1)>>1]|0;o=b[f+(l+h<<1)>>1]|0;e=(b[g+(d[180762+((((e&65535)<(p&65535))<<31>>31)+2+((e&65535)>(p&65535)&1)+(((e&65535)<(o&65535))<<31>>31)+((e&65535)>(o&65535)&1))>>0]<<1)>>1]|0)+(e&65535)|0;b[k+(h<<1)>>1]=e>>>0<512?e:0-e>>31&511;h=h+1|0}k=k+(n<<1)|0;f=f+160|0;c=c+1|0}return}function Ot(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=d+-1|0;h=c+-1|0;c=1;while(1){if((c|0)>=(i|0))break;g=H(c,e)|0;d=1;f=b[a+(g<<1)>>1]|0;while(1){if((d|0)>=(h|0))break;l=a+(d+g<<1)|0;j=b[l>>1]|0;k=d+1|0;b[l>>1]=((((j<<3)-f-(b[a+(k+g<<1)>>1]|0)|0)*10923|0)+32768|0)>>>16;d=k;f=j}c=c+1|0}c=1;while(1){if((c|0)>=(h|0))break;d=b[a+(c<<1)>>1]|0;f=1;while(1){if((f|0)>=(i|0))break;j=a+((H(f,e)|0)+c<<1)|0;k=b[j>>1]|0;l=f+1|0;g=a+((H(l,e)|0)+c<<1)|0;b[j>>1]=((((k<<3)-d-(b[g>>1]|0)|0)*10923|0)+32768|0)>>>16;d=k;f=l}c=c+1|0}return}function Pt(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;h=b+1412|0;g=c[h>>2]|0;j=((c[g+13376>>2]|0)-f|0)<=(d|0);if((c[(c[b+4>>2]|0)+836>>2]|0)<48){yd(b,d,e);g=c[h>>2]|0}if(!(a[g+13197>>0]|0)){if(j&(a[b+140>>0]&1)!=0)Dy((c[b+3516>>2]|0)+4|0,f+e+-4|0,0)}else{g=((c[g+13380>>2]|0)-f|0)<=(e|0);h=(e|0)!=0;i=(d|0)!=0;if(i&h)ud(b,d-f|0,e-f|0);if(i&g)ud(b,d-f|0,e);if(h&j?(ud(b,d,e-f|0),a[b+140>>0]&1):0)Dy((c[b+3516>>2]|0)+4|0,e,0);if(j&g?(ud(b,d,e),a[b+140>>0]&1):0)Dy((c[b+3516>>2]|0)+4|0,f+e|0,0)}return}function Qt(c,e,f,g,h,i,j,k,l){c=c|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,q=0,r=0,s=0,t=0,u=0;q=j+-1|0;n=20672+(q<<2)|0;o=20672+(q<<2)+1|0;p=20672+(q<<2)+2|0;q=20672+(q<<2)+3|0;m=0;k=c;while(1){if((m|0)>=(i|0))break;j=0;while(1){if((j|0)>=(l|0))break;u=H(d[f+(j+-1)>>0]|0,a[n>>0]|0)|0;t=H(d[f+j>>0]|0,a[o>>0]|0)|0;c=j+1|0;s=H(d[f+c>>0]|0,a[p>>0]|0)|0;r=H(d[f+(j+2)>>0]|0,a[q>>0]|0)|0;r=u+64+t+s+r+(b[h+(j<<1)>>1]|0)>>7;a[k+j>>0]=r>>>0>255?0-r>>31:r;j=c}h=h+128|0;m=m+1|0;f=f+g|0;k=k+e|0}return}function Rt(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;i=Mb;Mb=Mb+16|0;g=i+8|0;a:do switch(e|0){case 2:{e=a+4|0;g=c[e>>2]|0;if(!(c[a+6512>>2]|0)){AD(g,16,198774,i);fS(d,c[f>>2]|0);c[f>>2]=0;break a}else{d=Nd(g,d,b+176032|0,c[f>>2]|0)|0;c[f>>2]=(c[f>>2]|0)-d;c[(c[e>>2]|0)+828>>2]=28;break a}}case 0:{e=c[f>>2]|0;if((e|0)<=16?(zQ(d,e)|0)==0:0)h=8;else h=7;break}default:h=7}while(0);if((h|0)==7){GU(c[a+4>>2]|0,198852,g);e=c[f>>2]|0;h=8}if((h|0)==8){fS(d,e);c[f>>2]=0}Mb=i;return}function St(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;m=Mb;Mb=Mb+16|0;k=m;c[k>>2]=-1;j=d+e|0;f=0;b=d;e=0;a:while(1){i=(e|0)!=0;b:while(1){h=(f|0)!=0;c:while(1){if(b>>>0>=j>>>0){b=0;break a}b=Tq(b,j,k)|0;g=c[k>>2]|0;if((g&-256|0)!=256){b=0;break a}e=g&31;switch(g&31){case 8:break b;case 7:break c;default:{}}if(h&((e|0)!=15&((e|4|0)!=13&(i|(e|0)!=6)))){l=10;break a}}f=1}e=1}if((l|0)==10){while(1){e=b+-4|0;if(e>>>0<=d>>>0)break;if(!(a[b+-5>>0]|0))b=b+-1|0;else break}b=e-d|0}Mb=m;return b|0}function Tt(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=c[(c[a+64>>2]|0)+20>>2]|0;a:do if(f|0){g=a+800|0;gB(f,c[g>>2]|0);d=f+4|0;e=c[d>>2]|0;if(e|0?(b=c[f>>2]|0,(e|0)!=(b|0)):0)Uh(c[b+212>>2]|0,c[e+212>>2]|0,0)|0;c[f+148>>2]=0;c[f+144>>2]=0;c[f+152>>2]=1;c[d>>2]=0;b=a+12|0;a=0;while(1){if((a|0)>=(c[g>>2]|0))break a;d=c[f>>2]|0;c[d+(a*352|0)+292>>2]=0;jB(c[d+(a*352|0)+288>>2]|0);c[d+(a*352|0)+296>>2]=0;Rw(d+(a*352|0)|0);e=c[(c[b>>2]|0)+108>>2]|0;if(e|0)dc[e&63](c[d+(a*352|0)+212>>2]|0);a=a+1|0}}while(0);return}function Ut(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;i=c[a+24>>2]|0;j=1<<i;k=j<<(0-i&3);l=j+-1&-286331153;b=15<<i;f=PW(b,4)|0;g=a+16|0;c[g>>2]=f;a:do if((f|0)!=0?(h=PW(b,4)|0,c[a+20>>2]=h,(h|0)!=0):0){a=0;while(1){if((a|0)>=(j|0)){a=0;break a}d=H(a,l)|0;e=a*15|0;f=d*15|0;b=0;while(1){if((b|0)==15)break;n=b<<i;m=H(b,k)|0;o=((H(((n|0)/15|0)+a>>i,-15)|0)+b<<i)+e<<1;c[(c[g>>2]|0)+(b+e<<2)>>2]=o;c[h+(m+f-((((m|0)/15|0)+d>>i)*15<<i)<<2)>>2]=n+a;b=b+1|0}a=a+1|0}}else a=1;while(0);return a|0}function Vt(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;m=Mb;Mb=Mb+16|0;l=m;k=(f|0)==16?24368:24304;a:do if(mT(b)|0){i=0;h=8;j=8;while(1){if((i|0)>=(f|0)){h=0;break a}if(!h)h=0;else{h=$t(b)|0;if((h+128|0)>>>0>255){i=8;break}h=h+j&255}if(!(h|i)){i=10;break}n=(h|0)==0?j:h;a[e+(d[k+i>>0]|0)>>0]=n;i=i+1|0;j=n}if((i|0)==8){c[l>>2]=h;AD(0,16,173559,l);h=-1094995529;break}else if((i|0)==10){Mn(e|0,g|0,f|0)|0;h=0;break}}else{Mn(e|0,h|0,f|0)|0;h=0}while(0);Mb=m;return h|0}function Wt(c,d,f,g,h,i,j,k){c=c|0;d=d|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;q=g>>>1;p=d>>>1;o=i+-1|0;l=20672+(o<<2)|0;m=20672+(o<<2)+1|0;n=20672+(o<<2)+2|0;o=20672+(o<<2)+3|0;i=0;d=f;j=c;while(1){if((i|0)>=(h|0))break;g=0;while(1){if((g|0)>=(k|0))break;f=H(e[d+(g+-1<<1)>>1]|0,a[l>>0]|0)|0;f=(H(e[d+(g<<1)>>1]|0,a[m>>0]|0)|0)+f|0;c=g+1|0;f=f+(H(e[d+(c<<1)>>1]|0,a[n>>0]|0)|0)|0;f=(f+(H(e[d+(g+2<<1)>>1]|0,a[o>>0]|0)|0)>>4)+2>>2;b[j+(g<<1)>>1]=f>>>0<4096?f:0-f>>31&4095;g=c}i=i+1|0;d=d+(q<<1)|0;j=j+(p<<1)|0}return}function Xt(c,d,f,g,h,i,j,k){c=c|0;d=d|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;q=g>>>1;p=d>>>1;o=i+-1|0;l=20672+(o<<2)|0;m=20672+(o<<2)+1|0;n=20672+(o<<2)+2|0;o=20672+(o<<2)+3|0;i=0;d=f;j=c;while(1){if((i|0)>=(h|0))break;g=0;while(1){if((g|0)>=(k|0))break;f=H(e[d+(g+-1<<1)>>1]|0,a[l>>0]|0)|0;f=(H(e[d+(g<<1)>>1]|0,a[m>>0]|0)|0)+f|0;c=g+1|0;f=f+(H(e[d+(c<<1)>>1]|0,a[n>>0]|0)|0)|0;f=(f+(H(e[d+(g+2<<1)>>1]|0,a[o>>0]|0)|0)>>2)+8>>4;b[j+(g<<1)>>1]=f>>>0<1024?f:0-f>>31&1023;g=c}i=i+1|0;d=d+(q<<1)|0;j=j+(p<<1)|0}return}function Yt(a,b,e){a=a|0;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;h=e+5|0;k=e+6|0;m=e+8|0;n=e+4|0;o=b+384|0;p=b+392|0;f=0;a:while(1){if(!(c[b+(f<<2)>>2]|0))break;if((f+-1|0)>>>0<2){j=d[k>>0]|0;l=d[h>>0]|0}else{j=0;l=0}if((f|0)==1&((c[m>>2]&66|0)!=0|0!=0)){q=6;break}i=d[n>>0]|0;g=0;while(1){if(g>>>0>=i>>>0)break a;if((c[e+16+(g<<5)>>2]|0)==(f|0))break;g=g+1|0}j=H((c[o>>2]|0)>>>j,c[b+32+(f<<2)>>2]|0)|0;l=(H((c[p>>2]|0)>>>l,c[e+16+(g<<5)+4>>2]|0)|0)+j|0;c[a+(f<<2)>>2]=l;f=f+1|0}if((q|0)==6)c[a+4>>2]=0;return}function Zt(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0;i=b>>1;b=0;d=0;f=0;while(1){if((b|0)==4)break;g=a+((H(b,i)|0)+-1<<1)|0;h=a+((H(b+4|0,i)|0)+-1<<1)|0;b=b+1|0;d=d+(e[g>>1]|0)|0;f=f+(e[h>>1]|0)|0}g=MR((d+2|0)>>>2|0,0,65537,65537)|0;h=M()|0;d=(f+2|0)>>>2;b=0;while(1){if((b|0)==4)break;f=a+((H(b,i)|0)<<1)|0;j=f;c[j>>2]=g;c[j+4>>2]=h;f=f+8|0;c[f>>2]=g;c[f+4>>2]=h;b=b+1|0}d=MR(d|0,0,65537,65537)|0;f=M()|0;b=4;while(1){if((b|0)==8)break;j=a+((H(b,i)|0)<<1)|0;h=j;c[h>>2]=d;c[h+4>>2]=f;j=j+8|0;c[j>>2]=d;c[j+4>>2]=f;b=b+1|0}return}function _t(c,d,f,g,h,i,j,k){c=c|0;d=d|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;q=g>>>1;p=d>>>1;o=i+-1|0;l=20672+(o<<2)|0;m=20672+(o<<2)+1|0;n=20672+(o<<2)+2|0;o=20672+(o<<2)+3|0;i=0;d=f;j=c;while(1){if((i|0)>=(h|0))break;g=0;while(1){if((g|0)>=(k|0))break;f=H(e[d+(g+-1<<1)>>1]|0,a[l>>0]|0)|0;f=(H(e[d+(g<<1)>>1]|0,a[m>>0]|0)|0)+f|0;c=g+1|0;f=f+(H(e[d+(c<<1)>>1]|0,a[n>>0]|0)|0)|0;f=(f+(H(e[d+(g+2<<1)>>1]|0,a[o>>0]|0)|0)>>1)+16>>5;b[j+(g<<1)>>1]=f>>>0<512?f:0-f>>31&511;g=c}i=i+1|0;d=d+(q<<1)|0;j=j+(p<<1)|0}return}function $t(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;f=b+8|0;g=c[f>>2]|0;h=c[b+16>>2]|0;e=c[b>>2]|0;b=e+(g>>>3)|0;b=(W_(d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24|0)|0)<<(g&7);if(b>>>0>134217727){b=b>>>23;g=g+(d[75744+b>>0]|0)|0;c[f>>2]=h>>>0>g>>>0?g:h;b=a[76768+b>>0]|0}else{j=b>>>0>65535;b=j?b>>>16:b;j=j?16:0;i=(b&65280|0)==0;b=(i?j:j|8)+(d[94448+(i?b:b>>>8)>>0]|0)|0;i=31-b+g|0;i=h>>>0>i>>>0?i:h;g=e+(i>>>3)|0;g=(W_(d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24|0)|0)<<(i&7)>>>b;b=i+(32-b)|0;c[f>>2]=h>>>0>b>>>0?b:h;b=g&1;b=(g>>>1^0-b)+b|0}return b|0}function au(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=Mb;Mb=Mb+16|0;h=i;e=a+8|0;f=c[e>>2]|0;g=c[a+16>>2]|0;a=(c[a>>2]|0)+(f>>>3)|0;a=(W_(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(f&7);do if(a>>>0<=134217727){k=a>>>0>65535;j=k?a>>>16:a;k=k?16:0;b=(j&65280|0)==0;j=(b?k:k|8)+(d[94448+(b?j:j>>>8)>>0]|0)|0;b=j<<1;f=63-b+f|0;c[e>>2]=g>>>0>f>>>0?f:g;if(j>>>0<19){AD(0,16,209405,h);a=-1094995529;break}else{a=(a>>>(b+-31|0))+-1|0;break}}else{a=a>>>23;k=f+(d[75744+a>>0]|0)|0;c[e>>2]=g>>>0>k>>>0?k:g;a=d[76256+a>>0]|0}while(0);Mb=i;return a|0}function bu(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;f=c[a+13444>>2]|0;j=(c[a+13384>>2]|0)-(((c[f+8>>2]|0)+-1|0)/2|0)|0;h=c[f+48>>2]|0;g=((h|0)<0)<<31>>31;j=MR(j|0,((j|0)<0)<<31>>31|0,h|0,g|0)|0;k=M()|0;e=c[f+32>>2]|0;e=_W(j|0,k|0,e|0,((e|0)<0)<<31>>31|0)|0;k=M()|0;j=c[f+40>>2]|0;i=((j|0)<0)<<31>>31;k=MR(e|0,k|0,j|0,i|0)|0;e=M()|0;f=c[f+36>>2]|0;f=_W(k|0,e|0,f|0,((f|0)<0)<<31>>31|0)|0;e=M()|0;a=c[a+40>>2]|0;g=MR(j|0,i|0,h|0,g|0)|0;a=MR(g|0,M()|0,a|0,((a|0)<0)<<31>>31|0)|0;d=lV(f,e,b,d,a,M()|0)|0;L(M()|0);return d|0}function cu(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=d&255;a:do if(!f)b=b+(nA(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=H(f,16843009)|0;e=c[b>>2]|0;b:do if(!((e&-2139062144^-2139062144)&e+-16843009))do{g=e^f;if((g&-2139062144^-2139062144)&g+-16843009|0)break b;b=b+4|0;e=c[b>>2]|0}while(!((e&-2139062144^-2139062144)&e+-16843009|0));while(0);e=d&255;while(1){g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break;else b=b+1|0}}while(0);return b|0}function du(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0;i=Mb;Mb=Mb+16|0;g=i+8|0;e=i;d=i+12|0;c[d>>2]=0;h=Zv(35633,17552)|0;do if((h|0)!=0?(a=Zv(35632,17712)|0,(a|0)!=0):0){b=Qa()|0;if(!b){EQ(169154)|0;b=0;break}Ja(b|0,h|0);Ja(b|0,a|0);eb(b|0);ab(b|0,35714,d|0);if(!(c[d>>2]|0)){jV(169170,e)|0;c[e>>2]=0;ab(b|0,35716,e|0);d=c[e>>2]|0;if(d|0?(f=zc(d)|0,f|0):0){$a(b|0,d|0,0,f|0);c[g>>2]=f;jV(169193,g)|0;Rd(f)}Sa(b|0);b=0}}else{b=0;a=0}while(0);Ta(h|0);Ta(a|0);Mb=i;return b|0}function eu(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=Mb;Mb=Mb+16|0;k=n+4|0;l=n;c[k>>2]=f;c[l>>2]=g;j=c[a>>2]|0;h=c[b+100>>2]|0;if(h|0?(i=j+2520|0,(c[i>>2]|0)==0):0){rn(a,h,c[b+104>>2]|0,b);c[i>>2]=1}do if(!(c[a+176>>2]&1)){h=ir(a,f,g)|0;if((Qi(j,h,k,l)|0)<0){c[d>>2]=0;c[e>>2]=0;h=c[l>>2]|0;break}else{f=c[k>>2]|0;i=c[l>>2]|0;m=8;break}}else{h=g;i=g;m=8}while(0);if((m|0)==8){rn(a,f,i,b);c[d>>2]=c[k>>2];c[e>>2]=c[l>>2]}Mb=n;return h|0}function fu(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;h=jY(e)|0;g=iY(e)|0;do if(!((b|0)<1|((d|0)<1|(h|0)==0))){if(!f){if((d|0)>2147483616){e=-22;break}d=d+31&-32;e=1}else e=f;if((2147483647/(e|0)|0|0)>=(b|0)?(i=MR(d|0,((d|0)<0)<<31>>31|0,b|0,((b|0)<0)<<31>>31|0)|0,k=M()|0,f=(2147483647-(H(e,b)|0)|0)/(h|0)|0,j=((f|0)<0)<<31>>31,!((k|0)>(j|0)|(k|0)==(j|0)&i>>>0>f>>>0)):0){f=(g|0)!=0;k=H(d,h)|0;e=e+-1+(H(k,f?1:b)|0)&0-e;if(a|0)c[a>>2]=e;e=H(e,f?b:1)|0}else e=-22}else e=-22;while(0);return e|0}function gu(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;g=0;while(1){if((g|0)>=(f|0))break;h=a;j=b;k=j;j=j+4|0;j=AQ(c[h>>2]|0,c[h+4>>2]|0,d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24,d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24)|0;k=M()|0;h=a;c[h>>2]=j;c[h+4>>2]=k;h=a+8|0;k=h;j=b+8|0;i=j;j=j+4|0;j=AQ(c[k>>2]|0,c[k+4>>2]|0,d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24,d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24)|0;i=M()|0;c[h>>2]=j;c[h+4>>2]=i;g=g+1|0;a=a+e|0;b=b+e|0}return}function hu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=c[a+60>>2]|0;b=0;while(1){if((b|0)==4)break;d=0;while(1){if((d|0)==16)break;e=c[g+492+(b<<6)+(d<<2)>>2]|0;if(e|0){c[e+74464>>2]=e+24288;c[e+148672>>2]=e+98496}d=d+1|0}b=b+1|0}f=g+8|0;jB(c[f>>2]|0);d=a+420|0;a:do if(c[d>>2]|0){b=c[f>>2]|0;c[b+76>>2]=2048;b=rQ(a,b,0)|0;if((b|0)>=0){d=c[d>>2]|0;b=0;while(1){if((b|0)>=(d|0)){b=0;break a}e=c[g+5412+(b<<2)>>2]|0;if(e|0)c[e+74176>>2]=c[(c[(c[f>>2]|0)+64>>2]|0)+(b<<2)>>2];b=b+1|0}}}else b=1;while(0);return b|0}function iu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;i=Mb;Mb=Mb+16|0;h=i;e=c[(c[a+12>>2]|0)+16>>2]|0;if((e&4096|0)!=0?(c[a+92>>2]&589824|0)==0:0)b=(c[a+96>>2]&32768|0)==0;else b=0;d=a+800|0;g=c[d>>2]|0;a:do if((g|0)!=1){if(b?(c[a+804>>2]&1|0)!=0:0){b=1;f=12}else f=8;do if((f|0)==8){if(e&8192|0?c[a+804>>2]&2|0:0){b=2;f=12;break}if(!(e&32768)){c[d>>2]=1;c[a+808>>2]=0;break a}}while(0);if((f|0)==12)c[a+808>>2]=b;if((g|0)>16){c[h>>2]=g;c[h+4>>2]=16;AD(a,24,209967,h)}}else c[a+808>>2]=0;while(0);Mb=i;return}function ju(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;zs(a,b);f=a+173812|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;f=a+64|0;if(c[f>>2]|0)ys(a,b);a:do if(c[b+16>>2]|0){d=0;while(1){if((d|0)==6)break;e=a+173788+(d<<2)|0;b=0;while(1){if((b|0)==16)break;c[(c[e>>2]|0)+(b<<2)>>2]=64;b=b+1|0}d=d+1|0}if(c[f>>2]|0){d=0;while(1){if((d|0)==6)break a;e=a+173812+(d<<2)|0;b=0;while(1){if((b|0)==64)break;c[(c[e>>2]|0)+(b<<2)>>2]=64;b=b+1|0}d=d+1|0}}}while(0);return}function ku(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=Mb;Mb=Mb+16|0;j=k+4|0;i=k;e=ft(j,d)|0;do if((e|0)>=0){f=d+8|0;h=c[j>>2]|0;a:while(1){switch(a[c[f>>2]>>0]|0){case 43:case 45:break;default:{f=8;break a}}e=ft(i,d)|0;if((e|0)<0){f=5;break}g=c[i>>2]|0;e=xS(21,h,g)|0;if(!e){f=7;break}else h=e}if((f|0)==5){c[j>>2]=h;wP(h);break}else if((f|0)==7){c[j>>2]=0;wP(h);wP(g);e=-12;break}else if((f|0)==8){c[j>>2]=h;c[b>>2]=h;e=0;break}}while(0);Mb=k;return e|0}function lu(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=0;f=0;g=0;h=0;while(1){if((e|0)==4)break;i=a+((H(e,b)|0)+-1)|0;i=f+(d[i>>0]|0)+(d[a+(e-b)>>0]|0)|0;j=e+4|0;k=a+((H(j,b)|0)+-1)|0;e=e+1|0;f=i;g=g+(d[a+(j-b)>>0]|0)|0;h=h+(d[k>>0]|0)|0}i=H((f+4|0)>>>3,16843009)|0;j=H((g+2|0)>>>2,16843009)|0;k=(h+2|0)>>>2;f=(h+4+g|0)>>>3;e=0;while(1){if((e|0)==4)break;h=a+(H(e,b)|0)|0;c[h>>2]=i;c[h+4>>2]=j;e=e+1|0}g=H(k,16843009)|0;f=H(f,16843009)|0;e=4;while(1){if((e|0)==8)break;k=a+(H(e,b)|0)|0;c[k>>2]=g;c[k+4>>2]=f;e=e+1|0}return}function mu(d,e,f){d=d|0;e=e|0;f=f|0;var g=0;g=uy(e+4|0,f+4|0)|0;do if((g|0)>=0){g=FP(c[f+44>>2]|0)|0;c[e+44>>2]=g;if((g|0?(c[e+20>>2]=c[f+20>>2],g=FP(c[f+48>>2]|0)|0,c[e+48>>2]=g,g|0):0)?(c[e+28>>2]=c[f+28>>2],g=FP(c[f+52>>2]|0)|0,c[e+52>>2]=g,g|0):0){c[e+36>>2]=c[f+36>>2];c[e+32>>2]=c[f+32>>2];a[e+66>>0]=a[f+66>>0]|0;b[e+64>>1]=b[f+64>>1]|0;if(!(c[f+60>>2]|0)){g=0;break}g=FP(c[f+56>>2]|0)|0;c[e+56>>2]=g;if(g|0){c[e+60>>2]=c[g+4>>2];g=0;break}}hB(d,e,-1);g=-12}while(0);return g|0}function nu(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0;j=b>>1;f=4-j|0;b=0;d=0;g=0;while(1){if((b|0)==4)break;h=d+(e[a+(b-j<<1)>>1]|0)|0;i=g+(e[a+(f+b<<1)>>1]|0)|0;b=b+1|0;d=h;g=i}h=MR((d+2|0)>>>2|0,0,65537,65537)|0;i=M()|0;d=MR((g+2|0)>>>2|0,0,65537,65537)|0;f=M()|0;b=0;while(1){if((b|0)==4)break;g=a+((H(b,j)|0)<<1)|0;k=g;c[k>>2]=h;c[k+4>>2]=i;g=g+8|0;c[g>>2]=d;c[g+4>>2]=f;b=b+1|0}b=4;while(1){if((b|0)==8)break;k=a+((H(b,j)|0)<<1)|0;g=k;c[g>>2]=h;c[g+4>>2]=i;k=k+8|0;c[k>>2]=d;c[k+4>>2]=f;b=b+1|0}return}function ou(a){a=a|0;var b=0,e=0,f=0;f=c[a+60>>2]|0;uD(f);bU(f+7648|0);bU(f+152|0);a=0;while(1){if((a|0)==3)break;bU(f+168+(a<<2)|0);bU(f+180+(a<<2)|0);a=a+1|0}rY(f+164|0);a=0;while(1){if((a|0)==32)break;e=f+3520+(a*68|0)|0;hB(f,e,-1);rY(e);a=a+1|0}yD(f+192|0);bU(f+3092|0);bU(f+3096|0);bU(f+3100|0);b=f+141|0;a=1;while(1){if(a>>>0>=(d[b>>0]|0)>>>0)break;e=f+72+(a<<2)|0;if(c[e>>2]|0){bU(e);bU(f+8+(a<<2)|0)}a=a+1|0}a=f+136|0;b=f+72|0;if((c[a>>2]|0)==(c[b>>2]|0))c[a>>2]=0;bU(b);DP(f+7612|0);return 0}function pu(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=d[b+-1>>0]|0;k=d[b+(e+-1)>>0]|0;c=e<<1;j=d[b+(c+-1)>>0]|0;g=e*3|0;f=a[b+(g+-1)>>0]|0;h=f&255;l=k+1|0;a[b>>0]=(l+m|0)>>>1;i=j+2|0;a[b+1>>0]=(i+m+(k<<1)|0)>>>2;l=(l+j|0)>>>1&255;a[b+e>>0]=l;a[b+2>>0]=l;k=(h+2+k+(j<<1)|0)>>>2&255;a[b+(e+1)>>0]=k;a[b+3>>0]=k;j=(j+1+h|0)>>>1&255;a[b+c>>0]=j;a[b+(e+2)>>0]=j;h=(i+h+(h<<1)|0)>>>2&255;a[b+(c|1)>>0]=h;a[b+(e+3)>>0]=h;a[b+(g+3)>>0]=f;a[b+(g+2)>>0]=f;a[b+(c+2)>>0]=f;a[b+g>>0]=f;a[b+(g+1)>>0]=f;a[b+(c+3)>>0]=f;return}function qu(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0.0,j=0.0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0;k=b+48|0;l=b+52|0;g=0;while(1){if((g|0)>=(e|0))break;j=+f[c+(g<<6)+48>>2];h=0;i=j*+f[k>>2];j=j*+f[l>>2];while(1){if((h|0)==6)break;o=+f[b+(h<<3)>>2];q=+f[b+(h<<3)+4>>2];s=12-h|0;n=+f[b+(s<<3)>>2];p=+f[b+(s<<3)+4>>2];r=+f[c+(g<<6)+(h<<3)>>2];m=+f[c+(g<<6)+(h<<3)+4>>2];h=h+1|0;i=i+((o+n)*r-(q-p)*m);j=j+(r*(q+p)+(o-n)*m)}s=H(g,d)|0;f[a+(s<<3)>>2]=i;f[a+(s<<3)+4>>2]=j;g=g+1|0}return}function ru(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=Mb;Mb=Mb+16|0;h=j;i=b+68|0;a:do if((c[a+68>>2]|0)>=(c[i>>2]|0)?(e=b+72|0,(c[a+72>>2]|0)>=(c[e>>2]|0)):0){f=a+80|0;g=jz(c[f>>2]|0)|0;d=0;while(1){if((d|0)>=(g|0))break;if(!(c[a+(d<<2)>>2]|0)){d=-22;break a}if(!(c[b+(d<<2)>>2]|0)){d=-22;break a}else d=d+1|0}c[h>>2]=c[b>>2];c[h+4>>2]=c[b+4>>2];c[h+8>>2]=c[b+8>>2];c[h+12>>2]=c[b+12>>2];jD(a,a+32|0,h,b+32|0,c[f>>2]|0,c[i>>2]|0,c[e>>2]|0);d=0}else d=-22;while(0);Mb=j;return d|0}function su(b,d){b=b|0;d=d|0;var e=0,f=0;e=d;a:do if(!((e^b)&3)){if(e&3)do{e=a[d>>0]|0;a[b>>0]=e;if(!(e<<24>>24))break a;d=d+1|0;b=b+1|0}while((d&3|0)!=0);e=c[d>>2]|0;if(!((e&-2139062144^-2139062144)&e+-16843009)){f=b;while(1){d=d+4|0;b=f+4|0;c[f>>2]=e;e=c[d>>2]|0;if((e&-2139062144^-2139062144)&e+-16843009|0)break;else f=b}}f=10}else f=10;while(0);if((f|0)==10){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 tu(a){a=a|0;var b=0.0,d=0,e=0,h=0;b=+f[a+68>>2];if(!(b>0.0))if((xW(c[a+20>>2]|0)|0)<3)b=1.0;else{h=(xW(c[a+16>>2]|0)|0)<3;b=h?1.0:2147483647.0}h=a+13456|0;jv(h|0,0,32768)|0;d=a+24|0;e=a+32|0;h=ld(c[d>>2]|0,c[d+4>>2]|0,c[e>>2]|0,c[e+4>>2]|0,+f[a+56>>2],+f[a+52>>2],+f[a+60>>2],b,+f[a+64>>2],h,64,c[a+72>>2]|0,a)|0;a:do if((h|0)>-1?(c[a+16>>2]|0)==8:0){e=0;while(1){if((e|0)==64)break a;d=0;while(1){if((d|0)==64)break;f[a+46224+(e<<8)+(d<<2)>>2]=+g[a+13456+(e<<9)+(d<<3)>>3];d=d+1|0}e=e+1|0}}while(0);return h|0}function uu(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,k=0,l=0,m=0,n=0,o=0;h=0;while(1){if((h|0)==4)break;n=b+(H(h,g)|0)|0;o=n;n=n+4|0;k=e+(h<<3)|0;m=k;k=k+4|0;i=a+(H(h,f)|0)|0;j=i;l=c[j>>2]|0;j=c[j+4>>2]|0;k=AQ(d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24,d[n>>0]|d[n+1>>0]<<8|d[n+2>>0]<<16|d[n+3>>0]<<24,d[m>>0]|d[m+1>>0]<<8|d[m+2>>0]<<16|d[m+3>>0]<<24,d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24)|0;k=AQ(l,j,k,M()|0)|0;j=M()|0;c[i>>2]=k;c[i+4>>2]=j;h=h+1|0}return}function vu(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;jv(d|0,0,10240)|0;h=c[b+76>>2]|0;g=0;while(1){if((g|0)==(h|0))break;a=8;while(1){if((a|0)==40)break;i=a+-8|0;c[d+(g*320|0)+(a<<3)>>2]=c[e+(f<<13)+(i<<8)+(g<<3)>>2];c[d+(g*320|0)+(a<<3)+4>>2]=c[e+(f<<13)+(i<<8)+(g<<3)+4>>2];a=a+1|0}g=g+1|0}f=1-f|0;h=c[b+72>>2]|0;g=0;while(1){if((g|0)==(h|0))break;a=0;while(1){if((a|0)==8)break;i=a+24|0;c[d+(g*320|0)+(a<<3)>>2]=c[e+(f<<13)+(i<<8)+(g<<3)>>2];c[d+(g*320|0)+(a<<3)+4>>2]=c[e+(f<<13)+(i<<8)+(g<<3)+4>>2];a=a+1|0}g=g+1|0}return 0}function wu(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;l=Mb;Mb=Mb+16|0;k=l+8|0;h=l;i=l+12|0;if((f+-16|0)>>>0<=2147483614){g=f+16|0;j=RD(f+17|0)|0;if(!j)f=-12;else{f=0;while(1){if((f|0)>=(g|0))break;m=(HG(d,8)|0)&255;a[j+f>>0]=m;f=f+1|0}a[j+f>>0]=0;g=j+16|0;c[h>>2]=i;d=(gV(g,174029,h)|0)==1;f=c[i>>2]|0;if(d&(f|0)>0)c[b>>2]=f;if(d&(f|0)==1?(nB(g,174044,16)|0)==0:0)c[b>>2]=67;if(nA(g)|0){c[k>>2]=g;AD(e,48,174061,k)}$1(j);f=0}}else f=-1094995529;Mb=l;return f|0}function xu(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;if((HG(b,12)|0)==4095){s1(b);eW(b,2);g=mT(b)|0;h=HG(b,2)|0;i=HG(b,4)|0;j=c[80848+(i<<2)>>2]|0;if(j){s1(b);f=HG(b,3)|0;s1(b);s1(b);s1(b);s1(b);e=HG(b,13)|0;if((e|0)<7)e=-67308554;else{eW(b,11);b=HG(b,2)|0;a[d+13>>0]=h+1;a[d+15>>0]=f;a[d+12>>0]=g;h=b+1|0;a[d+16>>0]=h;a[d+14>>0]=i;c[d>>2]=j;i=h<<10;c[d+4>>2]=i;j=((H(j<<3,e)|0)>>>0)/(i>>>0)|0;c[d+8>>2]=j}}else e=-50531338}else e=-16976906;return e|0}function yu(){var b=0,c=0,e=0,f=0,g=0,h=0,i=0;g=0;while(1){if((g|0)==7)break;i=-1<<g;h=0;while(1){if((h|0)==256)break;c=(h&32640|0)==0;c=(c?0:8)+(d[94448+(c?h<<1:h>>>7)>>0]|0)|0;e=8-c|0;f=e+1|0;b=f+g|0;do if((b|0)>=9)if(!c){a[1051072+(g<<9)+(h<<1)>>0]=108;b=8;break}else{a[1051072+(g<<9)+(h<<1)>>0]=e+100;b=f&255;break}else{f=(h&65280|0)==0;e=(e<<g)+i+(h>>>((f?0:8)-g+(d[94448+(f?h:h>>>8)>>0]|0)|0))|0;f=e&1;a[1051072+(g<<9)+(h<<1)>>0]=((e+2|0)>>>1^0-f)+f;b=b&255}while(0);a[1051072+(g<<9)+(h<<1)+1>>0]=b;h=h+1|0}g=g+1|0}return}function zu(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;var l=0,m=0,n=0,o=0,p=0;m=c[a+1412>>2]|0;l=c[m+52>>2]|0;o=c[m+13376>>2]>>c[m+13424+(i<<2)>>2];m=c[m+13380>>2]>>c[m+13436+(i<<2)>>2];p=a+168+(i<<2)|0;n=k<<1;k=g<<l;Mn((c[p>>2]|0)+((H(o,n)|0)+e<<l)|0,b|0,k|0)|0;Mn((c[p>>2]|0)+((H(o,n|1)|0)+e<<l)|0,b+(H(h+-1|0,d)|0)|0,k|0)|0;i=a+180+(i<<2)|0;j=j<<1;k=1<<l;CB((c[i>>2]|0)+((H(m,j)|0)+f<<l)|0,b,l,h,k,d);CB((c[i>>2]|0)+((H(m,j|1)|0)+f<<l)|0,b+(g+-1<<l)|0,l,h,k,d);return}function Au(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=Mb;Mb=Mb+16|0;g=h;e=c[a+4>>2]|0;c[a+26988>>2]=0;f=(d|0)!=0;if(!f?(c[e+808>>2]&1|0)!=0:0)b=0;else{if(!(c[a+25672>>2]|0)){b=Bd(a)|0;c[a+28232>>2]=c[a+28212>>2];c[a+28236>>2]=c[a+28208>>2]}else b=0;c[a+28244>>2]=c[a+28240>>2];c[a+28248>>2]=c[a+28228>>2]}d=c[e+704>>2]|0;if(d){b=Vb[c[d+36>>2]&31](e)|0;if((b|0)<0)AD(e,16,206239,g)}if(!f?(c[a+25672>>2]|0)==0:0)Dy((c[a+24312>>2]|0)+4|0,2147483647,(c[a+26364>>2]|0)==2&1);c[a+29544>>2]=0;Mb=h;return b|0}function Bu(c,e,f,g,h,i,j){c=c|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;m=((a[20752+(h<<2)+1>>0]|0)*160|0)+(a[20752+(h<<2)>>0]|0)|0;l=((a[20752+(h<<2)+3>>0]|0)*160|0)+(a[20752+(h<<2)+2>>0]|0)|0;h=e;k=0;while(1){if((k|0)>=(j|0))break;e=0;while(1){if((e|0)>=(i|0))break;n=a[h+e>>0]|0;p=a[h+(m+e)>>0]|0;o=a[h+(l+e)>>0]|0;n=(b[g+(d[180762+((((n&255)<(p&255))<<31>>31)+2+((n&255)>(p&255)&1)+(((n&255)<(o&255))<<31>>31)+((n&255)>(o&255)&1))>>0]<<1)>>1]|0)+(n&255)|0;a[c+e>>0]=n>>>0>255?0-n>>31:n;e=e+1|0}c=c+f|0;h=h+160|0;k=k+1|0}return}function Cu(b,c){b=b|0;c=c|0;var e=0,f=0,g=0;g=b+c|0;e=a[b+5>>0]&31;b=b+6|0;while(1){if(!e){f=6;break}c=((X0(d[b>>0]|d[b+1>>0]<<8|0)|0)&65535)+2|0;if((c|0)>(g-b|0)){c=0;break}if((a[b+2>>0]&-97)<<24>>24!=7){c=0;break}e=e+-1|0;b=b+c|0}a:do if((f|0)==6){c=a[b>>0]|0;if(!(c<<24>>24))c=0;else{e=c&255;c=b+1|0;while(1){if(!e){c=1;break a}b=((X0(d[c>>0]|d[c+1>>0]<<8|0)|0)&65535)+2|0;if((b|0)>(g-c|0)){c=0;break a}if((a[c+2>>0]&-97)<<24>>24!=8){c=0;break a}e=e+-1|0;c=c+b|0}}}while(0);return c|0}function Du(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0;m=b+8|0;n=d+16|0;o=b+12|0;p=d+24|0;q=b+16|0;r=d+32|0;h=b+4|0;i=d+56|0;j=b+20|0;k=d+88|0;l=a+4|0;f=0;while(1){if((f|0)>=(e|0))break;s=+g[(c[m>>2]|0)+(f<<3)>>3]*+g[n>>3]+ +g[(c[o>>2]|0)+(f<<3)>>3]*+g[p>>3];g[(c[a>>2]|0)+(f<<3)>>3]=s+ +g[(c[b>>2]|0)+(f<<3)>>3]*+g[d>>3]+ +g[(c[q>>2]|0)+(f<<3)>>3]*+g[r>>3];g[(c[l>>2]|0)+(f<<3)>>3]=s+ +g[(c[h>>2]|0)+(f<<3)>>3]*+g[i>>3]+ +g[(c[j>>2]|0)+(f<<3)>>3]*+g[k>>3];f=f+1|0}return}function Eu(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;h=Mb;Mb=Mb+32|0;f=h;e=a[d>>0]|0;a:do if(e<<24>>24!=0?(a[d+1>>0]|0)!=0:0){jv(f|0,0,32)|0;e=a[d>>0]|0;if(e<<24>>24)do{j=e&255;i=f+(j>>>5<<2)|0;c[i>>2]=c[i>>2]|1<<(j&31);d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0);d=a[b>>0]|0;if(!(d<<24>>24))e=b;else{e=b;do{j=d&255;if(c[f+(j>>>5<<2)>>2]&1<<(j&31)|0)break a;e=e+1|0;d=a[e>>0]|0}while(d<<24>>24!=0)}}else g=3;while(0);if((g|0)==3)e=cu(b,e<<24>>24)|0;Mb=h;return e-b|0}function Fu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|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.0;m=b+8|0;n=d+8|0;o=b+12|0;p=d+12|0;q=b+16|0;r=d+16|0;h=b+4|0;i=d+28|0;j=b+20|0;k=d+44|0;l=a+4|0;g=0;while(1){if((g|0)>=(e|0))break;s=+f[(c[m>>2]|0)+(g<<2)>>2]*+f[n>>2]+ +f[(c[o>>2]|0)+(g<<2)>>2]*+f[p>>2];f[(c[a>>2]|0)+(g<<2)>>2]=s+ +f[(c[b>>2]|0)+(g<<2)>>2]*+f[d>>2]+ +f[(c[q>>2]|0)+(g<<2)>>2]*+f[r>>2];f[(c[l>>2]|0)+(g<<2)>>2]=s+ +f[(c[h>>2]|0)+(g<<2)>>2]*+f[i>>2]+ +f[(c[j>>2]|0)+(g<<2)>>2]*+f[k>>2];g=g+1|0}return}function Gu(b,c){b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=23024+(0-(d[b+~c>>0]|0))|0;n=b+(0-c)|0;f=n+1|0;g=n+2|0;h=n+3|0;i=n+4|0;j=n+5|0;k=n+6|0;l=n+7|0;e=0;while(1){if((e|0)==8)break;o=m+(d[b+-1>>0]|0)|0;a[b>>0]=a[o+(d[n>>0]|0)>>0]|0;a[b+1>>0]=a[o+(d[f>>0]|0)>>0]|0;a[b+2>>0]=a[o+(d[g>>0]|0)>>0]|0;a[b+3>>0]=a[o+(d[h>>0]|0)>>0]|0;a[b+4>>0]=a[o+(d[i>>0]|0)>>0]|0;a[b+5>>0]=a[o+(d[j>>0]|0)>>0]|0;a[b+6>>0]=a[o+(d[k>>0]|0)>>0]|0;a[b+7>>0]=a[o+(d[l>>0]|0)>>0]|0;b=b+c|0;e=e+1|0}return}function Hu(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;g=c[b+136>>2]|0;m=c[b+1412>>2]|0;j=c[m+13336>>2]|0;i=(1<<j)+-1|0;j=-1<<j-(c[(c[b+1416>>2]|0)+24>>2]|0);h=j&d;j=j&e;k=c[m+13396>>2]|0;m=c[m+13320>>2]|0;l=h>>m;m=j>>m;f=g+203|0;if((a[f>>0]|0)!=0|(h|j|0)==0){a[f>>0]=(a[g+300>>0]|0)==0&1;f=a[b+3108>>0]|0}else f=c[g+276>>2]|0;if((i&d|0)==0|(h&i|0)==0)g=f;else{g=l+-1+(H(m,k)|0)|0;g=a[(c[b+7548>>2]|0)+g>>0]|0}if(!((i&e|0)==0|(j&i|0)==0)){f=(H(m+-1|0,k)|0)+l|0;f=a[(c[b+7548>>2]|0)+f>>0]|0}return g+1+f>>1|0}function Iu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0.0,j=0,k=0,l=0,m=0,n=0;m=Mb;Mb=Mb+16|0;k=m;j=m+4|0;do if(!d)f=0;else{if(PF(d,212910)|0)if(!(Xy(d,212915)|0))if(!(Xy(d,212944)|0)){c[j>>2]=0;h=KY(d,j,10)|0;n=d+(nA(d)|0)|0;if((n|0)==(c[j>>2]|0)){f=h;l=6}}else{f=0;l=6}else{f=1;l=6}else{f=-1;l=6}if(((l|0)==6?(i=+(f|0),!(+g[b+24>>3]>i)):0)?!(+g[b+32>>3]<i):0){c[e>>2]=f;f=0;break}c[k>>2]=d;AD(a,16,212976,k);f=-22}while(0);Mb=m;return f|0}function Ju(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;f=a+80|0;h=iY(c[f>>2]|0)|0;g=c[a+352>>2]|0;h=(h|0)==0?1:g;e=c[a+76>>2]|0;a:do if(((e|0)==(c[b+76>>2]|0)?(g|0)==(c[b+352>>2]|0):0)?(i=a+240|0,d=b+240|0,(c[i>>2]|0)==(c[d>>2]|0)?(c[i+4>>2]|0)==(c[d+4>>2]|0):0):0){d=c[a+64>>2]|0;b=b+64|0;a=0;while(1){if((a|0)>=(h|0))break;if(!(c[d+(a<<2)>>2]|0)){a=-22;break a}if(!(c[(c[b>>2]|0)+(a<<2)>>2]|0)){a=-22;break a}else a=a+1|0}Su(d,c[b>>2]|0,0,0,e,g,c[f>>2]|0)|0;a=0}else a=-22;while(0);return a|0}function Ku(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=Mb;Mb=Mb+16|0;i=j;g=j+8|0;c[g>>2]=0;do if(b){f=0;while(1){f=as(c[b>>2]|0,1113148,f,2)|0;if(!f){d=8;break}h=f+4|0;e=me(a,c[f>>2]|0,c[h>>2]|0,d)|0;if((e|0)==-1414549496)e=gh(g,c[f>>2]|0,c[h>>2]|0,0)|0;if((e|0)<0){d=7;break}}if((d|0)==7){h=c[h>>2]|0;c[i>>2]=c[f>>2];c[i+4>>2]=h;AD(a,16,213073,i);pJ(g);break}else if((d|0)==8){pJ(b);c[b>>2]=c[g>>2];e=0;break}}else e=0;while(0);Mb=j;return e|0}function Lu(b,c,e,f,g,h,i,j){b=b|0;c=c|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;n=i+-1|0;p=20672+(n<<2)|0;l=20672+(n<<2)+1|0;m=20672+(n<<2)+2|0;n=20672+(n<<2)+3|0;o=f<<1;k=0;i=b;while(1){if((k|0)>=(g|0))break;h=0;while(1){if((h|0)>=(j|0))break;r=H(d[e+(h-f)>>0]|0,a[p>>0]|0)|0;q=H(d[e+h>>0]|0,a[l>>0]|0)|0;b=H(d[e+(h+f)>>0]|0,a[m>>0]|0)|0;b=r+32+q+b+(H(d[e+(h+o)>>0]|0,a[n>>0]|0)|0)>>6;a[i+h>>0]=b>>>0>255?0-b>>31:b;h=h+1|0}k=k+1|0;e=e+f|0;i=i+c|0}return}function Mu(c,d,f,g,h,i,j){c=c|0;d=d|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;p=f>>>1;n=i+-1|0;o=20672+(n<<2)|0;l=20672+(n<<2)+1|0;m=20672+(n<<2)+2|0;n=20672+(n<<2)+3|0;k=f&-2;i=d;f=0;while(1){if((f|0)>=(g|0))break;h=0;while(1){if((h|0)>=(j|0))break;d=H(e[i+(h-p<<1)>>1]|0,a[o>>0]|0)|0;d=(H(e[i+(h<<1)>>1]|0,a[l>>0]|0)|0)+d|0;d=d+(H(e[i+(h+p<<1)>>1]|0,a[m>>0]|0)|0)|0;d=(d+(H(e[i+(h+k<<1)>>1]|0,a[n>>0]|0)|0)|0)>>>4&65535;b[c+(h<<1)>>1]=d;h=h+1|0}c=c+128|0;i=i+(p<<1)|0;f=f+1|0}return}function Nu(c,d,f,g,h,i,j){c=c|0;d=d|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;p=f>>>1;n=i+-1|0;o=20672+(n<<2)|0;l=20672+(n<<2)+1|0;m=20672+(n<<2)+2|0;n=20672+(n<<2)+3|0;k=f&-2;i=d;f=0;while(1){if((f|0)>=(g|0))break;h=0;while(1){if((h|0)>=(j|0))break;d=H(e[i+(h-p<<1)>>1]|0,a[o>>0]|0)|0;d=(H(e[i+(h<<1)>>1]|0,a[l>>0]|0)|0)+d|0;d=d+(H(e[i+(h+p<<1)>>1]|0,a[m>>0]|0)|0)|0;d=(d+(H(e[i+(h+k<<1)>>1]|0,a[n>>0]|0)|0)|0)>>>2&65535;b[c+(h<<1)>>1]=d;h=h+1|0}c=c+128|0;i=i+(p<<1)|0;f=f+1|0}return}function Ou(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;h=c[b+136>>2]|0;k=c[b+1412>>2]|0;g=c[k+13340>>2]|0;i=1<<f>>g;k=c[k+13412>>2]|0;l=c[(c[b+3516>>2]|0)+20>>2]|0;j=d>>g;g=e>>g;i=(i|0)==0?1:i;d=b+7572|0;f=0;while(1){if((f|0)>=(i|0))break;jv((c[d>>2]|0)+((H(f+g|0,k)|0)+j)|0,1,i|0)|0;f=f+1|0}a:do if((c[h+31244>>2]|0)==1){d=0;while(1){if((d|0)>=(i|0))break a;e=(H(d+g|0,k)|0)+j|0;f=0;while(1){if((f|0)>=(i|0))break;a[l+((e+f|0)*12|0)+10>>0]=0;f=f+1|0}d=d+1|0}}while(0);return}function Pu(c,d,f,g,h,i,j){c=c|0;d=d|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;p=f>>>1;n=i+-1|0;o=20672+(n<<2)|0;l=20672+(n<<2)+1|0;m=20672+(n<<2)+2|0;n=20672+(n<<2)+3|0;k=f&-2;i=d;f=0;while(1){if((f|0)>=(g|0))break;h=0;while(1){if((h|0)>=(j|0))break;d=H(e[i+(h-p<<1)>>1]|0,a[o>>0]|0)|0;d=(H(e[i+(h<<1)>>1]|0,a[l>>0]|0)|0)+d|0;d=d+(H(e[i+(h+p<<1)>>1]|0,a[m>>0]|0)|0)|0;d=(d+(H(e[i+(h+k<<1)>>1]|0,a[n>>0]|0)|0)|0)>>>1&65535;b[c+(h<<1)>>1]=d;h=h+1|0}c=c+128|0;i=i+(p<<1)|0;f=f+1|0}return}function Qu(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=Mb;Mb=Mb+16|0;h=j;g=0;while(1){if(g>>>0>=53){i=6;break}if(!(PF(c[95040+(g*12|0)>>2]|0,e)|0)){i=4;break}g=g+1|0}if((i|0)==4){f=c[95040+(g*12|0)+8>>2]|0;e=c[95040+(g*12|0)+4>>2]|0;i=10}else if((i|0)==6)if((g|0)==53){e=KY(e,h,10)|0;f=c[h>>2]|0;if(a[f>>0]|0){f=f+1|0;c[h>>2]=f}f=KY(f,h,10)|0;if(!(a[c[h>>2]>>0]|0))i=10;else e=-22}else e=-22;if((i|0)==10)if((e|0)<1|(f|0)<1)e=-22;else{c[b>>2]=e;c[d>>2]=f;e=0}Mb=j;return e|0}function Ru(c,f,g){c=c|0;f=f|0;g=g|0;var h=0,i=0,j=0;i=f;h=0;while(1){if((h|0)==8)break;a[c>>0]=(d[c>>0]|0)+(e[i>>1]|0);j=c+1|0;a[j>>0]=(d[j>>0]|0)+(e[i+2>>1]|0);j=c+2|0;a[j>>0]=(d[j>>0]|0)+(e[i+4>>1]|0);j=c+3|0;a[j>>0]=(d[j>>0]|0)+(e[i+6>>1]|0);j=c+4|0;a[j>>0]=(d[j>>0]|0)+(e[i+8>>1]|0);j=c+5|0;a[j>>0]=(d[j>>0]|0)+(e[i+10>>1]|0);j=c+6|0;a[j>>0]=(d[j>>0]|0)+(e[i+12>>1]|0);j=c+7|0;a[j>>0]=(d[j>>0]|0)+(e[i+14>>1]|0);i=i+16|0;c=c+g|0;h=h+1|0}c=f+128|0;do{b[f>>1]=0;f=f+2|0}while((f|0)<(c|0));return}function Su(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;k=(iY(h)|0)!=0;j=k?g:1;i=jY(h)|0;g=H(k?1:g,i)|0;i=H(g,f)|0;h=H(g,d)|0;g=H(g,e)|0;k=c[a>>2]|0;f=c[b>>2]|0;e=f;d=k;a:do if(((k>>>0<f>>>0?e-d|0:d-e|0)|0)<(i|0)){f=0;while(1){if((f|0)>=(j|0))break a;WL((c[a+(f<<2)>>2]|0)+h|0,(c[b+(f<<2)>>2]|0)+g|0,i|0)|0;f=f+1|0}}else{f=0;while(1){if((f|0)>=(j|0))break a;Mn((c[a+(f<<2)>>2]|0)+h|0,(c[b+(f<<2)>>2]|0)+g|0,i|0)|0;f=f+1|0}}while(0);return 0}function Tu(c,d,f,g,h,i,j){c=c|0;d=d|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;o=f>>>1;m=h+-1|0;n=20672+(m<<2)|0;k=20672+(m<<2)+1|0;l=20672+(m<<2)+2|0;m=20672+(m<<2)+3|0;i=d;h=0;while(1){if((h|0)>=(g|0))break;f=0;while(1){if((f|0)>=(j|0))break;p=H(e[i+(f+-1<<1)>>1]|0,a[n>>0]|0)|0;p=(H(e[i+(f<<1)>>1]|0,a[k>>0]|0)|0)+p|0;d=f+1|0;p=p+(H(e[i+(d<<1)>>1]|0,a[l>>0]|0)|0)|0;p=(p+(H(e[i+(f+2<<1)>>1]|0,a[m>>0]|0)|0)|0)>>>4&65535;b[c+(f<<1)>>1]=p;f=d}c=c+128|0;i=i+(o<<1)|0;h=h+1|0}return}function Uu(c,d,f,g,h,i,j){c=c|0;d=d|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;o=f>>>1;m=h+-1|0;n=20672+(m<<2)|0;k=20672+(m<<2)+1|0;l=20672+(m<<2)+2|0;m=20672+(m<<2)+3|0;i=d;h=0;while(1){if((h|0)>=(g|0))break;f=0;while(1){if((f|0)>=(j|0))break;p=H(e[i+(f+-1<<1)>>1]|0,a[n>>0]|0)|0;p=(H(e[i+(f<<1)>>1]|0,a[k>>0]|0)|0)+p|0;d=f+1|0;p=p+(H(e[i+(d<<1)>>1]|0,a[l>>0]|0)|0)|0;p=(p+(H(e[i+(f+2<<1)>>1]|0,a[m>>0]|0)|0)|0)>>>2&65535;b[c+(f<<1)>>1]=p;f=d}c=c+128|0;i=i+(o<<1)|0;h=h+1|0}return}function Vu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=Mb;Mb=Mb+16|0;g=i+8|0;f=i;h=mR(c[a+48>>2]|0,b)|0;do if(h){if(c[h+16>>2]&512|0?(c[a+672>>2]|0)>-2:0){c[g>>2]=c[h>>2];AD(a,24,172068,g);e=-1163346256;break}b=c[h+56>>2]|0;if(b|0?(g=EZ(b)|0,c[(c[a+64>>2]|0)+60>>2]=g,(g|0)==0):0){e=-12;break}d=a+704|0;c[d>>2]=h;b=c[h+48>>2]|0;if((b|0)!=0?(e=Vb[b&31](a)|0,(e|0)<0):0){bU((c[a+64>>2]|0)+60|0);c[d>>2]=0}else e=0}else{c[f>>2]=d;AD(a,16,172015,f);e=-2}while(0);Mb=i;return e|0}function Wu(c,d,f,g,h,i,j){c=c|0;d=d|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;o=f>>>1;m=h+-1|0;n=20672+(m<<2)|0;k=20672+(m<<2)+1|0;l=20672+(m<<2)+2|0;m=20672+(m<<2)+3|0;i=d;h=0;while(1){if((h|0)>=(g|0))break;f=0;while(1){if((f|0)>=(j|0))break;p=H(e[i+(f+-1<<1)>>1]|0,a[n>>0]|0)|0;p=(H(e[i+(f<<1)>>1]|0,a[k>>0]|0)|0)+p|0;d=f+1|0;p=p+(H(e[i+(d<<1)>>1]|0,a[l>>0]|0)|0)|0;p=(p+(H(e[i+(f+2<<1)>>1]|0,a[m>>0]|0)|0)|0)>>>1&65535;b[c+(f<<1)>>1]=p;f=d}c=c+128|0;i=i+(o<<1)|0;h=h+1|0}return}function Xu(a,b,d){a=a|0;b=+b;d=d|0;var e=0,h=0,i=0.0,j=0.0,k=0.0,l=0,m=0,n=0.0;m=Mb;Mb=Mb+8208|0;e=m+8192|0;l=m;k=b*3.141592653589793/+(d|0);k=k*k;if((d|0)>=1025){c[e>>2]=209900;c[e+4>>2]=209910;c[e+8>>2]=33;AD(0,0,222515,e);ba()}e=0;i=0.0;while(1){if((e|0)>=(d|0))break;j=k*+(H(d-e|0,e)|0);h=50;b=1.0;while(1){if(!h)break;n=j*b/+(H(h,h)|0)+1.0;h=h+-1|0;b=n}n=i+b;g[l+(e<<3)>>3]=n;e=e+1|0;i=n}b=i+1.0;e=0;while(1){if((e|0)>=(d|0))break;n=+v(+(+g[l+(e<<3)>>3]/b));f[a+(e<<2)>>2]=n;e=e+1|0}Mb=m;return}function Yu(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=d+4|0;bU(d);c[j>>2]=0;do if((b|0)!=0?(e=nA(b)|0,(e|0)!=0):0)if(!(e&1)){h=(e|0)/2|0;i=RD(h)|0;if(i){g=i;while(1){e=a[b>>0]|0;if(!(e<<24>>24)){b=10;break}e=kU(e)|0;f=kU(a[b+1>>0]|0)|0;if((f|e|0)<0){b=8;break}a[g>>0]=f|e<<4;b=b+2|0;g=g+1|0}if((b|0)==8){$1(i);e=-22;break}else if((b|0)==10){c[d>>2]=i;c[j>>2]=h;e=0;break}}else e=-12}else e=-22;else e=0;while(0);return e|0}function Zu(b,c,e,f,g,h,i,j){b=b|0;c=c|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;n=h+-1|0;o=20672+(n<<2)|0;l=20672+(n<<2)+1|0;m=20672+(n<<2)+2|0;n=20672+(n<<2)+3|0;k=0;i=b;while(1){if((k|0)>=(g|0))break;h=0;while(1){if((h|0)>=(j|0))break;r=H(d[e+(h+-1)>>0]|0,a[o>>0]|0)|0;q=H(d[e+h>>0]|0,a[l>>0]|0)|0;b=h+1|0;p=H(d[e+b>>0]|0,a[m>>0]|0)|0;p=r+32+q+p+(H(d[e+(h+2)>>0]|0,a[n>>0]|0)|0)>>6;a[i+h>>0]=p>>>0>255?0-p>>31:p;h=b}k=k+1|0;e=e+f|0;i=i+c|0}return}function _u(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;i=a+44|0;j=c[i>>2]|0;h=a+40|0;a=0;while(1){if((a|0)>=(j|0)){g=6;break}f=c[h>>2]|0;if((c[f+(a*12|0)+8>>2]|0)==(b|0)){g=4;break}a=a+1|0}if((g|0)==4){j=f+(a*12|0)|0;$1(c[j>>2]|0);c[j>>2]=d;c[f+(a*12|0)+4>>2]=e;a=0}else if((g|0)==6){a=j+1|0;if(a>>>0<=83){a=WW(c[h>>2]|0,a*12|0)|0;if(!a)a=-12;else{c[h>>2]=a;c[a+(j*12|0)>>2]=d;c[a+(j*12|0)+4>>2]=e;c[a+(j*12|0)+8>>2]=b;c[i>>2]=(c[i>>2]|0)+1;a=0}}else a=-34}return a|0}function $u(a,b,d,e,g){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0.0,l=0,m=0.0,n=0,o=0;h=0;while(1){if((h|0)>=(g|0))break;n=h+g|0;i=g-h+-1|0;j=c[e+(n<<2)>>2]|0;l=c[e+(i<<2)>>2]|0;k=+f[b+(l<<3)+4>>2];m=+f[d+(i<<3)+4>>2];l=b+(l<<3)|0;o=d+(i<<3)|0;f[a+(i<<3)>>2]=k*m-+f[l>>2]*+f[o>>2];f[a+(n<<3)+4>>2]=k*+f[o>>2]+m*+f[l>>2];m=+f[b+(j<<3)+4>>2];k=+f[d+(n<<3)+4>>2];j=b+(j<<3)|0;l=d+(n<<3)|0;f[a+(n<<3)>>2]=m*k-+f[j>>2]*+f[l>>2];f[a+(i<<3)+4>>2]=m*+f[l>>2]+k*+f[j>>2];h=h+1|0}return}function av(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;h=0;i=0;a=e;while(1){if((h|0)>=(g|0))break;e=(c[1055680+((d[b>>0]|0)-(d[a>>0]|0)<<2)>>2]|0)+i+(c[1055680+((d[b+1>>0]|0)-(d[a+1>>0]|0)<<2)>>2]|0)+(c[1055680+((d[b+2>>0]|0)-(d[a+2>>0]|0)<<2)>>2]|0)+(c[1055680+((d[b+3>>0]|0)-(d[a+3>>0]|0)<<2)>>2]|0)+(c[1055680+((d[b+4>>0]|0)-(d[a+4>>0]|0)<<2)>>2]|0)+(c[1055680+((d[b+5>>0]|0)-(d[a+5>>0]|0)<<2)>>2]|0)+(c[1055680+((d[b+6>>0]|0)-(d[a+6>>0]|0)<<2)>>2]|0)+(c[1055680+((d[b+7>>0]|0)-(d[a+7>>0]|0)<<2)>>2]|0)|0;b=b+f|0;h=h+1|0;i=e;a=a+f|0}return i|0}function bv(b,d,e,f,g,h,i,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0;o=Mb;Mb=Mb+64|0;n=(o|4)+-1&-16;if((h|0)==3?(c[(c[b+1416>>2]|0)+1620>>2]|0)>2:0){e=c[b+136>>2]|0;d=c[e+31236>>2]|0;e=c[e+31240>>2]|0;l=8;m=8;h=0;i=1}else{l=f;m=g;h=i;i=0}Ct(b,d,e,l,m);Zc(b,d,e,l,m,i,h,j,n);h=n+(j*12|0)|0;d=n+(j*12|0)+10|0;if((g+f|0)==12&(a[d>>0]|0)==3)a[d>>0]=1;c[k>>2]=c[h>>2];c[k+4>>2]=c[h+4>>2];c[k+8>>2]=c[h+8>>2];Mb=o;return}function cv(a,d,f,g,h,i,j,k){a=a|0;d=d|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;p=Mb;Mb=Mb+128|0;o=p;l=o;m=l+128|0;do{c[l>>2]=0;l=l+4|0}while((l|0)<(m|0));n=f>>>1;f=0;while(1){if((f|0)==4)break;m=f+1|0;c[o+((f+i&31)<<2)>>2]=b[h+(m<<1)>>1];f=m}m=g>>>1;l=0;while(1){if((l|0)>=(k|0))break;f=0;while(1){if((f|0)>=(j|0))break;i=e[d+(f<<1)>>1]|0;i=(c[o+(i>>>7<<2)>>2]|0)+i|0;b[a+(f<<1)>>1]=i>>>0<4096?i:0-i>>31&4095;f=f+1|0}l=l+1|0;d=d+(m<<1)|0;a=a+(n<<1)|0}Mb=p;return}function dv(a,d,f,g,h,i,j,k){a=a|0;d=d|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;p=Mb;Mb=Mb+128|0;o=p;l=o;m=l+128|0;do{c[l>>2]=0;l=l+4|0}while((l|0)<(m|0));n=f>>>1;f=0;while(1){if((f|0)==4)break;m=f+1|0;c[o+((f+i&31)<<2)>>2]=b[h+(m<<1)>>1];f=m}m=g>>>1;l=0;while(1){if((l|0)>=(k|0))break;f=0;while(1){if((f|0)>=(j|0))break;i=e[d+(f<<1)>>1]|0;i=(c[o+(i>>>5<<2)>>2]|0)+i|0;b[a+(f<<1)>>1]=i>>>0<1024?i:0-i>>31&1023;f=f+1|0}l=l+1|0;d=d+(m<<1)|0;a=a+(n<<1)|0}Mb=p;return}function ev(a,d,f,g,h,i,j,k){a=a|0;d=d|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;p=Mb;Mb=Mb+128|0;o=p;l=o;m=l+128|0;do{c[l>>2]=0;l=l+4|0}while((l|0)<(m|0));n=f>>>1;f=0;while(1){if((f|0)==4)break;m=f+1|0;c[o+((f+i&31)<<2)>>2]=b[h+(m<<1)>>1];f=m}m=g>>>1;l=0;while(1){if((l|0)>=(k|0))break;f=0;while(1){if((f|0)>=(j|0))break;i=e[d+(f<<1)>>1]|0;i=(c[o+(i>>>4<<2)>>2]|0)+i|0;b[a+(f<<1)>>1]=i>>>0<512?i:0-i>>31&511;f=f+1|0}l=l+1|0;d=d+(m<<1)|0;a=a+(n<<1)|0}Mb=p;return}function fv(a,b){a=a|0;b=b|0;var d=0;a:do switch(b|0){case 0:break;case 1:{if(!(c[a>>2]|0)){b=RD(28)|0;if(!b){b=-12;break a}d=k1(b,0)|0;if(d|0){$1(b);b=0-d|0;break a}if(bX(a,0,b)|0){d2(b)|0;$1(b)}}a=d2(c[a>>2]|0)|0;return ((a|0)==0?0:0-a|0)|0}case 2:{b=d2(c[a>>2]|0)|0;b=(b|0)==0?0:0-b|0;break}case 3:{if(c[a>>2]|0)d2(c[a>>2]|0)|0;$1(c[a>>2]|0);bX(a,c[a>>2]|0,0)|0;b=0;break}default:b=1}while(0);return b|0}function gv(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=1<<c[a>>2];h=a+8|0;e=a+4|0;f=g+-1|0;d=0;while(1){if((d|0)>=(g|0))break;a:do if(!(kM(d,g)|0)){a=0;while(1){if((a|0)==16)break a;j=a+d|0;i=c[h>>2]|0;i=i+((f&0-(hE(j,g,c[e>>2]|0)|0))<<1)|0;b[i>>1]=j>>>1&3|j&65528|j<<2&4;a=a+1|0}}else{a=0;while(1){if((a|0)==16)break a;i=(c[83472+(a<<2)>>2]|0)+d&65535;j=c[h>>2]|0;j=j+((f&0-(hE(a+d|0,g,c[e>>2]|0)|0))<<1)|0;b[j>>1]=i;a=a+1|0}}while(0);d=d+16|0}return}function hv(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0;h=f>>>1;g=d;f=a;a=0;while(1){if((a|0)==8)break;b[f>>1]=(c[g>>2]|0)+(e[f>>1]|0);i=f+2|0;b[i>>1]=(c[g+4>>2]|0)+(e[i>>1]|0);i=f+4|0;b[i>>1]=(c[g+8>>2]|0)+(e[i>>1]|0);i=f+6|0;b[i>>1]=(c[g+12>>2]|0)+(e[i>>1]|0);i=f+8|0;b[i>>1]=(c[g+16>>2]|0)+(e[i>>1]|0);i=f+10|0;b[i>>1]=(c[g+20>>2]|0)+(e[i>>1]|0);i=f+12|0;b[i>>1]=(c[g+24>>2]|0)+(e[i>>1]|0);i=f+14|0;b[i>>1]=(c[g+28>>2]|0)+(e[i>>1]|0);g=g+32|0;f=f+(h<<1)|0;a=a+1|0}jv(d|0,0,256)|0;return}function iv(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0;g=(HG(b,2)|0)+1|0;c[a>>2]=g;g=HG(b,6)|0;a:do if((g|0)<(f|0)?(h=a+8|0,c[h>>2]=e[d+(g<<1)>>1],g=HG(b,5)|0,g=(c[h>>2]|0)+g|0,c[h>>2]=g,h=d+(f<<1)|0,(g|0)<(e[h>>1]|0|0)):0){d=HG(b,4)|0;c[a+24>>2]=d;d=1;while(1){if((d|0)>=(c[a>>2]|0)){d=0;break a}g=HG(b,5)|0;g=(c[a+8+(d+-1<<2)>>2]|0)+g|0;c[a+8+(d<<2)>>2]=g;if((g|0)>=(e[h>>1]|0|0)){d=-1;break a}g=HG(b,4)|0;c[a+24+(d<<2)>>2]=g;d=d+1|0}}else d=-1;while(0);return d|0}function jv(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=b+e|0;d=d&255;if((e|0)>=67){while(b&3){a[b>>0]=d;b=b+1|0}f=h&-4|0;i=d|d<<8|d<<16|d<<24;g=f-64|0;while((b|0)<=(g|0)){c[b>>2]=i;c[b+4>>2]=i;c[b+8>>2]=i;c[b+12>>2]=i;c[b+16>>2]=i;c[b+20>>2]=i;c[b+24>>2]=i;c[b+28>>2]=i;c[b+32>>2]=i;c[b+36>>2]=i;c[b+40>>2]=i;c[b+44>>2]=i;c[b+48>>2]=i;c[b+52>>2]=i;c[b+56>>2]=i;c[b+60>>2]=i;b=b+64|0}while((b|0)<(f|0)){c[b>>2]=i;b=b+4|0}}while((b|0)<(h|0)){a[b>>0]=d;b=b+1|0}return h-e|0}function kv(a,b){a=a|0;b=b|0;var d=0,e=0;d=vr(a,b)|0;do if((d|0)>=0){d=c[b>>2]|0;if(!d){e=b+28|0;d=TK(a,c[e>>2]|0)|0;if((d|0)<0)e=10;else{d=c[e>>2]|0;if(d|0)Mn(c[(c[a>>2]|0)+4>>2]|0,c[b+24>>2]|0,d|0)|0;c[a+24>>2]=c[(c[a>>2]|0)+4>>2];d=e;e=9}}else{e=FP(d)|0;c[a>>2]=e;if(!e){d=-12;e=10}else{c[a+24>>2]=c[b+24>>2];d=b+28|0;e=9}}if((e|0)==9){c[a+28>>2]=c[d>>2];d=0;break}else if((e|0)==10){JQ(a);break}}while(0);return d|0}function lv(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;i=c[a+28588>>2]|0;c[a+24312>>2]=0;c[a+26368>>2]=0;h=0;f=1;while(1){g=c[a+28588+(f<<2)>>2]|0;if(!g)break;if(c[(c[g>>2]|0)+84>>2]|0)break;if(c[g+92>>2]|0)break;k=(c[g+84>>2]|0)<(c[i+84>>2]|0);i=k?g:i;h=k?f:h;f=f+1|0}g=h;f=c[a+28588+(h<<2)>>2]|0;while(1){if(!f)break;k=g+1|0;f=c[a+28588+(k<<2)>>2]|0;c[a+28588+(g<<2)>>2]=f;g=k}if((i|0)!=0?(j=i+640|0,c[j>>2]=c[j>>2]&-5,j=Sq(a,b,i,d)|0,(j|0)<0):0)e=j;return e|0}function mv(c,d){c=c|0;d=d|0;var e=0;e=(HG(d,8)|0)&255;a[c>>0]=e;switch(e<<24>>24){case 0:{e=(HG(d,8)|0)&255;a[c+1>>0]=e;switch(e<<24>>24){case 2:{e=(HG(d,16)|0)&65535;b[c+2>>1]=e;break}case 3:{e=(HG(d,16)|0)&65535;b[c+4>>1]=e;break}default:{}}e=(HG(d,8)|0)&255;a[c+6>>0]=e;e=(HG(d,8)|0)&255;a[c+7>>0]=e;e=(HG(d,8)|0)&255;a[c+8>>0]=e;e=(HG(d,8)|0)&255;a[c+9>>0]=e;break}case 1:{e=(HG(d,8)|0)&255;a[c+10>>0]=e;e=(HG(d,16)|0)&65535;b[c+12>>1]=e;break}default:{}}return}function nv(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;g=f+(H(e,-3)|0)|0;while(1){if(a>>>0>=g>>>0)break;i=c[b>>2]|0;h=a;c[h>>2]=0;c[h+4>>2]=i;h=b+d|0;i=a+e|0;k=c[h>>2]|0;j=i;c[j>>2]=0;c[j+4>>2]=k;h=h+d|0;i=i+e|0;j=c[h>>2]|0;k=i;c[k>>2]=0;c[k+4>>2]=j;h=h+d|0;i=i+e|0;k=c[h>>2]|0;j=i;c[j>>2]=0;c[j+4>>2]=k;a=i+e|0;b=h+d|0}while(1){if(a>>>0>=f>>>0)break;j=c[b>>2]|0;k=a;c[k>>2]=0;c[k+4>>2]=j;a=a+e|0;b=b+d|0}return}function ov(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=d<<24>>24;a:while(1){if(!b){b=0;break}if(!(a[b>>0]|0)){b=0;break}h=c;while(1){if(!h)break;e=a[h>>0]|0;if(!(e<<24>>24))break;g=0;while(1){f=a[b+g>>0]|0;j=f<<24>>24;k=e<<24>>24;if(f<<24>>24!=e<<24>>24?!((H(k,j)|0)==0&(k+j|0)==(i|0)):0)break;if(g|0?(f<<24>>24==0?1:f<<24>>24==d<<24>>24):0){b=1;break a}e=g+1|0;g=e;e=a[h+e>>0]|0}k=FY(h,i)|0;h=k+((k|0)!=0&1)|0}k=FY(b,i)|0;b=k+((k|0)!=0&1)|0}return b|0}function pv(a,b,e,f,g,h,i){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0;j=0;while(1){if((j|0)>=(i|0))break;m=H(j,g)|0;k=b+m|0;l=H(j,h)|0;n=e+l|0;n=b0(d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24,d[n>>0]|d[n+1>>0]<<8|d[n+2>>0]<<16|d[n+3>>0]<<24)|0;k=H(j,f)|0;c[a+k>>2]=n;m=b+(m+4)|0;l=e+(l+4)|0;l=b0(d[m>>0]|d[m+1>>0]<<8|d[m+2>>0]<<16|d[m+3>>0]<<24,d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24)|0;c[a+(k+4)>>2]=l;j=j+1|0}return}function qv(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=Mb;Mb=Mb+16|0;h=j+8|0;g=j;d=c[d+64+(c[a+136>>2]<<2)>>2]|0;if(!d)f=-12;else{if(c[(c[d+4>>2]|0)+216>>2]|0){d=HG(b,4)|0;a=a+88|0;c[a>>2]=0;switch(d|0){case 2:case 10:case 12:{AD(e,48,179018,g);d=2;i=6;break}case 1:case 9:case 11:{AD(e,48,179032,h);d=1;i=6;break}default:{}}if((i|0)==6)c[a>>2]=d;HG(b,2)|0;HG(b,1)|0;s1(b);f=f+-1|0}fS(b,f<<3);f=0}Mb=j;return f|0}function rv(c,e,f,g,h,i,j){c=c|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;m=i+-1|0;o=20672+(m<<2)|0;p=20672+(m<<2)+1|0;l=20672+(m<<2)+2|0;m=20672+(m<<2)+3|0;n=f<<1;k=c;i=e;c=0;while(1){if((c|0)>=(g|0))break;h=0;while(1){if((h|0)>=(j|0))break;e=H(d[i+(h-f)>>0]|0,a[o>>0]|0)|0;e=(H(d[i+h>>0]|0,a[p>>0]|0)|0)+e|0;e=e+(H(d[i+(h+f)>>0]|0,a[l>>0]|0)|0)|0;e=e+(H(d[i+(h+n)>>0]|0,a[m>>0]|0)|0)&65535;b[k+(h<<1)>>1]=e;h=h+1|0}k=k+128|0;i=i+f|0;c=c+1|0}return}function sv(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==2)break;j=c+2|0;i=c+-2|0;k=c+4|0;l=H((e[k>>1]|0)+(e[i>>1]|0)|0,-5)|0;a=c+6|0;l=(((e[j>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+l+(e[a>>1]|0)>>5;b[d>>1]=l>>>0<16384?l:0-l>>31&16383;a=H((e[a>>1]|0)+(e[c>>1]|0)|0,-5)|0;a=(((e[k>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[i>>1]|0)+a+(e[c+8>>1]|0)>>5;b[d+2>>1]=a>>>0<16384?a:0-a>>31&16383;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function tv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,g=0,h=0,i=0.0,j=0.0,k=0,l=0,m=0,n=0.0;k=(c|0)==0&1;g=0;while(1){if((g|0)==32)break;i=+f[a+48>>2];j=+f[a+52>>2];d=0.0;e=0.0;h=0;while(1){if(h>>>0>=6)break;m=h|1;n=+f[81840+(m<<2)>>2];l=12-h+-1|0;d=d+n*(+f[a+(m<<3)+4>>2]+ +f[a+(l<<3)+4>>2]);e=e+n*(+f[a+(m<<3)>>2]+ +f[a+(l<<3)>>2]);h=h+2|0}i=i*.5;n=j*.5;f[b+(c<<8)+(g<<3)>>2]=i+e;f[b+(c<<8)+(g<<3)+4>>2]=n+d;f[b+(k<<8)+(g<<3)>>2]=i-e;f[b+(k<<8)+(g<<3)+4>>2]=n-d;a=a+8|0;g=g+1|0}return}function uv(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0;h=Mb;Mb=Mb+16|0;g=h;e=a+8|0;f=c[e>>2]|0;b=(c[a>>2]|0)+(f>>>3)|0;b=(W_(d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24|0)|0)<<(f&7);do if(b>>>0<=134217727){j=b>>>0>65535;i=j?b>>>16:b;j=j?16:0;a=(i&65280|0)==0;i=(a?j:j|8)+(d[94448+(a?i:i>>>8)>>0]|0)|0;a=i<<1;c[e>>2]=f+63-a;if(i>>>0<19){AD(0,16,209405,g);a=-1094995529;break}else{a=(b>>>(a+-31|0))+-1|0;break}}else{a=b>>>23;c[e>>2]=f+(d[75744+a>>0]|0);a=d[76256+a>>0]|0}while(0);Mb=h;return a|0}function vv(b){b=b|0;var d=0;d=b+241|0;if(a[d>>0]|0){a[d>>0]=0;ma(c[b+112>>2]|0);ma(c[b+116>>2]|0);Ca(c[b+92>>2]|0)|0;f$(c[b+88>>2]|0);hR(c[b+96>>2]|0)|0;lS(c[b+100>>2]|0);d=b+108|0;if(c[d>>2]|0)rY(d);d=b+104|0;if(c[d>>2]|0)uU(d);d=b+232|0;if(c[d>>2]|0){aE(b+152|0);Cm(c[d>>2]|0)|0;c[d>>2]=0}d=b+236|0;if(!(c[d>>2]|0))b=0;else{aE(b+192|0);Cm(c[d>>2]|0)|0;c[d>>2]=0;b=0}}else b=-1;return b|0}function wv(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==2)break;j=c+2|0;i=c+-2|0;k=c+4|0;l=H((e[k>>1]|0)+(e[i>>1]|0)|0,-5)|0;a=c+6|0;l=(((e[j>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+l+(e[a>>1]|0)>>5;b[d>>1]=l>>>0<4096?l:0-l>>31&4095;a=H((e[a>>1]|0)+(e[c>>1]|0)|0,-5)|0;a=(((e[k>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[i>>1]|0)+a+(e[c+8>>1]|0)>>5;b[d+2>>1]=a>>>0<4096?a:0-a>>31&4095;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function xv(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==2)break;j=c+2|0;i=c+-2|0;k=c+4|0;l=H((e[k>>1]|0)+(e[i>>1]|0)|0,-5)|0;a=c+6|0;l=(((e[j>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+l+(e[a>>1]|0)>>5;b[d>>1]=l>>>0<1024?l:0-l>>31&1023;a=H((e[a>>1]|0)+(e[c>>1]|0)|0,-5)|0;a=(((e[k>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[i>>1]|0)+a+(e[c+8>>1]|0)>>5;b[d+2>>1]=a>>>0<1024?a:0-a>>31&1023;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function yv(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;k=Mb;Mb=Mb+272|0;i=k;h=k+256|0;j=i+128|0;c[a+4312>>2]=0;hc[c[a+2964>>2]&255](i,d,e,f);g=j;d=i;e=g+128|0;do{c[g>>2]=c[d>>2];g=g+4|0;d=d+4|0}while((g|0)<(e|0));g=a+1920|0;d=_b[c[a+6248>>2]&63](a,i,0,c[g>>2]|0,h)|0;c[a+16>>2]=d;hc[c[a+6240>>2]&255](a,i,0,c[g>>2]|0);NQ(i);g=0;d=0;while(1){if((d|0)==64)break;a=(b[i+(d<<1)>>1]|0)-(b[j+(d<<1)>>1]|0)|0;g=(H(a,a)|0)+g|0;d=d+1|0}Mb=k;return g|0}function zv(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;d=a+27e3|0;g=c[d>>2]|0;f=c[a+26992>>2]|0;e=(H(f+1|0,g)|0)+1|0;h=H(f<<4,c[a+26996>>2]<<2|1)|0;i=YQ(e+g|0,23)|0;b=a+29904|0;c[b>>2]=i;e=YQ((c[d>>2]|0)+e<<2,23)|0;d=a+29908|0;c[d>>2]=e;h=YQ(h+16|0,23)|0;e=a+29912|0;c[e>>2]=h;f=YQ(H(g<<2,f)|0,23)|0;a=a+29916|0;c[a>>2]=f;if(((c[b>>2]|0)!=0?(c[d>>2]|0)!=0:0)?!((f|0)==0|(c[e>>2]|0)==0):0)a=0;else{KT(b);KT(d);KT(e);KT(a);a=-12}return a|0}function Av(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if(a|0?(d=c[a>>2]|0,d|0):0){e=(c[d+4>>2]|0)+(((c[d+116>>2]|0)==0)<<31>>31)|0;c[d+104>>2]=1;b=0;while(1){if((b|0)>=(e|0))break;g=c[d>>2]|0;f=g+(b*88|0)+4|0;d2(f)|0;c[g+(b*88|0)+84>>2]=0;xb(g+(b*88|0)+32|0)|0;d2(f)|0;b=b+1|0}b=0;while(1){if((b|0)>=(e|0))break;g=c[d>>2]|0;Ab(c[g+(b*88|0)+80>>2]|0,0)|0;vb(g+(b*88|0)+32|0)|0;d2(g+(b*88|0)+4|0)|0;b=b+1|0}vb(d+52|0)|0;d2(d+24|0)|0;bU(d);bU(a)}return}function Bv(c,e,f,g,h,i,j){c=c|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;m=h+-1|0;n=20672+(m<<2)|0;o=20672+(m<<2)+1|0;l=20672+(m<<2)+2|0;m=20672+(m<<2)+3|0;k=c;i=e;c=0;while(1){if((c|0)>=(g|0))break;h=0;while(1){if((h|0)>=(j|0))break;p=H(d[i+(h+-1)>>0]|0,a[n>>0]|0)|0;p=(H(d[i+h>>0]|0,a[o>>0]|0)|0)+p|0;e=h+1|0;p=p+(H(d[i+e>>0]|0,a[l>>0]|0)|0)|0;p=p+(H(d[i+(h+2)>>0]|0,a[m>>0]|0)|0)&65535;b[k+(h<<1)>>1]=p;h=e}k=k+128|0;i=i+f|0;c=c+1|0}return}function Cv(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==2)break;j=c+2|0;i=c+-2|0;k=c+4|0;l=H((e[k>>1]|0)+(e[i>>1]|0)|0,-5)|0;a=c+6|0;l=(((e[j>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+l+(e[a>>1]|0)>>5;b[d>>1]=l>>>0<512?l:0-l>>31&511;a=H((e[a>>1]|0)+(e[c>>1]|0)|0,-5)|0;a=(((e[k>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[i>>1]|0)+a+(e[c+8>>1]|0)>>5;b[d+2>>1]=a>>>0<512?a:0-a>>31&511;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function Dv(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;m=Mb;Mb=Mb+288|0;l=m+264|0;k=m+256|0;h=m;i=m+276|0;j=m+272|0;if((e|0)>=69){HG(d,13)|0;g=0;e=e+-13|0;while(1){f=g+1|0;if(!((e|0)>7&f>>>0<256))break;n=(HG(d,8)|0)&255;a[h+g>>0]=n;g=f;e=e+-8|0}a[h+g>>0]=0;f=b+4|0;g=c[f>>2]|0;if(c[g+680>>2]&1|0){c[k>>2]=h;AD(g,48,196634,k)}c[l>>2]=i;c[l+4>>2]=j;if((gV(h,196643,l)|0)==2)c[(c[(c[f>>2]|0)+64>>2]|0)+56>>2]=1024}fS(d,e);Mb=m;return}function Ev(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;a:do if((c|0)<7)c=-1094995529;else{if((HG(b,8)|0)==255){eW(b,8);c=c+-8|0}else c=c+-7|0;eW(b,8);eW(b,8);d=rO(b,32)|0;b:do if((d|0)<1195456820){switch(d|0){case 1146373937:break;default:break b}c=bE(a+20|0,b,c)|0;break a}else{switch(d|0){case 1195456820:break;default:break b}c=Xn(a+28|0,b,c)|0;break a}while(0);eW(b,c<<3);c=0}while(0);return c|0}function Fv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=a+32904+b|0;if(!d){b=a+32856|0;if(!(BA(b,f)|0))b=0;else{e=b;g=4}}else{b=(c[a+21740>>2]&6|0)!=0;e=a+32856|0;if(!(BA(e,f+((c[a+21732>>2]&6|0)==0?b&1:b?2:1)|0)|0))b=0;else{f=f+2|0;g=4}}if((g|0)==4)if(!(LP(e)|0)){b=(BA(e,f+1|0)|0)*12|1;if(BA(e,f+2|0)|0)b=b+4+((BA(e,f+(d+2)|0)|0)<<2)|0;b=((BA(e,f+(d+3)|0)|0)<<1)+b|0;b=b+(BA(e,f+((d<<1)+3)|0)|0)|0}else b=25;return b|0}function Gv(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0;h=1<<(c<<16>>16);a:do if(!d){c=a;d=0;while(1){if((d|0)>=(h|0))break a;a=1;while(1){if((a|0)==(h|0))break;g=c+(a<<1)|0;b[g>>1]=(e[g>>1]|0)+(e[c+(a+-1<<1)>>1]|0);a=a+1|0}c=c+(h<<1)|0;d=d+1|0}}else{g=h+-1|0;f=0;while(1){c=a+(h<<1)|0;if((f|0)>=(g|0))break a;d=0;while(1){if((d|0)>=(h|0))break;i=c+(d<<1)|0;b[i>>1]=(e[i>>1]|0)+(e[a+(d<<1)>>1]|0);d=d+1|0}f=f+1|0;a=c}}while(0);return}function Hv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=Mb;Mb=Mb+32|0;g=h+16|0;f=h+8|0;e=h;do if((c[b+112>>2]&1|0)==0?(c[b+76>>2]|0)!=0:0){if(10?fv(1112428,1)|0:0){d=-1;break}if((c_(1)|0)==1)if(!(c[278104]|0)){c[278104]=1;d=0;break}else{c[g>>2]=194159;c[g+4>>2]=193976;c[g+8>>2]=2013;AD(0,0,222515,g);ba()}else{c[e>>2]=c[278108];AD(a,16,193995,e);if(!10)AD(a,16,194101,f);c[278104]=1;yB(b)|0;d=-22;break}}else d=0;while(0);Mb=h;return d|0}function Iv(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=a[b>>0]|0;a:do if(!(d<<24>>24)){d=0;g=9}else while(1){f=a[c>>0]|0;if(!(f<<24>>24)){g=9;break a}e=d;d=d&255;while(1){if(!((d+-48|0)>>>0>10&((d|32)+-97|0)>>>0>26)){d=e;break}b=b+1|0;d=a[b>>0]|0;if(!(d<<24>>24)){d=0;break}else{e=d;d=d&255}}if((d|32)<<24>>24!=f<<24>>24){d=1;break a}b=b+1|0;c=c+1|0;d=a[b>>0]|0;if(!(d<<24>>24)){d=0;g=9;break}}while(0);if((g|0)==9)d=d<<24>>24!=(a[c>>0]|0)&1;return d|0}function Jv(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;i=(a[f+12>>0]|0)!=0;g=(a[f+13>>0]|0)!=0;h=f+4|0;if((c[h>>2]|0)==3){jv(e|0,0,1792)|0;f=b+5404|0;j=e+1792|0;hc[c[c[f>>2]>>2]&255](j,j,g?297888:223168,128)}else{f=b+5404|0;hc[c[c[f>>2]>>2]&255](e,e,g?293792:226752,1024)}f=c[(c[f>>2]|0)+28>>2]|0;g=e+4096|0;if((c[h>>2]|0)==1){j=e+5888|0;hc[f&255](j,j,i?297888:223168,128);jv(e+6400|0,0,1792)|0}else hc[f&255](g,g,i?293792:226752,1024);gc[c[b+5372>>2]&1023](b+5324|0,d,e);return}function Kv(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;j=c[e+(f<<2)>>2]|0;i=((j|0)<0)<<31>>31;e=c[e+(g<<2)>>2]|0;g=((e|0)<0)<<31>>31;f=0;while(1){if((f|0)>=(h|0))break;n=c[b+(f<<2)>>2]|0;n=MR(n|0,((n|0)<0)<<31>>31|0,j|0,i|0)|0;m=M()|0;l=c[d+(f<<2)>>2]|0;l=MR(l|0,((l|0)<0)<<31>>31|0,e|0,g|0)|0;k=M()|0;m=aX(n|0,m|0,16384,0)|0;k=aX(m|0,M()|0,l|0,k|0)|0;k=kV(k|0,M()|0,15)|0;M()|0;c[a+(f<<2)>>2]=k;f=f+1|0}return}function Lv(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0;d=c[a+8>>2]|0;f=c[a+64>>2]|0;h=1<<c[a>>2];g=a+12|0;a:do if(!d){a=0;while(1){if((a|0)>=(h|0))break a;j=b+(a<<3)|0;i=c[j+4>>2]|0;d=(c[g>>2]|0)+(c[f+(a<<2)>>2]<<3)|0;c[d>>2]=c[j>>2];c[d+4>>2]=i;a=a+1|0}}else{a=0;while(1){if((a|0)>=(h|0))break a;f=b+(a<<3)|0;i=c[f+4>>2]|0;j=(c[g>>2]|0)+((e[d+(a<<1)>>1]|0)<<3)|0;c[j>>2]=c[f>>2];c[j+4>>2]=i;a=a+1|0}}while(0);Mn(b|0,c[g>>2]|0,h<<3|0)|0;return}function Mv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=Mb;Mb=Mb+16|0;i=k;h=c[a+64>>2]|0;g=h+36|0;h=h+32|0;e=(c[g>>2]|0)+-1|0;while(1){if((e|0)<=-1){d=-11;break}d=CY(c[(c[h>>2]|0)+(e<<2)>>2]|0,b)|0;if((d|0)!=-11){f=(d|0)<0;if(f&(d|0)!=-541478725)break;if((e|0)==((c[g>>2]|0)+-1|0))break;e=e+1|0;d=$y(c[(c[h>>2]|0)+(e<<2)>>2]|0,f?0:b)|0;if((d|0)<0){j=9;break}else d=e}else d=e+-1|0;e=d}if((j|0)==9){AD(a,16,170964,i);BX(b)}Mb=k;return d|0}function Nv(b){b=b|0;var e=0,f=0,g=0,h=0,i=0;f=b+8|0;g=c[f>>2]|0;b=c[b>>2]|0;e=b+(g>>>3)|0;e=(W_(d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24|0)|0)<<(g&7);if(e>>>0>134217727){b=e>>>23;c[f>>2]=g+(d[75744+b>>0]|0);b=a[76768+b>>0]|0}else{i=e>>>0>65535;h=i?e>>>16:e;i=i?16:0;e=(h&65280|0)==0;h=(e?i:i|8)+(d[94448+(e?h:h>>>8)>>0]|0)|0;e=31-h+g|0;g=b+(e>>>3)|0;g=(W_(d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24|0)|0)<<(e&7)>>>h;c[f>>2]=32-h+e;b=g&1;b=(g>>>1^0-b)+b|0}return b|0}function Ov(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;g=c[b+60>>2]|0;c[(c[b+64>>2]|0)+4>>2]=1;e=Et(b)|0;do if((e|0)<0)d=e;else{c[g+7600>>2]=0;c[g+7736>>2]=0;c[g+5708>>2]=1;c[g+7604>>2]=0;f=b+808|0;if(!(c[f>>2]&2))e=1;else e=c[b+800>>2]&255;a[g+141>>0]=e;e=c[b+104>>2]|0;if(((e|0)>0?(h=c[b+100>>2]|0,h|0):0)?(d=sz(g,h,e,1)|0,(d|0)<0):0){ou(b)|0;break}if(c[f>>2]&1|0?(c[b+800>>2]|0)>1:0){a[g+140>>0]=1;d=0;break}a[g+140>>0]=2;d=0}while(0);return d|0}function Pv(a){a=a|0;var b=0,d=0;b=a+64|0;if((c[b>>2]|0)!=(a|0))bU(b);jv(a|0,0,400)|0;d=a+120|0;c[d>>2]=0;c[d+4>>2]=-2147483648;d=a+104|0;c[d>>2]=0;c[d+4>>2]=-2147483648;d=a+112|0;c[d>>2]=0;c[d+4>>2]=-2147483648;d=a+320|0;c[d>>2]=0;c[d+4>>2]=-2147483648;d=a+336|0;c[d>>2]=0;c[d+4>>2]=0;d=a+328|0;c[d>>2]=-1;c[d+4>>2]=-1;c[a+356>>2]=-1;c[a+84>>2]=1;c[a+92>>2]=0;c[a+96>>2]=1;c[a+80>>2]=-1;c[b>>2]=a;c[a+304>>2]=2;c[a+308>>2]=2;c[a+312>>2]=2;c[a+300>>2]=0;c[a+316>>2]=0;c[a+296>>2]=0;return}function Qv(a){a=a|0;a:do switch(c[a+8>>2]|0){case 0:switch(c[a+12>>2]|0){case 0:{a=(c[a+20>>2]|0)==2?174154:174170;break a}case 1:{a=(c[a+20>>2]|0)==2?174186:174205;break a}case 2:{a=(c[a+20>>2]|0)==2?174224:174243;break a}case 3:{a=(c[a+20>>2]|0)==2?174262:174273;break a}case 4:{a=(c[a+20>>2]|0)==2?174284:174295;break a}case 5:{a=(c[a+20>>2]|0)==2?174306:174315;break a}default:{a=210994;break a}}case 1:{a=210994;break}default:a=0}while(0);return a|0}function Rv(a){a=a|0;var b=0,d=0;b=a+64|0;d=c[b>>2]|0;c[d+64>>2]=0;c[d+80>>2]=0;c[d+112>>2]=0;jB(c[d+76>>2]|0);jB(c[(c[b>>2]|0)+100>>2]|0);BX(c[(c[b>>2]|0)+68>>2]|0);d=c[b>>2]|0;c[d+72>>2]=0;BX(c[d+24>>2]|0);if(!(c[a+808>>2]&1)){d=c[(c[a+12>>2]|0)+108>>2]|0;if(d|0)dc[d&63](a)}else Tt(a);d=a+928|0;c[d>>2]=0;c[d+4>>2]=-2147483648;d=a+920|0;c[d>>2]=0;c[d+4>>2]=-2147483648;RP(a);if(!(c[a+476>>2]|0))jB(c[(c[b>>2]|0)+12>>2]|0);return}function Sv(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;p=Mb;Mb=Mb+128|0;o=p;m=o;n=m+128|0;do{c[m>>2]=0;m=m+4|0}while((m|0)<(n|0));m=0;while(1){if((m|0)==4)break;n=m+1|0;c[o+((m+j&31)<<2)>>2]=b[i+(n<<1)>>1];m=n}n=0;while(1){if((n|0)>=(l|0))break;m=0;while(1){if((m|0)>=(k|0))break;j=d[f+m>>0]|0;j=(c[o+(j>>>3<<2)>>2]|0)+j|0;a[e+m>>0]=j>>>0>255?0-j>>31:j;m=m+1|0}n=n+1|0;f=f+h|0;e=e+g|0}Mb=p;return}function Tv(b,c){b=b|0;c=c|0;var d=0;d=a[c>>0]|0;do if(d<<24>>24){b=FY(b,d<<24>>24)|0;if(b){if(a[c+1>>0]|0)if(a[b+1>>0]|0){if(!(a[c+2>>0]|0)){b=LB(b,c)|0;break}if(a[b+2>>0]|0){if(!(a[c+3>>0]|0)){b=OB(b,c)|0;break}if(a[b+3>>0]|0)if(!(a[c+4>>0]|0)){b=dB(b,c)|0;break}else{b=Df(b,c)|0;break}else b=0}else b=0}else b=0}else b=0}while(0);return b|0}function Uv(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;i=d[b+(2-e)>>0]|0;c=d[b+(3-e)>>0]|0;f=e<<1;j=d[b+(f+-1)>>0]|0;g=e*3|0;h=d[b+(g+-1)>>0]|0;a[b>>0]=((d[b+(e+-1)>>0]|0)+(d[b+(1-e)>>0]|0)|0)>>>1;i=(j+i|0)>>>1&255;a[b+e>>0]=i;a[b+1>>0]=i;c=(h+c|0)>>>1&255;a[b+(g+3)>>0]=c;a[b+(g+2)>>0]=c;a[b+(f+3)>>0]=c;a[b+(g+1)>>0]=c;a[b+(f+2)>>0]=c;a[b+(e+3)>>0]=c;a[b+g>>0]=c;a[b+(f|1)>>0]=c;a[b+(e+2)>>0]=c;a[b+3>>0]=c;a[b+f>>0]=c;a[b+(e+1)>>0]=c;a[b+2>>0]=c;return}function Vv(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=c>>1;i=(h<<f+6)+((f|0)==0?0:1<<f+-1)|0;c=a;h=0;while(1){if((h|0)>=(d|0))break;a=(H(e[c>>1]|0,g)|0)+i>>f;b[c>>1]=a>>>0<16384?a:0-a>>31&16383;a=c+2|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+4|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+6|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;c=c+(j<<1)|0;h=h+1|0}return}function Wv(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;g=b>>1;k=a+(0-g<<1)|0;d=k;l=c[d>>2]|0;d=c[d+4>>2]|0;f=k+8|0;e=c[f>>2]|0;f=c[f+4>>2]|0;i=k+16|0;h=c[i>>2]|0;i=c[i+4>>2]|0;k=k+24|0;j=c[k>>2]|0;k=c[k+4>>2]|0;b=0;while(1){if((b|0)==16)break;m=a+((H(b,g)|0)<<1)|0;n=m;c[n>>2]=l;c[n+4>>2]=d;n=m+8|0;c[n>>2]=e;c[n+4>>2]=f;n=m+16|0;c[n>>2]=h;c[n+4>>2]=i;m=m+24|0;c[m>>2]=j;c[m+4>>2]=k;b=b+1|0}return}function Xv(a,c,d,f,g,h,i,j,k,l,m,n,o,p){a=a|0;c=c|0;d=d|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;var q=0,r=0,s=0;s=f>>>1;q=c>>>1;r=i+3|0;k=k<<2;c=(m+l<<4|1)<<i+2;f=g;o=0;while(1){if((o|0)>=(h|0))break;n=0;while(1){if((n|0)>=(p|0))break;g=H(k,e[d+(n<<1)>>1]|0)|0;g=(H(b[f+(n<<1)>>1]|0,j)|0)+c+g>>r;b[a+(n<<1)>>1]=g>>>0<4096?g:0-g>>31&4095;n=n+1|0}f=f+128|0;a=a+(q<<1)|0;d=d+(s<<1)|0;o=o+1|0}return}function Yv(a,c,d,f,g,h,i,j,k,l,m,n,o,p){a=a|0;c=c|0;d=d|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;var q=0,r=0,s=0;s=f>>>1;q=c>>>1;r=i+5|0;k=k<<4;c=(m+l<<2|1)<<i+4;f=g;o=0;while(1){if((o|0)>=(h|0))break;n=0;while(1){if((n|0)>=(p|0))break;g=H(k,e[d+(n<<1)>>1]|0)|0;g=(H(b[f+(n<<1)>>1]|0,j)|0)+c+g>>r;b[a+(n<<1)>>1]=g>>>0<1024?g:0-g>>31&1023;n=n+1|0}f=f+128|0;a=a+(q<<1)|0;d=d+(s<<1)|0;o=o+1|0}return}function Zv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=Mb;Mb=Mb+32|0;h=i;d=i+12|0;e=i+16|0;f=i+8|0;c[d>>2]=b;b=Ra(a|0)|0;if(!b){EQ(168635)|0;b=0}else{gb(b|0,1,d|0,0);c[e>>2]=0;Pa(b|0);cb(b|0,35713,e|0);if(!(c[e>>2]|0)){c[f>>2]=0;cb(b|0,35716,f|0);d=c[f>>2]|0;if((d|0)>0?(g=zc(d)|0,g|0):0){bb(b|0,d|0,0,g|0);c[h>>2]=(a|0)==35633?168650:168657;c[h+4>>2]=g;jV(168666,h)|0;Rd(g)}Ta(b|0);b=0}}Mb=i;return b|0}function _v(a,c,d,f,g,h,i,j,k,l,m,n,o,p){a=a|0;c=c|0;d=d|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;var q=0,r=0,s=0;s=f>>>1;q=c>>>1;r=i+6|0;k=k<<5;c=(m+l<<1|1)<<i+5;f=g;o=0;while(1){if((o|0)>=(h|0))break;n=0;while(1){if((n|0)>=(p|0))break;g=H(k,e[d+(n<<1)>>1]|0)|0;g=(H(b[f+(n<<1)>>1]|0,j)|0)+c+g>>r;b[a+(n<<1)>>1]=g>>>0<512?g:0-g>>31&511;n=n+1|0}f=f+128|0;a=a+(q<<1)|0;d=d+(s<<1)|0;o=o+1|0}return}function $v(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=Mb;Mb=Mb+16|0;e=h;f=JE(a)|0;g=f+1|0;if(g>>>0>32){c[e>>2]=g;AD(b,16,173537,e);b=-1094995529}else{HG(a,4)|0;HG(a,4)|0;b=0;while(1){if((b|0)>(f|0))break;XM(a);XM(a);mT(a)|0;b=b+1|0}b=(HG(a,5)|0)+1|0;c[d+1172>>2]=b;b=(HG(a,5)|0)+1|0;c[d+1176>>2]=b;b=(HG(a,5)|0)+1|0;c[d+1180>>2]=b;b=HG(a,5)|0;c[d+1164>>2]=b;c[d+1168>>2]=g;b=0}Mb=h;return b|0}function aw(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=c>>1;m=d<<6;j=f<<6;k=0-n|0;l=H(n,-2)|0;i=0;while(1){if((i|0)==8)break;h=a+(k<<1)|0;c=e[h>>1]|0;d=e[a+(l<<1)>>1]|0;f=e[a>>1]|0;g=e[a+(n<<1)>>1]|0;o=c-f|0;if(((((o|0)>-1?o:0-o|0)|0)<(m|0)?(o=d-c|0,(((o|0)>-1?o:0-o|0)|0)<(j|0)):0)?(o=g-f|0,(((o|0)>-1?o:0-o|0)|0)<(j|0)):0){b[h>>1]=(c+2+(d<<1)+g|0)>>>2;b[a>>1]=(d+2+f+(g<<1)|0)>>>2}i=i+1|0;a=a+2|0}return}function bw(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=c>>1;m=d<<4;j=f<<4;k=0-n|0;l=H(n,-2)|0;i=0;while(1){if((i|0)==8)break;h=a+(k<<1)|0;c=e[h>>1]|0;d=e[a+(l<<1)>>1]|0;f=e[a>>1]|0;g=e[a+(n<<1)>>1]|0;o=c-f|0;if(((((o|0)>-1?o:0-o|0)|0)<(m|0)?(o=d-c|0,(((o|0)>-1?o:0-o|0)|0)<(j|0)):0)?(o=g-f|0,(((o|0)>-1?o:0-o|0)|0)<(j|0)):0){b[h>>1]=(c+2+(d<<1)+g|0)>>>2;b[a>>1]=(d+2+f+(g<<1)|0)>>>2}i=i+1|0;a=a+2|0}return}function cw(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=c>>1;m=d<<2;j=f<<2;k=0-n|0;l=H(n,-2)|0;i=0;while(1){if((i|0)==8)break;h=a+(k<<1)|0;c=e[h>>1]|0;d=e[a+(l<<1)>>1]|0;f=e[a>>1]|0;g=e[a+(n<<1)>>1]|0;o=c-f|0;if(((((o|0)>-1?o:0-o|0)|0)<(m|0)?(o=d-c|0,(((o|0)>-1?o:0-o|0)|0)<(j|0)):0)?(o=g-f|0,(((o|0)>-1?o:0-o|0)|0)<(j|0)):0){b[h>>1]=(c+2+(d<<1)+g|0)>>>2;b[a>>1]=(d+2+f+(g<<1)|0)>>>2}i=i+1|0;a=a+2|0}return}function dw(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=c>>1;m=d<<1;j=f<<1;k=0-n|0;l=H(n,-2)|0;i=0;while(1){if((i|0)==8)break;h=a+(k<<1)|0;c=e[h>>1]|0;d=e[a+(l<<1)>>1]|0;f=e[a>>1]|0;g=e[a+(n<<1)>>1]|0;o=c-f|0;if(((((o|0)>-1?o:0-o|0)|0)<(m|0)?(o=d-c|0,(((o|0)>-1?o:0-o|0)|0)<(j|0)):0)?(o=g-f|0,(((o|0)>-1?o:0-o|0)|0)<(j|0)):0){b[h>>1]=(c+2+(d<<1)+g|0)>>>2;b[a>>1]=(d+2+f+(g<<1)|0)>>>2}i=i+1|0;a=a+2|0}return}function ew(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=Mb;Mb=Mb+16|0;g=h;f=c[(c[a+64>>2]|0)+20>>2]|0;if(c[a+808>>2]&1|0){e=a+704|0;b=c[e>>2]|0;do if(b|0){d=f+336|0;if(!(c[d>>2]|0)){d2((c[f>>2]|0)+36|0)|0;c[d>>2]=1;b=c[e>>2]|0;if(!b)break}if(!(c[b+60>>2]&1)){c[f+340>>2]=1;dR(c[f>>2]|0)}}while(0);b=f+184|0;d2(b)|0;d=f+300|0;if((c[d>>2]|0)==4)AD(a,24,193452,g);c[d>>2]=4;d2(f+60|0)|0;d2(b)|0}Mb=h;return}function fw(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;g=a+26364|0;f=(c[g>>2]|0)!=3&1;k=c[b+21792>>2]>>f<<4;f=c[a+26992>>2]<<4>>f;i=c[a+26360>>2]|0;h=16<<i;i=20<<i;j=(c[b+868>>2]|0)==0;h=(j|(k+h|0)<(f|0)?0:i)+h|0;i=k-(j?0:i)|0;if((!((f|0)<=(i|0)|(h+i|0)<0)?(e=f-i|0,d=(i|0)<0,e=((h|0)>(e|0)?e:h)+(d?i:0)|0,d=d?0:i,st(a,b,d,e),(c[a+25672>>2]|0)==0):0)?(c[(c[(c[b>>2]|0)+25628>>2]|0)+600>>2]|0)==0:0)Dy((c[a+24312>>2]|0)+4|0,d+-1+e|0,(c[g>>2]|0)==2&1);return}function gw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=Mb;Mb=Mb+16|0;d=h;f=c[(c[a+64>>2]|0)+20>>2]|0;do if(((c[a+808>>2]&1|0)!=0?(c[a+812>>2]|0)==0:0)?(c[a+156>>2]|0)!=9:0){e=f+300|0;if((c[e>>2]|0)!=1){AD(a,16,193639,d);a=-1;break}d=f+184|0;d2(d)|0;c[f+324>>2]=b;c[e>>2]=3;a=f+60|0;d2(a|0)|0;while(1){if((c[e>>2]|0)==1)break;yb(a|0,d|0)|0}a=c[f+328>>2]|0;d2(d)|0}else g=4;while(0);if((g|0)==4)a=Lj(a,b)|0;Mb=h;return a|0}function hw(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=c>>1;i=(h<<f+4)+((f|0)==0?0:1<<f+-1)|0;c=a;h=0;while(1){if((h|0)>=(d|0))break;a=(H(e[c>>1]|0,g)|0)+i>>f;b[c>>1]=a>>>0<4096?a:0-a>>31&4095;a=c+2|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+4|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+6|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;c=c+(j<<1)|0;h=h+1|0}return}function iw(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=c>>1;i=(h<<f+2)+((f|0)==0?0:1<<f+-1)|0;c=a;h=0;while(1){if((h|0)>=(d|0))break;a=(H(e[c>>1]|0,g)|0)+i>>f;b[c>>1]=a>>>0<1024?a:0-a>>31&1023;a=c+2|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+4|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+6|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;c=c+(j<<1)|0;h=h+1|0}return}function jw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=0;a:while(1){if(g>>>0>=256){d=0;break}switch(b|0){case 22:{d=(g&3)*85|0;e=(g>>>2&7)*36|0;f=(g>>>5)*36|0;break}case 19:{d=(g>>>6)*85|0;e=(g>>>3&7)*36|0;f=(g&7)*36|0;break}case 24:{d=0-(g&1)&255;e=(g>>>1&3)*85|0;f=(g>>>3)*255|0;break}case 21:{d=(g>>>3)*255|0;e=(g>>>1&3)*85|0;f=0-(g&1)&255;break}case 8:{d=g;e=g;f=g;break}default:{d=-22;break a}}c[a+(g<<2)>>2]=(f<<16)+-16777216+(e<<8)+d;g=g+1|0}return d|0}function kw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=c[a>>2]|0;g=c[b+4>>2]|0;h=MR(g|0,((g|0)<0)<<31>>31|0,f|0,((f|0)<0)<<31>>31|0)|0;d=M()|0;e=c[b>>2]|0;b=c[a+4>>2]|0;a=MR(b|0,((b|0)<0)<<31>>31|0,e|0,((e|0)<0)<<31>>31|0)|0;a=_W(h|0,d|0,a|0,M()|0)|0;d=M()|0;if((a|0)==0&(d|0)==0)if((g|0)==0|(b|0)==0)if(!f)b=-2147483648;else return ((e|0)==0?-2147483648:(f>>31)-(e>>31)|0)|0;else b=0;else{b=b^g;b=BU(a^b|0,d^((b|0)<0)<<31>>31|0,63)|0;M()|0;b=b|1}return b|0}function lw(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;k=Mb;Mb=Mb+32|0;j=k+8|0;i=k;h=a+4|0;c[j>>2]=a;c[j+4>>2]=h;c[j+8>>2]=k+20;do if((gV(b,213111,j)|0)!=2){b=Ey(j,b,0,0,0,0,0,0,0,e,f)|0;if((b|0)<0)break;else{xp(i,+g[j>>3],d);j=c[i+4>>2]|0;b=a;c[b>>2]=c[i>>2];c[b+4>>2]=j;b=0;break}}else{j=c[a>>2]|0;b=c[h>>2]|0;ih(a,h,j,((j|0)<0)<<31>>31,b,((b|0)<0)<<31>>31,d,((d|0)<0)<<31>>31)|0;b=0}while(0);Mb=k;return b|0}function mw(c,f,g){c=c|0;f=f|0;g=g|0;var h=0,i=0,j=0;i=f;h=0;while(1){if((h|0)==8)break;j=(e[i>>1]|0)+(d[c+-1>>0]|0)|0;a[c>>0]=j;j=j+(e[i+2>>1]|0)|0;a[c+1>>0]=j;j=j+(e[i+4>>1]|0)|0;a[c+2>>0]=j;j=j+(e[i+6>>1]|0)|0;a[c+3>>0]=j;j=j+(e[i+8>>1]|0)|0;a[c+4>>0]=j;j=j+(e[i+10>>1]|0)|0;a[c+5>>0]=j;j=j+(e[i+12>>1]|0)|0;a[c+6>>0]=j;a[c+7>>0]=j+(e[i+14>>1]|0);i=i+16|0;c=c+g|0;h=h+1|0}c=f+128|0;do{b[f>>1]=0;f=f+2|0}while((f|0)<(c|0));return}function nw(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=c>>1;i=(h<<f+1)+((f|0)==0?0:1<<f+-1)|0;c=a;h=0;while(1){if((h|0)>=(d|0))break;a=(H(e[c>>1]|0,g)|0)+i>>f;b[c>>1]=a>>>0<512?a:0-a>>31&511;a=c+2|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+4|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+6|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;c=c+(j<<1)|0;h=h+1|0}return}function ow(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;h=b>>1;b=0;d=0;while(1){if((d|0)==16)break;g=a+((H(d,h)|0)+-1<<1)|0;b=b+(e[g>>1]|0)|0;d=d+1|0}d=0;while(1){if((d|0)==16)break;b=b+(e[a+(d-h<<1)>>1]|0)|0;d=d+1|0}f=MR((b+16|0)>>>5|0,0,65537,65537)|0;g=M()|0;b=a;d=0;while(1){if((d|0)==16)break;a=b;c[a>>2]=f;c[a+4>>2]=g;a=b+8|0;c[a>>2]=f;c[a+4>>2]=g;a=b+16|0;c[a>>2]=f;c[a+4>>2]=g;a=b+24|0;c[a>>2]=f;c[a+4>>2]=g;b=b+(h<<1)|0;d=d+1|0}return}function pw(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;g=g|0;h=h|0;var i=0.0,j=0.0,k=0.0,l=0,m=0;k=+f[d>>2]*e*e;i=+f[d+4>>2]*e*e;j=+f[c>>2]*e;e=+f[c+4>>2]*e;while(1){if((g|0)>=(h|0))break;m=g+-2|0;l=b+(m<<3)|0;m=b+(m<<3)+4|0;d=g+-1|0;c=b+(d<<3)|0;d=b+(d<<3)+4|0;f[a+(g<<3)>>2]=+f[b+(g<<3)>>2]+(k*+f[l>>2]-i*+f[m>>2]+j*+f[c>>2]-e*+f[d>>2]);f[a+(g<<3)+4>>2]=+f[b+(g<<3)+4>>2]+(k*+f[m>>2]+i*+f[l>>2]+j*+f[d>>2]+e*+f[c>>2]);g=g+1|0}return}function qw(a,c){a=a|0;c=c|0;var d=0,f=0,g=0,h=0,i=0;i=c<<16>>16;g=3-i|0;i=1<<i;a:do if((g|0)>0){h=1<<g+-1;d=0;while(1){if((d|0)>=(i|0))break a;c=0;f=a;while(1){if((c|0)==(i|0))break;b[f>>1]=h+(b[f>>1]|0)>>g;c=c+1|0;f=f+2|0}a=a+(i<<1)|0;d=d+1|0}}else{g=0-g|0;f=0;while(1){if((f|0)>=(i|0))break a;c=0;d=a;while(1){if((c|0)==(i|0))break;b[d>>1]=e[d>>1]<<g;c=c+1|0;d=d+2|0}f=f+1|0;a=a+(i<<1)|0}}while(0);return}function rw(a,c){a=a|0;c=c|0;var d=0,f=0,g=0,h=0,i=0;i=c<<16>>16;g=5-i|0;i=1<<i;a:do if((g|0)>0){h=1<<g+-1;d=0;while(1){if((d|0)>=(i|0))break a;c=0;f=a;while(1){if((c|0)==(i|0))break;b[f>>1]=h+(b[f>>1]|0)>>g;c=c+1|0;f=f+2|0}a=a+(i<<1)|0;d=d+1|0}}else{g=0-g|0;f=0;while(1){if((f|0)>=(i|0))break a;c=0;d=a;while(1){if((c|0)==(i|0))break;b[d>>1]=e[d>>1]<<g;c=c+1|0;d=d+2|0}f=f+1|0;a=a+(i<<1)|0}}while(0);return}function sw(a,c){a=a|0;c=c|0;var d=0,f=0,g=0,h=0,i=0;i=c<<16>>16;g=6-i|0;i=1<<i;a:do if((g|0)>0){h=1<<g+-1;d=0;while(1){if((d|0)>=(i|0))break a;c=0;f=a;while(1){if((c|0)==(i|0))break;b[f>>1]=h+(b[f>>1]|0)>>g;c=c+1|0;f=f+2|0}a=a+(i<<1)|0;d=d+1|0}}else{g=0-g|0;f=0;while(1){if((f|0)>=(i|0))break a;c=0;d=a;while(1){if((c|0)==(i|0))break;b[d>>1]=e[d>>1]<<g;c=c+1|0;d=d+2|0}f=f+1|0;a=a+(i<<1)|0}}while(0);return}function tw(a,c){a=a|0;c=c|0;var d=0,f=0,g=0,h=0,i=0;i=c<<16>>16;g=7-i|0;i=1<<i;a:do if((g|0)>0){h=1<<g+-1;d=0;while(1){if((d|0)>=(i|0))break a;c=0;f=a;while(1){if((c|0)==(i|0))break;b[f>>1]=h+(b[f>>1]|0)>>g;c=c+1|0;f=f+2|0}a=a+(i<<1)|0;d=d+1|0}}else{g=0-g|0;f=0;while(1){if((f|0)>=(i|0))break a;c=0;d=a;while(1){if((c|0)==(i|0))break;b[d>>1]=e[d>>1]<<g;c=c+1|0;d=d+2|0}f=f+1|0;a=a+(i<<1)|0}}while(0);return}function uw(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,k=0,l=0;h=0;while(1){if((h|0)==4)break;i=b+(H(h,g)|0)|0;l=i;i=i+4|0;k=e+(h<<3)|0;j=k;k=k+4|0;k=AQ(d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24,d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24,d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24,d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24)|0;j=M()|0;i=a+(H(h,f)|0)|0;c[i>>2]=k;c[i+4>>2]=j;h=h+1|0}return}function vw(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;h=Mb;Mb=Mb+16|0;f=h;g=b+8|0;k=g;k=_U(c[k>>2]|0,c[k+4>>2]|0,3)|0;k=oY(k,M()|0)|0;j=M()|0;i=f;c[i>>2]=k;c[i+4>>2]=j;DA(b,217387,1);while(1){if(0==0?(c[g>>2]&63|0)==56:0)break;DA(b,1113148,1)}DA(b,f,8);f=0;while(1){if(f>>>0>=(d[b>>0]|0)>>>0)break;j=W_(c[b+80+(f<<2)>>2]|0)|0;k=e+(f<<2)|0;a[k>>0]=j;a[k+1>>0]=j>>8;a[k+2>>0]=j>>16;a[k+3>>0]=j>>24;f=f+1|0}Mb=h;return}function ww(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=Mb;Mb=Mb+16|0;e=f;b=c[a+48>>2]|0;if(!b)b=Vb[c[a+44>>2]&31](c[a+36>>2]|0)|0;else b=Xb[b&15](c[a+40>>2]|0,c[a+36>>2]|0)|0;c[e>>2]=b;do if(b){d=EZ(20)|0;if(!d){F$(e);b=0;break}else{e=c[b>>2]|0;c[d>>2]=c[e>>2];g=e+16|0;c[d+4>>2]=c[g>>2];e=e+12|0;c[d+8>>2]=c[e>>2];c[d+12>>2]=a;c[g>>2]=d;c[e>>2]=216;break}}else b=0;while(0);Mb=f;return b|0}function xw(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=Mb;Mb=Mb+160|0;g=j+144|0;i=j;Mn(i|0,165648,144)|0;if((d+-1|0)>>>0>2147483646)if(!d){b=g;d=1;h=4}else{d=j2()|0;c[d>>2]=75;d=-1}else h=4;if((h|0)==4){h=-2-b|0;h=d>>>0>h>>>0?h:d;c[i+48>>2]=h;g=i+20|0;c[g>>2]=b;c[i+44>>2]=b;d=b+h|0;b=i+16|0;c[b>>2]=d;c[i+28>>2]=d;d=u$(i,e,f)|0;if(h){i=c[g>>2]|0;a[i+(((i|0)==(c[b>>2]|0))<<31>>31)>>0]=0}}Mb=j;return d|0}function yw(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;if(mT(e)|0)eW(e,4);g=d+96|0;a:do if(!(le(b,d,e,g)|0)){ZE(e,g);gC(d,e,g);f=Fd(b,d,e,g,0)|0;if((f|0)>=0){f=Pf(b,d,e,g,0)|0;if((f|0)>=0){g=mT(e)|0;c[d+100>>2]=g;if(!g)f=0;else{b=c[d+310116>>2]|0;f=0;while(1){if((f|0)>=(b|0)){f=0;break a}g=(mT(e)|0)&255;a[d+137+f>>0]=g;f=f+1|0}}}}}else f=-1;while(0);return f|0}function zw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;f=a+8|0;d=c[f>>2]|0;e=c[a+12>>2]|0;if((d|0)!=(e|0))if(T_(a)|0){g=a+4|0;i=c[g>>2]|0;h=-2-i|0;b=i+1+(h>>>0>b>>>0?b:h)|0;d=d>>>0>e>>>1>>>0?e:d<<1;e=d>>>0<b>>>0?(e>>>0>b>>>0?b:e):d;d=c[a>>2]|0;d=(d|0)==(a+16|0)?0:d;b=WW(d,e)|0;if(!b)b=-12;else{if(!d)Mn(b|0,c[a>>2]|0,(c[g>>2]|0)+1|0)|0;c[a>>2]=b;c[f>>2]=e;b=0}}else b=-1094995529;else b=-5;return b|0}function Aw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;if((T$(a)|0)<(d|0)){e=l1(a)|0;if((1073741823-e|0)>=(d|0)){e=qA(a,e+d<<1)|0;if((e|0)>-1)f=4}else e=-22}else f=4;a:do if((f|0)==4){f=H(c[a+24>>2]|0,d)|0;g=a+4|0;e=0;while(1){if((e|0)>=(c[g>>2]|0))break;if((Pw(c[(c[a>>2]|0)+(e<<2)>>2]|0,c[b+(e<<2)>>2]|0,f,0)|0)==(f|0))e=e+1|0;else{e=-558323010;break a}}e=a+8|0;c[e>>2]=(c[e>>2]|0)+d;e=d}while(0);return e|0}function Bw(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;g=0;while(1){if((g|0)==2)break;j=c+1|0;i=c+-1|0;k=c+2|0;l=H((d[k>>0]|0)+(d[i>>0]|0)|0,-5)|0;h=c+3|0;l=(((d[j>>0]|0)+(d[c>>0]|0)|0)*20|0)+16+(d[c+-2>>0]|0)+l+(d[h>>0]|0)>>5;a[b>>0]=l>>>0>255?0-l>>31:l;h=H((d[h>>0]|0)+(d[c>>0]|0)|0,-5)|0;h=(((d[k>>0]|0)+(d[j>>0]|0)|0)*20|0)+16+(d[i>>0]|0)+h+(d[c+4>>0]|0)>>5;a[b+1>>0]=h>>>0>255?0-h>>31:h;c=c+f|0;b=b+e|0;g=g+1|0}return}function Cw(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=Mb;Mb=Mb+16|0;i=j;h=d&255;a:while(1){g=f+-1|0;if(!f){f=8;break}switch(d|0){case 2:case 3:case 1:{f=mT(e)|0;break}case 5:{s1(e);f=2;break}case 4:{f=3;break}default:{f=6;break a}}a[b>>0]=f;f=(HG(e,4)|0)&255;a[b+1>>0]=f;a[b+2>>0]=h;f=g;b=b+3|0}if((f|0)==6){c[i>>2]=222636;c[i+4>>2]=196870;c[i+8>>2]=713;AD(0,0,222515,i);ba()}else if((f|0)==8){Mb=j;return}}function Dw(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;j=Mb;Mb=Mb+32|0;i=j+16|0;h=j;a:do if((a|0)!=0&(d|0)!=0){if((((e|0)>-1?e:0-e|0)|0)<(f|0)){c[h>>2]=211503;c[h+4>>2]=211534;c[h+8>>2]=313;AD(0,0,222515,h);ba()}if((((b|0)>-1?b:0-b|0)|0)<(f|0)){c[i>>2]=211555;c[i+4>>2]=211534;c[i+8>>2]=314;AD(0,0,222515,i);ba()}while(1){if((g|0)<=0)break a;Mn(a|0,d|0,f|0)|0;g=g+-1|0;a=a+b|0;d=d+e|0}}while(0);Mb=j;return}function Ew(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=c[a>>2]|0;d=((b|0)>-1?b:0-b|0)+63&-32;f=a+27788|0;g=a+27804|0;B$(f,g,d*96|0);b=a+27792|0;B$(b,a+27808|0,d*42|0);d=a+27796|0;h=h+26996|0;w$(d,a+27812|0,(c[h>>2]|0)*96|0);e=a+27800|0;w$(e,a+27816|0,(c[h>>2]|0)*96|0);if((((c[f>>2]|0)!=0?(c[b>>2]|0)!=0:0)?(c[d>>2]|0)!=0:0)?(c[e>>2]|0)!=0:0)b=0;else{bU(f);bU(b);bU(d);bU(e);c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;b=-12}return b|0}function Fw(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,i=0;i=Mb;Mb=Mb+32|0;h=i+16|0;g=i+8|0;do if(e>>>0<=3){if(!(c&32768)){c=a[205871+e>>0]|0;if((e|1|0)==3){AD(b,16,205875,g);c=-1094995529;break}}else c=e;e=d&32896;if((e|0)!=32896)if((c|2|0)==3){AD(b,16,205923,h);c=-1094995529;break}else{Mb=i;return ((e|0)==0|(f|0)==0?a[205972+c>>0]|0:8-(d>>>15&1)+(((c|0)==4&1)<<1)|0)|0}}else{AD(b,16,205834,i);c=-1094995529}while(0);Mb=i;return c|0}function Gw(a){a=a|0;var b=0,d=0,e=0.0,g=0.0,h=0.0,i=0.0,j=0.0,k=0.0;b=c[a+20>>2]|0;if(!b){a=a+128|0;b=17488;d=a+64|0;do{c[a>>2]=c[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(d|0))}else{h=+(c[a+12>>2]|0);j=+(c[a+16>>2]|0);e=+(c[a+4>>2]|0);k=e/j;g=+(c[a>>2]|0);i=g/h;i=(b|0)==1?(k<i?k:i):k>i?k:i;e=i*j/e;g=i*h/g;h=-g;f[a+128>>2]=h;i=-e;f[a+132>>2]=i;f[a+144>>2]=g;f[a+148>>2]=i;f[a+160>>2]=h;f[a+164>>2]=e;f[a+176>>2]=g;f[a+180>>2]=e}return}function Hw(a){a=a|0;var b=0,d=0,e=0,f=0;e=Mb;Mb=Mb+16|0;d=e;do if(c[a+16>>2]|0){b=ha(8,a|0)|0;if((b|0)<0){_B(170008)|0;break}else{b=ha(9,a|0)|0;c[a>>2]=b;ja(10,1,4096,26,a|0)|0;b=CX()|0;c[a+24>>2]=b;c[b+80>>2]=3;f=b+240|0;c[f>>2]=4;c[f+4>>2]=0;c[b+76>>2]=4096;PB(b,0)|0;c[a+12>>2]=1;c[d>>2]=c[a>>2];c[d+4>>2]=4096;jV(170420,d)|0;b=0;break}}else b=-1;while(0);Mb=e;return b|0}function Iw(a){a=a|0;var b=0,d=0;a:do switch(c[a+8>>2]|0){case 4:case 3:case 2:case 0:{b=a+72|0;a=c[b+4>>2]|0;b=c[b>>2]|0;break}case 1:{b=lQ(c[a+48>>2]|0)|0;if(!b){b=a+72|0;a=c[b+4>>2]|0;b=c[b>>2]|0;break a}else{d=c[a+416>>2]|0;a=c[a+420>>2]|0;b=MR(d|0,((d|0)<0)<<31>>31|0,b|0,((b|0)<0)<<31>>31|0)|0;b=MR(b|0,M()|0,a|0,((a|0)<0)<<31>>31|0)|0;a=M()|0;break a}}default:{a=0;b=0}}while(0);L(a|0);return b|0}function Jw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=Mb;Mb=Mb+16|0;g=k;c[g>>2]=d;do if(!d)e=0;else{h=a+292|0;i=c[h>>2]|0;if((i>>>0<=536870910?(j=a+288|0,f=WW(c[j>>2]|0,(i<<2)+4|0)|0,f|0):0)?(c[j>>2]=f,e=EZ(20)|0,e|0):0){c[e+16>>2]=d;c[e+4>>2]=c[d+4>>2];c[e+8>>2]=c[d+8>>2];c[e>>2]=b;i=c[j>>2]|0;j=c[h>>2]|0;c[h>>2]=j+1;c[i+(j<<2)>>2]=e;break}F$(g);e=0}while(0);Mb=k;return e|0}function Kw(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;k=c[b+1412>>2]|0;l=(1<<c[k+13336>>2])+-1|0;j=c[k+13320>>2]|0;i=f>>j;j=g>>j;m=c[b+136>>2]|0;if((a[m+308>>0]|0)!=0|(l&f|0)!=0){h=(c[b+7568>>2]|0)+(i+-1+(H(c[k+13396>>2]|0,j)|0))|0;h=d[h>>0]|0}else h=0;if((l&g|0)!=0|(a[m+309>>0]|0)!=0){f=(c[b+7568>>2]|0)+((H(c[k+13396>>2]|0,j+-1|0)|0)+i)|0;f=d[f>>0]|0}else f=0;return LA(m+224|0,m+(((h|0)>(e|0)?3:2)+((f|0)>(e|0)&1))|0)|0}function Lw(a,b,c,e,f){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;g=1;a=0;while(1){if((g|0)>=(f|0))break;c=0;while(1){if(c>>>0>=16)break;j=c+e|0;k=(d[b+c>>0]|0)-(d[b+j>>0]|0)|0;j=(d[b+(c|1)>>0]|0)-(d[b+(j+1)>>0]|0)|0;i=c|2;i=(d[b+i>>0]|0)-(d[b+(i+e)>>0]|0)|0;h=c|3;h=(d[b+h>>0]|0)-(d[b+(h+e)>>0]|0)|0;c=c+4|0;a=((k|0)>-1?k:0-k|0)+a+((j|0)>-1?j:0-j|0)+((i|0)>-1?i:0-i|0)+((h|0)>-1?h:0-h|0)|0}g=g+1|0;b=b+e|0}return a|0}function Mw(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;g=0;while(1){if((g|0)>=(f|0))break;j=b;h=j;j=j+4|0;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;i=a;c[i>>2]=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;c[i+4>>2]=j;i=b+8|0;j=i;i=i+4|0;i=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;h=a+8|0;c[h>>2]=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;c[h+4>>2]=i;g=g+1|0;a=a+e|0;b=b+e|0}return}function Nw(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0;h=f>>1;g=d;f=a;a=0;while(1){if((a|0)==8)break;i=(c[g>>2]|0)+(e[f+-2>>1]|0)|0;b[f>>1]=i;i=(c[g+4>>2]|0)+i|0;b[f+2>>1]=i;i=(c[g+8>>2]|0)+i|0;b[f+4>>1]=i;i=(c[g+12>>2]|0)+i|0;b[f+6>>1]=i;i=(c[g+16>>2]|0)+i|0;b[f+8>>1]=i;i=(c[g+20>>2]|0)+i|0;b[f+10>>1]=i;i=(c[g+24>>2]|0)+i|0;b[f+12>>1]=i;b[f+14>>1]=(c[g+28>>2]|0)+i;g=g+32|0;f=f+(h<<1)|0;a=a+1|0}jv(d|0,0,256)|0;return}function Ow(a,b,c,e,f){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;g=1;a=0;while(1){if((g|0)>=(f|0))break;c=0;while(1){if(c>>>0>=8)break;j=c+e|0;k=(d[b+c>>0]|0)-(d[b+j>>0]|0)|0;j=(d[b+(c|1)>>0]|0)-(d[b+(j+1)>>0]|0)|0;i=c|2;i=(d[b+i>>0]|0)-(d[b+(i+e)>>0]|0)|0;h=c|3;h=(d[b+h>>0]|0)-(d[b+(h+e)>>0]|0)|0;c=c+4|0;a=((k|0)>-1?k:0-k|0)+a+((j|0)>-1?j:0-j|0)+((i|0)>-1?i:0-i|0)+((h|0)>-1?h:0-h|0)|0}g=g+1|0;b=b+e|0}return a|0}function Pw(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;m=a+20|0;n=a+8|0;k=a+12|0;l=(e|0)==0;f=c[n>>2]|0;g=c[m>>2]|0;j=b;b=d;i=c[k>>2]|0;do{i=i-f|0;i=(i|0)>(b|0)?b:i;if(!l){h=Yb[e&15](j,f,i)|0;if((h|0)<1)break}else{Mn(f|0,j|0,i|0)|0;h=i;j=j+i|0}f=f+h|0;i=c[k>>2]|0;if(f>>>0>=i>>>0)f=c[a>>2]|0;g=h+g|0;b=b-h|0}while((b|0)>0);c[m>>2]=g;c[n>>2]=f;return d-b|0}function Qw(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,i=0;h=d>>1;g=d&-2;d=h*3|0;f=(e[a+(0-h<<1)>>1]|0)+4+(e[a+(1-h<<1)>>1]|0)+(e[a+(2-h<<1)>>1]|0)+(e[a+(3-h<<1)>>1]|0)+(e[a+-2>>1]|0)+(e[a+(h+-1<<1)>>1]|0)+(e[a+(g+-1<<1)>>1]|0)+(e[a+(d+-1<<1)>>1]|0)>>3;f=MR(f|0,((f|0)<0)<<31>>31|0,65537,65537)|0;b=M()|0;i=a;c[i>>2]=f;c[i+4>>2]=b;h=a+(h<<1)|0;c[h>>2]=f;c[h+4>>2]=b;g=a+(g<<1)|0;c[g>>2]=f;c[g+4>>2]=b;d=a+(d<<1)|0;c[d>>2]=f;c[d+4>>2]=b;return}function Rw(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=Mb;Mb=Mb+16|0;f=g;b=a+308|0;d=(c[a>>2]|0)+8|0;e=a+212|0;a=a+304|0;while(1){if((c[b>>2]|0)<=0){a=6;break}d2(d)|0;if((c[(c[e>>2]|0)+8>>2]|0)>>>0>=2){a=4;break}j=c[a>>2]|0;i=(c[b>>2]|0)+-1|0;c[b>>2]=i;h=j+(i*400|0)|0;c[j+(i*400|0)+64>>2]=h;jB(h);d2(d)|0}if((a|0)==4){c[f>>2]=193257;c[f+4>>2]=193346;c[f+8>>2]=376;AD(0,0,222515,f);ba()}else if((a|0)==6){Mb=g;return}}function Sw(a,b,d,e,g){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0;h=g+(H(e,-3)|0)|0;while(1){if(a>>>0>=h>>>0)break;f[a>>2]=+(c[b>>2]|0)*4.656612873077393e-10;i=b+d|0;j=a+e|0;f[j>>2]=+(c[i>>2]|0)*4.656612873077393e-10;i=i+d|0;j=j+e|0;f[j>>2]=+(c[i>>2]|0)*4.656612873077393e-10;i=i+d|0;j=j+e|0;f[j>>2]=+(c[i>>2]|0)*4.656612873077393e-10;a=j+e|0;b=i+d|0}while(1){if(a>>>0>=g>>>0)break;f[a>>2]=+(c[b>>2]|0)*4.656612873077393e-10;a=a+e|0;b=b+d|0}return}function Tw(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;h=f+(H(e,-3)|0)|0;while(1){if(a>>>0>=h>>>0)break;g[a>>3]=+(c[b>>2]|0)*4.656612873077393e-10;i=b+d|0;j=a+e|0;g[j>>3]=+(c[i>>2]|0)*4.656612873077393e-10;i=i+d|0;j=j+e|0;g[j>>3]=+(c[i>>2]|0)*4.656612873077393e-10;i=i+d|0;j=j+e|0;g[j>>3]=+(c[i>>2]|0)*4.656612873077393e-10;a=j+e|0;b=i+d|0}while(1){if(a>>>0>=f>>>0)break;g[a>>3]=+(c[b>>2]|0)*4.656612873077393e-10;a=a+e|0;b=b+d|0}return}function Uw(a,b,c,e,g){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,j=0;h=g+(H(e,-3)|0)|0;while(1){if(a>>>0>=h>>>0)break;f[a>>2]=+((d[b>>0]|0)+-128|0)*.0078125;i=b+c|0;j=a+e|0;f[j>>2]=+((d[i>>0]|0)+-128|0)*.0078125;i=i+c|0;j=j+e|0;f[j>>2]=+((d[i>>0]|0)+-128|0)*.0078125;i=i+c|0;j=j+e|0;f[j>>2]=+((d[i>>0]|0)+-128|0)*.0078125;a=j+e|0;b=i+c|0}while(1){if(a>>>0>=g>>>0)break;f[a>>2]=+((d[b>>0]|0)+-128|0)*.0078125;a=a+e|0;b=b+c|0}return}function Vw(a,b,c,e,f){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;var h=0,i=0,j=0;h=f+(H(e,-3)|0)|0;while(1){if(a>>>0>=h>>>0)break;g[a>>3]=+((d[b>>0]|0)+-128|0)*.0078125;i=b+c|0;j=a+e|0;g[j>>3]=+((d[i>>0]|0)+-128|0)*.0078125;i=i+c|0;j=j+e|0;g[j>>3]=+((d[i>>0]|0)+-128|0)*.0078125;i=i+c|0;j=j+e|0;g[j>>3]=+((d[i>>0]|0)+-128|0)*.0078125;a=j+e|0;b=i+c|0}while(1){if(a>>>0>=f>>>0)break;g[a>>3]=+((d[b>>0]|0)+-128|0)*.0078125;a=a+e|0;b=b+c|0}return}function Ww(b,f,g){b=b|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;k=f+g|0;l=b+30|0;a:do if(!(a[l>>0]|0)){g=f;m=5}else{g=f;j=0;while(1){h=j&255;i=b+32+(h<<3)+2|0;if((g+(e[i>>1]|0)+4|0)>>>0>k>>>0){g=-1;break a}a[g>>0]=0;a[g+1>>0]=0;a[g+2>>0]=0;a[g+3>>0]=1;Mn(g+4|0,c[b+32+(h<<3)+4>>2]|0,e[i>>1]|0)|0;g=g+((e[i>>1]|0)+4)|0;j=j+1<<24>>24;if((j&255)>=(d[l>>0]|0)){m=5;break}}}while(0);if((m|0)==5)g=g-f|0;return g|0}function Xw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=Mb;Mb=Mb+16|0;g=h;e=a+64+(b<<2)|0;d=c[e>>2]|0;if(d|0){f=a+1220|0;if((c[f>>2]|0)==(c[d+4>>2]|0))c[f>>2]=0;d=0;while(1){if((d|0)==256)break;i=c[a+192+(d<<2)>>2]|0;if(i|0?(c[c[i+4>>2]>>2]|0)==(b|0):0)gS(a,d);d=d+1|0}i=c[e>>2]|0;if(i|0?(c[f>>2]|0)==(c[i+4>>2]|0):0){c[g>>2]=176007;c[g+4>>2]=176071;c[g+8>>2]=92;AD(0,0,222515,g);ba()}}F$(e);Mb=h;return}function Yw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=Mb;Mb=Mb+16|0;h=j;e=c[a+12>>2]|0;if((e|0?(g=c[e+4>>2]|0,g|0):0)?(i=g+(d<<2)|0,(c[i>>2]|0)<(b|0)):0){a=a+4+(d<<2)|0;f=c[(c[(c[a>>2]|0)+64>>2]|0)+20>>2]|0;if(c[f+344>>2]|0){e=c[a>>2]|0;c[h>>2]=b;c[h+4>>2]=d;c[h+8>>2]=g;AD(e,48,193415,h)}e=f+184|0;d2(e)|0;a=f+60|0;while(1){if((c[i>>2]|0)>=(b|0))break;yb(a|0,e|0)|0}d2(e)|0}Mb=j;return}function Zw(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=Mb;Mb=Mb+16|0;h=i;if((c[e>>2]|0)>>>0>=f>>>0){if(f|0?(d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24|0)==0:0){c[h>>2]=212253;c[h+4>>2]=212270;c[h+8>>2]=33;AD(0,0,222515,h);ba()}}else{h=f+32+(f>>>4)|0;h=h>>>0>f>>>0?h:f;bU(b);if(!g)f=RD(h)|0;else f=EZ(h)|0;a[b>>0]=f;a[b+1>>0]=f>>8;a[b+2>>0]=f>>16;a[b+3>>0]=f>>24;c[e>>2]=(f|0)==0?0:h}Mb=i;return}function _w(b){b=b|0;var d=0,e=0;d=oK(1,312)|0;ha(0,d|0)|0;e=AU(1,d)|0;c[d+72>>2]=e;e=It(3,1,2048)|0;c[d+100>>2]=e;e=EX()|0;c[d+96>>2]=e;c[e+16>>2]=8;c[e+20>>2]=d;c[d+144>>2]=-1;c[d+148>>2]=-1;a[d+246>>0]=1;a[d+247>>0]=1;a[d+242>>0]=(b|0)!=0&1;c[d>>2]=0;c[d+4>>2]=2e3;c[d+8>>2]=-16;b=fW(Fa()|0)|0;c[d+12>>2]=b;cS(d,4194304);va(0,d|0,0,9,2)|0;wa(d|0,0,10,2)|0;return d|0}function $w(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;i=(h<<f)+((f|0)==0?0:1<<f+-1)|0;h=b;b=0;while(1){if((b|0)>=(e|0))break;j=(H(d[h>>0]|0,g)|0)+i>>f;a[h>>0]=j>>>0>255?0-j>>31:j;j=h+1|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?0-k>>31:k;j=h+2|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?0-k>>31:k;j=h+3|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?0-k>>31:k;h=h+c|0;b=b+1|0}return}function ax(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0;f=d>>1;g=MR(e[a+-2>>1]|0|0,0,65537,65537)|0;b=M()|0;h=a;c[h>>2]=g;c[h+4>>2]=b;h=MR(e[a+(f+-1<<1)>>1]|0|0,0,65537,65537)|0;b=M()|0;g=a+(f<<1)|0;c[g>>2]=h;c[g+4>>2]=b;d=d&-2;g=MR(e[a+(d+-1<<1)>>1]|0|0,0,65537,65537)|0;b=M()|0;d=a+(d<<1)|0;c[d>>2]=g;c[d+4>>2]=b;d=f*3|0;f=MR(e[a+(d+-1<<1)>>1]|0|0,0,65537,65537)|0;b=M()|0;d=a+(d<<1)|0;c[d>>2]=f;c[d+4>>2]=b;return}function bx(a,b,c,e,f){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;g=1;a=0;while(1){if((g|0)>=(f|0))break;c=0;while(1){if(c>>>0>=16)break;h=c+e|0;k=(d[b+c>>0]|0)-(d[b+h>>0]|0)|0;k=H(k,k)|0;j=(d[b+(c|1)>>0]|0)-(d[b+(h+1)>>0]|0)|0;j=H(j,j)|0;i=(d[b+(c|2)>>0]|0)-(d[b+(h+2)>>0]|0)|0;i=H(i,i)|0;h=(d[b+(c|3)>>0]|0)-(d[b+(h+3)>>0]|0)|0;c=c+4|0;a=k+a+j+i+(H(h,h)|0)|0}g=g+1|0;b=b+e|0}return a|0}function cx(b,c,e,f){b=b|0;c=c|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;m=0-c|0;n=H(c,-2)|0;l=0;while(1){if((l|0)==8)break;j=b+m|0;k=d[j>>0]|0;g=d[b+n>>0]|0;h=d[b>>0]|0;i=d[b+c>>0]|0;o=k-h|0;if(((((o|0)>-1?o:0-o|0)|0)<(e|0)?(o=g-k|0,(((o|0)>-1?o:0-o|0)|0)<(f|0)):0)?(o=i-h|0,(((o|0)>-1?o:0-o|0)|0)<(f|0)):0){a[j>>0]=(k+2+(g<<1)+i|0)>>>2;a[b>>0]=(g+2+h+(i<<1)|0)>>>2}l=l+1|0;b=b+1|0}return}function dx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=Mb;Mb=Mb+16|0;j=l;h=a+29540|0;i=a+4|0;g=0;while(1){if((g|0)>=(c[h>>2]|0)){e=0;break}e=c[a+28332+(g<<2)>>2]|0;f=c[i>>2]|0;if(!(c[f+680>>2]&2048))f=e+88|0;else{m=e+88|0;n=c[m>>2]|0;c[j>>2]=g;c[j+4>>2]=n;c[j+8>>2]=e;AD(f,48,207251,j);f=m}if((c[f>>2]|0)==(b|0)){k=7;break}g=g+1|0}if((k|0)==7)c[d>>2]=g;Mb=l;return e|0}function ex(a,b,c,e,f){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;g=1;a=0;while(1){if((g|0)>=(f|0))break;c=0;while(1){if(c>>>0>=8)break;h=c+e|0;k=(d[b+c>>0]|0)-(d[b+h>>0]|0)|0;k=H(k,k)|0;j=(d[b+(c|1)>>0]|0)-(d[b+(h+1)>>0]|0)|0;j=H(j,j)|0;i=(d[b+(c|2)>>0]|0)-(d[b+(h+2)>>0]|0)|0;i=H(i,i)|0;h=(d[b+(c|3)>>0]|0)-(d[b+(h+3)>>0]|0)|0;c=c+4|0;a=k+a+j+i+(H(h,h)|0)|0}g=g+1|0;b=b+e|0}return a|0}function fx(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0;i=d[91792+f>>0]|0;g=i+-1|0;i=i+-8|0;h=a[b+28272+(e*40|0)+i>>0]|0;f=(a[b+28272+(e*40|0)+g>>0]|0)>0;if((c[b+840>>2]|0)==3){if(f)f=((d[b+28512+g>>0]|0)>>>7^1)&255;else f=0;if(h<<24>>24>0)e=(a[b+28512+i>>0]|0)<0?f:f|2;else e=f}else{e=f&1;e=h<<24>>24>0?e|2:e}g=b+32856|0;f=0;while(1){if(!(BA(g,e+54+(b+32904)|0)|0))break;if(f>>>0>30){f=-1;break}f=f+1|0;e=(e>>2)+4|0}return f|0}function gx(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=d>>1;f=0;d=c;while(1){if((f|0)==2)break;l=e[d+-4>>1]|0;c=e[d>>1]|0;i=e[d+4>>1]|0;j=e[d+8>>1]|0;h=e[d+12>>1]|0;k=e[d+16>>1]|0;m=(e[d+-8>>1]|0)+16+h+((i+c|0)*20|0)+(H(j+l|0,-5)|0)>>5;b[a>>1]=m>>>0<16384?m:0-m>>31&16383;c=l+16+k+((j+i|0)*20|0)+(H(h+c|0,-5)|0)>>5;b[a+(g<<1)>>1]=c>>>0<16384?c:0-c>>31&16383;f=f+1|0;a=a+2|0;d=d+2|0}return}function hx(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c>>1;k=d<<6;j=f<<6;i=0;while(1){if((i|0)==4)break;g=a+-2|0;h=e[g>>1]|0;c=e[a+-4>>1]|0;d=e[a>>1]|0;f=e[a+2>>1]|0;m=h-d|0;if(((((m|0)>-1?m:0-m|0)|0)<(k|0)?(m=c-h|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0)?(m=f-d|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0){b[g>>1]=(h+2+(c<<1)+f|0)>>>2;b[a>>1]=(c+2+d+(f<<1)|0)>>>2}i=i+1|0;a=a+(l<<1)|0}return}function ix(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c>>1;k=d<<4;j=f<<4;i=0;while(1){if((i|0)==4)break;g=a+-2|0;h=e[g>>1]|0;c=e[a+-4>>1]|0;d=e[a>>1]|0;f=e[a+2>>1]|0;m=h-d|0;if(((((m|0)>-1?m:0-m|0)|0)<(k|0)?(m=c-h|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0)?(m=f-d|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0){b[g>>1]=(h+2+(c<<1)+f|0)>>>2;b[a>>1]=(c+2+d+(f<<1)|0)>>>2}i=i+1|0;a=a+(l<<1)|0}return}function jx(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c>>1;k=d<<2;j=f<<2;i=0;while(1){if((i|0)==4)break;g=a+-2|0;h=e[g>>1]|0;c=e[a+-4>>1]|0;d=e[a>>1]|0;f=e[a+2>>1]|0;m=h-d|0;if(((((m|0)>-1?m:0-m|0)|0)<(k|0)?(m=c-h|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0)?(m=f-d|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0){b[g>>1]=(h+2+(c<<1)+f|0)>>>2;b[a>>1]=(c+2+d+(f<<1)|0)>>>2}i=i+1|0;a=a+(l<<1)|0}return}function kx(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c>>1;k=d<<1;j=f<<1;i=0;while(1){if((i|0)==4)break;g=a+-2|0;h=e[g>>1]|0;c=e[a+-4>>1]|0;d=e[a>>1]|0;f=e[a+2>>1]|0;m=h-d|0;if(((((m|0)>-1?m:0-m|0)|0)<(k|0)?(m=c-h|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0)?(m=f-d|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0){b[g>>1]=(h+2+(c<<1)+f|0)>>>2;b[a>>1]=(c+2+d+(f<<1)|0)>>>2}i=i+1|0;a=a+(l<<1)|0}return}function lx(a){a=a|0;var b=0,c=0.0,d=0.0,e=0,g=0,h=0.0,i=0.0,j=0,k=0,l=0.0,m=0.0,n=0.0;l=+f[a>>2];g=a+8|0;d=+f[g>>2];i=l-d;d=l+d;j=a+24|0;l=+f[j>>2];b=a+16|0;n=+f[b>>2];m=l-n;n=l+n;f[b>>2]=d-n;f[a>>2]=d+n;b=a+4|0;n=+f[b>>2];k=a+12|0;d=+f[k>>2];l=n-d;d=n+d;e=a+20|0;n=+f[e>>2];a=a+28|0;c=+f[a>>2];h=n-c;c=n+c;f[a>>2]=l-m;f[k>>2]=m+l;f[j>>2]=i-h;f[g>>2]=i+h;f[e>>2]=d-c;f[b>>2]=d+c;return}function mx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=a+64|0;g=c[e>>2]|0;f=g+64|0;do if(!(c[f>>2]|0)){d=Mv(a,b)|0;if((d|0)==-541478725){c[f>>2]=1;d=-541478725;break}if((d|0)>=0){d=YO(c[e>>2]|0,b)|0;if((d|0)>=0){d=nh(a,b)|0;if((d|0)>=0){if(!(c[(c[a+12>>2]|0)+104>>2]|0)){d=0;break}d=g+92|0;c[d>>2]=(c[d>>2]|0)+(c[b+28>>2]|0);d=0;break}}BX(b)}}else d=-541478725;while(0);return d|0}function nx(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c>>1;k=d<<6;j=f<<6;i=0;while(1){if((i|0)==16)break;g=a+-2|0;h=e[g>>1]|0;c=e[a+-4>>1]|0;d=e[a>>1]|0;f=e[a+2>>1]|0;m=h-d|0;if(((((m|0)>-1?m:0-m|0)|0)<(k|0)?(m=c-h|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0)?(m=f-d|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0){b[g>>1]=(h+2+(c<<1)+f|0)>>>2;b[a>>1]=(c+2+d+(f<<1)|0)>>>2}i=i+1|0;a=a+(l<<1)|0}return}function ox(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c>>1;k=d<<4;j=f<<4;i=0;while(1){if((i|0)==16)break;g=a+-2|0;h=e[g>>1]|0;c=e[a+-4>>1]|0;d=e[a>>1]|0;f=e[a+2>>1]|0;m=h-d|0;if(((((m|0)>-1?m:0-m|0)|0)<(k|0)?(m=c-h|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0)?(m=f-d|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0){b[g>>1]=(h+2+(c<<1)+f|0)>>>2;b[a>>1]=(c+2+d+(f<<1)|0)>>>2}i=i+1|0;a=a+(l<<1)|0}return}function px(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c>>1;k=d<<2;j=f<<2;i=0;while(1){if((i|0)==16)break;g=a+-2|0;h=e[g>>1]|0;c=e[a+-4>>1]|0;d=e[a>>1]|0;f=e[a+2>>1]|0;m=h-d|0;if(((((m|0)>-1?m:0-m|0)|0)<(k|0)?(m=c-h|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0)?(m=f-d|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0){b[g>>1]=(h+2+(c<<1)+f|0)>>>2;b[a>>1]=(c+2+d+(f<<1)|0)>>>2}i=i+1|0;a=a+(l<<1)|0}return}function qx(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c>>1;k=d<<1;j=f<<1;i=0;while(1){if((i|0)==16)break;g=a+-2|0;h=e[g>>1]|0;c=e[a+-4>>1]|0;d=e[a>>1]|0;f=e[a+2>>1]|0;m=h-d|0;if(((((m|0)>-1?m:0-m|0)|0)<(k|0)?(m=c-h|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0)?(m=f-d|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0){b[g>>1]=(h+2+(c<<1)+f|0)>>>2;b[a>>1]=(c+2+d+(f<<1)|0)>>>2}i=i+1|0;a=a+(l<<1)|0}return}function rx(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0;h=g+(H(e,-3)|0)|0;while(1){if(a>>>0>=h>>>0)break;f[a>>2]=+(b[c>>1]|0)*.000030517578125;i=c+d|0;j=a+e|0;f[j>>2]=+(b[i>>1]|0)*.000030517578125;i=i+d|0;j=j+e|0;f[j>>2]=+(b[i>>1]|0)*.000030517578125;i=i+d|0;j=j+e|0;f[j>>2]=+(b[i>>1]|0)*.000030517578125;a=j+e|0;c=i+d|0}while(1){if(a>>>0>=g>>>0)break;f[a>>2]=+(b[c>>1]|0)*.000030517578125;a=a+e|0;c=c+d|0}return}function sx(a,c,d,e,f){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0;h=f+(H(e,-3)|0)|0;while(1){if(a>>>0>=h>>>0)break;g[a>>3]=+(b[c>>1]|0)*.000030517578125;i=c+d|0;j=a+e|0;g[j>>3]=+(b[i>>1]|0)*.000030517578125;i=i+d|0;j=j+e|0;g[j>>3]=+(b[i>>1]|0)*.000030517578125;i=i+d|0;j=j+e|0;g[j>>3]=+(b[i>>1]|0)*.000030517578125;a=j+e|0;c=i+d|0}while(1){if(a>>>0>=f>>>0)break;g[a>>3]=+(b[c>>1]|0)*.000030517578125;a=a+e|0;c=c+d|0}return}function tx(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=d>>1;f=0;d=c;while(1){if((f|0)==2)break;l=e[d+-4>>1]|0;c=e[d>>1]|0;i=e[d+4>>1]|0;j=e[d+8>>1]|0;h=e[d+12>>1]|0;k=e[d+16>>1]|0;m=(e[d+-8>>1]|0)+16+h+((i+c|0)*20|0)+(H(j+l|0,-5)|0)>>5;b[a>>1]=m>>>0<4096?m:0-m>>31&4095;c=l+16+k+((j+i|0)*20|0)+(H(h+c|0,-5)|0)>>5;b[a+(g<<1)>>1]=c>>>0<4096?c:0-c>>31&4095;f=f+1|0;a=a+2|0;d=d+2|0}return}function ux(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=d>>1;f=0;d=c;while(1){if((f|0)==2)break;l=e[d+-4>>1]|0;c=e[d>>1]|0;i=e[d+4>>1]|0;j=e[d+8>>1]|0;h=e[d+12>>1]|0;k=e[d+16>>1]|0;m=(e[d+-8>>1]|0)+16+h+((i+c|0)*20|0)+(H(j+l|0,-5)|0)>>5;b[a>>1]=m>>>0<1024?m:0-m>>31&1023;c=l+16+k+((j+i|0)*20|0)+(H(h+c|0,-5)|0)>>5;b[a+(g<<1)>>1]=c>>>0<1024?c:0-c>>31&1023;f=f+1|0;a=a+2|0;d=d+2|0}return}function vx(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0;e=0;f=0;g=0;while(1){if((e|0)==4)break;i=a+((H(e,b)|0)+-1)|0;h=a+((H(e+4|0,b)|0)+-1)|0;e=e+1|0;f=f+(d[i>>0]|0)|0;g=g+(d[h>>0]|0)|0}h=H((f+2|0)>>>2,16843009)|0;f=(g+2|0)>>>2;e=0;while(1){if((e|0)==4)break;i=a+(H(e,b)|0)|0;c[i>>2]=h;c[i+4>>2]=h;e=e+1|0}f=H(f,16843009)|0;e=4;while(1){if((e|0)==8)break;i=a+(H(e,b)|0)|0;c[i>>2]=f;c[i+4>>2]=f;e=e+1|0}return}function wx(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c>>1;k=d<<6;j=f<<6;i=0;while(1){if((i|0)==8)break;g=a+-2|0;h=e[g>>1]|0;c=e[a+-4>>1]|0;d=e[a>>1]|0;f=e[a+2>>1]|0;m=h-d|0;if(((((m|0)>-1?m:0-m|0)|0)<(k|0)?(m=c-h|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0)?(m=f-d|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0){b[g>>1]=(h+2+(c<<1)+f|0)>>>2;b[a>>1]=(c+2+d+(f<<1)|0)>>>2}i=i+1|0;a=a+(l<<1)|0}return}function xx(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c>>1;k=d<<4;j=f<<4;i=0;while(1){if((i|0)==8)break;g=a+-2|0;h=e[g>>1]|0;c=e[a+-4>>1]|0;d=e[a>>1]|0;f=e[a+2>>1]|0;m=h-d|0;if(((((m|0)>-1?m:0-m|0)|0)<(k|0)?(m=c-h|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0)?(m=f-d|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0){b[g>>1]=(h+2+(c<<1)+f|0)>>>2;b[a>>1]=(c+2+d+(f<<1)|0)>>>2}i=i+1|0;a=a+(l<<1)|0}return}function yx(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c>>1;k=d<<2;j=f<<2;i=0;while(1){if((i|0)==8)break;g=a+-2|0;h=e[g>>1]|0;c=e[a+-4>>1]|0;d=e[a>>1]|0;f=e[a+2>>1]|0;m=h-d|0;if(((((m|0)>-1?m:0-m|0)|0)<(k|0)?(m=c-h|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0)?(m=f-d|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0){b[g>>1]=(h+2+(c<<1)+f|0)>>>2;b[a>>1]=(c+2+d+(f<<1)|0)>>>2}i=i+1|0;a=a+(l<<1)|0}return}function zx(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c>>1;k=d<<1;j=f<<1;i=0;while(1){if((i|0)==8)break;g=a+-2|0;h=e[g>>1]|0;c=e[a+-4>>1]|0;d=e[a>>1]|0;f=e[a+2>>1]|0;m=h-d|0;if(((((m|0)>-1?m:0-m|0)|0)<(k|0)?(m=c-h|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0)?(m=f-d|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0){b[g>>1]=(h+2+(c<<1)+f|0)>>>2;b[a>>1]=(c+2+d+(f<<1)|0)>>>2}i=i+1|0;a=a+(l<<1)|0}return}function Ax(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0;e=0;f=0;while(1){if((f|0)==4)break;i=a+((H(f,b)|0)+-1)|0;h=f+4|0;g=a+((H(h,b)|0)+-1)|0;e=e+(d[i>>0]|0)+(d[a+(f-b)>>0]|0)+(d[a+(h-b)>>0]|0)+(d[g>>0]|0)|0;f=f+1|0}f=H((e+8|0)>>>4,16843009)|0;e=0;while(1){if((e|0)==4)break;i=a+(H(e,b)|0)|0;c[i>>2]=f;c[i+4>>2]=f;e=e+1|0}e=4;while(1){if((e|0)==8)break;i=a+(H(e,b)|0)|0;c[i>>2]=f;c[i+4>>2]=f;e=e+1|0}return}function Bx(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=d>>1;f=0;d=c;while(1){if((f|0)==2)break;l=e[d+-4>>1]|0;c=e[d>>1]|0;i=e[d+4>>1]|0;j=e[d+8>>1]|0;h=e[d+12>>1]|0;k=e[d+16>>1]|0;m=(e[d+-8>>1]|0)+16+h+((i+c|0)*20|0)+(H(j+l|0,-5)|0)>>5;b[a>>1]=m>>>0<512?m:0-m>>31&511;c=l+16+k+((j+i|0)*20|0)+(H(h+c|0,-5)|0)>>5;b[a+(g<<1)>>1]=c>>>0<512?c:0-c>>31&511;f=f+1|0;a=a+2|0;d=d+2|0}return}function Cx(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;h=g+(H(f,-3)|0)|0;while(1){if(a>>>0>=h>>>0)break;c[a>>2]=(d[b>>0]|0)<<24^-2147483648;i=b+e|0;j=a+f|0;c[j>>2]=(d[i>>0]|0)<<24^-2147483648;i=i+e|0;j=j+f|0;c[j>>2]=(d[i>>0]|0)<<24^-2147483648;i=i+e|0;j=j+f|0;c[j>>2]=(d[i>>0]|0)<<24^-2147483648;a=j+f|0;b=i+e|0}while(1){if(a>>>0>=g>>>0)break;c[a>>2]=(d[b>>0]|0)<<24^-2147483648;a=a+f|0;b=b+e|0}return}function Dx(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;g=Mb;Mb=Mb+32|0;f=g+8|0;e=a+4|0;b=c[e>>2]|0;a:do if(c[b+680>>2]&2048|0){AD(b,48,206618,g);d=a+29540|0;b=0;while(1){if(b>>>0>=(c[d>>2]|0)>>>0)break a;i=c[a+28332+(b<<2)>>2]|0;h=c[e>>2]|0;k=c[i+88>>2]|0;j=c[i+84>>2]|0;i=c[c[i>>2]>>2]|0;c[f>>2]=b;c[f+4>>2]=k;c[f+8>>2]=j;c[f+12>>2]=i;AD(h,48,206598,f);b=b+1|0}}while(0);Mb=g;return}function Ex(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=Mb;Mb=Mb+32|0;g=i+16|0;h=i;f=e0(b)|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;a:do if((f|0)!=0?(0==0?(c[f+8>>2]&8|0)==0:0):0){$z(g,h,f);e=0;while(1){if(e>>>0>=4){b=0;break a}b=pD(d,c[g+(e<<2)>>2]|0,c[h+(e<<2)>>2]|0,f)|0;if((b|0)<0)break a;c[a+(e<<2)>>2]=b;e=e+1|0}}else b=-22;while(0);Mb=i;return b|0}function Fx(a,b){a=a|0;b=b|0;var d=0,e=0;if(((c[a+12>>2]|0)-(c[a>>2]|0)|0)>>>0<b>>>0){d=h0(a)|0;b=D0(b)|0;if(!b)b=-12;else{PC(a,c[b>>2]|0,d,0)|0;e=b+8|0;c[e>>2]=(c[e>>2]|0)+d;e=b+20|0;c[e>>2]=(c[e>>2]|0)+d;$1(c[a>>2]|0);c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];c[a+16>>2]=c[b+16>>2];c[a+20>>2]=c[b+20>>2];$1(b);b=0}}else b=0;return b|0}function Gx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=Mb;Mb=Mb+16|0;f=h+8|0;e=h;HG(b,4)|0;HG(b,1)|0;HG(b,1)|0;g=PL(b)|0;a:do if(g>>>0>15){c[e>>2]=g;AD(d,16,178951,e);e=-1094995529}else{e=PL(b)|0;if(e>>>0>31){c[f>>2]=e;AD(d,16,178982,f);e=-1094995529;break}c[a+136>>2]=e;e=1;while(1){if((e|0)>(g|0)){e=0;break a}PL(b)|0;e=e+1|0}}while(0);Mb=h;return e|0}function Hx(a){a=a|0;var b=0,d=0,e=0;b=c[a+29540>>2]|0;do if((b|0)!=0?((c[a+29536>>2]|0)+b|0)>=(c[(c[a+28200>>2]|0)+48>>2]|0):0){e=(c[a+26364>>2]|0)==3;if((!e?(c[a+26368>>2]|0)==0:0)?c[(c[a+24312>>2]|0)+640>>2]|0:0){b=0;break}c[a+28732>>2]=1;d=c[(c[a+28332+(b+-1<<2)>>2]|0)+88>>2]|0;b=a+28736|0;c[b>>2]=d;d=d<<1;if(e)b=1;else{c[b>>2]=d;c[a+28744>>2]=1;c[a+28748>>2]=d|1;b=2}}else b=0;while(0);c[a+29524>>2]=b;return}function Ix(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=c[a+64>>2]|0;jB(b);do if((V0(a)|0)!=0?(cW(c[a+12>>2]|0)|0)!=0:0){d=ak(a)|0;if((d|0)>=0){d=c[e+76>>2]|0;if(!(c[d+248>>2]|0)){d=iB(a,b)|0;if((d|0)<0)break}else WU(b,d);if((c[a+8>>2]|0)==0?(f=xt(a,b)|0,(f|0)<0):0){jB(b);d=f;break}d=a+432|0;c[d>>2]=(c[d>>2]|0)+1;d=0}}else d=-22;while(0);return d|0}function Jx(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;var j=0,k=0,l=0,m=0,n=0;Mn(f|0,f+4096|0,1152)|0;Mn(f+1152|0,e|0,4096)|0;j=a+28|0;k=d+12|0;l=b+44|0;m=g+256|0;n=d+16|0;e=0;a=f;while(1){if((e|0)==32)break;hc[c[j>>2]&255](g,292512,a,320);dc[c[d>>2]&63](g);dc[c[k>>2]&63](g);gc[c[l>>2]&1023](b,g,m);ec[c[n>>2]&255](h+(i<<13)+(e<<8)|0,g);e=e+1|0;a=a+128|0}return}function Kx(a,b,d,e,g){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;var i=0;i=c[g>>2]|0;f[a>>2]=+f[b+((d&3)<<2)>>2]*(c[h>>2]=i^e&-2147483648,+f[h>>2]);g=e<<(d>>>12&1);f[a+4>>2]=+f[b+((d>>>2&3)<<2)>>2]*(c[h>>2]=i^g&-2147483648,+f[h>>2]);g=g<<(d>>>13&1);f[a+8>>2]=+f[b+((d>>>4&3)<<2)>>2]*(c[h>>2]=i^g&-2147483648,+f[h>>2]);f[a+12>>2]=+f[b+((d>>>6&3)<<2)>>2]*(c[h>>2]=i^g<<(d>>>14&1)&-2147483648,+f[h>>2]);return a+16|0}function Lx(c,e,f,g,h,i,j,k,l,m,n,o,p,q){c=c|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;s=j+7|0;r=l<<6;l=m+1+n<<j+6;p=0;while(1){if((p|0)>=(i|0))break;o=0;while(1){if((o|0)>=(q|0))break;m=H(r,d[f+o>>0]|0)|0;m=(H(b[h+(o<<1)>>1]|0,k)|0)+l+m>>s;a[c+o>>0]=m>>>0>255?0-m>>31:m;o=o+1|0}h=h+128|0;c=c+e|0;f=f+g|0;p=p+1|0}return}function Mx(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0;j=b>>1;f=4-j|0;b=0;d=0;g=0;while(1){if((b|0)==4)break;h=d+(e[a+(b-j<<1)>>1]|0)|0;i=g+(e[a+(f+b<<1)>>1]|0)|0;b=b+1|0;d=h;g=i}h=MR((d+2|0)>>>2|0,0,65537,65537)|0;i=M()|0;d=MR((g+2|0)>>>2|0,0,65537,65537)|0;f=M()|0;b=0;while(1){if((b|0)==16)break;g=a+((H(b,j)|0)<<1)|0;k=g;c[k>>2]=h;c[k+4>>2]=i;g=g+8|0;c[g>>2]=d;c[g+4>>2]=f;b=b+1|0}return}function Nx(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=c[(c[a+64>>2]|0)+20>>2]|0;i=c[j+28>>2]|0;if((b|0)!=0&(i|0)!=0){if(!d)a=c[j+36>>2]|0;else a=d;f=a+-1|0;g=j+44|0;d2((c[g>>2]|0)+(f*28|0)|0)|0;h=i+(b+-1<<2)|0;d=i+(b<<2)|0;a=j+40|0;while(1){if(((c[h>>2]|0)-(c[d>>2]|0)|0)>=(e|0))break;yb((c[a>>2]|0)+(f*48|0)|0,(c[g>>2]|0)+(f*28|0)|0)|0}d2((c[g>>2]|0)+(f*28|0)|0)|0}return}function Ox(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0;i=Mb;Mb=Mb+16|0;h=i;if((c[e>>2]|0)>>>0>=f>>>0)if(f|0?(d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24|0)==0:0){c[h>>2]=212253;c[h+4>>2]=193897;c[h+8>>2]=33;AD(0,0,222515,h);ba()}else g=0;else{g=f+32+(f>>>4)|0;g=g>>>0>f>>>0?g:f;bU(b);h=EZ(g)|0;a[b>>0]=h;a[b+1>>0]=h>>8;a[b+2>>0]=h>>16;a[b+3>>0]=h>>24;c[e>>2]=(h|0)==0?0:g;g=1}Mb=i;return g|0}function Px(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=Mb;Mb=Mb+16|0;h=j;g=EZ(24)|0;c[h>>2]=g;i=g;do if(g){c[g>>2]=a;c[g+4>>2]=b;c[g+12>>2]=(d|0)==0?215:d;c[g+16>>2]=e;c[g+8>>2]=1;if(f&1|0){g=g+20|0;c[g>>2]=c[g>>2]|1}d=EZ(12)|0;if(!d){bU(h);d=0;break}else{c[d>>2]=i;c[d+4>>2]=a;c[d+8>>2]=b;break}}else d=0;while(0);Mb=j;return d|0}function Qx(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=Mb;Mb=Mb+16|0;j=l;k=e&255;a[j>>0]=k;g=b+16|0;h=c[g>>2]|0;if(!h)if(!(xF(b)|0)){h=c[g>>2]|0;i=4}else f=-1;else i=4;do if((i|0)==4){i=b+20|0;g=c[i>>2]|0;if(g>>>0<h>>>0?(f=e&255,(f|0)!=(a[b+75>>0]|0)):0){c[i>>2]=g+1;a[g>>0]=k;break}if((Yb[c[b+36>>2]&15](b,j,1)|0)==1)f=d[j>>0]|0;else f=-1}while(0);Mb=l;return f|0}function Rx(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=Mb;Mb=Mb+16|0;f=h;if((mT(e)|0)!=0?(i=HG(e,5)|0,c[d+108>>2]=i,(i|0)==0|(i|0)>30):0){AD(c[b+4>>2]|0,16,197239,f);b=-1094995529}else g=4;a:do if((g|0)==4){f=b+6476|0;b=0;while(1){i=a[d>>0]|0;g=a[200106+(c[f>>2]|0)>>0]|0;if(b>>>0>=(((i&255)>(g&255)?g:i)&255)>>>0){b=0;break a}i=(mT(e)|0)&255;a[d+236+b>>0]=i;b=b+1|0}}while(0);Mb=h;return b|0}function Sx(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;i=c+64|0;j=d+64|0;g=0;while(1){if((g|0)==32)break;k=d+(g<<1)|0;l=31-g|0;m=g+1|0;h=H(g,f)|0;g=0;while(1){if((g|0)==32)break;q=H(31-g|0,e[k>>1]|0)|0;n=g+1|0;p=H(n,e[i>>1]|0)|0;o=H(l,e[c+(g<<1)>>1]|0)|0;o=(q+32+p+o+(H(m,e[j>>1]|0)|0)|0)>>>6&65535;b[a+(g+h<<1)>>1]=o;g=n}g=m}return}function Tx(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;i=c+32|0;j=d+32|0;g=0;while(1){if((g|0)==16)break;k=d+(g<<1)|0;l=15-g|0;m=g+1|0;h=H(g,f)|0;g=0;while(1){if((g|0)==16)break;q=H(15-g|0,e[k>>1]|0)|0;n=g+1|0;p=H(n,e[i>>1]|0)|0;o=H(l,e[c+(g<<1)>>1]|0)|0;o=(q+16+p+o+(H(m,e[j>>1]|0)|0)|0)>>>5&65535;b[a+(g+h<<1)>>1]=o;g=n}g=m}return}function Ux(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=d>>1;k=(j<<6|1)<<g;g=g+1|0;d=a;j=0;while(1){if((j|0)>=(f|0))break;m=H(e[c>>1]|0,i)|0;m=m+k+(H(e[d>>1]|0,h)|0)>>g;b[d>>1]=m>>>0<16384?m:0-m>>31&16383;m=H(e[c+2>>1]|0,i)|0;a=d+2|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<16384?m:0-m>>31&16383;c=c+(l<<1)|0;d=d+(l<<1)|0;j=j+1|0}return}function Vx(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=Mb;Mb=Mb+16|0;i=j;a[i>>0]=d;a[i+1>>0]=0;e=0;f=b;g=0;while(1){h=a[f>>0]|0;if(!(h<<24>>24))break;h=h<<24>>24==d<<24>>24;e=h?f:e;f=f+1|0;g=g+(h&1)|0}g=zc((g+(e>>>0<(b+(nA(b)|0)+-1|0)>>>0&1)<<2)+4|0)|0;if(g|0){f=0;e=b;while(1){e=HB(e,i)|0;if(!e)break;e=fW(e)|0;c[g+(f<<2)>>2]=e;f=f+1|0;e=0}c[g+(f<<2)>>2]=0}Rd(b);Mb=j;return g|0}function Wx(a,c,e,f,g){a=a|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=g+(H(f,-3)|0)|0;while(1){if(a>>>0>=h>>>0)break;b[a>>1]=((d[c>>0]|0)<<8)+32768;i=c+e|0;j=a+f|0;b[j>>1]=((d[i>>0]|0)<<8)+32768;i=i+e|0;j=j+f|0;b[j>>1]=((d[i>>0]|0)<<8)+32768;i=i+e|0;j=j+f|0;b[j>>1]=((d[i>>0]|0)<<8)+32768;a=j+f|0;c=i+e|0}while(1){if(a>>>0>=g>>>0)break;b[a>>1]=((d[c>>0]|0)<<8)+32768;a=a+f|0;c=c+e|0}return}function Xx(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=d>>1;k=(j<<4|1)<<g;g=g+1|0;d=a;j=0;while(1){if((j|0)>=(f|0))break;m=H(e[c>>1]|0,i)|0;m=m+k+(H(e[d>>1]|0,h)|0)>>g;b[d>>1]=m>>>0<4096?m:0-m>>31&4095;m=H(e[c+2>>1]|0,i)|0;a=d+2|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<4096?m:0-m>>31&4095;c=c+(l<<1)|0;d=d+(l<<1)|0;j=j+1|0}return}function Yx(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=d>>1;k=(j<<2|1)<<g;g=g+1|0;d=a;j=0;while(1){if((j|0)>=(f|0))break;m=H(e[c>>1]|0,i)|0;m=m+k+(H(e[d>>1]|0,h)|0)>>g;b[d>>1]=m>>>0<1024?m:0-m>>31&1023;m=H(e[c+2>>1]|0,i)|0;a=d+2|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<1024?m:0-m>>31&1023;c=c+(l<<1)|0;d=d+(l<<1)|0;j=j+1|0}return}function Zx(a,c,d,f,g,h,i,j,k,l,m){a=a|0;c=c|0;d=d|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;q=f>>>1;o=c>>>1;p=h+2|0;n=1<<h+1;j=j<<4;h=i<<2;c=0;l=a;k=d;while(1){if((c|0)>=(g|0))break;f=0;while(1){if((f|0)>=(m|0))break;d=((H(h,e[k+(f<<1)>>1]|0)|0)+n>>p)+j|0;b[l+(f<<1)>>1]=d>>>0<4096?d:0-d>>31&4095;f=f+1|0}c=c+1|0;l=l+(o<<1)|0;k=k+(q<<1)|0}return}function _x(a,c,d,f,g,h,i,j,k,l,m){a=a|0;c=c|0;d=d|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;q=f>>>1;o=c>>>1;p=h+4|0;n=1<<h+3;j=j<<2;h=i<<4;c=0;l=a;k=d;while(1){if((c|0)>=(g|0))break;f=0;while(1){if((f|0)>=(m|0))break;d=((H(h,e[k+(f<<1)>>1]|0)|0)+n>>p)+j|0;b[l+(f<<1)>>1]=d>>>0<1024?d:0-d>>31&1023;f=f+1|0}c=c+1|0;l=l+(o<<1)|0;k=k+(q<<1)|0}return}function $x(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;i=c+16|0;j=d+16|0;g=0;while(1){if((g|0)==8)break;k=d+(g<<1)|0;l=7-g|0;m=g+1|0;h=H(g,f)|0;g=0;while(1){if((g|0)==8)break;q=H(7-g|0,e[k>>1]|0)|0;n=g+1|0;p=H(n,e[i>>1]|0)|0;o=H(l,e[c+(g<<1)>>1]|0)|0;o=(q+8+p+o+(H(m,e[j>>1]|0)|0)|0)>>>4&65535;b[a+(g+h<<1)>>1]=o;g=n}g=m}return}function ay(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=Mb;Mb=Mb+32|0;f=g+8|0;e=a+4|0;b=c[e>>2]|0;a:do if(c[b+680>>2]&2048|0){AD(b,48,206581,g);b=0;while(1){if((b|0)==16)break a;d=c[a+28460+(b<<2)>>2]|0;if(d|0){h=c[e>>2]|0;j=c[d+88>>2]|0;i=c[d+84>>2]|0;d=c[c[d>>2]>>2]|0;c[f>>2]=b;c[f+4>>2]=j;c[f+8>>2]=i;c[f+12>>2]=d;AD(h,48,206598,f)}b=b+1|0}}while(0);Mb=g;return}function by(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;h=g+(H(f,-3)|0)|0;while(1){if(b>>>0>=h>>>0)break;a[b>>0]=((c[d>>2]|0)>>>24)+128;i=d+e|0;j=b+f|0;a[j>>0]=((c[i>>2]|0)>>>24)+128;i=i+e|0;j=j+f|0;a[j>>0]=((c[i>>2]|0)>>>24)+128;i=i+e|0;j=j+f|0;a[j>>0]=((c[i>>2]|0)>>>24)+128;b=j+f|0;d=i+e|0}while(1){if(b>>>0>=g>>>0)break;a[b>>0]=((c[d>>2]|0)>>>24)+128;b=b+f|0;d=d+e|0}return}function cy(b,c,d,f,g){b=b|0;c=c|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=g+(H(f,-3)|0)|0;while(1){if(b>>>0>=h>>>0)break;a[b>>0]=((e[c>>1]|0)>>>8)+128;i=c+d|0;j=b+f|0;a[j>>0]=((e[i>>1]|0)>>>8)+128;i=i+d|0;j=j+f|0;a[j>>0]=((e[i>>1]|0)>>>8)+128;i=i+d|0;j=j+f|0;a[j>>0]=((e[i>>1]|0)>>>8)+128;b=j+f|0;c=i+d|0}while(1){if(b>>>0>=g>>>0)break;a[b>>0]=((e[c>>1]|0)>>>8)+128;b=b+f|0;c=c+d|0}return}function dy(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;i=c+8|0;j=d+8|0;g=0;while(1){if((g|0)==4)break;k=d+(g<<1)|0;l=3-g|0;m=g+1|0;h=H(g,f)|0;g=0;while(1){if((g|0)==4)break;q=H(3-g|0,e[k>>1]|0)|0;n=g+1|0;p=H(n,e[i>>1]|0)|0;o=H(l,e[c+(g<<1)>>1]|0)|0;o=(q+4+p+o+(H(m,e[j>>1]|0)|0)|0)>>>3&65535;b[a+(g+h<<1)>>1]=o;g=n}g=m}return}function ey(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;f=(e|0)!=0;g=b+12|0;h=c[b+8>>2]|0;while(1){if(!(f&(h|0)>0)){b=4;break}b=h+-1|0;e=a[(c[g>>2]|0)+b>>0]|0;if(!(e<<24>>24))h=b;else{f=e;b=6;break}}if((b|0)==4)if(!h)e=0;else{f=a[(c[g>>2]|0)+(h+-1)>>0]|0;b=6}if((b|0)==6){b=f&255;if((h|0)<=268435455){e=h<<3;if(f<<24>>24){h=94160+((H(0-b&b,125613361)|0)>>>27)|0;e=e+-1-(d[h>>0]|0)|0}}else e=-34}return e|0}function fy(a,c,d,f,g,h,i,j,k,l,m){a=a|0;c=c|0;d=d|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;q=f>>>1;o=c>>>1;p=h+5|0;n=1<<h+4;j=j<<1;h=i<<5;c=0;l=a;k=d;while(1){if((c|0)>=(g|0))break;f=0;while(1){if((f|0)>=(m|0))break;d=((H(h,e[k+(f<<1)>>1]|0)|0)+n>>p)+j|0;b[l+(f<<1)>>1]=d>>>0<512?d:0-d>>31&511;f=f+1|0}c=c+1|0;l=l+(o<<1)|0;k=k+(q<<1)|0}return}function gy(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=d>>1;k=(j<<1|1)<<g;g=g+1|0;d=a;j=0;while(1){if((j|0)>=(f|0))break;m=H(e[c>>1]|0,i)|0;m=m+k+(H(e[d>>1]|0,h)|0)>>g;b[d>>1]=m>>>0<512?m:0-m>>31&511;m=H(e[c+2>>1]|0,i)|0;a=d+2|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<512?m:0-m>>31&511;c=c+(l<<1)|0;d=d+(l<<1)|0;j=j+1|0}return}function hy(a){a=a|0;var b=0,d=0;d=c[a+60>>2]|0;Yy(d);Bs(d);a=0;while(1){if((a|0)==36)break;b=d+696+(a*656|0)|0;UC(d,b);rY(b);a=a+1|0}a=d+28588|0;b=a+72|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[d+24312>>2]=0;bU(d+25628|0);c[d+25632>>2]=0;sQ(d+29660|0);II(d+27036|0);DP(d+25640|0);b=d+24316|0;UC(d,b);rY(b);b=d+24972|0;UC(d,b);rY(b);return 0}function iy(b){b=b|0;var e=0,f=0,g=0,h=0,i=0;g=c[b+2420>>2]|0;e=2-g|0;e=(g|0)==2|(a[b+3056>>0]|0)==0?e:e^3;g=b+3108|0;f=b+136|0;b=0;while(1){if((b|0)==199)break;h=d[79440+(e*199|0)+b>>0]|0;i=a[g>>0]|0;i=(i|0)<51?i:51;h=((h<<3&120)+-16+((H((i|0)>0?i:0,((h>>>4)*5|0)+-45|0)|0)>>4)<<1)+-127|0;h=h>>31^h;a[(c[f>>2]|0)+b>>0]=(h|0)>124?h&1|124:h;b=b+1|0}b=0;while(1){if((b|0)==4)break;a[(c[f>>2]|0)+199+b>>0]=0;b=b+1|0}return}function jy(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;g=4-b|0;e=0;f=0;h=0;while(1){if((e|0)==4)break;j=f+(d[a+(e-b)>>0]|0)|0;i=h+(d[a+(g+e)>>0]|0)|0;e=e+1|0;f=j;h=i}g=H((f+2|0)>>>2,16843009)|0;f=H((h+2|0)>>>2,16843009)|0;e=0;while(1){if((e|0)==4)break;j=a+(H(e,b)|0)|0;c[j>>2]=g;c[j+4>>2]=f;e=e+1|0}e=4;while(1){if((e|0)==8)break;j=a+(H(e,b)|0)|0;c[j>>2]=g;c[j+4>>2]=f;e=e+1|0}return}function ky(b){b=b|0;var e=0,f=0,g=0,h=0,i=0;i=c[b+2612>>2]|0;a:do if(!i)e=0;else{h=c[i>>2]|0;e=0;f=0;while(1){if((f|0)==(h|0))break;e=e+((a[i+140+f>>0]|0)!=0&1)|0;f=f+1|0}g=c[i+4>>2]|0;f=h;while(1){if((f|0)>=(g|0))break a;e=e+((a[i+140+f>>0]|0)!=0&1)|0;f=f+1|0}}while(0);g=d[b+2780>>0]|0;f=0;while(1){if((f|0)==(g|0))break;i=e+((a[b+2748+f>>0]|0)!=0&1)|0;f=f+1|0;e=i}return e|0}function ly(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;l=(f|0)!=1;k=c[g>>2]|0;i=0;j=0;h=0;while(1){if((k|0)>=(e|0)){m=9;break}if((d[b+(k*3|0)+2>>0]|0)!=(f|0)){m=9;break}if((a[b+(k*3|0)>>0]|0)==1){if((i|0)!=0&(l|(j|0)!=0)){h=-1;break}j=1;h=h+2|0;i=0}else{h=h+1|0;i=i^1}k=k+1|0}do if((m|0)==9){if(i|0?(f|0)==2|(f|0)==1&(j|0)!=0:0){h=-1;break}c[g>>2]=k}while(0);return h|0}function my(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=Mb;Mb=Mb+16|0;i=f|0;h=b>>31|((b|0)<0?-1:0)<<1;g=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;k=e>>31|((e|0)<0?-1:0)<<1;j=((e|0)<0?-1:0)>>31|((e|0)<0?-1:0)<<1;a=_W(h^a|0,g^b|0,h|0,g|0)|0;b=M()|0;$f(a,b,_W(k^d|0,j^e|0,k|0,j|0)|0,M()|0,i)|0;e=_W(c[i>>2]^h|0,c[i+4>>2]^g|0,h|0,g|0)|0;d=M()|0;Mb=f;return (L(d|0),e)|0}function ny(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;e=Mb;Mb=Mb+80|0;b=e;d=a+192|0;i=(c[d>>2]|0)+16|0;g=a+256|0;g=_W(c[i>>2]|0,c[i+4>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0;i=M()|0;j=oJ()|0;j=xA(j|0,M()|0,1e3,0)|0;h=M()|0;f=a+264|0;f=_W(j|0,h|0,c[f>>2]|0,c[f+4>>2]|0)|0;h=M()|0;if(!((i|0)>(h|0)|(i|0)==(h|0)&g>>>0>f>>>0)?(it(d,b)|0)==1:0){kf(a,b);BX(b)}Mb=e;return}function oy(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=Mb;Mb=Mb+16|0;e=f;i=b;i=_U(c[i>>2]|0,c[i+4>>2]|0,3)|0;h=M()|0;g=e;c[g>>2]=i;c[g+4>>2]=h;cs(b,217387,1);while(1){if(0==0?(c[b>>2]&63|0)==56:0)break;cs(b,1113148,1)}cs(b,e,8);e=0;while(1){if((e|0)==4)break;h=c[b+72+(3-e<<2)>>2]|0;i=d+(e<<2)|0;a[i>>0]=h;a[i+1>>0]=h>>8;a[i+2>>0]=h>>16;a[i+3>>0]=h>>24;e=e+1|0}Mb=f;return}function py(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=0;while(1){if((l|0)==4)break;i=b+-1|0;j=d[i>>0]|0;k=d[b+-2>>0]|0;g=d[b>>0]|0;h=d[b+1>>0]|0;m=j-g|0;if(((((m|0)>-1?m:0-m|0)|0)<(e|0)?(m=k-j|0,(((m|0)>-1?m:0-m|0)|0)<(f|0)):0)?(m=h-g|0,(((m|0)>-1?m:0-m|0)|0)<(f|0)):0){a[i>>0]=(j+2+(k<<1)+h|0)>>>2;a[b>>0]=(k+2+g+(h<<1)|0)>>>2}l=l+1|0;b=b+c|0}return}function qy(a){a=a|0;var b=0,d=0,e=0,f=0;c[a+28728>>2]=-2147483648;c[a+29548>>2]=1;QP(a);c[a+28248>>2]=-1;f=a+24312|0;b=c[f>>2]|0;if(b|0){c[b+640>>2]=0;b=0;e=0;while(1){d=c[a+28588+(e<<2)>>2]|0;if(!d)break;if((d|0)!=(c[f>>2]|0)){c[a+28588+(b<<2)>>2]=d;b=b+1|0}e=e+1|0}c[a+28588+(b<<2)>>2]=0}UC(a,a+24972|0);c[a+26368>>2]=0;c[a+29556>>2]=-1;c[a+29560>>2]=0;c[a+29544>>2]=0;c[a+29528>>2]=1;return}function ry(b,c,e,f){b=b|0;c=c|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;i=c+32|0;j=e+32|0;g=0;while(1){if((g|0)==32)break;k=e+g|0;l=31-g|0;m=g+1|0;h=H(g,f)|0;g=0;while(1){if((g|0)==32)break;q=H(31-g|0,d[k>>0]|0)|0;n=g+1|0;p=H(n,d[i>>0]|0)|0;o=H(l,d[c+g>>0]|0)|0;o=(q+32+p+o+(H(m,d[j>>0]|0)|0)|0)>>>6&255;a[b+(g+h)>>0]=o;g=n}g=m}return}function sy(b,c,e,f){b=b|0;c=c|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;i=c+16|0;j=e+16|0;g=0;while(1){if((g|0)==16)break;k=e+g|0;l=15-g|0;m=g+1|0;h=H(g,f)|0;g=0;while(1){if((g|0)==16)break;q=H(15-g|0,d[k>>0]|0)|0;n=g+1|0;p=H(n,d[i>>0]|0)|0;o=H(l,d[c+g>>0]|0)|0;o=(q+16+p+o+(H(m,d[j>>0]|0)|0)|0)>>>5&255;a[b+(g+h)>>0]=o;g=n}g=m}return}function ty(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=0;while(1){if((l|0)==16)break;i=b+-1|0;j=d[i>>0]|0;k=d[b+-2>>0]|0;g=d[b>>0]|0;h=d[b+1>>0]|0;m=j-g|0;if(((((m|0)>-1?m:0-m|0)|0)<(e|0)?(m=k-j|0,(((m|0)>-1?m:0-m|0)|0)<(f|0)):0)?(m=h-g|0,(((m|0)>-1?m:0-m|0)|0)<(f|0)):0){a[i>>0]=(j+2+(k<<1)+h|0)>>>2;a[b>>0]=(k+2+g+(h<<1)|0)>>>2}l=l+1|0;b=b+c|0}return}function uy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=Mb;Mb=Mb+16|0;f=h;g=a+4|0;c[g>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];d=hh(c[a>>2]|0,c[b>>2]|0)|0;if((d|0)>=0){e=a+12|0;if(c[e>>2]|0){c[f>>2]=195945;c[f+4>>2]=193976;c[f+8>>2]=2071;AD(0,0,222515,f);ba()}d=c[b+12>>2]|0;if((d|0)!=0?(f=FP(d)|0,c[e>>2]=f,(f|0)==0):0){Ws(c[g>>2]|0,a);d=-12}else d=0}Mb=h;return d|0}function vy(b){b=b|0;var c=0,d=0,e=0;d=(a[b>>0]|0)==0?160992:b;b=160992;while(1){if(!(Iv(d,b)|0)){e=3;break}b=b+((nA(b)|0)+1)|0;c=a[b>>0]|0;if(!(c<<24>>24)){c=a[b+1>>0]|0;if((c&255)>128)c=2;else c=(((128-(c&255)|0)>>>2)*5|0)+2|0;c=b+c|0;b=c;c=a[c>>0]|0}if(!(c<<24>>24)){b=-1;break}}if((e|0)==3){if(a[b>>0]|0)do b=b+((nA(b)|0)+1)|0;while((a[b>>0]|0)!=0);b=b+1-160992|0}return b|0}function wy(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=0;while(1){if((l|0)==8)break;i=b+-1|0;j=d[i>>0]|0;k=d[b+-2>>0]|0;g=d[b>>0]|0;h=d[b+1>>0]|0;m=j-g|0;if(((((m|0)>-1?m:0-m|0)|0)<(e|0)?(m=k-j|0,(((m|0)>-1?m:0-m|0)|0)<(f|0)):0)?(m=h-g|0,(((m|0)>-1?m:0-m|0)|0)<(f|0)):0){a[i>>0]=(j+2+(k<<1)+h|0)>>>2;a[b>>0]=(k+2+g+(h<<1)|0)>>>2}l=l+1|0;b=b+c|0}return}function xy(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;f=0;while(1){if((f|0)==2)break;l=d[c+-2>>0]|0;g=d[c>>0]|0;i=d[c+2>>0]|0;j=d[c+4>>0]|0;h=d[c+6>>0]|0;k=d[c+8>>0]|0;m=(d[c+-4>>0]|0)+16+h+((i+g|0)*20|0)+(H(j+l|0,-5)|0)>>5;a[b>>0]=m>>>0>255?0-m>>31:m;g=l+16+k+((j+i|0)*20|0)+(H(h+g|0,-5)|0)>>5;a[b+e>>0]=g>>>0>255?0-g>>31:g;f=f+1|0;b=b+1|0;c=c+1|0}return}function yy(b,c,e,f){b=b|0;c=c|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;i=c+8|0;j=e+8|0;g=0;while(1){if((g|0)==8)break;k=e+g|0;l=7-g|0;m=g+1|0;h=H(g,f)|0;g=0;while(1){if((g|0)==8)break;q=H(7-g|0,d[k>>0]|0)|0;n=g+1|0;p=H(n,d[i>>0]|0)|0;o=H(l,d[c+g>>0]|0)|0;o=(q+8+p+o+(H(m,d[j>>0]|0)|0)|0)>>>4&255;a[b+(g+h)>>0]=o;g=n}g=m}return}function zy(b,c,e,f){b=b|0;c=c|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;i=c+4|0;j=e+4|0;g=0;while(1){if((g|0)==4)break;k=e+g|0;l=3-g|0;m=g+1|0;h=H(g,f)|0;g=0;while(1){if((g|0)==4)break;q=H(3-g|0,d[k>>0]|0)|0;n=g+1|0;p=H(n,d[i>>0]|0)|0;o=H(l,d[c+g>>0]|0)|0;o=(q+4+p+o+(H(m,d[j>>0]|0)|0)|0)>>>3&255;a[b+(g+h)>>0]=o;g=n}g=m}return}function Ay(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;h=b>>1;b=0;d=0;while(1){if((d|0)==16)break;g=a+((H(d,h)|0)+-1<<1)|0;b=b+(e[g>>1]|0)|0;d=d+1|0}f=MR((b+8|0)>>>4|0,0,65537,65537)|0;g=M()|0;b=a;d=0;while(1){if((d|0)==16)break;a=b;c[a>>2]=f;c[a+4>>2]=g;a=b+8|0;c[a>>2]=f;c[a+4>>2]=g;a=b+16|0;c[a>>2]=f;c[a+4>>2]=g;a=b+24|0;c[a>>2]=f;c[a+4>>2]=g;b=b+(h<<1)|0;d=d+1|0}return}function By(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;a:do if((d|0)>=0){h=a+8|0;g=c[h>>2]|0;d=(g|0)<(d|0)?g:d;if(!d)d=0;else{f=H(c[a+24>>2]|0,d)|0;g=a+4|0;e=0;while(1){if((e|0)>=(c[g>>2]|0))break;if((PC(c[(c[a>>2]|0)+(e<<2)>>2]|0,c[b+(e<<2)>>2]|0,f,0)|0)<0){d=-558323010;break a}else e=e+1|0}c[h>>2]=(c[h>>2]|0)-d}}else d=-22;while(0);return d|0}function Cy(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;if(c>>>0>0|(c|0)==0&b>>>0>4294967295){do{e=b;b=H_(b|0,c|0,10,0)|0;f=c;c=M()|0;g=MR(b|0,c|0,10,0)|0;g=_W(e|0,f|0,g|0,M()|0)|0;M()|0;d=d+-1|0;a[d>>0]=g&255|48}while(f>>>0>9|(f|0)==9&e>>>0>4294967295);c=b}else c=b;if(c)do{g=c;c=(c>>>0)/10|0;d=d+-1|0;a[d>>0]=g-(c*10|0)|48}while(g>>>0>=10);return d|0}function Dy(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=Mb;Mb=Mb+16|0;h=i;e=c[a+12>>2]|0;if((e|0?(f=c[e+4>>2]|0,f|0):0)?(g=f+(d<<2)|0,(c[g>>2]|0)<(b|0)):0){a=a+4+(d<<2)|0;e=c[(c[(c[a>>2]|0)+64>>2]|0)+20>>2]|0;if(c[e+344>>2]|0){a=c[a>>2]|0;c[h>>2]=f;c[h+4>>2]=b;c[h+8>>2]=d;AD(a,48,193390,h)}h=e+184|0;d2(h)|0;c[g>>2]=b;d2(e+60|0)|0;d2(h)|0}Mb=i;return}function Ey(a,b,d,e,f,h,i,j,k,l,m){a=a|0;b=b|0;d=d|0;e=e|0;f=f|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.0;o=Mb;Mb=Mb+16|0;n=o;c[n>>2]=0;b=tn(n,b,d,f,h,i,j,l,m)|0;if((b|0)<0)g[a>>3]=r;else{b=c[n>>2]|0;p=+sI(b,e,k);g[a>>3]=p;wP(b);b=gX(+g[a>>3])|0;k=(M()|0)&2147483647;b=k>>>0>2146435072|(k|0)==2146435072&b>>>0>0?-22:0}Mb=o;return b|0}function Fy(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;k=f>>1;h=f&-2;i=k*3|0;j=k<<2;g=d;f=a+(0-k<<1)|0;a=0;while(1){if((a|0)==4)break;l=(c[g>>2]|0)+(e[f>>1]|0)|0;b[f+(k<<1)>>1]=l;l=(c[g+16>>2]|0)+l|0;b[f+(h<<1)>>1]=l;l=(c[g+32>>2]|0)+l|0;b[f+(i<<1)>>1]=l;b[f+(j<<1)>>1]=(c[g+48>>2]|0)+l;g=g+4|0;f=f+2|0;a=a+1|0}f=d+64|0;do{b[d>>1]=0;d=d+2|0}while((d|0)<(f|0));return}function Gy(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;h=g+(H(f,-3)|0)|0;while(1){if(a>>>0>=h>>>0)break;b[a>>1]=(c[d>>2]|0)>>>16;i=d+e|0;j=a+f|0;b[j>>1]=(c[i>>2]|0)>>>16;i=i+e|0;j=j+f|0;b[j>>1]=(c[i>>2]|0)>>>16;i=i+e|0;j=j+f|0;b[j>>1]=(c[i>>2]|0)>>>16;a=j+f|0;d=i+e|0}while(1){if(a>>>0>=g>>>0)break;b[a>>1]=(c[d>>2]|0)>>>16;a=a+f|0;d=d+e|0}return}function Hy(a,b,d,f,g){a=a|0;b=b|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=g+(H(f,-3)|0)|0;while(1){if(a>>>0>=h>>>0)break;c[a>>2]=(e[b>>1]|0)<<16;i=b+d|0;j=a+f|0;c[j>>2]=(e[i>>1]|0)<<16;i=i+d|0;j=j+f|0;c[j>>2]=(e[i>>1]|0)<<16;i=i+d|0;j=j+f|0;c[j>>2]=(e[i>>1]|0)<<16;a=j+f|0;b=i+d|0}while(1){if(a>>>0>=g>>>0)break;c[a>>2]=(e[b>>1]|0)<<16;a=a+f|0;b=b+d|0}return}function Iy(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=l1(a)|0;if(!d){g=mT(a)|0;c[b+48>>2]=g;a:do if(g|0){f=b+44|0;g=b+416|0;e=b+586|0;d=0;while(1){if((d|0)>=(c[f>>2]|0))break a;i=mT(a)|0;Ig(a,b,g,(i|0)==0?6:7,d,i);i=mT(a)|0;Ig(a,b,e,(i|0)==0?8:9,d,i);d=d+1|0}}while(0);s1(a);d=(l1(a)|0)-h|0}else d=0;return d|0}function Jy(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=0;while(1){if((f|0)==9)break;h=c;j=h;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=h+4|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=b;i=g;a[i>>0]=j;a[i+1>>0]=j>>8;a[i+2>>0]=j>>16;a[i+3>>0]=j>>24;g=g+4|0;a[g>>0]=h;a[g+1>>0]=h>>8;a[g+2>>0]=h>>16;a[g+3>>0]=h>>24;f=f+1|0;c=c+e|0;b=b+8|0}return}function Ky(a){a=+a;var b=0,d=0,e=0,g=0.0,i=0.0,j=0.0;b=(f[h>>2]=a,c[h>>2]|0);d=b&2147483647;do if(d>>>0>2139095039)a=a+a;else{if(d>>>0<8388608){if(!d)break;b=(f[h>>2]=a*16777216.0,c[h>>2]|0);e=642849266;d=b&2147483647}else e=709958130;g=(c[h>>2]=b&-2147483648|((d>>>0)/3|0)+e,+f[h>>2]);j=g*g*g;i=a+a;j=(i+j)*g/(j+(j+a));g=j*(j*j);a=j*(i+g)/(g+(g+a))}while(0);return +a}function Ly(d,f,g,h,i,j,k){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0;m=c[d+3516>>2]|0;l=c[m+20>>2]|0;m=c[m+24>>2]|0;d=(H(c[(c[d+1412>>2]|0)+13412>>2]|0,g)|0)+f|0;if((1<<h&a[l+(d*12|0)+10>>0]|0)!=0?(c[m+(h*196|0)+64+(a[l+(d*12|0)+8+h>>0]<<2)>>2]|0)==(c[m+(j*196|0)+64+(k<<2)>>2]|0):0){d=l+(d*12|0)+(h<<2)|0;d=e[d>>1]|e[d+2>>1]<<16;b[i>>1]=d;b[i+2>>1]=d>>>16;d=1}else d=0;return d|0}function My(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=0;while(1){if((f|0)==8)break;h=c;j=h;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=h+4|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=b;i=g;a[i>>0]=j;a[i+1>>0]=j>>8;a[i+2>>0]=j>>16;a[i+3>>0]=j>>24;g=g+4|0;a[g>>0]=h;a[g+1>>0]=h>>8;a[g+2>>0]=h>>16;a[g+3>>0]=h>>24;f=f+1|0;c=c+e|0;b=b+8|0}return}function Ny(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=1<<f;h=c[b+1412>>2]|0;f=c[h+13340>>2]|0;j=c[h+13412>>2]|0;i=k+d|0;g=c[h+13376>>2]|0;k=k+e|0;h=c[h+13380>>2]|0;k=((k|0)>(h|0)?h:k)>>f;h=d>>f;i=((i|0)>(g|0)?g:i)>>f;g=b+7580|0;f=e>>f;while(1){if((f|0)>=(k|0))break;b=H(f,j)|0;d=h;while(1){if((d|0)>=(i|0))break;a[(c[g>>2]|0)+(d+b)>>0]=2;d=d+1|0}f=f+1|0}return}function Oy(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0;j=1;while(1){if((j|0)==3)break;k=j<<4;m=k|4;n=e+(j+-1<<2)|0;while(1){if(k>>>0>=m>>>0)break;if(!(a[i+(d[91792+k>>0]|0)>>0]|0)){l=g+(k<<4<<1)|0;if(b[l>>1]|0)vE((c[n>>2]|0)+(c[f+(k<<2)>>2]|0)|0,l,h)}else Hn((c[n>>2]|0)+(c[f+(k<<2)>>2]|0)|0,g+(k<<4<<1)|0,h);k=k+1|0}j=j+1|0}return}function Py(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;i=1;while(1){if((i|0)==3)break;j=i<<4;k=j|4;l=b+(i+-1<<2)|0;while(1){if(j>>>0>=k>>>0)break;if(!(a[h+(d[91792+j>>0]|0)>>0]|0)){if(c[f+(j<<4<<2)>>2]|0)lD((c[l>>2]|0)+(c[e+(j<<2)>>2]|0)|0,f+(j<<5<<1)|0,g)}else Ym((c[l>>2]|0)+(c[e+(j<<2)>>2]|0)|0,f+(j<<5<<1)|0,g);j=j+1|0}i=i+1|0}return}function Qy(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;i=1;while(1){if((i|0)==3)break;j=i<<4;k=j|4;l=b+(i+-1<<2)|0;while(1){if(j>>>0>=k>>>0)break;if(!(a[h+(d[91792+j>>0]|0)>>0]|0)){if(c[f+(j<<4<<2)>>2]|0)mD((c[l>>2]|0)+(c[e+(j<<2)>>2]|0)|0,f+(j<<5<<1)|0,g)}else _m((c[l>>2]|0)+(c[e+(j<<2)>>2]|0)|0,f+(j<<5<<1)|0,g);j=j+1|0}i=i+1|0}return}function Ry(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;i=1;while(1){if((i|0)==3)break;j=i<<4;k=j|4;l=b+(i+-1<<2)|0;while(1){if(j>>>0>=k>>>0)break;if(!(a[h+(d[91792+j>>0]|0)>>0]|0)){if(c[f+(j<<4<<2)>>2]|0)nD((c[l>>2]|0)+(c[e+(j<<2)>>2]|0)|0,f+(j<<5<<1)|0,g)}else $m((c[l>>2]|0)+(c[e+(j<<2)>>2]|0)|0,f+(j<<5<<1)|0,g);j=j+1|0}i=i+1|0}return}function Sy(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=c[a+3516>>2]|0;h=c[g+32>>2]|0;f=c[(c[(c[a+1416>>2]|0)+1668>>2]|0)+(c[a+2412>>2]<<2)>>2]|0;b=c[a+5704>>2]|0;d=g+52|0;if(b>>>0<(((c[(c[d>>2]|0)+8>>2]|0)>>>0)/392|0)>>>0){e=g+28|0;a=f;while(1){if((a|0)>=(h|0))break;c[(c[e>>2]|0)+(a<<2)>>2]=(c[(c[d>>2]|0)+4>>2]|0)+(b*392|0);a=a+1|0}c[g+24>>2]=c[(c[e>>2]|0)+(f<<2)>>2];a=0}else a=-1094995529;return a|0}function Ty(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,k=0,l=0;i=Mb;Mb=Mb+80|0;j=i+60|0;h=i+40|0;k=i;l=oY(a,b)|0;b=M()|0;a=k;c[a>>2]=l;c[a+4>>2]=b;nU(j,k+1|0);a=xu(j,h)|0;if((a|0)<0)a=0;else{c[f>>2]=0;c[g>>2]=1;c[e+56>>2]=c[h>>2];c[e+52>>2]=d[209930+(d[h+15>>0]|0)>>0];c[e+64>>2]=c[h+4>>2];c[e+60>>2]=c[h+8>>2]}Mb=i;return a|0}function Uy(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;f=b+c|0;a:do if((c|0)!=0&((b|0)!=0&(d|0)!=0))if(!(a[f+-1>>0]|0)){e=b;b=0;while(1){if(e>>>0>=f>>>0)break a;c=e+(nA(e)|0)+1|0;if(c>>>0>=f>>>0){b=-1094995529;break a}if(!(a[e>>0]|0)){b=-1094995529;break a}b=gh(d,e,c,0)|0;if((b|0)<0)break a;e=c+(nA(c)|0)+1|0}}else b=-1094995529;else b=0;while(0);return b|0}function Vy(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;i=1;while(1){if((i|0)==3)break;j=i<<4;k=j|4;l=b+(i+-1<<2)|0;while(1){if(j>>>0>=k>>>0)break;if(!(a[h+(d[91792+j>>0]|0)>>0]|0)){if(c[f+(j<<4<<2)>>2]|0)tD((c[l>>2]|0)+(c[e+(j<<2)>>2]|0)|0,f+(j<<5<<1)|0,g)}else cn((c[l>>2]|0)+(c[e+(j<<2)>>2]|0)|0,f+(j<<5<<1)|0,g);j=j+1|0}i=i+1|0}return}function Wy(b,c,e,f,g,h,i,j){b=b|0;c=c|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;l=(j+1|1)<<g;k=g+1|0;j=b;g=0;while(1){if((g|0)>=(f|0))break;m=H(d[c>>0]|0,i)|0;m=m+l+(H(d[j>>0]|0,h)|0)>>k;a[j>>0]=m>>>0>255?0-m>>31:m;m=H(d[c+1>>0]|0,i)|0;b=j+1|0;m=m+l+(H(d[b>>0]|0,h)|0)>>k;a[b>>0]=m>>>0>255?0-m>>31:m;c=c+e|0;j=j+e|0;g=g+1|0}return}function Xy(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0;a:do if((b|0)!=0&(c|0)!=0){g=nA(b)|0;while(1){d=a[c>>0]|0;if(!(d<<24>>24)){c=0;break a}f=d<<24>>24==45;d=FY(c,44)|0;if(!d)d=c+(nA(c)|0)|0;c=c+(f&1)|0;e=d-c|0;if(!(HD(b,c,(e|0)>(g|0)?e:g)|0))break;if(!(nB(210544,c,(e|0)>3?e:3)|0))break;c=d+((a[d>>0]|0)==44&1)|0}c=(f^1)&1}else c=0;while(0);return c|0}function Yy(a){a=a|0;var b=0,d=0,e=0;b=0;while(1){if((b|0)==16)break;qP(a,b,0);b=b+1|0}d=a+29540|0;if(c[d>>2]|0?(e=a+24972|0,(c[c[e>>2]>>2]|0)==0):0){UC(a,e);_h(a,e,c[a+28332>>2]|0)|0}b=0;while(1){if((b|0)>=(c[d>>2]|0))break;e=a+28332+(b<<2)|0;JD(a,c[e>>2]|0,0)|0;c[e>>2]=0;b=b+1|0}c[d>>2]=0;b=a+28252|0;d=b+80|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));return}function Zy(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=d[a+-1>>0]|0;k=d[a+(e+-1)>>0]|0;h=e<<1;i=d[a+(h+-1)>>0]|0;b=e*3|0;f=d[a+(b+-1)>>0]|0;j=k+2|0;g=H((j+(d[a+~e>>0]|0)+(l<<1)|0)>>>2,16843009)|0;c[a>>2]=g;g=i+2|0;k=H((g+l+(k<<1)|0)>>>2,16843009)|0;c[a+e>>2]=k;e=H((j+(i<<1)+f|0)>>>2,16843009)|0;c[a+h>>2]=e;e=H((g+f+(f<<1)|0)>>>2,16843009)|0;c[a+b>>2]=e;return}function _y(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;f=c[a+260>>2]|0;a:do if(!(c[b+272>>2]|0)){d=H(f,d)|0;g=a+264|0;while(1){e=f+-1|0;if((f|0)<=0)break a;f=(c[b>>2]|0)+(H(c[g>>2]|0,e+d|0)|0)|0;c[a+(e<<2)>>2]=f;f=e}}else{g=a+264|0;e=0;while(1){if((e|0)>=(f|0))break a;h=(c[b+(e<<2)>>2]|0)+(H(c[g>>2]|0,d)|0)|0;c[a+(e<<2)>>2]=h;e=e+1|0}}while(0);return}function $y(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=Mb;Mb=Mb+16|0;e=g;do if(b){if((c[b+24>>2]|0)==0?(c[b+44>>2]|0)==0:0){f=4;break}d=c[a+8>>2]|0;if(c[d+4>>2]|0){AD(a,16,200394,e);a=-22;break}a=c[d>>2]|0;if((c[a+24>>2]|0)==0?(c[a+44>>2]|0)==0:0){OQ(a,b);a=0}else a=-11}else f=4;while(0);if((f|0)==4){c[(c[a+8>>2]|0)+4>>2]=1;a=0}Mb=g;return a|0}function az(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=(c[a+4>>2]|0)+1|0;g=a+8|0;e=c[g>>2]|0;f=f>>>0>e>>>0?e:f;e=c[a>>2]|0;d=(e|0)!=(a+16|0);if(!b)if(d){bU(a);d=0}else d=0;else{if(!d){e=RD(f)|0;if(!e){d=-12;e=0}else{Mn(e|0,c[a>>2]|0,f|0)|0;d=0}}else{e=WW(e,f)|0;if(!e)e=c[a>>2]|0;c[a>>2]=0;d=0}c[b>>2]=e}c[g>>2]=f;return d|0}function bz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=(d|0)!=0;if(!((b|0)!=0&f?(e=oj(a)|0,(e|0)<0):0)){c[a+44>>2]=d;e=c[a+16>>2]|0;if(f){f=MR(e|0,((e|0)<0)<<31>>31|0,b|0,((b|0)<0)<<31>>31|0)|0;f=xA(f|0,M()|0,d|0,((d|0)<0)<<31>>31|0)|0;M()|0;e=e-f|0}c[a+20>>2]=e;f=c[a+40>>2]|0;d=(e|0)/(f|0)|0;c[a+24>>2]=d;e=e-(H(d,f)|0)|0;c[a+28>>2]=e;e=0}return e|0}function cz(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;h=b>>1;b=0;d=0;while(1){if((d|0)==16)break;b=b+(e[a+(d-h<<1)>>1]|0)|0;d=d+1|0}f=MR((b+8|0)>>>4|0,0,65537,65537)|0;g=M()|0;b=a;d=0;while(1){if((d|0)==16)break;a=b;c[a>>2]=f;c[a+4>>2]=g;a=b+8|0;c[a>>2]=f;c[a+4>>2]=g;a=b+16|0;c[a>>2]=f;c[a+4>>2]=g;a=b+24|0;c[a>>2]=f;c[a+4>>2]=g;b=b+(h<<1)|0;d=d+1|0}return}function dz(a){a=a|0;var b=0,d=0,e=0,f=0;d2(a)|0;d=a+28|0;e=c[d>>2]|0;do if(!e){b=ww(a)|0;d2(a)|0;if(!b)b=0;else f=6}else{b=Px(c[e>>2]|0,c[a+36>>2]|0,216,e,0)|0;if(!b){d2(a)|0;b=0;break}else{f=e+16|0;c[d>>2]=c[f>>2];c[f>>2]=0;d2(a)|0;f=6;break}}while(0);if((f|0)==6){f=a+32|0;c[f>>2]=(c[f>>2]|0)+1}return b|0}function ez(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0.0,i=0.0,j=0.0,k=0,l=0;l=0;h=+(1-(e<<1&2)|0);while(1){h=-h;if((l|0)>=(g|0))break;e=a+(l<<3)|0;k=a+(l<<3)+4|0;d=d+1&511;i=+f[b+(l<<2)>>2];if(i!=0.0){j=i*0.0;i=i*h}else{i=+f[c+(l<<2)>>2];j=i*+f[46096+(d<<3)>>2];i=i*+f[46096+(d<<3)+4>>2]}i=+f[k>>2]+i;f[e>>2]=+f[e>>2]+j;f[k>>2]=i;l=l+1|0}return}function fz(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0.0,i=0.0,j=0.0,k=0,l=0;l=0;j=+(1-(e<<1&2)|0);while(1){if((l|0)>=(g|0))break;e=a+(l<<3)|0;k=a+(l<<3)+4|0;d=d+1&511;h=+f[b+(l<<2)>>2];if(h!=0.0){i=h*0.0;h=j*h}else{h=+f[c+(l<<2)>>2];i=h*+f[46096+(d<<3)>>2];h=h*+f[46096+(d<<3)+4>>2]}h=+f[k>>2]+h;f[e>>2]=+f[e>>2]+i;f[k>>2]=h;l=l+1|0;j=-j}return}function gz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=a+8|0;e=c[g>>2]|0;h=e+b|0;c[g>>2]=h;f=a+12|0;b=c[f>>2]|0;do if((h|0)>(b|0)){if(d|0)ba();b=(1<<c[a>>2])+b|0;c[f>>2]=b;h=a+4|0;b=WP(c[h>>2]|0,b,4)|0;c[h>>2]=b;if(!b){c[f>>2]=0;c[g>>2]=0;e=-12;break}else{h=c[a>>2]|0;jv(b+(c[f>>2]<<2)+(-1<<h<<2)|0,0,4<<h|0)|0;break}}while(0);return e|0}function hz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=Mb;Mb=Mb+16|0;d=f+8|0;e=f;h=c[a+124>>2]|0;g=c[a+128>>2]|0;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];d=KB(h,g,d)|0;if((d|0)<0){h=c[b+4>>2]|0;c[e>>2]=c[b>>2];c[e+4>>2]=h;AD(a,24,193924,e);c[a+228>>2]=0;c[a+232>>2]=1}else{g=b;h=c[g+4>>2]|0;d=a+228|0;c[d>>2]=c[g>>2];c[d+4>>2]=h;d=0}Mb=f;return d|0}function iz(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;h=c[b+1412>>2]|0;i=c[h+13396>>2]|0;h=(1<<c[h+13336>>2])+-1|0;j=c[b+136>>2]|0;if((a[j+308>>0]|0)!=0|(h&d|0)!=0){d=(c[b+7564>>2]|0)+(f+-1+(H(i,g)|0))|0;d=(a[d>>0]|0)!=0&1}else d=0;if((h&e|0)!=0|(a[j+309>>0]|0)!=0){i=(c[b+7564>>2]|0)+((H(i,g+-1|0)|0)+f)|0;d=d+((a[i>>0]|0)!=0&1)|0}return LA(j+224|0,j+(d+6)|0)|0}function jz(a){a=a|0;var b=0,e=0,f=0,g=0;g=Mb;Mb=Mb+16|0;f=g;b=e0(a)|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;a:do if(!b)a=-22;else{e=d[b+4>>0]|0;a=0;while(1){if((a|0)==(e|0))break;c[f+(c[b+16+(a<<5)>>2]<<2)>>2]=1;a=a+1|0}a=0;b=0;while(1){if((b|0)==4)break a;a=(c[f+(b<<2)>>2]|0)+a|0;b=b+1|0}}while(0);Mb=g;return a|0}function kz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=PL(b)|0;c[a+4>>2]=d;d=mT(b)|0;c[a+8>>2]=d;d=(d|0)==0;c[a>>2]=d&1;if(d){f=HG(b,7)|0;d=a+12|0;c[d>>2]=f;f=mT(b)|0;e=a+24|0;c[e>>2]=f;f=HG(b,6)|0;c[a+20>>2]=f;eW(b,6);if((c[e>>2]|0)==0?(c[d>>2]|0)!=5:0)eW(b,16);eW(b,8);f=PL(b)|0;c[a+16>>2]=f}s1(b);return}function lz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=Mb;Mb=Mb+48|0;g=h+32|0;f=h+16|0;e=h;if(!(b&4194368))e=0;else{c[e>>2]=d;i=(c[e>>2]|0)+(4-1)&~(4-1);d=c[i>>2]|0;c[e>>2]=i+4;e=d}c[f>>2]=a;c[f+4>>2]=b|32768;c[f+8>>2]=e;e=T(5,f|0)|0;if(!((b&524288|0)==0|(e|0)<0)){c[g>>2]=e;c[g+4>>2]=2;c[g+8>>2]=1;R(221,g|0)|0}i=SX(e)|0;Mb=h;return i|0}function mz(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=Mb;Mb=Mb+16|0;f=k;g=a+8|0;h=a+4|0;while(1){i=c[g>>2]|0;e=c[h>>2]|0;i=i-(e>>>0>i>>>0?i:e)|0;if(!i)e=0;else e=(c[a>>2]|0)+e|0;c[f>>2]=c[d>>2];e=xw(e,i,b,f)|0;if((e|0)<1)break;if(e>>>0<i>>>0){j=7;break}if(zw(a,e)|0){j=7;break}}if((j|0)==7)xN(a,e);Mb=k;return}function nz(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=f+(H(e,-3)|0)|0;while(1){if(a>>>0>=g>>>0)break;c[a>>2]=c[b+4>>2];h=b+d|0;i=a+e|0;c[i>>2]=c[h+4>>2];h=h+d|0;i=i+e|0;c[i>>2]=c[h+4>>2];h=h+d|0;i=i+e|0;c[i>>2]=c[h+4>>2];a=i+e|0;b=h+d|0}while(1){if(a>>>0>=f>>>0)break;c[a>>2]=c[b+4>>2];a=a+e|0;b=b+d|0}return}function oz(a,c,d,e,f){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=f+(H(e,-3)|0)|0;while(1){if(a>>>0>=g>>>0)break;b[a>>1]=b[c>>1]|0;h=c+d|0;i=a+e|0;b[i>>1]=b[h>>1]|0;h=h+d|0;i=i+e|0;b[i>>1]=b[h>>1]|0;h=h+d|0;i=i+e|0;b[i>>1]=b[h>>1]|0;a=i+e|0;c=h+d|0}while(1){if(a>>>0>=f>>>0)break;b[a>>1]=b[c>>1]|0;a=a+e|0;c=c+d|0}return}function pz(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=Mb;Mb=Mb+16|0;f=j;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;g=f+4|0;h=f+8|0;i=f+12|0;e=8;while(1){if(e>>>0>=64)break;c[f>>2]=d;a[g>>0]=e;NU(f,f,16);c[b+(e<<2)>>2]=c[f>>2];c[b+((e|1)<<2)>>2]=c[g>>2];c[b+((e|2)<<2)>>2]=c[h>>2];c[b+((e|3)<<2)>>2]=c[i>>2];e=e+4|0}c[b+256>>2]=0;Mb=j;return}function qz(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;m=(f|0)==0?2147483647:-2147483648;j=0;while(1){l=a+(j<<2)|0;g=m;k=0;while(1){if((k|0)>=(d|0))break;h=c[b+(k<<2)>>2]|0;i=c[h+84>>2]|0;if(((i|0)>(e|0)|0)!=(f|0)?((i|0)<(g|0)|0)!=(f|0):0){c[l>>2]=h;g=i}k=k+1|0}if((g|0)==(m|0))break;e=(c[(c[l>>2]|0)+84>>2]|0)-f|0;j=j+1|0}return j|0}function rz(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0;k=0;while(1){if(k>>>0>=16)break;switch(a[i+(d[91792+k>>0]|0)>>0]|0){case 0:break;case 1:{j=g+(k<<4<<1)|0;if(!(b[j>>1]|0))l=7;else rE(e+(c[f+(k<<2)>>2]|0)|0,j,h);break}default:{j=g+(k<<4<<1)|0;l=7}}if((l|0)==7){l=0;Ag(e+(c[f+(k<<2)>>2]|0)|0,j,h)}k=k+4|0}return}function sz(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;g=a+192|0;h=a+4|0;i=c[h>>2]|0;b=_i(b,d,g,a+7648|0,a+7632|0,a+7640|0,c[i+688>>2]|0,c[a+7636>>2]|0,i)|0;a:do if((b|0)>=0){d=(e|0)==0;b=0;while(1){if(b>>>0>=32){b=0;break a}if(!d?(f=c[a+256+(b<<2)>>2]|0,f|0):0)break;b=b+1|0}Ln(c[h>>2]|0,g,c[f+4>>2]|0);b=0}while(0);return b|0}function tz(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0;k=0;while(1){if((k|0)==16)break;switch(a[i+(d[91792+k>>0]|0)>>0]|0){case 0:break;case 1:{j=g+(k<<4<<1)|0;if(!(b[j>>1]|0))l=7;else vE(e+(c[f+(k<<2)>>2]|0)|0,j,h);break}default:{j=g+(k<<4<<1)|0;l=7}}if((l|0)==7){l=0;Hn(e+(c[f+(k<<2)>>2]|0)|0,j,h)}k=k+1|0}return}function uz(c,f,g){c=c|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;j=g<<1;k=g*3|0;l=g<<2;i=f;c=c+(0-g)|0;h=0;while(1){if((h|0)==4)break;m=(e[i>>1]|0)+(d[c>>0]|0)|0;a[c+g>>0]=m;m=m+(e[i+8>>1]|0)|0;a[c+j>>0]=m;m=m+(e[i+16>>1]|0)|0;a[c+k>>0]=m;a[c+l>>0]=m+(e[i+24>>1]|0);i=i+2|0;c=c+1|0;h=h+1|0}c=f+32|0;do{b[f>>1]=0;f=f+2|0}while((f|0)<(c|0));return}function vz(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var h=0,i=0,j=0;h=e+(H(d,-3)|0)|0;while(1){if(a>>>0>=h>>>0)break;g[a>>3]=+f[b>>2];i=b+c|0;j=a+d|0;g[j>>3]=+f[i>>2];i=i+c|0;j=j+d|0;g[j>>3]=+f[i>>2];i=i+c|0;j=j+d|0;g[j>>3]=+f[i>>2];a=j+d|0;b=i+c|0}while(1){if(a>>>0>=e>>>0)break;g[a>>3]=+f[b>>2];a=a+d|0;b=b+c|0}return}function wz(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var h=0,i=0,j=0;h=e+(H(d,-3)|0)|0;while(1){if(a>>>0>=h>>>0)break;f[a>>2]=+g[b>>3];i=b+c|0;j=a+d|0;f[j>>2]=+g[i>>3];i=i+c|0;j=j+d|0;f[j>>2]=+g[i>>3];i=i+c|0;j=j+d|0;f[j>>2]=+g[i>>3];a=j+d|0;b=i+c|0}while(1){if(a>>>0>=e>>>0)break;f[a>>2]=+g[b>>3];a=a+d|0;b=b+c|0}return}function xz(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,h=0,i=0;f=e+(H(d,-3)|0)|0;while(1){if(a>>>0>=f>>>0)break;g[a>>3]=+g[b>>3];h=b+c|0;i=a+d|0;g[i>>3]=+g[h>>3];h=h+c|0;i=i+d|0;g[i>>3]=+g[h>>3];h=h+c|0;i=i+d|0;g[i>>3]=+g[h>>3];a=i+d|0;b=h+c|0}while(1){if(a>>>0>=e>>>0)break;g[a>>3]=+g[b>>3];a=a+d|0;b=b+c|0}return}function yz(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;g=(HG(c,8)|0)&255;f=b+52|0;d=0;while(1){if((d|0)==3)break;a:do switch(g<<24>>24){case 0:{a[f>>0]=1;e=0;while(1){if((e|0)==16)break a;h=(HG(c,8)|0)&255;a[b+4+(d<<4)+e>>0]=h;e=e+1|0}}case 1:{eW(c,16);break}case 2:{eW(c,32);break}default:{}}while(0);d=d+1|0}return}function zz(a){a=a|0;var b=0,c=0,d=0;d=a+32856|0;if(!(BA(d,a+32940|0)|0))a=0;else{do if(!(BA(d,a+32941|0)|0)){b=BA(d,a+32943|0)|0;a=1}else{c=a+32943|0;if(BA(d,a+32942|0)|0)if(!(BA(d,c)|0))a=7;else{b=BA(d,c)|0;a=11;break}else a=3;b=((BA(d,c)|0)<<1)+a|0;a=BA(d,c)|0}while(0);a=b+a|0}return a|0}function Az(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;h=b+87376|0;i=b+110672|0;j=c[b+756>>2]|0;g=f+-64+(c[167124+(j<<2)>>2]|0)|0;jv(b+2528+(g*368|0)|0,0,(64-f|0)*368|0)|0;a=c[167132+(j<<2)>>2]|0;if((a|0)>(g|0))jv(b+36016+(g*888|0)|0,0,(a-g|0)*888|0)|0;f=b+134036|0;br(f,h,b+768|0,d,j);ng(b,i,h,j);Ld(b,h,i,j);Pg(f,d,h,j);Pg(f,e,i,j);return 0}function Bz(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=Mb;Mb=Mb+16|0;f=k;g=a+8|0;h=a+4|0;while(1){i=c[g>>2]|0;e=c[h>>2]|0;i=i-(e>>>0>i>>>0?i:e)|0;if(!i)e=0;else e=(c[a>>2]|0)+e|0;c[f>>2]=d;e=xw(e,i,b,f)|0;if((e|0)<1)break;if(e>>>0<i>>>0){j=7;break}if(zw(a,e)|0){j=7;break}}if((j|0)==7)xN(a,e);Mb=k;return}function Cz(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,i=0;g=f+(H(e,-3)|0)|0;while(1){if(b>>>0>=g>>>0)break;a[b>>0]=a[c>>0]|0;h=c+d|0;i=b+e|0;a[i>>0]=a[h>>0]|0;h=h+d|0;i=i+e|0;a[i>>0]=a[h>>0]|0;h=h+d|0;i=i+e|0;a[i>>0]=a[h>>0]|0;b=i+e|0;c=h+d|0}while(1){if(b>>>0>=f>>>0)break;a[b>>0]=a[c>>0]|0;b=b+e|0;c=c+d|0}return}function Dz(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0.0,i=0.0,j=0.0,k=0,l=0;l=0;j=0.0;while(1){if((l|0)>=(g|0))break;e=a+(l<<3)|0;k=a+(l<<3)+4|0;d=d+1&511;h=+f[b+(l<<2)>>2];if(h!=0.0){i=-h;h=j*h}else{h=+f[c+(l<<2)>>2];i=h*+f[46096+(d<<3)>>2];h=h*+f[46096+(d<<3)+4>>2]}h=+f[k>>2]+h;f[e>>2]=+f[e>>2]+i;f[k>>2]=h;l=l+1|0;j=-j}return}function Ez(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0;h=f>>>1;g=d;f=a;a=0;while(1){if((a|0)==4)break;b[f>>1]=(c[g>>2]|0)+(e[f>>1]|0);i=f+2|0;b[i>>1]=(c[g+4>>2]|0)+(e[i>>1]|0);i=f+4|0;b[i>>1]=(c[g+8>>2]|0)+(e[i>>1]|0);i=f+6|0;b[i>>1]=(c[g+12>>2]|0)+(e[i>>1]|0);g=g+16|0;f=f+(h<<1)|0;a=a+1|0}f=d+64|0;do{b[d>>1]=0;d=d+2|0}while((d|0)<(f|0));return}function Fz(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0.0,i=0.0,j=0.0,k=0,l=0;l=0;j=0.0;while(1){if((l|0)>=(g|0))break;e=a+(l<<3)|0;k=a+(l<<3)+4|0;d=d+1&511;h=+f[b+(l<<2)>>2];if(h!=0.0){i=h;h=j*h}else{h=+f[c+(l<<2)>>2];i=h*+f[46096+(d<<3)>>2];h=h*+f[46096+(d<<3)+4>>2]}h=+f[k>>2]+h;f[e>>2]=+f[e>>2]+i;f[k>>2]=h;l=l+1|0;j=-j}return}function Gz(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;i=0;while(1){if(i>>>0>=16)break;switch(a[h+(d[91792+i>>0]|0)>>0]|0){case 0:break;case 1:{if(!(c[f+(i<<4<<2)>>2]|0))j=6;else QC(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g);break}default:j=6}if((j|0)==6){j=0;pg(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g)}i=i+4|0}return}function Hz(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;i=0;while(1){if(i>>>0>=16)break;switch(a[h+(d[91792+i>>0]|0)>>0]|0){case 0:break;case 1:{if(!(c[f+(i<<4<<2)>>2]|0))j=6;else XC(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g);break}default:j=6}if((j|0)==6){j=0;sg(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g)}i=i+4|0}return}function Iz(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;i=0;while(1){if(i>>>0>=16)break;switch(a[h+(d[91792+i>>0]|0)>>0]|0){case 0:break;case 1:{if(!(c[f+(i<<4<<2)>>2]|0))j=6;else YC(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g);break}default:j=6}if((j|0)==6){j=0;tg(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g)}i=i+4|0}return}function Jz(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0;f=0;while(1){if((f|0)==13)break;h=d[c>>0]|d[c+1>>0]<<8|d[c+2>>0]<<16|d[c+3>>0]<<24;a[b>>0]=h;a[b+1>>0]=h>>8;a[b+2>>0]=h>>16;a[b+3>>0]=h>>24;h=c+4|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=b+4|0;a[g>>0]=h;a[g+1>>0]=h>>8;a[g+2>>0]=h>>16;a[g+3>>0]=h>>24;f=f+1|0;b=b+8|0;c=c+e|0}return}function Kz(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,k=0,l=0,m=0;l=Mb;Mb=Mb+16|0;k=l;i=c[f>>2]|0;if((i|0)<(e-a|0)){h=0;j=0;while(1){if((j|0)>=(a|0))break;m=i+1|0;c[f>>2]=m;h=h<<8|(d[b+i>>0]|0);j=j+1|0;i=m}i=e-i|0;if((h|0)<1|(h|0)>(i|0)){c[k>>2]=h;c[k+4>>2]=i;AD(g,16,205061,k);h=-1094995529}}else h=-11;Mb=l;return h|0}function Lz(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;i=0;while(1){if((i|0)==16)break;switch(a[h+(d[91792+i>>0]|0)>>0]|0){case 0:break;case 1:{if(!(c[f+(i<<4<<2)>>2]|0))j=6;else lD(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g);break}default:j=6}if((j|0)==6){j=0;Ym(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g)}i=i+1|0}return}function Mz(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;i=0;while(1){if((i|0)==16)break;switch(a[h+(d[91792+i>>0]|0)>>0]|0){case 0:break;case 1:{if(!(c[f+(i<<4<<2)>>2]|0))j=6;else mD(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g);break}default:j=6}if((j|0)==6){j=0;_m(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g)}i=i+1|0}return}function Nz(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;i=0;while(1){if((i|0)==16)break;switch(a[h+(d[91792+i>>0]|0)>>0]|0){case 0:break;case 1:{if(!(c[f+(i<<4<<2)>>2]|0))j=6;else nD(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g);break}default:j=6}if((j|0)==6){j=0;$m(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g)}i=i+1|0}return}function Oz(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=c[a>>2]|0;h=a+4|0;d2(h)|0;i=a+32|0;xb(i|0)|0;j=g+104|0;b=a+84|0;d=g+24|0;e=g+100|0;f=g+52|0;while(1){c[b>>2]=1;a=1;while(1){if(!a)break;yb(i|0,h|0)|0;a=c[b>>2]|0}if(c[j>>2]|0)break;if(qD(g)|0){d2(d)|0;c[e>>2]=1;xb(f|0)|0;d2(d)|0}}d2(h)|0;return 0}function Pz(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;i=0;while(1){if(i>>>0>=16)break;switch(a[h+(d[91792+i>>0]|0)>>0]|0){case 0:break;case 1:{if(!(c[f+(i<<4<<2)>>2]|0))j=6;else dD(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g);break}default:j=6}if((j|0)==6){j=0;wg(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g)}i=i+4|0}return}function Qz(b,c,e,f,g,h,i,j,k,l,m){b=b|0;c=c|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;p=h+6|0;o=1<<h+5;n=i<<6;i=0;h=b;l=e;while(1){if((i|0)>=(g|0))break;k=0;while(1){if((k|0)>=(m|0))break;e=((H(n,d[l+k>>0]|0)|0)+o>>p)+j|0;a[h+k>>0]=e>>>0>255?0-e>>31:e;k=k+1|0}i=i+1|0;h=h+c|0;l=l+f|0}return}function Rz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;a:do if(b){f=c[a+260>>2]|0;if(!(c[a+272>>2]|0)){e=a+264|0;d=0;while(1){if((d|0)>=(f|0))break a;g=(c[b>>2]|0)+(H(c[e>>2]|0,d)|0)|0;c[a+(d<<2)>>2]=g;d=d+1|0}}else{d=0;while(1){if((d|0)>=(f|0))break a;c[a+(d<<2)>>2]=c[b+(d<<2)>>2];d=d+1|0}}}else jv(a|0,0,256)|0;while(0);return}function Sz(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=f+(H(e,-3)|0)|0;while(1){if(a>>>0>=g>>>0)break;c[a>>2]=c[b>>2];h=b+d|0;i=a+e|0;c[i>>2]=c[h>>2];h=h+d|0;i=i+e|0;c[i>>2]=c[h>>2];h=h+d|0;i=i+e|0;c[i>>2]=c[h>>2];a=i+e|0;b=h+d|0}while(1){if(a>>>0>=f>>>0)break;c[a>>2]=c[b>>2];a=a+e|0;b=b+d|0}return}function Tz(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;i=0;while(1){if((i|0)==16)break;switch(a[h+(d[91792+i>>0]|0)>>0]|0){case 0:break;case 1:{if(!(c[f+(i<<4<<2)>>2]|0))j=6;else tD(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g);break}default:j=6}if((j|0)==6){j=0;cn(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g)}i=i+1|0}return}function Uz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0,h=0,i=0;g=Mb;Mb=Mb+144|0;e=g;jv(e|0,0,144)|0;i=e+4|0;c[i>>2]=a;h=e+8|0;c[h>>2]=-1;c[e+44>>2]=a;c[e+76>>2]=-1;sC(e,0,0);f=+We(e,d,1);e=e+120|0;d=(c[i>>2]|0)-(c[h>>2]|0)|0;d=aX(c[e>>2]|0,c[e+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;e=M()|0;if(b|0)c[b>>2]=(d|0)==0&(e|0)==0?a:a+d|0;Mb=g;return +f}function Vz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=Mb;Mb=Mb+16|0;d=g;e=c[a>>2]|0;f=c[e>>2]|0;c[d>>2]=f;if(!b)bU(a);else{a=c[b>>2]|0;c[e>>2]=c[a>>2];c[e+4>>2]=c[a+4>>2];c[e+8>>2]=c[a+8>>2];bU(b)}e=f+8|0;f=c[e>>2]|0;c[e>>2]=f+-1;if((f|0)==1){f=c[d>>2]|0;ec[c[f+12>>2]&255](c[f+16>>2]|0,c[f>>2]|0);bU(d)}Mb=g;return}function Wz(a,b){a=+a;b=b|0;var d=0,e=0,f=0;g[h>>3]=a;d=c[h>>2]|0;e=c[h+4>>2]|0;f=kV(d|0,e|0,52)|0;M()|0;switch(f&2047){case 0:{if(a!=0.0){a=+Wz(a*18446744073709551616.0,b);d=(c[b>>2]|0)+-64|0}else d=0;c[b>>2]=d;break}case 2047:break;default:{c[b>>2]=(f&2047)+-1022;c[h>>2]=d;c[h+4>>2]=e&-2146435073|1071644672;a=+g[h>>3]}}return +a}function Xz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=Mb;Mb=Mb+16|0;h=i;d=a+28|0;if((mT(d)|0)==0?(f=HG(d,6)|0,e=a+48|0,c[e>>2]=f,f=HG(d,6)|0,g=(HG(d,3)|0)+-1|0,c[a+52>>2]=g,(g|0)>=0):0){e=c[e>>2]|0;a=Mr(e)|0;c[h>>2]=e;c[h+4>>2]=a;c[h+8>>2]=f;c[h+12>>2]=g;AD(b,48,204815,h);a=(f|0)==0&1}else a=-1094995529;Mb=i;return a|0}function Yz(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;b=(c[d+848>>2]|0)+48+(H(c[(c[b+28200>>2]|0)+1184>>2]|0,-6)|0)|0;b=(b|0)<51?b:51;b=(b|0)>0?b:0;if((c[d+840>>2]|0)==1)f=89744;else f=83600+(c[d+33928>>2]<<11)|0;e=0;while(1){if((e|0)==1024)break;g=(H(b,a[f+(e<<1)>>0]|0)|0)>>4;g=(g+(a[f+(e<<1)+1>>0]|0)<<1)+-127|0;g=g>>31^g;a[d+32904+e>>0]=(g|0)>124?g&1|124:g;e=e+1|0}return}function Zz(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;i=Mb;Mb=Mb+16|0;h=i+8|0;g=i;if((f|0)>=1?!((f|0)>12|(f+-8|0)>>>0<3):0){g=a[45488+f>>0]|0;c[e>>2]=g;Mn(d|0,45504+((f+-1|0)*15|0)|0,g*3|0)|0;if((f|0)==7?(c[b+672>>2]|0)<1:0){c[h>>2]=1;AD(b,32,198071,h);a[d+8>>0]=2;b=0}else b=0}else{c[g>>2]=f;AD(b,16,198027,g);b=-1094995529}Mb=i;return b|0}function _z(a){a=a|0;if((a|0)<=92016)if((a|0)<=75131)if((a|0)<=55425)if((a|0)<=46008)if((a|0)<=37565)if((a|0)<=27712)if((a|0)<=23003)if((a|0)<=18782)if((a|0)>13855)a=8;else return ((a|0)>11501?9:(a|0)>9390?10:11)|0;else a=7;else a=6;else a=5;else a=4;else a=3;else a=2;else a=1;else a=0;return a|0}function $z(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;f=(b|0)!=0;if(f){c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0}e=0;while(1){if((e|0)==4)break;g=c[d+16+(e<<5)+4>>2]|0;h=d+16+(e<<5)|0;i=a+(c[h>>2]<<2)|0;if((g|0)>(c[i>>2]|0)?(c[i>>2]=g,f):0)c[b+(c[h>>2]<<2)>>2]=e;e=e+1|0}return}function aA(a,b){a=+a;b=b|0;var d=0,e=0;if((b|0)<=1023){if((b|0)<-1022){a=a*2.2250738585072014e-308;e=(b|0)<-2044;d=b+2044|0;a=e?a*2.2250738585072014e-308:a;b=e?((d|0)>-1022?d:-1022):b+1022|0}}else{a=a*8988465674311579538646525.0e283;d=(b|0)>2046;e=b+-2046|0;a=d?a*8988465674311579538646525.0e283:a;b=d?((e|0)<1023?e:1023):b+-1023|0}d=_U(b+1023|0,0,52)|0;e=M()|0;c[h>>2]=d;c[h+4>>2]=e;return +(a*+g[h>>3])}function bA(a,c,d,f,g,h,i,j,k){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0;m=f>>>1;l=c>>>1;j=g;c=0;i=a;while(1){if((c|0)>=(h|0))break;f=0;while(1){if((f|0)>=(k|0))break;a=(b[j+(f<<1)>>1]|0)+16+(e[d+(f<<1)>>1]<<4)>>5;b[i+(f<<1)>>1]=a>>>0<1024?a:0-a>>31&1023;f=f+1|0}j=j+128|0;c=c+1|0;i=i+(l<<1)|0;d=d+(m<<1)|0}return}function cA(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0;f=c[a+27e3>>2]|0;g=(H(f,c[b+21792>>2]|0)|0)+(c[b+21788>>2]|0)|0;h=c[a+26356>>2]|0;d=g+-1|0;i=c[b+832>>2]|0;if((i|0)!=(e[h+(d<<1)>>1]|0|0)){d=g-f|0;if((i|0)==(e[h+(d<<1)>>1]|0|0))j=3;else d=0}else j=3;if((j|0)==3)d=(c[(c[a+24364>>2]|0)+(d<<2)>>2]|0)>>>7&1;c[b+21828>>2]=d;c[b+21832>>2]=d;return}function dA(a,c){a=a|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=b[a>>1]|0;j=a+32|0;e=b[j>>1]|0;g=a+64|0;h=b[g>>1]|0;d=a+96|0;k=b[d>>1]|0;f=i-e|0;i=e+i|0;e=h-k|0;h=k+h|0;k=(H(h+i|0,c)|0)>>>7&65535;b[a>>1]=k;a=(H(e+f|0,c)|0)>>>7&65535;b[j>>1]=a;a=(H(i-h|0,c)|0)>>>7&65535;b[g>>1]=a;c=(H(f-e|0,c)|0)>>>7&65535;b[d>>1]=c;return}function eA(a){a=a|0;var b=0,d=0,e=0;c[a+256>>2]=c[a>>2];b=1;d=a+4|0;e=65;while(1){c[a+(e<<2)>>2]=c[d>>2];if(b>>>0>=31)break;e=b<<1;c[a+(e+64<<2)>>2]=c[a+(64-b<<2)>>2]^-2147483648;c[a+(e+65<<2)>>2]=c[a+(b+1<<2)>>2];c[a+(e+66<<2)>>2]=c[a+(63-b<<2)>>2]^-2147483648;d=b+2|0;b=d;d=a+(d<<2)|0;e=e+67|0}c[a+504>>2]=c[a+132>>2]^-2147483648;c[a+508>>2]=c[a+128>>2];return}function fA(a,c,d,f,g,h,i,j,k){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0;m=f>>>1;l=c>>>1;j=g;c=0;i=a;while(1){if((c|0)>=(h|0))break;f=0;while(1){if((f|0)>=(k|0))break;a=(b[j+(f<<1)>>1]|0)+4+(e[d+(f<<1)>>1]<<2)>>3;b[i+(f<<1)>>1]=a>>>0<4096?a:0-a>>31&4095;f=f+1|0}j=j+128|0;c=c+1|0;i=i+(l<<1)|0;d=d+(m<<1)|0}return}function gA(a){a=+a;var b=0,d=0;g[h>>3]=a;d=c[h+4>>2]|0;b=d&2147483647;c[h>>2]=c[h>>2];c[h+4>>2]=b;a=+g[h>>3];do if(b>>>0>1071748074)if(b>>>0>1077149696){a=1.0-0.0/a;break}else{a=1.0-2.0/(+mi(a*2.0)+2.0);break}else{if(b>>>0>1070618798){a=+mi(a*2.0);a=a/(a+2.0);break}if(b>>>0>1048575){a=+mi(a*-2.0);a=-a/(a+2.0)}}while(0);return +((d|0)<0?-a:a)}function hA(a,c,d,f,g,h,i,j,k){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0;m=f>>>1;l=c>>>1;j=g;c=0;i=a;while(1){if((c|0)>=(h|0))break;f=0;while(1){if((f|0)>=(k|0))break;a=(b[j+(f<<1)>>1]|0)+32+(e[d+(f<<1)>>1]<<5)>>6;b[i+(f<<1)>>1]=a>>>0<512?a:0-a>>31&511;f=f+1|0}j=j+128|0;c=c+1|0;i=i+(l<<1)|0;d=d+(m<<1)|0}return}function iA(a,b){a=a|0;b=b|0;var d=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;c[a+24>>2]=0;c[a+28>>2]=0;if(b|0){c[a>>2]=c[b>>2];c[a+4>>2]=b+4;d=0;while(1){if((d|0)==2)break;c[a+8+(d<<2)>>2]=c[b+36+(d<<2)>>2];c[a+16+(d<<2)>>2]=c[b+68+(d<<2)>>2];d=d+1|0}c[a+24>>2]=c[b+48>>2];c[a+28>>2]=c[b+636>>2]}return}function jA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0.0,i=0,j=0,k=0,l=0.0,m=0.0,n=0;d=0;j=1;while(1){g=j>>>1;if((d|0)>=(b|0))break;h=-+f[a+(d<<2)>>2];f[c+(d<<2)>>2]=h;i=d+-1|0;e=0;while(1){if((e|0)==(g|0))break;n=c+(e<<2)|0;l=+f[n>>2];k=c+(i-e<<2)|0;m=+f[k>>2];f[n>>2]=l+m*h;f[k>>2]=m+l*h;e=e+1|0}d=d+1|0;j=j+1|0}return}function kA(a){a=a|0;var b=0,d=0,e=0,f=0;d=c[a+60>>2]|0;b=0;while(1){if((b|0)==16)break;a=0;while(1){if((a|0)==4)break;e=d+492+(a<<6)+(b<<2)|0;f=c[e>>2]|0;if(f|0)M$(f+156512|0);bU(e);a=a+1|0}b=b+1|0}Q0(d+5120|0);Q0(d+5188|0);Q0(d+5256|0);Q0(d+5324|0);rU(d+5392|0);rU(d+5396|0);rU(d+5400|0);bU(d+5404|0);return 0}function lA(a,b){a=a|0;b=b|0;var d=0,e=0;d=0;while(1){if(d>>>0>=8){e=6;break}if(!(PF(c[95680+(d*12|0)>>2]|0,b)|0)){e=4;break}d=d+1|0}if((e|0)==4){b=95680+(d*12|0)+4|0;e=c[b+4>>2]|0;d=a;c[d>>2]=c[b>>2];c[d+4>>2]=e;d=0}else if((e|0)==6){d=lw(a,b,1001e3,64,0)|0;if((d|0)>=0)if((c[a>>2]|0)<1)d=-22;else return ((c[a+4>>2]|0)<1?-22:0)|0}return d|0}function mA(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,i=0;h=d>>1;g=d&-2;d=h*3|0;f=MR(((e[a+-2>>1]|0)+2+(e[a+(h+-1<<1)>>1]|0)+(e[a+(g+-1<<1)>>1]|0)+(e[a+(d+-1<<1)>>1]|0)|0)>>>2|0,0,65537,65537)|0;b=M()|0;i=a;c[i>>2]=f;c[i+4>>2]=b;h=a+(h<<1)|0;c[h>>2]=f;c[h+4>>2]=b;g=a+(g<<1)|0;c[g>>2]=f;c[g+4>>2]=b;d=a+(d<<1)|0;c[d>>2]=f;c[d+4>>2]=b;return}function nA(b){b=b|0;var d=0,e=0,f=0;f=b;a:do if(!(f&3))e=5;else{d=f;while(1){if(!(a[b>>0]|0)){b=d;break a}b=b+1|0;d=b;if(!(d&3)){e=5;break}}}while(0);if((e|0)==5){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 oA(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0;g=c[a+1416>>2]|0;b=(c[((e|0)==1?g+28|0:g+32|0)>>2]|0)+b|0;b=(b|0)<57?b:57;b=(b|0)>0?b:0;do if((c[(c[a+1412>>2]|0)+4>>2]|0)==1){if((b|0)>=30)if((b|0)>43){b=b+-6|0;break}else{b=c[80752+(b+-30<<2)>>2]|0;break}}else b=(b|0)<51?b:51;while(0);g=f+2+b|0;g=(g|0)<53?g:53;return d[80688+((g|0)>0?g:0)>>0]|0|0}function pA(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=yr(a,d)|0;do if((f|0)!=(c[a+3516>>2]|0)?(h=b+192|0,g=c[h>>2]|0,(g|0)<=15):0){if(!f){f=uo(a,d)|0;if(!f){f=-12;break}g=c[h>>2]|0}c[b+64+(g<<2)>>2]=c[f+36>>2];d=c[h>>2]|0;c[b+(d<<2)>>2]=f;c[h>>2]=d+1;V_(f,e);f=0}else f=-1094995529;while(0);return f|0}function qA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=Mb;Mb=Mb+16|0;g=h;d=fu(g,c[a+16>>2]|0,b,c[a+20>>2]|0,1)|0;a:do if((d|0)>=0){f=a+4|0;e=0;while(1){if((e|0)>=(c[f>>2]|0))break;d=Fx(c[(c[a>>2]|0)+(e<<2)>>2]|0,c[g>>2]|0)|0;if((d|0)<0)break a;else e=e+1|0}c[a+12>>2]=b;d=0}while(0);Mb=h;return d|0}function rA(b,d){b=b|0;d=d|0;var e=0;if(!(c[d+21740>>2]|0))e=0;else e=(a[(c[b+26380>>2]|0)+(c[d+21720>>2]|0)>>0]|0)!=0&1;if(c[d+21732>>2]|0)e=e+((a[(c[b+26380>>2]|0)+(c[d+21712>>2]|0)>>0]|0)!=0&1)|0;b=d+32856|0;if(BA(b,e+64+(d+32904)|0)|0){e=d+32971|0;if(!(BA(b,e)|0))e=1;else{e=(BA(b,e)|0)==0;e=e?2:3}}else e=0;return e|0}function sA(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=23024+(0-(d[b+~e>>0]|0))|0;f=b+(0-e)|0;g=f+1|0;h=f+2|0;i=f+3|0;c=b;b=0;while(1){if((b|0)==4)break;k=j+(d[c+-1>>0]|0)|0;a[c>>0]=a[k+(d[f>>0]|0)>>0]|0;a[c+1>>0]=a[k+(d[g>>0]|0)>>0]|0;a[c+2>>0]=a[k+(d[h>>0]|0)>>0]|0;a[c+3>>0]=a[k+(d[i>>0]|0)>>0]|0;c=c+e|0;b=b+1|0}return}function tA(a,b){a=a|0;b=b|0;fb(3317,1);Ia(33984);La(3553,c[a+28>>2]|0);hb(3553,0,6409,c[b+8>>2]|0,c[b+20>>2]|0,0,6409,5121,c[b+32>>2]|0);Ia(33985);La(3553,c[a+32>>2]|0);hb(3553,0,6409,c[b+12>>2]|0,c[b+24>>2]|0,0,6409,5121,c[b+36>>2]|0);Ia(33986);La(3553,c[a+36>>2]|0);hb(3553,0,6409,c[b+16>>2]|0,c[b+28>>2]|0,0,6409,5121,c[b+40>>2]|0);return}function uA(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;g=c[a>>2]|0;a:do switch(d|0){case 11:case 20:{a=0;while(1){if((a|0)>=(e|0))break a;Um(g+(a*34|0)|0,b+(a*34|0)|0,f);a=a+1|0}}case 5:case 10:{a=0;while(1){if((a|0)>=(e|0))break a;vo(g+(a*34|0)|0,b+(a*34|0)|0,f);a=a+1|0}}default:c[a>>2]=b}while(0);return}function vA(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;g=c[a>>2]|0;a:do switch(d|0){case 17:case 34:{a=0;while(1){if((a|0)>=(e|0))break a;Bo(g+(a*34|0)|0,b+(a*34|0)|0,f);a=a+1|0}}case 5:case 10:{a=0;while(1){if((a|0)>=(e|0))break a;mN(g+(a*34|0)|0,b+(a*34|0)|0,f);a=a+1|0}}default:c[a>>2]=b}while(0);return}function wA(c,f,g){c=c|0;f=f|0;g=g|0;var h=0,i=0,j=0;i=f;h=0;while(1){if((h|0)==4)break;a[c>>0]=(d[c>>0]|0)+(e[i>>1]|0);j=c+1|0;a[j>>0]=(d[j>>0]|0)+(e[i+2>>1]|0);j=c+2|0;a[j>>0]=(d[j>>0]|0)+(e[i+4>>1]|0);j=c+3|0;a[j>>0]=(d[j>>0]|0)+(e[i+6>>1]|0);i=i+8|0;c=c+g|0;h=h+1|0}c=f+32|0;do{b[f>>1]=0;f=f+2|0}while((f|0)<(c|0));return}function xA(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=_W(j^a|0,i^b|0,j|0,i|0)|0;g=M()|0;a=f^j;b=e^i;return _W(($f(h,g,_W(f^c|0,e^d|0,f|0,e|0)|0,M()|0,0)|0)^a|0,(M()|0)^b|0,a|0,b|0)|0}function yA(a,b,d){a=a|0;b=b|0;d=d|0;d=c[a+976>>2]|0;a:do if(!d){d=Rf(a,b)|0;if((d|0)>=0)switch(c[a+8>>2]|0){case 0:{d=Vl(a,b)|0;break a}case 1:{d=Uk(a,b)|0;break a}default:{d=-1;break a}}}else{d=kq(d,b,0)|0;c[b+68>>2]=c[a+132>>2];c[b+72>>2]=c[a+136>>2]}while(0);return d|0}function zA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;a:do if((DD(a,b)|0)>(c|0)){f=0;e=c;while(1){if(f>>>0>=64){d=0;c=0;break a}c=_U(1,0,f|0)|0;d=M()|0;if(!((c&a|0)==0&(d&b|0)==0))if(!e)break a;else c=e+-1|0;else c=e;f=f+1|0;e=c}}else{d=0;c=0}while(0);L(d|0);return c|0}function AA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=Mb;Mb=Mb+16|0;e=f;do if((a$(a)|0)>=112?(RZ(a)|0)==1095521024:0){d=RZ(a)|0;c[b+8>>2]=d;if((d|0)<1){c[e>>2]=d;AD(0,16,209938,e);a=-1094995529;break}else{fS(a,32);c[b+12>>2]=0;a=(HG(a,16)|0)+1|0;c[b+36>>2]=a;a=0;break}}else a=-1094995529;while(0);Mb=f;return a|0}function BA(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;f=d[e>>0]|0;g=b+4|0;i=c[g>>2]|0;j=d[62736+((i<<1&384)+f)>>0]|0;i=i-j|0;k=i<<17;l=c[b>>2]|0;h=k-l>>31;c[b>>2]=l-(h&k);c[g>>2]=(h&j-i)+i;f=h^f;a[e>>0]=a[63376+f>>0]|0;h=c[g>>2]|0;e=d[62224+h>>0]|0;c[g>>2]=h<<e;e=c[b>>2]<<e;c[b>>2]=e;if(!(e&65535))eQ(b);return f&1|0}function CA(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=c[d+74176>>2]|0;e=d+17856|0;g=b+1024|0;gc[c[b+5164>>2]&1023](b+5256|0,g,d+13760|0);if(!(a[d+13>>0]|0))jc[c[(c[b+5404>>2]|0)+20>>2]&255](f,e,g,224704,256);else{Mn(f|0,e|0,768)|0;jc[c[(c[b+5404>>2]|0)+20>>2]&255](f+768|0,d+18624|0,g,223168,64);Mn(f+1280|0,b+1280|0,768)|0}Mn(e|0,b+2048|0,1024)|0;return}function DA(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;i=b+8|0;k=i;f=c[k>>2]|0;k=aX(f|0,c[k+4>>2]|0,e|0,0)|0;j=M()|0;c[i>>2]=k;c[i+4>>2]=j;i=b+112|0;j=b+80|0;k=b+16|0;f=f&63;h=0;while(1){if((h|0)==(e|0))break;g=f+1|0;a[b+16+f>>0]=a[d+h>>0]|0;if((g|0)==64){ec[c[i>>2]&255](j,k);f=0}else f=g;h=h+1|0}return}function EA(b){b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=b+(nA(b)|0)|0;g=0;c=0;while(1){if(b>>>0>=h>>>0){b=g;break}d=b;a:while(1){if(d>>>0>=h>>>0)break;switch(a[d>>0]|0){case 124:case 43:break a;default:{}}d=d+1|0}e=xo(b,d-b|0)|0;f=M()|0;if((e|0)==0&(f|0)==0){c=0;b=0;break}b=d+1|0;g=e|g;c=f|c}L(c|0);return b|0}function FA(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0;g=d>>1;f=MR(((e[a+(0-g<<1)>>1]|0)+2+(e[a+(1-g<<1)>>1]|0)+(e[a+(2-g<<1)>>1]|0)+(e[a+(3-g<<1)>>1]|0)|0)>>>2|0,0,65537,65537)|0;b=M()|0;h=a;c[h>>2]=f;c[h+4>>2]=b;h=a+(g<<1)|0;c[h>>2]=f;c[h+4>>2]=b;d=a+((d&-2)<<1)|0;c[d>>2]=f;c[d+4>>2]=b;d=a+(g*3<<1)|0;c[d>>2]=f;c[d+4>>2]=b;return}function GA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=c[a>>2]|0;j=a+64|0;e=c[j>>2]|0;g=a+128|0;h=c[g>>2]|0;d=a+192|0;k=c[d>>2]|0;f=i-e|0;i=e+i|0;e=h-k|0;h=k+h|0;k=(H(h+i|0,b)|0)>>7;c[a>>2]=k;a=(H(e+f|0,b)|0)>>7;c[j>>2]=a;a=(H(i-h|0,b)|0)>>7;c[g>>2]=a;b=(H(f-e|0,b)|0)>>7;c[d>>2]=b;return}function HA(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0;h=f>>1;g=d;f=a;a=0;while(1){if((a|0)==4)break;i=(c[g>>2]|0)+(e[f+-2>>1]|0)|0;b[f>>1]=i;i=(c[g+4>>2]|0)+i|0;b[f+2>>1]=i;i=(c[g+8>>2]|0)+i|0;b[f+4>>1]=i;b[f+6>>1]=(c[g+12>>2]|0)+i;g=g+16|0;f=f+(h<<1)|0;a=a+1|0}f=d+64|0;do{b[d>>1]=0;d=d+2|0}while((d|0)<(f|0));return}function IA(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;h=0;i=0;a=e;while(1){if((h|0)>=(g|0))break;e=(c[1055680+((d[b>>0]|0)-(d[a>>0]|0)<<2)>>2]|0)+i+(c[1055680+((d[b+1>>0]|0)-(d[a+1>>0]|0)<<2)>>2]|0)+(c[1055680+((d[b+2>>0]|0)-(d[a+2>>0]|0)<<2)>>2]|0)+(c[1055680+((d[b+3>>0]|0)-(d[a+3>>0]|0)<<2)>>2]|0)|0;b=b+f|0;h=h+1|0;i=e;a=a+f|0}return i|0}function JA(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;c[b>>2]=a;c[b+1408>>2]=b+384;c[b+1412>>2]=b+896;pz(b+4|0,0);xq(b+292|0,8,1,1.0)|0;d=pK(c[a+92>>2]&8388608)|0;c[b+288>>2]=d;if(!d)a=-12;else{f[b+284>>2]=3.814697265625e-06;c[a+424>>2]=3;if(!(+f[55919]!=0.0))l$(7);c[a+420>>2]=1;a=a+448|0;c[a>>2]=4;c[a+4>>2]=0;a=0}return a|0}function KA(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;e=0;f=0;while(1){if((f|0)==16)break;g=a+((H(f,b)|0)+-1)|0;e=e+(d[g>>0]|0)|0;f=f+1|0}f=0;while(1){if((f|0)==16)break;e=e+(d[a+(f-b)>>0]|0)|0;f=f+1|0}f=H((e+16|0)>>>5,16843009)|0;e=0;while(1){if((e|0)==16)break;c[a>>2]=f;c[a+4>>2]=f;c[a+8>>2]=f;c[a+12>>2]=f;a=a+b|0;e=e+1|0}return}function LA(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;f=d[e>>0]|0;g=b+4|0;i=c[g>>2]|0;j=d[62736+((i<<1&384)+f)>>0]|0;i=i-j|0;k=i<<17;l=c[b>>2]|0;h=k-l>>31;c[b>>2]=l-(h&k);c[g>>2]=(h&j-i)+i;f=h^f;a[e>>0]=a[63376+f>>0]|0;h=c[g>>2]|0;e=d[62224+h>>0]|0;c[g>>2]=h<<e;e=c[b>>2]<<e;c[b>>2]=e;if(!(e&65535))aM(b);return f&1|0}function MA(a){a=a|0;c[a+13380>>2]=0;c[a+13384>>2]=0;c[a+13388>>2]=0;jv(a+11140|0,0,256)|0;jv(a+12260|0,0,256)|0;Y$(a+11420|0);Y$(a+11700|0);Y$(a+11980|0);Y$(a+12540|0);Y$(a+12820|0);Y$(a+13100|0);Y$(a+10480|0);Y$(a+10760|0);j1(a+13432|0);j1(a+13436|0);j1(a+13440|0);bY(a);g[a+13424>>3]=0.0;c[a+13392>>2]=0;return}function NA(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0;d=b>>1;b=0;while(1){if((b|0)==16)break;f=H(b,d)|0;h=MR(e[a+(f+-1<<1)>>1]|0|0,0,65537,65537)|0;g=M()|0;f=a+(f<<1)|0;i=f;c[i>>2]=h;c[i+4>>2]=g;i=f+8|0;c[i>>2]=h;c[i+4>>2]=g;i=f+16|0;c[i>>2]=h;c[i+4>>2]=g;f=f+24|0;c[f>>2]=h;c[f+4>>2]=g;b=b+1|0}return}function OA(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=Mb;Mb=Mb+16|0;f=g;e=g+4|0;c[f>>2]=a;while(1){b=a+28|0;d=c[b>>2]|0;if(!d)break;c[e>>2]=d;c[b>>2]=c[d+16>>2];ec[c[d+8>>2]&255](c[d+4>>2]|0,c[d>>2]|0);bU(e);a=c[f>>2]|0}d2(a)|0;b=c[a+52>>2]|0;if(b|0)dc[b&63](c[a+40>>2]|0);bU(f);Mb=g;return}function PA(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=d[a+(0-e)>>0]|0;k=d[a+(1-e)>>0]|0;h=d[a+(2-e)>>0]|0;f=d[a+(3-e)>>0]|0;g=h+2|0;i=k+2|0;b=(g+j+(k<<1)|0)>>>2<<8|(i+(d[a+~e>>0]|0)+(j<<1)|0)>>>2|(i+(h<<1)+f|0)>>>2<<16|(g+(f<<1)+(d[b>>0]|0)|0)>>>2<<24;c[a>>2]=b;c[a+e>>2]=b;c[a+(e<<1)>>2]=b;c[a+(e*3|0)>>2]=b;return}function QA(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=Mb;Mb=Mb+144|0;h=j;c[h>>2]=0;i=h+4|0;c[i>>2]=a;c[h+44>>2]=a;g=h+8|0;c[g>>2]=(a|0)<0?-1:a+2147483647|0;c[h+76>>2]=-1;sC(h,0,0);d=Jd(h,d,1,e,f)|0;e=M()|0;if(b|0)c[b>>2]=a+((c[i>>2]|0)+(c[h+120>>2]|0)-(c[g>>2]|0));L(e|0);Mb=j;return d|0}function RA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0.0,h=0.0,i=0.0,j=0,k=0.0;g=+(c|0);d=0;while(1){if((d|0)>=(c|0))break;h=(+(d|0)+.5)*6.283185307179586;e=0;while(1){if((e|0)==7)break;i=h*+(e+-6|0)/g;j=b+(e<<2)|0;k=+x(+i)*+f[j>>2];f[a+(d<<6)+(e<<3)>>2]=k;i=-(+y(+i)*+f[j>>2]);f[a+(d<<6)+(e<<3)+4>>2]=i;e=e+1|0}d=d+1|0}return}function SA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=b+4|0;g=c[b>>2]|0;f=c[d>>2]|0;g=MR(f|0,((f|0)<0)<<31>>31|0,g|0,((g|0)<0)<<31>>31|0)|0;f=M()|0;e=c[h>>2]|0;d=c[d+4>>2]|0;e=MR(d|0,((d|0)<0)<<31>>31|0,e|0,((e|0)<0)<<31>>31|0)|0;ih(b,h,g,f,e,M()|0,2147483647,0)|0;e=b;b=c[e+4>>2]|0;d=a;c[d>>2]=c[e>>2];c[d+4>>2]=b;return}function TA(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,k=0,l=0;h=0;while(1){if((h|0)==4)break;k=b+(H(h,g)|0)|0;j=e+(h<<2)|0;i=a+(H(h,f)|0)|0;l=c[i>>2]|0;j=b0(l,b0(d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24,d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24)|0)|0;c[i>>2]=j;h=h+1|0}return}function UA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=c[a+44>>2]|0;a=a+40|0;e=0;while(1){if((e|0)>=(f|0)){b=8;break}g=c[a>>2]|0;if((c[g+(e*12|0)+8>>2]|0)==(b|0)){b=4;break}e=e+1|0}if((b|0)==4){if(d|0)c[d>>2]=c[g+(e*12|0)+4>>2];a=c[g+(e*12|0)>>2]|0}else if((b|0)==8)if(!d)a=0;else{c[d>>2]=0;a=0}return a|0}function VA(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if(a|0?(g=c[a>>2]|0,g|0):0){b=g+4|0;d=c[b>>2]|0;e=c[d+24>>2]|0;if(e){dc[e&63](g);d=c[b>>2]|0}b=g+12|0;if(c[d+8>>2]|0?(f=c[b>>2]|0,f|0):0)rL(f);rL(g);f=g+8|0;nY(c[f>>2]|0);bU(f);bU(b);eY(g+16|0);eY(g+20|0);bU(a)}return}function WA(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=c>>1;i=(h<<f+6)+((f|0)==0?0:1<<f+-1)|0;c=a;h=0;while(1){if((h|0)>=(d|0))break;a=(H(e[c>>1]|0,g)|0)+i>>f;b[c>>1]=a>>>0<16384?a:0-a>>31&16383;a=c+2|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;c=c+(j<<1)|0;h=h+1|0}return}function XA(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0;f=0;while(1){if((f|0)==4)break;g=a;i=b;h=i;i=i+4|0;i=AQ(c[g>>2]|0,c[g+4>>2]|0,d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24,d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24)|0;h=M()|0;g=a;c[g>>2]=i;c[g+4>>2]=h;f=f+1|0;a=a+e|0;b=b+e|0}return}function YA(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=c>>1;i=(h<<f+4)+((f|0)==0?0:1<<f+-1)|0;c=a;h=0;while(1){if((h|0)>=(d|0))break;a=(H(e[c>>1]|0,g)|0)+i>>f;b[c>>1]=a>>>0<4096?a:0-a>>31&4095;a=c+2|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;c=c+(j<<1)|0;h=h+1|0}return}function ZA(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=c>>1;i=(h<<f+2)+((f|0)==0?0:1<<f+-1)|0;c=a;h=0;while(1){if((h|0)>=(d|0))break;a=(H(e[c>>1]|0,g)|0)+i>>f;b[c>>1]=a>>>0<1024?a:0-a>>31&1023;a=c+2|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;c=c+(j<<1)|0;h=h+1|0}return}function _A(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a){b=zc(b)|0;return b|0}if(b>>>0>4294967231){b=j2()|0;c[b>>2]=12;b=0;return b|0}d=lg(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(d|0){b=d+8|0;return b|0}d=zc(b)|0;if(!d){b=0;return b|0}e=c[a+-4>>2]|0;e=(e&-8)-((e&3|0)==0?8:4)|0;Mn(d|0,a|0,(e>>>0<b>>>0?e:b)|0)|0;Rd(a);b=d;return b|0}function $A(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=Mb;Mb=Mb+16|0;f=j;g=d+8|0;h=c[g>>2]|0;do if((a[h>>0]|0)==45){+U0(h,f);h=c[f>>2]|0;if(((h|0)!=(c[g>>2]|0)?(a[h>>0]|0)==100:0)?(a[h+1>>0]|0)==66:0){c[e>>2]=0;b=Kd(b,d)|0;break}i=7}else i=7;while(0);if((i|0)==7)b=fQ(b,d,e)|0;Mb=j;return b|0}function aB(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0.0,j=0.0,k=0.0,l=0.0;h=a+(e<<2)|0;g=d+(e<<2)|0;b=b+(e<<2)|0;d=0-e|0;a=e;while(1){a=a+-1|0;if((d|0)>=0)break;l=+f[b+(d<<2)>>2];j=+f[c+(a<<2)>>2];k=+f[g+(d<<2)>>2];i=+f[g+(a<<2)>>2];f[h+(d<<2)>>2]=l*i-j*k;f[h+(a<<2)>>2]=l*k+j*i;d=d+1|0}return}function bB(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=c>>1;i=(h<<f+1)+((f|0)==0?0:1<<f+-1)|0;c=a;h=0;while(1){if((h|0)>=(d|0))break;a=(H(e[c>>1]|0,g)|0)+i>>f;b[c>>1]=a>>>0<512?a:0-a>>31&511;a=c+2|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;c=c+(j<<1)|0;h=h+1|0}return}function cB(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;h=c[(c[a+64>>2]|0)+20>>2]|0;if((c[a+808>>2]&2|0)!=0?(c[a+800>>2]|0)>=2:0)if((f|0)<1)a=0;else{c[h+24>>2]=g;c[h+16>>2]=d;c[h+4>>2]=b;c[h+20>>2]=e;Wq(c[h>>2]|0,f,(c[h+12>>2]|0)!=0&1);a=0}else a=PJ(a,b,d,e,f,g)|0;return a|0}function dB(b,c){b=b|0;c=c|0;var e=0,f=0;f=(d[c+1>>0]|0)<<16|(d[c>>0]|0)<<24|(d[c+2>>0]|0)<<8|(d[c+3>>0]|0);e=b+3|0;c=a[e>>0]|0;b=(d[b+1>>0]|0)<<16|(d[b>>0]|0)<<24|(d[b+2>>0]|0)<<8|c&255;c=c<<24>>24==0;if(!((b|0)==(f|0)|c))do{e=e+1|0;c=a[e>>0]|0;b=b<<8|c&255;c=c<<24>>24==0}while(!((b|0)==(f|0)|c));return (c?0:e+-3|0)|0}function eB(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=b+20|0;e=b+28|0;if((c[d>>2]|0)>>>0>(c[e>>2]|0)>>>0)Yb[c[b+36>>2]&15](b,0,0)|0;c[b+16>>2]=0;c[e>>2]=0;c[d>>2]=0;d=c[b>>2]|0;if(!(d&4)){e=(c[b+44>>2]|0)+(c[b+48>>2]|0)|0;c[b+8>>2]=e;c[b+4>>2]=e;d=d<<27>>31}else{c[b>>2]=d|32;d=-1}return d|0}function fB(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;g=4-b|0;e=0;f=0;h=0;while(1){if((e|0)==4)break;j=f+(d[a+(e-b)>>0]|0)|0;i=h+(d[a+(g+e)>>0]|0)|0;e=e+1|0;f=j;h=i}g=H((f+2|0)>>>2,16843009)|0;f=H((h+2|0)>>>2,16843009)|0;e=0;while(1){if((e|0)==16)break;j=a+(H(e,b)|0)|0;c[j>>2]=g;c[j+4>>2]=f;e=e+1|0}return}function gB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;XE(a);d=0;while(1){if((d|0)>=(b|0))break;e=c[a>>2]|0;f=e+(d*352|0)+300|0;if(c[f>>2]|0){g=e+(d*352|0)+184|0;d2(g)|0;h=e+(d*352|0)+108|0;while(1){if(!(c[f>>2]|0))break;yb(h|0,g|0)|0}d2(g)|0}c[e+(d*352|0)+292>>2]=0;d=d+1|0}dR(a);return}function hB(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0;g=c[e>>2]|0;if((g|0?c[g+248>>2]|0:0)?(h=e+66|0,g=(f^255)&(d[h>>0]|0)&255,a[h>>0]=g,g<<24>>24==0):0){Ws(c[b+4>>2]|0,e+4|0);F$(e+44|0);c[e+20>>2]=0;F$(e+52|0);F$(e+48|0);c[e+28>>2]=0;c[e+24>>2]=0;c[e+40>>2]=0;F$(e+56|0);c[e+60>>2]=0}return}function iB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=Mb;Mb=Mb+16|0;d=f;e=c[a+64>>2]|0;if(c[b+248>>2]|0){c[d>>2]=171011;c[d+4>>2]=171026;c[d+8>>2]=633;AD(0,0,222515,d);ba()}d=c[(c[a+12>>2]|0)+104>>2]|0;if(!d)d=FT(a,b)|0;else d=Xb[d&15](a,b)|0;if((d|0)==-541478725)c[e+80>>2]=1;Mb=f;return d|0}function jB(a){a=a|0;var b=0,d=0,e=0;if(a|0){RQ(a);b=0;while(1){if((b|0)==8)break;F$(a+248+(b<<2)|0);b=b+1|0}d=a+284|0;e=a+280|0;b=0;while(1){if((b|0)>=(c[d>>2]|0))break;F$((c[e>>2]|0)+(b<<2)|0);b=b+1|0}bU(e);pJ(a+344|0);F$(a+372|0);F$(a+376|0);F$(a+380|0);Pv(a)}return}function kB(c,f,g){c=c|0;f=f|0;g=g|0;var h=0,i=0,j=0;i=f;h=0;while(1){if((h|0)==4)break;j=(e[i>>1]|0)+(d[c+-1>>0]|0)|0;a[c>>0]=j;j=j+(e[i+2>>1]|0)|0;a[c+1>>0]=j;j=j+(e[i+4>>1]|0)|0;a[c+2>>0]=j;a[c+3>>0]=j+(e[i+6>>1]|0);i=i+8|0;c=c+g|0;h=h+1|0}c=f+32|0;do{b[f>>1]=0;f=f+2|0}while((f|0)<(c|0));return}function lB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=f2(a)|0;d=(b|0)==0;a=0;b=1112420;while(1){b=c[b>>2]|0;if(!b)break;if(d){if(cW(b)|0)f=6}else if(xU(b)|0)f=6;if((f|0)==6){f=0;if((c[b+12>>2]|0)==(e|0))if(a|0?1:(c[b+16>>2]&512|0)==0){a=b;break}else a=b}b=b+56|0}return a|0}function mB(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;i=Mb;Mb=Mb+48|0;h=i+32|0;g=i+24|0;f=i+16|0;e=i;c[e>>2]=d;if(!(b&64))e=0;else{j=(c[e>>2]|0)+(4-1)&~(4-1);d=c[j>>2]|0;c[e>>2]=j+4;e=d}c[f>>2]=e;e=lz(a,b|524288,f)|0;if((e|0)!=-1?(c[g>>2]=1,(pi(e,2,g)|0)==-1):0)AD(0,48,217889,h);Mb=i;return e|0}function nB(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0;if(!e)f=0;else{f=a[b>>0]|0;a:do if(!(f<<24>>24))f=0;else while(1){e=e+-1|0;g=a[c>>0]|0;if(!(f<<24>>24==g<<24>>24&((e|0)!=0&g<<24>>24!=0)))break a;b=b+1|0;c=c+1|0;f=a[b>>0]|0;if(!(f<<24>>24)){f=0;break}}while(0);f=(f&255)-(d[c>>0]|0)|0}return f|0}function oB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=Mb;Mb=Mb+16|0;f=g;do if((c[(c[a>>2]|0)+48>>2]|0)==28)if(!(c[a+788>>2]|0)){c[f>>2]=204466;c[f+4>>2]=204436;c[f+8>>2]=48;AD(0,0,222515,f);ba()}else{c[b>>2]=4;e=c[a+556>>2]<<2;break}else{c[b>>2]=2;e=c[a+568>>2]|0}while(0);c[d>>2]=e;Mb=g;return}function pB(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=0;while(1){if((g|0)>=(f|0))break;h=b0(c[a>>2]|0,d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24)|0;c[a>>2]=h;h=a+4|0;i=b+4|0;i=b0(c[h>>2]|0,d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24)|0;c[h>>2]=i;g=g+1|0;a=a+e|0;b=b+e|0}return}function qB(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=Mb;Mb=Mb+32|0;h=g+8|0;f=g;c[h>>2]=c[a+60>>2];c[h+4>>2]=d;c[h+8>>2]=b;c[h+12>>2]=f;c[h+16>>2]=e;if((SX(P(140,h|0)|0)|0)<0){a=f;c[a>>2]=-1;c[a+4>>2]=-1;a=-1;b=-1}else{b=f;a=c[b+4>>2]|0;b=c[b>>2]|0}L(a|0);Mb=g;return b|0}function rB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;PL(b)|0;d=(mT(b)|0)==0;c[a>>2]=d&1;if(d){f=HG(b,7)|0;d=a+4|0;c[d>>2]=f;f=mT(b)|0;e=a+12|0;c[e>>2]=f;f=HG(b,6)|0;c[a+8>>2]=f;eW(b,6);if((c[e>>2]|0)==0?(c[d>>2]|0)!=5:0)eW(b,16);eW(b,8);s1(b)}s1(b);return}function sB(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0;g=a+16|0;c[a+12>>2]=b;c[a+20>>2]=b+e;h=b+1|0;c[g>>2]=h;f=(d[b>>0]|0)<<18;c[a>>2]=f;e=b+2|0;c[g>>2]=e;f=(d[h>>0]|0)<<10|f;c[a>>2]=f;if(!(e&1))e=512;else{c[g>>2]=b+3;e=(d[e>>0]|0)<<2|2}h=e|f;c[a>>2]=h;c[a+4>>2]=510;return ((h|0)>66846720?-1094995529:0)|0}function tB(a){a=+a;var b=0.0,d=0,e=0.0;g[h>>3]=a;d=c[h+4>>2]|0;e=(d|0)<0?-.5:.5;d=d&2147483647;c[h>>2]=c[h>>2];c[h+4>>2]=d;b=+g[h>>3];do if(d>>>0<1082535490){b=+mi(b);if(d>>>0>=1072693248){a=e*(b+b/(b+1.0));break}if(d>>>0>=1045430272)a=e*(b*2.0-b*b/(b+1.0))}else a=e*2.0*+L_(b);while(0);return +a}function uB(c,e,f,g,h,i,j,k,l){c=c|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;k=h;m=0;j=c;while(1){if((m|0)>=(i|0))break;h=0;while(1){if((h|0)>=(l|0))break;c=(b[k+(h<<1)>>1]|0)+64+(d[f+h>>0]<<6)>>7;a[j+h>>0]=c>>>0>255?0-c>>31:c;h=h+1|0}k=k+128|0;m=m+1|0;j=j+e|0;f=f+g|0}return}function vB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=b+-1|0;d=(e|0)<2?e:2;a=a+136|0;b=0;while(1){if((b|0)>=(d|0))break;f=c[a>>2]|0;if(!(LA(f+224|0,f+(b+27)|0)|0))break;b=b+1|0}a:do if((b|0)==2){b=2;while(1){if((b|0)>=(e|0))break a;if(!(MP((c[a>>2]|0)+224|0)|0))break a;b=b+1|0}}while(0);return b|0}function wB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=Mb;Mb=Mb+16|0;e=f;c[e>>2]=1-(((b|0)!=0&1)<<1);c[e+4>>2]=1-(((d|0)!=0&1)<<1);c[e+8>>2]=1;a:do if(d|b|0){b=0;while(1){if((b|0)==9)break a;d=a+(b<<2)|0;g=H(c[d>>2]|0,c[e+(((b>>>0)%3|0)<<2)>>2]|0)|0;c[d>>2]=g;b=b+1|0}}while(0);Mb=f;return}function xB(a){a=a|0;var b=0,d=0,e=0,f=0;f=Mb;Mb=Mb+48|0;e=f+32|0;d=f;if(!(PF(a,216998)|0))b=215317;else{b=(PF(a,217004)|0)==0;b=b?215307:a}a=YK(b)|0;if((a|0)==-1){c[e>>2]=b;c[e+4>>2]=217015;pU(d,32,217010,e)|0;a=YK(d)|0;if((a|0)==-1){e=(PF(b,217018)|0)==0;Mb=f;return (e?53:-1)|0}}Mb=f;return a|0}function yB(a){a=a|0;var b=0,d=0;d=Mb;Mb=Mb+16|0;b=d;do if((c[a+112>>2]&1|0)==0?(c[a+76>>2]|0)!=0:0){if(!(c[278104]|0)){c[b>>2]=195927;c[b+4>>2]=193976;c[b+8>>2]=2023;AD(0,0,222515,b);ba()}c[278104]=0;c_(-1)|0;if(10?fv(1112428,2)|0:0){a=-1;break}a=0}else a=0;while(0);Mb=d;return a|0}function zB(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;a:do if(!c)b=0;else{h=b;while(1){g=c>>>1;b=h+(H(g,d)|0)|0;f=Xb[e&15](a,b)|0;if(!f)break a;if((c|0)==1){b=0;break a}f=(f|0)<0;c=f?g:c-g|0;if(!c){b=0;break}else h=f?h:b}}while(0);return b|0}function AB(a,d){a=a|0;d=d|0;var e=0,f=0;e=0;while(1){f=(HG(d,16)|0)&65535;if((e|0)==3)break;b[a+4+(e<<2)>>1]=f;f=(HG(d,16)|0)&65535;b[a+4+(e<<2)+2>>1]=f;e=e+1|0}b[a+16>>1]=f;f=(HG(d,16)|0)&65535;b[a+18>>1]=f;f=rO(d,32)|0;c[a+20>>2]=f;f=rO(d,32)|0;c[a+24>>2]=f;c[a>>2]=2;return}function BB(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;h=0;while(1){if((h|0)==2)break;i=b+(H(h,g)|0)|0;j=e+(h<<2)|0;j=AQ(d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24,0,d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24,0)|0;M()|0;i=a+(H(h,f)|0)|0;c[i>>2]=j;h=h+1|0}return}function CB(c,d,e,f,g,h){c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0;a:do if(!e){i=0;e=c;while(1){if((i|0)>=(f|0))break a;a[e>>0]=a[d>>0]|0;i=i+1|0;e=e+g|0;d=d+h|0}}else{i=0;e=c;while(1){if((i|0)>=(f|0))break a;b[e>>1]=b[d>>1]|0;i=i+1|0;e=e+g|0;d=d+h|0}}while(0);return}function DB(a){a=+a;var b=0;g[h>>3]=a;b=c[h+4>>2]&2147483647;c[h>>2]=c[h>>2];c[h+4>>2]=b;a=+g[h>>3];do if(b>>>0<1072049730)if(b>>>0<1045430272)a=1.0;else{a=+mi(a);a=a*a/((a+1.0)*2.0)+1.0}else if(b>>>0<1082535490){a=+E(+a);a=(a+1.0/a)*.5;break}else{a=+L_(a);break}while(0);return +a}function EB(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|0){a=22;return a|0}if((-64-b|0)>>>0<d>>>0){a=12;return a|0}else{b=To(b>>>0>16?b:16,d)|0;break}}else b=zc(d)|0;while(0);if(!b){a=12;return a|0}c[a>>2]=b;a=0;return a|0}function FB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;eC(a);Mn(a|0,b|0,136)|0;f=a+12|0;c[f>>2]=0;d=a+16|0;c[d>>2]=0;e=b+12|0;if(c[e>>2]|0){b=b+16|0;a=EZ((c[b>>2]|0)+32|0)|0;c[f>>2]=a;if(!a)a=-12;else{f=c[b>>2]|0;Mn(a|0,c[e>>2]|0,f|0)|0;c[d>>2]=f;a=0}}else a=0;return a|0}function GB(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;i=(h<<f)+((f|0)==0?0:1<<f+-1)|0;h=b;b=0;while(1){if((b|0)>=(e|0))break;j=(H(d[h>>0]|0,g)|0)+i>>f;a[h>>0]=j>>>0>255?0-j>>31:j;j=h+1|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?0-k>>31:k;h=h+c|0;b=b+1|0}return}function HB(b,d){b=b|0;d=d|0;var e=0;if(!b){b=c[278157]|0;if(!b)b=0;else e=3}else e=3;do if((e|0)==3){b=b+(Hr(b,d)|0)|0;if(!(a[b>>0]|0)){c[278157]=0;b=0;break}d=b+(Eu(b,d)|0)|0;c[278157]=d;if(!(a[d>>0]|0)){c[278157]=0;break}else{c[278157]=d+1;a[d>>0]=0;break}}while(0);return b|0}function IB(a,b,c){a=a|0;b=b|0;c=c|0;do if((c|0)>=7){if((HG(b,8)|0)==255){eW(b,8);c=c+-8|0}else c=c+-7|0;eW(b,8);eW(b,8);if((rO(b,32)|0)==1195456820){c=Xn(a+92|0,b,c)|0;break}else{fS(b,c<<3);c=0;break}}else c=-22;while(0);return c|0}function JB(a,b){a=a|0;b=b|0;var e=0.0,g=0,h=0,i=0,j=0.0;h=c[a+310120>>2]|0;g=0;while(1){if((g|0)==(h|0))break;a=d[b+31+g>>0]|0;if(((d[b+36+g>>0]|0)+a|0)==1)e=.6000000238418579;else e=+f[53280+(a<<2)>>2];a=b+14572+(g<<2)|0;j=+f[a>>2];i=e<j;e=e*(i?.75:.90625)+j*(i?.25:.09375);f[a>>2]=e<.015625?0.0:e;g=g+1|0}return}function KB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=c[d+4>>2]|0;if((e|0)>=1?(f=c[d>>2]|0,(f|0)>=0):0)if((f|0)==0|(f|0)==(e|0))a=0;else{g=(f|0)<(e|0);d=g?f:e;f=g?e:f;a=gg(g?a:b,0,d,((d|0)<0)<<31>>31,f,((f|0)<0)<<31>>31,0)|0;f=M()|0;a=(f|0)>0|(f|0)==0&a>>>0>0?0:-22}else a=-22;return a|0}function LB(b,c){b=b|0;c=c|0;var e=0,f=0;f=(d[c>>0]|0)<<8|(d[c+1>>0]|0);c=b+1|0;e=a[c>>0]|0;a:do if(!(e<<24>>24))c=0;else{e=(d[b>>0]|0)<<8|e&255;while(1){b=e&65535;if((b|0)==(f|0))break;c=c+1|0;e=a[c>>0]|0;if(!(e<<24>>24)){c=0;break a}else e=b<<8|e&255}c=c+-1|0}while(0);return c|0}function MB(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[d>>2]|0;g=c[e+4>>2]|0;h=MR(g|0,((g|0)<0)<<31>>31|0,h|0,((h|0)<0)<<31>>31|0)|0;g=M()|0;e=c[e>>2]|0;d=c[d+4>>2]|0;e=MR(d|0,((d|0)<0)<<31>>31|0,e|0,((e|0)<0)<<31>>31|0)|0;f=gg(a,b,h,g,e,M()|0,f)|0;L(M()|0);return f|0}function NB(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=a+64|0;d=c[(c[b>>2]|0)+20>>2]|0;Av(d);e=d+36|0;f=d+44|0;g=d+40|0;a=0;while(1){if((a|0)>=(c[e>>2]|0))break;d2((c[f>>2]|0)+(a*28|0)|0)|0;vb((c[g>>2]|0)+(a*48|0)|0)|0;a=a+1|0}bU(d+28|0);bU(f);bU(g);bU((c[b>>2]|0)+20|0);return}function OB(b,c){b=b|0;c=c|0;var e=0,f=0;f=(d[c+1>>0]|0)<<16|(d[c>>0]|0)<<24|(d[c+2>>0]|0)<<8;e=b+2|0;c=a[e>>0]|0;b=(d[b+1>>0]|0)<<16|(d[b>>0]|0)<<24|(c&255)<<8;c=c<<24>>24==0;if(!((b|0)==(f|0)|c))do{e=e+1|0;c=a[e>>0]|0;b=(b|c&255)<<8;c=c<<24>>24==0}while(!((b|0)==(f|0)|c));return (c?0:e+-2|0)|0}function PB(a,b){a=a|0;b=b|0;var d=0;do if((c[a+80>>2]|0)>=0){if((c[a+68>>2]|0)>0?(c[a+72>>2]|0)>0:0){a=lk(a,b)|0;break}if((c[a+76>>2]|0)>0){d=a+240|0;if((c[d>>2]|0)==0&(c[d+4>>2]|0)==0?(c[a+352>>2]|0)<=0:0){a=-22;break}a=fl(a,b)|0}else a=-22}else a=-22;while(0);return a|0}function QB(b){b=b|0;var c=0,d=0,f=0;c=a[b+4>>0]|0;if(!(c<<24>>24))c=0;else{f=c&255;d=0;c=0;do{c=c+4+(e[b+8+(d<<3)>>1]|0)|0;d=d+1|0}while(d>>>0<f>>>0)}d=a[b+5>>0]|0;if(d<<24>>24){f=d&255;d=0;do{c=c+4+(e[b+264+(d<<3)>>1]|0)|0;d=d+1|0}while(d>>>0<f>>>0)}return c|0}function RB(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[b>>2]|0;c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];d=a+12|0;e=(c[b>>2]|0)+32|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[a+24>>2]=c[b+640>>2];c[a+28>>2]=c[b+84>>2];c[a+32>>2]=c[b+96>>2];c[a+36>>2]=b;return}function SB(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;h=0;while(1){if((h|0)==4)break;i=b+(H(h,g)|0)|0;j=e+(h<<2)|0;j=b0(d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24,d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24)|0;i=a+(H(h,f)|0)|0;c[i>>2]=j;h=h+1|0}return}function TB(a){a=a|0;var b=0,d=0;d=c[a+60>>2]|0;a=d+28588|0;b=a+72|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));qy(d);sQ(d+29660|0);a=0;while(1){if((a|0)==36)break;UC(d,d+696+(a*656|0)|0);a=a+1|0}c[d+24312>>2]=0;UC(d,d+24316|0);c[d+26988>>2]=0;Bs(d);c[d+25680>>2]=0;return}function UB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=b>>1;f=a+(0-g<<1)|0;d=f;h=c[d>>2]|0;d=c[d+4>>2]|0;f=f+8|0;e=c[f>>2]|0;f=c[f+4>>2]|0;b=0;while(1){if((b|0)==16)break;i=a+((H(b,g)|0)<<1)|0;j=i;c[j>>2]=h;c[j+4>>2]=d;i=i+8|0;c[i>>2]=e;c[i+4>>2]=f;b=b+1|0}return}function VB(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;e=c[d+(e<<2)>>2]|0;g=((e|0)<0)<<31>>31;d=0;while(1){if((d|0)>=(f|0))break;h=c[b+(d<<2)>>2]|0;h=MR(h|0,((h|0)<0)<<31>>31|0,e|0,g|0)|0;h=aX(h|0,M()|0,16384,0)|0;h=kV(h|0,M()|0,15)|0;M()|0;c[a+(d<<2)>>2]=h;d=d+1|0}return}function WB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=b>>1;f=a+(0-g<<1)|0;d=f;h=c[d>>2]|0;d=c[d+4>>2]|0;f=f+8|0;e=c[f>>2]|0;f=c[f+4>>2]|0;b=0;while(1){if((b|0)==8)break;i=a+((H(b,g)|0)<<1)|0;j=i;c[j>>2]=h;c[j+4>>2]=d;i=i+8|0;c[i>>2]=e;c[i+4>>2]=f;b=b+1|0}return}function XB(a,d,e,f,g,h,i){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0;j=c[f+(g<<2)>>2]|0;f=c[f+(h<<2)>>2]|0;g=0;while(1){if((g|0)>=(i|0))break;k=H(j,b[d+(g<<1)>>1]|0)|0;k=k+16384+(H(f,b[e+(g<<1)>>1]|0)|0)|0;h=k>>15;b[a+(g<<1)>>1]=(h+32768|0)>>>0>65535?k>>31^32767:h;g=g+1|0}return}function YB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+(b<<2)|0;d=c[f>>2]|0;a:do if(d|0){e=a+1216|0;if((c[e>>2]|0)==(c[d+4>>2]|0))c[e>>2]=0;d=0;while(1){if((d|0)==32)break a;e=c[a+64+(d<<2)>>2]|0;if(e|0?(c[c[e+4>>2]>>2]|0)==(b|0):0)Xw(a,d);d=d+1|0}}while(0);F$(f);return}function ZB(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;a:do if(d|0)switch(e|0){case -2:{a[d>>0]=f;break a}case -1:{b[d>>1]=f;break a}case 0:{c[d>>2]=f;break a}case 1:{c[d>>2]=f;break a}case 3:{e=d;c[e>>2]=f;c[e+4>>2]=g;break a}default:break a}while(0);return}function _B(b){b=b|0;var d=0,e=0,f=0,g=0;f=c[41853]|0;if((c[f+76>>2]|0)>-1)g=h2(f)|0;else g=0;do if((GY(b,f)|0)<0)b=-1;else{if((a[f+75>>0]|0)!=10?(d=f+20|0,e=c[d>>2]|0,e>>>0<(c[f+16>>2]|0)>>>0):0){c[d>>2]=e+1;a[e>>0]=10;b=0;break}b=(Qx(f,10)|0)>>31}while(0);if(g|0)g2(f);return b|0}function $B(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=a+88|0;if(!(c[e>>2]|0))a=-1;else{g=a+80|0;c[g>>2]=b;f=a+84|0;c[f>>2]=d;a=a+76|0;sa(c[a>>2]|0,b|0,d|0)|0;ta(c[a>>2]|0,+(+(b>>>0)),+(+(d>>>0)))|0;nW(c[e>>2]|0,c[g>>2]|0,c[f>>2]|0)|0;a=0}return a|0}function aC(a,b,c,e,f){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0;h=1;a=0;while(1){if((h|0)>=(f|0))break;g=0;while(1){if((g|0)==16)break;i=g+e|0;i=(d[b+g>>0]|0)-(d[c+g>>0]|0)-(d[b+i>>0]|0)+(d[c+i>>0]|0)|0;g=g+1|0;a=((i|0)>-1?i:0-i|0)+a|0}h=h+1|0;b=b+e|0;c=c+e|0}return a|0}function bC(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;c=c+7|0;if(c>>>0>4095|f>>>0<7)c=-1;else{a[e>>0]=-1;a[e+1>>0]=-15;f=b+2|0;a[e+2>>0]=((d[b>>0]|0)<<6)+192|a[b+1>>0]<<2&60|(d[f>>0]|0)>>>2&1;a[e+3>>0]=c>>>11&3|a[f>>0]<<6&255;a[e+4>>0]=c>>>3;a[e+5>>0]=c<<5|31;a[e+6>>0]=c>>>10|252;c=7}return c|0}function cC(a,b,c,e,f){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0;h=1;a=0;while(1){if((h|0)>=(f|0))break;g=0;while(1){if((g|0)==8)break;i=g+e|0;i=(d[b+g>>0]|0)-(d[c+g>>0]|0)-(d[b+i>>0]|0)+(d[c+i>>0]|0)|0;g=g+1|0;a=((i|0)>-1?i:0-i|0)+a|0}h=h+1|0;b=b+e|0;c=c+e|0}return a|0}function dC(a){a=a|0;var b=0,d=0,e=0,f=0;e=c[a+60>>2]|0;a=3;while(1){if((a|0)<=-1)break;d=0;while(1){if((d|0)==16)break;f=c[e+492+(a<<6)+(d<<2)>>2]|0;a:do if(f|0){b=0;while(1){if((b|0)==2)break a;jv(f+288+(b*74208|0)+17856|0,0,6144)|0;b=b+1|0}}while(0);d=d+1|0}a=a+-1|0}return}function eC(a){a=a|0;var b=0,d=0;bU(a+12|0);b=a+8|0;d=b+128|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));c[a>>2]=-1;c[a+4>>2]=0;c[a+20>>2]=-1;c[a+64>>2]=0;c[a+68>>2]=0;c[a+72>>2]=2;c[a+76>>2]=2;c[a+80>>2]=2;c[a+84>>2]=0;c[a+56>>2]=0;c[a+60>>2]=1;c[a+40>>2]=-99;c[a+44>>2]=-99;return}function fC(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;g=c[(c[a+64>>2]|0)+20>>2]|0;e=c[g+4>>2]|0;if(!e)f=Zb[c[g+8>>2]&7](a,c[g+16>>2]|0,b,d)|0;else{f=(c[g+16>>2]|0)+(H(c[g+24>>2]|0,b)|0)|0;f=Xb[e&15](a,f)|0}e=c[g+20>>2]|0;if(e|0)c[e+(b<<2)>>2]=f;return}
|
|
function _l(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=Mb;Mb=Mb+16|0;f=j;e=a+64|0;i=c[(c[e>>2]|0)+20>>2]|0;c[b+8>>2]=a;c[b+4>>2]=a;Sf(a,c[b>>2]|0)|0;a:do if(!(c[a+808>>2]&1))e=rQ(a,c[b>>2]|0,d)|0;else{h=i+300|0;do if((c[h>>2]|0)!=1){if(!(c[(c[a+12>>2]|0)+64>>2]|0)){if(c[a+812>>2]|0)break;if((c[a+472>>2]|0)==11)break}AD(a,16,193729,f);e=-1;break a}while(0);if(c[(c[e>>2]|0)+4>>2]|0){e=mP(8)|0;c[b+12>>2]=e;if(!e){e=-12;break}g=c[e+4>>2]|0;c[g>>2]=-1;c[g+4>>2]=-1}d2((c[i>>2]|0)+8|0)|0;g=a+812|0;if((c[g>>2]|0)==0?(c[a+472>>2]|0)!=11:0){f=i+184|0;d2(f)|0;c[i+316>>2]=c[b>>2];c[i+320>>2]=d;c[h>>2]=2;e=i+60|0;d2(e|0)|0;while(1){if((c[h>>2]|0)==1)break;yb(e|0,f|0)|0}e=c[i+296>>2]|0;d2(f)|0}else e=rQ(a,c[b>>2]|0,d)|0;if(((c[g>>2]|0)==0?(c[a+472>>2]|0)!=11:0)?(c[(c[a+12>>2]|0)+64>>2]|0)==0:0)ew(a);if(e|0)F$(b+12|0);d2((c[i>>2]|0)+8|0)|0}while(0);Mb=j;return e|0}function $l(a,c){a=a|0;c=c|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=c>>1;i=0-q|0;j=a+6+(i<<1)|0;f=a+(q<<2<<1)+-2|0;d=f+(0-(c&-2)<<1)|0;p=a+((q*14|0)+-2)|0;o=a+((c+-2&-2)-(c>>>1<<2))|0;h=(e[f>>1]|0)-(e[d>>1]|0)|0;c=(e[j+2>>1]|0)-(e[j+-2>>1]|0)|0;g=2;while(1){if((g|0)==5)break;n=f+(q<<1)|0;m=d+(i<<1)|0;l=(H((e[j+(g<<1)>>1]|0)-(e[j+(0-g<<1)>>1]|0)|0,g)|0)+c|0;h=(H((e[n>>1]|0)-(e[m>>1]|0)|0,g)|0)+h|0;c=l;d=m;f=n;g=g+1|0}n=(c*17|0)+16>>5;g=(h*17|0)+16>>5;h=n<<1;i=n*3|0;j=n<<2;k=n*5|0;l=n*6|0;m=n*7|0;f=8;d=(H(g+n|0,-3)|0)+16+((e[o+16>>1]|0)+(e[p>>1]|0)<<4)|0;c=a;while(1){if(!f)break;a=d>>5;b[c>>1]=a>>>0<512?a:0-a>>31&511;a=d+n>>5;b[c+2>>1]=a>>>0<512?a:0-a>>31&511;a=d+h>>5;b[c+4>>1]=a>>>0<512?a:0-a>>31&511;a=d+i>>5;b[c+6>>1]=a>>>0<512?a:0-a>>31&511;a=d+j>>5;b[c+8>>1]=a>>>0<512?a:0-a>>31&511;a=d+k>>5;b[c+10>>1]=a>>>0<512?a:0-a>>31&511;a=d+l>>5;b[c+12>>1]=a>>>0<512?a:0-a>>31&511;a=d+m>>5;b[c+14>>1]=a>>>0<512?a:0-a>>31&511;f=f+-1|0;d=d+g|0;c=c+(q<<1)|0}return}function am(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=d>>1;k=(j<<4|1)<<g;g=g+1|0;d=a;j=0;while(1){if((j|0)>=(f|0))break;m=H(e[c>>1]|0,i)|0;m=m+k+(H(e[d>>1]|0,h)|0)>>g;b[d>>1]=m>>>0<4096?m:0-m>>31&4095;m=H(e[c+2>>1]|0,i)|0;a=d+2|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<4096?m:0-m>>31&4095;a=H(e[c+4>>1]|0,i)|0;m=d+4|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<4096?a:0-a>>31&4095;m=H(e[c+6>>1]|0,i)|0;a=d+6|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<4096?m:0-m>>31&4095;a=H(e[c+8>>1]|0,i)|0;m=d+8|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<4096?a:0-a>>31&4095;m=H(e[c+10>>1]|0,i)|0;a=d+10|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<4096?m:0-m>>31&4095;a=H(e[c+12>>1]|0,i)|0;m=d+12|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<4096?a:0-a>>31&4095;m=H(e[c+14>>1]|0,i)|0;a=d+14|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<4096?m:0-m>>31&4095;c=c+(l<<1)|0;d=d+(l<<1)|0;j=j+1|0}return}function bm(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=d>>1;k=(j<<2|1)<<g;g=g+1|0;d=a;j=0;while(1){if((j|0)>=(f|0))break;m=H(e[c>>1]|0,i)|0;m=m+k+(H(e[d>>1]|0,h)|0)>>g;b[d>>1]=m>>>0<1024?m:0-m>>31&1023;m=H(e[c+2>>1]|0,i)|0;a=d+2|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<1024?m:0-m>>31&1023;a=H(e[c+4>>1]|0,i)|0;m=d+4|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<1024?a:0-a>>31&1023;m=H(e[c+6>>1]|0,i)|0;a=d+6|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<1024?m:0-m>>31&1023;a=H(e[c+8>>1]|0,i)|0;m=d+8|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<1024?a:0-a>>31&1023;m=H(e[c+10>>1]|0,i)|0;a=d+10|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<1024?m:0-m>>31&1023;a=H(e[c+12>>1]|0,i)|0;m=d+12|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<1024?a:0-a>>31&1023;m=H(e[c+14>>1]|0,i)|0;a=d+14|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<1024?m:0-m>>31&1023;c=c+(l<<1)|0;d=d+(l<<1)|0;j=j+1|0}return}function cm(a,b,d,e,h){a=a|0;b=b|0;d=d|0;e=e|0;h=h|0;var i=0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0,u=0.0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0.0;y=a+156|0;z=c[y>>2]|0;A=c[a+144>>2]|0;q=c[d+260>>2]|0;r=a+132|0;s=+f[a+152>>2];t=A+-2|0;u=+f[a+148>>2];v=((t|0)>0?t:0)+3&-4;w=(v|0)<(A|0);x=a+160+(v<<2)|0;i=z;p=0;while(1){if((p|0)>=(q|0))break;m=(c[e+(p<<2)>>2]|0)+(c[r>>2]<<2)|0;n=c[d+(p<<2)>>2]|0;o=c[b+(p<<2)>>2]|0;l=0;i=z;while(1){if((l|0)>=(h|0))break;j=+g[n+(l<<3)>>3]*s;k=0;while(1){if((k|0)>=(t|0))break;B=k+i|0;j=j-(+f[a+160+(k<<2)>>2]*+f[a+240+(p*160|0)+(B<<2)>>2]+ +f[a+160+((k|1)<<2)>>2]*+f[a+240+(p*160|0)+(B+1<<2)>>2]+ +f[a+160+((k|2)<<2)>>2]*+f[a+240+(p*160|0)+(B+2<<2)>>2]+ +f[a+160+((k|3)<<2)>>2]*+f[a+240+(p*160|0)+(B+3<<2)>>2]);k=k+4|0}if(w)j=j-+f[x>>2]*+f[a+240+(p*160|0)+(v+i<<2)>>2];B=((i|0)==0?A:i)+-1|0;C=+q0(+(j+ +f[m+(l<<2)>>2]));j=C-j;f[a+240+(p*160|0)+(B<<2)>>2]=j;f[a+240+(p*160|0)+(B+A<<2)>>2]=j;g[o+(l<<3)>>3]=C*u;l=l+1|0;i=B}p=p+1|0}c[y>>2]=i;return}function dm(a,b,d,e,g){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;var h=0,i=0.0,j=0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0,r=0,s=0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0.0;x=a+156|0;y=c[x>>2]|0;z=c[a+144>>2]|0;p=+f[a+152>>2];q=c[d+260>>2]|0;r=a+132|0;s=z+-2|0;t=+f[a+148>>2];u=((s|0)>0?s:0)+3&-4;v=(u|0)<(z|0);w=a+160+(u<<2)|0;h=y;o=0;while(1){if((o|0)>=(q|0))break;l=(c[e+(o<<2)>>2]|0)+(c[r>>2]<<2)|0;m=c[d+(o<<2)>>2]|0;n=c[b+(o<<2)>>2]|0;k=0;h=y;while(1){if((k|0)>=(g|0))break;i=p*+f[m+(k<<2)>>2];j=0;while(1){if((j|0)>=(s|0))break;A=j+h|0;i=i-(+f[a+160+(j<<2)>>2]*+f[a+240+(o*160|0)+(A<<2)>>2]+ +f[a+160+((j|1)<<2)>>2]*+f[a+240+(o*160|0)+(A+1<<2)>>2]+ +f[a+160+((j|2)<<2)>>2]*+f[a+240+(o*160|0)+(A+2<<2)>>2]+ +f[a+160+((j|3)<<2)>>2]*+f[a+240+(o*160|0)+(A+3<<2)>>2]);j=j+4|0}if(v)i=i-+f[w>>2]*+f[a+240+(o*160|0)+(u+h<<2)>>2];A=((h|0)==0?z:h)+-1|0;B=+q0(+(i+ +f[l+(k<<2)>>2]));i=B-i;f[a+240+(o*160|0)+(A<<2)>>2]=i;f[a+240+(o*160|0)+(A+z<<2)>>2]=i;f[n+(k<<2)>>2]=B*t;k=k+1|0;h=A}o=o+1|0}c[x>>2]=h;return}function em(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=Mb;Mb=Mb+32|0;g=h+16|0;e=h+8|0;d=h;c[a+20>>2]=0;b=du()|0;f=a+40|0;c[f>>2]=b;do if(b){kb(b|0);b=Za(c[f>>2]|0,168735)|0;d=a+52|0;c[d>>2]=b;EQ(168745)|0;if((c[d>>2]|0)==-1){c[e>>2]=168728;jV(168775,e)|0;break}e=Za(c[f>>2]|0,168810)|0;b=a+56|0;c[b>>2]=e;EQ(168824)|0;if((c[b>>2]|0)==-1){c[g>>2]=168728;jV(168858,g)|0;break}else{Gw(a);g=a+124|0;Xa(1,g|0);Ka(34962,c[g>>2]|0);Ma(34962,64,a+128|0,35044);lb(c[d>>2]|0,2,5126,0,16,0);EQ(168897)|0;Wa(c[d>>2]|0);EQ(168929)|0;lb(c[b>>2]|0,2,5126,0,16,8);EQ(168970)|0;Wa(c[b>>2]|0);EQ(169006)|0;g=db(c[f>>2]|0,169046)|0;EQ(169051)|0;jb(g|0,0);EQ(169072)|0;g=db(c[f>>2]|0,169089)|0;EQ(169094)|0;jb(g|0,1);EQ(169120)|0;g=db(c[f>>2]|0,169137)|0;EQ(169051)|0;jb(g|0,2);EQ(169142)|0;Oa(0.0,0.0,0.0,1.0);Na(16384);c[a+24>>2]=1;break}}else{c[d>>2]=168728;jV(168699,d)|0}while(0);Mb=h;return}function fm(e,f,g,h,i,j,k,l,m,n,o,p,q){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;u=c[e+136>>2]|0;t=c[e+1412>>2]|0;r=c[t+13428>>2]|0;v=c[t+13376>>2]>>r;s=c[t+13440>>2]|0;w=c[t+13380>>2]>>s;switch(c[e+2420>>2]|0){case 1:{B=(a[(c[e+1416>>2]|0)+37>>0]|0)!=0;break}case 0:{B=(a[(c[e+1416>>2]|0)+38>>0]|0)!=0;break}default:B=0}C=d[20400+m>>0]|0;E=b[o+(j<<2)>>1]|0;D=r+2|0;A=(1<<D)+-1&E;o=b[o+(j<<2)+2>>1]|0;j=s+2|0;x=(1<<j)+-1&o;z=A<<1-r;y=x<<1-s;s=(E>>D)+k|0;j=(o>>j)+l|0;r=H(j,i)|0;o=c[t+52>>2]|0;r=h+(r+(s<<o))|0;if(!((!((s|0)<1|(j|0)<2)?(s|0)<(-2-m+v|0):0)?(j|0)<(-2-n+w|0):0)){E=80<<o;D=1<<o;pc[c[e+7532>>2]&3](u+320|0,r+(0-(D+i))|0,E,i,m+3|0,n+3|0,s+-1|0,j+-1|0,v,w);r=E+D+(u+320)|0;i=E}j=(x|0)!=0&1;o=(A|0)!=0&1;if(B)qc[c[e+7020+(C<<4)+(j<<3)+(o<<2)>>2]&31](f,g,r,i,n,b[e+3110>>1]|0,p,q,z,y,m);else nc[c[e+6860+(C<<4)+(j<<3)+(o<<2)>>2]&63](f,g,r,i,n,z,y,m);return}function gm(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;s=Mb;Mb=Mb+32|0;p=s;r=1<<g;x=c[b+160>>2]|0;j=c[x+32>>2]|0;l=c[x+36>>2]|0;m=c[x+40>>2]|0;k=H(j,f)|0;n=b+1412|0;i=c[n>>2]|0;h=c[i+52>>2]|0;k=(c[x>>2]|0)+((e<<h)+k)|0;t=c[i+13440>>2]|0;o=H(f>>t,l)|0;u=c[i+13428>>2]|0;o=(c[x+4>>2]|0)+((e>>u<<h)+o)|0;v=c[i+13444>>2]|0;q=H(f>>v,m)|0;w=c[i+13432>>2]|0;q=(c[x+8>>2]|0)+((e>>w<<h)+q)|0;h=H(r<<g,d[i+13300>>0]|0)|0;t=(H(r>>w,r>>v)|0)+(H(r>>u,r>>t)|0)|0;h=(H(t,d[i+13301>>0]|0)|0)+h|0;i=dK((c[b+136>>2]|0)+224|0,h+7>>3)|0;if(!(a[b+3057>>0]|0))$e(b,e,f,g);e=gP(p,i,h)|0;if((e|0)>=0){f=b+5788|0;kc[c[f>>2]&127](k,j,r,r,p,d[(c[n>>2]|0)+13300>>0]|0);e=c[n>>2]|0;if(!(c[e+4>>2]|0))e=0;else{kc[c[f>>2]&127](o,l,r>>c[e+13428>>2],r>>c[e+13440>>2],p,d[e+13301>>0]|0);e=c[n>>2]|0;kc[c[f>>2]&127](q,m,r>>c[e+13432>>2],r>>c[e+13444>>2],p,d[e+13301>>0]|0);e=0}}Mb=s;return e|0}function hm(b,c,e,f){b=b|0;c=c|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;k=0-c|0;l=b+7+k|0;i=b+(c<<3)+-1|0;h=i+(0-(c<<1))|0;j=(c*15|0)+-1|0;m=~c;g=2;n=(d[i>>0]|0)-(d[h>>0]|0)|0;o=(d[l+1>>0]|0)-(d[l+-1>>0]|0)|0;while(1){if((g|0)==9)break;p=i+c|0;q=h+k|0;r=(H((d[l+g>>0]|0)-(d[l+(0-g)>>0]|0)|0,g)|0)+o|0;s=(H((d[p>>0]|0)-(d[q>>0]|0)|0,g)|0)+n|0;g=g+1|0;n=s;o=r;h=q;i=p}h=b+j|0;g=b+m|0;do if(!e)if(!f){f=(n*5|0)+32>>6;k=(o*5|0)+32>>6;break}else{f=(n>>2)+n>>4;k=(o>>2)+o>>4;break}else{f=(((o|0)/4|0)*5|0)/16|0;k=(((n|0)/4|0)*5|0)/16|0}while(0);l=k<<1;m=k*3|0;e=k<<2;i=(H(f+k|0,-7)|0)+16+((d[g+16>>0]|0)+(d[h>>0]|0)<<4)|0;j=16;while(1){if(!j)break;g=i;h=-16;while(1){if((h|0)>=0)break;s=g>>5;a[b+(h+16)>>0]=s>>>0>255?0-s>>31:s;s=g+k>>5;a[b+(h+17)>>0]=s>>>0>255?0-s>>31:s;s=g+l>>5;a[b+(h+18)>>0]=s>>>0>255?0-s>>31:s;s=g+m>>5;a[b+(h+19)>>0]=s>>>0>255?0-s>>31:s;g=g+e|0;h=h+4|0}i=i+f|0;j=j+-1|0;b=b+c|0}return}function im(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=Mb;Mb=Mb+32|0;p=q+16|0;o=q;n=g^3;m=(f|0)==0;l=0;f=0;h=0;while(1){if(!((h|0)<(e|0)|(f|0)<(e|0))){f=26;break}k=f;while(1){if((k|0)>=(e|0)){f=0;break}j=c[d+(k<<2)>>2]|0;if(j|0?c[j+640>>2]&g|0:0){f=1;break}k=k+1|0}while(1){if((h|0)>=(e|0)){j=0;break}j=c[d+(h<<2)>>2]|0;if(j|0?c[j+640>>2]&n|0:0){j=1;break}h=h+1|0}if(f){if((l|0)>=(b|0)){f=15;break}f=d+(k<<2)|0;if(m)i=c[(c[f>>2]|0)+88>>2]|0;else i=k;f=c[f>>2]|0;c[f+96>>2]=i;eS(a+(l*40|0)|0,f,g,1);f=l+1|0;k=k+1|0}else f=l;if(j){if((f|0)>=(b|0)){f=21;break}i=c[d+(h<<2)>>2]|0;if(m)j=c[i+88>>2]|0;else j=h;c[i+96>>2]=j;eS(a+(f*40|0)|0,i,n,0);f=f+1|0;h=h+1|0}l=f;f=k}if((f|0)==15){c[o>>2]=206565;c[o+4>>2]=206341;c[o+8>>2]=90;AD(0,0,222515,o);ba()}else if((f|0)==21){c[p>>2]=206565;c[p+4>>2]=206341;c[p+8>>2]=95;AD(0,0,222515,p);ba()}else if((f|0)==26){Mb=q;return l|0}return 0}function jm(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=d>>1;k=(j<<1|1)<<g;g=g+1|0;d=a;j=0;while(1){if((j|0)>=(f|0))break;m=H(e[c>>1]|0,i)|0;m=m+k+(H(e[d>>1]|0,h)|0)>>g;b[d>>1]=m>>>0<512?m:0-m>>31&511;m=H(e[c+2>>1]|0,i)|0;a=d+2|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<512?m:0-m>>31&511;a=H(e[c+4>>1]|0,i)|0;m=d+4|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<512?a:0-a>>31&511;m=H(e[c+6>>1]|0,i)|0;a=d+6|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<512?m:0-m>>31&511;a=H(e[c+8>>1]|0,i)|0;m=d+8|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<512?a:0-a>>31&511;m=H(e[c+10>>1]|0,i)|0;a=d+10|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<512?m:0-m>>31&511;a=H(e[c+12>>1]|0,i)|0;m=d+12|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<512?a:0-a>>31&511;m=H(e[c+14>>1]|0,i)|0;a=d+14|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<512?m:0-m>>31&511;c=c+(l<<1)|0;d=d+(l<<1)|0;j=j+1|0}return}function km(c,d,f,g,h,i,j){c=c|0;d=d|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;s=Mb;Mb=Mb+8576|0;r=s;q=f>>>1;p=h+-1|0;l=20672+(p<<2)|0;m=g+3|0;n=20672+(p<<2)+1|0;o=20672+(p<<2)+2|0;p=20672+(p<<2)+3|0;k=r;f=d+(0-q<<1)|0;h=0;while(1){if((h|0)>=(m|0))break;d=0;while(1){if((d|0)>=(j|0))break;u=H(e[f+(d+-1<<1)>>1]|0,a[l>>0]|0)|0;u=(H(e[f+(d<<1)>>1]|0,a[n>>0]|0)|0)+u|0;t=d+1|0;u=u+(H(e[f+(t<<1)>>1]|0,a[o>>0]|0)|0)|0;u=(u+(H(e[f+(d+2<<1)>>1]|0,a[p>>0]|0)|0)|0)>>>4&65535;b[k+(d<<1)>>1]=u;d=t}k=k+128|0;f=f+(q<<1)|0;h=h+1|0}n=i+-1|0;k=20672+(n<<2)|0;l=20672+(n<<2)+1|0;m=20672+(n<<2)+2|0;n=20672+(n<<2)+3|0;f=r+128|0;h=0;while(1){if((h|0)>=(g|0))break;d=0;while(1){if((d|0)>=(j|0))break;u=H(b[f+(d+-64<<1)>>1]|0,a[k>>0]|0)|0;u=(H(b[f+(d<<1)>>1]|0,a[l>>0]|0)|0)+u|0;u=u+(H(b[f+(d+64<<1)>>1]|0,a[m>>0]|0)|0)|0;u=(u+(H(b[f+(d+128<<1)>>1]|0,a[n>>0]|0)|0)|0)>>>6&65535;b[c+(d<<1)>>1]=u;d=d+1|0}c=c+128|0;f=f+128|0;h=h+1|0}Mb=s;return}function lm(c,d,f,g,h,i,j){c=c|0;d=d|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;s=Mb;Mb=Mb+8576|0;r=s;q=f>>>1;p=h+-1|0;l=20672+(p<<2)|0;m=g+3|0;n=20672+(p<<2)+1|0;o=20672+(p<<2)+2|0;p=20672+(p<<2)+3|0;k=r;f=d+(0-q<<1)|0;h=0;while(1){if((h|0)>=(m|0))break;d=0;while(1){if((d|0)>=(j|0))break;u=H(e[f+(d+-1<<1)>>1]|0,a[l>>0]|0)|0;u=(H(e[f+(d<<1)>>1]|0,a[n>>0]|0)|0)+u|0;t=d+1|0;u=u+(H(e[f+(t<<1)>>1]|0,a[o>>0]|0)|0)|0;u=(u+(H(e[f+(d+2<<1)>>1]|0,a[p>>0]|0)|0)|0)>>>2&65535;b[k+(d<<1)>>1]=u;d=t}k=k+128|0;f=f+(q<<1)|0;h=h+1|0}n=i+-1|0;k=20672+(n<<2)|0;l=20672+(n<<2)+1|0;m=20672+(n<<2)+2|0;n=20672+(n<<2)+3|0;f=r+128|0;h=0;while(1){if((h|0)>=(g|0))break;d=0;while(1){if((d|0)>=(j|0))break;u=H(b[f+(d+-64<<1)>>1]|0,a[k>>0]|0)|0;u=(H(b[f+(d<<1)>>1]|0,a[l>>0]|0)|0)+u|0;u=u+(H(b[f+(d+64<<1)>>1]|0,a[m>>0]|0)|0)|0;u=(u+(H(b[f+(d+128<<1)>>1]|0,a[n>>0]|0)|0)|0)>>>6&65535;b[c+(d<<1)>>1]=u;d=d+1|0}c=c+128|0;f=f+128|0;h=h+1|0}Mb=s;return}function mm(c,d,f,g,h,i,j){c=c|0;d=d|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;s=Mb;Mb=Mb+8576|0;r=s;q=f>>>1;p=h+-1|0;l=20672+(p<<2)|0;m=g+3|0;n=20672+(p<<2)+1|0;o=20672+(p<<2)+2|0;p=20672+(p<<2)+3|0;k=r;f=d+(0-q<<1)|0;h=0;while(1){if((h|0)>=(m|0))break;d=0;while(1){if((d|0)>=(j|0))break;u=H(e[f+(d+-1<<1)>>1]|0,a[l>>0]|0)|0;u=(H(e[f+(d<<1)>>1]|0,a[n>>0]|0)|0)+u|0;t=d+1|0;u=u+(H(e[f+(t<<1)>>1]|0,a[o>>0]|0)|0)|0;u=(u+(H(e[f+(d+2<<1)>>1]|0,a[p>>0]|0)|0)|0)>>>1&65535;b[k+(d<<1)>>1]=u;d=t}k=k+128|0;f=f+(q<<1)|0;h=h+1|0}n=i+-1|0;k=20672+(n<<2)|0;l=20672+(n<<2)+1|0;m=20672+(n<<2)+2|0;n=20672+(n<<2)+3|0;f=r+128|0;h=0;while(1){if((h|0)>=(g|0))break;d=0;while(1){if((d|0)>=(j|0))break;u=H(b[f+(d+-64<<1)>>1]|0,a[k>>0]|0)|0;u=(H(b[f+(d<<1)>>1]|0,a[l>>0]|0)|0)+u|0;u=u+(H(b[f+(d+64<<1)>>1]|0,a[m>>0]|0)|0)|0;u=(u+(H(b[f+(d+128<<1)>>1]|0,a[n>>0]|0)|0)|0)>>>6&65535;b[c+(d<<1)>>1]=u;d=d+1|0}c=c+128|0;f=f+128|0;h=h+1|0}Mb=s;return}function nm(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;o=Mb;Mb=Mb+320|0;g=o+16|0;f=o;m=o+32|0;if((b|0)>=0?(n=a+264|0,d=c[n>>2]|0,k=a+260|0,e=c[k>>2]|0,((1073741823/(d|0)|0|0)/(e|0)|0|0)>=(b|0)):0){l=a+268|0;if((c[l>>2]|0)<(b|0)){j=b<<1;i=(H(d,j)|0)+31&-32;Mn(m|0,a|0,280)|0;if(!d){c[f>>2]=218857;c[f+4>>2]=218528;c[f+8>>2]=407;AD(0,0,222515,f);ba()}if(!e){c[g>>2]=218864;c[g+4>>2]=218528;c[g+8>>2]=408;AD(0,0,222515,g);ba()}h=gW(i,e)|0;g=a+256|0;c[g>>2]=h;if(!h)b=-12;else{h=a+272|0;f=0;while(1){d=c[k>>2]|0;if((f|0)>=(d|0))break;e=(c[h>>2]|0)==0;if(e)b=c[n>>2]|0;else b=i;b=(c[g>>2]|0)+(H(b,f)|0)|0;c[a+(f<<2)>>2]=b;d=c[l>>2]|0;if(!(e|(d|0)==0))Mn(b|0,c[m+(f<<2)>>2]|0,H(c[n>>2]|0,d)|0)|0;f=f+1|0}b=c[l>>2]|0;if(b|0?(c[h>>2]|0)==0:0){k=H(b,d)|0;Mn(c[a>>2]|0,c[m>>2]|0,H(k,c[n>>2]|0)|0)|0}bU(m+256|0);c[l>>2]=j;b=1}}else b=0}else b=-22;Mb=o;return b|0}function om(a,b,e,f,g,h,i){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;j=0;while(1){if((j|0)>=(i|0))break;p=H(j,g)|0;s=b+p|0;t=s;s=s+4|0;m=H(j,h)|0;l=e+m|0;r=l;l=l+4|0;k=H(j,f)|0;q=a+k|0;o=q;n=c[o>>2]|0;o=c[o+4>>2]|0;l=AQ(d[t>>0]|d[t+1>>0]<<8|d[t+2>>0]<<16|d[t+3>>0]<<24,d[s>>0]|d[s+1>>0]<<8|d[s+2>>0]<<16|d[s+3>>0]<<24,d[r>>0]|d[r+1>>0]<<8|d[r+2>>0]<<16|d[r+3>>0]<<24,d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24)|0;l=AQ(n,o,l,M()|0)|0;o=M()|0;c[q>>2]=l;c[q+4>>2]=o;p=b+(p+8)|0;q=p;p=p+4|0;m=e+(m+8)|0;o=m;m=m+4|0;k=a+(k+8)|0;l=k;n=c[l>>2]|0;l=c[l+4>>2]|0;m=AQ(d[q>>0]|d[q+1>>0]<<8|d[q+2>>0]<<16|d[q+3>>0]<<24,d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24,d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24,d[m>>0]|d[m+1>>0]<<8|d[m+2>>0]<<16|d[m+3>>0]<<24)|0;m=AQ(n,l,m,M()|0)|0;l=M()|0;c[k>>2]=m;c[k+4>>2]=l;j=j+1|0}return}function pm(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;l=b;c[l+16>>2]=0;c[l+32>>2]=0;c[l+44>>2]=0;c[l+64>>2]=0;c[l+144>>2]=-1;c[l+148>>2]=-1;c[l+140>>2]=0;k=l+240|0;a[k>>0]=1;a[l+244>>0]=0;a[l+245>>0]=0;a[l+248>>0]=1;a[l+249>>0]=1;e=l+256|0;j=l+280|0;c[j>>2]=0;c[j+4>>2]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;e=l+272|0;c[e>>2]=5e6;c[e+4>>2]=0;e=l+288|0;j=e;if((c[j>>2]|0)==0&(c[j+4>>2]|0)==0){h=oJ()|0;i=M()|0;j=e;c[j>>2]=h;c[j+4>>2]=i}d=SY(d)|0;f=c[l+12>>2]|0;g=fW(167980)|0;h=Vx(g,124)|0;if(!h)a[k>>0]=0;else{e=0;while(1){i=c[h+(e<<2)>>2]|0;if(!i)break;if(!(gL(d,i)|0))j=(gL(f,i)|0)!=0;else j=1;a[k>>0]=j&1;Rd(i);if(!(a[k>>0]|0))e=e+1|0;else break}Rd(h)}Rd(g);e=l+241|0;do if(!(a[e>>0]|0))if(!(a[k>>0]|0)){_B(168543)|0;e=-2;break}else{Hw(c[l+96>>2]|0)|0;a[e>>0]=1;e=b;b=ua(24,30.0,e|0)|0;c[l+112>>2]=b;e=ua(25,1.0e3,e|0)|0;c[l+116>>2]=e;e=0;break}else e=-1;while(0);return e|0}function qm(c,e,f,g,h,i,j,k){c=c|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,r=0,s=0,t=0,u=0,v=0;t=Mb;Mb=Mb+8576|0;s=t;r=i+-1|0;n=20672+(r<<2)|0;o=h+3|0;p=20672+(r<<2)+1|0;q=20672+(r<<2)+2|0;r=20672+(r<<2)+3|0;l=0;m=s;f=f+(0-g)|0;while(1){if((l|0)>=(o|0))break;i=0;while(1){if((i|0)>=(k|0))break;v=H(d[f+(i+-1)>>0]|0,a[n>>0]|0)|0;v=(H(d[f+i>>0]|0,a[p>>0]|0)|0)+v|0;u=i+1|0;v=v+(H(d[f+u>>0]|0,a[q>>0]|0)|0)|0;v=v+(H(d[f+(i+2)>>0]|0,a[r>>0]|0)|0)&65535;b[m+(i<<1)>>1]=v;i=u}l=l+1|0;m=m+128|0;f=f+g|0}p=j+-1|0;m=20672+(p<<2)|0;n=20672+(p<<2)+1|0;o=20672+(p<<2)+2|0;p=20672+(p<<2)+3|0;l=0;f=s+128|0;while(1){if((l|0)>=(h|0))break;i=0;while(1){if((i|0)>=(k|0))break;v=H(b[f+(i+-64<<1)>>1]|0,a[m>>0]|0)|0;v=(H(b[f+(i<<1)>>1]|0,a[n>>0]|0)|0)+v|0;v=v+(H(b[f+(i+64<<1)>>1]|0,a[o>>0]|0)|0)|0;v=(v+(H(b[f+(i+128<<1)>>1]|0,a[p>>0]|0)|0)>>6)+32>>6;a[c+i>>0]=v>>>0>255?0-v>>31:v;i=i+1|0}c=c+e|0;l=l+1|0;f=f+128|0}Mb=t;return}function rm(d,f,g,h,i,j,k){d=d|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;q=d+3516|0;m=c[q>>2]|0;l=c[m+20>>2]|0;m=c[m+24>>2]|0;g=(H(c[(c[d+1412>>2]|0)+13412>>2]|0,g)|0)+f|0;if((1<<h&a[l+(g*12|0)+10>>0]|0)!=0?(n=c[m+(j*196|0)+128+(k<<2)>>2]|0,(c[m+(h*196|0)+128+(a[l+(g*12|0)+8+h>>0]<<2)>>2]|0)==(n|0)):0){f=l+(g*12|0)+(h<<2)|0;f=e[f>>1]|e[f+2>>1]<<16;b[i>>1]=f;b[i+2>>1]=f>>>16;if((n|0)==0?(o=c[q>>2]|0,p=c[o+24>>2]|0,o=c[p+(h*196|0)+64+(a[(c[o+20>>2]|0)+(g*12|0)+8+h>>0]<<2)>>2]|0,p=c[p+(j*196|0)+64+(k<<2)>>2]|0,(o|0)!=(p|0)):0){k=c[d+5696>>2]|0;j=k-o|0;j=(j|0)==0?1:j;k=k-p|0;j=((j+128|0)>>>0>255?j>>31^127:j)<<24>>24;q=(j|0)/2|0;j=(H(((k+128|0)>>>0>255?k>>31^127:k)<<24>>24,(((q|0)>-1?q:0-q|0)+16384|0)/(j|0)|0)|0)+32|0;q=j>>6;q=(q+4096|0)>>>0>8191?j>>31^4095:q;j=H(q,f<<16>>16)|0;j=j+127+(j>>>31)|0;k=j>>8;b[i>>1]=(k+32768|0)>>>0>65535?j>>31^32767:k;q=H(q,f>>16)|0;q=q+127+(q>>>31)|0;f=q>>8;b[i+2>>1]=(f+32768|0)>>>0>65535?q>>31^32767:f;f=1}else f=1}else f=0;return f|0}function sm(a,d,e,f,g,h,i,j,k){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0;o=Mb;Mb=Mb+16|0;n=o+8|0;k=o;m=a+25628|0;l=c[m>>2]|0;c[l+21788>>2]=h;c[l+21792>>2]=i;e=(H(c[a+27e3>>2]|0,i)|0)+h|0;j=l+21796|0;c[j>>2]=e;e=l+27824|0;f=e+120|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));e=(c[l+23404>>2]|0)>>>0>d>>>0?d:0;if(!(c[l+23416+(e*40|0)>>2]|0)){AD(c[a+4>>2]|0,48,175280,k);e=0}if((c[l+23416+(e*40|0)+24>>2]&3|0)==3){d=(c[a+24384>>2]|0)+(c[j>>2]<<2)|0;n=e*257&65535;b[d>>1]=n;b[d+2>>1]=n;d=H(e,16843009)|0;c[l+28284>>2]=d;c[l+28292>>2]=d;c[l+28300>>2]=d;c[l+28308>>2]=d;g=c[g+4>>2]<<16|c[g>>2]&65535;c[l+28e3>>2]=g;c[l+28004>>2]=g;c[l+28008>>2]=g;c[l+28012>>2]=g;c[l+28032>>2]=g;c[l+28036>>2]=g;c[l+28040>>2]=g;c[l+28044>>2]=g;c[l+28064>>2]=g;c[l+28068>>2]=g;c[l+28072>>2]=g;c[l+28076>>2]=g;c[l+28096>>2]=g;c[l+28100>>2]=g;c[l+28104>>2]=g;c[l+28108>>2]=g;c[l+21828>>2]=0;c[l+21832>>2]=0;UV(a,c[m>>2]|0)}else AD(c[a+4>>2]|0,48,175326,n);Mb=o;return}function tm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0,v=0;i=Mb;Mb=Mb+144|0;e=i+96|0;g=i+48|0;h=i;j=c+152|0;Sp(e,b,j);Sp(g,b+8|0,j);Sp(h,b+16|0,j);b=0;while(1){if((b|0)==5)break;p=+f[g+(b<<3)>>2];m=+f[c+(b<<3)>>2];r=+f[g+(b<<3)+4>>2];k=+f[c+(b<<3)+4>>2];l=+f[h+(b<<3)>>2];u=b<<1;q=+f[c+(u<<3)>>2];n=+f[h+(b<<3)+4>>2];o=+f[c+(u<<3)+4>>2];t=+f[e+(b<<3)>>2];j=H(b,d)|0;f[a+(j<<3)>>2]=p*m-r*k+t+(l*q-n*o);s=+f[e+(b<<3)+4>>2];f[a+(j<<3)+4>>2]=q*n+l*o+(m*r+p*k+s);j=b+5|0;k=+f[c+(j<<3)>>2];m=+f[c+(j<<3)+4>>2];v=j<<1;o=+f[c+(v<<3)>>2];q=+f[c+(v<<3)+4>>2];j=H(j,d)|0;f[a+(j<<3)>>2]=t+(p*k-r*m)+(l*o-n*q);f[a+(j<<3)+4>>2]=s+(r*k+p*m)+(n*o+l*q);j=b+10|0;q=+f[c+(j<<3)>>2];o=+f[c+(j<<3)+4>>2];u=u+5|0;m=+f[c+(u<<3)>>2];k=+f[c+(u<<3)+4>>2];j=H(j,d)|0;f[a+(j<<3)>>2]=t+(p*q-r*o)+(l*m-n*k);f[a+(j<<3)+4>>2]=s+(r*q+p*o)+(n*m+l*k);b=b+1|0}Mb=i;return}function um(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,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;x=a+32|0;y=a+36|0;h=c[y>>2]|0;r=c[a+48>>2]|0;i=0;j=c[x>>2]|0;while(1){if((j|0)<(r|0))break;i=i+1|0;j=j-r|0}s=a+4|0;t=a+12|0;u=a+8|0;v=a+40|0;w=a+28|0;q=a+24|0;p=0;while(1){if((p|0)>=(f|0))break;m=c[t>>2]|0;n=(c[s>>2]|0)+((H(m,j)|0)<<1)|0;o=c[u>>2]|0;a=0;k=16384;l=16384;while(1){if((a|0)>=(o|0))break;A=b[e+(a+i<<1)>>1]|0;z=(H(b[n+(a<<1)>>1]|0,A)|0)+l|0;A=(H(b[n+(a+m<<1)>>1]|0,A)|0)+k|0;a=a+1|0;k=A;l=z}a=k-l|0;a=MR(a|0,((a|0)<0)<<31>>31|0,h|0,((h|0)<0)<<31>>31|0)|0;A=M()|0;z=c[v>>2]|0;A=xA(a|0,A|0,z|0,((z|0)<0)<<31>>31|0)|0;M()|0;A=l+A|0;a=A>>15;b[d+(p<<1)>>1]=(a+32768|0)>>>0>65535?A>>31^32767:a;a=(c[w>>2]|0)+h|0;A=(a|0)<(z|0);h=A?0:z;j=(c[q>>2]|0)+j+((A^1)&1)|0;while(1){if((j|0)<(r|0))break;i=i+1|0;j=j-r|0}p=p+1|0;h=a-h|0}if(g|0){c[y>>2]=h;c[x>>2]=j}return i|0}function vm(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,m=0,n=0,o=0;e=0;f=0;g=0;h=0;i=0;j=0;while(1){if((e|0)==4)break;k=a+((H(e,b)|0)+-1)|0;k=f+(d[k>>0]|0)+(d[a+(e-b)>>0]|0)|0;l=e+4|0;m=a+((H(l,b)|0)+-1)|0;n=a+((H(e+8|0,b)|0)+-1)|0;o=a+((H(e+12|0,b)|0)+-1)|0;e=e+1|0;f=k;g=g+(d[a+(l-b)>>0]|0)|0;h=h+(d[m>>0]|0)|0;i=i+(d[n>>0]|0)|0;j=j+(d[o>>0]|0)|0}k=H((f+4|0)>>>3,16843009)|0;l=H((g+2|0)>>>2,16843009)|0;m=(h+2|0)>>>2;o=g+4|0;f=(o+h|0)>>>3;g=(i+2|0)>>>2;h=(o+i|0)>>>3;n=(j+2|0)>>>2;o=(o+j|0)>>>3;e=0;while(1){if((e|0)==4)break;j=a+(H(e,b)|0)|0;c[j>>2]=k;c[j+4>>2]=l;e=e+1|0}k=H(m,16843009)|0;i=H(f,16843009)|0;j=H(g,16843009)|0;g=H(h,16843009)|0;h=H(n,16843009)|0;f=H(o,16843009)|0;e=4;while(1){if((e|0)==8)break;o=a+(H(e,b)|0)|0;c[o>>2]=k;c[o+4>>2]=i;e=e+1|0}e=8;while(1){if((e|0)==12)break;o=a+(H(e,b)|0)|0;c[o>>2]=j;c[o+4>>2]=g;e=e+1|0}e=12;while(1){if((e|0)==16)break;o=a+(H(e,b)|0)|0;c[o>>2]=h;c[o+4>>2]=f;e=e+1|0}return}function wm(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,m=0,n=0,o=0,p=0;o=c[(c[b+3516>>2]|0)+24>>2]|0;j=a[d+10>>0]|0;a:do if(j<<24>>24){if(!(j&1)){j=bq(f,d+4|0,h,c[b+5696>>2]|0,o,g,e,i,1,a[d+9>>0]|0)|0;break}switch(j<<24>>24){case 1:{j=bq(f,d,h,c[b+5696>>2]|0,o,g,e,i,0,a[d+8>>0]|0)|0;break a}case 3:break;default:{j=0;break a}}n=b+5696|0;m=0;j=0;while(1){if((m|0)==2)break;l=c[o+(m*196|0)+192>>2]|0;k=0;while(1){if((k|0)>=(l|0))break;if((c[o+(m*196|0)+64+(k<<2)>>2]|0)>(c[n>>2]|0)){p=11;break}else k=k+1|0}if((p|0)==11){p=0;j=j+1|0}m=m+1|0}if(!j)if(!g){j=bq(f,d,h,c[n>>2]|0,o,0,e,i,0,a[d+8>>0]|0)|0;break}else{j=bq(f,d+4|0,h,c[n>>2]|0,o,g,e,i,1,a[d+9>>0]|0)|0;break}else if((a[b+3059>>0]|0)==1){j=bq(f,d,h,c[n>>2]|0,o,g,e,i,0,a[d+8>>0]|0)|0;break}else{j=bq(f,d+4|0,h,c[n>>2]|0,o,g,e,i,1,a[d+9>>0]|0)|0;break}}else j=0;while(0);return j|0}function xm(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;l=a[b+96+(h*87968|0)+87940>>0]|0;l=(l&255)>16?((l&255)<<1)+-32|0:0;jv(d|0,0,19456)|0;j=c[b+72>>2]|0;h=0;while(1){if((h|0)==(j|0))break;i=0;while(1){if((i|0)>=(l|0))break;k=i+2|0;c[d+(i<<8)+(h<<2)>>2]=c[g+(h*320|0)+(k<<3)>>2];c[d+9728+(i<<8)+(h<<2)>>2]=c[g+(h*320|0)+(k<<3)+4>>2];i=i+1|0}h=h+1|0}k=(c[b+80>>2]|0)+j|0;h=j;while(1){if(h>>>0>=k>>>0)break;i=0;while(1){if((i|0)>=(l|0))break;j=i+32|0;c[d+(i<<8)+(h<<2)>>2]=c[e+(j<<9)+(h<<3)>>2];c[d+9728+(i<<8)+(h<<2)>>2]=c[e+(j<<9)+(h<<3)+4>>2];i=i+1|0}h=h+1|0}h=c[b+76>>2]|0;i=0;while(1){if((i|0)==(h|0))break;j=l;while(1){if((j|0)>=38)break;e=j+2|0;c[d+(j<<8)+(i<<2)>>2]=c[g+(i*320|0)+(e<<3)>>2];c[d+9728+(j<<8)+(i<<2)>>2]=c[g+(i*320|0)+(e<<3)+4>>2];j=j+1|0}i=i+1|0}j=(c[b+84>>2]|0)+h|0;while(1){if(h>>>0>=j>>>0)break;i=l;while(1){if((i|0)>=32)break;c[d+(i<<8)+(h<<2)>>2]=c[f+(i<<9)+(h<<3)>>2];c[d+9728+(i<<8)+(h<<2)>>2]=c[f+(i<<9)+(h<<3)+4>>2];i=i+1|0}h=h+1|0}return 0}function ym(c,d,f,g,h,i,j,k,l,m,n,o,p,q){c=c|0;d=d|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;B=g>>>1;A=d>>>1;z=o+-1|0;r=20704+(z<<4)|0;s=j+3|0;t=20704+(z<<4)+1|0;u=20704+(z<<4)+2|0;v=20704+(z<<4)+3|0;w=20704+(z<<4)+4|0;x=20704+(z<<4)+5|0;y=20704+(z<<4)+6|0;z=20704+(z<<4)+7|0;n=(n+m<<4|1)<<j+2;d=c;o=0;g=f;while(1){if((o|0)>=(i|0))break;p=0;while(1){if((p|0)>=(q|0))break;c=H(e[g+(p+-3<<1)>>1]|0,a[r>>0]|0)|0;c=(H(e[g+(p+-2<<1)>>1]|0,a[t>>0]|0)|0)+c|0;c=c+(H(e[g+(p+-1<<1)>>1]|0,a[u>>0]|0)|0)|0;c=c+(H(e[g+(p<<1)>>1]|0,a[v>>0]|0)|0)|0;f=p+1|0;c=c+(H(e[g+(f<<1)>>1]|0,a[w>>0]|0)|0)|0;c=c+(H(e[g+(p+2<<1)>>1]|0,a[x>>0]|0)|0)|0;c=c+(H(e[g+(p+3<<1)>>1]|0,a[y>>0]|0)|0)|0;c=H(c+(H(e[g+(p+4<<1)>>1]|0,a[z>>0]|0)|0)>>4,l)|0;c=(H(b[h+(p<<1)>>1]|0,k)|0)+n+c>>s;b[d+(p<<1)>>1]=c>>>0<4096?c:0-c>>31&4095;p=f}h=h+128|0;d=d+(A<<1)|0;o=o+1|0;g=g+(B<<1)|0}return}function zm(c,d,f,g,h,i,j,k,l,m,n,o,p,q){c=c|0;d=d|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;B=g>>>1;A=d>>>1;z=o+-1|0;r=20704+(z<<4)|0;s=j+5|0;t=20704+(z<<4)+1|0;u=20704+(z<<4)+2|0;v=20704+(z<<4)+3|0;w=20704+(z<<4)+4|0;x=20704+(z<<4)+5|0;y=20704+(z<<4)+6|0;z=20704+(z<<4)+7|0;n=(n+m<<2|1)<<j+4;d=c;o=0;g=f;while(1){if((o|0)>=(i|0))break;p=0;while(1){if((p|0)>=(q|0))break;c=H(e[g+(p+-3<<1)>>1]|0,a[r>>0]|0)|0;c=(H(e[g+(p+-2<<1)>>1]|0,a[t>>0]|0)|0)+c|0;c=c+(H(e[g+(p+-1<<1)>>1]|0,a[u>>0]|0)|0)|0;c=c+(H(e[g+(p<<1)>>1]|0,a[v>>0]|0)|0)|0;f=p+1|0;c=c+(H(e[g+(f<<1)>>1]|0,a[w>>0]|0)|0)|0;c=c+(H(e[g+(p+2<<1)>>1]|0,a[x>>0]|0)|0)|0;c=c+(H(e[g+(p+3<<1)>>1]|0,a[y>>0]|0)|0)|0;c=H(c+(H(e[g+(p+4<<1)>>1]|0,a[z>>0]|0)|0)>>2,l)|0;c=(H(b[h+(p<<1)>>1]|0,k)|0)+n+c>>s;b[d+(p<<1)>>1]=c>>>0<1024?c:0-c>>31&1023;p=f}h=h+128|0;d=d+(A<<1)|0;o=o+1|0;g=g+(B<<1)|0}return}function Am(c,d,f,g,h,i,j,k,l,m,n,o,p,q){c=c|0;d=d|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;B=g>>>1;A=d>>>1;z=o+-1|0;r=20704+(z<<4)|0;s=j+6|0;t=20704+(z<<4)+1|0;u=20704+(z<<4)+2|0;v=20704+(z<<4)+3|0;w=20704+(z<<4)+4|0;x=20704+(z<<4)+5|0;y=20704+(z<<4)+6|0;z=20704+(z<<4)+7|0;n=(n+m<<1|1)<<j+5;d=c;o=0;g=f;while(1){if((o|0)>=(i|0))break;p=0;while(1){if((p|0)>=(q|0))break;c=H(e[g+(p+-3<<1)>>1]|0,a[r>>0]|0)|0;c=(H(e[g+(p+-2<<1)>>1]|0,a[t>>0]|0)|0)+c|0;c=c+(H(e[g+(p+-1<<1)>>1]|0,a[u>>0]|0)|0)|0;c=c+(H(e[g+(p<<1)>>1]|0,a[v>>0]|0)|0)|0;f=p+1|0;c=c+(H(e[g+(f<<1)>>1]|0,a[w>>0]|0)|0)|0;c=c+(H(e[g+(p+2<<1)>>1]|0,a[x>>0]|0)|0)|0;c=c+(H(e[g+(p+3<<1)>>1]|0,a[y>>0]|0)|0)|0;c=H(c+(H(e[g+(p+4<<1)>>1]|0,a[z>>0]|0)|0)>>1,l)|0;c=(H(b[h+(p<<1)>>1]|0,k)|0)+n+c>>s;b[d+(p<<1)>>1]=c>>>0<512?c:0-c>>31&511;p=f}h=h+128|0;d=d+(A<<1)|0;o=o+1|0;g=g+(B<<1)|0}return}function Bm(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;uD(b);g=b+192|0;l=b+1412|0;c[l>>2]=0;m=b+1408|0;c[m>>2]=0;do if(!d)f=0;else{f=Pj(b,d)|0;if((f|0)<0){uD(b);c[l>>2]=0;break}h=b+4|0;Ln(c[h>>2]|0,g,d);c[(c[h>>2]|0)+144>>2]=e;f=d+44|0;os(b+5736|0,c[f>>2]|0);Bc(b+5788|0,c[f>>2]|0);v_(b+7532|0,c[f>>2]|0);f=0;while(1){if((f|0)==3)break;bU(b+168+(f<<2)|0);bU(b+180+(f<<2)|0);f=f+1|0}a:do if(a[d+13197>>0]|0?(c[(c[h>>2]|0)+704>>2]|0)==0:0){e=(c[d+4>>2]|0)==0?1:3;g=d+13376|0;h=d+13380|0;i=d+13388|0;j=d+52|0;k=d+13384|0;f=0;while(1){if((f|0)==(e|0))break a;n=c[h>>2]>>c[d+13436+(f<<2)>>2];o=H(c[g>>2]>>c[d+13424+(f<<2)>>2]<<1,c[i>>2]|0)|0;o=RD(o<<c[j>>2])|0;c[b+168+(f<<2)>>2]=o;n=H(n<<1,c[k>>2]|0)|0;n=RD(n<<c[j>>2])|0;c[b+180+(f<<2)>>2]=n;f=f+1|0}}while(0);c[l>>2]=d;c[m>>2]=c[(c[b+192+(c[d>>2]<<2)>>2]|0)+4>>2];f=0}while(0);return f|0}function Cm(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;if(a|0){if(V0(a)|0){f=a+64|0;b=c[f>>2]|0;e=c[b+16>>2]|0;if(c[b+20>>2]|0)$W(a);b=c[a+12>>2]|0;if(b|0?(d=c[b+92>>2]|0,d|0):0)Vb[d&31](a)|0;b=c[f>>2]|0;c[b+48>>2]=0;bU(b+44|0);rY((c[f>>2]|0)+12|0);rY((c[f>>2]|0)+100|0);rY((c[f>>2]|0)+76|0);nY((c[f>>2]|0)+68|0);nY((c[f>>2]|0)+40|0);nY((c[f>>2]|0)+24|0);b=0;while(1){if((b|0)==4)break;KT(e+(b<<2)|0);b=b+1|0}bU((c[f>>2]|0)+16|0);b=c[a+704>>2]|0;if(b|0?(g=c[b+52>>2]|0,g|0):0)Vb[g&31](a)|0;bU((c[f>>2]|0)+60|0);RP(a);bU(f)}d=a+972|0;e=a+968|0;b=0;while(1){if((b|0)>=(c[d>>2]|0))break;bU((c[e>>2]|0)+(b*12|0)|0);b=b+1|0}bU(e);c[d>>2]=0;F$(a+976|0);F$(a+1e3|0);d=a+60|0;e=c[d>>2]|0;b=a+12|0;if((e|0?(h=c[b>>2]|0,h|0):0)?c[h+44>>2]|0:0)rL(e);rL(a);bU(d);if(xU(c[b>>2]|0)|0){bU(a+100|0);rY(a+796|0)}c[b>>2]=0;c[a+808>>2]=0}return 0}function Dm(c,e,f,g,h,i,j){c=c|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;s=Mb;Mb=Mb+8576|0;r=s;p=h+-1|0;q=20672+(p<<2)|0;m=g+3|0;n=20672+(p<<2)+1|0;o=20672+(p<<2)+2|0;p=20672+(p<<2)+3|0;l=r;h=e+(0-f)|0;e=0;while(1){if((e|0)>=(m|0))break;k=0;while(1){if((k|0)>=(j|0))break;u=H(d[h+(k+-1)>>0]|0,a[q>>0]|0)|0;u=(H(d[h+k>>0]|0,a[n>>0]|0)|0)+u|0;t=k+1|0;u=u+(H(d[h+t>>0]|0,a[o>>0]|0)|0)|0;u=u+(H(d[h+(k+2)>>0]|0,a[p>>0]|0)|0)&65535;b[l+(k<<1)>>1]=u;k=t}l=l+128|0;h=h+f|0;e=e+1|0}o=i+-1|0;l=20672+(o<<2)|0;m=20672+(o<<2)+1|0;n=20672+(o<<2)+2|0;o=20672+(o<<2)+3|0;h=r+128|0;e=0;while(1){if((e|0)>=(g|0))break;k=0;while(1){if((k|0)>=(j|0))break;u=H(b[h+(k+-64<<1)>>1]|0,a[l>>0]|0)|0;u=(H(b[h+(k<<1)>>1]|0,a[m>>0]|0)|0)+u|0;u=u+(H(b[h+(k+64<<1)>>1]|0,a[n>>0]|0)|0)|0;u=(u+(H(b[h+(k+128<<1)>>1]|0,a[o>>0]|0)|0)|0)>>>6&65535;b[c+(k<<1)>>1]=u;k=k+1|0}c=c+128|0;h=h+128|0;e=e+1|0}Mb=s;return}function Em(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0;o=Mb;Mb=Mb+16|0;l=o+10|0;m=o+5|0;k=o;n=b+(e<<4)|0;if((a[d+(e*3|0)>>0]|0)==1){k=a[d+(e*3|0)+1>>0]|0;d=n;c[d>>2]=h|f;c[d+4>>2]=i|g;a[b+(e<<4)+8>>0]=1;a[b+(e<<4)+9>>0]=k;a[b+(e<<4)+10>>0]=j;k=n+11|0;a[k>>0]=a[l>>0]|0;a[k+1>>0]=a[l+1>>0]|0;a[k+2>>0]=a[l+2>>0]|0;a[k+3>>0]=a[l+3>>0]|0;a[k+4>>0]=a[l+4>>0]|0;k=1}else{p=a[d+(e*3|0)+1>>0]|0;l=j&255;j=n;c[j>>2]=f;c[j+4>>2]=g;a[b+(e<<4)+8>>0]=0;a[b+(e<<4)+9>>0]=p;a[b+(e<<4)+10>>0]=l;g=n+11|0;a[g>>0]=a[m>>0]|0;a[g+1>>0]=a[m+1>>0]|0;a[g+2>>0]=a[m+2>>0]|0;a[g+3>>0]=a[m+3>>0]|0;a[g+4>>0]=a[m+4>>0]|0;g=e+1|0;j=b+(g<<4)|0;f=a[d+(g*3|0)+1>>0]|0;e=j;c[e>>2]=h;c[e+4>>2]=i;a[b+(g<<4)+8>>0]=0;a[b+(g<<4)+9>>0]=f;a[b+(g<<4)+10>>0]=l;j=j+11|0;a[j>>0]=a[k>>0]|0;a[j+1>>0]=a[k+1>>0]|0;a[j+2>>0]=a[k+2>>0]|0;a[j+3>>0]=a[k+3>>0]|0;a[j+4>>0]=a[k+4>>0]|0;k=2}Mb=o;return k|0}function Fm(d,e,f,g,h,i){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;v=c[d+672>>2]|0;t=v+32|0;u=d+588|0;m=h<<1;n=i<<1;o=d+568|0;k=0;while(1){if((k|0)==4)break;q=k&1;r=k>>>1;p=(c[u>>2]|0)+((H(c[o>>2]|0,r+n|0)|0)+(q|m)<<1)|0;p=b[p>>1]|0;p=p<<16>>16<2040?p:2040;p=((p<<16>>16>0?p:0)&65535)>>>3&255;q=q<<3;r=r<<3;l=0;while(1){if((l|0)==8)break;s=l+r|0;j=0;while(1){if((j|0)==8)break;w=e+(j+q+(H(c[t>>2]|0,s)|0))|0;a[w>>0]=p;j=j+1|0}l=l+1|0}k=k+1|0}k=(H(c[d+564>>2]|0,i)|0)+h|0;j=b[(c[d+592>>2]|0)+(k<<1)>>1]|0;k=b[(c[d+596>>2]|0)+(k<<1)>>1]|0;j=j<<16>>16<2040?j:2040;k=k<<16>>16<2040?k:2040;a:do if(g|0){e=((j<<16>>16>0?j:0)&65535)>>>3&255;m=v+36|0;d=((k<<16>>16>0?k:0)&65535)>>>3&255;l=v+40|0;k=0;while(1){if((k|0)==8)break a;j=0;while(1){if((j|0)==8)break;w=f+((H(c[m>>2]|0,k)|0)+j)|0;a[w>>0]=e;w=g+((H(c[l>>2]|0,k)|0)+j)|0;a[w>>0]=d;j=j+1|0}k=k+1|0}}while(0);return}function Gm(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,o=0,p=0,q=0;o=c+e|0;p=b+3|0;h=d[p>>0]|0;i=c+h|0;a:do if((i+1|0)>>>0<o>>>0){n=f+g|0;e=f;m=c;c=f;k=0;j=i;while(1){if(!h){e=0;break a}l=0;i=0;do{l=l<<8|(d[m+i>>0]|0);i=i+1|0}while((i|0)!=(h|0));if((l|0)<1){e=0;break a}if((m+l+h|0)>>>0>o>>>0){e=0;break a}switch(a[j>>0]&31){case 8:case 7:{i=1;break}case 5:{if(!(k<<24>>24)){if((c|0)!=(f|0))WL(f+(QB(b)|0)|0,f|0,c-e|0)|0;h=ji(b,f,g)|0;if((h|0)<1){e=0;break a}c=c+h|0;i=1}else i=k;break}default:i=k}if((c+l+4|0)>>>0>n>>>0){e=0;break a}a[c>>0]=0;a[c+1>>0]=0;a[c+2>>0]=0;a[c+3>>0]=1;Mn(c+4|0,m+(d[p>>0]|0)|0,l|0)|0;c=c+(l+4)|0;h=d[p>>0]|0;m=m+(l+h)|0;j=m+h|0;if((j+1|0)>>>0>=o>>>0)break;else k=i}q=19}else{e=f;c=e;q=19}while(0);if((q|0)==19)e=c-e|0;return e|0}function Hm(a,c){a=a|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=0;d=a;while(1){if((c|0)==4)break;k=b[d>>1]<<6;h=d+16|0;i=b[h>>1]<<6;f=i+k|0;i=k-i|0;k=d+8|0;j=b[k>>1]|0;e=d+24|0;l=b[e>>1]|0;g=(l*36|0)+(j*83|0)|0;j=(H(l,-83)|0)+(j*36|0)|0;l=f+64+g|0;m=l>>7;b[d>>1]=(m+32768|0)>>>0>65535?l>>31^32767:m;m=i+64+j|0;l=m>>7;b[k>>1]=(l+32768|0)>>>0>65535?m>>31^32767:l;j=i-j+64|0;i=j>>7;b[h>>1]=(i+32768|0)>>>0>65535?j>>31^32767:i;g=f-g+64|0;f=g>>7;b[e>>1]=(f+32768|0)>>>0>65535?g>>31^32767:f;c=c+1|0;d=d+2|0}c=0;while(1){if((c|0)==4)break;g=b[a>>1]<<6;j=a+4|0;i=b[j>>1]<<6;l=i+g|0;i=g-i|0;g=a+2|0;h=b[g>>1]|0;m=a+6|0;f=b[m>>1]|0;k=(f*36|0)+(h*83|0)|0;h=(H(f,-83)|0)+(h*36|0)|0;f=l+1024+k|0;e=f>>11;b[a>>1]=(e+32768|0)>>>0>65535?f>>31^32767:e;e=i+1024+h|0;f=e>>11;b[g>>1]=(f+32768|0)>>>0>65535?e>>31^32767:f;h=i-h+1024|0;i=h>>11;b[j>>1]=(i+32768|0)>>>0>65535?h>>31^32767:i;k=l-k+1024|0;l=k>>11;b[m>>1]=(l+32768|0)>>>0>65535?k>>31^32767:l;a=a+8|0;c=c+1|0}return}function Im(a,c){a=a|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=0;d=a;while(1){if((c|0)==4)break;k=b[d>>1]<<6;h=d+16|0;i=b[h>>1]<<6;f=i+k|0;i=k-i|0;k=d+8|0;j=b[k>>1]|0;e=d+24|0;l=b[e>>1]|0;g=(l*36|0)+(j*83|0)|0;j=(H(l,-83)|0)+(j*36|0)|0;l=f+64+g|0;m=l>>7;b[d>>1]=(m+32768|0)>>>0>65535?l>>31^32767:m;m=i+64+j|0;l=m>>7;b[k>>1]=(l+32768|0)>>>0>65535?m>>31^32767:l;j=i-j+64|0;i=j>>7;b[h>>1]=(i+32768|0)>>>0>65535?j>>31^32767:i;g=f-g+64|0;f=g>>7;b[e>>1]=(f+32768|0)>>>0>65535?g>>31^32767:f;c=c+1|0;d=d+2|0}c=0;while(1){if((c|0)==4)break;g=b[a>>1]<<6;j=a+4|0;i=b[j>>1]<<6;l=i+g|0;i=g-i|0;g=a+2|0;h=b[g>>1]|0;m=a+6|0;f=b[m>>1]|0;k=(f*36|0)+(h*83|0)|0;h=(H(f,-83)|0)+(h*36|0)|0;f=l+2048+k|0;e=f>>12;b[a>>1]=(e+32768|0)>>>0>65535?f>>31^32767:e;e=i+2048+h|0;f=e>>12;b[g>>1]=(f+32768|0)>>>0>65535?e>>31^32767:f;h=i-h+2048|0;i=h>>12;b[j>>1]=(i+32768|0)>>>0>65535?h>>31^32767:i;k=l-k+2048|0;l=k>>12;b[m>>1]=(l+32768|0)>>>0>65535?k>>31^32767:l;a=a+8|0;c=c+1|0}return}function Jm(c,d,f,g,h,i,j,k,l,m,n){c=c|0;d=d|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;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=g>>>1;A=d>>>1;s=m+-1|0;y=20704+(s<<4)|0;z=i+2|0;x=1<<i+1;u=k<<4;v=B*3|0;w=20704+(s<<4)+1|0;k=g&-2;g=20704+(s<<4)+2|0;o=20704+(s<<4)+3|0;p=20704+(s<<4)+4|0;q=20704+(s<<4)+5|0;r=20704+(s<<4)+6|0;s=20704+(s<<4)+7|0;t=B<<2;i=0;m=f;d=c;while(1){if((i|0)>=(h|0))break;l=0;while(1){if((l|0)>=(n|0))break;c=H(e[m+(l-v<<1)>>1]|0,a[y>>0]|0)|0;c=(H(e[m+(l-k<<1)>>1]|0,a[w>>0]|0)|0)+c|0;c=c+(H(e[m+(l-B<<1)>>1]|0,a[g>>0]|0)|0)|0;c=c+(H(e[m+(l<<1)>>1]|0,a[o>>0]|0)|0)|0;c=c+(H(e[m+(l+B<<1)>>1]|0,a[p>>0]|0)|0)|0;c=c+(H(e[m+(l+k<<1)>>1]|0,a[q>>0]|0)|0)|0;c=c+(H(e[m+(l+v<<1)>>1]|0,a[r>>0]|0)|0)|0;c=((H(c+(H(e[m+(l+t<<1)>>1]|0,a[s>>0]|0)|0)>>4,j)|0)+x>>z)+u|0;b[d+(l<<1)>>1]=c>>>0<4096?c:0-c>>31&4095;l=l+1|0}i=i+1|0;m=m+(B<<1)|0;d=d+(A<<1)|0}return}function Km(c,d,f,g,h,i,j,k,l,m,n){c=c|0;d=d|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;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=g>>>1;A=d>>>1;s=m+-1|0;y=20704+(s<<4)|0;z=i+4|0;x=1<<i+3;u=k<<2;v=B*3|0;w=20704+(s<<4)+1|0;k=g&-2;g=20704+(s<<4)+2|0;o=20704+(s<<4)+3|0;p=20704+(s<<4)+4|0;q=20704+(s<<4)+5|0;r=20704+(s<<4)+6|0;s=20704+(s<<4)+7|0;t=B<<2;i=0;m=f;d=c;while(1){if((i|0)>=(h|0))break;l=0;while(1){if((l|0)>=(n|0))break;c=H(e[m+(l-v<<1)>>1]|0,a[y>>0]|0)|0;c=(H(e[m+(l-k<<1)>>1]|0,a[w>>0]|0)|0)+c|0;c=c+(H(e[m+(l-B<<1)>>1]|0,a[g>>0]|0)|0)|0;c=c+(H(e[m+(l<<1)>>1]|0,a[o>>0]|0)|0)|0;c=c+(H(e[m+(l+B<<1)>>1]|0,a[p>>0]|0)|0)|0;c=c+(H(e[m+(l+k<<1)>>1]|0,a[q>>0]|0)|0)|0;c=c+(H(e[m+(l+v<<1)>>1]|0,a[r>>0]|0)|0)|0;c=((H(c+(H(e[m+(l+t<<1)>>1]|0,a[s>>0]|0)|0)>>2,j)|0)+x>>z)+u|0;b[d+(l<<1)>>1]=c>>>0<1024?c:0-c>>31&1023;l=l+1|0}i=i+1|0;m=m+(B<<1)|0;d=d+(A<<1)|0}return}function Lm(a,c){a=a|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=0;d=a;while(1){if((c|0)==4)break;k=b[d>>1]<<6;h=d+16|0;i=b[h>>1]<<6;f=i+k|0;i=k-i|0;k=d+8|0;j=b[k>>1]|0;e=d+24|0;l=b[e>>1]|0;g=(l*36|0)+(j*83|0)|0;j=(H(l,-83)|0)+(j*36|0)|0;l=f+64+g|0;m=l>>7;b[d>>1]=(m+32768|0)>>>0>65535?l>>31^32767:m;m=i+64+j|0;l=m>>7;b[k>>1]=(l+32768|0)>>>0>65535?m>>31^32767:l;j=i-j+64|0;i=j>>7;b[h>>1]=(i+32768|0)>>>0>65535?j>>31^32767:i;g=f-g+64|0;f=g>>7;b[e>>1]=(f+32768|0)>>>0>65535?g>>31^32767:f;c=c+1|0;d=d+2|0}c=0;while(1){if((c|0)==4)break;g=b[a>>1]<<6;j=a+4|0;i=b[j>>1]<<6;l=i+g|0;i=g-i|0;g=a+2|0;h=b[g>>1]|0;m=a+6|0;f=b[m>>1]|0;k=(f*36|0)+(h*83|0)|0;h=(H(f,-83)|0)+(h*36|0)|0;f=l+512+k|0;e=f>>10;b[a>>1]=(e+32768|0)>>>0>65535?f>>31^32767:e;e=i+512+h|0;f=e>>10;b[g>>1]=(f+32768|0)>>>0>65535?e>>31^32767:f;h=i-h+512|0;i=h>>10;b[j>>1]=(i+32768|0)>>>0>65535?h>>31^32767:i;k=l-k+512|0;l=k>>10;b[m>>1]=(l+32768|0)>>>0>65535?k>>31^32767:l;a=a+8|0;c=c+1|0}return}function Mm(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;p=Mb;Mb=Mb+16|0;n=p+8|0;k=p;h=p+12|0;m=c[b+60>>2]|0;o=f+28|0;do if(!(c[o>>2]|0)){g=Hj(m,d,1)|0;if((g|0)>=0){c[e>>2]=g;g=0}}else{i=UA(f,1,h)|0;h=c[h>>2]|0;if((i|0)!=0&(h|0)>0?(g=sz(m,i,h,0)|0,(g|0)<0):0)break;h=m+3516|0;c[h>>2]=0;g=Pp(m,c[f+24>>2]|0,c[o>>2]|0)|0;if((g|0)>=0){g=c[b+704>>2]|0;if(!g){g=b+688|0;if((((c[g>>2]&1|0?c[m+5728>>2]|0:0)?a[m+7700>>0]|0:0)?(l=Ek(m,c[c[h>>2]>>2]|0)|0,(l|0)<0):0)?c[g>>2]&8|0:0){hB(m,c[h>>2]|0,-1);g=l;break}}else if(c[h>>2]|0?(j=Vb[c[g+36>>2]&31](b)|0,(j|0)<0):0){AD(b,16,206239,k);hB(m,c[h>>2]|0,-1);g=j;break}a[m+7700>>0]=0;g=m+5728|0;if(c[g>>2]|0){c[n>>2]=c[m+5696>>2];AD(b,48,179043,n);c[g>>2]=0}g=c[m+164>>2]|0;if(c[g+248>>2]|0){WU(d,g);c[e>>2]=1}g=c[o>>2]|0}}while(0);Mb=p;return g|0}function Nm(c,d,f,g,h,i,j,k,l,m,n){c=c|0;d=d|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;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=g>>>1;A=d>>>1;s=m+-1|0;y=20704+(s<<4)|0;z=i+5|0;x=1<<i+4;u=k<<1;v=B*3|0;w=20704+(s<<4)+1|0;k=g&-2;g=20704+(s<<4)+2|0;o=20704+(s<<4)+3|0;p=20704+(s<<4)+4|0;q=20704+(s<<4)+5|0;r=20704+(s<<4)+6|0;s=20704+(s<<4)+7|0;t=B<<2;i=0;m=f;d=c;while(1){if((i|0)>=(h|0))break;l=0;while(1){if((l|0)>=(n|0))break;c=H(e[m+(l-v<<1)>>1]|0,a[y>>0]|0)|0;c=(H(e[m+(l-k<<1)>>1]|0,a[w>>0]|0)|0)+c|0;c=c+(H(e[m+(l-B<<1)>>1]|0,a[g>>0]|0)|0)|0;c=c+(H(e[m+(l<<1)>>1]|0,a[o>>0]|0)|0)|0;c=c+(H(e[m+(l+B<<1)>>1]|0,a[p>>0]|0)|0)|0;c=c+(H(e[m+(l+k<<1)>>1]|0,a[q>>0]|0)|0)|0;c=c+(H(e[m+(l+v<<1)>>1]|0,a[r>>0]|0)|0)|0;c=((H(c+(H(e[m+(l+t<<1)>>1]|0,a[s>>0]|0)|0)>>1,j)|0)+x>>z)+u|0;b[d+(l<<1)>>1]=c>>>0<512?c:0-c>>31&511;l=l+1|0}i=i+1|0;m=m+(B<<1)|0;d=d+(A<<1)|0}return}function Om(a,c){a=a|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=0;d=a;while(1){if((c|0)==4)break;k=b[d>>1]<<6;h=d+16|0;i=b[h>>1]<<6;f=i+k|0;i=k-i|0;k=d+8|0;j=b[k>>1]|0;e=d+24|0;l=b[e>>1]|0;g=(l*36|0)+(j*83|0)|0;j=(H(l,-83)|0)+(j*36|0)|0;l=f+64+g|0;m=l>>7;b[d>>1]=(m+32768|0)>>>0>65535?l>>31^32767:m;m=i+64+j|0;l=m>>7;b[k>>1]=(l+32768|0)>>>0>65535?m>>31^32767:l;j=i-j+64|0;i=j>>7;b[h>>1]=(i+32768|0)>>>0>65535?j>>31^32767:i;g=f-g+64|0;f=g>>7;b[e>>1]=(f+32768|0)>>>0>65535?g>>31^32767:f;c=c+1|0;d=d+2|0}c=0;while(1){if((c|0)==4)break;g=b[a>>1]<<6;j=a+4|0;i=b[j>>1]<<6;l=i+g|0;i=g-i|0;g=a+2|0;h=b[g>>1]|0;m=a+6|0;f=b[m>>1]|0;k=(f*36|0)+(h*83|0)|0;h=(H(f,-83)|0)+(h*36|0)|0;f=l+128+k|0;e=f>>8;b[a>>1]=(e+32768|0)>>>0>65535?f>>31^32767:e;e=i+128+h|0;f=e>>8;b[g>>1]=(f+32768|0)>>>0>65535?e>>31^32767:f;h=i-h+128|0;i=h>>8;b[j>>1]=(i+32768|0)>>>0>65535?h>>31^32767:i;k=l-k+128|0;l=k>>8;b[m>>1]=(l+32768|0)>>>0>65535?k>>31^32767:l;a=a+8|0;c=c+1|0}return}function Pm(a){a=a|0;var b=0,c=0.0,d=0.0,e=0,g=0,h=0.0,i=0.0,j=0,k=0.0,l=0.0,m=0,n=0,o=0.0,p=0.0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0,w=0.0,x=0,y=0.0,z=0,A=0.0,B=0.0,C=0,D=0.0;lx(a);C=a+32|0;i=+f[C>>2];q=a+40|0;k=+f[q>>2];D=i+k;b=a+36|0;r=+f[b>>2];e=a+44|0;h=+f[e>>2];w=r+h;v=a+48|0;c=+f[v>>2];j=a+56|0;o=+f[j>>2];B=c+o;z=a+52|0;p=+f[z>>2];m=a+60|0;d=+f[m>>2];s=p+d;A=+f[a>>2];n=a+4|0;l=+f[n>>2];g=a+16|0;t=+f[g>>2];x=a+20|0;u=+f[x>>2];y=B-D;B=D+B;f[C>>2]=A-B;f[a>>2]=B+A;f[z>>2]=u-y;f[x>>2]=y+u;u=w-s;s=w+s;f[v>>2]=t-u;f[g>>2]=u+t;f[b>>2]=l-s;f[n>>2]=s+l;k=(i-k)*.7071067690849304;h=(r-h)*.7071067690849304;r=k+h;k=h-k;o=(c-o)*.7071067690849304;d=(p-d)*.7071067690849304;p=o-d;d=o+d;n=a+8|0;o=+f[n>>2];b=a+12|0;c=+f[b>>2];g=a+24|0;h=+f[g>>2];a=a+28|0;i=+f[a>>2];l=p-r;p=r+p;f[q>>2]=o-p;f[n>>2]=p+o;f[m>>2]=i-l;f[a>>2]=l+i;i=k-d;d=k+d;f[j>>2]=h-i;f[g>>2]=i+h;f[e>>2]=c-d;f[b>>2]=d+c;return}function Qm(c,e,f,g,h,i,j,k,l,m,n,o,p,q){c=c|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;B=p+-1|0;r=20704+(B<<4)|0;s=j+7|0;t=g*3|0;u=20704+(B<<4)+1|0;v=g<<1;w=20704+(B<<4)+2|0;x=20704+(B<<4)+3|0;y=20704+(B<<4)+4|0;z=20704+(B<<4)+5|0;A=20704+(B<<4)+6|0;B=20704+(B<<4)+7|0;C=g<<2;j=m+1+n<<j+6;n=0;p=f;while(1){if((n|0)>=(i|0))break;o=0;while(1){if((o|0)>=(q|0))break;f=H(d[p+(o-t)>>0]|0,a[r>>0]|0)|0;f=(H(d[p+(o-v)>>0]|0,a[u>>0]|0)|0)+f|0;f=f+(H(d[p+(o-g)>>0]|0,a[w>>0]|0)|0)|0;f=f+(H(d[p+o>>0]|0,a[x>>0]|0)|0)|0;f=f+(H(d[p+(o+g)>>0]|0,a[y>>0]|0)|0)|0;f=f+(H(d[p+(o+v)>>0]|0,a[z>>0]|0)|0)|0;f=f+(H(d[p+(o+t)>>0]|0,a[A>>0]|0)|0)|0;f=H(f+(H(d[p+(o+C)>>0]|0,a[B>>0]|0)|0)|0,l)|0;f=(H(b[h+(o<<1)>>1]|0,k)|0)+j+f>>s;a[c+o>>0]=f>>>0>255?0-f>>31:f;o=o+1|0}h=h+128|0;c=c+e|0;n=n+1|0;p=p+g|0}return}function Rm(e,f,g,h,i,j,k,l,m,n,o){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,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;v=c[e+136>>2]|0;s=c[h>>2]|0;p=c[h+32>>2]|0;r=c[e+1412>>2]|0;t=c[r+13376>>2]|0;u=c[r+13380>>2]|0;h=b[i>>1]|0;x=h&3;B=x&65535;i=b[i+2>>1]|0;w=i&3;y=w&65535;switch(c[e+2420>>2]|0){case 1:{A=(a[(c[e+1416>>2]|0)+37>>0]|0)!=0;break}case 0:{A=(a[(c[e+1416>>2]|0)+38>>0]|0)!=0;break}default:A=0}z=d[20400+l>>0]|0;q=(h<<16>>16>>2)+j|0;i=(i<<16>>16>>2)+k|0;j=H(i,p)|0;h=c[r+52>>2]|0;j=s+((q<<h)+j)|0;if(!((!((q|0)<3|(i|0)<4)?(q|0)<(-4-l+t|0):0)?(i|0)<(-4-m+u|0):0)){s=80<<h;k=3<<h;pc[c[e+7532>>2]&3](v+320|0,j+(0-((p*3|0)+k))|0,s,p,l+7|0,m+7|0,q+-3|0,i+-3|0,t,u);j=(s*3|0)+k+(v+320)|0;p=s}i=w<<16>>16!=0&1;h=x<<16>>16!=0&1;if(A)qc[c[e+6220+(z<<4)+(i<<3)+(h<<2)>>2]&31](f,g,j,p,m,d[e+3109>>0]|0,n,o,B,y,l);else nc[c[e+6060+(z<<4)+(i<<3)+(h<<2)>>2]&63](f,g,j,p,m,B,y,l);return}function Sm(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=Mb;Mb=Mb+224|0;g=l+192|0;j=l+200|0;h=l;i=l+196|0;k=xu(e,j)|0;do if((k|0)>0){f=b+6736|0;if((c[f>>2]|0)==0?(a[j+16>>0]|0)!=1:0){sU(c[b+4>>2]|0,198234,g);c[f>>2]=1}$Q(b)|0;g=j+15|0;f=a[g>>0]|0;if(!(f<<24>>24)){c[b+6484>>2]=0;if((c[b+5672>>2]|0?(c[b+6464>>2]|0)==0:0)?(c[i>>2]=2,a[h+3>>0]=0,a[h>>0]=0,a[h+5>>0]=1,a[h+2>>0]=1,a[h+1>>0]=0,a[h+4>>0]=1,$i(b,h,2,2,0)|0):0){f=-7;break}}else{f=f&255;c[b+6484>>2]=f;f=Zz(c[b+4>>2]|0,h,i,f)|0;if((f|0)<0)break;f=c[b+6728>>2]|0;f=$i(b,h,c[i>>2]|0,f>>>0>2?f:2,0)|0;if((f|0)<0)break}i=c[j>>2]|0;c[b+6480>>2]=i;c[b+6476>>2]=d[j+14>>0];c[b+6472>>2]=d[j+13>>0];c[b+6516>>2]=0;if(!(((c[b+6464>>2]|0)==4?(c[b+6220>>2]|0)==(d[g>>0]|0):0)?(c[b+6216>>2]|0)==(i|0):0)){c[b+6488>>2]=-1;c[b+6512>>2]=-1}if(!(a[j+12>>0]|0)){eW(e,16);f=k}else f=k}else f=k;while(0);Mb=l;return f|0}function Tm(b,c,e,f,g,h,i,j){b=b|0;c=c|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;l=(j+1|1)<<g;k=g+1|0;j=b;g=0;while(1){if((g|0)>=(f|0))break;m=H(d[c>>0]|0,i)|0;m=m+l+(H(d[j>>0]|0,h)|0)>>k;a[j>>0]=m>>>0>255?0-m>>31:m;m=H(d[c+1>>0]|0,i)|0;b=j+1|0;m=m+l+(H(d[b>>0]|0,h)|0)>>k;a[b>>0]=m>>>0>255?0-m>>31:m;b=H(d[c+2>>0]|0,i)|0;m=j+2|0;b=b+l+(H(d[m>>0]|0,h)|0)>>k;a[m>>0]=b>>>0>255?0-b>>31:b;m=H(d[c+3>>0]|0,i)|0;b=j+3|0;m=m+l+(H(d[b>>0]|0,h)|0)>>k;a[b>>0]=m>>>0>255?0-m>>31:m;b=H(d[c+4>>0]|0,i)|0;m=j+4|0;b=b+l+(H(d[m>>0]|0,h)|0)>>k;a[m>>0]=b>>>0>255?0-b>>31:b;m=H(d[c+5>>0]|0,i)|0;b=j+5|0;m=m+l+(H(d[b>>0]|0,h)|0)>>k;a[b>>0]=m>>>0>255?0-m>>31:m;b=H(d[c+6>>0]|0,i)|0;m=j+6|0;b=b+l+(H(d[m>>0]|0,h)|0)>>k;a[m>>0]=b>>>0>255?0-b>>31:b;m=H(d[c+7>>0]|0,i)|0;b=j+7|0;m=m+l+(H(d[b>>0]|0,h)|0)>>k;a[b>>0]=m>>>0>255?0-m>>31:m;c=c+e|0;j=j+e|0;g=g+1|0}return}function Um(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if(d|0){d=c+19|0;a[b+33>>0]=a[d>>0]|0;a[b+32>>0]=a[d>>0]|0;d=c+18|0;a[b+31>>0]=a[d>>0]|0;a[b+30>>0]=a[d>>0]|0;a[b+29>>0]=a[d>>0]|0;a[b+28>>0]=a[d>>0]|0;d=c+17|0;a[b+27>>0]=a[d>>0]|0;a[b+26>>0]=a[d>>0]|0;d=c+16|0;a[b+25>>0]=a[d>>0]|0;a[b+24>>0]=a[d>>0]|0;d=c+15|0;a[b+23>>0]=a[d>>0]|0;a[b+22>>0]=a[d>>0]|0;d=c+14|0;a[b+21>>0]=a[d>>0]|0;a[b+20>>0]=a[d>>0]|0;a[b+19>>0]=a[c+13>>0]|0;a[b+18>>0]=a[c+12>>0]|0;a[b+17>>0]=a[c+11>>0]|0}a[b+16>>0]=a[c+10>>0]|0;e=c+9|0;a[b+15>>0]=a[e>>0]|0;a[b+14>>0]=a[e>>0]|0;e=c+8|0;a[b+13>>0]=a[e>>0]|0;a[b+12>>0]=a[e>>0]|0;a[b+11>>0]=a[c+7>>0]|0;a[b+10>>0]=a[c+6>>0]|0;e=c+5|0;a[b+9>>0]=a[e>>0]|0;a[b+8>>0]=a[e>>0]|0;e=c+4|0;a[b+7>>0]=a[e>>0]|0;a[b+6>>0]=a[e>>0]|0;e=c+3|0;a[b+5>>0]=a[e>>0]|0;d=c+2|0;a[b+4>>0]=((a[e>>0]|0)+(a[d>>0]|0)|0)/2|0;a[b+3>>0]=a[d>>0]|0;d=c+1|0;a[b+2>>0]=a[d>>0]|0;a[b+1>>0]=((a[d>>0]|0)+(a[c>>0]|0)|0)/2|0;a[b>>0]=a[c>>0]|0;return}function Vm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=Mb;Mb=Mb+16|0;k=p;f=c[b+376>>2]|0;i=a+376|0;a:do if(f){g=c[i>>2]|0;f=f+4|0;do if(g){f=c[f>>2]|0;g=c[g+4>>2]|0;if(!(((f|0)==(g|0)?(c[b+80>>2]|0)==(c[f+40>>2]|0):0)?(c[a+80>>2]|0)==(c[f+36>>2]|0):0)){h=c[(c[f+4>>2]|0)+12>>2]|0;if(!h)break;if((c[h+4>>2]|0)!=(g|0))break}e=c[b+248>>2]|0;if(!e){AD(f,16,211308,k);e=-22;break a}else{e=c[e+4>>2]|0;jB(a);e=hh(a,c[e>>2]|0)|0;break a}}else f=c[f>>2]|0;while(0);if(!(((c[f+36>>2]|0)==(c[b+80>>2]|0)?(j=c[(c[c[f+4>>2]>>2]|0)+80>>2]|0,(j|0)!=0):0)?(e=Zb[j&7](f,a,b,d)|0,(e|0)!=-38):0))o=15}else o=15;while(0);do if((o|0)==15){e=c[i>>2]|0;if(((e|0?(l=c[e+4>>2]|0,(c[l+36>>2]|0)==(c[a+80>>2]|0)):0)?(m=c[(c[c[l+4>>2]>>2]|0)+76>>2]|0,m|0):0)?(n=Zb[m&7](l,a,b,d)|0,(n|0)!=-38):0){e=n;break}e=-38}while(0);Mb=p;return e|0}function Wm(a){a=a|0;var b=0,d=0,e=0,g=0.0,i=0,j=0,k=0,l=0,m=0;j=a+76|0;b=c[j>>2]|0;c[a+132>>2]=b;c[a+128>>2]=b;b=a+72|0;e=c[b>>2]|0;c[a+124>>2]=e;c[a+120>>2]=e;c[a+116>>2]=e;c[a+112>>2]=e;e=a+68|0;k=c[e>>2]|0;c[a+108>>2]=k;c[a+104>>2]=k;k=a+64|0;m=c[k>>2]|0;c[a+100>>2]=m;c[a+96>>2]=m;m=a+60|0;d=c[m>>2]|0;c[a+92>>2]=d;c[a+88>>2]=d;d=a+56|0;l=c[d>>2]|0;c[a+84>>2]=l;c[a+80>>2]=l;l=a+52|0;c[j>>2]=c[l>>2];j=a+48|0;c[b>>2]=c[j>>2];b=a+44|0;c[e>>2]=c[b>>2];e=a+40|0;c[k>>2]=c[e>>2];k=a+36|0;i=c[k>>2]|0;c[m>>2]=i;c[d>>2]=i;d=a+32|0;i=c[d>>2]|0;c[l>>2]=i;c[j>>2]=i;j=a+28|0;c[b>>2]=c[j>>2];b=a+24|0;c[e>>2]=c[b>>2];e=a+20|0;i=c[e>>2]|0;c[k>>2]=i;c[d>>2]=i;d=a+16|0;i=c[d>>2]|0;c[j>>2]=i;c[b>>2]=i;b=a+12|0;i=c[b>>2]|0;c[e>>2]=i;e=a+8|0;g=+f[e>>2];f[d>>2]=(g+(c[h>>2]=i,+f[h>>2]))*.5;f[b>>2]=g;b=a+4|0;d=c[b>>2]|0;c[e>>2]=d;f[b>>2]=(+f[a>>2]+(c[h>>2]=d,+f[h>>2]))*.5;return}function Xm(a,b,d,g){a=a|0;b=b|0;d=d|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0.0,A=0.0,B=0.0,C=0,D=0;x=Mb;Mb=Mb+128|0;q=x;r=c[a+8>>2]|0;v=a+24|0;w=c[v>>2]|0;s=1<<w;j=d+((H((c[a+4>>2]|0)+-1|0,g)|0)<<2)|0;k=a+16|0;l=0-g|0;t=a+96|0;m=a+640|0;u=a+92|0;n=a+32|0;o=a+128|0;h=0;while(1){if((h|0)>=(s|0))break;p=h*15|0;i=0;while(1){if((i|0)==15)break;C=c[(c[k>>2]|0)+(i+p<<2)>>2]|0;D=j+((H(C,l)|0)<<2)|0;B=+f[D>>2];D=d+((H(C,g)|0)<<2)|0;z=+f[D>>2];D=c[t>>2]|0;C=C>>1;y=D+(C<<3)|0;A=+f[D+(C<<3)+4>>2];f[q+(i<<3)>>2]=B*+f[y>>2]-z*A;f[q+(i<<3)+4>>2]=B*A+z*+f[y>>2];i=i+1|0}hc[c[m>>2]&255]((c[u>>2]|0)+((e[(c[n>>2]|0)+(h<<1)>>1]|0)<<3)|0,q,o,s);h=h+1|0}i=r>>1;j=a+60|0;h=0;while(1){if((h|0)==15)break;ec[c[j>>2]&255](v,(c[u>>2]|0)+(h<<w<<3)|0);h=h+1|0}jc[c[a+644>>2]&255](b,c[u>>2]|0,c[t>>2]|0,c[a+20>>2]|0,i);Mb=x;return}function Ym(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c[d>>2]=(c[d>>2]|0)+32;g=0;while(1){if((g|0)==4)break;o=d+(g<<2)|0;n=c[o>>2]|0;k=d+(g+8<<2)|0;m=c[k>>2]|0;j=m+n|0;m=n-m|0;n=d+(g+4<<2)|0;h=c[n>>2]|0;i=d+(g+12<<2)|0;p=c[i>>2]|0;l=(h>>1)-p|0;h=(p>>1)+h|0;c[o>>2]=h+j;c[n>>2]=l+m;c[k>>2]=m-l;c[i>>2]=j-h;g=g+1|0}i=f>>1;f=f&-2;h=i*3|0;g=0;while(1){if((g|0)==4)break;p=g<<2;o=c[d+(p<<2)>>2]|0;l=c[d+((p|2)<<2)>>2]|0;n=l+o|0;l=o-l|0;o=c[d+((p|1)<<2)>>2]|0;p=c[d+((p|3)<<2)>>2]|0;m=(o>>1)-p|0;o=(p>>1)+o|0;p=a+(g<<1)|0;k=(o+n>>6)+(e[p>>1]|0)|0;b[p>>1]=k>>>0<16384?k:0-k>>31&16383;p=a+(g+i<<1)|0;k=(m+l>>6)+(e[p>>1]|0)|0;b[p>>1]=k>>>0<16384?k:0-k>>31&16383;p=a+(g+f<<1)|0;m=(l-m>>6)+(e[p>>1]|0)|0;b[p>>1]=m>>>0<16384?m:0-m>>31&16383;p=a+(g+h<<1)|0;o=(n-o>>6)+(e[p>>1]|0)|0;b[p>>1]=o>>>0<16384?o:0-o>>31&16383;g=g+1|0}g=d+64|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(g|0));return}function Zm(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;j=a+8|0;c[j>>2]=0;k=a+64|0;c[k>>2]=0;a:do if((d+-2|0)>>>0<=15){c[a>>2]=d;l=1<<d;if((d|0)<17){i=RD(l<<1)|0;c[j>>2]=i;if(!i){m=18;break}}else{i=RD(l<<2)|0;c[k>>2]=i;if(!i){m=18;break}}i=RD(l<<3)|0;c[a+12>>2]=i;if(i){i=a+4|0;c[i>>2]=e;f=a+56|0;c[f>>2]=0;c[a+32>>2]=213;c[a+36>>2]=214;c[a+40>>2]=716;c[a+44>>2]=717;c[a+48>>2]=718;c[a+52>>2]=718;e=4;while(1){if((e|0)>(d|0))break;w_(e);e=e+1|0}e=c[f>>2]|0;if((e|0)==2){gv(a);e=0;break}d=(e|0)==1;a=l+-1|0;f=0;while(1){if((f|0)>=(l|0)){e=0;break a}h=d?f>>>1&1|f&2147483644|f<<1&2:f;g=a&0-(hE(f,l,c[i>>2]|0)|0);e=c[j>>2]|0;if(e|0)b[e+(g<<1)>>1]=h;e=c[k>>2]|0;if(e|0)c[e+(g<<2)>>2]=h;f=f+1|0}}else m=18}else m=18;while(0);if((m|0)==18){bU(j);bU(k);bU(a+12|0);e=-1}return e|0}function _m(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c[d>>2]=(c[d>>2]|0)+32;g=0;while(1){if((g|0)==4)break;o=d+(g<<2)|0;n=c[o>>2]|0;k=d+(g+8<<2)|0;m=c[k>>2]|0;j=m+n|0;m=n-m|0;n=d+(g+4<<2)|0;h=c[n>>2]|0;i=d+(g+12<<2)|0;p=c[i>>2]|0;l=(h>>1)-p|0;h=(p>>1)+h|0;c[o>>2]=h+j;c[n>>2]=l+m;c[k>>2]=m-l;c[i>>2]=j-h;g=g+1|0}i=f>>1;f=f&-2;h=i*3|0;g=0;while(1){if((g|0)==4)break;p=g<<2;o=c[d+(p<<2)>>2]|0;l=c[d+((p|2)<<2)>>2]|0;n=l+o|0;l=o-l|0;o=c[d+((p|1)<<2)>>2]|0;p=c[d+((p|3)<<2)>>2]|0;m=(o>>1)-p|0;o=(p>>1)+o|0;p=a+(g<<1)|0;k=(o+n>>6)+(e[p>>1]|0)|0;b[p>>1]=k>>>0<4096?k:0-k>>31&4095;p=a+(g+i<<1)|0;k=(m+l>>6)+(e[p>>1]|0)|0;b[p>>1]=k>>>0<4096?k:0-k>>31&4095;p=a+(g+f<<1)|0;m=(l-m>>6)+(e[p>>1]|0)|0;b[p>>1]=m>>>0<4096?m:0-m>>31&4095;p=a+(g+h<<1)|0;o=(n-o>>6)+(e[p>>1]|0)|0;b[p>>1]=o>>>0<4096?o:0-o>>31&4095;g=g+1|0}g=d+64|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(g|0));return}function $m(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c[d>>2]=(c[d>>2]|0)+32;g=0;while(1){if((g|0)==4)break;o=d+(g<<2)|0;n=c[o>>2]|0;k=d+(g+8<<2)|0;m=c[k>>2]|0;j=m+n|0;m=n-m|0;n=d+(g+4<<2)|0;h=c[n>>2]|0;i=d+(g+12<<2)|0;p=c[i>>2]|0;l=(h>>1)-p|0;h=(p>>1)+h|0;c[o>>2]=h+j;c[n>>2]=l+m;c[k>>2]=m-l;c[i>>2]=j-h;g=g+1|0}i=f>>1;f=f&-2;h=i*3|0;g=0;while(1){if((g|0)==4)break;p=g<<2;o=c[d+(p<<2)>>2]|0;l=c[d+((p|2)<<2)>>2]|0;n=l+o|0;l=o-l|0;o=c[d+((p|1)<<2)>>2]|0;p=c[d+((p|3)<<2)>>2]|0;m=(o>>1)-p|0;o=(p>>1)+o|0;p=a+(g<<1)|0;k=(o+n>>6)+(e[p>>1]|0)|0;b[p>>1]=k>>>0<1024?k:0-k>>31&1023;p=a+(g+i<<1)|0;k=(m+l>>6)+(e[p>>1]|0)|0;b[p>>1]=k>>>0<1024?k:0-k>>31&1023;p=a+(g+f<<1)|0;m=(l-m>>6)+(e[p>>1]|0)|0;b[p>>1]=m>>>0<1024?m:0-m>>31&1023;p=a+(g+h<<1)|0;o=(n-o>>6)+(e[p>>1]|0)|0;b[p>>1]=o>>>0<1024?o:0-o>>31&1023;g=g+1|0}g=d+64|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(g|0));return}function an(b,c){b=b|0;c=c|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;i=0-c|0;j=b+3+i|0;g=b+(c<<2)+-1|0;f=g+(0-(c<<1))|0;p=(c*7|0)+-1|0;q=~c;k=(d[g>>0]|0)-(d[f>>0]|0)|0;e=(d[j+1>>0]|0)-(d[j+-1>>0]|0)|0;h=2;while(1){if((h|0)==5)break;o=g+c|0;n=f+i|0;m=(H((d[j+h>>0]|0)-(d[j+(0-h)>>0]|0)|0,h)|0)+e|0;k=(H((d[o>>0]|0)-(d[n>>0]|0)|0,h)|0)+k|0;e=m;f=n;g=o;h=h+1|0}o=(e*17|0)+16>>5;h=(k*17|0)+16>>5;i=o<<1;j=o*3|0;k=o<<2;l=o*5|0;m=o*6|0;n=o*7|0;g=8;f=(H(h+o|0,-3)|0)+16+((d[b+q+8>>0]|0)+(d[b+p>>0]|0)<<4)|0;e=b;while(1){if(!g)break;b=f>>5;a[e>>0]=b>>>0>255?0-b>>31:b;b=f+o>>5;a[e+1>>0]=b>>>0>255?0-b>>31:b;b=f+i>>5;a[e+2>>0]=b>>>0>255?0-b>>31:b;b=f+j>>5;a[e+3>>0]=b>>>0>255?0-b>>31:b;b=f+k>>5;a[e+4>>0]=b>>>0>255?0-b>>31:b;b=f+l>>5;a[e+5>>0]=b>>>0>255?0-b>>31:b;b=f+m>>5;a[e+6>>0]=b>>>0>255?0-b>>31:b;b=f+n>>5;a[e+7>>0]=b>>>0>255?0-b>>31:b;g=g+-1|0;f=f+h|0;e=e+c|0}return}function bn(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;l=Mb;Mb=Mb+16|0;f=l;j=l1(d)|0;i=b+32|0;k=c[i>>2]|0;c[b+4>>2]=1;c[b+8>>2]=0;h=b+20|0;a[f>>0]=a[h>>0]|0;a[f+1>>0]=a[h+1>>0]|0;a[f+2>>0]=a[h+2>>0]|0;a[f+3>>0]=a[h+3>>0]|0;a[f+4>>0]=a[h+4>>0]|0;a[f+5>>0]=a[h+5>>0]|0;e=mT(d)|0;c[b+28>>2]=e;e=(HG(d,4)|0)&255;a[h>>0]=e;e=(HG(d,4)|0)&255;a[b+21>>0]=e;e=(HG(d,3)|0)&255;a[b+22>>0]=e;eW(d,2);e=(mT(d)|0)&255;g=(mT(d)|0)&255;if(!(e<<24>>24)){a[b+23>>0]=2;a[b+24>>0]=1;e=2}else{e=(HG(d,2)|0)&255;a[b+23>>0]=e;e=(mT(d)|0)&255;a[b+24>>0]=e;e=(HG(d,2)|0)&255}a[b+25>>0]=e;if(AE(f,h,6)|0)c[b+16>>2]=1;if(!(g<<24>>24)){c[i>>2]=2;c[b+36>>2]=2;c[b+40>>2]=1;f=1;e=2}else{f=HG(d,2)|0;c[i>>2]=f;f=HG(d,2)|0;c[b+36>>2]=f;f=mT(d)|0;c[b+40>>2]=f;f=mT(d)|0;e=c[i>>2]|0}c[b+44>>2]=f;if((e|0)!=(k|0)?(c[b+16>>2]|0)==0:0)uf(b);k=(l1(d)|0)-j|0;Mb=l;return k|0}function cn(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c[d>>2]=(c[d>>2]|0)+32;g=0;while(1){if((g|0)==4)break;o=d+(g<<2)|0;n=c[o>>2]|0;k=d+(g+8<<2)|0;m=c[k>>2]|0;j=m+n|0;m=n-m|0;n=d+(g+4<<2)|0;h=c[n>>2]|0;i=d+(g+12<<2)|0;p=c[i>>2]|0;l=(h>>1)-p|0;h=(p>>1)+h|0;c[o>>2]=h+j;c[n>>2]=l+m;c[k>>2]=m-l;c[i>>2]=j-h;g=g+1|0}i=f>>1;f=f&-2;h=i*3|0;g=0;while(1){if((g|0)==4)break;p=g<<2;o=c[d+(p<<2)>>2]|0;l=c[d+((p|2)<<2)>>2]|0;n=l+o|0;l=o-l|0;o=c[d+((p|1)<<2)>>2]|0;p=c[d+((p|3)<<2)>>2]|0;m=(o>>1)-p|0;o=(p>>1)+o|0;p=a+(g<<1)|0;k=(o+n>>6)+(e[p>>1]|0)|0;b[p>>1]=k>>>0<512?k:0-k>>31&511;p=a+(g+i<<1)|0;k=(m+l>>6)+(e[p>>1]|0)|0;b[p>>1]=k>>>0<512?k:0-k>>31&511;p=a+(g+f<<1)|0;m=(l-m>>6)+(e[p>>1]|0)|0;b[p>>1]=m>>>0<512?m:0-m>>31&511;p=a+(g+h<<1)|0;o=(n-o>>6)+(e[p>>1]|0)|0;b[p>>1]=o>>>0<512?o:0-o>>31&511;g=g+1|0}g=d+64|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(g|0));return}function dn(c,d,f,g,h,i,j,k,l){c=c|0;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,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=g>>>1;x=d>>>1;s=k+-1|0;u=20704+(s<<4)|0;v=y*3|0;w=20704+(s<<4)+1|0;m=g&-2;n=20704+(s<<4)+2|0;o=20704+(s<<4)+3|0;p=20704+(s<<4)+4|0;q=20704+(s<<4)+5|0;r=20704+(s<<4)+6|0;s=20704+(s<<4)+7|0;t=y<<2;g=h;h=0;k=f;d=c;while(1){if((h|0)>=(i|0))break;j=0;while(1){if((j|0)>=(l|0))break;c=H(e[k+(j-v<<1)>>1]|0,a[u>>0]|0)|0;c=(H(e[k+(j-m<<1)>>1]|0,a[w>>0]|0)|0)+c|0;c=c+(H(e[k+(j-y<<1)>>1]|0,a[n>>0]|0)|0)|0;c=c+(H(e[k+(j<<1)>>1]|0,a[o>>0]|0)|0)|0;c=c+(H(e[k+(j+y<<1)>>1]|0,a[p>>0]|0)|0)|0;c=c+(H(e[k+(j+m<<1)>>1]|0,a[q>>0]|0)|0)|0;c=c+(H(e[k+(j+v<<1)>>1]|0,a[r>>0]|0)|0)|0;c=c+(H(e[k+(j+t<<1)>>1]|0,a[s>>0]|0)|0)>>2;c=(b[g+(j<<1)>>1]|0)+16+c>>5;b[d+(j<<1)>>1]=c>>>0<1024?c:0-c>>31&1023;j=j+1|0}g=g+128|0;h=h+1|0;k=k+(y<<1)|0;d=d+(x<<1)|0}return}function en(c,d,f,g,h,i,j,k,l){c=c|0;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,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=g>>>1;x=d>>>1;s=k+-1|0;u=20704+(s<<4)|0;v=y*3|0;w=20704+(s<<4)+1|0;m=g&-2;n=20704+(s<<4)+2|0;o=20704+(s<<4)+3|0;p=20704+(s<<4)+4|0;q=20704+(s<<4)+5|0;r=20704+(s<<4)+6|0;s=20704+(s<<4)+7|0;t=y<<2;g=h;h=0;k=f;d=c;while(1){if((h|0)>=(i|0))break;j=0;while(1){if((j|0)>=(l|0))break;c=H(e[k+(j-v<<1)>>1]|0,a[u>>0]|0)|0;c=(H(e[k+(j-m<<1)>>1]|0,a[w>>0]|0)|0)+c|0;c=c+(H(e[k+(j-y<<1)>>1]|0,a[n>>0]|0)|0)|0;c=c+(H(e[k+(j<<1)>>1]|0,a[o>>0]|0)|0)|0;c=c+(H(e[k+(j+y<<1)>>1]|0,a[p>>0]|0)|0)|0;c=c+(H(e[k+(j+m<<1)>>1]|0,a[q>>0]|0)|0)|0;c=c+(H(e[k+(j+v<<1)>>1]|0,a[r>>0]|0)|0)|0;c=c+(H(e[k+(j+t<<1)>>1]|0,a[s>>0]|0)|0)>>4;c=(b[g+(j<<1)>>1]|0)+4+c>>3;b[d+(j<<1)>>1]=c>>>0<4096?c:0-c>>31&4095;j=j+1|0}g=g+128|0;h=h+1|0;k=k+(y<<1)|0;d=d+(x<<1)|0}return}function fn(a,b,c,e,f){a=a|0;b=b|0;c=c|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=0;h=0;a=c;while(1){c=a+e|0;if((g|0)>=(f|0))break;o=d[c+1>>0]|0;q=(d[a+1>>0]|0)+2|0;p=(d[b>>0]|0)-((q+(d[a>>0]|0)+(d[c>>0]|0)+o|0)>>>2)|0;r=d[a+2>>0]|0;n=d[c+2>>0]|0;o=(d[b+1>>0]|0)-((q+o+r+n|0)>>>2)|0;q=d[a+3>>0]|0;m=d[c+3>>0]|0;n=(d[b+2>>0]|0)-((r+2+n+q+m|0)>>>2)|0;r=d[a+4>>0]|0;l=d[c+4>>0]|0;m=(d[b+3>>0]|0)-((q+2+m+r+l|0)>>>2)|0;q=d[a+5>>0]|0;k=d[c+5>>0]|0;l=(d[b+4>>0]|0)-((r+2+l+q+k|0)>>>2)|0;r=d[a+6>>0]|0;j=d[c+6>>0]|0;k=(d[b+5>>0]|0)-((q+2+k+r+j|0)>>>2)|0;q=d[a+7>>0]|0;i=d[c+7>>0]|0;j=(d[b+6>>0]|0)-((r+2+j+q+i|0)>>>2)|0;i=(d[b+7>>0]|0)-((q+2+i+(d[a+8>>0]|0)+(d[c+8>>0]|0)|0)>>>2)|0;g=g+1|0;h=((p|0)>-1?p:0-p|0)+h+((o|0)>-1?o:0-o|0)+((n|0)>-1?n:0-n|0)+((m|0)>-1?m:0-m|0)+((l|0)>-1?l:0-l|0)+((k|0)>-1?k:0-k|0)+((j|0)>-1?j:0-j|0)+((i|0)>-1?i:0-i|0)|0;b=b+e|0;a=c}return h|0}function gn(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;if(!b){e=d[a+-1>>0]|0;b=e}else{b=d[a+-1>>0]|0;e=d[a+~f>>0]|0}u=d[a+(f+-1)>>0]|0;t=u+2|0;r=f<<1;s=d[a+(r+-1)>>0]|0;q=s+2|0;p=f*3|0;o=d[a+(p+-1)>>0]|0;n=f<<2;m=d[a+(n+-1)>>0]|0;l=f*5|0;k=d[a+(l+-1)>>0]|0;j=f*6|0;i=d[a+(j+-1)>>0]|0;g=f*7|0;h=d[a+(g+-1)>>0]|0;e=H((t+e+(b<<1)|0)>>>2,16843009)|0;c[a>>2]=e;c[a+4>>2]=e;e=H((q+b+(u<<1)|0)>>>2,16843009)|0;f=a+f|0;c[f>>2]=e;c[f+4>>2]=e;f=H((t+(s<<1)+o|0)>>>2,16843009)|0;e=a+r|0;c[e>>2]=f;c[e+4>>2]=f;e=H((q+(o<<1)+m|0)>>>2,16843009)|0;f=a+p|0;c[f>>2]=e;c[f+4>>2]=e;f=H((o+2+(m<<1)+k|0)>>>2,16843009)|0;e=a+n|0;c[e>>2]=f;c[e+4>>2]=f;e=H((m+2+(k<<1)+i|0)>>>2,16843009)|0;f=a+l|0;c[f>>2]=e;c[f+4>>2]=e;f=H((k+2+(i<<1)+h|0)>>>2,16843009)|0;e=a+j|0;c[e>>2]=f;c[e+4>>2]=f;e=H((i+2+(h*3|0)|0)>>>2,16843009)|0;f=a+g|0;c[f>>2]=e;c[f+4>>2]=e;return}function hn(c,d,f,g,h,i,j,k,l){c=c|0;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,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=g>>>1;x=d>>>1;s=k+-1|0;u=20704+(s<<4)|0;v=y*3|0;w=20704+(s<<4)+1|0;m=g&-2;n=20704+(s<<4)+2|0;o=20704+(s<<4)+3|0;p=20704+(s<<4)+4|0;q=20704+(s<<4)+5|0;r=20704+(s<<4)+6|0;s=20704+(s<<4)+7|0;t=y<<2;g=h;h=0;k=f;d=c;while(1){if((h|0)>=(i|0))break;j=0;while(1){if((j|0)>=(l|0))break;c=H(e[k+(j-v<<1)>>1]|0,a[u>>0]|0)|0;c=(H(e[k+(j-m<<1)>>1]|0,a[w>>0]|0)|0)+c|0;c=c+(H(e[k+(j-y<<1)>>1]|0,a[n>>0]|0)|0)|0;c=c+(H(e[k+(j<<1)>>1]|0,a[o>>0]|0)|0)|0;c=c+(H(e[k+(j+y<<1)>>1]|0,a[p>>0]|0)|0)|0;c=c+(H(e[k+(j+m<<1)>>1]|0,a[q>>0]|0)|0)|0;c=c+(H(e[k+(j+v<<1)>>1]|0,a[r>>0]|0)|0)|0;c=c+(H(e[k+(j+t<<1)>>1]|0,a[s>>0]|0)|0)>>1;c=(b[g+(j<<1)>>1]|0)+32+c>>6;b[d+(j<<1)>>1]=c>>>0<512?c:0-c>>31&511;j=j+1|0}g=g+128|0;h=h+1|0;k=k+(y<<1)|0;d=d+(x<<1)|0}return}function jn(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;l=Mb;Mb=Mb+16|0;i=l;a:do if((a|0)!=0?(j=c[a>>2]|0,(j|0)!=0):0){b:do if(f&1|0){if(!(f&2)){i=0;while(1){i=fV(a,i)|0;if(!i)break b;h=jn(i,b,d,e,f,g)|0;if(h|0)break a}}c[i>>2]=0;h=0;while(1){h=RW(j,h)|0;c[i>>2]=h;if(!h){i=8;break}h=jn(i,b,d,e,f,0)|0;if(h|0){i=11;break}h=c[i>>2]|0}if((i|0)==8)break;else if((i|0)==11)break a}while(0);j=(d|0)==0;h=0;c:while(1){h=aJ(a,h)|0;if(!h){h=0;break a}do if((PF(c[h>>2]|0,b)|0)==0?(c[h+40>>2]&e|0)==(e|0):0){i=(c[h+12>>2]|0)==128;if(j)if(i)break;else break c;if((i?(k=c[h+44>>2]|0,k|0):0)?(PF(k,d)|0)==0:0)break c}while(0)}if(g)if(!(f&2)){c[g>>2]=a;break}else{c[g>>2]=0;break}}else h=0;while(0);Mb=l;return h|0}function kn(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=Mb;Mb=Mb+16|0;l=m+8|0;d=m;i=c[a+60>>2]|0;b=Zn(a,i)|0;do if((b|0)>=0){if(oX(1112396,16)|0){AD(a,16,175009,d);b=-1313558101;break}f=a+116|0;do if((c[f>>2]|0)==1){b=c[i+4>>2]|0;d=b+112|0;e=c[d>>2]|0;if((e|0)<1073741823){c[d>>2]=e<<1;break}else{e=b+108|0;c[e>>2]=(c[e>>2]|0)/2|0;break}}while(0);c[f>>2]=2;b=c[a+104>>2]|0;if(((b|0)>0?(g=c[a+100>>2]|0,g|0):0)?(h=Jk(g,b,i+27036|0,i+27020|0,i+27024|0,c[a+688>>2]|0,a)|0,(h|0)<0):0){hy(a)|0;b=h;break}b=c[i+28200>>2]|0;if((b|0?c[b+660>>2]|0:0)?(j=(c[i+4>>2]|0)+180|0,k=c[b+664>>2]|0,(c[j>>2]|0)<(k|0)):0)c[j>>2]=k;c[(c[a+64>>2]|0)+4>>2]=1;qy(i);b=i+29656|0;d=c[b>>2]|0;if((d|0)<0){if(c[a+808>>2]&2|0){c[b>>2]=0;b=0;break}}else if(!d){b=0;break}if(!(c[a+808>>2]&2))b=0;else{AD(a,24,175034,l);b=0}}while(0);Mb=m;return b|0}function ln(c,d,f,g,h,i,j,k,l,m,n){c=c|0;d=d|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;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=g>>>1;x=d>>>1;t=l+-1|0;v=20704+(t<<4)|0;w=i+2|0;u=1<<i+1;i=k<<4;k=20704+(t<<4)+1|0;o=20704+(t<<4)+2|0;p=20704+(t<<4)+3|0;q=20704+(t<<4)+4|0;r=20704+(t<<4)+5|0;s=20704+(t<<4)+6|0;t=20704+(t<<4)+7|0;l=0;d=f;m=c;while(1){if((l|0)>=(h|0))break;g=0;while(1){if((g|0)>=(n|0))break;f=H(e[d+(g+-3<<1)>>1]|0,a[v>>0]|0)|0;f=(H(e[d+(g+-2<<1)>>1]|0,a[k>>0]|0)|0)+f|0;f=f+(H(e[d+(g+-1<<1)>>1]|0,a[o>>0]|0)|0)|0;f=f+(H(e[d+(g<<1)>>1]|0,a[p>>0]|0)|0)|0;c=g+1|0;f=f+(H(e[d+(c<<1)>>1]|0,a[q>>0]|0)|0)|0;f=f+(H(e[d+(g+2<<1)>>1]|0,a[r>>0]|0)|0)|0;f=f+(H(e[d+(g+3<<1)>>1]|0,a[s>>0]|0)|0)|0;f=((H(f+(H(e[d+(g+4<<1)>>1]|0,a[t>>0]|0)|0)>>4,j)|0)+u>>w)+i|0;b[m+(g<<1)>>1]=f>>>0<4096?f:0-f>>31&4095;g=c}l=l+1|0;d=d+(y<<1)|0;m=m+(x<<1)|0}return}function mn(c,d,f,g,h,i,j,k,l,m,n){c=c|0;d=d|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;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=g>>>1;x=d>>>1;t=l+-1|0;v=20704+(t<<4)|0;w=i+4|0;u=1<<i+3;i=k<<2;k=20704+(t<<4)+1|0;o=20704+(t<<4)+2|0;p=20704+(t<<4)+3|0;q=20704+(t<<4)+4|0;r=20704+(t<<4)+5|0;s=20704+(t<<4)+6|0;t=20704+(t<<4)+7|0;l=0;d=f;m=c;while(1){if((l|0)>=(h|0))break;g=0;while(1){if((g|0)>=(n|0))break;f=H(e[d+(g+-3<<1)>>1]|0,a[v>>0]|0)|0;f=(H(e[d+(g+-2<<1)>>1]|0,a[k>>0]|0)|0)+f|0;f=f+(H(e[d+(g+-1<<1)>>1]|0,a[o>>0]|0)|0)|0;f=f+(H(e[d+(g<<1)>>1]|0,a[p>>0]|0)|0)|0;c=g+1|0;f=f+(H(e[d+(c<<1)>>1]|0,a[q>>0]|0)|0)|0;f=f+(H(e[d+(g+2<<1)>>1]|0,a[r>>0]|0)|0)|0;f=f+(H(e[d+(g+3<<1)>>1]|0,a[s>>0]|0)|0)|0;f=((H(f+(H(e[d+(g+4<<1)>>1]|0,a[t>>0]|0)|0)>>2,j)|0)+u>>w)+i|0;b[m+(g<<1)>>1]=f>>>0<1024?f:0-f>>31&1023;g=c}l=l+1|0;d=d+(y<<1)|0;m=m+(x<<1)|0}return}function nn(a,c){a=a|0;c=c|0;var d=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=c>>1;i=0-p|0;j=a+14+(i<<1)|0;g=a+(p<<3<<1)+-2|0;f=g+(0-(c&-2)<<1)|0;o=a+((p*30|0)+-2)|0;n=a+((c+-2&-2)-(c>>>1<<2))|0;c=2;h=(e[g>>1]|0)-(e[f>>1]|0)|0;d=(e[j+2>>1]|0)-(e[j+-2>>1]|0)|0;while(1){if((c|0)==9)break;m=g+(p<<1)|0;l=f+(i<<1)|0;k=(H((e[j+(c<<1)>>1]|0)-(e[j+(0-c<<1)>>1]|0)|0,c)|0)+d|0;q=(H((e[m>>1]|0)-(e[l>>1]|0)|0,c)|0)+h|0;c=c+1|0;h=q;d=k;f=l;g=m}m=(d*5|0)+32>>6;i=(h*5|0)+32>>6;j=m<<1;k=m*3|0;l=m<<2;g=(H(i+m|0,-7)|0)+16+((e[n+32>>1]|0)+(e[o>>1]|0)<<4)|0;h=16;f=a;while(1){if(!h)break;c=g;d=-16;while(1){if((d|0)>=0)break;q=c>>5;b[f+(d+16<<1)>>1]=q>>>0<16384?q:0-q>>31&16383;q=c+m>>5;b[f+(d+17<<1)>>1]=q>>>0<16384?q:0-q>>31&16383;q=c+j>>5;b[f+(d+18<<1)>>1]=q>>>0<16384?q:0-q>>31&16383;q=c+k>>5;b[f+(d+19<<1)>>1]=q>>>0<16384?q:0-q>>31&16383;c=c+l|0;d=d+4|0}g=g+i|0;h=h+-1|0;f=f+(p<<1)|0}return}function on(c,d,f,g,h,i,j,k,l,m,n){c=c|0;d=d|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;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=g>>>1;x=d>>>1;t=l+-1|0;v=20704+(t<<4)|0;w=i+5|0;u=1<<i+4;i=k<<1;k=20704+(t<<4)+1|0;o=20704+(t<<4)+2|0;p=20704+(t<<4)+3|0;q=20704+(t<<4)+4|0;r=20704+(t<<4)+5|0;s=20704+(t<<4)+6|0;t=20704+(t<<4)+7|0;l=0;d=f;m=c;while(1){if((l|0)>=(h|0))break;g=0;while(1){if((g|0)>=(n|0))break;f=H(e[d+(g+-3<<1)>>1]|0,a[v>>0]|0)|0;f=(H(e[d+(g+-2<<1)>>1]|0,a[k>>0]|0)|0)+f|0;f=f+(H(e[d+(g+-1<<1)>>1]|0,a[o>>0]|0)|0)|0;f=f+(H(e[d+(g<<1)>>1]|0,a[p>>0]|0)|0)|0;c=g+1|0;f=f+(H(e[d+(c<<1)>>1]|0,a[q>>0]|0)|0)|0;f=f+(H(e[d+(g+2<<1)>>1]|0,a[r>>0]|0)|0)|0;f=f+(H(e[d+(g+3<<1)>>1]|0,a[s>>0]|0)|0)|0;f=((H(f+(H(e[d+(g+4<<1)>>1]|0,a[t>>0]|0)|0)>>1,j)|0)+u>>w)+i|0;b[m+(g<<1)>>1]=f>>>0<512?f:0-f>>31&511;g=c}l=l+1|0;d=d+(y<<1)|0;m=m+(x<<1)|0}return}function pn(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;j=a[d+28272+e>>0]|0;k=a[d+28272+f>>0]|0;h=j<<24>>24!=k<<24>>24;if(!(j<<24>>24==-1|h)){h=(b[d+27952+(e<<2)+2>>1]|0)-(b[d+27952+(f<<2)+2>>1]|0)|0;h=(((h|0)>-1?h:0-h|0)|0)>=(g|0)?1:((b[d+27952+(e<<2)>>1]|0)+3-(b[d+27952+(f<<2)>>1]|0)|0)>>>0>6}do if((c[d+23412>>2]|0)==2){if(!h){i=a[d+28312+e>>0]|0;h=a[d+28312+f>>0]|0;l=(b[d+28112+(e<<2)+2>>1]|0)-(b[d+28112+(f<<2)+2>>1]|0)|0;if(!((i<<24>>24!=h<<24>>24?1:((b[d+28112+(e<<2)>>1]|0)+3-(b[d+28112+(f<<2)>>1]|0)|0)>>>0>6)|(((l|0)>-1?l:0-l|0)|0)>=(g|0))){h=0;break}}else{h=a[d+28312+f>>0]|0;i=a[d+28312+e>>0]|0}if(j<<24>>24!=h<<24>>24?1:i<<24>>24!=k<<24>>24)h=1;else{l=(b[d+27952+(e<<2)+2>>1]|0)-(b[d+28112+(f<<2)+2>>1]|0)|0;h=(b[d+28112+(e<<2)+2>>1]|0)-(b[d+27952+(f<<2)+2>>1]|0)|0;h=((b[d+28112+(e<<2)>>1]|0)+3-(b[d+27952+(f<<2)>>1]|0)|0)>>>0>6|((((l|0)>-1?l:0-l|0)|0)>=(g|0)?1:((b[d+27952+(e<<2)>>1]|0)+3-(b[d+28112+(f<<2)>>1]|0)|0)>>>0>6)|(((h|0)>-1?h:0-h|0)|0)>=(g|0)}}while(0);return h&1|0}function qn(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;m=Mb;Mb=Mb+16|0;j=m;k=a+20|0;l=a+12|0;g=c[l>>2]|0;h=c[d>>2]|0;if((g|0)==(h|0)?(c[k>>2]|0)==(b|0):0){if((c[a+16>>2]|0)!=(c[d+4>>2]|0))i=4}else if((g|0)!=(h|0)){f=a+16|0;if(!g){e=f;i=9}else{e=f;f=c[f>>2]|0;g=h;i=7}}else{g=h;i=4}if((i|0)==4){e=a+16|0;f=c[e>>2]|0;if((g|0)==0?1:(f|0)==(c[d+4>>2]|0))i=9;else i=7}if((i|0)==7)if(!f)i=9;else{i=c[d+4>>2]|0;c[j>>2]=g;c[j+4>>2]=i;jV(169236,j)|0;i=9}if((i|0)==9){c[a+192>>2]=0;c[k>>2]=b;c[l>>2]=c[d>>2];c[e>>2]=c[d+4>>2];Gw(a);fZ(a)}kb(c[a+40>>2]|0);mb(0,0,c[a>>2]|0,c[a+4>>2]|0);e=c[a+44>>2]|0;if(!((e|0)==(c[d>>2]|0)?(c[a+48>>2]|0)==(c[d+4>>2]|0):0)){CJ(a,d);e=c[d>>2]|0}f=c[d+8>>2]|0;if((f|0)>(e|0)?(c[a+192>>2]|0)==0:0){TU(a,+(f-e|0)/+(f|0));fZ(a)}tA(a,d);Va(5,0,4);Mb=m;return 0}function rn(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;p=Mb;Mb=Mb+16|0;n=p+8|0;m=p;f=c[a>>2]|0;j=f+52|0;k=f+1280|0;l=(c[e+100>>2]|0)==(b|0);c[a+32>>2]=1;c[a+224>>2]=0;c[a+312>>2]=0;l0(k);i=f+40|0;a:do if((xg(i,b,d,e,0,0,174,1)|0)>=0){d=f+44|0;b=0;b:while(1){if((b|0)>=(c[d>>2]|0))break;f=c[i>>2]|0;g=f+(b*72|0)+28|0;h=c[f+(b*72|0)+48>>2]|0;switch(h|0){case 32:{He(g,e,j)|0;break}case 33:{wn(g,e,j,1)|0;break}case 34:{Gd(g,e,j)|0;break}case 40:case 39:{qQ(g,e,k,j,h)|0;break}case 9:case 8:case 7:case 6:case 21:case 20:case 19:case 18:case 17:case 16:case 5:case 4:case 3:case 2:case 1:case 0:{if(l){o=10;break b}if(lf(a,f+(b*72|0)|0,e)|0)break a;break}default:{}}b=b+1|0}if((o|0)==10){c[m>>2]=h;AD(e,16,175372,m);break}if(!l)AD(e,16,175394,n)}while(0);Mb=p;return}function sn(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==4)break;j=c+2|0;m=c+-2|0;i=c+4|0;a=H((e[i>>1]|0)+(e[m>>1]|0)|0,-5)|0;k=c+6|0;a=(((e[j>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+a+(e[k>>1]|0)>>5;b[d>>1]=((e[d>>1]|0)+1+(a>>>0<16384?a:0-a>>31&16383)|0)>>>1;a=d+2|0;n=H((e[k>>1]|0)+(e[c>>1]|0)|0,-5)|0;l=c+8|0;n=(((e[i>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[m>>1]|0)+n+(e[l>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<16384?n:0-n>>31&16383)|0)>>>1;a=d+4|0;n=H((e[l>>1]|0)+(e[j>>1]|0)|0,-5)|0;m=c+10|0;n=(((e[k>>1]|0)+(e[i>>1]|0)|0)*20|0)+16+(e[c>>1]|0)+n+(e[m>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<16384?n:0-n>>31&16383)|0)>>>1;a=d+6|0;i=H((e[m>>1]|0)+(e[i>>1]|0)|0,-5)|0;i=(((e[l>>1]|0)+(e[k>>1]|0)|0)*20|0)+16+(e[j>>1]|0)+i+(e[c+12>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(i>>>0<16384?i:0-i>>31&16383)|0)>>>1;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function tn(b,d,e,f,g,h,i,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=Mb;Mb=Mb+64|0;q=s;p=s+12|0;r=s+8|0;l=p;m=l+52|0;do{c[l>>2]=0;l=l+4|0}while((l|0)<(m|0));c[r>>2]=0;o=RD((nA(d)|0)+1|0)|0;if(!o)l=-12;else{n=o;l=d;a:while(1){do{m=a[l>>0]|0;if(!(m<<24>>24))break a;l=l+1|0}while((UW(m<<24>>24)|0)!=0);a[n>>0]=m;n=n+1|0}a[n>>0]=0;c[p>>2]=167288;c[p+4>>2]=100;m=p+8|0;c[m>>2]=o;c[p+16>>2]=e;c[p+20>>2]=g;c[p+24>>2]=f;c[p+28>>2]=i;c[p+32>>2]=h;c[p+40>>2]=j;c[p+44>>2]=k;l=ws(r,p)|0;do if((l|0)>=0){m=c[m>>2]|0;if(a[m>>0]|0){c[q>>2]=m;c[q+4>>2]=d;AD(p,16,217441,q);l=-22;break}m=c[r>>2]|0;if(Fn(m)|0){q=EZ(80)|0;c[m+32>>2]=q;if(!q)l=-12;else{c[b>>2]=m;c[r>>2]=0}}else l=-22}while(0);wP(c[r>>2]|0);$1(o)}Mb=s;return l|0}function un(a,c){a=a|0;c=c|0;var d=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=c>>1;i=0-p|0;j=a+14+(i<<1)|0;g=a+(p<<3<<1)+-2|0;f=g+(0-(c&-2)<<1)|0;o=a+((p*30|0)+-2)|0;n=a+((c+-2&-2)-(c>>>1<<2))|0;c=2;h=(e[g>>1]|0)-(e[f>>1]|0)|0;d=(e[j+2>>1]|0)-(e[j+-2>>1]|0)|0;while(1){if((c|0)==9)break;m=g+(p<<1)|0;l=f+(i<<1)|0;k=(H((e[j+(c<<1)>>1]|0)-(e[j+(0-c<<1)>>1]|0)|0,c)|0)+d|0;q=(H((e[m>>1]|0)-(e[l>>1]|0)|0,c)|0)+h|0;c=c+1|0;h=q;d=k;f=l;g=m}m=(d*5|0)+32>>6;i=(h*5|0)+32>>6;j=m<<1;k=m*3|0;l=m<<2;g=(H(i+m|0,-7)|0)+16+((e[n+32>>1]|0)+(e[o>>1]|0)<<4)|0;h=16;f=a;while(1){if(!h)break;c=g;d=-16;while(1){if((d|0)>=0)break;q=c>>5;b[f+(d+16<<1)>>1]=q>>>0<4096?q:0-q>>31&4095;q=c+m>>5;b[f+(d+17<<1)>>1]=q>>>0<4096?q:0-q>>31&4095;q=c+j>>5;b[f+(d+18<<1)>>1]=q>>>0<4096?q:0-q>>31&4095;q=c+k>>5;b[f+(d+19<<1)>>1]=q>>>0<4096?q:0-q>>31&4095;c=c+l|0;d=d+4|0}g=g+i|0;h=h+-1|0;f=f+(p<<1)|0}return}function vn(a,c){a=a|0;c=c|0;var d=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=c>>1;i=0-p|0;j=a+14+(i<<1)|0;g=a+(p<<3<<1)+-2|0;f=g+(0-(c&-2)<<1)|0;o=a+((p*30|0)+-2)|0;n=a+((c+-2&-2)-(c>>>1<<2))|0;c=2;h=(e[g>>1]|0)-(e[f>>1]|0)|0;d=(e[j+2>>1]|0)-(e[j+-2>>1]|0)|0;while(1){if((c|0)==9)break;m=g+(p<<1)|0;l=f+(i<<1)|0;k=(H((e[j+(c<<1)>>1]|0)-(e[j+(0-c<<1)>>1]|0)|0,c)|0)+d|0;q=(H((e[m>>1]|0)-(e[l>>1]|0)|0,c)|0)+h|0;c=c+1|0;h=q;d=k;f=l;g=m}m=(d*5|0)+32>>6;i=(h*5|0)+32>>6;j=m<<1;k=m*3|0;l=m<<2;g=(H(i+m|0,-7)|0)+16+((e[n+32>>1]|0)+(e[o>>1]|0)<<4)|0;h=16;f=a;while(1){if(!h)break;c=g;d=-16;while(1){if((d|0)>=0)break;q=c>>5;b[f+(d+16<<1)>>1]=q>>>0<1024?q:0-q>>31&1023;q=c+m>>5;b[f+(d+17<<1)>>1]=q>>>0<1024?q:0-q>>31&1023;q=c+j>>5;b[f+(d+18<<1)>>1]=q>>>0<1024?q:0-q>>31&1023;q=c+k>>5;b[f+(d+19<<1)>>1]=q>>>0<1024?q:0-q>>31&1023;c=c+l|0;d=d+4|0}g=g+i|0;h=h+-1|0;f=f+(p<<1)|0}return}function wn(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;o=Mb;Mb=Mb+48|0;j=o+16|0;g=o+8|0;k=o+44|0;h=o+40|0;l=TW(17552)|0;c[k>>2]=l;m=l;do if(!l)f=-12;else{n=l+4|0;i=c[n>>2]|0;AD(b,48,178193,o);f=(c[a+4>>2]|0)-(c[a>>2]|0)|0;if(f>>>0>4096){c[g>>2]=f;c[g+4>>2]=4096;AD(b,24,178207,g);f=4096}c[i+17548>>2]=f;Mn(i+13452|0,c[a>>2]|0,f|0)|0;f=fd(i,a,h,e,d,b)|0;if((f|0)<0){F$(k);break}a=c[h>>2]|0;if(c[b+680>>2]&4|0){f=c[i+13376>>2]|0;g=c[i+13380>>2]|0;e=f-(c[i+12>>2]|0)-(c[i+16>>2]|0)|0;h=g-(c[i+20>>2]|0)-(c[i+24>>2]|0)|0;i=BY(c[i+56>>2]|0)|0;c[j>>2]=a;c[j+4>>2]=f;c[j+8>>2]=g;c[j+12>>2]=e;c[j+16>>2]=h;c[j+20>>2]=i;AD(b,48,178252,j)}f=d+64+(a<<2)|0;g=c[f>>2]|0;if(g|0?(AE(c[g+4>>2]|0,c[n>>2]|0,c[l+8>>2]|0)|0)==0:0){F$(k);f=0;break}Xw(d,a);c[f>>2]=m;f=0}while(0);Mb=o;return f|0}function xn(b,c){b=b|0;c=c|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;u=23024+(0-(d[b+~c>>0]|0))|0;v=b+(0-c)|0;f=v+1|0;g=v+2|0;h=v+3|0;i=v+4|0;j=v+5|0;k=v+6|0;l=v+7|0;m=v+8|0;n=v+9|0;o=v+10|0;p=v+11|0;q=v+12|0;r=v+13|0;s=v+14|0;t=v+15|0;e=0;while(1){if((e|0)==16)break;w=u+(d[b+-1>>0]|0)|0;a[b>>0]=a[w+(d[v>>0]|0)>>0]|0;a[b+1>>0]=a[w+(d[f>>0]|0)>>0]|0;a[b+2>>0]=a[w+(d[g>>0]|0)>>0]|0;a[b+3>>0]=a[w+(d[h>>0]|0)>>0]|0;a[b+4>>0]=a[w+(d[i>>0]|0)>>0]|0;a[b+5>>0]=a[w+(d[j>>0]|0)>>0]|0;a[b+6>>0]=a[w+(d[k>>0]|0)>>0]|0;a[b+7>>0]=a[w+(d[l>>0]|0)>>0]|0;a[b+8>>0]=a[w+(d[m>>0]|0)>>0]|0;a[b+9>>0]=a[w+(d[n>>0]|0)>>0]|0;a[b+10>>0]=a[w+(d[o>>0]|0)>>0]|0;a[b+11>>0]=a[w+(d[p>>0]|0)>>0]|0;a[b+12>>0]=a[w+(d[q>>0]|0)>>0]|0;a[b+13>>0]=a[w+(d[r>>0]|0)>>0]|0;a[b+14>>0]=a[w+(d[s>>0]|0)>>0]|0;a[b+15>>0]=a[w+(d[t>>0]|0)>>0]|0;b=b+c|0;e=e+1|0}return}function yn(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==4)break;j=c+2|0;m=c+-2|0;i=c+4|0;a=H((e[i>>1]|0)+(e[m>>1]|0)|0,-5)|0;k=c+6|0;a=(((e[j>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+a+(e[k>>1]|0)>>5;b[d>>1]=((e[d>>1]|0)+1+(a>>>0<4096?a:0-a>>31&4095)|0)>>>1;a=d+2|0;n=H((e[k>>1]|0)+(e[c>>1]|0)|0,-5)|0;l=c+8|0;n=(((e[i>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[m>>1]|0)+n+(e[l>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<4096?n:0-n>>31&4095)|0)>>>1;a=d+4|0;n=H((e[l>>1]|0)+(e[j>>1]|0)|0,-5)|0;m=c+10|0;n=(((e[k>>1]|0)+(e[i>>1]|0)|0)*20|0)+16+(e[c>>1]|0)+n+(e[m>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<4096?n:0-n>>31&4095)|0)>>>1;a=d+6|0;i=H((e[m>>1]|0)+(e[i>>1]|0)|0,-5)|0;i=(((e[l>>1]|0)+(e[k>>1]|0)|0)*20|0)+16+(e[j>>1]|0)+i+(e[c+12>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(i>>>0<4096?i:0-i>>31&4095)|0)>>>1;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function zn(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==4)break;j=c+2|0;m=c+-2|0;i=c+4|0;a=H((e[i>>1]|0)+(e[m>>1]|0)|0,-5)|0;k=c+6|0;a=(((e[j>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+a+(e[k>>1]|0)>>5;b[d>>1]=((e[d>>1]|0)+1+(a>>>0<1024?a:0-a>>31&1023)|0)>>>1;a=d+2|0;n=H((e[k>>1]|0)+(e[c>>1]|0)|0,-5)|0;l=c+8|0;n=(((e[i>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[m>>1]|0)+n+(e[l>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<1024?n:0-n>>31&1023)|0)>>>1;a=d+4|0;n=H((e[l>>1]|0)+(e[j>>1]|0)|0,-5)|0;m=c+10|0;n=(((e[k>>1]|0)+(e[i>>1]|0)|0)*20|0)+16+(e[c>>1]|0)+n+(e[m>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<1024?n:0-n>>31&1023)|0)>>>1;a=d+6|0;i=H((e[m>>1]|0)+(e[i>>1]|0)|0,-5)|0;i=(((e[l>>1]|0)+(e[k>>1]|0)|0)*20|0)+16+(e[j>>1]|0)+i+(e[c+12>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(i>>>0<1024?i:0-i>>31&1023)|0)>>>1;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function An(a,c){a=a|0;c=c|0;var d=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=c>>1;i=0-p|0;j=a+14+(i<<1)|0;g=a+(p<<3<<1)+-2|0;f=g+(0-(c&-2)<<1)|0;o=a+((p*30|0)+-2)|0;n=a+((c+-2&-2)-(c>>>1<<2))|0;c=2;h=(e[g>>1]|0)-(e[f>>1]|0)|0;d=(e[j+2>>1]|0)-(e[j+-2>>1]|0)|0;while(1){if((c|0)==9)break;m=g+(p<<1)|0;l=f+(i<<1)|0;k=(H((e[j+(c<<1)>>1]|0)-(e[j+(0-c<<1)>>1]|0)|0,c)|0)+d|0;q=(H((e[m>>1]|0)-(e[l>>1]|0)|0,c)|0)+h|0;c=c+1|0;h=q;d=k;f=l;g=m}m=(d*5|0)+32>>6;i=(h*5|0)+32>>6;j=m<<1;k=m*3|0;l=m<<2;g=(H(i+m|0,-7)|0)+16+((e[n+32>>1]|0)+(e[o>>1]|0)<<4)|0;h=16;f=a;while(1){if(!h)break;c=g;d=-16;while(1){if((d|0)>=0)break;q=c>>5;b[f+(d+16<<1)>>1]=q>>>0<512?q:0-q>>31&511;q=c+m>>5;b[f+(d+17<<1)>>1]=q>>>0<512?q:0-q>>31&511;q=c+j>>5;b[f+(d+18<<1)>>1]=q>>>0<512?q:0-q>>31&511;q=c+k>>5;b[f+(d+19<<1)>>1]=q>>>0<512?q:0-q>>31&511;c=c+l|0;d=d+4|0}g=g+i|0;h=h+-1|0;f=f+(p<<1)|0}return}function Bn(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==4)break;j=c+2|0;m=c+-2|0;i=c+4|0;a=H((e[i>>1]|0)+(e[m>>1]|0)|0,-5)|0;k=c+6|0;a=(((e[j>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+a+(e[k>>1]|0)>>5;b[d>>1]=((e[d>>1]|0)+1+(a>>>0<512?a:0-a>>31&511)|0)>>>1;a=d+2|0;n=H((e[k>>1]|0)+(e[c>>1]|0)|0,-5)|0;l=c+8|0;n=(((e[i>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[m>>1]|0)+n+(e[l>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<512?n:0-n>>31&511)|0)>>>1;a=d+4|0;n=H((e[l>>1]|0)+(e[j>>1]|0)|0,-5)|0;m=c+10|0;n=(((e[k>>1]|0)+(e[i>>1]|0)|0)*20|0)+16+(e[c>>1]|0)+n+(e[m>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<512?n:0-n>>31&511)|0)>>>1;a=d+6|0;i=H((e[m>>1]|0)+(e[i>>1]|0)|0,-5)|0;i=(((e[l>>1]|0)+(e[k>>1]|0)|0)*20|0)+16+(e[j>>1]|0)+i+(e[c+12>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(i>>>0<512?i:0-i>>31&511)|0)>>>1;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function Cn(b,c,e){b=b|0;c=c|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;t=d[b+-1>>0]|0;q=d[b+(e+-1)>>0]|0;j=e<<1;m=d[b+(j+-1)>>0]|0;f=e*3|0;l=d[b+(f+-1)>>0]|0;i=d[b+((e<<2)+-1)>>0]|0;h=d[b+((e*5|0)+-1)>>0]|0;g=d[b+((e*6|0)+-1)>>0]|0;o=d[b+(2-e)>>0]|0;r=d[b+(3-e)>>0]|0;p=d[c>>0]|0;n=d[c+1>>0]|0;k=d[c+2>>0]|0;c=d[c+3>>0]|0;s=(q<<1)+4|0;a[b>>0]=(s+(d[b+(1-e)>>0]|0)+r+(o+t<<1)|0)>>>3;a[b+1>>0]=(s+t+m+o+(r<<1)+p|0)>>>3;o=m<<1;r=(s+o+r+(p<<1)+n|0)>>>3&255;a[b+e>>0]=r;a[b+2>>0]=r;o=o+4|0;p=(o+q+l+p+(n<<1)+k|0)>>>3&255;a[b+(e+1)>>0]=p;a[b+3>>0]=p;n=(o+n+c+(k+l<<1)|0)>>>3&255;a[b+j>>0]=n;a[b+(e+2)>>0]=n;m=(m+4+k+((c+l|0)*3|0)|0)>>>3&255;a[b+(j|1)>>0]=m;a[b+(e+3)>>0]=m;e=l+2|0;l=(e+(i<<1)+h|0)>>>2&255;a[b+(f+1)>>0]=l;a[b+(j+3)>>0]=l;e=(e+i+k+c|0)>>>2&255;a[b+(j+2)>>0]=e;a[b+f>>0]=e;a[b+(f+2)>>0]=(i+1+h|0)>>>1;a[b+(f+3)>>0]=(i+2+(h<<1)+g|0)>>>2;return}function Dn(a,b,g,h){a=a|0;b=b|0;g=g|0;h=h|0;var 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,u=0,v=0,w=0,x=0,y=0,z=0;x=Mb;Mb=Mb+16|0;w=c[g+368>>2]|0;a:do if((c[a+6472>>2]|0)==4)AD(c[a+4>>2]|0,16,196342,x);else{v=g+288|0;u=c[g+304>>2]|0;p=b+13760|0;a=0;q=0;r=g+14048|0;while(1){if((q|0)>=(u|0))break a;s=g+308+q|0;t=d[v>>0]|0;b=0;while(1){if(b>>>0>=t>>>0)break;b:do if(!(c[g+6160+(a<<2)>>2]|0))b=b+1|0;else{n=+f[g+148808+(h*480|0)+(a<<2)>>2];o=w+(b<<1)|0;b=b+1|0;k=w+(b<<1)|0;j=0;while(1){if(j>>>0>=(d[s>>0]|0)>>>0)break b;l=e[k>>1]|0;m=j<<7;i=e[o>>1]|0;while(1){if(i>>>0>=l>>>0)break;z=i+m|0;y=p+(z<<2)|0;f[y>>2]=+f[y>>2]+n*+f[r+(z<<2)>>2];i=i+1|0}j=j+1|0}}while(0);a=a+1|0}z=(d[s>>0]|0)<<7;p=p+(z<<2)|0;q=q+1|0;r=r+(z<<2)|0}}while(0);Mb=x;return}function En(c,e,f,g,h,i,j,k,l,m,n,o,p,q){c=c|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;z=o+-1|0;r=20704+(z<<4)|0;s=j+7|0;t=20704+(z<<4)+1|0;u=20704+(z<<4)+2|0;v=20704+(z<<4)+3|0;w=20704+(z<<4)+4|0;x=20704+(z<<4)+5|0;y=20704+(z<<4)+6|0;z=20704+(z<<4)+7|0;j=m+1+n<<j+6;n=0;p=f;while(1){if((n|0)>=(i|0))break;o=0;while(1){if((o|0)>=(q|0))break;m=H(d[p+(o+-3)>>0]|0,a[r>>0]|0)|0;m=(H(d[p+(o+-2)>>0]|0,a[t>>0]|0)|0)+m|0;m=m+(H(d[p+(o+-1)>>0]|0,a[u>>0]|0)|0)|0;m=m+(H(d[p+o>>0]|0,a[v>>0]|0)|0)|0;f=o+1|0;m=m+(H(d[p+f>>0]|0,a[w>>0]|0)|0)|0;m=m+(H(d[p+(o+2)>>0]|0,a[x>>0]|0)|0)|0;m=m+(H(d[p+(o+3)>>0]|0,a[y>>0]|0)|0)|0;m=H(m+(H(d[p+(o+4)>>0]|0,a[z>>0]|0)|0)|0,l)|0;m=(H(b[h+(o<<1)>>1]|0,k)|0)+j+m>>s;a[c+o>>0]=m>>>0>255?0-m>>31:m;o=f}h=h+128|0;c=c+e|0;n=n+1|0;p=p+g|0}return}function Fn(a){a=a|0;a:do if(!a)a=0;else switch(c[a>>2]|0){case 1:case 0:{a=1;break a}case 33:case 32:case 31:case 30:case 29:case 28:case 27:case 9:case 8:case 6:case 7:case 5:case 3:case 2:{if(!(Fn(c[a+20>>2]|0)|0)){a=0;break a}a=(c[a+24>>2]|0)==0;break a}case 38:{if(!(Fn(c[a+20>>2]|0)|0)){a=0;break a}a=c[a+24>>2]|0;if(!a){a=1;break a}a=(Fn(a)|0)!=0;break a}case 25:case 37:case 36:{if(!(Fn(c[a+20>>2]|0)|0)){a=0;break a}if(!(Fn(c[a+24>>2]|0)|0)){a=0;break a}a=c[a+28>>2]|0;if(!a){a=1;break a}a=(Fn(a)|0)!=0;break a}case 44:case 42:case 41:{if(!(Fn(c[a+20>>2]|0)|0)){a=0;break a}if(!(Fn(c[a+24>>2]|0)|0)){a=0;break a}a=(Fn(c[a+28>>2]|0)|0)!=0;break a}default:{if(!(Fn(c[a+20>>2]|0)|0)){a=0;break a}if(!(Fn(c[a+24>>2]|0)|0)){a=0;break a}a=(c[a+28>>2]|0)==0;break a}}while(0);return a&1|0}function Gn(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,q=0,r=0,s=0,t=0,u=0,v=0,w=0;v=b+1412|0;n=c[v>>2]|0;if(!(a[(c[b+1416>>2]|0)+40>>0]|0)){if(a[n+13312>>0]|0?c[n+64>>2]|0:0)m=4}else m=4;a:do if((m|0)==4){m=c[n+13340>>2]|0;o=1<<m;u=c[n+13424+(l<<2)>>2]|0;s=c[n+13436+(l<<2)>>2]|0;t=h>>m;r=j+h>>m;q=k+i>>m;p=o>>u<<c[n+52>>2];b=b+7580|0;o=o>>s;n=i>>m;while(1){if((n|0)>=(q|0))break a;k=t;while(1){if((k|0)>=(r|0))break;m=c[v>>2]|0;j=(c[b>>2]|0)+((H(c[m+13412>>2]|0,n)|0)+k)|0;b:do if(a[j>>0]|0){l=c[m+13340>>2]|0;w=(n<<l)-i>>s;j=d+(H(w,f)|0)|0;l=(k<<l)-h>>u<<c[m+52>>2];m=e+(H(w,g)|0)+l|0;l=j+l|0;j=0;while(1){if((j|0)>=(o|0))break b;Mn(l|0,m|0,p|0)|0;m=m+g|0;l=l+f|0;j=j+1|0}}while(0);k=k+1|0}n=n+1|0}}while(0);return}function Hn(c,f,g){c=c|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;b[f>>1]=(e[f>>1]|0)+32;h=0;while(1){if((h|0)==4)break;p=f+(h<<1)|0;o=b[p>>1]|0;l=f+(h+8<<1)|0;n=b[l>>1]|0;k=n+o|0;n=o-n|0;o=f+(h+4<<1)|0;i=b[o>>1]|0;j=f+(h+12<<1)|0;q=b[j>>1]|0;m=(i>>1)-q|0;i=(q>>1)+i|0;b[p>>1]=i+k;b[o>>1]=m+n;b[l>>1]=n-m;b[j>>1]=k-i;h=h+1|0}i=g<<1;j=g*3|0;h=0;while(1){if((h|0)==4)break;q=h<<2;p=b[f+(q<<1)>>1]|0;m=b[f+((q|2)<<1)>>1]|0;o=m+p|0;m=p-m|0;p=b[f+((q|1)<<1)>>1]|0;q=b[f+((q|3)<<1)>>1]|0;n=(p>>1)-q|0;p=(q>>1)+p|0;q=c+h|0;l=(p+o>>6)+(d[q>>0]|0)|0;a[q>>0]=l>>>0>255?0-l>>31:l;q=c+(h+g)|0;l=(n+m>>6)+(d[q>>0]|0)|0;a[q>>0]=l>>>0>255?0-l>>31:l;q=c+(h+i)|0;n=(m-n>>6)+(d[q>>0]|0)|0;a[q>>0]=n>>>0>255?0-n>>31:n;q=c+(h+j)|0;p=(o-p>>6)+(d[q>>0]|0)|0;a[q>>0]=p>>>0>255?0-p>>31:p;h=h+1|0}h=f+32|0;do{b[f>>1]=0;f=f+2|0}while((f|0)<(h|0));return}function In(b,c,e,f,g,h,i,j,k,l,m){b=b|0;c=c|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;x=l+-1|0;z=20704+(x<<4)|0;A=h+6|0;o=1<<h+5;p=f*3|0;q=20704+(x<<4)+1|0;r=f<<1;s=20704+(x<<4)+2|0;t=20704+(x<<4)+3|0;u=20704+(x<<4)+4|0;v=20704+(x<<4)+5|0;w=20704+(x<<4)+6|0;x=20704+(x<<4)+7|0;y=f<<2;n=0;h=e;l=b;while(1){if((n|0)>=(g|0))break;k=0;while(1){if((k|0)>=(m|0))break;b=H(d[h+(k-p)>>0]|0,a[z>>0]|0)|0;b=(H(d[h+(k-r)>>0]|0,a[q>>0]|0)|0)+b|0;b=b+(H(d[h+(k-f)>>0]|0,a[s>>0]|0)|0)|0;b=b+(H(d[h+k>>0]|0,a[t>>0]|0)|0)|0;b=b+(H(d[h+(k+f)>>0]|0,a[u>>0]|0)|0)|0;b=b+(H(d[h+(k+r)>>0]|0,a[v>>0]|0)|0)|0;b=b+(H(d[h+(k+p)>>0]|0,a[w>>0]|0)|0)|0;b=((H(b+(H(d[h+(k+y)>>0]|0,a[x>>0]|0)|0)|0,i)|0)+o>>A)+j|0;a[l+k>>0]=b>>>0>255?0-b>>31:b;k=k+1|0}n=n+1|0;h=h+f|0;l=l+c|0}return}function Jn(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;n=Mb;Mb=Mb+16|0;i=n;m=b+6472|0;if((c[m>>2]|0)!=39?(mT(d)|0)==0:0){j=0;i=0;k=0;l=11}else l=3;a:do if((l|0)==3){h=e+288|0;if(!(Tf(b,h,d)|0)){k=a[e+74508>>0]|0;f=e+74496|0;Mn(f|0,h|0,292)|0;a[e+74509>>0]=k;if((c[e+74596>>2]|0?(c[m>>2]|0)!=1:0)?(k=(HG(d,1)|0)&255,g=e+74524|0,a[g>>0]=k,k<<24>>24):0)oF(g,d,a[f>>0]|0);f=HG(d,2)|0;switch(f|0){case 0:{j=f;i=1;k=1;l=11;break a}case 3:{AD(c[b+4>>2]|0,16,196974,i);f=-1094995529;break a}default:{rD(e,d,f);j=f;i=1;k=1;l=11;break a}}}else f=-1094995529}while(0);if((l|0)==11){h=e+288|0;f=rj(b,h,d,i)|0;if(!f){g=e+74496|0;f=rj(b,g,d,i)|0;if(!f){if(k){if(j|0)_r(b,e);if((c[m>>2]|0)==1){Oh(b,h);Oh(b,g)}}jo(b,e,j);f=0}}}Mb=n;return f|0}function Kn(b,c,e){b=b|0;c=c|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;t=d[b+(1-e)>>0]|0;p=d[b+(3-e)>>0]|0;l=d[c>>0]|0;i=d[c+1>>0]|0;j=d[c+2>>0]|0;g=d[c+3>>0]|0;s=d[b+(e+-1)>>0]|0;h=e<<1;c=e*3|0;n=d[b+(c+-1)>>0]|0;o=d[b+((e<<2)+-1)>>0]|0;m=d[b+((e*5|0)+-1)>>0]|0;k=d[b+((e*6|0)+-1)>>0]|0;f=d[b+((e*7|0)+-1)>>0]|0;r=(d[b+(h+-1)>>0]|0)+(d[b+(2-e)>>0]|0)|0;q=r+4|0;a[b>>0]=(q+(d[b+(0-e)>>0]|0)+(d[b+-1>>0]|0)+(s+t<<1)|0)>>>3;p=n+p|0;n=p+4|0;r=(n+t+s+(r<<1)|0)>>>3&255;a[b+e>>0]=r;a[b+1>>0]=r;p=(q+l+o+(p<<1)|0)>>>3&255;a[b+h>>0]=p;a[b+(e+1)>>0]=p;a[b+2>>0]=p;l=o+l|0;n=(n+i+m+(l<<1)|0)>>>3&255;a[b+c>>0]=n;a[b+(h|1)>>0]=n;a[b+(e+2)>>0]=n;a[b+3>>0]=n;i=m+i|0;l=(l+4+j+k+(i<<1)|0)>>>3&255;a[b+(c+1)>>0]=l;a[b+(h+2)>>0]=l;a[b+(e+3)>>0]=l;e=k+j|0;i=(i+4+g+f+(e<<1)|0)>>>3&255;a[b+(c+2)>>0]=i;a[b+(h+3)>>0]=i;a[b+(c+3)>>0]=(e+2+g+f|0)>>>2;return}function Ln(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;o=Mb;Mb=Mb+16|0;h=o;i=c[(c[e+(c[f>>2]<<2)>>2]|0)+4>>2]|0;c[b+144>>2]=c[f+56>>2];e=c[f+13376>>2]|0;c[b+132>>2]=e;g=c[f+13380>>2]|0;c[b+136>>2]=g;c[b+124>>2]=e-(c[f+12>>2]|0)-(c[f+16>>2]|0);c[b+128>>2]=g-(c[f+20>>2]|0)-(c[f+24>>2]|0);c[b+180>>2]=c[f+72+(((c[f+68>>2]|0)+-1|0)*12|0)+4>>2];c[b+828>>2]=d[f+302>>0];c[b+832>>2]=d[f+335>>0];g=f+160|0;c[h>>2]=c[g>>2];c[h+4>>2]=c[g+4>>2];hz(b,h)|0;if(!(c[f+176>>2]|0))e=1;else e=(c[f+184>>2]|0)==0?1:2;c[b+400>>2]=e;if(!(c[f+188>>2]|0)){e=2;g=2;h=2}else{e=d[f+194>>0]|0;g=d[f+193>>0]|0;h=d[f+192>>0]|0}c[b+388>>2]=h;c[b+392>>2]=g;c[b+396>>2]=e;if(!(a[i+444>>0]|0)){if(c[f+240>>2]|0){k=f+248|0;m=f+244|0;n=9}}else{k=i+452|0;m=i+448|0;n=9}if((n|0)==9?(j=c[k>>2]|0,l=c[m>>2]|0,(l|0)!=0&(j|0)!=0):0)ih(b+884|0,b+880|0,l,0,j,0,1073741824,0)|0;Mb=o;return}function Mn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if((e|0)>=8192){qa(b|0,d|0,e|0)|0;return b|0}h=b|0;g=b+e|0;if((b&3)==(d&3)){while(b&3){if(!e)return h|0;a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}e=g&-4|0;f=e-64|0;while((b|0)<=(f|0)){c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];c[b+16>>2]=c[d+16>>2];c[b+20>>2]=c[d+20>>2];c[b+24>>2]=c[d+24>>2];c[b+28>>2]=c[d+28>>2];c[b+32>>2]=c[d+32>>2];c[b+36>>2]=c[d+36>>2];c[b+40>>2]=c[d+40>>2];c[b+44>>2]=c[d+44>>2];c[b+48>>2]=c[d+48>>2];c[b+52>>2]=c[d+52>>2];c[b+56>>2]=c[d+56>>2];c[b+60>>2]=c[d+60>>2];b=b+64|0;d=d+64|0}while((b|0)<(e|0)){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}}else{e=g-4|0;while((b|0)<(e|0)){a[b>>0]=a[d>>0]|0;a[b+1>>0]=a[d+1>>0]|0;a[b+2>>0]=a[d+2>>0]|0;a[b+3>>0]=a[d+3>>0]|0;b=b+4|0;d=d+4|0}}while((b|0)<(g|0)){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}return h|0}function Nn(a){a=a|0;var b=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0.0;d=a+4|0;k=+f[d>>2];f[a>>2]=(+f[a>>2]*2.0+k)*.3333333432674408;e=a+8|0;f[d>>2]=(k+ +f[e>>2]*2.0)*.3333333432674408;d=a+12|0;i=a+16|0;k=+f[i>>2];f[e>>2]=(+f[d>>2]*2.0+k)*.3333333432674408;e=a+20|0;f[d>>2]=(k+ +f[e>>2]*2.0)*.3333333432674408;d=a+24|0;b=a+28|0;f[i>>2]=(+f[d>>2]+ +f[b>>2])*.5;i=a+32|0;g=a+36|0;f[e>>2]=(+f[i>>2]+ +f[g>>2])*.5;e=a+40|0;c[d>>2]=c[e>>2];d=a+44|0;c[b>>2]=c[d>>2];b=a+48|0;j=a+52|0;f[i>>2]=(+f[b>>2]+ +f[j>>2])*.5;i=a+56|0;h=a+60|0;f[g>>2]=(+f[i>>2]+ +f[h>>2])*.5;g=a+64|0;c[e>>2]=c[g>>2];e=a+68|0;c[d>>2]=c[e>>2];d=a+72|0;c[b>>2]=c[d>>2];b=a+76|0;c[j>>2]=c[b>>2];f[i>>2]=(+f[a+80>>2]+ +f[a+84>>2])*.5;f[h>>2]=(+f[a+88>>2]+ +f[a+92>>2])*.5;f[g>>2]=(+f[a+96>>2]+ +f[a+100>>2])*.5;f[e>>2]=(+f[a+104>>2]+ +f[a+108>>2])*.5;f[d>>2]=(+f[a+112>>2]+ +f[a+116>>2]+ +f[a+120>>2]+ +f[a+124>>2])*.25;f[b>>2]=(+f[a+128>>2]+ +f[a+132>>2])*.5;return}function On(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,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;v=Mb;Mb=Mb+320|0;n=v;o=c[a>>2]|0;p=a+4|0;q=c[p>>2]|0;r=a+8|0;s=c[r>>2]|0;t=a+12|0;u=c[t>>2]|0;l=a+16|0;m=c[l>>2]|0;f=m;g=u;h=s;i=q;j=o;k=0;while(1){if((k|0)==80)break;if(k>>>0<16){e=b+(k<<2)|0;e=W_(d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24|0)|0}else{e=c[n+(k+-8<<2)>>2]^c[n+(k+-3<<2)>>2]^c[n+(k+-14<<2)>>2]^c[n+(k+-16<<2)>>2];e=e<<1|e>>>31}c[n+(k<<2)>>2]=e;f=f+(j<<5|j>>>27)+e|0;do if(k>>>0<40){e=g^h;if(k>>>0<20){e=(e&i^g)+1518500249|0;break}else{e=(e^i)+1859775393|0;break}}else if(k>>>0<60){e=((h|i)&g|h&i)+-1894007588|0;break}else{e=(g^h^i)+-899497514|0;break}while(0);y=j;x=h;w=g;h=i<<30|i>>>2;j=f+e|0;k=k+1|0;i=y;g=x;f=w}c[a>>2]=j+o;c[p>>2]=i+q;c[r>>2]=h+s;c[t>>2]=g+u;c[l>>2]=f+m;Mb=v;return}function Pn(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=Mb;Mb=Mb+32|0;n=o+16|0;m=o+8|0;i=o;if(a[f+21>>0]|0){k=(CL(b)|0)+2&255;a[f+1629>>0]=k}k=(mT(b)|0)&255;a[f+1630>>0]=k;k=(mT(b)|0)&255;a[f+1631>>0]=k;a:do if(!(k<<24>>24))j=13;else{p=(CL(b)|0)&255;a[f+1632>>0]=p;p=CL(b)|0;h=p&255;k=f+1633|0;a[k>>0]=h;if((p&254)>>>0>5){AD(e,16,178792,i);break}i=0;while(1){if(i>>>0>(h&255)>>>0){j=13;break a}p=(g$(b)|0)&255;a[f+1634+i>>0]=p;if(p<<24>>24)AD(e,24,178856,m);p=(g$(b)|0)&255;a[f+1640+i>>0]=p;if(p<<24>>24)AD(e,24,178856,n);i=i+1|0;h=a[k>>0]|0}}while(0);if((j|0)==13?(l=(CL(b)|0)&255,p=f+1646|0,a[p>>0]=l,l=CL(b)|0,a[f+1647>>0]=l,n=c[g+44>>2]|0,(((n|0)>10?n+-10|0:0)|0)>=(d[p>>0]|0)):0){p=c[g+48>>2]|0;Mb=o;return ((((p|0)>10?p+-10|0:0)|0)<(l&255|0)?-1094995529:0)|0}Mb=o;return -1094995529}function Qn(c,d,f,g,h,i,j,k,l){c=c|0;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,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=g>>>1;u=d>>>1;t=j+-1|0;m=20704+(t<<4)|0;n=20704+(t<<4)+1|0;o=20704+(t<<4)+2|0;p=20704+(t<<4)+3|0;q=20704+(t<<4)+4|0;r=20704+(t<<4)+5|0;s=20704+(t<<4)+6|0;t=20704+(t<<4)+7|0;j=h;h=0;d=f;k=c;while(1){if((h|0)>=(i|0))break;g=0;while(1){if((g|0)>=(l|0))break;f=H(e[d+(g+-3<<1)>>1]|0,a[m>>0]|0)|0;f=(H(e[d+(g+-2<<1)>>1]|0,a[n>>0]|0)|0)+f|0;f=f+(H(e[d+(g+-1<<1)>>1]|0,a[o>>0]|0)|0)|0;f=f+(H(e[d+(g<<1)>>1]|0,a[p>>0]|0)|0)|0;c=g+1|0;f=f+(H(e[d+(c<<1)>>1]|0,a[q>>0]|0)|0)|0;f=f+(H(e[d+(g+2<<1)>>1]|0,a[r>>0]|0)|0)|0;f=f+(H(e[d+(g+3<<1)>>1]|0,a[s>>0]|0)|0)|0;f=f+(H(e[d+(g+4<<1)>>1]|0,a[t>>0]|0)|0)>>2;f=(b[j+(g<<1)>>1]|0)+16+f>>5;b[k+(g<<1)>>1]=f>>>0<1024?f:0-f>>31&1023;g=c}j=j+128|0;h=h+1|0;d=d+(v<<1)|0;k=k+(u<<1)|0}return}function Rn(c,d,f,g,h,i,j,k,l){c=c|0;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,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=g>>>1;u=d>>>1;t=j+-1|0;m=20704+(t<<4)|0;n=20704+(t<<4)+1|0;o=20704+(t<<4)+2|0;p=20704+(t<<4)+3|0;q=20704+(t<<4)+4|0;r=20704+(t<<4)+5|0;s=20704+(t<<4)+6|0;t=20704+(t<<4)+7|0;j=h;h=0;d=f;k=c;while(1){if((h|0)>=(i|0))break;g=0;while(1){if((g|0)>=(l|0))break;f=H(e[d+(g+-3<<1)>>1]|0,a[m>>0]|0)|0;f=(H(e[d+(g+-2<<1)>>1]|0,a[n>>0]|0)|0)+f|0;f=f+(H(e[d+(g+-1<<1)>>1]|0,a[o>>0]|0)|0)|0;f=f+(H(e[d+(g<<1)>>1]|0,a[p>>0]|0)|0)|0;c=g+1|0;f=f+(H(e[d+(c<<1)>>1]|0,a[q>>0]|0)|0)|0;f=f+(H(e[d+(g+2<<1)>>1]|0,a[r>>0]|0)|0)|0;f=f+(H(e[d+(g+3<<1)>>1]|0,a[s>>0]|0)|0)|0;f=f+(H(e[d+(g+4<<1)>>1]|0,a[t>>0]|0)|0)>>4;f=(b[j+(g<<1)>>1]|0)+4+f>>3;b[k+(g<<1)>>1]=f>>>0<4096?f:0-f>>31&4095;g=c}j=j+128|0;h=h+1|0;d=d+(v<<1)|0;k=k+(u<<1)|0}return}function Sn(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,k=0,l=0,m=0,n=0,o=0;n=Mb;Mb=Mb+16|0;m=n;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;j=e0(b)|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;a:do if(((j|0)!=0?(i=c[j+8>>2]|0,(i&8|0)==0&0==0):0)?(c[a>>2]=f,h=c[g>>2]|0,(h|0)<=(2147482623/(e|0)|0|0)):0){h=H(h,e)|0;if(!((i&66|0)==0&0==0)){c[a+4>>2]=f+h;b=h+1024|0;break}b=0;while(1){if((b|0)==4)break;c[m+(c[j+16+(b<<5)>>2]<<2)>>2]=1;b=b+1|0}l=j+6|0;k=e+-1|0;b=h;e=1;j=f;while(1){if(e>>>0>=4)break a;if(!(c[m+(e<<2)>>2]|0))break a;if((e+-1|0)>>>0<2)i=d[l>>0]|0;else i=0;j=j+h|0;c[a+(e<<2)>>2]=j;f=k+(1<<i)>>i;o=c[g+(e<<2)>>2]|0;h=H(o,f)|0;i=(b|0)>(2147483647-h|0);if((o|0)>(2147483647/(f|0)|0|0)){b=-22;break a}if(i){b=-22;break}else{b=(i?0:h)+b|0;e=e+1|0}}}else b=-22;while(0);Mb=n;return b|0}function Tn(c,d,f,g,h,i,j,k,l){c=c|0;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,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=g>>>1;u=d>>>1;t=j+-1|0;m=20704+(t<<4)|0;n=20704+(t<<4)+1|0;o=20704+(t<<4)+2|0;p=20704+(t<<4)+3|0;q=20704+(t<<4)+4|0;r=20704+(t<<4)+5|0;s=20704+(t<<4)+6|0;t=20704+(t<<4)+7|0;j=h;h=0;d=f;k=c;while(1){if((h|0)>=(i|0))break;g=0;while(1){if((g|0)>=(l|0))break;f=H(e[d+(g+-3<<1)>>1]|0,a[m>>0]|0)|0;f=(H(e[d+(g+-2<<1)>>1]|0,a[n>>0]|0)|0)+f|0;f=f+(H(e[d+(g+-1<<1)>>1]|0,a[o>>0]|0)|0)|0;f=f+(H(e[d+(g<<1)>>1]|0,a[p>>0]|0)|0)|0;c=g+1|0;f=f+(H(e[d+(c<<1)>>1]|0,a[q>>0]|0)|0)|0;f=f+(H(e[d+(g+2<<1)>>1]|0,a[r>>0]|0)|0)|0;f=f+(H(e[d+(g+3<<1)>>1]|0,a[s>>0]|0)|0)|0;f=f+(H(e[d+(g+4<<1)>>1]|0,a[t>>0]|0)|0)>>1;f=(b[j+(g<<1)>>1]|0)+32+f>>6;b[k+(g<<1)>>1]=f>>>0<512?f:0-f>>31&511;g=c}j=j+128|0;h=h+1|0;d=d+(v<<1)|0;k=k+(u<<1)|0}return}function Un(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.0,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.0,B=0;y=a+32|0;z=a+36|0;h=c[z>>2]|0;s=c[a+48>>2]|0;i=0;k=c[y>>2]|0;while(1){if((k|0)<(s|0))break;i=i+1|0;k=k-s|0}t=a+4|0;u=a+12|0;v=a+8|0;w=a+28|0;x=a+24|0;r=a+40|0;q=0;while(1){if((q|0)>=(e|0))break;l=(c[t>>2]|0)+((H(c[u>>2]|0,k)|0)<<3)|0;m=c[v>>2]|0;n=((m|0)>1?m:1)&2147483646;a=0;p=0.0;j=0.0;while(1){o=a|1;if((o|0)>=(m|0))break;B=a+i|0;A=j+ +g[d+(B<<3)>>3]*+g[l+(a<<3)>>3];a=a+2|0;p=p+ +g[d+(B+1<<3)>>3]*+g[l+(o<<3)>>3];j=A}if((n|0)<(m|0))j=j+ +g[d+(n+i<<3)>>3]*+g[l+(n<<3)>>3];g[b+(q<<3)>>3]=p+j;a=(c[w>>2]|0)+h|0;h=c[r>>2]|0;B=(a|0)<(h|0);h=B?0:h;k=(c[x>>2]|0)+k+((B^1)&1)|0;while(1){if((k|0)<(s|0))break;i=i+1|0;k=k-s|0}q=q+1|0;h=a-h|0}if(f|0){c[z>>2]=h;c[y>>2]=k}return i|0}function Vn(a,b,d,e,g){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0.0,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.0,B=0;y=a+32|0;z=a+36|0;h=c[z>>2]|0;s=c[a+48>>2]|0;i=0;k=c[y>>2]|0;while(1){if((k|0)<(s|0))break;i=i+1|0;k=k-s|0}t=a+4|0;u=a+12|0;v=a+8|0;w=a+28|0;x=a+24|0;r=a+40|0;q=0;while(1){if((q|0)>=(e|0))break;l=(c[t>>2]|0)+((H(c[u>>2]|0,k)|0)<<2)|0;m=c[v>>2]|0;n=((m|0)>1?m:1)&2147483646;a=0;p=0.0;j=0.0;while(1){o=a|1;if((o|0)>=(m|0))break;B=a+i|0;A=j+ +f[d+(B<<2)>>2]*+f[l+(a<<2)>>2];a=a+2|0;p=p+ +f[d+(B+1<<2)>>2]*+f[l+(o<<2)>>2];j=A}if((n|0)<(m|0))j=j+ +f[d+(n+i<<2)>>2]*+f[l+(n<<2)>>2];f[b+(q<<2)>>2]=p+j;a=(c[w>>2]|0)+h|0;h=c[r>>2]|0;B=(a|0)<(h|0);h=B?0:h;k=(c[x>>2]|0)+k+((B^1)&1)|0;while(1){if((k|0)<(s|0))break;i=i+1|0;k=k-s|0}q=q+1|0;h=a-h|0}if(g|0){c[z>>2]=h;c[y>>2]=k}return i|0}function Wn(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;a:do if(!((e|b|h|i)&15)){k=0;j=b;while(1){if((k|0)>=(g|0))break a;b=0;while(1){if((b|0)>=(f|0))break;n=e+b|0;p=n;o=c[p+4>>2]|0;l=j+b|0;m=l;c[m>>2]=c[p>>2];c[m+4>>2]=o;n=n+8|0;m=c[n+4>>2]|0;l=l+8|0;c[l>>2]=c[n>>2];c[l+4>>2]=m;b=b+16|0}k=k+1|0;j=j+h|0;e=e+i|0}}else{k=0;j=b;while(1){if((k|0)>=(g|0))break a;b=0;while(1){if((b|0)>=(f|0))break;o=e+b|0;m=o;m=d[m>>0]|d[m+1>>0]<<8|d[m+2>>0]<<16|d[m+3>>0]<<24;o=o+4|0;o=d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24;p=j+b|0;n=p;a[n>>0]=m;a[n+1>>0]=m>>8;a[n+2>>0]=m>>16;a[n+3>>0]=m>>24;p=p+4|0;a[p>>0]=o;a[p+1>>0]=o>>8;a[p+2>>0]=o>>16;a[p+3>>0]=o>>24;b=b+8|0}k=k+1|0;j=j+h|0;e=e+i|0}}while(0);return}function Xn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;a:do if((e|0)>=3){if((HG(d,8)|0)!=3){f=e+-1|0;e=0;while(1){if((e|0)==(f|0)){e=0;break a}eW(d,8);e=e+1|0}}eW(d,1);if(((HG(d,1)|0)!=0?(eW(d,1),g=HG(d,5)|0,eW(d,8),(g|0)!=0):0)?(e+-2|0)>=(g*3|0):0){e=c[b>>2]|0;f=MR(g|0,((g|0)<0)<<31>>31|0,3,0)|0;e=aX(f|0,M()|0,e|0,((e|0)<0)<<31>>31|0)|0;f=M()|0;if(!(f>>>0>0|(f|0)==0&e>>>0>2147483647)){f=b+4|0;e=CD(f,e)|0;if((e|0)>=0){e=0;while(1){if((e|0)>=(g|0))break;j=(HG(d,8)|0)&255;i=c[f>>2]|0;h=c[b>>2]|0;c[b>>2]=h+1;a[i+h>>0]=j;h=(HG(d,8)|0)&255;i=c[f>>2]|0;j=c[b>>2]|0;c[b>>2]=j+1;a[i+j>>0]=h;j=(HG(d,8)|0)&255;i=c[f>>2]|0;h=c[b>>2]|0;c[b>>2]=h+1;a[i+h>>0]=j;e=e+1|0}eW(d,8);e=0}}else e=-22}else e=0}else e=-22;while(0);return e|0}function Yn(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;m=Mb;Mb=Mb+32|0;k=m+16|0;j=m+8|0;g=m;a:do if((lp(b,d,e)|0)>=0?(i=f+-1|0,h=(f|0)>1,(a$(b)|0)>=((h&1)<<4|8|0)):0){f=(HG(b,8)|0)&255;a[e+35>>0]=f;f=0;while(1){if((f|0)>=(i|0))break;g=(mT(b)|0)&255;a[e+320+f>>0]=g;g=(mT(b)|0)&255;a[e+327+f>>0]=g;f=f+1|0}b:do if(h){f=i;while(1){if((f|0)>=8)break b;eW(b,2);f=f+1|0}}while(0);f=0;while(1){if((f|0)>=(i|0)){f=0;break a}if(a[e+320+f>>0]|0?(lp(b,d,e+40+(f*40|0)|0)|0)<0:0){l=15;break}if(a[e+327+f>>0]|0){if((a$(b)|0)<8){l=18;break}h=(HG(b,8)|0)&255;a[e+40+(f*40|0)+35>>0]=h}f=f+1|0}if((l|0)==15){c[j>>2]=f;AD(d,16,176138,j);f=-1;break}else if((l|0)==18){c[k>>2]=f;AD(d,16,176181,k);f=-1;break}}else l=3;while(0);if((l|0)==3){AD(d,16,176111,g);f=-1}Mb=m;return f|0}function Zn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;c[b+4>>2]=a;c[b+29576>>2]=-1;c[b+29648>>2]=c[a+124>>2];c[b+29652>>2]=c[a+128>>2];c[b+26364>>2]=3;c[b+25688>>2]=c[a+668>>2];c[b+25684>>2]=c[a+92>>2];c[b+28232>>2]=65536;c[b+29556>>2]=-1;c[b+29560>>2]=0;c[b+28248>>2]=-1;c[b+29844>>2]=-1;c[b+29696>>2]=-1;c[b+28728>>2]=-2147483648;d=0;while(1){if((d|0)==16)break;c[b+28660+(d<<2)>>2]=-2147483648;d=d+1|0}sQ(b+29660|0);c[a+404>>2]=1;if(!(c[a+808>>2]&2))d=1;else d=c[a+800>>2]|0;e=b+25632|0;c[e>>2]=d;a=IW(d,34768)|0;f=b+25628|0;c[f>>2]=a;a:do if(a){d=0;while(1){a=CX()|0;if(d>>>0>=36)break;c[b+696+(d*656|0)>>2]=a;if(!a){d=-12;break a}else d=d+1|0}c[b+24316>>2]=a;if((a|0)!=0?(a=CX()|0,c[b+24972>>2]=a,(a|0)!=0):0){a=c[e>>2]|0;d=0;while(1){if((d|0)>=(a|0)){d=0;break a}c[(c[f>>2]|0)+(d*34768|0)>>2]=b;d=d+1|0}}else d=-12}else{c[e>>2]=0;d=-12}while(0);return d|0}function _n(c,d,f,g,h,i,j,k){c=c|0;d=d|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,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=g>>>1;w=d>>>1;r=j+-1|0;t=20704+(r<<4)|0;u=x*3|0;v=20704+(r<<4)+1|0;l=g&-2;m=20704+(r<<4)+2|0;n=20704+(r<<4)+3|0;o=20704+(r<<4)+4|0;p=20704+(r<<4)+5|0;q=20704+(r<<4)+6|0;r=20704+(r<<4)+7|0;s=x<<2;g=0;j=f;d=c;while(1){if((g|0)>=(h|0))break;i=0;while(1){if((i|0)>=(k|0))break;c=H(e[j+(i-u<<1)>>1]|0,a[t>>0]|0)|0;c=(H(e[j+(i-l<<1)>>1]|0,a[v>>0]|0)|0)+c|0;c=c+(H(e[j+(i-x<<1)>>1]|0,a[m>>0]|0)|0)|0;c=c+(H(e[j+(i<<1)>>1]|0,a[n>>0]|0)|0)|0;c=c+(H(e[j+(i+x<<1)>>1]|0,a[o>>0]|0)|0)|0;c=c+(H(e[j+(i+l<<1)>>1]|0,a[p>>0]|0)|0)|0;c=c+(H(e[j+(i+u<<1)>>1]|0,a[q>>0]|0)|0)|0;c=(c+(H(e[j+(i+s<<1)>>1]|0,a[r>>0]|0)|0)>>4)+2>>2;b[d+(i<<1)>>1]=c>>>0<4096?c:0-c>>31&4095;i=i+1|0}g=g+1|0;j=j+(x<<1)|0;d=d+(w<<1)|0}return}function $n(c,d,f,g,h,i,j,k){c=c|0;d=d|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,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=g>>>1;w=d>>>1;r=j+-1|0;t=20704+(r<<4)|0;u=x*3|0;v=20704+(r<<4)+1|0;l=g&-2;m=20704+(r<<4)+2|0;n=20704+(r<<4)+3|0;o=20704+(r<<4)+4|0;p=20704+(r<<4)+5|0;q=20704+(r<<4)+6|0;r=20704+(r<<4)+7|0;s=x<<2;g=0;j=f;d=c;while(1){if((g|0)>=(h|0))break;i=0;while(1){if((i|0)>=(k|0))break;c=H(e[j+(i-u<<1)>>1]|0,a[t>>0]|0)|0;c=(H(e[j+(i-l<<1)>>1]|0,a[v>>0]|0)|0)+c|0;c=c+(H(e[j+(i-x<<1)>>1]|0,a[m>>0]|0)|0)|0;c=c+(H(e[j+(i<<1)>>1]|0,a[n>>0]|0)|0)|0;c=c+(H(e[j+(i+x<<1)>>1]|0,a[o>>0]|0)|0)|0;c=c+(H(e[j+(i+l<<1)>>1]|0,a[p>>0]|0)|0)|0;c=c+(H(e[j+(i+u<<1)>>1]|0,a[q>>0]|0)|0)|0;c=(c+(H(e[j+(i+s<<1)>>1]|0,a[r>>0]|0)|0)>>2)+8>>4;b[d+(i<<1)>>1]=c>>>0<1024?c:0-c>>31&1023;i=i+1|0}g=g+1|0;j=j+(x<<1)|0;d=d+(w<<1)|0}return}function ao(a,c,d,f,g,h){a=a|0;c=c|0;d=d|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;k=8-g|0;j=8-h|0;m=H(j,k)|0;j=H(j,g)|0;k=H(k,h)|0;i=H(h,g)|0;l=d>>1;a:do if(!i){d=j+k|0;if(!d){g=0;while(1){if((g|0)>=(f|0))break a;k=((e[a>>1]|0)+1+(((H(m,e[c>>1]|0)|0)+32|0)>>>6)|0)>>>1&65535;b[a>>1]=k;a=a+(l<<1)|0;g=g+1|0;c=c+(l<<1)|0}}else{h=(k|0)==0?1:l;g=0;while(1){if((g|0)>=(f|0))break a;k=H(m,e[c>>1]|0)|0;k=((e[a>>1]|0)+1+((k+32+(H(d,e[c+(h<<1)>>1]|0)|0)|0)>>>6)|0)>>>1&65535;b[a>>1]=k;a=a+(l<<1)|0;g=g+1|0;c=c+(l<<1)|0}}}else{h=l+1|0;g=0;while(1){if((g|0)>=(f|0))break a;p=H(m,e[c>>1]|0)|0;o=H(j,e[c+2>>1]|0)|0;d=c+(l<<1)|0;n=H(k,e[d>>1]|0)|0;n=((e[a>>1]|0)+1+((p+32+o+n+(H(i,e[c+(h<<1)>>1]|0)|0)|0)>>>6)|0)>>>1&65535;b[a>>1]=n;a=a+(l<<1)|0;g=g+1|0;c=d}}while(0);return}function bo(c,d,f,g,h,i,j,k){c=c|0;d=d|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,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=g>>>1;w=d>>>1;r=j+-1|0;t=20704+(r<<4)|0;u=x*3|0;v=20704+(r<<4)+1|0;l=g&-2;m=20704+(r<<4)+2|0;n=20704+(r<<4)+3|0;o=20704+(r<<4)+4|0;p=20704+(r<<4)+5|0;q=20704+(r<<4)+6|0;r=20704+(r<<4)+7|0;s=x<<2;g=0;j=f;d=c;while(1){if((g|0)>=(h|0))break;i=0;while(1){if((i|0)>=(k|0))break;c=H(e[j+(i-u<<1)>>1]|0,a[t>>0]|0)|0;c=(H(e[j+(i-l<<1)>>1]|0,a[v>>0]|0)|0)+c|0;c=c+(H(e[j+(i-x<<1)>>1]|0,a[m>>0]|0)|0)|0;c=c+(H(e[j+(i<<1)>>1]|0,a[n>>0]|0)|0)|0;c=c+(H(e[j+(i+x<<1)>>1]|0,a[o>>0]|0)|0)|0;c=c+(H(e[j+(i+l<<1)>>1]|0,a[p>>0]|0)|0)|0;c=c+(H(e[j+(i+u<<1)>>1]|0,a[q>>0]|0)|0)|0;c=(c+(H(e[j+(i+s<<1)>>1]|0,a[r>>0]|0)|0)>>1)+16>>5;b[d+(i<<1)>>1]=c>>>0<512?c:0-c>>31&511;i=i+1|0}g=g+1|0;j=j+(x<<1)|0;d=d+(w<<1)|0}return}function co(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=Mb;Mb=Mb+224|0;n=o+216|0;i=o+208|0;h=o+200|0;g=o+192|0;l=o;m=o+220|0;c[m>>2]=0;c[e+40>>2]=0;c[e+16>>2]=0;p=mT(d)|0;c[e+44>>2]=p;e=HG(d,3)|0;do if(!e){if(mT(d)|0){sU(b,198447,h);e=-1163346256;break}while(1){if(!(HG(d,4)|0))break;e=HG(d,4)|0;if((e|0)==15)e=(HG(d,8)|0)+15|0;if((e|0)==270)e=(HG(d,16)|0)+270|0;e=e<<3;if((a$(d)|0)<(e|4|0)){j=12;break}fS(d,e)}if((j|0)==12){AD(b,16,196241,i);e=-1094995529;break}e=Zz(b,l,m,f)|0;if(!e){if(a|0?(k=$i(a,l,c[m>>2]|0,3,0)|0,k|0):0){e=k;break}e=HG(d,2)|0;if(!e)e=0;else{c[n>>2]=e;sU(b,198461,n);e=-1163346256}}}else{c[g>>2]=e;sU(b,198416,g);e=-1163346256}while(0);Mb=o;return e|0}function eo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=Mb;Mb=Mb+48|0;k=m+32|0;g=m+16|0;f=m;i=a+28|0;e=c[i>>2]|0;c[f>>2]=e;j=a+20|0;e=(c[j>>2]|0)-e|0;c[f+4>>2]=e;c[f+8>>2]=b;c[f+12>>2]=d;e=e+d|0;h=a+60|0;c[g>>2]=c[h>>2];c[g+4>>2]=f;c[g+8>>2]=2;g=SX(Q(146,g|0)|0)|0;a:do if((e|0)!=(g|0)){b=2;while(1){if((g|0)<0)break;e=e-g|0;o=c[f+4>>2]|0;n=g>>>0>o>>>0;f=n?f+8|0:f;b=b+(n<<31>>31)|0;o=g-(n?o:0)|0;c[f>>2]=(c[f>>2]|0)+o;n=f+4|0;c[n>>2]=(c[n>>2]|0)-o;c[k>>2]=c[h>>2];c[k+4>>2]=f;c[k+8>>2]=b;g=SX(Q(146,k|0)|0)|0;if((e|0)==(g|0)){l=3;break a}}c[a+16>>2]=0;c[i>>2]=0;c[j>>2]=0;c[a>>2]=c[a>>2]|32;if((b|0)==2)d=0;else d=d-(c[f+4>>2]|0)|0}else l=3;while(0);if((l|0)==3){o=c[a+44>>2]|0;c[a+16>>2]=o+(c[a+48>>2]|0);c[i>>2]=o;c[j>>2]=o}Mb=m;return d|0}function fo(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;h=0;i=0;a=e;while(1){if((h|0)>=(g|0))break;e=(c[1055680+((d[b>>0]|0)-(d[a>>0]|0)<<2)>>2]|0)+i+(c[1055680+((d[b+1>>0]|0)-(d[a+1>>0]|0)<<2)>>2]|0)+(c[1055680+((d[b+2>>0]|0)-(d[a+2>>0]|0)<<2)>>2]|0)+(c[1055680+((d[b+3>>0]|0)-(d[a+3>>0]|0)<<2)>>2]|0)+(c[1055680+((d[b+4>>0]|0)-(d[a+4>>0]|0)<<2)>>2]|0)+(c[1055680+((d[b+5>>0]|0)-(d[a+5>>0]|0)<<2)>>2]|0)+(c[1055680+((d[b+6>>0]|0)-(d[a+6>>0]|0)<<2)>>2]|0)+(c[1055680+((d[b+7>>0]|0)-(d[a+7>>0]|0)<<2)>>2]|0)+(c[1055680+((d[b+8>>0]|0)-(d[a+8>>0]|0)<<2)>>2]|0)+(c[1055680+((d[b+9>>0]|0)-(d[a+9>>0]|0)<<2)>>2]|0)+(c[1055680+((d[b+10>>0]|0)-(d[a+10>>0]|0)<<2)>>2]|0)+(c[1055680+((d[b+11>>0]|0)-(d[a+11>>0]|0)<<2)>>2]|0)+(c[1055680+((d[b+12>>0]|0)-(d[a+12>>0]|0)<<2)>>2]|0)+(c[1055680+((d[b+13>>0]|0)-(d[a+13>>0]|0)<<2)>>2]|0)+(c[1055680+((d[b+14>>0]|0)-(d[a+14>>0]|0)<<2)>>2]|0)+(c[1055680+((d[b+15>>0]|0)-(d[a+15>>0]|0)<<2)>>2]|0)|0;b=b+f|0;h=h+1|0;i=e;a=a+f|0}return i|0}function go(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=c[b+2612>>2]|0;a:do if(!i){c[b+1816>>2]=0;c[b+1620>>2]=0;e=0}else{f=b+3516|0;e=0;while(1){if((e|0)==32)break;g=b+3520+(e*68|0)|0;if((g|0)!=(c[f>>2]|0))V_(g,0);e=e+1|0}e=0;while(1){if((e|0)==5)break;c[b+1428+(e*196|0)+192>>2]=0;e=e+1|0}g=i+4|0;h=b+5696|0;e=0;f=0;while(1){if((f|0)>=(c[g>>2]|0)){j=16;break}if(!(a[i+140+f>>0]|0))e=2;else e=f>>>0>=(c[i>>2]|0)>>>0&1;e=pA(b,b+1428+(e*196|0)|0,(c[i+12+(f<<2)>>2]|0)+(c[h>>2]|0)|0,2)|0;if((e|0)<0)break;else f=f+1|0}b:do if((j|0)==16){g=b+2780|0;f=0;while(1){if(f>>>0>=(d[g>>0]|0)>>>0)break b;e=pA(b,b+1428+(((a[b+2748+f>>0]|0)==0?4:3)*196|0)|0,c[b+2620+(f<<2)>>2]|0,4)|0;if((e|0)<0)break;else f=f+1|0}}while(0);f=0;while(1){if((f|0)==32)break a;hB(b,b+3520+(f*68|0)|0,0);f=f+1|0}}while(0);return e|0}function ho(a,b){a=+a;b=+b;var d=0.0,e=0,f=0,i=0,j=0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;p=Mb;Mb=Mb+32|0;l=p+24|0;m=p+16|0;n=p+8|0;o=p;g[h>>3]=a;s=c[h>>2]|0;i=c[h+4>>2]|0;g[h>>3]=b;e=c[h>>2]|0;i=i&2147483647;f=c[h+4>>2]&2147483647;j=i>>>0<f>>>0|(i|0)==(f|0)&s>>>0<e>>>0;r=j?e:s;q=j?f:i;e=j?s:e;f=j?i:f;i=kV(r|0,q|0,52)|0;M()|0;j=kV(e|0,f|0,52)|0;M()|0;c[h>>2]=r;c[h+4>>2]=q;a=+g[h>>3];c[h>>2]=e;c[h+4>>2]=f;k=+g[h>>3];do if((j|0)!=2047){if(!((e|0)==0&(f|0)==0|(i|0)==2047)){if((i-j|0)>64){a=a+k;break}if((i|0)>1533){d=5260135901548373507240989.0e186;b=a*1.90109156629516e-211;a=k*1.90109156629516e-211}else{s=(j|0)<573;d=s?1.90109156629516e-211:1.0;b=s?a*5260135901548373507240989.0e186:a;a=s?k*5260135901548373507240989.0e186:k}CU(l,m,b);CU(n,o,a);a=d*+v(+(+g[o>>3]+ +g[m>>3]+ +g[n>>3]+ +g[l>>3]))}}else a=k;while(0);Mb=p;return +a}function io(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;q=d+8|0;r=e+8|0;s=d+12|0;t=e+12|0;u=d+16|0;v=e+16|0;h=d+24|0;i=e+24|0;j=d+4|0;k=e+36|0;l=d+20|0;m=e+52|0;n=d+28|0;o=e+60|0;p=a+4|0;g=0;while(1){if((g|0)>=(f|0))break;y=H(c[r>>2]|0,b[(c[q>>2]|0)+(g<<1)>>1]|0)|0;y=(H(c[t>>2]|0,b[(c[s>>2]|0)+(g<<1)>>1]|0)|0)+y|0;w=H(c[e>>2]|0,b[(c[d>>2]|0)+(g<<1)>>1]|0)|0;x=H(c[v>>2]|0,b[(c[u>>2]|0)+(g<<1)>>1]|0)|0;y=y+16384|0;x=y+w+x+(H(c[i>>2]|0,b[(c[h>>2]|0)+(g<<1)>>1]|0)|0)|0;w=x>>15;b[(c[a>>2]|0)+(g<<1)>>1]=(w+32768|0)>>>0>65535?x>>31^32767:w;w=H(c[k>>2]|0,b[(c[j>>2]|0)+(g<<1)>>1]|0)|0;x=H(c[m>>2]|0,b[(c[l>>2]|0)+(g<<1)>>1]|0)|0;x=y+w+x+(H(c[o>>2]|0,b[(c[n>>2]|0)+(g<<1)>>1]|0)|0)|0;w=x>>15;b[(c[p>>2]|0)+(g<<1)>>1]=(w+32768|0)>>>0>65535?x>>31^32767:w;g=g+1|0}return}function jo(a,b,g){a=a|0;b=b|0;g=g|0;var h=0,i=0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;s=c[b+74576>>2]|0;t=b+74512|0;u=b+74496|0;r=(g|0)==0;p=a+5404|0;m=b+14048|0;n=b+88256|0;o=0;g=0;while(1){if((o|0)>=(c[t>>2]|0))break;q=b+74516+o|0;a=0;while(1){if((a|0)>=(d[u>>0]|0|0))break;l=c[b+81392+(g<<2)>>2]|0;a:do if((c[b+80368+(g<<2)>>2]&-2|0)==14){h=a;while(1){if((h|0)>=(l|0))break a;a=(c[b+80368+(g<<2)>>2]<<1)+-29|0;if(!r)a=H(1-((d[b+13+g>>0]|0)<<1)|0,a)|0;j=+f[b+81872+(g<<2)>>2]*+(a|0);k=s+(h<<1)|0;h=h+1|0;i=s+(h<<1)|0;a=0;while(1){if(a>>>0>=(d[q>>0]|0)>>>0)break;w=a<<7;v=e[k>>1]|0;fc[c[(c[p>>2]|0)+12>>2]&7](n+(w<<2)+(v<<2)|0,m+(w<<2)+(v<<2)|0,j,(e[i>>1]|0)-v|0);a=a+1|0}g=g+1|0}}else{h=l;g=g-a+l|0}while(0);a=h}w=(d[q>>0]|0)<<7;m=m+(w<<2)|0;n=n+(w<<2)|0;o=o+1|0}return}function ko(a,b,g,h,i,j,k,l,m){a=a|0;b=b|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;B=Mb;Mb=Mb+16|0;A=B;z=b+76|0;v=b+310448|0;w=b+310120|0;x=b+390984|0;s=l+m|0;n=c[z>>2]|0;m=0;r=0;a:while(1){if(r>>>0>=(c[v>>2]|0)>>>0){m=13;break}t=b+310452+r|0;u=b+310458+r|0;q=0;while(1){if(q>>>0>=(d[t>>0]|0)>>>0)break;p=q+(d[u>>0]|0)|0;o=c[w>>2]|0;while(1){if(m>>>0>o>>>0)break;if((n|0)<(e[b+310374+(m<<1)>>1]|0|0))break;m=m+1|0}o=m+-1|0;if((m|0)<1){m=10;break a}ic[c[x>>2]&1](g+(n*320|0)+16|0,h+(p*320|0)+16|0,i+(p<<3)|0,j+(p<<3)|0,+f[k+(o<<2)>>2],(d[l>>0]|0)<<1,(d[s>>0]|0)<<1);q=q+1|0;n=n+1|0;m=o}r=r+1|0}if((m|0)==10){z=c[a+4>>2]|0;c[A>>2]=n;AD(z,16,199922,A)}else if((m|0)==13?(y=(c[z>>2]|0)+(c[b+84>>2]|0)|0,y>>>0>n>>>0):0)jv(g+(n*320|0)|0,0,(y-n|0)*320|0)|0;Mb=B;return}function lo(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0,J=0,K=0;p=+f[d>>2];q=+f[d+16>>2];r=+f[d+4>>2];s=+f[d+20>>2];t=+f[d+8>>2];u=+f[d+24>>2];v=+f[d+12>>2];o=+f[d+28>>2];h=+f[c>>2];i=+f[c+16>>2];j=+f[c+4>>2];k=+f[c+20>>2];d=0;l=+f[c+8>>2];m=+f[c+24>>2];n=+f[c+12>>2];g=+f[c+28>>2];while(1){if((d|0)>=(e|0))break;K=a+(d<<3)|0;G=+f[K>>2];J=a+(d<<3)+4|0;F=+f[J>>2];I=b+(d<<3)|0;H=+f[I>>2];c=b+(d<<3)+4|0;E=+f[c>>2];D=p+h;B=r+j;z=t+l;x=v+n;C=q+i;A=s+k;y=u+m;w=o+g;f[K>>2]=D*G+z*H-C*F-y*E;f[J>>2]=y*H+(C*G+(D*F+z*E));f[I>>2]=B*G+x*H-A*F-w*E;f[c>>2]=w*H+(A*G+(B*F+x*E));h=D;i=C;j=B;k=A;d=d+1|0;l=z;m=y;n=x;g=w}return}function mo(a){a=a|0;var b=0,d=0,e=0;b=a+32|0;a:do if((c[b>>2]|0)==3&(c[b+4>>2]|0)==0){e=a+24|0;b=c[e+4>>2]|0;switch(c[e>>2]|0){case 63:{if(b|0){d=20;break a}break}case 1551:{if(b|0){d=20;break a}break}case 1599:{if(b|0){d=20;break a}if(!(+g[a+13472>>3]==+g[a+13984>>3])){d=20;break a}if(!(+g[a+13480>>3]==+g[a+13992>>3])){d=20;break a}if(+g[a+13464>>3]!=0.0){d=20;break a}if(+g[a+13496>>3]!=0.0){d=20;break a}if(+g[a+13968>>3]!=0.0){d=20;break a}if(+g[a+14e3>>3]!=0.0){d=20;break a}if(+g[a+13512>>3]!=0.0){d=20;break a}if(+g[a+14016>>3]!=0.0){d=20;break a}else{a=179;break a}}default:{d=20;break a}}if(((((+g[a+13472>>3]==+g[a+13984>>3]?+g[a+13480>>3]==+g[a+13992>>3]:0)?!(+g[a+13464>>3]!=0.0):0)?!(+g[a+13496>>3]!=0.0):0)?!(+g[a+13968>>3]!=0.0):0)?!(+g[a+14e3>>3]!=0.0):0)a=178;else d=20}else d=20;while(0);if((d|0)==20)a=0;return a|0}function no(f,g,h,i,j,k,l,m){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;r=c[f+136>>2]|0;Ct(f,g,h,i,j);q=m+10|0;a[q>>0]=0;if(!(c[f+2420>>2]|0)){n=IE(f,i,j)|0;if((n|0)==1){n=1;p=6}else p=3}else{n=0;p=3}if((p|0)==3){o=c[f+3044>>2]|0;if(o|0){o=(vB(f,o)|0)&255;a[m+8>>0]=o}a[q>>0]=1;vg(f,g,h,0);Od(f,g,h,i,j,k,l,0,m,F_(f)|0,0);b[m>>1]=(e[m>>1]|0)+(e[r+31268>>1]|0);o=m+2|0;b[o>>1]=(e[o>>1]|0)+(e[r+31270>>1]|0);if(n|0)p=6}if((p|0)==6){o=c[f+3048>>2]|0;if(o|0){p=(vB(f,o)|0)&255;a[m+9>>0]=p}if((n|0)==2&(a[f+3055>>0]|0)==1)c[r+31268>>2]=0;else vg(f,g,h,1);a[q>>0]=(d[q>>0]|0)+2;Od(f,g,h,i,j,k,l,0,m,F_(f)|0,1);l=m+4|0;b[l>>1]=(e[l>>1]|0)+(e[r+31268>>1]|0);m=m+6|0;b[m>>1]=(e[m>>1]|0)+(e[r+31270>>1]|0)}return}function oo(a){a=a|0;var b=0,d=0,e=0;b=a+32|0;a:do if((c[b>>2]|0)==3&(c[b+4>>2]|0)==0){e=a+24|0;b=c[e+4>>2]|0;switch(c[e>>2]|0){case 63:{if(b|0){d=20;break a}break}case 1551:{if(b|0){d=20;break a}break}case 1599:{if(b|0){d=20;break a}if(!(+g[a+13472>>3]==+g[a+13984>>3])){d=20;break a}if(!(+g[a+13480>>3]==+g[a+13992>>3])){d=20;break a}if(+g[a+13464>>3]!=0.0){d=20;break a}if(+g[a+13496>>3]!=0.0){d=20;break a}if(+g[a+13968>>3]!=0.0){d=20;break a}if(+g[a+14e3>>3]!=0.0){d=20;break a}if(+g[a+13512>>3]!=0.0){d=20;break a}if(+g[a+14016>>3]!=0.0){d=20;break a}else{a=183;break a}}default:{d=20;break a}}if(((((+g[a+13472>>3]==+g[a+13984>>3]?+g[a+13480>>3]==+g[a+13992>>3]:0)?!(+g[a+13464>>3]!=0.0):0)?!(+g[a+13496>>3]!=0.0):0)?!(+g[a+13968>>3]!=0.0):0)?!(+g[a+14e3>>3]!=0.0):0)a=182;else d=20}else d=20;while(0);if((d|0)==20)a=0;return a|0}function po(a){a=a|0;var b=0,d=0,e=0;b=a+32|0;a:do if((c[b>>2]|0)==3&(c[b+4>>2]|0)==0){e=a+24|0;b=c[e+4>>2]|0;switch(c[e>>2]|0){case 63:{if(b|0){d=20;break a}break}case 1551:{if(b|0){d=20;break a}break}case 1599:{if(b|0){d=20;break a}if(!(+g[a+13472>>3]==+g[a+13984>>3])){d=20;break a}if(!(+g[a+13480>>3]==+g[a+13992>>3])){d=20;break a}if(+g[a+13464>>3]!=0.0){d=20;break a}if(+g[a+13496>>3]!=0.0){d=20;break a}if(+g[a+13968>>3]!=0.0){d=20;break a}if(+g[a+14e3>>3]!=0.0){d=20;break a}if(+g[a+13512>>3]!=0.0){d=20;break a}if(+g[a+14016>>3]!=0.0){d=20;break a}else{a=181;break a}}default:{d=20;break a}}if(((((+g[a+13472>>3]==+g[a+13984>>3]?+g[a+13480>>3]==+g[a+13992>>3]:0)?!(+g[a+13464>>3]!=0.0):0)?!(+g[a+13496>>3]!=0.0):0)?!(+g[a+13968>>3]!=0.0):0)?!(+g[a+14e3>>3]!=0.0):0)a=180;else d=20}else d=20;while(0);if((d|0)==20)a=0;return a|0}function qo(a){a=a|0;var b=0,d=0,e=0;b=a+32|0;a:do if((c[b>>2]|0)==3&(c[b+4>>2]|0)==0){e=a+24|0;b=c[e+4>>2]|0;switch(c[e>>2]|0){case 63:{if(b|0){d=20;break a}break}case 1551:{if(b|0){d=20;break a}break}case 1599:{if(b|0){d=20;break a}if(!(+g[a+13472>>3]==+g[a+13984>>3])){d=20;break a}if(!(+g[a+13480>>3]==+g[a+13992>>3])){d=20;break a}if(+g[a+13464>>3]!=0.0){d=20;break a}if(+g[a+13496>>3]!=0.0){d=20;break a}if(+g[a+13968>>3]!=0.0){d=20;break a}if(+g[a+14e3>>3]!=0.0){d=20;break a}if(+g[a+13512>>3]!=0.0){d=20;break a}if(+g[a+14016>>3]!=0.0){d=20;break a}else{a=185;break a}}default:{d=20;break a}}if(((((+g[a+13472>>3]==+g[a+13984>>3]?+g[a+13480>>3]==+g[a+13992>>3]:0)?!(+g[a+13464>>3]!=0.0):0)?!(+g[a+13496>>3]!=0.0):0)?!(+g[a+13968>>3]!=0.0):0)?!(+g[a+14e3>>3]!=0.0):0)a=184;else d=20}else d=20;while(0);if((d|0)==20)a=0;return a|0}function ro(a){a=a|0;var b=0,d=0,e=0;b=a+32|0;a:do if((c[b>>2]|0)==3&(c[b+4>>2]|0)==0){e=a+24|0;b=c[e+4>>2]|0;switch(c[e>>2]|0){case 63:{if(b|0){d=20;break a}break}case 1551:{if(b|0){d=20;break a}break}case 1599:{if(b|0){d=20;break a}if(!(+g[a+13472>>3]==+g[a+13984>>3])){d=20;break a}if(!(+g[a+13480>>3]==+g[a+13992>>3])){d=20;break a}if(+g[a+13464>>3]!=0.0){d=20;break a}if(+g[a+13496>>3]!=0.0){d=20;break a}if(+g[a+13968>>3]!=0.0){d=20;break a}if(+g[a+14e3>>3]!=0.0){d=20;break a}if(+g[a+13512>>3]!=0.0){d=20;break a}if(+g[a+14016>>3]!=0.0){d=20;break a}else{a=177;break a}}default:{d=20;break a}}if(((((+g[a+13472>>3]==+g[a+13984>>3]?+g[a+13480>>3]==+g[a+13992>>3]:0)?!(+g[a+13464>>3]!=0.0):0)?!(+g[a+13496>>3]!=0.0):0)?!(+g[a+13968>>3]!=0.0):0)?!(+g[a+14e3>>3]!=0.0):0)a=176;else d=20}else d=20;while(0);if((d|0)==20)a=0;return a|0}function so(b,d){b=b|0;d=d|0;var e=0,g=0,h=0,i=0;e=d+13760|0;i=(a[d+12>>0]|0)!=0;h=i?293792:226752;i=i?297888:223168;a:do switch(c[d+4>>2]|0){case 2:{Mn(e|0,d+17856|0,2048)|0;jv(d+16064|0,0,1792)|0;hc[c[(c[b+5404>>2]|0)+28>>2]&255](d+15552|0,b+4864|0,i+256|0,64);g=0;while(1){if((g|0)==64)break a;f[d+13760+(g+512<<2)>>2]=+f[b+1024+(1023-g<<2)>>2]*+f[i+(63-g<<2)>>2];g=g+1|0}}case 1:{Mn(e|0,b+3072|0,1792)|0;jv(d+16064|0,0,1792)|0;hc[c[(c[b+5404>>2]|0)+28>>2]&255](d+15552|0,b+4864|0,i+256|0,64);g=0;while(1){if((g|0)==64)break a;f[d+13760+(g+512<<2)>>2]=+f[b+1024+(1023-g<<2)>>2]*+f[i+(63-g<<2)>>2];g=g+1|0}}default:{hc[c[(c[b+5404>>2]|0)+28>>2]&255](e,b+3072|0,h+2048|0,512);g=0;while(1){if((g|0)==512)break;f[d+13760+(g+512<<2)>>2]=+f[b+1024+(1023-g<<2)>>2]*+f[h+(511-g<<2)>>2];g=g+1|0}}}while(0);b=d+36288|0;Mn(d+32192|0,b|0,4096)|0;Mn(b|0,c[d+74176>>2]|0,4096)|0;Mn(d+40384|0,e|0,4096)|0;return}function to(a,b,d,e,g){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;var h=0.0,i=0,j=0.0,k=0.0,l=0.0,m=0.0,n=0,o=0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0.0;A=Mb;Mb=Mb+48|0;z=A;v=a+28|0;w=z+40|0;x=z+16|0;y=z+24|0;r=z+28|0;s=z+4|0;t=z+8|0;u=z+12|0;q=0;while(1){if((q|0)>=(g|0))break;ec[c[v>>2]&255](e+(q*320|0)|0,z);j=+f[x>>2];k=+f[y>>2];l=+f[r>>2];h=+f[w>>2]*j-(k*k+l*l)/1.0000009536743164;if(h!=0.0){B=+f[z>>2];p=+f[s>>2];m=(k*B-l*p-j*+f[t>>2])/h;h=(l*B+k*p-j*+f[u>>2])/h}else{m=0.0;h=0.0}n=d+(q<<3)|0;f[n>>2]=m;o=d+(q<<3)+4|0;f[o>>2]=h;if(j!=0.0){p=-(+f[z>>2]+k*m+l*h)/j;h=-(+f[s>>2]+k*h-l*m)/j}else{p=0.0;h=0.0}a=b+(q<<3)|0;f[a>>2]=p;i=b+(q<<3)+4|0;f[i>>2]=h;m=+f[n>>2];B=+f[o>>2];if(!(!(m*m+B*B>=16.0)?!(p*p+h*h>=16.0):0)){f[n>>2]=0.0;f[o>>2]=0.0;f[a>>2]=0.0;f[i>>2]=0.0}q=q+1|0}Mb=A;return}function uo(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;f=Cj(d)|0;if(f){a:do if(!(c[(c[d+4>>2]|0)+704>>2]|0)){k=d+1412|0;g=c[k>>2]|0;if(!(c[g+52>>2]|0)){g=0;while(1){h=c[(c[f>>2]|0)+248+(g<<2)>>2]|0;if(!h)break a;jv(c[h+4>>2]|0,1<<(c[(c[k>>2]|0)+44>>2]|0)+-1&255|0,c[h+8>>2]|0)|0;g=g+1|0}}j=0;while(1){if(!(c[(c[f>>2]|0)+(j<<2)>>2]|0))break a;i=0;while(1){if((i|0)>=(c[g+13380>>2]>>c[g+13436+(j<<2)>>2]|0))break;h=0;while(1){if((h|0)>=(c[g+13376>>2]>>c[g+13424+(j<<2)>>2]|0))break;m=1<<(c[g+44>>2]|0)+-1&65535;l=c[f>>2]|0;l=(c[l+(j<<2)>>2]|0)+(H(c[l+32+(j<<2)>>2]|0,i)|0)+(h<<1)|0;a[l>>0]=m;a[l+1>>0]=m>>8;h=h+1|0;g=c[k>>2]|0}i=i+1|0}j=j+1|0}}while(0);c[f+36>>2]=e;b[f+64>>1]=b[d+7596>>1]|0;a[f+66>>0]=0;if((a[d+140>>0]|0)==1)Dy(f+4|0,2147483647,0)}else f=0;return f|0}function vo(b,c,d){b=b|0;c=c|0;d=d|0;if(!d)d=0;else{d=c+9|0;a[b+33>>0]=a[d>>0]|0;a[b+32>>0]=a[d>>0]|0;a[b+31>>0]=a[d>>0]|0;a[b+30>>0]=a[d>>0]|0;a[b+29>>0]=a[d>>0]|0;a[b+28>>0]=a[d>>0]|0;d=c+8|0;a[b+27>>0]=a[d>>0]|0;a[b+26>>0]=a[d>>0]|0;a[b+25>>0]=a[d>>0]|0;a[b+24>>0]=a[d>>0]|0;d=c+7|0;a[b+23>>0]=a[d>>0]|0;a[b+22>>0]=a[d>>0]|0;a[b+21>>0]=a[d>>0]|0;a[b+20>>0]=a[d>>0]|0;d=c+6|0;a[b+19>>0]=a[d>>0]|0;a[b+18>>0]=a[d>>0]|0;d=c+5|0;a[b+17>>0]=a[d>>0]|0;d=a[d>>0]|0}a[b+16>>0]=d;d=c+4|0;a[b+15>>0]=a[d>>0]|0;a[b+14>>0]=a[d>>0]|0;a[b+13>>0]=a[d>>0]|0;a[b+12>>0]=a[d>>0]|0;d=c+3|0;a[b+11>>0]=a[d>>0]|0;a[b+10>>0]=a[d>>0]|0;d=c+2|0;a[b+9>>0]=a[d>>0]|0;a[b+8>>0]=a[d>>0]|0;a[b+7>>0]=a[d>>0]|0;a[b+6>>0]=a[d>>0]|0;d=c+1|0;a[b+5>>0]=a[d>>0]|0;a[b+4>>0]=a[d>>0]|0;a[b+3>>0]=a[d>>0]|0;a[b+2>>0]=a[c>>0]|0;a[b+1>>0]=a[c>>0]|0;a[b>>0]=a[c>>0]|0;return}function wo(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=0;while(1){if((g|0)==4)break;j=c+1|0;m=c+-1|0;i=c+2|0;h=H((d[i>>0]|0)+(d[m>>0]|0)|0,-5)|0;k=c+3|0;h=(((d[j>>0]|0)+(d[c>>0]|0)|0)*20|0)+16+(d[c+-2>>0]|0)+h+(d[k>>0]|0)>>5;a[b>>0]=((d[b>>0]|0)+1+((h>>>0>255?0-h>>31:h)&255)|0)>>>1;h=b+1|0;n=H((d[k>>0]|0)+(d[c>>0]|0)|0,-5)|0;l=c+4|0;n=(((d[i>>0]|0)+(d[j>>0]|0)|0)*20|0)+16+(d[m>>0]|0)+n+(d[l>>0]|0)>>5;a[h>>0]=((d[h>>0]|0)+1+((n>>>0>255?0-n>>31:n)&255)|0)>>>1;h=b+2|0;n=H((d[l>>0]|0)+(d[j>>0]|0)|0,-5)|0;m=c+5|0;n=(((d[k>>0]|0)+(d[i>>0]|0)|0)*20|0)+16+(d[c>>0]|0)+n+(d[m>>0]|0)>>5;a[h>>0]=((d[h>>0]|0)+1+((n>>>0>255?0-n>>31:n)&255)|0)>>>1;h=b+3|0;i=H((d[m>>0]|0)+(d[i>>0]|0)|0,-5)|0;i=(((d[l>>0]|0)+(d[k>>0]|0)|0)*20|0)+16+(d[j>>0]|0)+i+(d[c+6>>0]|0)>>5;a[h>>0]=((d[h>>0]|0)+1+((i>>>0>255?0-i>>31:i)&255)|0)>>>1;c=c+f|0;b=b+e|0;g=g+1|0}return}function xo(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=Mb;Mb=Mb+16|0;j=k;f=0;while(1){if(f>>>0>=28){i=3;break}e=c[93424+(f<<4)>>2]|0;if((nA(e)|0)==(d|0)?(AE(e,b,d)|0)==0:0){i=6;break}f=f+1|0}do if((i|0)==3){e=0;while(1){if(e>>>0>=36)break;if(((e+-18|0)>>>0>10?(g=c[93872+(e<<3)>>2]|0,(nA(g)|0)==(d|0)):0)?(AE(g,b,d)|0)==0:0){i=12;break}e=e+1|0}if((i|0)==12){e=_U(1,0,e|0)|0;f=M()|0;break}e=j2()|0;c[e>>2]=0;e=KY(b,j,10)|0;i=j2()|0;if(((c[i>>2]|0)==0?(h=c[j>>2]|0,(h+1-b|0)==(d|0)):0)?(a[h>>0]|0)==99:0){e=hK(e)|0;f=M()|0;break}g=j2()|0;c[g>>2]=0;g=cY(b,j,0)|0;e=M()|0;i=j2()|0;if(!(c[i>>2]|0)){j=((e|0)>0|(e|0)==0&g>>>0>0)&((c[j>>2]|0)-b|0)==(d|0);f=j?e:0;e=j?g:0}else{f=0;e=0}}else if((i|0)==6){e=93424+(f<<4)+8|0;f=c[e+4>>2]|0;e=c[e>>2]|0}while(0);L(f|0);Mb=k;return e|0}function yo(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,p=0,q=0,r=0;r=g>>1;g=0-r|0;if(!d){j=e[a+(g<<1)>>1]|0;d=j}else{d=e[a+(g<<1)>>1]|0;j=e[a+(~r<<1)>>1]|0}h=e[a+(1-r<<1)>>1]|0;i=h+2|0;k=e[a+(2-r<<1)>>1]|0;l=k+2|0;m=e[a+(3-r<<1)>>1]|0;n=e[a+(4-r<<1)>>1]|0;o=e[a+(5-r<<1)>>1]|0;p=e[a+(6-r<<1)>>1]|0;q=e[a+(7-r<<1)>>1]|0;if(!f)g=q;else g=e[a+(8-r<<1)>>1]|0;b[a>>1]=(i+j+(d<<1)|0)>>>2;b[a+2>>1]=(l+d+(h<<1)|0)>>>2;b[a+4>>1]=(i+(k<<1)+m|0)>>>2;b[a+6>>1]=(l+(m<<1)+n|0)>>>2;j=a+8|0;b[j>>1]=(m+2+(n<<1)+o|0)>>>2;b[a+10>>1]=(n+2+(o<<1)+p|0)>>>2;b[a+12>>1]=(o+2+(p<<1)+q|0)>>>2;b[a+14>>1]=(p+2+(q<<1)+g|0)>>>2;h=a;d=c[h>>2]|0;h=c[h+4>>2]|0;i=c[j>>2]|0;j=c[j+4>>2]|0;g=1;while(1){if((g|0)==8)break;f=a+((H(g,r)|0)<<1)|0;q=f;c[q>>2]=d;c[q+4>>2]=h;f=f+8|0;c[f>>2]=i;c[f+4>>2]=j;g=g+1|0}return}function zo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=a+64|0;g=c[d>>2]|0;a:do if((V0(a)|0)!=0?(cW(c[a+12>>2]|0)|0)!=0:0)if(!(c[(c[d>>2]|0)+64>>2]|0)){e=(b|0)!=0;if((e?(c[b+28>>2]|0)==0:0)?c[b+24>>2]|0:0){d=-22;break}d=ak(a)|0;if((d|0)>=0){f=g+68|0;BX(c[f>>2]|0);do if(e){if((c[b+24>>2]|0)==0?(c[b+44>>2]|0)==0:0)break;d=kv(c[f>>2]|0,b)|0;if((d|0)<0)break a}while(0);d=$y(c[c[g+32>>2]>>2]|0,c[f>>2]|0)|0;if((d|0)<0){BX(c[f>>2]|0);break}d=c[g+76>>2]|0;b:do if((c[d+248>>2]|0)==0?(h=iB(a,d)|0,(h|0)<0):0)if((h|0)<-11)switch(h|0){case -541478725:break b;default:{d=h;break a}}else switch(h|0){case -11:break b;default:{d=h;break a}}while(0);d=0}}else d=-541478725;else d=-22;while(0);return d|0}function Ao(c,e,f,g,h,i,j,k,l){c=c|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,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;w=k+-1|0;n=20704+(w<<4)|0;o=g*3|0;p=20704+(w<<4)+1|0;q=g<<1;r=20704+(w<<4)+2|0;s=20704+(w<<4)+3|0;t=20704+(w<<4)+4|0;u=20704+(w<<4)+5|0;v=20704+(w<<4)+6|0;w=20704+(w<<4)+7|0;x=g<<2;m=0;k=c;while(1){if((m|0)>=(i|0))break;j=0;while(1){if((j|0)>=(l|0))break;E=H(d[f+(j-o)>>0]|0,a[n>>0]|0)|0;D=H(d[f+(j-q)>>0]|0,a[p>>0]|0)|0;C=H(d[f+(j-g)>>0]|0,a[r>>0]|0)|0;B=H(d[f+j>>0]|0,a[s>>0]|0)|0;A=H(d[f+(j+g)>>0]|0,a[t>>0]|0)|0;z=H(d[f+(j+q)>>0]|0,a[u>>0]|0)|0;y=H(d[f+(j+o)>>0]|0,a[v>>0]|0)|0;c=H(d[f+(j+x)>>0]|0,a[w>>0]|0)|0;c=E+64+D+C+B+A+z+y+c+(b[h+(j<<1)>>1]|0)>>7;a[k+j>>0]=c>>>0>255?0-c>>31:c;j=j+1|0}h=h+128|0;m=m+1|0;f=f+g|0;k=k+e|0}return}function Bo(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;e=c+1|0;a[b>>0]=((a[c>>0]<<1)+(a[e>>0]|0)|0)/3|0;a[b+1>>0]=((a[c+2>>0]<<1)+(a[e>>0]|0)|0)/3|0;e=c+4|0;a[b+2>>0]=((a[c+3>>0]<<1)+(a[e>>0]|0)|0)/3|0;a[b+3>>0]=((a[c+5>>0]<<1)+(a[e>>0]|0)|0)/3|0;a[b+4>>0]=((a[c+7>>0]|0)+(a[c+6>>0]|0)|0)/2|0;a[b+5>>0]=((a[c+9>>0]|0)+(a[c+8>>0]|0)|0)/2|0;a[b+6>>0]=a[c+10>>0]|0;a[b+7>>0]=a[c+11>>0]|0;a[b+8>>0]=((a[c+13>>0]|0)+(a[c+12>>0]|0)|0)/2|0;a[b+9>>0]=((a[c+15>>0]|0)+(a[c+14>>0]|0)|0)/2|0;a[b+10>>0]=a[c+16>>0]|0;if(d|0){a[b+11>>0]=a[c+17>>0]|0;a[b+12>>0]=a[c+18>>0]|0;a[b+13>>0]=a[c+19>>0]|0;a[b+14>>0]=((a[c+21>>0]|0)+(a[c+20>>0]|0)|0)/2|0;a[b+15>>0]=((a[c+23>>0]|0)+(a[c+22>>0]|0)|0)/2|0;a[b+16>>0]=((a[c+25>>0]|0)+(a[c+24>>0]|0)|0)/2|0;a[b+17>>0]=((a[c+27>>0]|0)+(a[c+26>>0]|0)|0)/2|0;a[b+18>>0]=((a[c+29>>0]|0)+(a[c+28>>0]|0)+(a[c+30>>0]|0)+(a[c+31>>0]|0)|0)/4|0;a[b+19>>0]=((a[c+33>>0]|0)+(a[c+32>>0]|0)|0)/2|0}return}function Co(b,c,e,f,g,h,i,j,k,l,m){b=b|0;c=c|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;v=k+-1|0;w=20704+(v<<4)|0;x=h+6|0;o=1<<h+5;p=20704+(v<<4)+1|0;q=20704+(v<<4)+2|0;r=20704+(v<<4)+3|0;s=20704+(v<<4)+4|0;t=20704+(v<<4)+5|0;u=20704+(v<<4)+6|0;v=20704+(v<<4)+7|0;n=0;h=e;l=b;while(1){if((n|0)>=(g|0))break;k=0;while(1){if((k|0)>=(m|0))break;e=H(d[h+(k+-3)>>0]|0,a[w>>0]|0)|0;e=(H(d[h+(k+-2)>>0]|0,a[p>>0]|0)|0)+e|0;e=e+(H(d[h+(k+-1)>>0]|0,a[q>>0]|0)|0)|0;e=e+(H(d[h+k>>0]|0,a[r>>0]|0)|0)|0;b=k+1|0;e=e+(H(d[h+b>>0]|0,a[s>>0]|0)|0)|0;e=e+(H(d[h+(k+2)>>0]|0,a[t>>0]|0)|0)|0;e=e+(H(d[h+(k+3)>>0]|0,a[u>>0]|0)|0)|0;e=((H(e+(H(d[h+(k+4)>>0]|0,a[v>>0]|0)|0)|0,i)|0)+o>>x)+j|0;a[l+k>>0]=e>>>0>255?0-e>>31:e;k=b}n=n+1|0;h=h+f|0;l=l+c|0}return}function Do(a,b){a=a|0;b=b|0;var c=0,d=0.0,e=0.0,g=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0;m=+f[a>>2];j=+f[a+16>>2];l=a+4|0;i=+f[l>>2];k=+f[a+20>>2];c=1;d=0.0;e=0.0;g=0.0;h=m*k-j*i;i=m*j+i*k;while(1){if((c|0)==38)break;p=+f[a+(c<<3)>>2];o=+f[a+(c<<3)+4>>2];q=c+2|0;n=+f[a+(q<<3)>>2];m=+f[a+(q<<3)+4>>2];c=c+1|0;d=d+(p*p+o*o);e=e+(p*k-o*j);g=g+(p*j+o*k);h=h+(p*m-o*n);i=i+(p*n+o*m);j=n;k=m}f[b+8>>2]=i;f[b+12>>2]=h;p=+f[a>>2];o=+f[l>>2];f[b+40>>2]=d+p*p+o*o;r=a+304|0;o=+f[r>>2];c=a+308|0;p=+f[c>>2];f[b+16>>2]=d+o*o+p*p;q=a+8|0;s=a+12|0;f[b+24>>2]=g+ +f[a>>2]*+f[q>>2]+ +f[l>>2]*+f[s>>2];f[b+28>>2]=e+ +f[a>>2]*+f[s>>2]-+f[l>>2]*+f[q>>2];q=a+312|0;l=a+316|0;f[b>>2]=g+ +f[r>>2]*+f[q>>2]+ +f[c>>2]*+f[l>>2];f[b+4>>2]=e+ +f[r>>2]*+f[l>>2]-+f[c>>2]*+f[q>>2];return}function Eo(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+23412>>2]|0;g=0;while(1){if(g>>>0>=i>>>0)break;j=c[a+23404+(g<<2)>>2]|0;h=0;while(1){if(h>>>0>=j>>>0)break;f=(h<<1)+16|0;k=a+23416+(g*1920|0)+(f*40|0)|0;b=k;d=a+23416+(g*1920|0)+(h*40|0)|0;e=b+40|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));b=0;while(1){if((b|0)==3)break;e=a+23416+(g*1920|0)+(f*40|0)+12+(b<<2)|0;c[e>>2]=c[e>>2]<<1;b=b+1|0}c[a+23416+(g*1920|0)+(f*40|0)+24>>2]=1;c[a+23416+(g*1920|0)+(f*40|0)+28>>2]=c[(c[a+23416+(g*1920|0)+(f*40|0)+36>>2]|0)+76>>2];b=k+40|0;d=k;e=b+40|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));d=a+23416+(g*1920|0)+(h*40|0)+36|0;b=0;while(1){if((b|0)==3)break;f=k+40+(b<<2)|0;c[f>>2]=(c[f>>2]|0)+(c[(c[c[d>>2]>>2]|0)+32+(b<<2)>>2]|0);b=b+1|0}c[k+64>>2]=2;c[k+68>>2]=c[(c[k+76>>2]|0)+80>>2];h=h+1|0}g=g+1|0}return}function Fo(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;l=Mb;Mb=Mb+48|0;k=l+16|0;j=l+8|0;i=l;h=l+24|0;c[h>>2]=c[e>>2];c[h+4>>2]=c[e+4>>2];c[h+8>>2]=c[e+8>>2];c[h+12>>2]=c[e+12>>2];c[h+16>>2]=c[e+16>>2];h=Ti(d,h,g)|0;a:do if((h|0)<0)g=-1094995529;else{g=c[d+4>>2]|0;if((g|0)>12){c[i>>2]=g;AD(b,16,196003,i);g=-1094995529;break}if((g+-3|0)>>>0>4&(c[d>>2]|0)==23){c[j>>2]=g;AD(b,16,198346,j);g=-1094995529;break}fS(e,h);g=c[d>>2]|0;switch(g|0){case 23:case 17:case 4:case 2:case 1:{g=Uj(a,b,e,f,d,c[d+12>>2]|0)|0;if((g|0)<0)break a;break}case 39:{g=co(a,b,e,d,c[d+12>>2]|0)|0;if((g|0)<0)break a;break}default:{c[k>>2]=(c[d+16>>2]|0)==1?198388:1113148;c[k+4>>2]=g;sU(b,198393,k);g=-38;break a}}g=l1(e)|0}while(0);Mb=l;return g|0}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,i=0,j=0,k=0,l=0,m=0;h=(e|0)==0&(f|0)==-2147483648;if(h)if((b|0)==0&(d|0)==-2147483648)g=0;else{i=a+928|0;c[i>>2]=b;c[i+4>>2]=d;i=5}else{g=a+928|0;l=g;k=c[l+4>>2]|0;j=a+912|0;m=j;l=aX(c[m>>2]|0,c[m+4>>2]|0,((k|0)>(f|0)|((k|0)==(f|0)?(c[l>>2]|0)>>>0>=e>>>0:0))&1|0,0)|0;k=M()|0;c[j>>2]=l;c[j+4>>2]=k;c[g>>2]=e;c[g+4>>2]=f;if((b|0)==0&(d|0)==-2147483648){g=a+920|0;c[g>>2]=e;c[g+4>>2]=f;g=0}else i=5}if((i|0)==5){g=a+920|0;k=g;l=c[k+4>>2]|0;m=a+904|0;j=m;k=aX(c[j>>2]|0,c[j+4>>2]|0,((l|0)>(d|0)|((l|0)==(d|0)?(c[k>>2]|0)>>>0>=b>>>0:0))&1|0,0)|0;l=M()|0;c[m>>2]=k;c[m+4>>2]=l;c[g>>2]=b;c[g+4>>2]=d;g=1}l=a+904|0;j=c[l+4>>2]|0;m=a+912|0;k=c[m+4>>2]|0;m=g&(h|((j|0)<(k|0)|((j|0)==(k|0)?(c[l>>2]|0)>>>0<=(c[m>>2]|0)>>>0:0)));L((m?d:f)|0);return (m?b:e)|0}function Ho(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=Mb;Mb=Mb+32|0;v=x+16|0;u=x+8|0;t=x;r=(c[h+4>>2]|0)==2?3:5;s=h+16|0;q=(1<<r)+-1|0;p=0;i=0;a:while(1){if((p|0)>=(c[s>>2]|0)){i=0;break}j=0;while(1){if((j|0)>=(d[h>>0]|0|0))break;n=HG(g,4)|0;if((n|0)==12){w=8;break a}k=j;do{l=HG(g,r)|0;k=(k&255)+l|0;if((a$(g)|0)<0){w=10;break a}o=k&255;m=a[h>>0]|0;if(o>>>0>(m&255)>>>0){w=12;break a}}while((l|0)==(q|0));while(1){if((j|0)>=(o|0))break;c[e+(i<<2)>>2]=n;c[f+(i<<2)>>2]=o;j=j+1|0;i=i+1|0}}p=p+1|0}if((w|0)==8){AD(c[b+4>>2]|0,16,197688,t);i=-1094995529}else if((w|0)==10){AD(c[b+4>>2]|0,16,197707,u);i=-1094995529}else if((w|0)==12){i=c[b+4>>2]|0;c[v>>2]=o;c[v+4>>2]=m&255;AD(i,16,197775,v);i=-1094995529}Mb=x;return i|0}function Io(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=Mb;Mb=Mb+16|0;f=k;a:do if(!(c[a+808>>2]&2))a=0;else{h=c[(c[a+64>>2]|0)+20>>2]|0;g=h+28|0;do if(c[g>>2]|0){e=h+36|0;a=a+800|0;if((c[e>>2]|0)==(c[a>>2]|0)){bU(g);i=e;d=a;break}else{c[f>>2]=193831;c[f+4>>2]=193870;c[f+8>>2]=213;AD(0,0,222515,f);ba()}}else{i=h+36|0;d=a+800|0}while(0);c[i>>2]=c[d>>2];a=DZ(b)|0;c[g>>2]=a;d=h+44|0;if(!(c[d>>2]|0)){a=PW(c[i>>2]|0,28)|0;c[d>>2]=a;a=PW(c[i>>2]|0,48)|0;c[h+40>>2]=a;a=c[g>>2]|0}if((a|0?c[d>>2]|0:0)?(j=h+40|0,c[j>>2]|0):0){c[h+32>>2]=b;a=0;while(1){if((a|0)>=(c[i>>2]|0)){a=0;break a}k1((c[d>>2]|0)+(a*28|0)|0,0)|0;wb((c[j>>2]|0)+(a*48|0)|0,0)|0;a=a+1|0}}bU(g);bU(d);bU(h+40|0);a=-12}while(0);Mb=k;return a|0}function Jo(a,b,e,f,g,h,i){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;j=0;while(1){if((j|0)>=(i|0))break;n=H(j,g)|0;k=b+n|0;o=k;k=k+4|0;m=H(j,h)|0;p=e+m|0;l=p;p=p+4|0;p=AQ(d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24,d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24,d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24,d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24)|0;l=M()|0;k=H(j,f)|0;o=a+k|0;c[o>>2]=p;c[o+4>>2]=l;n=b+(n+8)|0;o=n;n=n+4|0;m=e+(m+8)|0;l=m;m=m+4|0;m=AQ(d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24,d[n>>0]|d[n+1>>0]<<8|d[n+2>>0]<<16|d[n+3>>0]<<24,d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24,d[m>>0]|d[m+1>>0]<<8|d[m+2>>0]<<16|d[m+3>>0]<<24)|0;l=M()|0;k=a+(k+8)|0;c[k>>2]=m;c[k+4>>2]=l;j=j+1|0}return}function Ko(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=Mb;Mb=Mb+176|0;a=l+152|0;h=l+32|0;i=l;k=1112384;j=c[k>>2]|0;k=c[k+4>>2]|0;if((c[41821]|0)>>>0>=121){c[a>>2]=217336;c[a+4>>2]=217363;c[a+8>>2]=77;AD(0,0,222515,a);ba()}e=(j|0)!=0|(k|0)!=0;a=0;b=0;d=0;while(1){f=fa()|0;g=f-a|0;if(((b<<1|1)+a|0)<(f|0)){a=1112384;a=aX(c[a>>2]|0,c[a+4>>2]|0,1,0)|0;b=M()|0;m=1112384;c[m>>2]=a;c[m+4>>2]=b;m=1109296+((a&511)<<2)|0;c[m>>2]=(c[m>>2]|0)+(g>>>0<3294638521?g:g+1000328775|0);if((f-d|0)>31249?(m=_W(a|0,b|0,j|0,k|0)|0,b=M()|0,b>>>0>0|(b|0)==0&m>>>0>64|e&(b>>>0>0|(b|0)==0&m>>>0>4)):0)break}else{m=1109296+((c[278096]&511)<<2)|0;b=H(c[m>>2]|0,1664525)|0;c[m>>2]=(g>>>0<3294638521?g:g+1000328775|0)+1013904223+b}a=f;b=g;d=(d|0)==0?f:d}Ns(h,160)|0;DA(h,1109296,2048);vw(h,i);m=W_(c[i>>2]|0)|0;m=(W_(c[i+16>>2]|0)|0)+m|0;Mb=l;return m|0}function Lo(c,d,f,g,h,i,j,k){c=c|0;d=d|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,r=0,s=0,t=0,u=0;u=g>>>1;t=d>>>1;s=i+-1|0;l=20704+(s<<4)|0;m=20704+(s<<4)+1|0;n=20704+(s<<4)+2|0;o=20704+(s<<4)+3|0;p=20704+(s<<4)+4|0;q=20704+(s<<4)+5|0;r=20704+(s<<4)+6|0;s=20704+(s<<4)+7|0;i=0;d=f;j=c;while(1){if((i|0)>=(h|0))break;g=0;while(1){if((g|0)>=(k|0))break;f=H(e[d+(g+-3<<1)>>1]|0,a[l>>0]|0)|0;f=(H(e[d+(g+-2<<1)>>1]|0,a[m>>0]|0)|0)+f|0;f=f+(H(e[d+(g+-1<<1)>>1]|0,a[n>>0]|0)|0)|0;f=f+(H(e[d+(g<<1)>>1]|0,a[o>>0]|0)|0)|0;c=g+1|0;f=f+(H(e[d+(c<<1)>>1]|0,a[p>>0]|0)|0)|0;f=f+(H(e[d+(g+2<<1)>>1]|0,a[q>>0]|0)|0)|0;f=f+(H(e[d+(g+3<<1)>>1]|0,a[r>>0]|0)|0)|0;f=(f+(H(e[d+(g+4<<1)>>1]|0,a[s>>0]|0)|0)>>4)+2>>2;b[j+(g<<1)>>1]=f>>>0<4096?f:0-f>>31&4095;g=c}i=i+1|0;d=d+(u<<1)|0;j=j+(t<<1)|0}return}function Mo(c,d,f,g,h,i,j,k){c=c|0;d=d|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,r=0,s=0,t=0,u=0;u=g>>>1;t=d>>>1;s=i+-1|0;l=20704+(s<<4)|0;m=20704+(s<<4)+1|0;n=20704+(s<<4)+2|0;o=20704+(s<<4)+3|0;p=20704+(s<<4)+4|0;q=20704+(s<<4)+5|0;r=20704+(s<<4)+6|0;s=20704+(s<<4)+7|0;i=0;d=f;j=c;while(1){if((i|0)>=(h|0))break;g=0;while(1){if((g|0)>=(k|0))break;f=H(e[d+(g+-3<<1)>>1]|0,a[l>>0]|0)|0;f=(H(e[d+(g+-2<<1)>>1]|0,a[m>>0]|0)|0)+f|0;f=f+(H(e[d+(g+-1<<1)>>1]|0,a[n>>0]|0)|0)|0;f=f+(H(e[d+(g<<1)>>1]|0,a[o>>0]|0)|0)|0;c=g+1|0;f=f+(H(e[d+(c<<1)>>1]|0,a[p>>0]|0)|0)|0;f=f+(H(e[d+(g+2<<1)>>1]|0,a[q>>0]|0)|0)|0;f=f+(H(e[d+(g+3<<1)>>1]|0,a[r>>0]|0)|0)|0;f=(f+(H(e[d+(g+4<<1)>>1]|0,a[s>>0]|0)|0)>>2)+8>>4;b[j+(g<<1)>>1]=f>>>0<1024?f:0-f>>31&1023;g=c}i=i+1|0;d=d+(u<<1)|0;j=j+(t<<1)|0}return}function No(c,d,f,g,h,i){c=c|0;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;o=1<<h;j=0;k=o;while(1){if((j|0)>=(o|0))break;n=k+(e[f+(j<<1)>>1]|0)+(e[d+(j<<1)>>1]|0)|0;j=j+1|0;k=n}h=k>>h+1;l=MR(h|0,((h|0)<0)<<31>>31|0,65537,65537)|0;m=M()|0;k=0;while(1){if((k|0)>=(o|0))break;n=H(k,g)|0;j=0;while(1){if((j|0)>=(o|0))break;p=c+(j+n<<1)|0;q=p;a[q>>0]=l;a[q+1>>0]=l>>8;a[q+2>>0]=l>>16;a[q+3>>0]=l>>24;p=p+4|0;a[p>>0]=m;a[p+1>>0]=m>>8;a[p+2>>0]=m>>16;a[p+3>>0]=m>>24;j=j+4|0}k=k+1|0}a:do if((i|0)==0&(o|0)<32){b[c>>1]=((h<<1)+2+(e[f>>1]|0)+(e[d>>1]|0)|0)>>>2;k=(h*3|0)+2|0;j=1;while(1){if((j|0)>=(o|0))break;b[c+(j<<1)>>1]=(k+(e[d+(j<<1)>>1]|0)|0)>>>2;j=j+1|0}j=1;while(1){if((j|0)>=(o|0))break a;q=c+((H(j,g)|0)<<1)|0;b[q>>1]=(k+(e[f+(j<<1)>>1]|0)|0)>>>2;j=j+1|0}}while(0);return}function Oo(c,d,f,g,h,i,j,k){c=c|0;d=d|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,r=0,s=0,t=0,u=0;u=g>>>1;t=d>>>1;s=i+-1|0;l=20704+(s<<4)|0;m=20704+(s<<4)+1|0;n=20704+(s<<4)+2|0;o=20704+(s<<4)+3|0;p=20704+(s<<4)+4|0;q=20704+(s<<4)+5|0;r=20704+(s<<4)+6|0;s=20704+(s<<4)+7|0;i=0;d=f;j=c;while(1){if((i|0)>=(h|0))break;g=0;while(1){if((g|0)>=(k|0))break;f=H(e[d+(g+-3<<1)>>1]|0,a[l>>0]|0)|0;f=(H(e[d+(g+-2<<1)>>1]|0,a[m>>0]|0)|0)+f|0;f=f+(H(e[d+(g+-1<<1)>>1]|0,a[n>>0]|0)|0)|0;f=f+(H(e[d+(g<<1)>>1]|0,a[o>>0]|0)|0)|0;c=g+1|0;f=f+(H(e[d+(c<<1)>>1]|0,a[p>>0]|0)|0)|0;f=f+(H(e[d+(g+2<<1)>>1]|0,a[q>>0]|0)|0)|0;f=f+(H(e[d+(g+3<<1)>>1]|0,a[r>>0]|0)|0)|0;f=(f+(H(e[d+(g+4<<1)>>1]|0,a[s>>0]|0)|0)>>1)+16>>5;b[j+(g<<1)>>1]=f>>>0<512?f:0-f>>31&511;g=c}i=i+1|0;d=d+(u<<1)|0;j=j+(t<<1)|0}return}function Po(a,c,d,f,g){a=a|0;c=c|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;j=g>>1;h=c;i=0;d=d+(0-(g&-2)<<1)|0;while(1){if((i|0)==7)break;l=d+2|0;k=d+-2|0;m=d+4|0;n=H((e[m>>1]|0)+(e[k>>1]|0)|0,-5)|0;g=d+6|0;b[h>>1]=(((e[l>>1]|0)+(e[d>>1]|0)|0)*20|0)+55306+(e[d+-4>>1]|0)+n+(e[g>>1]|0);g=H((e[g>>1]|0)+(e[d>>1]|0)|0,-5)|0;b[h+2>>1]=(((e[m>>1]|0)+(e[l>>1]|0)|0)*20|0)+55306+(e[k>>1]|0)+g+(e[d+8>>1]|0);h=h+8|0;i=i+1|0;d=d+(j<<1)|0}h=f>>1;d=c+16|0;g=0;while(1){if((g|0)==2)break;j=b[d+-8>>1]|0;n=(b[d>>1]|0)+10230|0;l=(b[d+8>>1]|0)+10230|0;k=(b[d+16>>1]|0)+10230|0;m=(b[d+24>>1]|0)+10230|0;c=b[d+32>>1]|0;f=(b[d+-16>>1]|0)+10742+m+((l+n|0)*20|0)+(H(k+(j+10230)|0,-5)|0)>>10;b[a>>1]=f>>>0<1024?f:0-f>>31&1023;n=j+20972+c+((k+l|0)*20|0)+(H(m+n|0,-5)|0)>>10;b[a+(h<<1)>>1]=n>>>0<1024?n:0-n>>31&1023;a=a+2|0;d=d+2|0;g=g+1|0}return}function Qo(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,r=0,s=0,t=0;t=Mb;Mb=Mb+224|0;p=t+208|0;q=t+160|0;r=t+80|0;s=t;h=q;i=h+40|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(i|0));c[p>>2]=c[e>>2];if((rd(0,d,p,r,q,f,g)|0)<0)e=-1;else{if((c[b+76>>2]|0)>-1)o=h2(b)|0;else o=0;e=c[b>>2]|0;n=e&32;if((a[b+74>>0]|0)<1)c[b>>2]=e&-33;h=b+48|0;if(!(c[h>>2]|0)){i=b+44|0;j=c[i>>2]|0;c[i>>2]=s;k=b+28|0;c[k>>2]=s;l=b+20|0;c[l>>2]=s;c[h>>2]=80;m=b+16|0;c[m>>2]=s+80;e=rd(b,d,p,r,q,f,g)|0;if(j){Yb[c[b+36>>2]&15](b,0,0)|0;e=(c[l>>2]|0)==0?-1:e;c[i>>2]=j;c[h>>2]=0;c[m>>2]=0;c[k>>2]=0;c[l>>2]=0}}else e=rd(b,d,p,r,q,f,g)|0;h=c[b>>2]|0;c[b>>2]=h|n;if(o|0)g2(b);e=(h&32|0)==0?e:-1}Mb=t;return e|0}function Ro(b,c,e,f,g,h){b=b|0;c=c|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;k=8-g|0;j=8-h|0;l=H(j,k)|0;j=H(j,g)|0;k=H(k,h)|0;h=H(h,g)|0;a:do if(!h){i=j+k|0;if(!i){g=0;while(1){if((g|0)>=(f|0))break a;k=((d[b>>0]|0)+1+(((H(l,d[c>>0]|0)|0)+32|0)>>>6)|0)>>>1&255;a[b>>0]=k;b=b+e|0;g=g+1|0;c=c+e|0}}else{h=(k|0)==0?1:e;g=0;while(1){if((g|0)>=(f|0))break a;k=H(l,d[c>>0]|0)|0;k=((d[b>>0]|0)+1+((k+32+(H(i,d[c+h>>0]|0)|0)|0)>>>6)|0)>>>1&255;a[b>>0]=k;b=b+e|0;g=g+1|0;c=c+e|0}}}else{i=e+1|0;g=0;while(1){if((g|0)>=(f|0))break a;p=H(l,d[c>>0]|0)|0;o=H(j,d[c+1>>0]|0)|0;m=c+e|0;n=H(k,d[m>>0]|0)|0;n=((d[b>>0]|0)+1+((p+32+o+n+(H(h,d[c+i>>0]|0)|0)|0)>>>6)|0)>>>1&255;a[b>>0]=n;b=b+e|0;g=g+1|0;c=m}}while(0);return}function So(c,e,f,g,h,i,j,k,l){c=c|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,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;u=j+-1|0;n=20704+(u<<4)|0;o=20704+(u<<4)+1|0;p=20704+(u<<4)+2|0;q=20704+(u<<4)+3|0;r=20704+(u<<4)+4|0;s=20704+(u<<4)+5|0;t=20704+(u<<4)+6|0;u=20704+(u<<4)+7|0;m=0;k=c;while(1){if((m|0)>=(i|0))break;j=0;while(1){if((j|0)>=(l|0))break;C=H(d[f+(j+-3)>>0]|0,a[n>>0]|0)|0;B=H(d[f+(j+-2)>>0]|0,a[o>>0]|0)|0;A=H(d[f+(j+-1)>>0]|0,a[p>>0]|0)|0;z=H(d[f+j>>0]|0,a[q>>0]|0)|0;c=j+1|0;y=H(d[f+c>>0]|0,a[r>>0]|0)|0;x=H(d[f+(j+2)>>0]|0,a[s>>0]|0)|0;w=H(d[f+(j+3)>>0]|0,a[t>>0]|0)|0;v=H(d[f+(j+4)>>0]|0,a[u>>0]|0)|0;v=C+64+B+A+z+y+x+w+v+(b[h+(j<<1)>>1]|0)>>7;a[k+j>>0]=v>>>0>255?0-v>>31:v;j=c}h=h+128|0;m=m+1|0;f=f+g|0;k=k+e|0}return}function To(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=a>>>0>16?a:16;if(!(d+-1&d))a=d;else{a=16;while(1)if(a>>>0<d>>>0)a=a<<1;else break}if((-64-a|0)>>>0<=b>>>0){h=j2()|0;c[h>>2]=12;h=0;return h|0}g=b>>>0<11?16:b+11&-8;d=zc(g+12+a|0)|0;if(!d){h=0;return h|0}f=d+-8|0;do if(a+-1&d){e=(d+a+-1&0-a)+-8|0;b=f;e=(e-b|0)>>>0>15?e:e+a|0;b=e-b|0;a=d+-4|0;i=c[a>>2]|0;d=(i&-8)-b|0;if(!(i&3)){c[e>>2]=(c[f>>2]|0)+b;c[e+4>>2]=d;a=e;b=e;break}else{i=e+4|0;c[i>>2]=d|c[i>>2]&1|2;d=e+d+4|0;c[d>>2]=c[d>>2]|1;c[a>>2]=b|c[a>>2]&1|2;c[i>>2]=c[i>>2]|1;Xd(f,b);a=e;b=e;break}}else{a=f;b=f}while(0);a=a+4|0;d=c[a>>2]|0;if(d&3|0?(h=d&-8,h>>>0>(g+16|0)>>>0):0){i=h-g|0;f=b+g|0;c[a>>2]=g|d&1|2;c[f+4>>2]=i|3;h=b+h+4|0;c[h>>2]=c[h>>2]|1;Xd(f,i)}i=b+8|0;return i|0}function Uo(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=b+112|0;f=g;e=c[f>>2]|0;f=c[f+4>>2]|0;if(!((e|0)==0&(f|0)==0)?(i=b+120|0,h=c[i+4>>2]|0,!((h|0)<(f|0)|((h|0)==(f|0)?(c[i>>2]|0)>>>0<e>>>0:0))):0)j=4;else{e=aR(b)|0;if((e|0)>=0){f=c[g>>2]|0;g=c[g+4>>2]|0;i=c[b+8>>2]|0;if(!((f|0)==0&(g|0)==0)){h=c[b+4>>2]|0;k=i-h|0;l=((k|0)<0)<<31>>31;m=b+120|0;f=_W(f|0,g|0,c[m>>2]|0,c[m+4>>2]|0)|0;m=M()|0;g=i;if((m|0)>(l|0)|(m|0)==(l|0)&f>>>0>k>>>0)j=9;else c[b+104>>2]=h+(f+-1)}else{g=i;j=9}if((j|0)==9)c[b+104>>2]=i;f=b+4|0;if(!g)f=c[f>>2]|0;else{f=c[f>>2]|0;k=g+1-f|0;m=b+120|0;l=m;k=aX(c[l>>2]|0,c[l+4>>2]|0,k|0,((k|0)<0)<<31>>31|0)|0;l=M()|0;c[m>>2]=k;c[m+4>>2]=l}f=f+-1|0;if((e|0)!=(d[f>>0]|0|0))a[f>>0]=e}else j=4}if((j|0)==4){c[b+104>>2]=0;e=-1}return e|0}function Vo(a,e,f){a=a|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;i=Mb;Mb=Mb+64|0;h=i;g=0;while(1){if((g|0)==4)break;q=g<<2;m=b[e+(q<<1)>>1]|0;n=q|1;k=b[e+(n<<1)>>1]|0;p=k+m|0;k=m-k|0;m=q|2;o=b[e+(m<<1)>>1]|0;j=q|3;r=b[e+(j<<1)>>1]|0;l=o-r|0;o=r+o|0;c[h+(q<<2)>>2]=o+p;c[h+(n<<2)>>2]=p-o;c[h+(m<<2)>>2]=k-l;c[h+(j<<2)>>2]=l+k;g=g+1|0}g=0;while(1){if((g|0)==4)break;r=d[175366+g>>0]|0;q=c[h+(g<<2)>>2]|0;n=c[h+(g+8<<2)>>2]|0;p=n+q|0;n=q-n|0;q=c[h+(g+4<<2)>>2]|0;m=c[h+(g+12<<2)>>2]|0;o=q-m|0;q=m+q|0;m=((H(q+p|0,f)|0)+128|0)>>>8&65535;b[a+(r<<1)>>1]=m;m=((H(o+n|0,f)|0)+128|0)>>>8&65535;b[a+(r+16<<1)>>1]=m;o=((H(n-o|0,f)|0)+128|0)>>>8&65535;b[a+(r+64<<1)>>1]=o;q=((H(p-q|0,f)|0)+128|0)>>>8&65535;b[a+(r+80<<1)>>1]=q;g=g+1|0}Mb=i;return}function Wo(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.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.0,B=0.0;y=a+32|0;z=a+36|0;i=c[z>>2]|0;w=c[a+40>>2]|0;h=+(w|0);x=c[a+48>>2]|0;j=c[y>>2]|0;k=0;while(1){if((j|0)<(x|0))break;j=j-x|0;k=k+1|0}r=1.0/h;s=a+4|0;t=a+12|0;u=a+8|0;v=a+28|0;q=a+24|0;p=0;a=j;j=k;while(1){if((p|0)>=(e|0))break;m=c[t>>2]|0;n=(c[s>>2]|0)+((H(m,a)|0)<<3)|0;o=c[u>>2]|0;k=0;h=0.0;l=0.0;while(1){if((k|0)>=(o|0))break;B=+g[d+(k+j<<3)>>3];A=l+B*+g[n+(k<<3)>>3];B=h+B*+g[n+(k+m<<3)>>3];k=k+1|0;h=B;l=A}g[b+(p<<3)>>3]=l+r*(h-l)*+(i|0);i=(c[v>>2]|0)+i|0;o=(i|0)<(w|0);k=o?0:w;a=(c[q>>2]|0)+a+((o^1)&1)|0;while(1){if((a|0)<(x|0))break;j=j+1|0;a=a-x|0}p=p+1|0;i=i-k|0}if(f|0){c[z>>2]=i;c[y>>2]=a}return j|0}function Xo(a,b,d,e,g){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;var h=0.0,i=0,j=0,k=0,l=0.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.0,B=0.0;y=a+32|0;z=a+36|0;i=c[z>>2]|0;w=c[a+40>>2]|0;h=+(w|0);x=c[a+48>>2]|0;j=c[y>>2]|0;k=0;while(1){if((j|0)<(x|0))break;j=j-x|0;k=k+1|0}r=1.0/h;s=a+4|0;t=a+12|0;u=a+8|0;v=a+28|0;q=a+24|0;p=0;a=j;j=k;while(1){if((p|0)>=(e|0))break;m=c[t>>2]|0;n=(c[s>>2]|0)+((H(m,a)|0)<<2)|0;o=c[u>>2]|0;k=0;h=0.0;l=0.0;while(1){if((k|0)>=(o|0))break;B=+f[d+(k+j<<2)>>2];A=l+B*+f[n+(k<<2)>>2];B=h+B*+f[n+(k+m<<2)>>2];k=k+1|0;h=B;l=A}f[b+(p<<2)>>2]=r*(h-l)*+(i|0)+l;i=(c[v>>2]|0)+i|0;o=(i|0)<(w|0);k=o?0:w;a=(c[q>>2]|0)+a+((o^1)&1)|0;while(1){if((a|0)<(x|0))break;j=j+1|0;a=a-x|0}p=p+1|0;i=i-k|0}if(g|0){c[z>>2]=i;c[y>>2]=a}return j|0}function Yo(a,b,d){a=a|0;b=b|0;d=d|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0;k=c[a+8>>2]|0;l=c[a+24>>2]|0;m=c[a+28>>2]|0;i=1<<c[a+20>>2];j=i>>2;g=0;h=d;d=d+(i>>1<<2)+-4|0;while(1){if((g|0)>=(j|0))break;n=e[k+(g<<1)>>1]|0;o=l+(g<<2)|0;p=m+(g<<2)|0;f[b+(n<<3)>>2]=+f[d>>2]*+f[o>>2]-+f[h>>2]*+f[p>>2];f[b+(n<<3)+4>>2]=+f[d>>2]*+f[p>>2]+ +f[h>>2]*+f[o>>2];g=g+1|0;h=h+8|0;d=d+-8|0}g=i>>3;ec[c[a+36>>2]&255](a,b);d=0;while(1){if((g|0)<=(d|0))break;k=g-d+-1|0;n=b+(k<<3)+4|0;r=+f[n>>2];t=+f[m+(k<<2)>>2];a=b+(k<<3)|0;s=+f[a>>2];q=+f[l+(k<<2)>>2];k=d+g|0;p=b+(k<<3)+4|0;x=+f[p>>2];w=+f[m+(k<<2)>>2];o=b+(k<<3)|0;v=+f[o>>2];u=+f[l+(k<<2)>>2];f[a>>2]=r*t-s*q;f[n>>2]=w*v+x*u;f[o>>2]=x*w-v*u;f[p>>2]=t*s+r*q;d=d+1|0}return}function Zo(c,d,f,g,h,i,j){c=c|0;d=d|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;v=f>>>1;q=i+-1|0;u=20704+(q<<4)|0;s=v*3|0;t=20704+(q<<4)+1|0;k=f&-2;l=20704+(q<<4)+2|0;m=20704+(q<<4)+3|0;n=20704+(q<<4)+4|0;o=20704+(q<<4)+5|0;p=20704+(q<<4)+6|0;q=20704+(q<<4)+7|0;r=v<<2;i=d;f=0;while(1){if((f|0)>=(g|0))break;h=0;while(1){if((h|0)>=(j|0))break;d=H(e[i+(h-s<<1)>>1]|0,a[u>>0]|0)|0;d=(H(e[i+(h-k<<1)>>1]|0,a[t>>0]|0)|0)+d|0;d=d+(H(e[i+(h-v<<1)>>1]|0,a[l>>0]|0)|0)|0;d=d+(H(e[i+(h<<1)>>1]|0,a[m>>0]|0)|0)|0;d=d+(H(e[i+(h+v<<1)>>1]|0,a[n>>0]|0)|0)|0;d=d+(H(e[i+(h+k<<1)>>1]|0,a[o>>0]|0)|0)|0;d=d+(H(e[i+(h+s<<1)>>1]|0,a[p>>0]|0)|0)|0;d=(d+(H(e[i+(h+r<<1)>>1]|0,a[q>>0]|0)|0)|0)>>>4&65535;b[c+(h<<1)>>1]=d;h=h+1|0}c=c+128|0;i=i+(v<<1)|0;f=f+1|0}return}function _o(c,d,f,g,h,i,j){c=c|0;d=d|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;v=f>>>1;q=i+-1|0;u=20704+(q<<4)|0;s=v*3|0;t=20704+(q<<4)+1|0;k=f&-2;l=20704+(q<<4)+2|0;m=20704+(q<<4)+3|0;n=20704+(q<<4)+4|0;o=20704+(q<<4)+5|0;p=20704+(q<<4)+6|0;q=20704+(q<<4)+7|0;r=v<<2;i=d;f=0;while(1){if((f|0)>=(g|0))break;h=0;while(1){if((h|0)>=(j|0))break;d=H(e[i+(h-s<<1)>>1]|0,a[u>>0]|0)|0;d=(H(e[i+(h-k<<1)>>1]|0,a[t>>0]|0)|0)+d|0;d=d+(H(e[i+(h-v<<1)>>1]|0,a[l>>0]|0)|0)|0;d=d+(H(e[i+(h<<1)>>1]|0,a[m>>0]|0)|0)|0;d=d+(H(e[i+(h+v<<1)>>1]|0,a[n>>0]|0)|0)|0;d=d+(H(e[i+(h+k<<1)>>1]|0,a[o>>0]|0)|0)|0;d=d+(H(e[i+(h+s<<1)>>1]|0,a[p>>0]|0)|0)|0;d=(d+(H(e[i+(h+r<<1)>>1]|0,a[q>>0]|0)|0)|0)>>>2&65535;b[c+(h<<1)>>1]=d;h=h+1|0}c=c+128|0;i=i+(v<<1)|0;f=f+1|0}return}function $o(c,d,f,g,h,i,j){c=c|0;d=d|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;v=f>>>1;q=i+-1|0;u=20704+(q<<4)|0;s=v*3|0;t=20704+(q<<4)+1|0;k=f&-2;l=20704+(q<<4)+2|0;m=20704+(q<<4)+3|0;n=20704+(q<<4)+4|0;o=20704+(q<<4)+5|0;p=20704+(q<<4)+6|0;q=20704+(q<<4)+7|0;r=v<<2;i=d;f=0;while(1){if((f|0)>=(g|0))break;h=0;while(1){if((h|0)>=(j|0))break;d=H(e[i+(h-s<<1)>>1]|0,a[u>>0]|0)|0;d=(H(e[i+(h-k<<1)>>1]|0,a[t>>0]|0)|0)+d|0;d=d+(H(e[i+(h-v<<1)>>1]|0,a[l>>0]|0)|0)|0;d=d+(H(e[i+(h<<1)>>1]|0,a[m>>0]|0)|0)|0;d=d+(H(e[i+(h+v<<1)>>1]|0,a[n>>0]|0)|0)|0;d=d+(H(e[i+(h+k<<1)>>1]|0,a[o>>0]|0)|0)|0;d=d+(H(e[i+(h+s<<1)>>1]|0,a[p>>0]|0)|0)|0;d=(d+(H(e[i+(h+r<<1)>>1]|0,a[q>>0]|0)|0)|0)>>>1&65535;b[c+(h<<1)>>1]=d;h=h+1|0}c=c+128|0;i=i+(v<<1)|0;f=f+1|0}return}function ap(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;q=d+8|0;r=e+8|0;s=d+12|0;t=e+12|0;u=d+16|0;v=e+16|0;h=d+24|0;i=e+24|0;j=d+4|0;k=e+36|0;l=d+20|0;m=e+52|0;n=d+28|0;o=e+60|0;p=a+4|0;g=0;while(1){if((g|0)>=(f|0))break;y=H(c[r>>2]|0,b[(c[q>>2]|0)+(g<<1)>>1]|0)|0;y=(H(c[t>>2]|0,b[(c[s>>2]|0)+(g<<1)>>1]|0)|0)+y|0;w=H(c[e>>2]|0,b[(c[d>>2]|0)+(g<<1)>>1]|0)|0;x=H(c[v>>2]|0,b[(c[u>>2]|0)+(g<<1)>>1]|0)|0;y=y+16384|0;x=(y+w+x+(H(c[i>>2]|0,b[(c[h>>2]|0)+(g<<1)>>1]|0)|0)|0)>>>15&65535;b[(c[a>>2]|0)+(g<<1)>>1]=x;x=H(c[k>>2]|0,b[(c[j>>2]|0)+(g<<1)>>1]|0)|0;w=H(c[m>>2]|0,b[(c[l>>2]|0)+(g<<1)>>1]|0)|0;w=(y+x+w+(H(c[o>>2]|0,b[(c[n>>2]|0)+(g<<1)>>1]|0)|0)|0)>>>15&65535;b[(c[p>>2]|0)+(g<<1)>>1]=w;g=g+1|0}return}function bp(b,c,e,f,g,h,i,j){b=b|0;c=c|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;t=i+-1|0;v=20704+(t<<4)|0;l=f*3|0;m=20704+(t<<4)+1|0;n=f<<1;o=20704+(t<<4)+2|0;p=20704+(t<<4)+3|0;q=20704+(t<<4)+4|0;r=20704+(t<<4)+5|0;s=20704+(t<<4)+6|0;t=20704+(t<<4)+7|0;u=f<<2;k=0;i=b;while(1){if((k|0)>=(g|0))break;h=0;while(1){if((h|0)>=(j|0))break;B=H(d[e+(h-l)>>0]|0,a[v>>0]|0)|0;A=H(d[e+(h-n)>>0]|0,a[m>>0]|0)|0;z=H(d[e+(h-f)>>0]|0,a[o>>0]|0)|0;y=H(d[e+h>>0]|0,a[p>>0]|0)|0;x=H(d[e+(h+f)>>0]|0,a[q>>0]|0)|0;w=H(d[e+(h+n)>>0]|0,a[r>>0]|0)|0;b=H(d[e+(h+l)>>0]|0,a[s>>0]|0)|0;b=B+32+A+z+y+x+w+b+(H(d[e+(h+u)>>0]|0,a[t>>0]|0)|0)>>6;a[i+h>>0]=b>>>0>255?0-b>>31:b;h=h+1|0}k=k+1|0;e=e+f|0;i=i+c|0}return}function cp(a,c,d,f,g,h){a=a|0;c=c|0;d=d|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;k=8-g|0;j=8-h|0;m=H(j,k)|0;j=H(j,g)|0;k=H(k,h)|0;i=H(h,g)|0;l=d>>1;a:do if(!i){d=j+k|0;if(!d){g=0;while(1){if((g|0)>=(f|0))break a;k=((H(m,e[c>>1]|0)|0)+32|0)>>>6&65535;b[a>>1]=k;a=a+(l<<1)|0;g=g+1|0;c=c+(l<<1)|0}}else{h=(k|0)==0?1:l;g=0;while(1){if((g|0)>=(f|0))break a;k=H(m,e[c>>1]|0)|0;k=(k+32+(H(d,e[c+(h<<1)>>1]|0)|0)|0)>>>6&65535;b[a>>1]=k;a=a+(l<<1)|0;g=g+1|0;c=c+(l<<1)|0}}}else{h=l+1|0;g=0;while(1){if((g|0)>=(f|0))break a;p=H(m,e[c>>1]|0)|0;o=H(j,e[c+2>>1]|0)|0;d=c+(l<<1)|0;n=H(k,e[d>>1]|0)|0;n=(p+32+o+n+(H(i,e[c+(h<<1)>>1]|0)|0)|0)>>>6&65535;b[a>>1]=n;a=a+(l<<1)|0;g=g+1|0;c=d}}while(0);return}function dp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=Mb;Mb=Mb+16|0;g=j;i=a+32856|0;do if(!(BA(i,b+2+(d+-3>>31)+(d+-33>>31)+(a+32904)|0)|0)){c[e>>2]=0;d=0}else{f=1;d=b+3|0;while(1){if(f>>>0>=9){h=5;break}if(!(BA(i,a+32904+d|0)|0)){b=f;d=f;break}b=d+(f>>>0<4&1)|0;f=f+1|0;d=b}if((h|0)==5){b=3;while(1){if(!(zP(i)|0))break;if(b>>>0>23){h=15;break}d=(1<<b)+f|0;b=b+1|0;f=d}if((h|0)==15){AD(c[(c[a>>2]|0)+4>>2]|0,16,210506,g);d=-2147483648;break}while(1){d=b+-1|0;if(!b)break;b=d;f=((zP(i)|0)<<d)+f|0}b=f;d=(f|0)<70?f:70}c[e>>2]=d;e=c[i>>2]|0;d=e<<1;c[i>>2]=d;if(!(e&32767)){yU(i);d=c[i>>2]|0}e=c[a+32860>>2]<<17;a=d-e|0;d=a>>31;c[i>>2]=(d&e)+a;d=(d^0-b)-d|0}while(0);Mb=j;return d|0}function ep(a,b,c,d,e,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=+h;i=i|0;var j=0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0;q=Mb;Mb=Mb+16|0;p=q;j=0;while(1){if((j|0)==3)break;f[p+(j<<2)>>2]=+f[167184+(j<<2)>>2]*h;j=j+1|0}m=d+4|0;j=0;while(1){if((j|0)>=(i|0))break;r=+f[b+(j<<3)>>2];t=+f[d>>2];s=+f[b+(j<<3)+4>>2];k=+f[m>>2];n=j+2|0;o=j+5|0;h=r*t-s*k;k=t*s+r*k;l=0;while(1){if((l|0)==3)break;r=+f[p+(l<<2)>>2];x=n-l|0;u=+f[c+(l*296|0)+(x<<3)>>2];w=+f[c+(l*296|0)+(x<<3)+4>>2];v=+f[e+(l<<3)>>2];t=+f[e+(l<<3)+4>>2];s=u*v-w*t-h*r;t=w*v+u*t-k*r;f[c+(l*296|0)+(o<<3)>>2]=h+r*s;f[c+(l*296|0)+(o<<3)+4>>2]=k+r*t;h=s;k=t;l=l+1|0}x=g+(j<<2)|0;f[a+(j<<3)>>2]=h*+f[x>>2];f[a+(j<<3)+4>>2]=k*+f[x>>2];j=j+1|0}Mb=q;return}function fp(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;o=Mb;Mb=Mb+32|0;i=o+16|0;h=o;f=c[a+28200>>2]|0;b=c[f+84>>2]|0;d=c[f+80>>2]|0;e=c[f+88>>2]|0;f=c[f+92>>2]|0;m=c[a+25656>>2]|0;p=d+b|0;k=m-p|0;n=c[a+25660>>2]|0;g=f+e|0;j=n-g|0;if(m>>>0<=p>>>0){c[h>>2]=208550;c[h+4>>2]=207591;c[h+8>>2]=880;AD(0,0,222515,h);ba()}if(n>>>0<=g>>>0){c[i>>2]=208604;c[i+4>>2]=207591;c[i+8>>2]=881;AD(0,0,222515,i);ba()}g=a+29648|0;i=c[g>>2]|0;h=a+29652|0;if((((i|0)>0?(l=c[h>>2]|0,(e|d|0)==0&(l|0)>0):0)?(i+15^k+15)>>>0<16:0)?!((l|0)>(j|0)|((i|0)>(k|0)|(l+15^j+15)>>>0>15)):0){h=l;g=i;f=n-l|0;e=0;d=0;b=m-i|0}else{c[g>>2]=0;c[h>>2]=0;h=j;g=k}p=c[a+4>>2]|0;c[p+132>>2]=m;c[p+136>>2]=n;c[p+124>>2]=g;c[p+128>>2]=h;c[a+25704>>2]=b;c[a+25700>>2]=d;c[a+25708>>2]=e;c[a+25712>>2]=f;Mb=o;return}function gp(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=Mb;Mb=Mb+32|0;n=o+16|0;eW(e,2);m=HG(e,4)|0;if((c[b+4>>2]|0)!=(m|0))AD(a,24,196698,o);k=HG(e,4)|0;b=HG(e,4)|0;g=HG(e,4)|0;h=HG(e,2)|0;l=HG(e,3)|0;m=HG(e,4)|0;if(mT(e)|0)eW(e,4);if(mT(e)|0)eW(e,4);if(mT(e)|0)eW(e,3);i=b+k|0;j=i+g|0;do if((a$(e)|0)>=(((m+j|0)*5|0)+(l+h+m<<2)|0)){Cw(d,1,e,k);Cw(d+(k*3|0)|0,2,e,b);Cw(d+(i*3|0)|0,3,e,g);Cw(d+(j*3|0)|0,4,e,h);g=j+h|0;fS(e,l<<2);Cw(d+(g*3|0)|0,5,e,m);mY(e,f);b=(HG(e,8)|0)<<3;if((a$(e)|0)<(b|0)){AD(a,16,196809,n);b=-1094995529;break}else{fS(e,b);b=m+g|0;break}}else{AD(a,16,196809,o+8|0);b=-1}while(0);Mb=o;return b|0}function hp(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==4)break;i=c+2|0;l=c+-2|0;a=c+4|0;m=H((e[a>>1]|0)+(e[l>>1]|0)|0,-5)|0;j=c+6|0;m=(((e[i>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+m+(e[j>>1]|0)>>5;b[d>>1]=m>>>0<16384?m:0-m>>31&16383;m=H((e[j>>1]|0)+(e[c>>1]|0)|0,-5)|0;k=c+8|0;m=(((e[a>>1]|0)+(e[i>>1]|0)|0)*20|0)+16+(e[l>>1]|0)+m+(e[k>>1]|0)>>5;b[d+2>>1]=m>>>0<16384?m:0-m>>31&16383;m=H((e[k>>1]|0)+(e[i>>1]|0)|0,-5)|0;l=c+10|0;m=(((e[j>>1]|0)+(e[a>>1]|0)|0)*20|0)+16+(e[c>>1]|0)+m+(e[l>>1]|0)>>5;b[d+4>>1]=m>>>0<16384?m:0-m>>31&16383;a=H((e[l>>1]|0)+(e[a>>1]|0)|0,-5)|0;a=(((e[k>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[i>>1]|0)+a+(e[c+12>>1]|0)>>5;b[d+6>>1]=a>>>0<16384?a:0-a>>31&16383;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function ip(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=c[a+13444>>2]|0;e=c[a+13384>>2]|0;b=aX(b|0,((b|0)<0)<<31>>31|0,2,0)|0;b=aX(b|0,M()|0,e|0,((e|0)<0)<<31>>31|0)|0;e=M()|0;h=c[f+48>>2]|0;d=((h|0)<0)<<31>>31;e=MR(b|0,e|0,h|0,d|0)|0;b=M()|0;g=c[f+32>>2]|0;g=_W(e|0,b|0,g|0,((g|0)<0)<<31>>31|0)|0;b=M()|0;e=c[a+44>>2]|0;a=c[a+40>>2]|0;d=MR(a|0,((a|0)<0)<<31>>31|0,h|0,d|0)|0;d=gg(g,b,e,((e|0)<0)<<31>>31,d,M()|0,3)|0;e=M()|0;a=aX(d|0,e|0,2,0)|0;b=M()|0;if(c[f+44>>2]|0)if((e|0)>0|(e|0)==0&d>>>0>2147483645){b=-1;a=-22}else{e=c[f+16>>2]|0;e=MR(a|0,b|0,e|0,((e|0)<0)<<31>>31|0)|0;e=aX(e|0,M()|0,-1,-1)|0;g=M()|0;h=c[f+20>>2]|0;h=xA(e|0,g|0,h|0,((h|0)<0)<<31>>31|0)|0;h=aX(h|0,M()|0,1,0)|0;f=M()|0;g=(b|0)>(f|0)|(b|0)==(f|0)&a>>>0>h>>>0;b=g?b:f;a=g?a:h}L(b|0);return a|0}function jp(e,f,g,h,i,j,k,l,m){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;o=(c[f+21792>>2]>>c[f+21828>>2]<<4)+j|0;do if(k|0){j=a[(d[91792+h>>0]|0)+(f+28272)>>0]|0;if((c[(c[(c[f+23416+(j*40|0)+36>>2]|0)+16>>2]|0)+4>>2]|0)==(c[(c[e+24332>>2]|0)+4>>2]|0)?(c[f+23416+(j*40|0)+24>>2]&3|0)==(c[e+26364>>2]|0):0)break;n=TQ(f,h,i,o,0)|0;j=g+(j<<1)|0;k=b[j>>1]|0;if(k<<16>>16<0)c[m>>2]=(c[m>>2]|0)+1;k=k<<16>>16;b[j>>1]=(n|0)<(k|0)?k:n}while(0);do if(l|0){j=a[(d[91792+h>>0]|0)+(f+28312)>>0]|0;if((c[(c[(c[f+25336+(j*40|0)+36>>2]|0)+16>>2]|0)+4>>2]|0)==(c[(c[e+24332>>2]|0)+4>>2]|0)?(c[f+25336+(j*40|0)+24>>2]&3|0)==(c[e+26364>>2]|0):0)break;n=TQ(f,h,i,o,1)|0;j=g+96+(j<<1)|0;k=b[j>>1]|0;if(k<<16>>16<0){m=m+4|0;c[m>>2]=(c[m>>2]|0)+1}m=k<<16>>16;b[j>>1]=(n|0)<(m|0)?m:n}while(0);return}function kp(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;var m=0,n=0,o=0,p=0;p=Mb;Mb=Mb+16|0;n=p;m=p+4|0;c[m>>2]=a;if(!a){a=IY()|0;c[m>>2]=a;if(!a)a=0;else o=3}else o=3;do if((o|0)==3){c[a+4>>2]=k;c[a+8>>2]=l;if((((((((fY(a,219794,b,d,0)|0)>=0?(fY(a,219637,e,((e|0)<0)<<31>>31,0)|0)>=0:0)?(fY(a,219552,f,((f|0)<0)<<31>>31,0)|0)>=0:0)?(fY(a,219732,g,h,0)|0)>=0:0)?(fY(a,219595,i,((i|0)<0)<<31>>31,0)|0)>=0:0)?(fY(a,219511,j,((j|0)<0)<<31>>31,0)|0)>=0:0)?(o=a+104|0,o=DD(c[o>>2]|0,c[o+4>>2]|0)|0,(fY(a,219373,o,((o|0)<0)<<31>>31,0)|0)>=0):0)?(o=a+112|0,o=DD(c[o>>2]|0,c[o+4>>2]|0)|0,(fY(a,219418,o,((o|0)<0)<<31>>31,0)|0)>=0):0){fY(a,219465,0,0,0)|0;break}AD(a,16,217918,n);uU(m);a=0}while(0);Mb=p;return a|0}function lp(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=Mb;Mb=Mb+48|0;h=j+32|0;g=j+24|0;if((a$(b)|0)<88)d=-1;else{f=(HG(b,2)|0)&255;a[e>>0]=f;f=(mT(b)|0)&255;a[e+1>>0]=f;f=HG(b,5)|0;k=f&255;i=e+2|0;a[i>>0]=k;f=f&255;a:do switch(k<<24>>24){case 1:{AD(d,48,176224,j);break}case 2:{AD(d,48,176248,j+8|0);break}case 3:{AD(d,48,176275,j+16|0);break}default:if((f|0)==4){AD(d,48,176313,g);break a}else{c[h>>2]=f;AD(d,24,176348,h);break a}}while(0);d=0;while(1){f=mT(b)|0;g=f&255;if((d|0)==32)break;a[e+3+d>>0]=g;if(!((f&255|0)==0|((d|0)==0|(a[i>>0]|0)!=0)))a[i>>0]=d;d=d+1|0}a[e+36>>0]=g;d=(mT(b)|0)&255;a[e+37>>0]=d;d=(mT(b)|0)&255;a[e+38>>0]=d;d=(mT(b)|0)&255;a[e+39>>0]=d;eW(b,16);eW(b,16);eW(b,12);d=0}Mb=j;return d|0}function mp(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,m=0,n=0;n=Mb;Mb=Mb+16|0;l=n;m=n+4|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;a=xg(m,a,b,j,f,g,174,1)|0;a:do if((a|0)>=0){k=m+4|0;g=0;while(1){if((g|0)>=(c[k>>2]|0))break a;b=c[m>>2]|0;f=c[b+(g*72|0)+48>>2]|0;switch(f|0){case 32:{a=He(b+(g*72|0)+28|0,j,d)|0;if((a|0)<0)break a;break}case 33:{a=wn(b+(g*72|0)+28|0,j,d,i)|0;if((a|0)<0)break a;break}case 34:{a=Gd(b+(g*72|0)+28|0,j,d)|0;if((a|0)<0)break a;break}case 40:case 39:{a=qQ(b+(g*72|0)+28|0,j,e,d,f)|0;if((a|0)<0)break a;break}default:{c[l>>2]=f;AD(j,40,209627,l)}}g=g+1|0}}while(0);DP(m);Mb=n;return ((h&8|0)==0?0:a)|0}function np(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==4)break;i=c+2|0;l=c+-2|0;a=c+4|0;m=H((e[a>>1]|0)+(e[l>>1]|0)|0,-5)|0;j=c+6|0;m=(((e[i>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+m+(e[j>>1]|0)>>5;b[d>>1]=m>>>0<4096?m:0-m>>31&4095;m=H((e[j>>1]|0)+(e[c>>1]|0)|0,-5)|0;k=c+8|0;m=(((e[a>>1]|0)+(e[i>>1]|0)|0)*20|0)+16+(e[l>>1]|0)+m+(e[k>>1]|0)>>5;b[d+2>>1]=m>>>0<4096?m:0-m>>31&4095;m=H((e[k>>1]|0)+(e[i>>1]|0)|0,-5)|0;l=c+10|0;m=(((e[j>>1]|0)+(e[a>>1]|0)|0)*20|0)+16+(e[c>>1]|0)+m+(e[l>>1]|0)>>5;b[d+4>>1]=m>>>0<4096?m:0-m>>31&4095;a=H((e[l>>1]|0)+(e[a>>1]|0)|0,-5)|0;a=(((e[k>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[i>>1]|0)+a+(e[c+12>>1]|0)>>5;b[d+6>>1]=a>>>0<4096?a:0-a>>31&4095;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function op(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==4)break;i=c+2|0;l=c+-2|0;a=c+4|0;m=H((e[a>>1]|0)+(e[l>>1]|0)|0,-5)|0;j=c+6|0;m=(((e[i>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+m+(e[j>>1]|0)>>5;b[d>>1]=m>>>0<1024?m:0-m>>31&1023;m=H((e[j>>1]|0)+(e[c>>1]|0)|0,-5)|0;k=c+8|0;m=(((e[a>>1]|0)+(e[i>>1]|0)|0)*20|0)+16+(e[l>>1]|0)+m+(e[k>>1]|0)>>5;b[d+2>>1]=m>>>0<1024?m:0-m>>31&1023;m=H((e[k>>1]|0)+(e[i>>1]|0)|0,-5)|0;l=c+10|0;m=(((e[j>>1]|0)+(e[a>>1]|0)|0)*20|0)+16+(e[c>>1]|0)+m+(e[l>>1]|0)>>5;b[d+4>>1]=m>>>0<1024?m:0-m>>31&1023;a=H((e[l>>1]|0)+(e[a>>1]|0)|0,-5)|0;a=(((e[k>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[i>>1]|0)+a+(e[c+12>>1]|0)>>5;b[d+6>>1]=a>>>0<1024?a:0-a>>31&1023;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function pp(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==4)break;i=c+2|0;l=c+-2|0;a=c+4|0;m=H((e[a>>1]|0)+(e[l>>1]|0)|0,-5)|0;j=c+6|0;m=(((e[i>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+m+(e[j>>1]|0)>>5;b[d>>1]=m>>>0<512?m:0-m>>31&511;m=H((e[j>>1]|0)+(e[c>>1]|0)|0,-5)|0;k=c+8|0;m=(((e[a>>1]|0)+(e[i>>1]|0)|0)*20|0)+16+(e[l>>1]|0)+m+(e[k>>1]|0)>>5;b[d+2>>1]=m>>>0<512?m:0-m>>31&511;m=H((e[k>>1]|0)+(e[i>>1]|0)|0,-5)|0;l=c+10|0;m=(((e[j>>1]|0)+(e[a>>1]|0)|0)*20|0)+16+(e[c>>1]|0)+m+(e[l>>1]|0)>>5;b[d+4>>1]=m>>>0<512?m:0-m>>31&511;a=H((e[l>>1]|0)+(e[a>>1]|0)|0,-5)|0;a=(((e[k>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[i>>1]|0)+a+(e[c+12>>1]|0)>>5;b[d+6>>1]=a>>>0<512?a:0-a>>31&511;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function qp(a,b,e){a=a|0;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;h=Mb;Mb=Mb+64|0;g=h;f=0;while(1){if((f|0)==4)break;p=f<<2;l=c[b+(p<<2)>>2]|0;m=p|1;j=c[b+(m<<2)>>2]|0;o=j+l|0;j=l-j|0;l=p|2;n=c[b+(l<<2)>>2]|0;i=p|3;q=c[b+(i<<2)>>2]|0;k=n-q|0;n=q+n|0;c[g+(p<<2)>>2]=n+o;c[g+(m<<2)>>2]=o-n;c[g+(l<<2)>>2]=j-k;c[g+(i<<2)>>2]=k+j;f=f+1|0}f=0;while(1){if((f|0)==4)break;q=d[175366+f>>0]|0;p=c[g+(f<<2)>>2]|0;m=c[g+(f+8<<2)>>2]|0;o=m+p|0;m=p-m|0;p=c[g+(f+4<<2)>>2]|0;l=c[g+(f+12<<2)>>2]|0;n=p-l|0;p=l+p|0;l=(H(p+o|0,e)|0)+128>>8;c[a+(q<<2)>>2]=l;l=(H(n+m|0,e)|0)+128>>8;c[a+(q+16<<2)>>2]=l;n=(H(m-n|0,e)|0)+128>>8;c[a+(q+64<<2)>>2]=n;p=(H(o-p|0,e)|0)+128>>8;c[a+(q+80<<2)>>2]=p;f=f+1|0}Mb=h;return}function rp(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0;do if(c[a+26360>>2]|0){j=c[a+27e3>>2]|0;h=(H(j,f&-2)|0)+d|0;g=h+-1|0;i=(f&1|0)!=0;if(i?(c[b+832>>2]|0)==(e[(c[a+26356>>2]|0)+(g<<1)>>1]|0|0):0)g=((c[b+21828>>2]|0)==((c[(c[a+24364>>2]|0)+(g<<2)>>2]|0)>>>7&1|0)?j:0)+g|0;if(!(c[b+21828>>2]|0)){h=(H(j,f+-1|0)|0)+d|0;break}h=h-j|0;if(!i?(c[b+832>>2]|0)==(e[(c[a+26356>>2]|0)+(h<<1)>>1]|0|0):0)h=h-((c[(c[a+24364>>2]|0)+(h<<2)>>2]&128|0)==0?0:j)|0}else{h=c[b+21796>>2]|0;g=h+-1|0;h=h-(c[a+27e3>>2]<<((c[a+26364>>2]|0)!=3&1))|0}while(0);i=c[a+26356>>2]|0;d=c[b+832>>2]|0;if((d|0)==(e[i+(g<<1)>>1]|0|0))g=(c[(c[a+24364>>2]|0)+(g<<2)>>2]|0)>>>11&1^1;else g=0;if((d|0)==(e[i+(h<<1)>>1]|0|0))g=((c[(c[a+24364>>2]|0)+(h<<2)>>2]|0)>>>11&1^1)+g|0;return BA(b+32856|0,((c[b+840>>2]|0)==3?g+13|0:g)+11+(b+32904)|0)|0}function sp(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=c[b+25372>>2]|0;r=(h|0)!=0;p=r?16:0;q=c[b+23404>>2]|0;q=r?(q<<1)+16|0:q;if(r)n=1;else n=(c[a+26364>>2]|0)!=3;jv(d+(e*192|0)|0,0,192)|0;k=s+616+(g<<3)+(e<<2)|0;l=s+632|0;h=0;while(1){if((h|0)==2)break;m=h+1|0;o=n&(h|0)!=(f|0);j=(h^f)+16|0;i=0;while(1){if((i|0)>=(c[k>>2]|0))break;h=c[s+104+(g<<8)+(e<<7)+(i<<2)>>2]|0;if(n)a=(h&3|0)==3?m+(h&-4)|0:h;else a=h|3;h=p;while(1){if((h|0)>=(q|0))break;if((c[b+23416+(h*40|0)+24>>2]&3|c[(c[b+23416+(h*40|0)+36>>2]|0)+88>>2]<<2|0)==(a|0)){t=14;break}h=h+1|0}if((t|0)==14){t=0;h=r?h+-16^f:h;if(c[l>>2]|0)c[d+(e*192|0)+(j+(i<<1)<<2)>>2]=h;if(!o)c[d+(e*192|0)+(i<<2)>>2]=h}i=i+1|0}h=m}return}function tp(a,c,d,f,g){a=a|0;c=c|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;j=g>>1;h=c;i=0;d=d+(0-(g&-2)<<1)|0;while(1){if((i|0)==7)break;l=d+2|0;k=d+-2|0;m=d+4|0;n=H((e[m>>1]|0)+(e[k>>1]|0)|0,-5)|0;g=d+6|0;b[h>>1]=(((e[l>>1]|0)+(e[d>>1]|0)|0)*20|0)+(e[d+-4>>1]|0)+n+(e[g>>1]|0);g=H((e[g>>1]|0)+(e[d>>1]|0)|0,-5)|0;b[h+2>>1]=(((e[m>>1]|0)+(e[l>>1]|0)|0)*20|0)+(e[k>>1]|0)+g+(e[d+8>>1]|0);h=h+8|0;i=i+1|0;d=d+(j<<1)|0}h=f>>1;d=c+16|0;g=0;while(1){if((g|0)==2)break;j=b[d+-8>>1]|0;n=b[d>>1]|0;l=b[d+8>>1]|0;k=b[d+16>>1]|0;m=b[d+24>>1]|0;c=b[d+32>>1]|0;f=(b[d+-16>>1]|0)+512+m+((l+n|0)*20|0)+(H(k+j|0,-5)|0)>>10;b[a>>1]=f>>>0<512?f:0-f>>31&511;n=j+512+c+((k+l|0)*20|0)+(H(m+n|0,-5)|0)>>10;b[a+(h<<1)>>1]=n>>>0<512?n:0-n>>31&511;a=a+2|0;d=d+2|0;g=g+1|0}return}function up(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;o=Mb;Mb=Mb+144|0;l=o;m=o+128|0;n=c[a+4916>>2]|0;hc[c[a+2964>>2]&255](l,e,f,g);k=_b[c[a+6248>>2]&63](a,l,0,c[a+1920>>2]|0,m)|0;c[a+16>>2]=k;if(!(c[a+4312>>2]|0)){e=a+4940|0;f=a+4936|0;h=0;g=0}else{e=a+4924|0;f=a+4920|0;h=d[(c[a+4944>>2]|0)+((b[l>>1]|0)+256)>>0]|0;g=1}j=c[e>>2]|0;i=c[f>>2]|0;do if((k|0)>=(g|0)){f=0;while(1){c[m>>2]=g;if((g|0)==(k|0))break;e=b[l+(d[a+204+g>>0]<<1)>>1]|0;if(!(e<<16>>16))f=f+1|0;else{e=(e<<16>>16)+64|0;if(e>>>0<128)e=d[i+(e+(f<<7))>>0]|0;else e=n;f=0;h=e+h|0}g=g+1|0}e=d[a+204+k>>0]|0;c[m>>2]=e;e=(b[l+(e<<1)>>1]|0)+64|0;if(e>>>0<128){h=h+(d[j+(e+(f<<7))>>0]|0)|0;break}else{h=h+n|0;break}}while(0);Mb=o;return h|0}function vp(a,b,e){a=a|0;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;q=a+12|0;r=a+8|0;s=a+4|0;m=0;while(1){if((m|0)>=(e|0))break;t=c[q>>2]|0;u=c[r>>2]|0;v=c[s>>2]|0;n=c[a>>2]|0;o=b+(m<<4<<2)|0;i=n;j=v;k=u;f=t;l=0;while(1){if((l|0)==64)break;p=d[(l&3)+(94768+(l>>>4<<2))>>0]|0;h=(c[94784+(l<<2)>>2]|0)+f|0;do if(l>>>0<32)if(l>>>0<16){f=(i^j)&k^i;g=l;break}else{f=i&k|j&~i;g=(l*5|0)+1|0;break}else if(l>>>0<48){f=i^j^k;g=(l*3|0)+5|0;break}else{f=(k|~i)^j;g=l*7|0;break}while(0);g=o+((g&15)<<2)|0;f=h+((d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24)+f)|0;g=k;h=j;k=(f<<p|f>>>(32-p|0))+k|0;l=l+1|0;f=i;j=g;i=h}c[a>>2]=i+n;c[s>>2]=j+v;c[r>>2]=k+u;c[q>>2]=f+t;m=m+1|0}return}function wp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=Mb;Mb=Mb+64|0;v=w;p=a+8|0;q=v+48|0;r=v+52|0;s=v+56|0;t=v+60|0;u=v+4|0;e=v+8|0;g=v+12|0;h=v+16|0;i=v+40|0;j=v+20|0;k=v+44|0;l=v+24|0;m=v+32|0;n=v+28|0;o=v+36|0;a=b;b=0;while(1){if((b|0)==32)break;jc[c[p>>2]&255](v,a,1077472,1,8);c[d+(b<<3)>>2]=c[q>>2];c[d+(b<<3)+4>>2]=c[r>>2];c[d+256+(b<<3)>>2]=c[s>>2];c[d+256+(b<<3)+4>>2]=c[t>>2];c[d+512+(b<<3)>>2]=c[v>>2];c[d+512+(b<<3)+4>>2]=c[u>>2];c[d+768+(b<<3)>>2]=c[e>>2];c[d+768+(b<<3)+4>>2]=c[g>>2];f[d+1024+(b<<3)>>2]=+f[h>>2]+ +f[i>>2];f[d+1024+(b<<3)+4>>2]=+f[j>>2]+ +f[k>>2];f[d+1280+(b<<3)>>2]=+f[l>>2]+ +f[m>>2];f[d+1280+(b<<3)+4>>2]=+f[n>>2]+ +f[o>>2];a=a+8|0;b=b+1|0}Mb=w;return}function xp(a,b,d){a=a|0;b=+b;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0.0;l=Mb;Mb=Mb+16|0;j=l;e=l+8|0;i=gX(b)|0;h=(M()|0)&2147483647;do if(h>>>0>2146435072|(h|0)==2146435072&i>>>0>0){c[a>>2]=0;c[a+4>>2]=0}else{if(+u(+b)>2147483650.0){c[a>>2]=b<0.0?-1:1;c[a+4>>2]=0;break}+Wz(b,e);f=(c[e>>2]|0)+-1|0;f=(f|0)>0?f:0;c[e>>2]=f;e=_U(1,0,61-f|0)|0;f=M()|0;g=j+4|0;m=+t(+((+(e>>>0)+4294967296.0*+(f|0))*b+.5));h=~~m>>>0;i=+u(m)>=1.0?(m>0.0?~~+I(+t(m/4294967296.0),4294967295.0)>>>0:~~+G((m-+(~~m>>>0))/4294967296.0)>>>0):0;ih(j,g,h,i,e,f,d,((d|0)<0)<<31>>31)|0;if(!(c[j>>2]|0)){if((d|0)!=2147483647&(b!=0.0&(d|0)>0))k=8}else if((d|0)!=2147483647&((d|0)>0&(b!=0.0&(c[g>>2]|0)==0)))k=8;if((k|0)==8)ih(j,g,h,i,e,f,2147483647,0)|0;d=j;j=c[d+4>>2]|0;k=a;c[k>>2]=c[d>>2];c[k+4>>2]=j}while(0);Mb=l;return}function yp(a,c,d){a=a|0;c=c|0;d=d|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;k=d>>1;l=e[a+(~k<<1)>>1]|0;q=e[a+(0-k<<1)>>1]|0;o=e[a+(1-k<<1)>>1]|0;n=e[a+(2-k<<1)>>1]|0;i=e[a+-2>>1]|0;h=e[a+(k+-1<<1)>>1]|0;j=d&-2;g=e[a+(j+-1<<1)>>1]|0;c=k*3|0;f=e[a+(c+-1<<1)>>1]|0;m=i+1|0;p=(m+l|0)>>>1&65535;b[a+(k+2<<1)>>1]=p;b[a>>1]=p;p=q+2|0;r=(p+(l<<1)+i|0)>>>2&65535;b[a+(k+3<<1)>>1]=r;b[a+2>>1]=r;l=l+2|0;b[a+4>>1]=(l+(q<<1)+o|0)>>>2;b[a+6>>1]=(p+(o<<1)+n|0)>>>2;m=(m+h|0)>>>1&65535;b[a+(j+2<<1)>>1]=m;b[a+(k<<1)>>1]=m;l=(l+(i<<1)+h|0)>>>2&65535;b[a+(j+3<<1)>>1]=l;b[a+(k+1<<1)>>1]=l;k=(h+1+g|0)>>>1&65535;b[a+(c+2<<1)>>1]=k;b[a+(j<<1)>>1]=k;i=(i+2+(h<<1)+g|0)>>>2&65535;b[a+(c+3<<1)>>1]=i;b[a+((d|1)<<1)>>1]=i;b[a+(c<<1)>>1]=(g+1+f|0)>>>1;b[a+(c+1<<1)>>1]=(h+2+(g<<1)+f|0)>>>2;return}function zp(c,d,f,g,h,i,j){c=c|0;d=d|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;s=f>>>1;q=h+-1|0;r=20704+(q<<4)|0;k=20704+(q<<4)+1|0;l=20704+(q<<4)+2|0;m=20704+(q<<4)+3|0;n=20704+(q<<4)+4|0;o=20704+(q<<4)+5|0;p=20704+(q<<4)+6|0;q=20704+(q<<4)+7|0;i=d;h=0;while(1){if((h|0)>=(g|0))break;f=0;while(1){if((f|0)>=(j|0))break;t=H(e[i+(f+-3<<1)>>1]|0,a[r>>0]|0)|0;t=(H(e[i+(f+-2<<1)>>1]|0,a[k>>0]|0)|0)+t|0;t=t+(H(e[i+(f+-1<<1)>>1]|0,a[l>>0]|0)|0)|0;t=t+(H(e[i+(f<<1)>>1]|0,a[m>>0]|0)|0)|0;d=f+1|0;t=t+(H(e[i+(d<<1)>>1]|0,a[n>>0]|0)|0)|0;t=t+(H(e[i+(f+2<<1)>>1]|0,a[o>>0]|0)|0)|0;t=t+(H(e[i+(f+3<<1)>>1]|0,a[p>>0]|0)|0)|0;t=(t+(H(e[i+(f+4<<1)>>1]|0,a[q>>0]|0)|0)|0)>>>4&65535;b[c+(f<<1)>>1]=t;f=d}c=c+128|0;i=i+(s<<1)|0;h=h+1|0}return}function Ap(c,d,f,g,h,i,j){c=c|0;d=d|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;s=f>>>1;q=h+-1|0;r=20704+(q<<4)|0;k=20704+(q<<4)+1|0;l=20704+(q<<4)+2|0;m=20704+(q<<4)+3|0;n=20704+(q<<4)+4|0;o=20704+(q<<4)+5|0;p=20704+(q<<4)+6|0;q=20704+(q<<4)+7|0;i=d;h=0;while(1){if((h|0)>=(g|0))break;f=0;while(1){if((f|0)>=(j|0))break;t=H(e[i+(f+-3<<1)>>1]|0,a[r>>0]|0)|0;t=(H(e[i+(f+-2<<1)>>1]|0,a[k>>0]|0)|0)+t|0;t=t+(H(e[i+(f+-1<<1)>>1]|0,a[l>>0]|0)|0)|0;t=t+(H(e[i+(f<<1)>>1]|0,a[m>>0]|0)|0)|0;d=f+1|0;t=t+(H(e[i+(d<<1)>>1]|0,a[n>>0]|0)|0)|0;t=t+(H(e[i+(f+2<<1)>>1]|0,a[o>>0]|0)|0)|0;t=t+(H(e[i+(f+3<<1)>>1]|0,a[p>>0]|0)|0)|0;t=(t+(H(e[i+(f+4<<1)>>1]|0,a[q>>0]|0)|0)|0)>>>2&65535;b[c+(f<<1)>>1]=t;f=d}c=c+128|0;i=i+(s<<1)|0;h=h+1|0}return}function Bp(c,d,f,g,h,i,j){c=c|0;d=d|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;s=f>>>1;q=h+-1|0;r=20704+(q<<4)|0;k=20704+(q<<4)+1|0;l=20704+(q<<4)+2|0;m=20704+(q<<4)+3|0;n=20704+(q<<4)+4|0;o=20704+(q<<4)+5|0;p=20704+(q<<4)+6|0;q=20704+(q<<4)+7|0;i=d;h=0;while(1){if((h|0)>=(g|0))break;f=0;while(1){if((f|0)>=(j|0))break;t=H(e[i+(f+-3<<1)>>1]|0,a[r>>0]|0)|0;t=(H(e[i+(f+-2<<1)>>1]|0,a[k>>0]|0)|0)+t|0;t=t+(H(e[i+(f+-1<<1)>>1]|0,a[l>>0]|0)|0)|0;t=t+(H(e[i+(f<<1)>>1]|0,a[m>>0]|0)|0)|0;d=f+1|0;t=t+(H(e[i+(d<<1)>>1]|0,a[n>>0]|0)|0)|0;t=t+(H(e[i+(f+2<<1)>>1]|0,a[o>>0]|0)|0)|0;t=t+(H(e[i+(f+3<<1)>>1]|0,a[p>>0]|0)|0)|0;t=(t+(H(e[i+(f+4<<1)>>1]|0,a[q>>0]|0)|0)|0)>>>1&65535;b[c+(f<<1)>>1]=t;f=d}c=c+128|0;i=i+(s<<1)|0;h=h+1|0}return}function Cp(a,c,d){a=a|0;c=c|0;d=d|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;j=d>>1;p=e[a+(~j<<1)>>1]|0;o=e[a+(0-j<<1)>>1]|0;m=e[a+(1-j<<1)>>1]|0;l=e[a+(2-j<<1)>>1]|0;k=e[a+(3-j<<1)>>1]|0;h=e[a+-2>>1]|0;g=e[a+(j+-1<<1)>>1]|0;i=d&-2;f=e[a+(i+-1<<1)>>1]|0;c=j*3|0;n=o+1|0;q=(n+p|0)>>>1&65535;b[a+((d|1)<<1)>>1]=q;b[a>>1]=q;n=(n+m|0)>>>1&65535;b[a+(i+2<<1)>>1]=n;b[a+2>>1]=n;n=(m+1+l|0)>>>1&65535;b[a+(i+3<<1)>>1]=n;b[a+4>>1]=n;b[a+6>>1]=(l+1+k|0)>>>1;n=o+2|0;d=(n+(p<<1)+h|0)>>>2&65535;b[a+(c+1<<1)>>1]=d;b[a+(j<<1)>>1]=d;d=p+2|0;o=(d+(o<<1)+m|0)>>>2&65535;b[a+(c+2<<1)>>1]=o;b[a+(j+1<<1)>>1]=o;n=(n+(m<<1)+l|0)>>>2&65535;b[a+(c+3<<1)>>1]=n;b[a+(j+2<<1)>>1]=n;b[a+(j+3<<1)>>1]=(m+2+(l<<1)+k|0)>>>2;b[a+(i<<1)>>1]=(d+(h<<1)+g|0)>>>2;b[a+(c<<1)>>1]=(h+2+(g<<1)+f|0)>>>2;return}function Dp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=Mb;Mb=Mb+16|0;h=i;g=c[a>>2]|0;do if(g){f=g+8|0;if((c[f>>2]|0)==(b|0))d=0;else{if((c[(c[g>>2]|0)+20>>2]&2|0?sW(g)|0:0)?(e=g+4|0,d=c[e>>2]|0,(d|0)==(c[c[g>>2]>>2]|0)):0){d=WW(d,b)|0;if(!d){d=-12;break}c[e>>2]=d;h=c[g>>2]|0;c[h>>2]=d;c[f>>2]=b;c[h+4>>2]=b;d=0;break}c[h>>2]=0;Dp(h,b)|0;d=c[h>>2]|0;if(!d)d=-12;else{f=c[f>>2]|0;Mn(c[d+4>>2]|0,c[g+4>>2]|0,((f|0)<(b|0)?f:b)|0)|0;Vz(a,h);d=0}}}else{d=WW(0,b)|0;c[h>>2]=d;do if(d){d=Px(d,b,215,0,0)|0;if(!d){bU(h);d=-12;break}else{h=(c[d>>2]|0)+20|0;c[h>>2]=c[h>>2]|2;c[a>>2]=d;d=0;break}}else d=-12;while(0)}while(0);Mb=i;return d|0}function Ep(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;j=a[e>>0]&-16;a[b>>0]=j;i=(d[e>>0]|0)>>>2&3;a[b+1>>0]=i;a[b+2>>0]=(d[e>>0]|0)>>>1&1;a[b+3>>0]=a[e>>0]&1;h=j&255;a:do switch(j<<24>>24){case -96:{if(f>>>0>=4){if(!(a[e+1>>0]|0)){i=e+2|0;j=f+-2|0;MN(i,j,b+6|0)|0;b=bc[c[b+6432>>2]&1](c[b+6436>>2]|0,256,i,j,g,g,0)|0;break a}if(!(MM(b,f+7|0)|0)){j=b+6440|0;bC(b+6|0,(f&65535)+-2|0,c[j>>2]|0,7)|0;WL((c[j>>2]|0)+7|0,e+2|0,f+-2|0)|0;b=bc[c[b+6432>>2]&1](c[b+6436>>2]|0,160,c[j>>2]|0,f+5|0,g,g,0)|0}else b=-12}else b=-22;break}case -32:case 32:{b=bc[c[b+6432>>2]&1](c[b+6436>>2]|0,h,e+1|0,f+-1|0,g,g,0)|0;break}default:b=bc[c[b+6432>>2]&1](c[b+6436>>2]|0,h,e+1|0,f+-1|0,g,g,i&255)|0}while(0);return b|0}function Fp(b,c,e,f,g,h,i,j){b=b|0;c=c|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;r=h+-1|0;s=20704+(r<<4)|0;l=20704+(r<<4)+1|0;m=20704+(r<<4)+2|0;n=20704+(r<<4)+3|0;o=20704+(r<<4)+4|0;p=20704+(r<<4)+5|0;q=20704+(r<<4)+6|0;r=20704+(r<<4)+7|0;k=0;i=b;while(1){if((k|0)>=(g|0))break;h=0;while(1){if((h|0)>=(j|0))break;z=H(d[e+(h+-3)>>0]|0,a[s>>0]|0)|0;y=H(d[e+(h+-2)>>0]|0,a[l>>0]|0)|0;x=H(d[e+(h+-1)>>0]|0,a[m>>0]|0)|0;w=H(d[e+h>>0]|0,a[n>>0]|0)|0;b=h+1|0;v=H(d[e+b>>0]|0,a[o>>0]|0)|0;u=H(d[e+(h+2)>>0]|0,a[p>>0]|0)|0;t=H(d[e+(h+3)>>0]|0,a[q>>0]|0)|0;t=z+32+y+x+w+v+u+t+(H(d[e+(h+4)>>0]|0,a[r>>0]|0)|0)>>6;a[i+h>>0]=t>>>0>255?0-t>>31:t;h=b}k=k+1|0;e=e+f|0;i=i+c|0}return}function Gp(c,e,f,g,h,i,j){c=c|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;s=i+-1|0;u=20704+(s<<4)|0;v=f*3|0;l=20704+(s<<4)+1|0;m=f<<1;n=20704+(s<<4)+2|0;o=20704+(s<<4)+3|0;p=20704+(s<<4)+4|0;q=20704+(s<<4)+5|0;r=20704+(s<<4)+6|0;s=20704+(s<<4)+7|0;t=f<<2;k=c;i=e;c=0;while(1){if((c|0)>=(g|0))break;h=0;while(1){if((h|0)>=(j|0))break;e=H(d[i+(h-v)>>0]|0,a[u>>0]|0)|0;e=(H(d[i+(h-m)>>0]|0,a[l>>0]|0)|0)+e|0;e=e+(H(d[i+(h-f)>>0]|0,a[n>>0]|0)|0)|0;e=e+(H(d[i+h>>0]|0,a[o>>0]|0)|0)|0;e=e+(H(d[i+(h+f)>>0]|0,a[p>>0]|0)|0)|0;e=e+(H(d[i+(h+m)>>0]|0,a[q>>0]|0)|0)|0;e=e+(H(d[i+(h+v)>>0]|0,a[r>>0]|0)|0)|0;e=e+(H(d[i+(h+t)>>0]|0,a[s>>0]|0)|0)&65535;b[k+(h<<1)>>1]=e;h=h+1|0}k=k+128|0;i=i+f|0;c=c+1|0}return}function Hp(b,c,e){b=b|0;c=c|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;r=d[b+-1>>0]|0;o=d[b+(e+-1)>>0]|0;h=e<<1;l=d[b+(h+-1)>>0]|0;f=e*3|0;g=a[b+(f+-1)>>0]|0;k=g&255;n=d[b+(2-e)>>0]|0;p=d[b+(3-e)>>0]|0;j=d[c>>0]|0;m=d[c+1>>0]|0;i=d[c+2>>0]|0;c=d[c+3>>0]|0;q=(o<<1)+4|0;a[b>>0]=(q+(d[b+(1-e)>>0]|0)+p+(n+r<<1)|0)>>>3;a[b+1>>0]=(q+r+l+n+(p<<1)+j|0)>>>3;n=l<<1;p=(q+n+p+(j<<1)+m|0)>>>3&255;a[b+e>>0]=p;a[b+2>>0]=p;n=n+4|0;j=(n+o+k+j+(m<<1)+i|0)>>>3&255;a[b+(e+1)>>0]=j;a[b+3>>0]=j;j=k<<1;m=(n+j+m+(i<<1)+c|0)>>>3&255;a[b+h>>0]=m;a[b+(e+2)>>0]=m;k=(l+4+i+((c+k|0)*3|0)|0)>>>3&255;a[b+(h|1)>>0]=k;a[b+(e+3)>>0]=k;a[b+(f+1)>>0]=g;a[b+(h+3)>>0]=g;e=(j+c+2+i|0)>>>2&255;a[b+(h+2)>>0]=e;a[b+f>>0]=e;a[b+(f+3)>>0]=g;a[b+(f+2)>>0]=g;return}function Ip(a,b,c,e,f){a=a|0;b=b|0;c=c|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;g=0;h=0;a=c;while(1){c=a+e|0;if((g|0)>=(f|0))break;p=(d[b>>0]|0)-(((d[a>>0]|0)+1+(d[c>>0]|0)|0)>>>1)|0;o=(d[b+1>>0]|0)-(((d[a+1>>0]|0)+1+(d[c+1>>0]|0)|0)>>>1)|0;n=(d[b+2>>0]|0)-(((d[a+2>>0]|0)+1+(d[c+2>>0]|0)|0)>>>1)|0;m=(d[b+3>>0]|0)-(((d[a+3>>0]|0)+1+(d[c+3>>0]|0)|0)>>>1)|0;l=(d[b+4>>0]|0)-(((d[a+4>>0]|0)+1+(d[c+4>>0]|0)|0)>>>1)|0;k=(d[b+5>>0]|0)-(((d[a+5>>0]|0)+1+(d[c+5>>0]|0)|0)>>>1)|0;j=(d[b+6>>0]|0)-(((d[a+6>>0]|0)+1+(d[c+6>>0]|0)|0)>>>1)|0;i=(d[b+7>>0]|0)-(((d[a+7>>0]|0)+1+(d[c+7>>0]|0)|0)>>>1)|0;g=g+1|0;h=((p|0)>-1?p:0-p|0)+h+((o|0)>-1?o:0-o|0)+((n|0)>-1?n:0-n|0)+((m|0)>-1?m:0-m|0)+((l|0)>-1?l:0-l|0)+((k|0)>-1?k:0-k|0)+((j|0)>-1?j:0-j|0)+((i|0)>-1?i:0-i|0)|0;b=b+e|0;a=c}return h|0}function Jp(b,c,e,f,g,h){b=b|0;c=c|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;k=8-g|0;j=8-h|0;l=H(j,k)|0;j=H(j,g)|0;k=H(k,h)|0;h=H(h,g)|0;a:do if(!h){i=j+k|0;if(!i){g=0;while(1){if((g|0)>=(f|0))break a;k=((H(l,d[c>>0]|0)|0)+32|0)>>>6&255;a[b>>0]=k;b=b+e|0;g=g+1|0;c=c+e|0}}else{h=(k|0)==0?1:e;g=0;while(1){if((g|0)>=(f|0))break a;k=H(l,d[c>>0]|0)|0;k=(k+32+(H(i,d[c+h>>0]|0)|0)|0)>>>6&255;a[b>>0]=k;b=b+e|0;g=g+1|0;c=c+e|0}}}else{i=e+1|0;g=0;while(1){if((g|0)>=(f|0))break a;p=H(l,d[c>>0]|0)|0;o=H(j,d[c+1>>0]|0)|0;m=c+e|0;n=H(k,d[m>>0]|0)|0;n=(p+32+o+n+(H(h,d[c+i>>0]|0)|0)|0)>>>6&255;a[b>>0]=n;b=b+e|0;g=g+1|0;c=m}}while(0);return}function Kp(a,c,d){a=a|0;c=c|0;d=d|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;i=d>>1;g=d&-2;h=i*3|0;f=0;d=c;while(1){if((f|0)==4)break;q=e[d+-8>>1]|0;p=e[d>>1]|0;o=e[d+8>>1]|0;j=e[d+16>>1]|0;l=e[d+24>>1]|0;m=e[d+32>>1]|0;k=e[d+40>>1]|0;n=e[d+48>>1]|0;c=(e[d+-16>>1]|0)+16+l+((o+p|0)*20|0)+(H(j+q|0,-5)|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(c>>>0<16384?c:0-c>>31&16383)|0)>>>1;c=a+(i<<1)|0;q=q+16+m+((j+o|0)*20|0)+(H(l+p|0,-5)|0)>>5;b[c>>1]=((e[c>>1]|0)+1+(q>>>0<16384?q:0-q>>31&16383)|0)>>>1;c=a+(g<<1)|0;p=p+16+k+((l+j|0)*20|0)+(H(m+o|0,-5)|0)>>5;b[c>>1]=((e[c>>1]|0)+1+(p>>>0<16384?p:0-p>>31&16383)|0)>>>1;c=a+(h<<1)|0;j=o+16+n+((m+l|0)*20|0)+(H(k+j|0,-5)|0)>>5;b[c>>1]=((e[c>>1]|0)+1+(j>>>0<16384?j:0-j>>31&16383)|0)>>>1;f=f+1|0;a=a+2|0;d=d+2|0}return}function Lp(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=Mb;Mb=Mb+16|0;i=j;do if((c[f>>2]|0)<=63){h=a+492+(d<<6)+(e<<2)|0;g=c[h>>2]|0;e=(g|0)!=0;if(!b){if(e)M$(g+156512|0);bU(h);e=0;break}if(!e){e=EZ(547552)|0;c[h>>2]=e;if(!e){e=-12;break}vD(a,e+156512|0,d)}if((d|0)==2)e=0;else{g=c[f>>2]|0;b=(d|0)==1;if(!b)if(!d)e=(c[a+6512>>2]|0)==1?63:64;else e=64;else e=63;if((g|0)>=(e|0)){AD(c[a+4>>2]|0,16,196679,i);e=-1094995529;break}i=(c[h>>2]|0)+288|0;e=g+1|0;c[f>>2]=e;c[a+5412+(g<<2)>>2]=i;if(!b){if(d|0){e=0;break}if((c[a+6512>>2]|0)!=1){e=0;break}}d=(c[h>>2]|0)+74496|0;c[f>>2]=g+2;c[a+5412+(e<<2)>>2]=d;e=0}}else e=-1094995529;while(0);Mb=j;return e|0}function Mp(b,d){b=b|0;d=d|0;var e=0,f=0.0,h=0,i=0,j=0,k=0,l=0;l=Mb;Mb=Mb+16|0;k=l;if((a[b>>0]|0)==48?(a[b+1>>0]|32)<<24>>24==120:0)f=+((AZ(b,k,16)|0)>>>0);else f=+U0(b,k);i=c[k>>2]|0;e=i;if((i|0)!=(b|0)){b=a[i>>0]|0;if(b<<24>>24==100)if((a[i+1>>0]|0)==66){f=+pb(+(f/20.0*3.321928094887362));b=i+2|0;c[k>>2]=b;e=b;j=14}else j=10;else if((b+-69&255)<54)j=10;else{h=b;b=i}do if((j|0)==10){b=(b<<24>>24)+-69|0;if(a[152048+(b*24|0)+16>>0]|0){h=i+1|0;if((a[h>>0]|0)==105){f=f*+g[152048+(b*24|0)>>3];b=i+2|0;c[k>>2]=b;e=b;j=14;break}else{f=f*+g[152048+(b*24|0)+8>>3];c[k>>2]=h;e=h;b=h;j=14;break}}else{b=i;j=14}}while(0);if((j|0)==14)h=a[b>>0]|0;if(h<<24>>24==66){e=b+1|0;c[k>>2]=e;f=f*8.0}}if(d|0)c[d>>2]=e;Mb=l;return +f}function Np(a,c,d){a=a|0;c=c|0;d=d|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;i=d>>1;g=d&-2;h=i*3|0;f=0;d=c;while(1){if((f|0)==4)break;q=e[d+-8>>1]|0;p=e[d>>1]|0;o=e[d+8>>1]|0;j=e[d+16>>1]|0;l=e[d+24>>1]|0;m=e[d+32>>1]|0;k=e[d+40>>1]|0;n=e[d+48>>1]|0;c=(e[d+-16>>1]|0)+16+l+((o+p|0)*20|0)+(H(j+q|0,-5)|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(c>>>0<4096?c:0-c>>31&4095)|0)>>>1;c=a+(i<<1)|0;q=q+16+m+((j+o|0)*20|0)+(H(l+p|0,-5)|0)>>5;b[c>>1]=((e[c>>1]|0)+1+(q>>>0<4096?q:0-q>>31&4095)|0)>>>1;c=a+(g<<1)|0;p=p+16+k+((l+j|0)*20|0)+(H(m+o|0,-5)|0)>>5;b[c>>1]=((e[c>>1]|0)+1+(p>>>0<4096?p:0-p>>31&4095)|0)>>>1;c=a+(h<<1)|0;j=o+16+n+((m+l|0)*20|0)+(H(k+j|0,-5)|0)>>5;b[c>>1]=((e[c>>1]|0)+1+(j>>>0<4096?j:0-j>>31&4095)|0)>>>1;f=f+1|0;a=a+2|0;d=d+2|0}return}function Op(a,c,d){a=a|0;c=c|0;d=d|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;i=d>>1;g=d&-2;h=i*3|0;f=0;d=c;while(1){if((f|0)==4)break;q=e[d+-8>>1]|0;p=e[d>>1]|0;o=e[d+8>>1]|0;j=e[d+16>>1]|0;l=e[d+24>>1]|0;m=e[d+32>>1]|0;k=e[d+40>>1]|0;n=e[d+48>>1]|0;c=(e[d+-16>>1]|0)+16+l+((o+p|0)*20|0)+(H(j+q|0,-5)|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(c>>>0<1024?c:0-c>>31&1023)|0)>>>1;c=a+(i<<1)|0;q=q+16+m+((j+o|0)*20|0)+(H(l+p|0,-5)|0)>>5;b[c>>1]=((e[c>>1]|0)+1+(q>>>0<1024?q:0-q>>31&1023)|0)>>>1;c=a+(g<<1)|0;p=p+16+k+((l+j|0)*20|0)+(H(m+o|0,-5)|0)>>5;b[c>>1]=((e[c>>1]|0)+1+(p>>>0<1024?p:0-p>>31&1023)|0)>>>1;c=a+(h<<1)|0;j=o+16+n+((m+l|0)*20|0)+(H(k+j|0,-5)|0)>>5;b[c>>1]=((e[c>>1]|0)+1+(j>>>0<1024?j:0-j>>31&1023)|0)>>>1;f=f+1|0;a=a+2|0;d=d+2|0}return}function Pp(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;p=Mb;Mb=Mb+16|0;m=p+8|0;n=b+3516|0;c[n>>2]=0;h=b+5708|0;i=b+5712|0;c[i>>2]=c[h>>2];c[h>>2]=0;k=b+7612|0;l=b+4|0;j=c[l>>2]|0;d=xg(k,d,e,j,c[b+7632>>2]|0,c[b+7640>>2]|0,c[j+48>>2]|0,1)|0;if((d|0)>=0){j=b+7616|0;e=c[j>>2]|0;f=1;g=0;while(1){if((g|0)>=(e|0))break;if((c[(c[k>>2]|0)+(g*72|0)+48>>2]&-2|0)==36)c[((f|0)==0?h:i)>>2]=1;else f=0;g=g+1|0}f=0;while(1){if((f|0)>=(e|0))break;d=yf(b,(c[k>>2]|0)+(f*72|0)|0)|0;if((d|0)<0){o=11;break}f=f+1|0;e=c[j>>2]|0}if((o|0)==11){o=c[l>>2]|0;c[m>>2]=f;AD(o,24,179226,m)}e=c[n>>2]|0;if((e|0)!=0?(a[b+140>>0]|0)==1:0)Dy(e+4|0,2147483647,0)}else AD(c[l>>2]|0,16,179183,p);Mb=p;return d|0}function Qp(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=f>>1;f=0-q|0;if(!b){i=e[a+(f<<1)>>1]|0;b=i}else{b=e[a+(f<<1)>>1]|0;i=e[a+(~q<<1)>>1]|0}g=e[a+(1-q<<1)>>1]|0;h=g+2|0;j=e[a+(2-q<<1)>>1]|0;k=j+2|0;l=e[a+(3-q<<1)>>1]|0;m=e[a+(4-q<<1)>>1]|0;n=e[a+(5-q<<1)>>1]|0;o=e[a+(6-q<<1)>>1]|0;p=e[a+(7-q<<1)>>1]|0;if(!d)f=p;else f=e[a+(8-q<<1)>>1]|0;g=((h+i+(b<<1)|0)>>>2)+4+((k+b+(g<<1)|0)>>>2)+((h+(j<<1)+l|0)>>>2)+((k+(l<<1)+m|0)>>>2)+((l+2+(m<<1)+n|0)>>>2)+((m+2+(n<<1)+o|0)>>>2)+((n+2+(o<<1)+p|0)>>>2)+((o+2+(p<<1)+f|0)>>>2)>>3;g=MR(g|0,((g|0)<0)<<31>>31|0,65537,65537)|0;h=M()|0;b=0;f=a;while(1){if((b|0)==8)break;a=f;c[a>>2]=g;c[a+4>>2]=h;a=f+8|0;c[a>>2]=g;c[a+4>>2]=h;b=b+1|0;f=f+(q<<1)|0}return}function Rp(a,b,e,f,g,h,i,j){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=Mb;Mb=Mb+16|0;q=r;m=e0(g)|0;a:do if(m|0?(k=c[m+8>>2]|0,(k&8|0)==0&0==0):0){if(!((k&66|0)==0&0==0)){kc[j&127](c[a>>2]|0,c[b>>2]|0,c[e>>2]|0,c[f>>2]|0,h,i);Mn(c[a+4>>2]|0,c[e+4>>2]|0,1024)|0;break}l=d[m+4>>0]|0;p=0;k=0;while(1){if((k|0)==(l|0))break;o=(c[m+16+(k<<5)>>2]|0)+1|0;p=(p|0)>(o|0)?p:o;k=k+1|0}m=m+6|0;n=0-i|0;l=0;while(1){if((l|0)>=(p|0))break a;o=fE(g,h,l)|0;if((o|0)<0)break;if((l+-1|0)>>>0<2)k=0-(n>>(d[m>>0]|0))|0;else k=i;kc[j&127](c[a+(l<<2)>>2]|0,c[b+(l<<2)>>2]|0,c[e+(l<<2)>>2]|0,c[f+(l<<2)>>2]|0,o,k);l=l+1|0}AD(0,16,211586,q)}while(0);Mb=r;return}function Sp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0.0,g=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0;r=+f[b+24>>2];u=+f[b+96>>2];j=r+u;e=+f[b+28>>2];k=+f[b+100>>2];l=e+k;p=r-u;q=e-k;s=+f[b+48>>2];t=+f[b+72>>2];i=s+t;g=+f[b+52>>2];m=+f[b+76>>2];o=g+m;n=s-t;h=g-m;f[a>>2]=u+(t+(s+(r+ +f[b>>2])));d=b+4|0;f[a+4>>2]=k+(m+(g+(e+ +f[d>>2])));e=+f[c>>2];g=+f[c+8>>2];m=i*e-j*g;k=o*e-l*g;i=j*e-i*g;g=l*e-o*g;o=+f[c+4>>2];e=+f[c+12>>2];l=h*o-q*e;j=n*o-p*e;h=q*o+h*e;e=p*o+n*e;f[a+8>>2]=+f[b>>2]+(i+h);f[a+12>>2]=+f[d>>2]+(g-e);f[a+16>>2]=m-l+ +f[b>>2];f[a+20>>2]=k+j+ +f[d>>2];f[a+24>>2]=m+l+ +f[b>>2];f[a+28>>2]=k-j+ +f[d>>2];f[a+32>>2]=i-h+ +f[b>>2];f[a+36>>2]=g+e+ +f[d>>2];return}function Tp(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=a+800|0;b=c[i>>2]|0;h=a+12|0;if(((xU(c[h>>2]|0)|0)!=0?(c[a+48>>2]|0)==1:0)?(c[a+128>>2]|0)>2800:0){c[i>>2]=1;j=10}else j=5;a:do if((j|0)==5){if(!b){b=JT()|0;d=c[a+128>>2]|0;if(d){g=(d+15|0)/16|0;b=(b|0)>(g|0)?g:b}e=b+1|0;e=(b|0)>1?((e|0)<16?e:16):1;c[i>>2]=e}else e=b;if((e|0)<2)j=10;else{f=EZ(48)|0;g=a+64|0;b=(c[g>>2]|0)+20|0;c[b>>2]=f;d=(c[(c[h>>2]|0)+112>>2]&32|0)==0?0:47;c[278103]=d;do if(f){b=rl(f,a,110,d,e)|0;if((b|0)<2){Av(f);b=(c[g>>2]|0)+20|0;break}else{c[i>>2]=b;c[a+816>>2]=7;c[a+820>>2]=2;break a}}while(0);bU(b);c[i>>2]=1;c[a+808>>2]=0}}while(0);if((j|0)==10)c[a+808>>2]=0;return 0}function Up(a,c,d){a=a|0;c=c|0;d=d|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;i=d>>1;g=d&-2;h=i*3|0;f=0;d=c;while(1){if((f|0)==4)break;q=e[d+-8>>1]|0;p=e[d>>1]|0;o=e[d+8>>1]|0;j=e[d+16>>1]|0;l=e[d+24>>1]|0;m=e[d+32>>1]|0;k=e[d+40>>1]|0;n=e[d+48>>1]|0;c=(e[d+-16>>1]|0)+16+l+((o+p|0)*20|0)+(H(j+q|0,-5)|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(c>>>0<512?c:0-c>>31&511)|0)>>>1;c=a+(i<<1)|0;q=q+16+m+((j+o|0)*20|0)+(H(l+p|0,-5)|0)>>5;b[c>>1]=((e[c>>1]|0)+1+(q>>>0<512?q:0-q>>31&511)|0)>>>1;c=a+(g<<1)|0;p=p+16+k+((l+j|0)*20|0)+(H(m+o|0,-5)|0)>>5;b[c>>1]=((e[c>>1]|0)+1+(p>>>0<512?p:0-p>>31&511)|0)>>>1;c=a+(h<<1)|0;j=o+16+n+((m+l|0)*20|0)+(H(k+j|0,-5)|0)>>5;b[c>>1]=((e[c>>1]|0)+1+(j>>>0<512?j:0-j>>31&511)|0)>>>1;f=f+1|0;a=a+2|0;d=d+2|0}return}function Vp(d,g){d=d|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;m=c[g+80>>2]|0;a:do if((c[g+4>>2]|0)!=2){l=c[g+74176>>2]|0;h=b[g+30>>1]|0;j=h<<16>>16<1024?((h&65535)<<16)+67108864>>16:2048;h=2048-(h<<16>>16)|0;i=g+36|0;k=0;while(1){if((k|0)>=(j|0))break;f[l+(k<<2)>>2]=+f[g+32192+(h+k<<2)>>2]*+f[i>>2];k=k+1|0}i=d+1024|0;jv(l+(k<<2)|0,0,8192-(k<<2)|0)|0;hc[c[d+6756>>2]&255](d,i,l,g);h=g+292|0;if(c[h>>2]|0)hc[c[d+6752>>2]&255](i,h,g,0);k=a[g>>0]|0;k=((k&255)<40?k:40)&255;h=0;while(1){if(h>>>0>=k>>>0)break a;b:do if(!(a[g+40+h>>0]|0))h=h+1|0;else{i=h+1|0;j=e[m+(i<<1)>>1]|0;h=e[m+(h<<1)>>1]|0;while(1){if(h>>>0>=j>>>0){h=i;break b}l=g+13760+(h<<2)|0;f[l>>2]=+f[d+1024+(h<<2)>>2]+ +f[l>>2];h=h+1|0}}while(0)}}while(0);return}function Wp(c,e,f,g,h){c=c|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;i=e;j=0;f=f+(0-(h<<1))|0;while(1){if((j|0)==7)break;m=f+1|0;l=f+-1|0;n=f+2|0;o=H((d[n>>0]|0)+(d[l>>0]|0)|0,-5)|0;k=f+3|0;b[i>>1]=(((d[m>>0]|0)+(d[f>>0]|0)|0)*20|0)+(d[f+-2>>0]|0)+o+(d[k>>0]|0);k=H((d[k>>0]|0)+(d[f>>0]|0)|0,-5)|0;b[i+2>>1]=(((d[n>>0]|0)+(d[m>>0]|0)|0)*20|0)+(d[l>>0]|0)+k+(d[f+4>>0]|0);i=i+4|0;j=j+1|0;f=f+h|0}f=e+8|0;i=0;while(1){if((i|0)==2)break;e=b[f+-4>>1]|0;o=b[f>>1]|0;m=b[f+4>>1]|0;l=b[f+8>>1]|0;n=b[f+12>>1]|0;k=b[f+16>>1]|0;h=(b[f+-8>>1]|0)+512+n+((m+o|0)*20|0)+(H(l+e|0,-5)|0)>>10;a[c>>0]=h>>>0>255?0-h>>31:h;o=e+512+k+((l+m|0)*20|0)+(H(n+o|0,-5)|0)>>10;a[c+g>>0]=o>>>0>255?0-o>>31:o;c=c+1|0;f=f+2|0;i=i+1|0}return}function Xp(a,e){a=a|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;t=Mb;Mb=Mb+16|0;f=t;g=e0(c[a+80>>2]|0)|0;if(0==0?(c[g+8>>2]&16|0)==0:0){c[f>>2]=193953;c[f+4>>2]=193976;c[f+8>>2]=517;AD(0,0,222515,f);ba()}o=g+4|0;p=a+68|0;q=g+5|0;r=a+72|0;s=g+6|0;m=g+32|0;l=0;while(1){if(l>>>0>=(d[o>>0]|0)>>>0)break;f=c[p>>2]|0;if((l+-1|0)>>>0<2){n=0-(0-(c[r>>2]|0)>>(d[s>>0]|0))|0;f=0-(0-f>>(d[q>>0]|0))|0}else n=c[r>>2]|0;j=e+(l<<2)|0;k=a+32+(l<<2)|0;g=0;i=c[a+(l<<2)>>2]|0;while(1){if((g|0)>=(n|0))break;a:do if((c[m>>2]|0)>8){h=0;while(1){if((h|0)>=(f|0))break a;b[i+(h<<1)>>1]=c[j>>2];h=h+1|0}}else jv(i|0,c[j>>2]&255|0,f|0)|0;while(0);g=g+1|0;i=i+(c[k>>2]|0)|0}l=l+1|0}Mb=t;return}function Yp(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=Mb;Mb=Mb+16|0;k=l;a:do if(((c[b+44>>2]|0)==0?(j=b+28|0,f=c[j>>2]|0,(f|0)>12):0)?(i=c[b+24>>2]|0,e=i+f+-8|0,g=e,f=g,g=g+4|0,g=oY(d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24,d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24)|0,i,(g|0)==-1910117890&(M()|0)==-1941070576):0){b=e+-5|0;e=1;while(1){f=W_(d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24|0)|0;if(f>>>0>2147483642){h=0;break a}g=b-i|0;if(g>>>0<f>>>0){h=0;break a}if((a[b+4>>0]|0)<0)break;if(e>>>0>83|g>>>0<(f+5|0)>>>0){h=0;break a}b=b+(-5-f)|0;e=e+1|0}i=g-f|0;c[j>>2]=i;if((i|0)>-1)h=1;else{c[k>>2]=170744;c[k+4>>2]=170676;c[k+8>>2]=503;AD(0,0,222515,k);ba()}}else h=0;while(0);Mb=l;return h|0}function Zp(c,e,f,g,h,i,j){c=c|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;q=h+-1|0;r=20704+(q<<4)|0;s=20704+(q<<4)+1|0;l=20704+(q<<4)+2|0;m=20704+(q<<4)+3|0;n=20704+(q<<4)+4|0;o=20704+(q<<4)+5|0;p=20704+(q<<4)+6|0;q=20704+(q<<4)+7|0;k=c;i=e;c=0;while(1){if((c|0)>=(g|0))break;h=0;while(1){if((h|0)>=(j|0))break;t=H(d[i+(h+-3)>>0]|0,a[r>>0]|0)|0;t=(H(d[i+(h+-2)>>0]|0,a[s>>0]|0)|0)+t|0;t=t+(H(d[i+(h+-1)>>0]|0,a[l>>0]|0)|0)|0;t=t+(H(d[i+h>>0]|0,a[m>>0]|0)|0)|0;e=h+1|0;t=t+(H(d[i+e>>0]|0,a[n>>0]|0)|0)|0;t=t+(H(d[i+(h+2)>>0]|0,a[o>>0]|0)|0)|0;t=t+(H(d[i+(h+3)>>0]|0,a[p>>0]|0)|0)|0;t=t+(H(d[i+(h+4)>>0]|0,a[q>>0]|0)|0)&65535;b[k+(h<<1)>>1]=t;h=e}k=k+128|0;i=i+f|0;c=c+1|0}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,i=0,j=0,k=0,l=0,m=0;j=(e|0)!=0;if(!j?(c[b+668>>2]|0)!=0:0){h=1;i=b+768|0;k=b+960|0}else{h=0;i=18448;k=18512}if(!(mT(a)|0))return 0;l=Vt(a,f,16,18576,h?b+672|0:18576)|0;m=f+16|0;l=Vt(a,m,16,18576,f)|0|l;m=l|(Vt(a,f+32|0,16,18576,m)|0);l=f+48|0;m=m|(Vt(a,l,16,18592,h?b+720|0:18592)|0);h=f+64|0;l=m|(Vt(a,h,16,18592,l)|0);h=l|(Vt(a,f+80|0,16,18592,h)|0);if(!(!j?(c[d+64>>2]|0)==0:0)){h=Vt(a,g,64,18448,i)|0|h;f=g+192|0;h=h|(Vt(a,f,64,18512,k)|0);if((c[b+12>>2]|0)==3){m=g+64|0;l=Vt(a,m,64,18448,g)|0|h;h=g+256|0;l=l|(Vt(a,h,64,18512,f)|0);m=l|(Vt(a,g+128|0,64,18448,m)|0);h=m|(Vt(a,g+320|0,64,18512,h)|0)}}return ((h|0)==0?e:h)|0}function $p(a,d,f,g,h){a=a|0;d=d|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;k=h>>1;i=d;j=0;f=f+(0-(h&-2)<<1)|0;while(1){if((j|0)==7)break;h=e[f>>1]|0;m=e[f+2>>1]|0;l=e[f+-2>>1]|0;n=e[f+4>>1]|0;p=H(n+l|0,-5)|0;o=e[f+6>>1]|0;c[i>>2]=((m+h|0)*20|0)+(e[f+-4>>1]|0)+p+o;h=H(o+h|0,-5)|0;c[i+4>>2]=((n+m|0)*20|0)+l+h+(e[f+8>>1]|0);i=i+16|0;j=j+1|0;f=f+(k<<1)|0}i=g>>1;f=d+32|0;h=0;while(1){if((h|0)==2)break;d=c[f+-16>>2]|0;p=c[f>>2]|0;n=c[f+16>>2]|0;m=c[f+32>>2]|0;o=c[f+48>>2]|0;l=c[f+64>>2]|0;k=(c[f+-32>>2]|0)+512+o+((n+p|0)*20|0)+(H(m+d|0,-5)|0)>>10;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;p=d+512+l+((m+n|0)*20|0)+(H(o+p|0,-5)|0)>>10;b[a+(i<<1)>>1]=p>>>0<16384?p:0-p>>31&16383;a=a+2|0;f=f+4|0;h=h+1|0}return}function aq(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;h=d>>1;n=e[a+(~h<<1)>>1]|0;i=e[a+(0-h<<1)>>1]|0;g=e[a+(1-h<<1)>>1]|0;f=e[a+(2-h<<1)>>1]|0;c=e[a+(3-h<<1)>>1]|0;l=e[a+-2>>1]|0;o=e[a+(h+-1<<1)>>1]|0;j=d&-2;k=e[a+(j+-1<<1)>>1]|0;m=h*3|0;b[a+(m<<1)>>1]=(o+2+(e[a+(m+-1<<1)>>1]|0)+(k<<1)|0)>>>2;k=(l+2+k+(o<<1)|0)>>>2&65535;b[a+(m+1<<1)>>1]=k;b[a+(j<<1)>>1]=k;k=n+2|0;o=(k+o+(l<<1)|0)>>>2&65535;b[a+(m+2<<1)>>1]=o;b[a+((d|1)<<1)>>1]=o;b[a+(h<<1)>>1]=o;d=i+2|0;l=(d+(n<<1)+l|0)>>>2&65535;b[a+(m+3<<1)>>1]=l;b[a+(j+2<<1)>>1]=l;b[a+(h+1<<1)>>1]=l;b[a>>1]=l;i=(k+(i<<1)+g|0)>>>2&65535;b[a+(j+3<<1)>>1]=i;b[a+(h+2<<1)>>1]=i;b[a+2>>1]=i;d=(d+(g<<1)+f|0)>>>2&65535;b[a+(h+3<<1)>>1]=d;b[a+4>>1]=d;b[a+6>>1]=(g+2+(f<<1)+c|0)>>>2;return}function bq(a,d,e,f,g,h,i,j,k,l){a=a|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;m=c[g+(h*196|0)+128+(i<<2)>>2]|0;do if((m|0)==(c[j+(k*196|0)+128+(l<<2)>>2]|0)){j=e-(c[j+(k*196|0)+64+(l<<2)>>2]|0)|0;e=f-(c[g+(h*196|0)+64+(i<<2)>>2]|0)|0;if((m|0)==0?(j|0)!=0&(j|0)!=(e|0):0){m=((j+128|0)>>>0>255?j>>31^127:j)<<24>>24;j=(m|0)/2|0;m=(H((((j|0)>-1?j:0-j|0)+16384|0)/(m|0)|0,((e+128|0)>>>0>255?e>>31^127:e)<<24>>24)|0)+32|0;e=m>>6;e=(e+4096|0)>>>0>8191?m>>31^4095:e;m=H(e,b[d>>1]|0)|0;m=m+127+(m>>>31)|0;j=m>>8;b[a>>1]=(j+32768|0)>>>0>65535?m>>31^32767:j;d=H(e,b[d+2>>1]|0)|0;d=d+127+(d>>>31)|0;e=d>>8;j=1;e=((e+32768|0)>>>0>65535?d>>31^32767:e)&65535;break}b[a>>1]=b[d>>1]|0;j=1;e=b[d+2>>1]|0}else{b[a>>1]=0;j=0;e=0}while(0);b[a+2>>1]=e;return j|0}function cq(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=c>>1;i=(h<<f+6)+((f|0)==0?0:1<<f+-1)|0;c=a;h=0;while(1){if((h|0)>=(d|0))break;a=(H(e[c>>1]|0,g)|0)+i>>f;b[c>>1]=a>>>0<16384?a:0-a>>31&16383;a=c+2|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+4|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+6|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+8|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+10|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+12|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+14|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;c=c+(j<<1)|0;h=h+1|0}return}function dq(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=f<<6;s=g<<6;p=d>>1;q=0-p|0;r=H(p,-2)|0;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<6;o=f+-63|0;a:do if(m<<24>>24>=1){d=63-f|0;f=0;g=c;while(1){if((f|0)==2)break a;i=g+(q<<1)|0;j=e[i>>1]|0;k=e[g+(r<<1)>>1]|0;l=e[g>>1]|0;m=e[g+(p<<1)>>1]|0;u=j-l|0;if(((((u|0)>-1?u:0-u|0)|0)<(t|0)?(u=k-j|0,(((u|0)>-1?u:0-u|0)|0)<(s|0)):0)?(u=m-l|0,(((u|0)>-1?u:0-u|0)|0)<(s|0)):0){u=k+4-m+(l-j<<2)>>3;u=(u|0)<(d|0)?d:(u|0)>(o|0)?o:u;m=u+j|0;b[i>>1]=m>>>0<16384?m:0-m>>31&16383;u=l-u|0;b[g>>1]=u>>>0<16384?u:0-u>>31&16383}f=f+1|0;g=g+2|0}}while(0);c=c+4|0;n=n+1|0}return}function eq(a,d,f,g,h){a=a|0;d=d|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;k=h>>1;i=d;j=0;f=f+(0-(h&-2)<<1)|0;while(1){if((j|0)==7)break;h=e[f>>1]|0;m=e[f+2>>1]|0;l=e[f+-2>>1]|0;n=e[f+4>>1]|0;p=H(n+l|0,-5)|0;o=e[f+6>>1]|0;c[i>>2]=((m+h|0)*20|0)+(e[f+-4>>1]|0)+p+o;h=H(o+h|0,-5)|0;c[i+4>>2]=((n+m|0)*20|0)+l+h+(e[f+8>>1]|0);i=i+16|0;j=j+1|0;f=f+(k<<1)|0}i=g>>1;f=d+32|0;h=0;while(1){if((h|0)==2)break;d=c[f+-16>>2]|0;p=c[f>>2]|0;n=c[f+16>>2]|0;m=c[f+32>>2]|0;o=c[f+48>>2]|0;l=c[f+64>>2]|0;k=(c[f+-32>>2]|0)+512+o+((n+p|0)*20|0)+(H(m+d|0,-5)|0)>>10;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;p=d+512+l+((m+n|0)*20|0)+(H(o+p|0,-5)|0)>>10;b[a+(i<<1)>>1]=p>>>0<4096?p:0-p>>31&4095;a=a+2|0;f=f+4|0;h=h+1|0}return}function fq(b,c,e){b=b|0;c=c|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;p=d[b+(1-e)>>0]|0;n=d[b+(3-e)>>0]|0;m=d[c>>0]|0;l=d[c+1>>0]|0;h=d[c+2>>0]|0;g=d[c+3>>0]|0;o=d[b+(e+-1)>>0]|0;i=e<<1;c=e*3|0;f=d[b+(c+-1)>>0]|0;j=(d[b+(i+-1)>>0]|0)+(d[b+(2-e)>>0]|0)|0;k=j+4|0;a[b>>0]=(k+(d[b+(0-e)>>0]|0)+(d[b+-1>>0]|0)+(o+p<<1)|0)>>>3;j=(p+4+n+o+f+(j<<1)|0)>>>3&255;a[b+e>>0]=j;a[b+1>>0]=j;k=(k+m+(n<<1)+(f*3|0)|0)>>>3&255;a[b+i>>0]=k;a[b+(e+1)>>0]=k;a[b+2>>0]=k;k=f<<2;j=k+l+4|0;n=(j+n+(m<<1)|0)>>>3&255;a[b+c>>0]=n;a[b+(i|1)>>0]=n;a[b+(e+2)>>0]=n;a[b+3>>0]=n;k=(m+4+h+(l<<1)+k|0)>>>3&255;a[b+(c+1)>>0]=k;a[b+(i+2)>>0]=k;a[b+(e+3)>>0]=k;e=(j+g+(h<<1)|0)>>>3&255;a[b+(c+2)>>0]=e;a[b+(i+3)>>0]=e;a[b+(c+3)>>0]=(h+2+g+(f<<1)|0)>>>2;return}function gq(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=d;a:do if(!((g^b)&3)){f=(e|0)!=0;if(f&(g&3|0)!=0)do{g=a[d>>0]|0;a[b>>0]=g;if(!(g<<24>>24))break a;e=e+-1|0;d=d+1|0;b=b+1|0;f=(e|0)!=0}while(f&(d&3|0)!=0);if(f){if(a[d>>0]|0){b:do if(e>>>0>3){f=d;while(1){d=c[f>>2]|0;if((d&-2139062144^-2139062144)&d+-16843009|0){d=f;break b}c[b>>2]=d;e=e+-4|0;d=f+4|0;b=b+4|0;if(e>>>0>3)f=d;else break}}while(0);h=13}}else e=0}else h=13;while(0);c:do if((h|0)==13)if(!e)e=0;else while(1){h=a[d>>0]|0;a[b>>0]=h;if(!(h<<24>>24))break c;e=e+-1|0;b=b+1|0;if(!e){e=0;break}else d=d+1|0}while(0);jv(b|0,0,e|0)|0;return b|0}function hq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;c[a+92>>2]=c[b+92>>2];c[a+152>>2]=c[b+152>>2];c[a+472>>2]=c[b+472>>2];c[a+68>>2]=c[b+68>>2];c[a+680>>2]=c[b+680>>2];c[a+684>>2]=c[b+684>>2];c[a+292>>2]=c[b+292>>2];c[a+96>>2]=c[b+96>>2];f=a+836|0;d=b+836|0;c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[a+432>>2]=c[b+432>>2];f=b+696|0;d=c[f+4>>2]|0;g=a+696|0;c[g>>2]=c[f>>2];c[g+4>>2]=d;c[a+812>>2]=c[b+812>>2];g=b+216|0;d=c[g>>2]|0;do if(d){e=b+224|0;b=c[e>>2]|0;if(!b)h=7;else{f=a+224|0;if((c[a+216>>2]|0)<(d|0)){d=tK(f,d,4)|0;if((d|0)<=-1)break;d=c[g>>2]|0;b=c[e>>2]|0}Mn(c[f>>2]|0,b|0,d<<2|0)|0;d=c[g>>2]|0;h=7}}else{d=0;h=7}while(0);if((h|0)==7){c[a+216>>2]=d;d=0}return d|0}function iq(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=f<<4;s=g<<4;p=d>>1;q=0-p|0;r=H(p,-2)|0;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<4;o=f+-15|0;a:do if(m<<24>>24>=1){d=15-f|0;f=0;g=c;while(1){if((f|0)==2)break a;i=g+(q<<1)|0;j=e[i>>1]|0;k=e[g+(r<<1)>>1]|0;l=e[g>>1]|0;m=e[g+(p<<1)>>1]|0;u=j-l|0;if(((((u|0)>-1?u:0-u|0)|0)<(t|0)?(u=k-j|0,(((u|0)>-1?u:0-u|0)|0)<(s|0)):0)?(u=m-l|0,(((u|0)>-1?u:0-u|0)|0)<(s|0)):0){u=k+4-m+(l-j<<2)>>3;u=(u|0)<(d|0)?d:(u|0)>(o|0)?o:u;m=u+j|0;b[i>>1]=m>>>0<4096?m:0-m>>31&4095;u=l-u|0;b[g>>1]=u>>>0<4096?u:0-u>>31&4095}f=f+1|0;g=g+2|0}}while(0);c=c+4|0;n=n+1|0}return}function jq(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=f<<2;s=g<<2;p=d>>1;q=0-p|0;r=H(p,-2)|0;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<2;o=f+-3|0;a:do if(m<<24>>24>=1){d=3-f|0;f=0;g=c;while(1){if((f|0)==2)break a;i=g+(q<<1)|0;j=e[i>>1]|0;k=e[g+(r<<1)>>1]|0;l=e[g>>1]|0;m=e[g+(p<<1)>>1]|0;u=j-l|0;if(((((u|0)>-1?u:0-u|0)|0)<(t|0)?(u=k-j|0,(((u|0)>-1?u:0-u|0)|0)<(s|0)):0)?(u=m-l|0,(((u|0)>-1?u:0-u|0)|0)<(s|0)):0){u=k+4-m+(l-j<<2)>>3;u=(u|0)<(d|0)?d:(u|0)>(o|0)?o:u;m=u+j|0;b[i>>1]=m>>>0<1024?m:0-m>>31&1023;u=l-u|0;b[g>>1]=u>>>0<1024?u:0-u>>31&1023}f=f+1|0;g=g+2|0}}while(0);c=c+4|0;n=n+1|0}return}function kq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=Mb;Mb=Mb+16|0;h=j;f=j+4|0;i=c[a+4>>2]|0;g=i+4|0;d=c[g>>2]|0;if(!(c[d+12>>2]|0))if(c[(c[d>>2]|0)+60>>2]|0)if(c[i+28>>2]|0){h=FP(a)|0;a=b+376|0;c[a>>2]=h;if(h){d=Xb[c[(c[c[g>>2]>>2]|0)+60>>2]&15](i,b)|0;if((d|0)<0)F$(a);else d=0}else d=-12}else d=-22;else d=-38;else{c[b+80>>2]=c[i+36>>2];a=FP(a)|0;c[b+376>>2]=a;do if((a|0)!=0?(e=CX()|0,c[f>>2]=e,(e|0)!=0):0){d=kq(c[(c[g>>2]|0)+12>>2]|0,e,0)|0;if((d|0)>=0){d=Vm(b,e,c[(c[g>>2]|0)+16>>2]|0)|0;if(!d){rY(f);d=0;break}else{c[h>>2]=d;AD(i,16,211255,h);rY(f);break}}}else d=-12;while(0)}Mb=j;return d|0}function lq(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=0;while(1){if((g|0)==4)break;i=c+1|0;l=c+-1|0;h=c+2|0;m=H((d[h>>0]|0)+(d[l>>0]|0)|0,-5)|0;j=c+3|0;m=(((d[i>>0]|0)+(d[c>>0]|0)|0)*20|0)+16+(d[c+-2>>0]|0)+m+(d[j>>0]|0)>>5;a[b>>0]=m>>>0>255?0-m>>31:m;m=H((d[j>>0]|0)+(d[c>>0]|0)|0,-5)|0;k=c+4|0;m=(((d[h>>0]|0)+(d[i>>0]|0)|0)*20|0)+16+(d[l>>0]|0)+m+(d[k>>0]|0)>>5;a[b+1>>0]=m>>>0>255?0-m>>31:m;m=H((d[k>>0]|0)+(d[i>>0]|0)|0,-5)|0;l=c+5|0;m=(((d[j>>0]|0)+(d[h>>0]|0)|0)*20|0)+16+(d[c>>0]|0)+m+(d[l>>0]|0)>>5;a[b+2>>0]=m>>>0>255?0-m>>31:m;h=H((d[l>>0]|0)+(d[h>>0]|0)|0,-5)|0;h=(((d[k>>0]|0)+(d[j>>0]|0)|0)*20|0)+16+(d[i>>0]|0)+h+(d[c+6>>0]|0)>>5;a[b+3>>0]=h>>>0>255?0-h>>31:h;c=c+f|0;b=b+e|0;g=g+1|0}return}function mq(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=f<<1;s=g<<1;p=d>>1;q=0-p|0;r=H(p,-2)|0;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<1;o=f+-1|0;a:do if(m<<24>>24>=1){d=1-f|0;f=0;g=c;while(1){if((f|0)==2)break a;i=g+(q<<1)|0;j=e[i>>1]|0;k=e[g+(r<<1)>>1]|0;l=e[g>>1]|0;m=e[g+(p<<1)>>1]|0;u=j-l|0;if(((((u|0)>-1?u:0-u|0)|0)<(t|0)?(u=k-j|0,(((u|0)>-1?u:0-u|0)|0)<(s|0)):0)?(u=m-l|0,(((u|0)>-1?u:0-u|0)|0)<(s|0)):0){u=k+4-m+(l-j<<2)>>3;u=(u|0)<(d|0)?d:(u|0)>(o|0)?o:u;m=u+j|0;b[i>>1]=m>>>0<512?m:0-m>>31&511;u=l-u|0;b[g>>1]=u>>>0<512?u:0-u>>31&511}f=f+1|0;g=g+2|0}}while(0);c=c+4|0;n=n+1|0}return}function nq(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=c>>1;i=(h<<f+4)+((f|0)==0?0:1<<f+-1)|0;c=a;h=0;while(1){if((h|0)>=(d|0))break;a=(H(e[c>>1]|0,g)|0)+i>>f;b[c>>1]=a>>>0<4096?a:0-a>>31&4095;a=c+2|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+4|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+6|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+8|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+10|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+12|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+14|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;c=c+(j<<1)|0;h=h+1|0}return}function oq(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=c>>1;i=(h<<f+2)+((f|0)==0?0:1<<f+-1)|0;c=a;h=0;while(1){if((h|0)>=(d|0))break;a=(H(e[c>>1]|0,g)|0)+i>>f;b[c>>1]=a>>>0<1024?a:0-a>>31&1023;a=c+2|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+4|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+6|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+8|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+10|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+12|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+14|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;c=c+(j<<1)|0;h=h+1|0}return}function pq(b,d,e,f,h,i,j){b=b|0;d=d|0;e=e|0;f=f|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.0,r=0.0;p=Mb;Mb=Mb+32|0;o=p+8|0;m=p;l=p+28|0;do if((e|0)!=0?(PF(e,221851)|0)!=0:0){k=Vb[i&31](e)|0;if((k|0)==-1){k=KY(e,l,0)|0;if(k>>>0<h>>>0?(a[c[l>>2]>>0]|0)==0:0){n=7;break}else{c[m>>2]=e;c[m+4>>2]=j;AD(b,16,212475,m);i=-22;break}}else n=7}else{k=-1;n=7}while(0);do if((n|0)==7){q=+g[d+24>>3];e=~~(q>-1.0?q:-1.0);q=+g[d+32>>3];n=h+-1|0;r=+(n|0);i=~~(q>r?r:q);h=(i|e|0)==0;e=h?-1:e;i=h?n:i;if((k|0)<(e|0)|(k|0)>(i|0)){f=c[d>>2]|0;c[o>>2]=k;c[o+4>>2]=f;c[o+8>>2]=j;c[o+12>>2]=e;c[o+16>>2]=i;AD(b,16,212516,o);i=-34;break}else{c[f>>2]=k;i=0;break}}while(0);Mb=p;return i|0}function qq(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;h=0-g|0;if(!e){k=d[b+h>>0]|0;h=k}else{h=d[b+h>>0]|0;k=d[b+~g>>0]|0}i=d[b+(1-g)>>0]|0;j=i+2|0;l=d[b+(2-g)>>0]|0;m=l+2|0;n=d[b+(3-g)>>0]|0;o=d[b+(4-g)>>0]|0;p=d[b+(5-g)>>0]|0;q=d[b+(6-g)>>0]|0;r=d[b+(7-g)>>0]|0;if(!f)e=r;else e=d[b+(8-g)>>0]|0;a[b>>0]=(j+k+(h<<1)|0)>>>2;a[b+1>>0]=(m+h+(i<<1)|0)>>>2;a[b+2>>0]=(j+(l<<1)+n|0)>>>2;a[b+3>>0]=(m+(n<<1)+o|0)>>>2;i=b+4|0;a[i>>0]=(n+2+(o<<1)+p|0)>>>2;a[b+5>>0]=(o+2+(p<<1)+q|0)>>>2;a[b+6>>0]=(p+2+(q<<1)+r|0)>>>2;a[b+7>>0]=(q+2+(r<<1)+e|0)>>>2;h=c[b>>2]|0;i=c[i>>2]|0;e=1;while(1){if((e|0)==8)break;f=b+(H(e,g)|0)|0;c[f>>2]=h;c[f+4>>2]=i;e=e+1|0}return}function rq(){var a=0,b=0,d=0.0,e=0,h=0;a:do if(!(c[228319]|0)){a=1;while(1){if((a|0)==8192)break;g[913280+(a<<3)>>3]=1.0;a=a+1|0}e=2;while(1){if((e|0)==90)break;b:do if(+g[913280+(e<<3)>>3]==1.0){d=+(e|0);d=+Xs(d)*d;a=e;while(1){if(a>>>0>=8192)break b;b=a;while(1){if(b>>>0>=8192)break;h=913280+(b<<3)|0;g[h>>3]=d*+g[h>>3];b=b+a|0}a=H(a,e)|0}}while(0);e=e+1|0}b=91;while(1){if(b>>>0>=8192)break;c:do if(+g[913280+(b<<3)>>3]==1.0){d=+(b|0);d=+Xs(d)*d;a=b;while(1){if(a>>>0>=8192)break c;h=913280+(a<<3)|0;g[h>>3]=d*+g[h>>3];a=a+b|0}}while(0);b=b+2|0}a=0;while(1){if((a|0)==8192)break a;f[880512+(a<<2)>>2]=+g[913280+(a<<3)>>3];a=a+1|0}}while(0);return}function sq(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=c>>1;i=(h<<f+1)+((f|0)==0?0:1<<f+-1)|0;c=a;h=0;while(1){if((h|0)>=(d|0))break;a=(H(e[c>>1]|0,g)|0)+i>>f;b[c>>1]=a>>>0<512?a:0-a>>31&511;a=c+2|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+4|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+6|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+8|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+10|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+12|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+14|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;c=c+(j<<1)|0;h=h+1|0}return}function tq(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=b>>1;b=0;d=0;f=0;g=0;while(1){if((b|0)==4)break;i=a+((H(b,l)|0)+-1<<1)|0;i=d+(e[i>>1]|0)+(e[a+(b-l<<1)>>1]|0)|0;j=b+4|0;k=a+((H(j,l)|0)+-1<<1)|0;b=b+1|0;d=i;f=f+(e[a+(j-l<<1)>>1]|0)|0;g=g+(e[k>>1]|0)|0}d=MR((d+4|0)>>>3|0,0,65537,65537)|0;h=M()|0;i=MR((f+2|0)>>>2|0,0,65537,65537)|0;j=M()|0;k=(g+2|0)>>>2;f=(g+4+f|0)>>>3;b=0;while(1){if((b|0)==4)break;g=a+((H(b,l)|0)<<1)|0;m=g;c[m>>2]=d;c[m+4>>2]=h;g=g+8|0;c[g>>2]=i;c[g+4>>2]=j;b=b+1|0}g=MR(k|0,0,65537,65537)|0;h=M()|0;d=MR(f|0,0,65537,65537)|0;f=M()|0;b=4;while(1){if((b|0)==8)break;m=a+((H(b,l)|0)<<1)|0;k=m;c[k>>2]=g;c[k+4>>2]=h;m=m+8|0;c[m>>2]=d;c[m+4>>2]=f;b=b+1|0}return}function uq(b,c,e){b=b|0;c=c|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;g=e<<1;h=e*3|0;f=0;while(1){if((f|0)==4)break;q=d[c+-4>>0]|0;p=d[c>>0]|0;o=d[c+4>>0]|0;j=d[c+8>>0]|0;l=d[c+12>>0]|0;m=d[c+16>>0]|0;k=d[c+20>>0]|0;n=d[c+24>>0]|0;i=(d[c+-8>>0]|0)+16+l+((o+p|0)*20|0)+(H(j+q|0,-5)|0)>>5;a[b>>0]=((d[b>>0]|0)+1+((i>>>0>255?0-i>>31:i)&255)|0)>>>1;i=b+e|0;q=q+16+m+((j+o|0)*20|0)+(H(l+p|0,-5)|0)>>5;a[i>>0]=((d[i>>0]|0)+1+((q>>>0>255?0-q>>31:q)&255)|0)>>>1;i=b+g|0;p=p+16+k+((l+j|0)*20|0)+(H(m+o|0,-5)|0)>>5;a[i>>0]=((d[i>>0]|0)+1+((p>>>0>255?0-p>>31:p)&255)|0)>>>1;i=b+h|0;j=o+16+n+((m+l|0)*20|0)+(H(k+j|0,-5)|0)>>5;a[i>>0]=((d[i>>0]|0)+1+((j>>>0>255?0-j>>31:j)&255)|0)>>>1;f=f+1|0;b=b+1|0;c=c+1|0}return}function vq(e){e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=e+7598|0;i=e+5696|0;f=0;g=0;while(1){if((g|0)==32)break;if((a[e+3520+(g*68|0)+66>>0]|0)!=0?(b[e+3520+(g*68|0)+64>>1]|0)==(b[j>>1]|0):0)f=f+((c[e+3520+(g*68|0)+36>>2]|0)!=(c[i>>2]|0)&1)|0;g=g+1|0}h=c[e+1412>>2]|0;a:do if(h|0?(f|0)>=(c[h+72+(((c[h+68>>2]|0)+-1|0)*12|0)>>2]|0):0){f=2147483647;h=0;while(1){if((h|0)==32)break;g=a[e+3520+(h*68|0)+66>>0]|0;if(g<<24>>24!=0?(b[e+3520+(h*68|0)+64>>1]|0)==(b[j>>1]|0):0){k=c[e+3520+(h*68|0)+36>>2]|0;f=(k|0)<(f|0)&(g<<24>>24==1?(k|0)!=(c[i>>2]|0):0)?k:f}h=h+1|0}g=0;while(1){if((g|0)==32)break a;h=e+3520+(g*68|0)+66|0;i=d[h>>0]|0;if((i&1|0?(b[e+3520+(g*68|0)+64>>1]|0)==(b[j>>1]|0):0)?(c[e+3520+(g*68|0)+36>>2]|0)<=(f|0):0)a[h>>0]=i|8;g=g+1|0}}while(0);return}function wq(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;k=Mb;Mb=Mb+16|0;i=k;if(b){b=mT(a)|0;f=mT(a)|0;if(!(f|b))e=0;else{e=mT(a)|0;if(!e){eW(a,4);eW(a,4)}else{eW(a,8);eW(a,5);eW(a,1);eW(a,5);eW(a,4);eW(a,4);eW(a,4)}eW(a,5);eW(a,5);eW(a,5)}}else{e=0;f=0;b=0}h=(b|0)==0;g=(f|0)==0;f=0;while(1){if((f|0)>=(d|0))break;if((mT(a)|0)==0?(mT(a)|0)==0:0)if(!(mT(a)|0))j=13;else b=1;else{CL(a)|0;j=13}if((j|0)==13){j=0;l=CL(a)|0;b=l+1|0;if(l>>>0>31){j=14;break}}if(!h)wL(a,b,e);if(!g)wL(a,b,e);f=f+1|0}if((j|0)==14){c[i>>2]=b;AD(0,16,176092,i)}Mb=k;return}function xq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=+e;var g=0,h=0,i=0.0,j=0.0,k=0,l=0,m=0,n=0,o=0.0,p=0.0;g=a;h=g+68|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));k=1<<b;c[a+20>>2]=b;c[a+16>>2]=k;l=k>>2;g=a+60|0;c[g>>2]=0;a:do if((Zm(a,b+-2|0,d)|0)>=0?(m=mZ((k|0)/2|0)|0,c[a+24>>2]=m,(m|0)!=0):0){switch(c[g>>2]|0){case 0:{d=m+(l<<2)|0;c[a+28>>2]=d;h=1;a=d;break}case 1:{d=m+4|0;c[a+28>>2]=d;h=2;a=d;break}default:{n=9;break a}}j=e<0.0?+(l|0)+.125:.125;i=+v(+(+u(+e)));e=+(k|0);g=0;while(1){if((g|0)>=(l|0)){g=0;break a}o=(j+ +(g|0))*6.283185307179586/e;p=-(i*+x(+o));k=H(g,h)|0;f[m+(k<<2)>>2]=p;o=-(i*+y(+o));f[a+(k<<2)>>2]=o;g=g+1|0}}else n=9;while(0);if((n|0)==9){Q0(a);g=-1}return g|0}function yq(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 i=16;b:do if((i|0)==6){g=d&255;if((a[b>>0]|0)==g<<24>>24)if(!e){i=16;break}else break;f=H(h,16843009)|0;c:do if(e>>>0>3)while(1){h=c[b>>2]^f;if((h&-2139062144^-2139062144)&h+-16843009|0)break c;b=b+4|0;e=e+-4|0;if(e>>>0<=3){i=11;break}}else i=11;while(0);if((i|0)==11)if(!e){i=16;break}while(1){if((a[b>>0]|0)==g<<24>>24)break b;e=e+-1|0;if(!e){i=16;break}else b=b+1|0}}while(0);if((i|0)==16)b=0;return b|0}function zq(b,f){b=b|0;f=f|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0.0,r=0.0;n=Mb;Mb=Mb+96|0;j=n+80|0;i=n+72|0;h=n+40|0;m=n+32|0;l=n+24|0;k=n+16|0;o=n+8|0;AD(f,48,174721,n);c[o>>2]=d[b>>0];AD(f,48,174754,o);switch(a[b>>0]|0){case 0:{o=b+1|0;c[k>>2]=d[o>>0];AD(f,48,174781,k);switch(a[o>>0]|0){case 2:{c[l>>2]=e[b+2>>1];AD(f,48,174815,l);break}case 3:{c[m>>2]=e[b+4>>1];AD(f,48,174849,m);break}default:{}}r=+(d[b+7>>0]|0)/255.0;q=+(d[b+8>>0]|0)/255.0;p=+(d[b+9>>0]|0)/255.0;g[h>>3]=+(d[b+6>>0]|0)/255.0;g[h+8>>3]=r;g[h+16>>3]=q;g[h+24>>3]=p;AD(f,48,174884,h);break}case 1:{o=b+10|0;c[i>>2]=d[o>>0];AD(f,48,174929,i);if(!(a[o>>0]|0)){g[j>>3]=+(e[b+12>>1]|0)/100.0;AD(f,48,174952,j)}break}default:{}}Mb=n;return}function Aq(b,c,e,f,g,h,i){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;o=d[b+(0-e)>>0]|0;n=d[b+(1-e)>>0]|0;m=d[b+(2-e)>>0]|0;l=d[b+(3-e)>>0]|0;k=d[c>>0]|0;j=d[c+1>>0]|0;c=d[c+2>>0]|0;p=(n<<1)+4|0;a[b>>0]=(p+f+h+(o+g<<1)|0)>>>3;q=m+1|0;r=(q+n|0)>>>1&255;f=e<<1;a[b+f>>0]=r;a[b+1>>0]=r;q=(q+l|0)>>>1&255;a[b+(f|1)>>0]=q;a[b+2>>0]=q;q=(l+1+k|0)>>>1&255;a[b+(f+2)>>0]=q;a[b+3>>0]=q;a[b+(f+3)>>0]=(k+1+j|0)>>>1;a[b+e>>0]=(p+g+(h<<1)+i+o+m|0)>>>3;g=l+2|0;h=(g+n+(m<<1)|0)>>>2&255;i=e*3|0;a[b+i>>0]=h;a[b+(e+1)>>0]=h;h=k+2|0;f=(h+m+(l<<1)|0)>>>2&255;a[b+(i+1)>>0]=f;a[b+(e+2)>>0]=f;g=(g+(k<<1)+j|0)>>>2&255;a[b+(i+2)>>0]=g;a[b+(e+3)>>0]=g;a[b+(i+3)>>0]=(h+(j<<1)+c|0)>>>2;return}function Bq(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=f<<6;r=g<<6;p=d>>1;q=p<<2;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<6;o=f+-63|0;a:do if(m<<24>>24>=1){d=63-f|0;f=0;g=c;while(1){if((f|0)==4)break a;i=g+-2|0;j=e[i>>1]|0;k=e[g+-4>>1]|0;l=e[g>>1]|0;m=e[g+2>>1]|0;t=j-l|0;if(((((t|0)>-1?t:0-t|0)|0)<(s|0)?(t=k-j|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0)?(t=m-l|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0){t=k+4-m+(l-j<<2)>>3;t=(t|0)<(d|0)?d:(t|0)>(o|0)?o:t;m=t+j|0;b[i>>1]=m>>>0<16384?m:0-m>>31&16383;t=l-t|0;b[g>>1]=t>>>0<16384?t:0-t>>31&16383}f=f+1|0;g=g+(p<<1)|0}}while(0);c=c+(q<<1)|0;n=n+1|0}return}function Cq(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=d>>1;i=e[a+(0-h<<1)>>1]|0;m=e[a+(1-h<<1)>>1]|0;l=e[a+(2-h<<1)>>1]|0;j=e[a+(3-h<<1)>>1]|0;g=e[c>>1]|0;f=e[c+2>>1]|0;c=e[c+4>>1]|0;n=m+1|0;b[a>>1]=(n+i|0)>>>1;n=(n+l|0)>>>1&65535;k=d&-2;b[a+(k<<1)>>1]=n;b[a+2>>1]=n;n=(l+1+j|0)>>>1&65535;b[a+((d|1)<<1)>>1]=n;b[a+4>>1]=n;d=(j+1+g|0)>>>1&65535;b[a+(k+2<<1)>>1]=d;b[a+6>>1]=d;b[a+(k+3<<1)>>1]=(g+1+f|0)>>>1;k=l+2|0;b[a+(h<<1)>>1]=(k+i+(m<<1)|0)>>>2;i=j+2|0;l=(i+m+(l<<1)|0)>>>2&65535;d=h*3|0;b[a+(d<<1)>>1]=l;b[a+(h+1<<1)>>1]=l;j=(k+(j<<1)+g|0)>>>2&65535;b[a+(d+1<<1)>>1]=j;b[a+(h+2<<1)>>1]=j;i=(i+(g<<1)+f|0)>>>2&65535;b[a+(d+2<<1)>>1]=i;b[a+(h+3<<1)>>1]=i;b[a+(d+3<<1)>>1]=(g+2+(f<<1)+c|0)>>>2;return}function Dq(a,b,c,e,f){a=a|0;b=b|0;c=c|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=0;h=0;a=c;while(1){if((g|0)>=(f|0))break;n=(d[a+1>>0]|0)+1|0;o=(d[b>>0]|0)-((n+(d[a>>0]|0)|0)>>>1)|0;m=d[a+2>>0]|0;n=(d[b+1>>0]|0)-((n+m|0)>>>1)|0;l=d[a+3>>0]|0;m=(d[b+2>>0]|0)-((m+1+l|0)>>>1)|0;k=d[a+4>>0]|0;l=(d[b+3>>0]|0)-((l+1+k|0)>>>1)|0;j=d[a+5>>0]|0;k=(d[b+4>>0]|0)-((k+1+j|0)>>>1)|0;i=d[a+6>>0]|0;j=(d[b+5>>0]|0)-((j+1+i|0)>>>1)|0;c=d[a+7>>0]|0;i=(d[b+6>>0]|0)-((i+1+c|0)>>>1)|0;c=(d[b+7>>0]|0)-((c+1+(d[a+8>>0]|0)|0)>>>1)|0;g=g+1|0;h=((o|0)>-1?o:0-o|0)+h+((n|0)>-1?n:0-n|0)+((m|0)>-1?m:0-m|0)+((l|0)>-1?l:0-l|0)+((k|0)>-1?k:0-k|0)+((j|0)>-1?j:0-j|0)+((i|0)>-1?i:0-i|0)+((c|0)>-1?c:0-c|0)|0;b=b+e|0;a=a+e|0}return h|0}function Eq(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=f<<6;q=g<<6;r=d>>1;p=d&-2;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<6;o=f+-63|0;a:do if(m<<24>>24>=1){d=63-f|0;f=0;g=c;while(1){if((f|0)==2)break a;i=g+-2|0;j=e[i>>1]|0;k=e[g+-4>>1]|0;l=e[g>>1]|0;m=e[g+2>>1]|0;t=j-l|0;if(((((t|0)>-1?t:0-t|0)|0)<(s|0)?(t=k-j|0,(((t|0)>-1?t:0-t|0)|0)<(q|0)):0)?(t=m-l|0,(((t|0)>-1?t:0-t|0)|0)<(q|0)):0){t=k+4-m+(l-j<<2)>>3;t=(t|0)<(d|0)?d:(t|0)>(o|0)?o:t;m=t+j|0;b[i>>1]=m>>>0<16384?m:0-m>>31&16383;t=l-t|0;b[g>>1]=t>>>0<16384?t:0-t>>31&16383}f=f+1|0;g=g+(r<<1)|0}}while(0);c=c+(p<<1)|0;n=n+1|0}return}function Fq(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=f<<4;r=g<<4;p=d>>1;q=p<<2;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<4;o=f+-15|0;a:do if(m<<24>>24>=1){d=15-f|0;f=0;g=c;while(1){if((f|0)==4)break a;i=g+-2|0;j=e[i>>1]|0;k=e[g+-4>>1]|0;l=e[g>>1]|0;m=e[g+2>>1]|0;t=j-l|0;if(((((t|0)>-1?t:0-t|0)|0)<(s|0)?(t=k-j|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0)?(t=m-l|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0){t=k+4-m+(l-j<<2)>>3;t=(t|0)<(d|0)?d:(t|0)>(o|0)?o:t;m=t+j|0;b[i>>1]=m>>>0<4096?m:0-m>>31&4095;t=l-t|0;b[g>>1]=t>>>0<4096?t:0-t>>31&4095}f=f+1|0;g=g+(p<<1)|0}}while(0);c=c+(q<<1)|0;n=n+1|0}return}function Gq(c,d,f,g,h,i,j,k,l,m,n,o,p,q){c=c|0;d=d|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;y=g>>>1;w=p+-1|0;x=20672+(w<<2)|0;s=d>>>1;t=j+3|0;u=20672+(w<<2)+1|0;v=20672+(w<<2)+2|0;w=20672+(w<<2)+3|0;r=g&-2;n=(n+m<<4|1)<<j+2;d=c;g=0;p=f;while(1){if((g|0)>=(i|0))break;o=0;while(1){if((o|0)>=(q|0))break;f=H(e[p+(o-y<<1)>>1]|0,a[x>>0]|0)|0;f=(H(e[p+(o<<1)>>1]|0,a[u>>0]|0)|0)+f|0;f=f+(H(e[p+(o+y<<1)>>1]|0,a[v>>0]|0)|0)|0;f=H(f+(H(e[p+(o+r<<1)>>1]|0,a[w>>0]|0)|0)>>4,l)|0;f=(H(b[h+(o<<1)>>1]|0,k)|0)+n+f>>t;b[d+(o<<1)>>1]=f>>>0<4096?f:0-f>>31&4095;o=o+1|0}h=h+128|0;d=d+(s<<1)|0;g=g+1|0;p=p+(y<<1)|0}return}function Hq(c,d,f,g,h,i,j,k,l,m,n,o,p,q){c=c|0;d=d|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;y=g>>>1;w=p+-1|0;x=20672+(w<<2)|0;s=d>>>1;t=j+5|0;u=20672+(w<<2)+1|0;v=20672+(w<<2)+2|0;w=20672+(w<<2)+3|0;r=g&-2;n=(n+m<<2|1)<<j+4;d=c;g=0;p=f;while(1){if((g|0)>=(i|0))break;o=0;while(1){if((o|0)>=(q|0))break;f=H(e[p+(o-y<<1)>>1]|0,a[x>>0]|0)|0;f=(H(e[p+(o<<1)>>1]|0,a[u>>0]|0)|0)+f|0;f=f+(H(e[p+(o+y<<1)>>1]|0,a[v>>0]|0)|0)|0;f=H(f+(H(e[p+(o+r<<1)>>1]|0,a[w>>0]|0)|0)>>2,l)|0;f=(H(b[h+(o<<1)>>1]|0,k)|0)+n+f>>t;b[d+(o<<1)>>1]=f>>>0<1024?f:0-f>>31&1023;o=o+1|0}h=h+128|0;d=d+(s<<1)|0;g=g+1|0;p=p+(y<<1)|0}return}function Iq(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=f<<2;r=g<<2;p=d>>1;q=p<<2;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<2;o=f+-3|0;a:do if(m<<24>>24>=1){d=3-f|0;f=0;g=c;while(1){if((f|0)==4)break a;i=g+-2|0;j=e[i>>1]|0;k=e[g+-4>>1]|0;l=e[g>>1]|0;m=e[g+2>>1]|0;t=j-l|0;if(((((t|0)>-1?t:0-t|0)|0)<(s|0)?(t=k-j|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0)?(t=m-l|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0){t=k+4-m+(l-j<<2)>>3;t=(t|0)<(d|0)?d:(t|0)>(o|0)?o:t;m=t+j|0;b[i>>1]=m>>>0<1024?m:0-m>>31&1023;t=l-t|0;b[g>>1]=t>>>0<1024?t:0-t>>31&1023}f=f+1|0;g=g+(p<<1)|0}}while(0);c=c+(q<<1)|0;n=n+1|0}return}function Jq(c,d,f,g,h,i,j,k,l,m,n,o,p,q){c=c|0;d=d|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;y=g>>>1;w=p+-1|0;x=20672+(w<<2)|0;s=d>>>1;t=j+6|0;u=20672+(w<<2)+1|0;v=20672+(w<<2)+2|0;w=20672+(w<<2)+3|0;r=g&-2;n=(n+m<<1|1)<<j+5;d=c;g=0;p=f;while(1){if((g|0)>=(i|0))break;o=0;while(1){if((o|0)>=(q|0))break;f=H(e[p+(o-y<<1)>>1]|0,a[x>>0]|0)|0;f=(H(e[p+(o<<1)>>1]|0,a[u>>0]|0)|0)+f|0;f=f+(H(e[p+(o+y<<1)>>1]|0,a[v>>0]|0)|0)|0;f=H(f+(H(e[p+(o+r<<1)>>1]|0,a[w>>0]|0)|0)>>1,l)|0;f=(H(b[h+(o<<1)>>1]|0,k)|0)+n+f>>t;b[d+(o<<1)>>1]=f>>>0<512?f:0-f>>31&511;o=o+1|0}h=h+128|0;d=d+(s<<1)|0;g=g+1|0;p=p+(y<<1)|0}return}function Kq(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=f<<4;q=g<<4;r=d>>1;p=d&-2;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<4;o=f+-15|0;a:do if(m<<24>>24>=1){d=15-f|0;f=0;g=c;while(1){if((f|0)==2)break a;i=g+-2|0;j=e[i>>1]|0;k=e[g+-4>>1]|0;l=e[g>>1]|0;m=e[g+2>>1]|0;t=j-l|0;if(((((t|0)>-1?t:0-t|0)|0)<(s|0)?(t=k-j|0,(((t|0)>-1?t:0-t|0)|0)<(q|0)):0)?(t=m-l|0,(((t|0)>-1?t:0-t|0)|0)<(q|0)):0){t=k+4-m+(l-j<<2)>>3;t=(t|0)<(d|0)?d:(t|0)>(o|0)?o:t;m=t+j|0;b[i>>1]=m>>>0<4096?m:0-m>>31&4095;t=l-t|0;b[g>>1]=t>>>0<4096?t:0-t>>31&4095}f=f+1|0;g=g+(r<<1)|0}}while(0);c=c+(p<<1)|0;n=n+1|0}return}function Lq(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=f<<2;q=g<<2;r=d>>1;p=d&-2;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<2;o=f+-3|0;a:do if(m<<24>>24>=1){d=3-f|0;f=0;g=c;while(1){if((f|0)==2)break a;i=g+-2|0;j=e[i>>1]|0;k=e[g+-4>>1]|0;l=e[g>>1]|0;m=e[g+2>>1]|0;t=j-l|0;if(((((t|0)>-1?t:0-t|0)|0)<(s|0)?(t=k-j|0,(((t|0)>-1?t:0-t|0)|0)<(q|0)):0)?(t=m-l|0,(((t|0)>-1?t:0-t|0)|0)<(q|0)):0){t=k+4-m+(l-j<<2)>>3;t=(t|0)<(d|0)?d:(t|0)>(o|0)?o:t;m=t+j|0;b[i>>1]=m>>>0<1024?m:0-m>>31&1023;t=l-t|0;b[g>>1]=t>>>0<1024?t:0-t>>31&1023}f=f+1|0;g=g+(r<<1)|0}}while(0);c=c+(p<<1)|0;n=n+1|0}return}function Mq(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=f<<1;r=g<<1;p=d>>1;q=p<<2;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<1;o=f+-1|0;a:do if(m<<24>>24>=1){d=1-f|0;f=0;g=c;while(1){if((f|0)==4)break a;i=g+-2|0;j=e[i>>1]|0;k=e[g+-4>>1]|0;l=e[g>>1]|0;m=e[g+2>>1]|0;t=j-l|0;if(((((t|0)>-1?t:0-t|0)|0)<(s|0)?(t=k-j|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0)?(t=m-l|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0){t=k+4-m+(l-j<<2)>>3;t=(t|0)<(d|0)?d:(t|0)>(o|0)?o:t;m=t+j|0;b[i>>1]=m>>>0<512?m:0-m>>31&511;t=l-t|0;b[g>>1]=t>>>0<512?t:0-t>>31&511}f=f+1|0;g=g+(p<<1)|0}}while(0);c=c+(q<<1)|0;n=n+1|0}return}function Nq(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=f<<1;q=g<<1;r=d>>1;p=d&-2;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<1;o=f+-1|0;a:do if(m<<24>>24>=1){d=1-f|0;f=0;g=c;while(1){if((f|0)==2)break a;i=g+-2|0;j=e[i>>1]|0;k=e[g+-4>>1]|0;l=e[g>>1]|0;m=e[g+2>>1]|0;t=j-l|0;if(((((t|0)>-1?t:0-t|0)|0)<(s|0)?(t=k-j|0,(((t|0)>-1?t:0-t|0)|0)<(q|0)):0)?(t=m-l|0,(((t|0)>-1?t:0-t|0)|0)<(q|0)):0){t=k+4-m+(l-j<<2)>>3;t=(t|0)<(d|0)?d:(t|0)>(o|0)?o:t;m=t+j|0;b[i>>1]=m>>>0<512?m:0-m>>31&511;t=l-t|0;b[g>>1]=t>>>0<512?t:0-t>>31&511}f=f+1|0;g=g+(r<<1)|0}}while(0);c=c+(p<<1)|0;n=n+1|0}return}function Oq(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;n=Mb;Mb=Mb+48|0;k=n+40|0;m=n+32|0;l=n+24|0;j=n+16|0;i=n+8|0;h=n;if((b|0)<1)b=DD(d,e)|0;f=0;while(1){if(f>>>0>=28){g=9;break}if((b|0)==(c[93424+(f<<4)+4>>2]|0)?(g=93424+(f<<4)+8|0,(c[g>>2]|0)==(d|0)?(c[g+4>>2]|0)==(e|0):0):0){g=7;break}f=f+1|0}if((g|0)==7){c[h>>2]=c[93424+(f<<4)>>2];Bz(a,211206,h)}else if((g|0)==9?(c[i>>2]=b,Bz(a,211209,i),!((d|0)==0&(e|0)==0)):0){Bz(a,211221,j);b=0;g=0;while(1){if((g|0)==64)break;j=_U(1,0,g|0)|0;if(!((j&d|0)==0&((M()|0)&e|0)==0)){f=hZ(g)|0;if(f|0){if((b|0)>0)Bz(a,211224,l);c[m>>2]=f;Bz(a,211206,m)}b=b+1|0}g=g+1|0}Bz(a,211226,k)}Mb=n;return}function Pq(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=RD((nA(c[b>>2]|0)|0)+1|0)|0;f=c[b>>2]|0;if(!e)e=0;else{g=f+(Hr(f,210539)|0)|0;h=e;f=e;a:while(1){b:while(1){i=a[g>>0]|0;if(!(i<<24>>24))break a;if(Hr(g,d)|0)break a;j=g+1|0;switch(i<<24>>24){case 39:{i=8;break b}case 92:{k=a[j>>0]|0;if(k<<24>>24){i=10;break b}break}default:{}}a[f>>0]=i;g=j;f=f+1|0}if((i|0)==8){while(1){g=a[j>>0]|0;k=g<<24>>24==0;i=j+1|0;if(!(k^g<<24>>24!=39))break;a[f>>0]=g;j=i;f=f+1|0}g=k?j:i;h=k?h:f}else if((i|0)==10){j=f+1|0;a[f>>0]=k;g=g+2|0;h=j;f=j}}do{a[f>>0]=0;f=f+-1|0;if(f>>>0<h>>>0)break}while((Hr(f,210539)|0)!=0);c[b>>2]=g}return e|0}function Qq(a){a=a|0;var d=0,e=0,g=0,h=0,i=0;h=Mb;Mb=Mb+16|0;e=c[a+60>>2]|0;a:do if((c[a+420>>2]|0)>=1){g=a+48|0;b:do switch(c[g>>2]|0){case 65543:{d=0;while(1){if((d|0)==256)break b;i=(vU(d&255)|0)&65535;b[e+(d<<1)>>1]=i;d=d+1|0}}case 65542:{d=0;while(1){if((d|0)==256)break b;i=(DX(d&255)|0)&65535;b[e+(d<<1)>>1]=i;d=d+1|0}}case 67587:case 67586:{f[e+516>>2]=1.0/+(1<<(c[a+784>>2]|0)+-1|0);i=pK(0)|0;c[e+512>>2]=i;if(!i){d=-12;break a}break}default:{}}while(0);i=c[c[(c[a+12>>2]|0)+32>>2]>>2]|0;c[a+424>>2]=i;if((i|0)==2){d=lQ(c[g>>2]|0)|0;c[a+788>>2]=d;d=0}else d=0}else{AD(a,16,193186,h);d=-22}while(0);Mb=h;return d|0}function Rq(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,o=0,p=0;o=c+e|0;m=f+g|0;n=b+29|0;g=a[n>>0]|0;h=g&255;a:do if((c+h+1|0)>>>0<o>>>0){l=m;e=f;j=0;i=h;while(1){k=0;h=0;do{k=k<<8|(d[c+(h&255)>>0]|0);h=h+1<<24>>24}while((g&255)>=(h&255));h=c+(i+1)|0;c=h+k|0;if(c>>>0>o>>>0){e=0;break a}if(j<<24>>24==0&(a[h>>0]&112)==32){g=Ww(b,e,l-e|0)|0;if((g|0)<1){e=0;break a}j=1;e=e+g|0}if((e+k+4|0)>>>0>m>>>0){e=0;break a}a[e>>0]=0;a[e+1>>0]=0;a[e+2>>0]=0;a[e+3>>0]=1;Mn(e+4|0,h|0,k|0)|0;e=e+(k+4)|0;g=a[n>>0]|0;i=g&255;if((c+i+1|0)>>>0>=o>>>0){p=11;break}}}else{e=f;p=11}while(0);if((p|0)==11)e=e-f|0;return e|0}function Sq(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;m=Mb;Mb=Mb+64|0;g=m+48|0;j=m+32|0;k=m+16|0;l=m;f=c[a+4>>2]|0;if(((c[f+92>>2]&8|0)==0?(c[f+96>>2]&4194304|0)==0:0)?(c[d+644>>2]|0)==0:0)f=0;else{do if(!(c[f+704>>2]|0)){h=(c[d+76>>2]|0)==2147483647;if(!h?(c[d+80>>2]|0)!=2147483647:0)break;i=c[d>>2]|0;n=h&1;c[g>>2]=n;AD(f,48,174428,g);g=0-(n^1)|0;f=0;while(1){if((f|0)==4)break;o=i+(f<<2)|0;n=c[i+32+(f<<2)>>2]|0;c[j+(f<<2)>>2]=(c[o>>2]|0)+(n&g);c[l+(f<<2)>>2]=(c[o>>2]|0)+(h?n:0);c[k+(f<<2)>>2]=n<<1;f=f+1|0}jD(j,k,l,k,c[i+80>>2]|0,c[i+68>>2]|0,c[i+72>>2]>>1)}while(0);f=xD(a,b,d)|0;if((f|0)>=0){c[e>>2]=1;f=0}}Mb=m;return f|0}function Tq(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;i=Mb;Mb=Mb+16|0;g=i;if(b>>>0>e>>>0){c[g>>2]=195960;c[g+4>>2]=193976;c[g+8>>2]=2171;AD(0,0,222515,g);ba()}a:do if(b>>>0<e>>>0){h=0;while(1){if(h>>>0>=3)break;j=c[f>>2]<<8;g=b+1|0;c[f>>2]=j|d[b>>0];if((g|0)==(e|0)|(j|0)==256){e=g;break a}else{h=h+1|0;b=g}}b:while(1){if(b>>>0>=e>>>0)break;j=a[b+-1>>0]|0;g=j&255;do if((j&255)<=1)if(!(a[b+-2>>0]|0)){h=b+1|0;if(!(g+-1|d[b+-3>>0])){b=h;break b}else{b=h;break}}else{b=b+2|0;break}else b=b+3|0;while(0)}e=b>>>0>e>>>0?e:b;j=e+-4|0;j=W_(d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24|0)|0;c[f>>2]=j}while(0);Mb=i;return e|0}function Uq(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;m=d+8|0;n=e+8|0;o=d+12|0;p=e+12|0;q=d+16|0;r=e+16|0;h=d+4|0;i=e+28|0;j=d+20|0;k=e+44|0;l=a+4|0;g=0;while(1){if((g|0)>=(f|0))break;s=H(c[n>>2]|0,b[(c[m>>2]|0)+(g<<1)>>1]|0)|0;s=(H(c[p>>2]|0,b[(c[o>>2]|0)+(g<<1)>>1]|0)|0)+s|0;u=H(c[e>>2]|0,b[(c[d>>2]|0)+(g<<1)>>1]|0)|0;s=s+16384|0;u=s+u+(H(c[r>>2]|0,b[(c[q>>2]|0)+(g<<1)>>1]|0)|0)|0;t=u>>15;b[(c[a>>2]|0)+(g<<1)>>1]=(t+32768|0)>>>0>65535?u>>31^32767:t;t=H(c[i>>2]|0,b[(c[h>>2]|0)+(g<<1)>>1]|0)|0;t=s+t+(H(c[k>>2]|0,b[(c[j>>2]|0)+(g<<1)>>1]|0)|0)|0;s=t>>15;b[(c[l>>2]|0)+(g<<1)>>1]=(s+32768|0)>>>0>65535?t>>31^32767:s;g=g+1|0}return}function Vq(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;h=f>>1;if(!b){b=e[a+-2>>1]|0;d=b}else{d=e[a+-2>>1]|0;b=e[a+(~h<<1)>>1]|0}o=e[a+(h+-1<<1)>>1]|0;n=o+2|0;m=e[a+((f&-2)+-1<<1)>>1]|0;l=m+2|0;k=e[a+((h*3|0)+-1<<1)>>1]|0;j=e[a+((h<<2)+-1<<1)>>1]|0;i=e[a+((h*5|0)+-1<<1)>>1]|0;g=e[a+((h*6|0)+-1<<1)>>1]|0;f=e[a+((h*7|0)+-1<<1)>>1]|0;f=((n+b+(d<<1)|0)>>>2)+4+((l+d+(o<<1)|0)>>>2)+((n+(m<<1)+k|0)>>>2)+((l+(k<<1)+j|0)>>>2)+((k+2+(j<<1)+i|0)>>>2)+((j+2+(i<<1)+g|0)>>>2)+((g+2+(f*3|0)|0)>>>2)+((i+2+(g<<1)+f|0)>>>2)>>3;f=MR(f|0,((f|0)<0)<<31>>31|0,65537,65537)|0;g=M()|0;b=0;d=a;while(1){if((b|0)==8)break;o=d;c[o>>2]=f;c[o+4>>2]=g;o=d+8|0;c[o>>2]=f;c[o+4>>2]=g;b=b+1|0;d=d+(h<<1)|0}return}function Wq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;h=Mb;Mb=Mb+16|0;e=h;if((b|0)<=0){c[e>>2]=217429;c[e+4>>2]=217405;c[e+8>>2]=172;AD(0,0,222515,e);ba()}c[a+12>>2]=b;f=c[a+4>>2]|0;e=a+8|0;c[e>>2]=(f|0)<(b|0)?f:b;c[a+16>>2]=0;c[a+20>>2]=c[e>>2];f=a+116|0;d=(d|0)!=0;b=(c[e>>2]|0)+((d&(c[f>>2]|0)!=0^1)<<31>>31)|0;e=0;while(1){if((e|0)>=(b|0))break;j=c[a>>2]|0;i=j+(e*88|0)+4|0;d2(i)|0;c[j+(e*88|0)+84>>2]=0;xb(j+(e*88|0)+32|0)|0;d2(i)|0;e=e+1|0}b=c[f>>2]|0;if(!(d&(b|0)!=0)){if(!(qD(a)|0))g=9}else{dc[b&63](c[a+108>>2]|0);g=9}if((g|0)==9){e=a+24|0;d2(e)|0;d=a+100|0;b=a+52|0;while(1){if(c[d>>2]|0)break;yb(b|0,e|0)|0}c[d>>2]=0;d2(e)|0}Mb=h;return}function Xq(c,d,f,g,h,i,j,k,l,m,n,o,p,q){c=c|0;d=d|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;x=g>>>1;w=d>>>1;v=o+-1|0;r=20672+(v<<2)|0;s=j+3|0;t=20672+(v<<2)+1|0;u=20672+(v<<2)+2|0;v=20672+(v<<2)+3|0;n=(n+m<<4|1)<<j+2;d=c;o=0;g=f;while(1){if((o|0)>=(i|0))break;p=0;while(1){if((p|0)>=(q|0))break;c=H(e[g+(p+-1<<1)>>1]|0,a[r>>0]|0)|0;c=(H(e[g+(p<<1)>>1]|0,a[t>>0]|0)|0)+c|0;f=p+1|0;c=c+(H(e[g+(f<<1)>>1]|0,a[u>>0]|0)|0)|0;c=H(c+(H(e[g+(p+2<<1)>>1]|0,a[v>>0]|0)|0)>>4,l)|0;c=(H(b[h+(p<<1)>>1]|0,k)|0)+n+c>>s;b[d+(p<<1)>>1]=c>>>0<4096?c:0-c>>31&4095;p=f}h=h+128|0;d=d+(w<<1)|0;o=o+1|0;g=g+(x<<1)|0}return}function Yq(c,d,f,g,h,i,j,k,l,m,n,o,p,q){c=c|0;d=d|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;x=g>>>1;w=d>>>1;v=o+-1|0;r=20672+(v<<2)|0;s=j+5|0;t=20672+(v<<2)+1|0;u=20672+(v<<2)+2|0;v=20672+(v<<2)+3|0;n=(n+m<<2|1)<<j+4;d=c;o=0;g=f;while(1){if((o|0)>=(i|0))break;p=0;while(1){if((p|0)>=(q|0))break;c=H(e[g+(p+-1<<1)>>1]|0,a[r>>0]|0)|0;c=(H(e[g+(p<<1)>>1]|0,a[t>>0]|0)|0)+c|0;f=p+1|0;c=c+(H(e[g+(f<<1)>>1]|0,a[u>>0]|0)|0)|0;c=H(c+(H(e[g+(p+2<<1)>>1]|0,a[v>>0]|0)|0)>>2,l)|0;c=(H(b[h+(p<<1)>>1]|0,k)|0)+n+c>>s;b[d+(p<<1)>>1]=c>>>0<1024?c:0-c>>31&1023;p=f}h=h+128|0;d=d+(w<<1)|0;o=o+1|0;g=g+(x<<1)|0}return}function Zq(b,c,e){b=b|0;c=c|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;j=d[b+~e>>0]|0;o=d[b+(0-e)>>0]|0;m=d[b+(1-e)>>0]|0;l=d[b+(2-e)>>0]|0;k=d[b+(3-e)>>0]|0;h=d[b+-1>>0]|0;g=d[b+(e+-1)>>0]|0;i=e<<1;f=d[b+(i+-1)>>0]|0;c=e*3|0;n=o+1|0;p=(n+j|0)>>>1&255;a[b+(i|1)>>0]=p;a[b>>0]=p;n=(n+m|0)>>>1&255;a[b+(i+2)>>0]=n;a[b+1>>0]=n;n=(m+1+l|0)>>>1&255;a[b+(i+3)>>0]=n;a[b+2>>0]=n;a[b+3>>0]=(l+1+k|0)>>>1;n=o+2|0;p=(n+(j<<1)+h|0)>>>2&255;a[b+(c+1)>>0]=p;a[b+e>>0]=p;j=j+2|0;o=(j+(o<<1)+m|0)>>>2&255;a[b+(c+2)>>0]=o;a[b+(e+1)>>0]=o;n=(n+(m<<1)+l|0)>>>2&255;a[b+(c+3)>>0]=n;a[b+(e+2)>>0]=n;a[b+(e+3)>>0]=(m+2+(l<<1)+k|0)>>>2;a[b+i>>0]=(j+(h<<1)+g|0)>>>2;a[b+c>>0]=(h+2+(g<<1)+f|0)>>>2;return}function _q(c,d,f,g,h,i,j,k,l,m,n,o,p,q){c=c|0;d=d|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;x=g>>>1;w=d>>>1;v=o+-1|0;r=20672+(v<<2)|0;s=j+6|0;t=20672+(v<<2)+1|0;u=20672+(v<<2)+2|0;v=20672+(v<<2)+3|0;n=(n+m<<1|1)<<j+5;d=c;o=0;g=f;while(1){if((o|0)>=(i|0))break;p=0;while(1){if((p|0)>=(q|0))break;c=H(e[g+(p+-1<<1)>>1]|0,a[r>>0]|0)|0;c=(H(e[g+(p<<1)>>1]|0,a[t>>0]|0)|0)+c|0;f=p+1|0;c=c+(H(e[g+(f<<1)>>1]|0,a[u>>0]|0)|0)|0;c=H(c+(H(e[g+(p+2<<1)>>1]|0,a[v>>0]|0)|0)>>1,l)|0;c=(H(b[h+(p<<1)>>1]|0,k)|0)+n+c>>s;b[d+(p<<1)>>1]=c>>>0<512?c:0-c>>31&511;p=f}h=h+128|0;d=d+(w<<1)|0;o=o+1|0;g=g+(x<<1)|0}return}function $q(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0;j=1;while(1){if((j|0)==3)break;k=j<<4;m=k|4;n=e+(j+-1<<2)|0;while(1){if(k>>>0>=m>>>0)break;if(!(a[i+(d[91792+k>>0]|0)>>0]|0)){l=g+(k<<4<<1)|0;if(b[l>>1]|0)vE((c[n>>2]|0)+(c[f+(k<<2)>>2]|0)|0,l,h)}else Hn((c[n>>2]|0)+(c[f+(k<<2)>>2]|0)|0,g+(k<<4<<1)|0,h);k=k+1|0}j=j+1|0}j=1;while(1){if((j|0)==3)break;k=j<<4;l=k|8;m=e+(j+-1<<2)|0;k=k|4;while(1){if(k>>>0>=l>>>0)break;n=k+4|0;if(!(a[i+(d[91792+n>>0]|0)>>0]|0)){o=g+(k<<4<<1)|0;if(b[o>>1]|0)vE((c[m>>2]|0)+(c[f+(n<<2)>>2]|0)|0,o,h)}else Hn((c[m>>2]|0)+(c[f+(n<<2)>>2]|0)|0,g+(k<<4<<1)|0,h);k=k+1|0}j=j+1|0}return}function ar(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;k=d[b+~e>>0]|0;p=d[b+(0-e)>>0]|0;n=d[b+(1-e)>>0]|0;m=d[b+(2-e)>>0]|0;j=d[b+-1>>0]|0;h=d[b+(e+-1)>>0]|0;i=e<<1;g=d[b+(i+-1)>>0]|0;c=e*3|0;f=d[b+(c+-1)>>0]|0;l=j+1|0;o=(l+k|0)>>>1&255;a[b+(e+2)>>0]=o;a[b>>0]=o;o=p+2|0;q=(o+(k<<1)+j|0)>>>2&255;a[b+(e+3)>>0]=q;a[b+1>>0]=q;k=k+2|0;a[b+2>>0]=(k+(p<<1)+n|0)>>>2;a[b+3>>0]=(o+(n<<1)+m|0)>>>2;l=(l+h|0)>>>1&255;a[b+(i+2)>>0]=l;a[b+e>>0]=l;k=(k+(j<<1)+h|0)>>>2&255;a[b+(i+3)>>0]=k;a[b+(e+1)>>0]=k;e=(h+1+g|0)>>>1&255;a[b+(c+2)>>0]=e;a[b+i>>0]=e;e=(j+2+(h<<1)+g|0)>>>2&255;a[b+(c+3)>>0]=e;a[b+(i|1)>>0]=e;a[b+c>>0]=(g+1+f|0)>>>1;a[b+(c+1)>>0]=(h+2+(g<<1)+f|0)>>>2;return}function br(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;h=0;while(1){if((h|0)==5)break;g=0;while(1){if((g|0)==38)break;i=g+6|0;c[d+(h*352|0)+(i<<3)>>2]=c[e+(g<<8)+(h<<2)>>2];c[d+(h*352|0)+(i<<3)+4>>2]=c[e+9728+(g<<8)+(h<<2)>>2];g=g+1|0}h=h+1|0}if(!f){wp(a,d,b);tv(d+352|0,b+1536|0,1);tv(d+704|0,b+2048|0,0);hc[c[a+12>>2]&255](b+1792|0,e,3,32)}else{pP(a,d,b,1075936,12);pP(a,d+352|0,b+3072|0,1076704,8);pP(a,d+704|0,b+5120|0,1077216,4);pP(a,d+1056|0,b+6144|0,1077216,4);pP(a,d+1408|0,b+7168|0,1077216,4);hc[c[a+12>>2]&255](b+6912|0,e,5,32)}g=0;while(1){if((g|0)==5)break;h=d+(g*352|0)|0;a=d+(g*352|0)+256|0;b=h+48|0;do{c[h>>2]=c[a>>2];h=h+4|0;a=a+4|0}while((h|0)<(b|0));g=g+1|0}return}function cr(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;i=1;while(1){if((i|0)==3)break;j=i<<4;k=j|4;l=b+(i+-1<<2)|0;while(1){if(j>>>0>=k>>>0)break;if(!(a[h+(d[91792+j>>0]|0)>>0]|0)){if(c[f+(j<<4<<2)>>2]|0)lD((c[l>>2]|0)+(c[e+(j<<2)>>2]|0)|0,f+(j<<5<<1)|0,g)}else Ym((c[l>>2]|0)+(c[e+(j<<2)>>2]|0)|0,f+(j<<5<<1)|0,g);j=j+1|0}i=i+1|0}i=1;while(1){if((i|0)==3)break;j=i<<4;k=j|8;l=b+(i+-1<<2)|0;j=j|4;while(1){if(j>>>0>=k>>>0)break;m=j+4|0;if(!(a[h+(d[91792+m>>0]|0)>>0]|0)){if(c[f+(j<<4<<2)>>2]|0)lD((c[l>>2]|0)+(c[e+(m<<2)>>2]|0)|0,f+(j<<5<<1)|0,g)}else Ym((c[l>>2]|0)+(c[e+(m<<2)>>2]|0)|0,f+(j<<5<<1)|0,g);j=j+1|0}i=i+1|0}return}function dr(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;i=1;while(1){if((i|0)==3)break;j=i<<4;k=j|4;l=b+(i+-1<<2)|0;while(1){if(j>>>0>=k>>>0)break;if(!(a[h+(d[91792+j>>0]|0)>>0]|0)){if(c[f+(j<<4<<2)>>2]|0)mD((c[l>>2]|0)+(c[e+(j<<2)>>2]|0)|0,f+(j<<5<<1)|0,g)}else _m((c[l>>2]|0)+(c[e+(j<<2)>>2]|0)|0,f+(j<<5<<1)|0,g);j=j+1|0}i=i+1|0}i=1;while(1){if((i|0)==3)break;j=i<<4;k=j|8;l=b+(i+-1<<2)|0;j=j|4;while(1){if(j>>>0>=k>>>0)break;m=j+4|0;if(!(a[h+(d[91792+m>>0]|0)>>0]|0)){if(c[f+(j<<4<<2)>>2]|0)mD((c[l>>2]|0)+(c[e+(m<<2)>>2]|0)|0,f+(j<<5<<1)|0,g)}else _m((c[l>>2]|0)+(c[e+(m<<2)>>2]|0)|0,f+(j<<5<<1)|0,g);j=j+1|0}i=i+1|0}return}function er(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;i=1;while(1){if((i|0)==3)break;j=i<<4;k=j|4;l=b+(i+-1<<2)|0;while(1){if(j>>>0>=k>>>0)break;if(!(a[h+(d[91792+j>>0]|0)>>0]|0)){if(c[f+(j<<4<<2)>>2]|0)nD((c[l>>2]|0)+(c[e+(j<<2)>>2]|0)|0,f+(j<<5<<1)|0,g)}else $m((c[l>>2]|0)+(c[e+(j<<2)>>2]|0)|0,f+(j<<5<<1)|0,g);j=j+1|0}i=i+1|0}i=1;while(1){if((i|0)==3)break;j=i<<4;k=j|8;l=b+(i+-1<<2)|0;j=j|4;while(1){if(j>>>0>=k>>>0)break;m=j+4|0;if(!(a[h+(d[91792+m>>0]|0)>>0]|0)){if(c[f+(j<<4<<2)>>2]|0)nD((c[l>>2]|0)+(c[e+(m<<2)>>2]|0)|0,f+(j<<5<<1)|0,g)}else $m((c[l>>2]|0)+(c[e+(m<<2)>>2]|0)|0,f+(j<<5<<1)|0,g);j=j+1|0}i=i+1|0}return}function fr(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;k=Mb;Mb=Mb+16|0;j=k+8|0;f=k;h=k+12|0;i=l1(d)|0;c[b+12>>2]=e;c[b+8>>2]=1;do if((e|2|0)==2)if(!(yw(a,b,d)|0))g=8;else tS(b);else{if((e|0)!=1){l=c[a+4>>2]|0;c[f>>2]=e;AD(l,16,198691,f);tS(b);break}if(!(Ui(a,b,d)|0))g=8;else tS(b)}while(0);if((g|0)==8?mT(d)|0:0){e=HG(d,4)|0;c[h>>2]=e;if((e|0)==15){e=(HG(d,8)|0)+15|0;c[h>>2]=e}e=e<<3;c[h>>2]=e;while(1){if((e|0)<=7)break;c[h>>2]=e+-2;Rt(a,b,d,HG(d,2)|0,h);e=c[h>>2]|0}if((e|0)>=0){if(e|0)eW(d,e)}else AD(c[a+4>>2]|0,16,198748,j)}l=(l1(d)|0)-i|0;Mb=k;return l|0}function gr(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;k=Mb;Mb=Mb+32|0;j=k;i=k+8|0;c[i>>2]=c[d>>2];c[i+4>>2]=c[d+4>>2];c[i+8>>2]=c[d+8>>2];c[i+12>>2]=c[d+12>>2];c[i+16>>2]=c[d+16>>2];fS(d,(f<<3)+-4|0);h=b+16|0;c[h>>2]=0;if(!(c[b>>2]|0))c[b>>2]=c[a+6480>>2]<<1;d=a+6500|0;if(!(c[d>>2]|0))c[d>>2]=c[a+6480>>2]<<1;if(!e)d=1;else{eW(i,10);d=11}c[b+72>>2]=c[b+76>>2];c[b+80>>2]=c[b+84>>2];c[b+88>>2]=1;if(mT(i)|0)d=(bn(b,i)|0)+d|0;if(c[h>>2]|0)VP(a,b);if(c[b+4>>2]|0)d=(fr(a,b,i,g)|0)+d|0;d=(d+4+(4-d&7)|0)>>>3;if(d>>>0>f>>>0){a=c[a+4>>2]|0;c[j>>2]=f;c[j+4>>2]=d;AD(a,16,198642,j);tS(b)}Mb=k;return f|0}function hr(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;i=1;while(1){if((i|0)==3)break;j=i<<4;k=j|4;l=b+(i+-1<<2)|0;while(1){if(j>>>0>=k>>>0)break;if(!(a[h+(d[91792+j>>0]|0)>>0]|0)){if(c[f+(j<<4<<2)>>2]|0)tD((c[l>>2]|0)+(c[e+(j<<2)>>2]|0)|0,f+(j<<5<<1)|0,g)}else cn((c[l>>2]|0)+(c[e+(j<<2)>>2]|0)|0,f+(j<<5<<1)|0,g);j=j+1|0}i=i+1|0}i=1;while(1){if((i|0)==3)break;j=i<<4;k=j|8;l=b+(i+-1<<2)|0;j=j|4;while(1){if(j>>>0>=k>>>0)break;m=j+4|0;if(!(a[h+(d[91792+m>>0]|0)>>0]|0)){if(c[f+(j<<4<<2)>>2]|0)tD((c[l>>2]|0)+(c[e+(m<<2)>>2]|0)|0,f+(j<<5<<1)|0,g)}else cn((c[l>>2]|0)+(c[e+(m<<2)>>2]|0)|0,f+(j<<5<<1)|0,g);j=j+1|0}i=i+1|0}return}function ir(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;k=c[b>>2]|0;j=k+32|0;k=k+20|0;h=0;a:while(1){if((h|0)>=(f|0)){b=-100;break}b=j;g=c[b>>2]|0;b=c[b+4>>2]|0;o=_U(g|0,b|0,8)|0;n=M()|0;i=e+h|0;m=j;c[m>>2]=o|d[i>>0];c[m+4>>2]=n;b:do if((g&-65536|0)==65536&(b&255|0)==0){b=kV(g|0,b|0,9)|0;M()|0;g=b&63;switch(b&63){case 32:case 33:case 34:case 35:case 36:case 37:case 39:break;default:if(!((b&56|0)==48|(g+-41|0)>>>0<4)){if(!(g>>>0<10|(g+-16|0)>>>0<6))break b;if((a[i>>0]|0)>=0)break b;if(c[k>>2]|0){l=12;break a}c[k>>2]=1;break b}}if(c[k>>2]|0){l=12;break a}}while(0);h=h+1|0}if((l|0)==12){c[k>>2]=0;b=h+-5|0}return b|0}function jr(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;j=d>>1;n=e[a+(1-j<<1)>>1]|0;m=e[a+(2-j<<1)>>1]|0;h=e[a+(3-j<<1)>>1]|0;k=e[c>>1]|0;i=e[c+2>>1]|0;g=e[c+4>>1]|0;f=e[c+6>>1]|0;c=m+2|0;b[a>>1]=(c+(e[a+(0-j<<1)>>1]|0)+(n<<1)|0)>>>2;l=h+2|0;m=(l+n+(m<<1)|0)>>>2&65535;b[a+(j<<1)>>1]=m;b[a+2>>1]=m;c=(c+k+(h<<1)|0)>>>2&65535;h=d&-2;b[a+(h<<1)>>1]=c;b[a+(j+1<<1)>>1]=c;b[a+4>>1]=c;l=(l+i+(k<<1)|0)>>>2&65535;c=j*3|0;b[a+(c<<1)>>1]=l;b[a+((d|1)<<1)>>1]=l;b[a+(j+2<<1)>>1]=l;b[a+6>>1]=l;d=(k+2+g+(i<<1)|0)>>>2&65535;b[a+(c+1<<1)>>1]=d;b[a+(h+2<<1)>>1]=d;b[a+(j+3<<1)>>1]=d;d=(i+2+f+(g<<1)|0)>>>2&65535;b[a+(c+2<<1)>>1]=d;b[a+(h+3<<1)>>1]=d;b[a+(c+3<<1)>>1]=(g+2+(f*3|0)|0)>>>2;return}function kr(c,d,f,g,h){c=c|0;d=d|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;q=f<<6;p=g<<6;o=d>>1;m=0;while(1){if((m|0)==4)break;l=a[h+m>>0]|0;f=l<<24>>24<<6;n=f+-63|0;a:do if(l<<24>>24>=1){l=63-f|0;f=1;k=c;while(1){if(!f)break a;f=k+-2|0;g=e[f>>1]|0;d=e[k+-4>>1]|0;i=e[k>>1]|0;j=e[k+2>>1]|0;r=g-i|0;if(((((r|0)>-1?r:0-r|0)|0)<(q|0)?(r=d-g|0,(((r|0)>-1?r:0-r|0)|0)<(p|0)):0)?(r=j-i|0,(((r|0)>-1?r:0-r|0)|0)<(p|0)):0){r=d+4-j+(i-g<<2)>>3;r=(r|0)<(l|0)?l:(r|0)>(n|0)?n:r;j=r+g|0;b[f>>1]=j>>>0<16384?j:0-j>>31&16383;r=i-r|0;b[k>>1]=r>>>0<16384?r:0-r>>31&16383}f=0;k=k+(o<<1)|0}}while(0);c=c+(o<<1)|0;m=m+1|0}return}function lr(c,d,f,g,h){c=c|0;d=d|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;q=f<<4;p=g<<4;o=d>>1;m=0;while(1){if((m|0)==4)break;l=a[h+m>>0]|0;f=l<<24>>24<<4;n=f+-15|0;a:do if(l<<24>>24>=1){l=15-f|0;f=1;k=c;while(1){if(!f)break a;f=k+-2|0;g=e[f>>1]|0;d=e[k+-4>>1]|0;i=e[k>>1]|0;j=e[k+2>>1]|0;r=g-i|0;if(((((r|0)>-1?r:0-r|0)|0)<(q|0)?(r=d-g|0,(((r|0)>-1?r:0-r|0)|0)<(p|0)):0)?(r=j-i|0,(((r|0)>-1?r:0-r|0)|0)<(p|0)):0){r=d+4-j+(i-g<<2)>>3;r=(r|0)<(l|0)?l:(r|0)>(n|0)?n:r;j=r+g|0;b[f>>1]=j>>>0<4096?j:0-j>>31&4095;r=i-r|0;b[k>>1]=r>>>0<4096?r:0-r>>31&4095}f=0;k=k+(o<<1)|0}}while(0);c=c+(o<<1)|0;m=m+1|0}return}function mr(c,d,f,g,h){c=c|0;d=d|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;q=f<<2;p=g<<2;o=d>>1;m=0;while(1){if((m|0)==4)break;l=a[h+m>>0]|0;f=l<<24>>24<<2;n=f+-3|0;a:do if(l<<24>>24>=1){l=3-f|0;f=1;k=c;while(1){if(!f)break a;f=k+-2|0;g=e[f>>1]|0;d=e[k+-4>>1]|0;i=e[k>>1]|0;j=e[k+2>>1]|0;r=g-i|0;if(((((r|0)>-1?r:0-r|0)|0)<(q|0)?(r=d-g|0,(((r|0)>-1?r:0-r|0)|0)<(p|0)):0)?(r=j-i|0,(((r|0)>-1?r:0-r|0)|0)<(p|0)):0){r=d+4-j+(i-g<<2)>>3;r=(r|0)<(l|0)?l:(r|0)>(n|0)?n:r;j=r+g|0;b[f>>1]=j>>>0<1024?j:0-j>>31&1023;r=i-r|0;b[k>>1]=r>>>0<1024?r:0-r>>31&1023}f=0;k=k+(o<<1)|0}}while(0);c=c+(o<<1)|0;m=m+1|0}return}function nr(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,o=0,p=0,q=0,r=0,s=0,t=0;r=0-c|0;s=H(c,-2)|0;h=0;while(1){if((h|0)==4)break;p=a[g+h>>0]|0;q=p<<24>>24;a:do if(p<<24>>24>=1){k=0-q|0;i=0;j=b;while(1){if((i|0)==2)break a;l=j+r|0;m=d[l>>0]|0;n=d[j+s>>0]|0;o=d[j>>0]|0;p=d[j+c>>0]|0;t=m-o|0;if(((((t|0)>-1?t:0-t|0)|0)<(e|0)?(t=n-m|0,(((t|0)>-1?t:0-t|0)|0)<(f|0)):0)?(t=p-o|0,(((t|0)>-1?t:0-t|0)|0)<(f|0)):0){t=n+4-p+(o-m<<2)>>3;t=(t|0)<(k|0)?k:(t|0)>(q|0)?q:t;p=t+m|0;a[l>>0]=p>>>0>255?0-p>>31:p;t=o-t|0;a[j>>0]=t>>>0>255?0-t>>31:t}i=i+1|0;j=j+1|0}}while(0);b=b+2|0;h=h+1|0}return}function or(c,d,f,g,h){c=c|0;d=d|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;q=f<<1;p=g<<1;o=d>>1;m=0;while(1){if((m|0)==4)break;l=a[h+m>>0]|0;f=l<<24>>24<<1;n=f+-1|0;a:do if(l<<24>>24>=1){l=1-f|0;f=1;k=c;while(1){if(!f)break a;f=k+-2|0;g=e[f>>1]|0;d=e[k+-4>>1]|0;i=e[k>>1]|0;j=e[k+2>>1]|0;r=g-i|0;if(((((r|0)>-1?r:0-r|0)|0)<(q|0)?(r=d-g|0,(((r|0)>-1?r:0-r|0)|0)<(p|0)):0)?(r=j-i|0,(((r|0)>-1?r:0-r|0)|0)<(p|0)):0){r=d+4-j+(i-g<<2)>>3;r=(r|0)<(l|0)?l:(r|0)>(n|0)?n:r;j=r+g|0;b[f>>1]=j>>>0<512?j:0-j>>31&511;r=i-r|0;b[k>>1]=r>>>0<512?r:0-r>>31&511}f=0;k=k+(o<<1)|0}}while(0);c=c+(o<<1)|0;m=m+1|0}return}function pr(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;m=Mb;Mb=Mb+32|0;j=m+8|0;n=m;i=c[b+60>>2]|0;k=c[g+24>>2]|0;l=c[g+28>>2]|0;UA(g,1,m+4|0)|0;g=UA(g,71,n)|0;h=i+5672|0;c[h>>2]=0;if((g|0)!=0&(c[n>>2]|0)>0)c[h>>2]=(d[g>>0]|0)+1;g=c[i+5668>>2]|0;if((g|0)>-1)c[h>>2]=g;a:do if((l|0)<=268435454){g=XY(j,k,l)|0;if((g|0)>=0){switch(c[i+6472>>2]|0){case 39:case 23:case 19:case 17:{g=vj(b,e,f,j)|0;break}default:g=Yd(b,e,f,j)|0}if((g|0)>=0){g=(l1(j)|0)+7>>3;h=g;while(1){if((h|0)>=(l|0)){g=l;break a}if(!(a[k+h>>0]|0))h=h+1|0;else break}}}}else g=-1094995529;while(0);Mb=m;return g|0}function qr(b,c,e){b=b|0;c=c|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;k=d[b+(0-e)>>0]|0;o=d[b+(1-e)>>0]|0;n=d[b+(2-e)>>0]|0;l=d[b+(3-e)>>0]|0;j=d[c>>0]|0;h=d[c+1>>0]|0;g=d[c+2>>0]|0;f=d[c+3>>0]|0;m=o+1|0;a[b>>0]=(m+k|0)>>>1;m=(m+n|0)>>>1&255;i=e<<1;a[b+i>>0]=m;a[b+1>>0]=m;m=(n+1+l|0)>>>1&255;a[b+(i|1)>>0]=m;a[b+2>>0]=m;m=(l+1+j|0)>>>1&255;a[b+(i+2)>>0]=m;a[b+3>>0]=m;m=n+2|0;a[b+e>>0]=(m+k+(o<<1)|0)>>>2;k=l+2|0;n=(k+o+(n<<1)|0)>>>2&255;c=e*3|0;a[b+c>>0]=n;a[b+(e+1)>>0]=n;l=(m+(l<<1)+j|0)>>>2&255;a[b+(c+1)>>0]=l;a[b+(e+2)>>0]=l;k=(k+(j<<1)+h|0)>>>2&255;a[b+(c+2)>>0]=k;a[b+(e+3)>>0]=k;a[b+(i+3)>>0]=(j+2+(h<<1)+g|0)>>>2;a[b+(c+3)>>0]=(h+2+(g<<1)+f|0)>>>2;return}function rr(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;l=Mb;Mb=Mb+48|0;k=l+8|0;j=l;i=l+24|0;c[i>>2]=167200;c[i+4>>2]=g;c[i+8>>2]=h;g=fE(f,a,0)|0;m=(g|0)<1;f=_U(a|0,0,3)|0;h=M()|0;f=m?f:g;g=m?h:((g|0)<0)<<31>>31;if(!((a|0)<1|(b|0)<1|((g|0)>0|(g|0)==0&f>>>0>2147482622))?(m=aX(f|0,g|0,1024,0)|0,m=MR(m|0,M()|0,b+128|0,0)|0,h=M()|0,!(h>>>0>0|(h|0)==0&m>>>0>2147483646)):0)if(!((d|0)==-1&(e|0)==2147483647)?(m=MR(b|0,0,a|0,0)|0,j=M()|0,(j|0)>(e|0)|(j|0)==(e|0)&m>>>0>d>>>0):0){c[k>>2]=a;c[k+4>>2]=b;f=k+8|0;c[f>>2]=d;c[f+4>>2]=e;AD(i,16,211385,k);f=-22}else f=0;else{c[j>>2]=a;c[j+4>>2]=b;AD(i,16,211354,j);f=-22}Mb=l;return f|0}function sr(b,c,e,f,g,h){b=b|0;c=c|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;m=1<<g;i=0;j=m;while(1){if((i|0)>=(m|0))break;l=j+(d[e+i>>0]|0)+(d[c+i>>0]|0)|0;i=i+1|0;j=l}g=j>>g+1;k=H(g,16843009)|0;j=0;while(1){if((j|0)>=(m|0))break;l=H(j,f)|0;i=0;while(1){if((i|0)>=(m|0))break;n=b+(i+l)|0;a[n>>0]=k;a[n+1>>0]=k>>8;a[n+2>>0]=k>>16;a[n+3>>0]=k>>24;i=i+4|0}j=j+1|0}a:do if((h|0)==0&(m|0)<32){a[b>>0]=((g<<1)+2+(d[e>>0]|0)+(d[c>>0]|0)|0)>>>2;j=(g*3|0)+2|0;i=1;while(1){if((i|0)>=(m|0))break;a[b+i>>0]=(j+(d[c+i>>0]|0)|0)>>>2;i=i+1|0}i=1;while(1){if((i|0)>=(m|0))break a;n=b+(H(i,f)|0)|0;a[n>>0]=(j+(d[e+i>>0]|0)|0)>>>2;i=i+1|0}}while(0);return}function tr(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;i=(h<<f)+((f|0)==0?0:1<<f+-1)|0;h=b;b=0;while(1){if((b|0)>=(e|0))break;j=(H(d[h>>0]|0,g)|0)+i>>f;a[h>>0]=j>>>0>255?0-j>>31:j;j=h+1|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?0-k>>31:k;j=h+2|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?0-k>>31:k;j=h+3|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?0-k>>31:k;j=h+4|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?0-k>>31:k;j=h+5|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?0-k>>31:k;j=h+6|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?0-k>>31:k;j=h+7|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?0-k>>31:k;h=h+c|0;b=b+1|0}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,k=0,l=0,m=0;m=Mb;Mb=Mb+16|0;l=m+8|0;j=m;a:do if(!(e&32768)){e=0;while(1){if(e>>>0>=4){k=9;break a}i=b+(e+12)|0;g=a[i>>0]|0;h=a[205704+g>>0]|0;if(249>>>g&1|0)break;if(253>>>g&1|0)a[i>>0]=h;e=e+1|0}c[j>>2]=h<<24>>24;AD(d,16,205716,j);e=-1094995529}else k=9;while(0);b:do if((k|0)==9)if((f&34952|0)==34952)e=0;else{e=0;while(1){if(e>>>0>=4){e=0;break b}if(!(c[79152+(e<<2)>>2]&f)){g=b+((e<<3)+12)|0;h=a[g>>0]|0;i=a[205767+h>>0]|0;if(370>>>h&1|0)break;if(886>>>h&1|0)a[g>>0]=i}e=e+1|0}c[l>>2]=i<<24>>24;AD(d,16,205779,l);e=-1094995529}while(0);Mb=m;return e|0}function vr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;g=b+8|0;d=c[g+4>>2]|0;h=a+8|0;c[h>>2]=c[g>>2];c[h+4>>2]=d;h=b+16|0;d=c[h+4>>2]|0;g=a+16|0;c[g>>2]=c[h>>2];c[g+4>>2]=d;g=b+56|0;d=c[g+4>>2]|0;h=a+56|0;c[h>>2]=c[g>>2];c[h+4>>2]=d;h=b+48|0;d=c[h+4>>2]|0;g=a+48|0;c[g>>2]=c[h>>2];c[g+4>>2]=d;g=b+64|0;d=c[g+4>>2]|0;h=a+64|0;c[h>>2]=c[g>>2];c[h+4>>2]=d;c[a+36>>2]=c[b+36>>2];c[a+32>>2]=c[b+32>>2];h=b+44|0;d=b+40|0;b=0;while(1){if((b|0)>=(c[h>>2]|0)){b=0;break}g=c[d>>2]|0;e=c[g+(b*12|0)+4>>2]|0;f=c[g+(b*12|0)>>2]|0;g=XJ(a,c[g+(b*12|0)+8>>2]|0,e)|0;if(!g){i=4;break}Mn(g|0,f|0,e|0)|0;b=b+1|0}if((i|0)==4){JQ(a);b=-12}return b|0}function wr(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,o=0,p=0,q=0,r=0,s=0;r=c<<2;h=0;while(1){if((h|0)==4)break;p=a[g+h>>0]|0;q=p<<24>>24;a:do if(p<<24>>24>=1){k=0-q|0;i=0;j=b;while(1){if((i|0)==4)break a;l=j+-1|0;m=d[l>>0]|0;n=d[j+-2>>0]|0;o=d[j>>0]|0;p=d[j+1>>0]|0;s=m-o|0;if(((((s|0)>-1?s:0-s|0)|0)<(e|0)?(s=n-m|0,(((s|0)>-1?s:0-s|0)|0)<(f|0)):0)?(s=p-o|0,(((s|0)>-1?s:0-s|0)|0)<(f|0)):0){s=n+4-p+(o-m<<2)>>3;s=(s|0)<(k|0)?k:(s|0)>(q|0)?q:s;p=s+m|0;a[l>>0]=p>>>0>255?0-p>>31:p;s=o-s|0;a[j>>0]=s>>>0>255?0-s>>31:s}i=i+1|0;j=j+c|0}}while(0);b=b+r|0;h=h+1|0}return}function xr(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,o=0,p=0,q=0,r=0,s=0;r=c<<1;h=0;while(1){if((h|0)==4)break;p=a[g+h>>0]|0;q=p<<24>>24;a:do if(p<<24>>24>=1){k=0-q|0;i=0;j=b;while(1){if((i|0)==2)break a;l=j+-1|0;m=d[l>>0]|0;n=d[j+-2>>0]|0;o=d[j>>0]|0;p=d[j+1>>0]|0;s=m-o|0;if(((((s|0)>-1?s:0-s|0)|0)<(e|0)?(s=n-m|0,(((s|0)>-1?s:0-s|0)|0)<(f|0)):0)?(s=p-o|0,(((s|0)>-1?s:0-s|0)|0)<(f|0)):0){s=n+4-p+(o-m<<2)>>3;s=(s|0)<(k|0)?k:(s|0)>(q|0)?q:s;p=s+m|0;a[l>>0]=p>>>0>255?0-p>>31:p;s=o-s|0;a[j>>0]=s>>>0>255?0-s>>31:s}i=i+1|0;j=j+c|0}}while(0);b=b+r|0;h=h+1|0}return}function yr(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=Mb;Mb=Mb+16|0;j=k;h=(1<<c[(c[a+1412>>2]|0)+60>>2])+-1|0;i=a+7596|0;f=0;while(1){if(f>>>0>=32){g=3;break}e=a+3520+(f*68|0)|0;if((c[(c[e>>2]|0)+248>>2]|0?(b[a+3520+(f*68|0)+64>>1]|0)==(b[i>>1]|0):0)?(c[a+3520+(f*68|0)+36>>2]&h|0)==(d|0):0)break;f=f+1|0}a:do if((g|0)==3){f=0;while(1){if(f>>>0>=32)break;e=a+3520+(f*68|0)|0;if((c[(c[e>>2]|0)+248>>2]|0?(b[a+3520+(f*68|0)+64>>1]|0)==(b[i>>1]|0):0)?(g=c[a+3520+(f*68|0)+36>>2]|0,(g|0)==(d|0)|(g&h|0)==(d|0)):0)break a;f=f+1|0}switch(c[a+3508>>2]|0){case 18:case 16:case 17:case 21:{e=0;break a}default:{}}e=c[a+4>>2]|0;c[j>>2]=d;AD(e,16,209868,j);e=0}while(0);Mb=k;return e|0}function zr(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,k=0,l=0,m=0;h=g+(H(f,-3)|0)|0;while(1){if(a>>>0>=h>>>0)break;m=_U((d[b>>0]|0)+128|0,0,56)|0;j=M()|0;i=a;c[i>>2]=m;c[i+4>>2]=j;i=b+e|0;j=a+f|0;m=_U((d[i>>0]|0)+128|0,0,56)|0;l=M()|0;k=j;c[k>>2]=m;c[k+4>>2]=l;i=i+e|0;j=j+f|0;k=_U((d[i>>0]|0)+128|0,0,56)|0;l=M()|0;m=j;c[m>>2]=k;c[m+4>>2]=l;i=i+e|0;j=j+f|0;m=_U((d[i>>0]|0)+128|0,0,56)|0;l=M()|0;k=j;c[k>>2]=m;c[k+4>>2]=l;a=j+f|0;b=i+e|0}while(1){if(a>>>0>=g>>>0)break;k=_U((d[b>>0]|0)+128|0,0,56)|0;l=M()|0;m=a;c[m>>2]=k;c[m+4>>2]=l;a=a+f|0;b=b+e|0}return}function Ar(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;j=Mb;Mb=Mb+16|0;i=j+8|0;g=c[a+23416+(e*40|0)+28>>2]|0;h=((g|0)<0)<<31>>31;k=_W(d|0,((d|0)<0)<<31>>31|0,g|0,h|0)|0;l=M()|0;d=(k+128|0)>>>0>255?k>>31^127:k;f=d<<24>>24;if(!((k|0)==(k|0)&(l|0)==(((k|0)<0)<<31>>31|0)))GU(c[(c[a>>2]|0)+4>>2]|0,205472,j);if((d&255)<<24>>24!=0?(c[(c[a+23416+(e*40|0)+36>>2]|0)+100>>2]|0)==0:0){d=_W(b|0,((b|0)<0)<<31>>31|0,g|0,h|0)|0;l=M()|0;if(!((d|0)==(d|0)&(l|0)==(((d|0)<0)<<31>>31|0)))AD(c[(c[a>>2]|0)+4>>2]|0,48,205490,i);l=(H(((((f|0)>-1?f:0-f|0)>>1)+16384|0)/(f|0)|0,((d+128|0)>>>0>255?d>>31^127:d)<<24>>24)|0)+32|0;d=l>>6;d=(d+1024|0)>>>0>2047?l>>31^1023:d}else d=256;Mb=j;return d|0}function Br(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;o=Mb;Mb=Mb+16|0;m=o+8|0;l=o;c[b+27768>>2]=0;c[b+27772>>2]=0;j=b+23412|0;k=b+4|0;f=0;a:while(1){if(f>>>0>=(c[j>>2]|0)>>>0){e=0;break}b:do if(mT(k)|0){g=b+23404+(f<<2)|0;h=b+27768+(f<<2)|0;e=0;while(1){i=JE(k)|0;if((i|0)==3)break b;if(e>>>0>=(c[g>>2]|0)>>>0){n=7;break a}if(i>>>0>2){n=9;break a}p=PL(k)|0;c[b+27256+(f<<8)+(e<<3)+4>>2]=p;a[b+27256+(f<<8)+(e<<3)>>0]=i;c[h>>2]=(c[h>>2]|0)+1;e=e+1|0}}while(0);f=f+1|0}if((n|0)==7){AD(d,16,206636,l);e=-1094995529}else if((n|0)==9){c[m>>2]=i;AD(d,16,206662,m);e=-1094995529}Mb=o;return e|0}function Cr(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=d[b+~e>>0]|0;i=d[b+(0-e)>>0]|0;g=d[b+(1-e)>>0]|0;f=d[b+(2-e)>>0]|0;c=d[b+(3-e)>>0]|0;l=d[b+-1>>0]|0;h=d[b+(e+-1)>>0]|0;j=e<<1;k=d[b+(j+-1)>>0]|0;m=e*3|0;a[b+m>>0]=(h+2+(d[b+(m+-1)>>0]|0)+(k<<1)|0)>>>2;k=(l+2+k+(h<<1)|0)>>>2&255;a[b+(m+1)>>0]=k;a[b+j>>0]=k;k=n+2|0;h=(k+h+(l<<1)|0)>>>2&255;a[b+(m+2)>>0]=h;a[b+(j|1)>>0]=h;a[b+e>>0]=h;h=i+2|0;l=(h+(n<<1)+l|0)>>>2&255;a[b+(m+3)>>0]=l;a[b+(j+2)>>0]=l;a[b+(e+1)>>0]=l;a[b>>0]=l;i=(k+(i<<1)+g|0)>>>2&255;a[b+(j+3)>>0]=i;a[b+(e+2)>>0]=i;a[b+1>>0]=i;h=(h+(g<<1)+f|0)>>>2&255;a[b+(e+3)>>0]=h;a[b+2>>0]=h;a[b+3>>0]=(g+2+(f<<1)+c|0)>>>2;return}function Dr(d,f,g,h,i,j){d=d|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;x=f>>>1;u=g>>>1;v=u<<2;w=H(x,-2)|0;t=0-x|0;s=0;while(1){if((s|0)==2)break;o=c[h+(s<<2)>>2]<<4;a:do if((o|0)>=1){p=0-o|0;q=(a[i+s>>0]|0)==0;r=(a[j+s>>0]|0)==0;m=0;n=d;while(1){if((m|0)==4)break a;g=n+(t<<1)|0;l=e[g>>1]|0;k=e[n>>1]|0;f=(e[n+(w<<1)>>1]|0)+4-(e[n+(x<<1)>>1]|0)+(k-l<<2)>>3;f=(f|0)<(p|0)?p:(f|0)>(o|0)?o:f;l=f+l|0;if(q)b[g>>1]=l>>>0<4096?l:0-l>>31&4095;f=k-f|0;if(r)b[n>>1]=f>>>0<4096?f:0-f>>31&4095;m=m+1|0;n=n+(u<<1)|0}}while(0);s=s+1|0;d=d+(v<<1)|0}return}function Er(d,f,g,h,i,j){d=d|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;x=f>>>1;u=g>>>1;v=u<<2;w=H(x,-2)|0;t=0-x|0;s=0;while(1){if((s|0)==2)break;o=c[h+(s<<2)>>2]<<2;a:do if((o|0)>=1){p=0-o|0;q=(a[i+s>>0]|0)==0;r=(a[j+s>>0]|0)==0;m=0;n=d;while(1){if((m|0)==4)break a;g=n+(t<<1)|0;l=e[g>>1]|0;k=e[n>>1]|0;f=(e[n+(w<<1)>>1]|0)+4-(e[n+(x<<1)>>1]|0)+(k-l<<2)>>3;f=(f|0)<(p|0)?p:(f|0)>(o|0)?o:f;l=f+l|0;if(q)b[g>>1]=l>>>0<1024?l:0-l>>31&1023;f=k-f|0;if(r)b[n>>1]=f>>>0<1024?f:0-f>>31&1023;m=m+1|0;n=n+(u<<1)|0}}while(0);s=s+1|0;d=d+(v<<1)|0}return}function Fr(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=Mb;Mb=Mb+48|0;j=l+32|0;f=l+16|0;e=l;i=c[a+272>>2]|0;if((i|0)!=(c[b+272>>2]|0)){c[e>>2]=218925;c[e+4>>2]=218528;c[e+8>>2]=426;AD(0,0,222515,e);ba()}k=a+264|0;g=c[k>>2]|0;if((g|0)!=(c[b+264>>2]|0)){c[f>>2]=218951;c[f+4>>2]=218528;c[f+8>>2]=427;AD(0,0,222515,f);ba()}h=a+260|0;e=c[h>>2]|0;if((e|0)!=(c[b+260>>2]|0)){c[j>>2]=218971;c[j+4>>2]=218528;c[j+8>>2]=428;AD(0,0,222515,j);ba()}a:do if(!i)Mn(c[a>>2]|0,c[b>>2]|0,H(H(g,d)|0,e)|0)|0;else{f=0;while(1){if((f|0)>=(e|0))break a;Mn(c[a+(f<<2)>>2]|0,c[b+(f<<2)>>2]|0,H(c[k>>2]|0,d)|0)|0;f=f+1|0;e=c[h>>2]|0}}while(0);Mb=l;return}function Gr(){c[212469]=845472;c[212471]=1098;kd(849872,9,121,50256,1,1,50384,4,4,0,0,0,4)|0;c[212473]=850032;c[212475]=1092;kd(849888,9,121,50880,1,1,51008,4,4,0,0,0,4)|0;c[212477]=854400;c[212479]=768;kd(849904,9,49,51504,1,1,51568,4,4,0,0,0,4)|0;c[212481]=857472;c[212483]=1026;kd(849920,9,49,51776,1,1,51840,4,4,0,0,0,4)|0;c[212485]=861584;c[212487]=1058;kd(849936,9,63,52048,1,1,52112,4,4,0,0,0,4)|0;c[212489]=865824;c[212491]=1052;kd(849952,9,63,52368,1,1,52432,4,4,0,0,0,4)|0;c[212493]=870032;c[212495]=544;kd(849968,9,25,52688,1,1,52720,2,2,0,0,0,4)|0;c[212497]=872208;c[212499]=544;kd(849984,9,25,52784,1,1,52816,2,2,0,0,0,4)|0;c[212501]=874384;c[212503]=592;kd(85e4,9,63,52880,1,1,52944,2,2,0,0,0,4)|0;c[212505]=876752;c[212507]=512;kd(850016,9,25,53072,1,1,53104,1,1,0,0,0,4)|0;kK();Jr();return}function Hr(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=Mb;Mb=Mb+32|0;f=g;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;e=a[d>>0]|0;do if(!(e<<24>>24))d=0;else{if(!(a[d+1>>0]|0)){d=b;while(1)if((a[d>>0]|0)==e<<24>>24)d=d+1|0;else break;d=d-b|0;break}do{i=e&255;h=f+(i>>>5<<2)|0;c[h>>2]=c[h>>2]|1<<(i&31);d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0);e=a[b>>0]|0;a:do if(!(e<<24>>24))d=b;else{d=b;do{i=e&255;if(!(c[f+(i>>>5<<2)>>2]&1<<(i&31)))break a;d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0)}while(0);d=d-b|0}while(0);Mb=g;return d|0}function Ir(a,c,d){a=a|0;c=c|0;d=d|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;i=d>>1;g=d&-2;h=i*3|0;f=0;d=c;while(1){if((f|0)==4)break;p=e[d+-8>>1]|0;o=e[d>>1]|0;n=e[d+8>>1]|0;c=e[d+16>>1]|0;k=e[d+24>>1]|0;l=e[d+32>>1]|0;j=e[d+40>>1]|0;m=e[d+48>>1]|0;q=(e[d+-16>>1]|0)+16+k+((n+o|0)*20|0)+(H(c+p|0,-5)|0)>>5;b[a>>1]=q>>>0<16384?q:0-q>>31&16383;p=p+16+l+((c+n|0)*20|0)+(H(k+o|0,-5)|0)>>5;b[a+(i<<1)>>1]=p>>>0<16384?p:0-p>>31&16383;o=o+16+j+((k+c|0)*20|0)+(H(l+n|0,-5)|0)>>5;b[a+(g<<1)>>1]=o>>>0<16384?o:0-o>>31&16383;c=n+16+m+((l+k|0)*20|0)+(H(j+c|0,-5)|0)>>5;b[a+(h<<1)>>1]=c>>>0<16384?c:0-c>>31&16383;f=f+1|0;a=a+2|0;d=d+2|0}return}function Jr(){c[264177]=1077984;c[264179]=1544;kd(1056704,9,61,81872,1,1,81936,4,4,0,0,0,4)|0;c[264181]=1084160;c[264183]=832;kd(1056720,9,61,82192,1,1,82256,2,2,0,0,0,4)|0;c[264185]=1087488;c[264187]=1024;kd(1056736,9,29,82384,1,1,82416,4,4,0,0,0,4)|0;c[264189]=1091584;c[264191]=1036;kd(1056752,9,29,82544,1,1,82576,4,4,0,0,0,4)|0;c[264193]=1095728;c[264195]=544;kd(1056768,9,15,210309,1,1,82704,2,2,0,0,0,4)|0;c[264197]=1097904;c[264199]=544;kd(1056784,9,15,210324,1,1,82736,2,2,0,0,0,4)|0;c[264201]=1100080;c[264203]=512;kd(1056800,9,8,210339,1,1,210347,1,1,0,0,0,4)|0;c[264205]=1102128;c[264207]=512;kd(1056816,9,8,210355,1,1,210363,1,1,0,0,0,4)|0;c[264209]=1104176;c[264211]=512;kd(1056832,9,8,210371,1,1,210379,1,1,0,0,0,4)|0;c[264213]=1106224;c[264215]=512;kd(1056848,9,8,210387,1,1,210395,1,1,0,0,0,4)|0;ig();return}function Kr(c,e,f,g,h,i,j,k,l,m,n,o,p,q){c=c|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;v=p+-1|0;r=20672+(v<<2)|0;s=j+7|0;t=20672+(v<<2)+1|0;u=20672+(v<<2)+2|0;v=20672+(v<<2)+3|0;w=g<<1;j=m+1+n<<j+6;n=0;p=f;while(1){if((n|0)>=(i|0))break;o=0;while(1){if((o|0)>=(q|0))break;f=H(d[p+(o-g)>>0]|0,a[r>>0]|0)|0;f=(H(d[p+o>>0]|0,a[t>>0]|0)|0)+f|0;f=f+(H(d[p+(o+g)>>0]|0,a[u>>0]|0)|0)|0;f=H(f+(H(d[p+(o+w)>>0]|0,a[v>>0]|0)|0)|0,l)|0;f=(H(b[h+(o<<1)>>1]|0,k)|0)+j+f>>s;a[c+o>>0]=f>>>0>255?0-f>>31:f;o=o+1|0}h=h+128|0;c=c+e|0;n=n+1|0;p=p+g|0}return}
|
|
function ei(b){b=b|0;var e=0,f=0,g=0;e=0;while(1){if((e|0)==16)break;g=d[24368+e>>0]|0;a[b+26412+e>>0]=g<<2&12|g>>>2;g=d[79168+e>>0]|0;a[b+26556+e>>0]=g<<2&12|g>>>2;e=e+1|0}e=0;while(1){if((e|0)==64)break;g=d[24304+e>>0]|0;a[b+26428+e>>0]=g<<3&56|g>>>3;g=d[79200+e>>0]|0;a[b+26492+e>>0]=g<<3&56|g>>>3;g=d[79280+e>>0]|0;a[b+26572+e>>0]=g<<3&56|g>>>3;g=d[79360+e>>0]|0;a[b+26636+e>>0]=g<<3&56|g>>>3;e=e+1|0}e=b+26700|0;if(!(c[(c[b+28200>>2]|0)+16>>2]|0)){f=b+26412|0;c[e>>2]=c[f>>2];c[e+4>>2]=c[f+4>>2];c[e+8>>2]=c[f+8>>2];c[e+12>>2]=c[f+12>>2];e=b+26716|0;f=b+26428|0;g=e+64|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));e=b+26780|0;f=b+26492|0;g=e+64|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));e=b+26844|0;f=b+26556|0;c[e>>2]=c[f>>2];c[e+4>>2]=c[f+4>>2];c[e+8>>2]=c[f+8>>2];c[e+12>>2]=c[f+12>>2];e=b+26860|0;f=b+26572|0;g=e+64|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));e=b+26924|0;f=b+26636|0;g=e+64|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0))}else{c[e>>2]=c[6092];c[e+4>>2]=c[6093];c[e+8>>2]=c[6094];c[e+12>>2]=c[6095];e=b+26716|0;f=24304;g=e+64|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));e=b+26780|0;f=79200;g=e+64|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));e=b+26844|0;c[e>>2]=c[19792];c[e+4>>2]=c[19793];c[e+8>>2]=c[19794];c[e+12>>2]=c[19795];e=b+26860|0;f=79280;g=e+64|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));e=b+26924|0;f=79360;g=e+64|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0))}return}function fi(a,d){a=a|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0;p=Mb;Mb=Mb+272|0;o=p;g=p+260|0;j=p+256|0;c[g>>2]=0;e=0;h=0;while(1){if((e|0)==124)break;r=+(h|0);q=+f[a+(e<<2)>>2];e=e+1|0;h=~~(q<r?r:q)}c[g>>2]=h;g=SJ(g)|0;c[j>>2]=0;h=(g<<16)+-1048576>>16;e=0;i=0;while(1){if((e|0)==124)break;n=(((_$(~~+f[a+(e<<2)>>2],h)|0)<<16>>16)*3|0)>>>2;b[o+(e<<1)>>1]=n;e=e+1|0;i=(n<<16>>16)+i|0}n=g+65531|0;m=n&65535;n=n<<16>>16;c[j>>2]=i-(198<<n);h=SJ(j)|0;h=_$((c[j>>2]>>16)*4228>>15,786432-(h<<16)>>16)|0;i=$K(o,m,h&65535)|0;if((i|0)==198)i=198;else{e=i+-198|0;g=0;while(1){if((((e|0)>-1?e:0-e|0)|0)>=16384)break;e=e<<1;g=g+1<<16>>16}j=_$(e*4228>>15,n+65532-(g&65535)<<16>>16)|0;g=0;a=0;l=1;while(1){if(l>>>0>=20){e=h;h=g;g=i;break}e=h+j|0;g=$K(o,m,e&65535)|0;if((H(g+-198|0,i+-198|0)|0)<1){a=i;break}a=i;k=h;h=e;i=g;l=l+1|0;g=k}s=(g|0)>198;k=s?e:h;j=s?g:a;a=s?a:g;i=l;e=s?h:e;while(1){if(!(i>>>0<20&(g|0)!=198))break;s=e+k>>1;g=$K(o,m,s&65535)|0;l=(g|0)>198;k=l?s:k;j=l?g:j;a=l?a:g;i=i+1|0;e=l?e:s}h=(((j|0)>197?j+-198|0:198-j|0)|0)<(((a|0)>197?a+-198|0:198-a|0)|0);i=h?j:a;h=h?k:e}g=n+-1|0;e=0;while(1){if((e|0)==124)break;s=((b[o+(e<<1)>>1]|0)-h>>g)+1>>1;s=(s|0)<6?s:6;c[d+(e<<2)>>2]=(s|0)>0?s:0;e=e+1|0}a:do if((i|0)>198){g=0;e=0;while(1){if((g|0)>=198)break;g=(c[d+(e<<2)>>2]|0)+g|0;e=e+1|0}s=d+(e+-1<<2)|0;c[s>>2]=198-g+(c[s>>2]|0);while(1){if(e>>>0>=124)break a;c[d+(e<<2)>>2]=0;e=e+1|0}}while(0);Mb=p;return}function gi(c,e,f,g,h,i,j){c=c|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;w=Mb;Mb=Mb+9088|0;v=w;u=h+-1|0;m=20704+(u<<4)|0;n=g+7|0;o=20704+(u<<4)+1|0;p=20704+(u<<4)+2|0;q=20704+(u<<4)+3|0;r=20704+(u<<4)+4|0;s=20704+(u<<4)+5|0;t=20704+(u<<4)+6|0;u=20704+(u<<4)+7|0;l=v;h=e+(H(f,-3)|0)|0;e=0;while(1){if((e|0)>=(n|0))break;k=0;while(1){if((k|0)>=(j|0))break;y=H(d[h+(k+-3)>>0]|0,a[m>>0]|0)|0;y=(H(d[h+(k+-2)>>0]|0,a[o>>0]|0)|0)+y|0;y=y+(H(d[h+(k+-1)>>0]|0,a[p>>0]|0)|0)|0;y=y+(H(d[h+k>>0]|0,a[q>>0]|0)|0)|0;x=k+1|0;y=y+(H(d[h+x>>0]|0,a[r>>0]|0)|0)|0;y=y+(H(d[h+(k+2)>>0]|0,a[s>>0]|0)|0)|0;y=y+(H(d[h+(k+3)>>0]|0,a[t>>0]|0)|0)|0;y=y+(H(d[h+(k+4)>>0]|0,a[u>>0]|0)|0)&65535;b[l+(k<<1)>>1]=y;k=x}l=l+128|0;h=h+f|0;e=e+1|0}s=i+-1|0;l=20704+(s<<4)|0;m=20704+(s<<4)+1|0;n=20704+(s<<4)+2|0;o=20704+(s<<4)+3|0;p=20704+(s<<4)+4|0;q=20704+(s<<4)+5|0;r=20704+(s<<4)+6|0;s=20704+(s<<4)+7|0;h=v+384|0;e=0;while(1){if((e|0)>=(g|0))break;k=0;while(1){if((k|0)>=(j|0))break;y=H(b[h+(k+-192<<1)>>1]|0,a[l>>0]|0)|0;y=(H(b[h+(k+-128<<1)>>1]|0,a[m>>0]|0)|0)+y|0;y=y+(H(b[h+(k+-64<<1)>>1]|0,a[n>>0]|0)|0)|0;y=y+(H(b[h+(k<<1)>>1]|0,a[o>>0]|0)|0)|0;y=y+(H(b[h+(k+64<<1)>>1]|0,a[p>>0]|0)|0)|0;y=y+(H(b[h+(k+128<<1)>>1]|0,a[q>>0]|0)|0)|0;y=y+(H(b[h+(k+192<<1)>>1]|0,a[r>>0]|0)|0)|0;y=(y+(H(b[h+(k+256<<1)>>1]|0,a[s>>0]|0)|0)|0)>>>6&65535;b[c+(k<<1)>>1]=y;k=k+1|0}c=c+128|0;h=h+128|0;e=e+1|0}Mb=w;return}function hi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=Mb;Mb=Mb+16|0;h=o;k=c[a>>2]|0;l=k+4|0;g=c[l>>2]|0;m=a+212|0;if((c[d+28>>2]|0)==0?(c[(c[(c[m>>2]|0)+12>>2]|0)+16>>2]&32|0)==0:0)b=0;else n=3;do if((n|0)==3){i=a+156|0;d2(i)|0;b=hq(c[m>>2]|0,b)|0;if(b|0){d2(i)|0;break}c[a+344>>2]=(c[(c[m>>2]|0)+680>>2]|0)>>>16&1;Rw(a);if(g|0){b=g+300|0;if((c[b>>2]|0)==1){e=g+184|0;d2(e)|0;f=g+60|0;while(1){if((c[b>>2]|0)!=1)break;yb(f|0,e|0)|0}d2(e)|0}b=Uh(c[m>>2]|0,c[g+212>>2]|0,0)|0;if(b|0){d2(i)|0;break}}b=a+216|0;BX(b);b=kv(b,d)|0;if((b|0)<0){d2(i)|0;AD(c[m>>2]|0,16,193214,h);break}j=a+300|0;c[j>>2]=1;xb(a+12|0)|0;d2(i)|0;b=c[m>>2]|0;a:do if(!(c[b+812>>2]|0)){if((c[b+156>>2]|0)==9?(c[b+472>>2]|0)==11:0)break;b=a+184|0;e=a+60|0;f=a+316|0;g=a+320|0;d=a+296|0;h=a+324|0;i=a+328|0;while(1){if((c[j>>2]|0)==4)break a;if(!(c[j>>2]|0))break a;d2(b)|0;while(1){if((c[j>>2]|0)!=1)break;yb(e|0,b|0)|0}switch(c[j>>2]|0){case 2:{n=rQ(c[m>>2]|0,c[f>>2]|0,c[g>>2]|0)|0;c[d>>2]=n;n=27;break}case 3:{n=Lj(c[m>>2]|0,c[h>>2]|0)|0;c[i>>2]=n;n=27;break}default:{}}if((n|0)==27){n=0;c[j>>2]=1;xb(e|0)|0}d2(b)|0}}while(0);c[l>>2]=a;b=k+144|0;c[b>>2]=(c[b>>2]|0)+1;b=0}while(0);Mb=o;return b|0}function ii(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=Mb;Mb=Mb+16|0;n=s;l=c[b+136>>2]|0;i=c[b+1412>>2]|0;m=c[i+13340>>2]|0;p=e>>m;q=f>>m;r=c[i+13412>>2]|0;m=g>>m;i=c[i+13336>>2]|0;g=(1<<i)+-1|0;if((a[l+309>>0]|0)!=0|(g&f|0)!=0){j=(H(q+-1|0,r)|0)+p|0;j=d[(c[b+7572>>2]|0)+j>>0]|0}else j=1;if((g&e|0)!=0|(a[l+308>>0]|0)!=0){k=p+-1+(H(q,r)|0)|0;k=d[(c[b+7572>>2]|0)+k>>0]|0}else k=1;o=c[(c[b+3516>>2]|0)+20>>2]|0;e=(f>>i<<i|0)<(f|0)?j:1;do if((k|0)==(e|0))if(k>>>0<2){c[n>>2]=0;c[n+4>>2]=1;c[n+8>>2]=26;k=0;e=1;f=26;break}else{c[n>>2]=k;e=(k+29&31)+2|0;c[n+4>>2]=e;f=(k+31&31)+2|0;c[n+8>>2]=f;break}else{c[n>>2]=k;c[n+4>>2]=e;if(!((e|0)==0|(k|0)==0)){c[n+8>>2]=0;f=0;break}g=n+8|0;if((e|0)==1|(k|0)==1){c[g>>2]=26;f=26;break}else{c[g>>2]=1;f=1;break}}while(0);a:do if(!h){j=n+4|0;if((k|0)>(e|0)){g=e&255;c[j>>2]=k;c[n>>2]=g;e=k}else g=k;i=n+8|0;if((g|0)>(f|0)){c[i>>2]=g;c[n>>2]=f&255}else g=f;if((e|0)>(g|0)){c[i>>2]=e;c[j>>2]=g&255}e=0;g=c[l+31260>>2]|0;while(1){if((e|0)==3)break a;l=g+((g|0)>=(c[n+(e<<2)>>2]|0)&1)|0;e=e+1|0;g=l}}else g=c[n+(c[l+31256>>2]<<2)>>2]|0;while(0);h=(m|0)==0?1:m;j=b+7572|0;k=g&255;i=0;while(1){if((i|0)>=(h|0))break;jv((c[j>>2]|0)+((H(i+q|0,r)|0)+p)|0,k|0,h|0)|0;f=i+p|0;e=0;while(1){if((e|0)>=(h|0))break;b=o+((f+(H(e+q|0,r)|0)|0)*12|0)+10|0;a[b>>0]=0;e=e+1|0}i=i+1|0}Mb=s;return g|0}function ji(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,r=0,s=0;q=f+4|0;a:do if(!(a[q>>0]|0)){i=0;s=11}else{i=0;o=0;while(1){j=o&255;n=f+8+(j<<3)|0;m=b[n>>1]|0;k=m&65535;l=i+4|0;if((l+k|0)>>>0>h>>>0){i=-1;break a}j=f+8+(j<<3)+4|0;b:do if(((m&65535)>=4?(p=c[j>>2]|0,(a[p>>0]|0)==0):0)?(a[p+1>>0]|0)==0:0){switch(a[p+2>>0]|0){case 1:{j=p;break b}case 0:break;default:{s=9;break b}}if((a[p+3>>0]|0)==1)j=p;else s=9}else s=9;while(0);if((s|0)==9){s=0;a[g+i>>0]=0;a[g+(i+1)>>0]=0;a[g+(i+2)>>0]=0;a[g+(i+3)>>0]=1;i=l;k=e[n>>1]|0;j=c[j>>2]|0}Mn(g+i|0,j|0,k|0)|0;i=i+(e[n>>1]|0)|0;o=o+1<<24>>24;if((o&255)>=(d[q>>0]|0)){s=11;break}}}while(0);c:do if((s|0)==11){p=f+5|0;if(a[p>>0]|0){o=0;do{j=o&255;n=f+264+(j<<3)|0;l=b[n>>1]|0;k=l&65535;m=i+2|0;if((m+k|0)>>>0>h>>>0){i=-1;break c}j=f+264+(j<<3)+4|0;d:do if(((l&65535)>=4?(r=c[j>>2]|0,(a[r>>0]|0)==0):0)?(a[r+1>>0]|0)==0:0){switch(a[r+2>>0]|0){case 1:{j=r;break d}case 0:break;default:{s=19;break d}}if((a[r+3>>0]|0)==1)j=r;else s=19}else s=19;while(0);if((s|0)==19){s=0;a[g+i>>0]=0;a[g+(i+1)>>0]=0;a[g+m>>0]=0;a[g+(i+3)>>0]=1;i=i+4|0;k=e[n>>1]|0;j=c[j>>2]|0}Mn(g+i|0,j|0,k|0)|0;i=i+(e[n>>1]|0)|0;o=o+1<<24>>24}while((o&255)<(d[p>>0]|0))}}while(0);return i|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;j=Mb;Mb=Mb+16|0;f=j;h=j+8|0;d=c[a+28200>>2]|0;e=c[d+1184>>2]|0;a:do switch(e|0){case 9:{e=c[d+12>>2]|0;if((e|0)==3){d=h+4|0;e=(c[(c[a+4>>2]|0)+396>>2]|0)==0?84:76;g=23;break a}else{d=h+4|0;e=(e|0)==2?80:70;g=23;break a}}case 10:{e=c[d+12>>2]|0;if((e|0)==3){d=h+4|0;e=(c[(c[a+4>>2]|0)+396>>2]|0)==0?86:78;g=23;break a}else{d=h+4|0;e=(e|0)==2?74:72;g=23;break a}}case 12:{e=c[d+12>>2]|0;if((e|0)==3){d=h+4|0;e=(c[(c[a+4>>2]|0)+396>>2]|0)==0?312:308;g=23;break a}else{d=h+4|0;e=(e|0)==2?304:300;g=23;break a}}case 14:{e=c[d+12>>2]|0;if((e|0)==3){d=h+4|0;e=(c[(c[a+4>>2]|0)+396>>2]|0)==0?314:310;g=23;break a}else{d=h+4|0;e=(e|0)==2?306:302;g=23;break a}}case 8:{d=c[d+12>>2]|0;if((d|0)==3){e=c[a+4>>2]|0;if(!(c[e+396>>2]|0)){d=h+4|0;e=82;g=23;break a}else{d=h+4|0;e=(c[e+400>>2]|0)==2?14:5;g=23;break a}}e=c[a+4>>2]|0;if((d|0)==2){d=h+4|0;e=(c[e+400>>2]|0)==2?13:4;g=23;break a}d=c[(c[e+12>>2]|0)+24>>2]|0;if(!d){d=h+4|0;e=(c[e+400>>2]|0)==2?12:0;g=23}else{i=d;d=h;g=24}break}default:{d=c[a+4>>2]|0;c[f>>2]=e;AD(d,16,207479,f);d=-1094995529}}while(0);if((g|0)==23){c[h>>2]=e;i=h;g=24}b:do if((g|0)==24){c[d>>2]=-1;g=c[a+4>>2]|0;h=g+144|0;f=(b|0)!=0;e=0;while(1){d=c[i+(e<<2)>>2]|0;if((d|0)==-1)break;if(f|(d|0)!=(c[h>>2]|0))e=e+1|0;else break b}d=gw(g,i)|0}while(0);Mb=j;return d|0}function li(a,c,d,f,g){a=a|0;c=c|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,p=0,q=0,r=0,s=0;j=g>>1;h=c;i=0;d=d+(0-(g&-2)<<1)|0;while(1){if((i|0)==9)break;k=d+2|0;n=d+-2|0;g=d+4|0;o=H((e[g>>1]|0)+(e[n>>1]|0)|0,-5)|0;l=d+6|0;b[h>>1]=(((e[k>>1]|0)+(e[d>>1]|0)|0)*20|0)+55306+(e[d+-4>>1]|0)+o+(e[l>>1]|0);o=H((e[l>>1]|0)+(e[d>>1]|0)|0,-5)|0;m=d+8|0;b[h+2>>1]=(((e[g>>1]|0)+(e[k>>1]|0)|0)*20|0)+55306+(e[n>>1]|0)+o+(e[m>>1]|0);o=H((e[m>>1]|0)+(e[k>>1]|0)|0,-5)|0;n=d+10|0;b[h+4>>1]=(((e[l>>1]|0)+(e[g>>1]|0)|0)*20|0)+55306+(e[d>>1]|0)+o+(e[n>>1]|0);g=H((e[n>>1]|0)+(e[g>>1]|0)|0,-5)|0;b[h+6>>1]=(((e[m>>1]|0)+(e[l>>1]|0)|0)*20|0)+55306+(e[k>>1]|0)+g+(e[d+12>>1]|0);h=h+16|0;i=i+1|0;d=d+(j<<1)|0}j=f>>1;h=f&-2;i=j*3|0;d=c+32|0;g=0;while(1){if((g|0)==4)break;s=b[d+-16>>1]|0;q=b[d>>1]|0;r=q+10230|0;f=b[d+16>>1]|0;p=f+10230|0;n=(b[d+32>>1]|0)+10230|0;l=(b[d+48>>1]|0)+10230|0;k=(b[d+64>>1]|0)+10230|0;m=(b[d+80>>1]|0)+10230|0;c=b[d+96>>1]|0;o=(b[d+-32>>1]|0)+10742+l+((p+r|0)*20|0)+(H(n+(s+10230)|0,-5)|0)>>10;b[a>>1]=((e[a>>1]|0)+1+(o>>>0<1024?o:0-o>>31&1023)|0)>>>1;o=a+(j<<1)|0;r=s+10742+k+((n+p|0)*20|0)+(H(l+r|0,-5)|0)>>10;b[o>>1]=((e[o>>1]|0)+1+(r>>>0<1024?r:0-r>>31&1023)|0)>>>1;o=a+(h<<1)|0;p=q+10742+m+((l+n|0)*20|0)+(H(k+p|0,-5)|0)>>10;b[o>>1]=((e[o>>1]|0)+1+(p>>>0<1024?p:0-p>>31&1023)|0)>>>1;o=a+(i<<1)|0;n=f+20972+c+((k+l|0)*20|0)+(H(m+n|0,-5)|0)>>10;b[o>>1]=((e[o>>1]|0)+1+(n>>>0<1024?n:0-n>>31&1023)|0)>>>1;a=a+2|0;d=d+2|0;g=g+1|0}return}function mi(a){a=+a;var b=0,d=0,e=0.0,f=0.0,i=0.0,j=0,k=0,l=0.0;g[h>>3]=a;d=c[h+4>>2]|0;b=d&2147483647;d=kV(c[h>>2]|0,d|0,63)|0;M()|0;do if(b>>>0>1078159481){j=gX(a)|0;b=(M()|0)&2147483647;if(!(b>>>0>2146435072|(b|0)==2146435072&j>>>0>0))if(!d)if(a>709.782712893384)a=a*8988465674311579538646525.0e283;else k=11;else a=-1.0}else{if(b>>>0<=1071001154)if(b>>>0<1016070144)break;else{i=0.0;j=0;k=14;break}if(b>>>0<1072734898)if(!d){b=1;e=a+-.6931471803691238;f=1.9082149292705877e-10;k=12;break}else{b=-1;e=a+.6931471803691238;f=-1.9082149292705877e-10;k=12;break}else k=11}while(0);if((k|0)==11){b=~~(a*1.4426950408889634+((d|0)==0?.5:-.5));f=+(b|0);e=a-f*.6931471803691238;f=f*1.9082149292705877e-10;k=12}if((k|0)==12){i=e-f;a=i;i=e-i-f;j=b;k=14}a:do if((k|0)==14){f=a*.5;e=a*f;l=e*(e*(e*(e*(4.008217827329362e-06-e*2.0109921818362437e-07)+-7.93650757867488e-05)+1.5873015872548146e-03)+-.03333333333333313)+1.0;f=3.0-f*l;f=e*((l-f)/(6.0-a*f));if(!j){a=a-(a*f-e);break}f=a*(f-i)-i-e;switch(j|0){case -1:{a=(a-f)*.5+-.5;break a}case 1:if(a<-.25){a=(f-(a+.5))*-2.0;break a}else{a=(a-f)*2.0+1.0;break a}default:{d=_U(j+1023|0,0,52)|0;k=M()|0;c[h>>2]=d;c[h+4>>2]=k;i=+g[h>>3];if(j>>>0>56){a=a-f+1.0;a=((j|0)==1024?a*2.0*8988465674311579538646525.0e283:a*i)+-1.0;break a}b=_U(1023-j|0,0,52)|0;d=M()|0;if((j|0)<20){c[h>>2]=b;c[h+4>>2]=d;e=1.0-+g[h>>3];a=a-f}else{c[h>>2]=b;c[h+4>>2]=d;e=a-(f+ +g[h>>3]);a=1.0}a=(e+a)*i;break a}}}while(0);return +a}function ni(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;m=c[d+74176>>2]|0;o=d+17856|0;n=(a[d+12>>0]|0)==0?288192:302240;i=(a[d+13>>0]|0)!=0;f=i?298400:288672;i=i?302240:288192;j=b+1024|0;k=b+5696|0;l=d+4|0;a:do if((c[l>>2]|0)==2){g=b+5392|0;e=0;while(1){if((e|0)==8)break a;p=c[g>>2]|0;hc[c[p+652>>2]&255](p,b+1024+(e*120<<2)|0,d+13760+(e<<7<<2)|0,1);e=e+1|0}}else{p=c[b+5400>>2]|0;hc[c[p+652>>2]&255](p,j,d+13760|0,1)}while(0);switch(c[d+8>>2]|0){case 3:case 0:{if((c[l>>2]|0)>>>0<2)jc[c[(c[b+5404>>2]|0)+20>>2]&255](m,o,j,f,480);else h=9;break}default:h=9}do if((h|0)==9){Mn(m|0,o|0,1680)|0;p=(c[l>>2]|0)==2;e=b+5404|0;jc[c[(c[e>>2]|0)+20>>2]&255](m+1680|0,d+19536|0,j,i,60);if(p){jc[c[(c[e>>2]|0)+20>>2]&255](m+2160|0,b+1264|0,b+1504|0,n,60);jc[c[(c[e>>2]|0)+20>>2]&255](m+2640|0,b+1744|0,b+1984|0,n,60);jc[c[(c[e>>2]|0)+20>>2]&255](m+3120|0,b+2224|0,b+2464|0,n,60);jc[c[(c[e>>2]|0)+20>>2]&255](k,b+2704|0,b+2944|0,n,60);Mn(m+3600|0,k|0,240)|0;break}else{Mn(m+2160|0,b+1264|0,1680)|0;break}}while(0);f=c[l>>2]|0;do if((f|0)!=2){e=b+2944|0;if((f|0)==1){Mn(o|0,e|0,1680)|0;Mn(d+19536|0,b+4624|0,240)|0;break}else{Mn(o|0,e|0,1920)|0;break}}else{Mn(o|0,b+5936|0,240)|0;p=b+5404|0;jc[c[(c[p>>2]|0)+20>>2]&255](d+18096|0,b+3184|0,b+3424|0,n,60);jc[c[(c[p>>2]|0)+20>>2]&255](d+18576|0,b+3664|0,b+3904|0,n,60);jc[c[(c[p>>2]|0)+20>>2]&255](d+19056|0,b+4144|0,b+4384|0,n,60);Mn(d+19536|0,b+4624|0,240)|0}while(0);return}function oi(a,b){a=a|0;b=b|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0,v=0;p=c[b+74176>>2]|0;q=b+17856|0;g=(c[a+6516>>2]|0)!=0;r=g?480:512;s=r>>>1;o=r>>>2;n=r+-1|0;e=r+-2|0;d=0;while(1){if(d>>>0>=s>>>0)break;k=b+13760+(d<<2)|0;m=c[k>>2]|0;l=b+13760+(n-d<<2)|0;f[k>>2]=-+f[l>>2];c[l>>2]=m;l=b+13760+((d|1)<<2)|0;t=-+f[l>>2];m=b+13760+(e-d<<2)|0;c[l>>2]=c[m>>2];f[m>>2]=t;d=d+2|0}d=b+13760|0;l=a+1024|0;m=g?10272:2592;if(g){k=c[a+5396>>2]|0;hc[c[k+652>>2]&255](k,l,d,1)}else gc[c[a+5164>>2]&1023](a+5256|0,l,d);d=0;while(1){if(d>>>0>=r>>>0)break;k=a+1024+(d<<2)|0;f[k>>2]=-+f[k>>2];d=d+2|0}j=s+-1|0;i=r-o|0;e=n+s|0;g=r<<1;h=r*3|0;k=h-o|0;d=o;while(1){if(d>>>0>=s>>>0)break;u=d-o|0;v=d+s|0;f[p+(u<<2)>>2]=+f[a+1024+(j-d<<2)>>2]*+f[m+(u<<2)>>2]+ +f[b+17856+(v<<2)>>2]*+f[m+(i+d<<2)>>2]-+f[b+17856+(e-d<<2)>>2]*+f[m+(d+g-o<<2)>>2]-+f[b+17856+(v+g<<2)>>2]*+f[m+(k+d<<2)>>2];d=d+1|0}g=g-o|0;e=h+-1|0;d=0;while(1){if((d|0)==(s|0))break;v=d+s|0;f[p+(d+o<<2)>>2]=+f[a+1024+(d<<2)>>2]*+f[m+(v-o<<2)>>2]-+f[b+17856+(n-d<<2)>>2]*+f[m+(i+v<<2)>>2]-+f[b+17856+(d+r<<2)>>2]*+f[m+(g+v<<2)>>2]+ +f[b+17856+(e-d<<2)>>2]*+f[m+(k+v<<2)>>2];d=d+1|0}d=0;while(1){if((d|0)==(o|0))break;v=d+s|0;f[p+(v+o<<2)>>2]=+f[a+1024+(v<<2)>>2]*+f[m+(d+r-o<<2)>>2]-+f[b+17856+(j-d<<2)>>2]*+f[m+(g+d<<2)>>2]-+f[b+17856+(v+r<<2)>>2]*+f[m+(k+d<<2)>>2];d=d+1|0}WL(b+17856+(r<<2)|0,q|0,r<<3|0)|0;Mn(q|0,l|0,r<<2|0)|0;return}function pi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=Mb;Mb=Mb+192|0;i=r+168|0;h=r+152|0;q=r+136|0;p=r+120|0;o=r+112|0;l=r+96|0;k=r+80|0;f=r+64|0;m=r+48|0;g=r+32|0;e=r+16|0;s=r;j=r+184|0;c[s>>2]=d;d=(c[s>>2]|0)+(4-1)&~(4-1);n=c[d>>2]|0;c[s>>2]=d+4;n=(b|0)==4?n|32768:n;a:do switch(b|0){case 14:{c[e>>2]=a;c[e+4>>2]=14;c[e+8>>2]=n;d=SX(R(221,e|0)|0)|0;break}case 9:{c[g>>2]=a;c[g+4>>2]=16;c[g+8>>2]=j;d=R(221,g|0)|0;switch(d|0){case -22:{c[m>>2]=a;c[m+4>>2]=9;c[m+8>>2]=n;d=R(221,m|0)|0;break}case 0:{d=c[j+4>>2]|0;d=(c[j>>2]|0)==2?0-d|0:d;break}default:d=SX(d)|0}break}case 1030:{c[f>>2]=a;c[f+4>>2]=1030;c[f+8>>2]=n;d=R(221,f|0)|0;if((d|0)!=-22){if((d|0)>-1){c[k>>2]=d;c[k+4>>2]=2;c[k+8>>2]=1;R(221,k|0)|0}d=SX(d)|0;break a}c[l>>2]=a;c[l+4>>2]=1030;c[l+8>>2]=0;d=R(221,l|0)|0;if((d|0)==-22){c[p>>2]=a;c[p+4>>2]=0;c[p+8>>2]=n;d=R(221,p|0)|0;if((d|0)>-1){c[q>>2]=d;c[q+4>>2]=2;c[q+8>>2]=1;R(221,q|0)|0}d=SX(d)|0;break a}else{if((d|0)>-1){c[o>>2]=d;V(6,o|0)|0}d=SX(-22)|0;break a}}case 15:case 16:case 12:case 13:{c[h>>2]=a;c[h+4>>2]=b;c[h+8>>2]=n;d=SX(R(221,h|0)|0)|0;break}default:{c[i>>2]=a;c[i+4>>2]=b;c[i+8>>2]=n;d=SX(R(221,i|0)|0)|0}}while(0);Mb=r;return d|0}function qi(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;g=f>>1;if(!b){b=e[a+-2>>1]|0;d=b}else{d=e[a+-2>>1]|0;b=e[a+(~g<<1)>>1]|0}u=e[a+(g+-1<<1)>>1]|0;t=u+2|0;r=f&-2;s=e[a+(r+-1<<1)>>1]|0;q=s+2|0;p=g*3|0;o=e[a+(p+-1<<1)>>1]|0;n=g<<2;m=e[a+(n+-1<<1)>>1]|0;l=g*5|0;k=e[a+(l+-1<<1)>>1]|0;j=g*6|0;i=e[a+(j+-1<<1)>>1]|0;f=g*7|0;h=e[a+(f+-1<<1)>>1]|0;w=MR((t+b+(d<<1)|0)>>>2|0,0,65537,65537)|0;v=M()|0;b=a;c[b>>2]=w;c[b+4>>2]=v;b=a+8|0;c[b>>2]=w;c[b+4>>2]=v;u=MR((q+d+(u<<1)|0)>>>2|0,0,65537,65537)|0;b=M()|0;d=a+(g<<1)|0;g=d;c[g>>2]=u;c[g+4>>2]=b;d=d+8|0;c[d>>2]=u;c[d+4>>2]=b;d=MR((t+(s<<1)+o|0)>>>2|0,0,65537,65537)|0;g=M()|0;b=a+(r<<1)|0;r=b;c[r>>2]=d;c[r+4>>2]=g;b=b+8|0;c[b>>2]=d;c[b+4>>2]=g;b=MR((q+(o<<1)+m|0)>>>2|0,0,65537,65537)|0;g=M()|0;d=a+(p<<1)|0;p=d;c[p>>2]=b;c[p+4>>2]=g;d=d+8|0;c[d>>2]=b;c[d+4>>2]=g;d=MR((o+2+(m<<1)+k|0)>>>2|0,0,65537,65537)|0;g=M()|0;b=a+(n<<1)|0;n=b;c[n>>2]=d;c[n+4>>2]=g;b=b+8|0;c[b>>2]=d;c[b+4>>2]=g;b=MR((m+2+(k<<1)+i|0)>>>2|0,0,65537,65537)|0;g=M()|0;d=a+(l<<1)|0;l=d;c[l>>2]=b;c[l+4>>2]=g;d=d+8|0;c[d>>2]=b;c[d+4>>2]=g;d=MR((k+2+(i<<1)+h|0)>>>2|0,0,65537,65537)|0;g=M()|0;b=a+(j<<1)|0;j=b;c[j>>2]=d;c[j+4>>2]=g;b=b+8|0;c[b>>2]=d;c[b+4>>2]=g;b=MR((i+2+(h*3|0)|0)>>>2|0,0,65537,65537)|0;g=M()|0;f=a+(f<<1)|0;a=f;c[a>>2]=b;c[a+4>>2]=g;f=f+8|0;c[f>>2]=b;c[f+4>>2]=g;return}function ri(a,b,g,i){a=a|0;b=b|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0.0;E=Mb;Mb=Mb+176|0;A=E+96|0;D=E;w=c[g+96>>2]|0;x=d[g>>0]|0;w=(w|0)>(x|0)?x:w;x=g+92|0;y=g+88|0;v=g+80|0;q=(i|0)==0;o=0;while(1){if((o|0)>=(c[x>>2]|0))break;r=b+4+(o<<2)|0;s=o<<7;p=0;g=c[y>>2]|0;while(1){if((p|0)>=(c[r>>2]|0))break;u=g-(c[b+36+(o<<4)+(p<<2)>>2]|0)|0;u=(u|0)>0?u:0;t=c[b+292+(o<<4)+(p<<2)>>2]|0;a:do if(t|0?(jA(b+2980+(o*320|0)+(p*80|0)|0,t,A),B=c[v>>2]|0,z=e[B+(((u|0)>(w|0)?w:u)<<1)>>1]|0,B=e[B+(((g|0)>(w|0)?w:g)<<1)>>1]|0,C=B-z|0,(C|0)>=1):0){g=(c[b+164+(o<<4)+(p<<2)>>2]|0)==0;n=g?1:-1;g=(g?z:B+-1|0)+s|0;if(!q){l=0;while(1){if((l|0)==(C|0))break a;j=(l|0)>(t|0)?t:l;k=a+(g<<2)|0;i=1;while(1){if((i|0)>(j|0))break;F=a+(g-(H(i,n)|0)<<2)|0;f[k>>2]=+f[k>>2]-+f[F>>2]*+f[A+(i+-1<<2)>>2];i=i+1|0}l=l+1|0;g=g+n|0}}l=0;k=g;while(1){if((l|0)==(C|0))break a;i=a+(k<<2)|0;F=c[i>>2]|0;c[D>>2]=F;j=(l|0)>(t|0)?t:l;g=1;m=(c[h>>2]=F,+f[h>>2]);while(1){if((g|0)>(j|0))break;G=m+ +f[D+(g<<2)>>2]*+f[A+(g+-1<<2)>>2];f[i>>2]=G;g=g+1|0;m=G}g=t;while(1){if((g|0)<=0)break;F=g+-1|0;c[D+(g<<2)>>2]=c[D+(F<<2)>>2];g=F}l=l+1|0;k=k+n|0}}while(0);p=p+1|0;g=u}o=o+1|0}Mb=E;return}function si(a,b,d,e,h){a=a|0;b=b|0;d=d|0;e=e|0;h=h|0;var i=0,j=0;i=c[a+12>>2]|0;a:do if((i|0)>=9){if((i|0)<1128811585){if((i|0)<128)switch(i|0){case 9:{j=6;break a}default:{a=-22;break a}}if((i|0)>=1112493900)switch(i|0){case 1112493900:{j=5;break a}default:{a=-22;break a}}switch(i|0){case 128:break;default:{a=-22;break a}}g[d>>3]=+g[a+16>>3];a=0;break}if((i|0)<1346784596)if((i|0)<1146442272)switch(i|0){case 1128811585:{j=6;break a}default:{a=-22;break a}}else switch(i|0){case 1146442272:{j=6;break a}default:{a=-22;break a}}if((i|0)<1397116244){switch(i|0){case 1346784596:break;default:{a=-22;break a}}i=c[b>>2]|0;a=h;c[a>>2]=i;c[a+4>>2]=((i|0)<0)<<31>>31;a=0;break}else{switch(i|0){case 1397116244:break;default:{a=-22;break a}}i=c[b>>2]|0;a=h;c[a>>2]=i;c[a+4>>2]=((i|0)<0)<<31>>31;a=0;break}}else switch(i|0){case 1:{j=5;break a}case 2:{j=6;break a}case 0:{a=h;c[a>>2]=c[b>>2];c[a+4>>2]=0;a=0;break a}case 4:{g[d>>3]=+f[b>>2];a=0;break a}case 3:{g[d>>3]=+g[b>>3];a=0;break a}case 6:{i=c[b>>2]|0;a=h;c[a>>2]=i;c[a+4>>2]=((i|0)<0)<<31>>31;c[e>>2]=c[b+4>>2];a=0;break a}default:{a=-22;break a}}while(0);if((j|0)==5){j=c[b>>2]|0;a=h;c[a>>2]=j;c[a+4>>2]=((j|0)<0)<<31>>31;a=0}else if((j|0)==6){i=b;j=c[i+4>>2]|0;a=h;c[a>>2]=c[i>>2];c[a+4>>2]=j;a=0}return a|0}function ti(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;n=c[d+74176>>2]|0;p=d+17856|0;o=(a[d+12>>0]|0)==0?223168:297888;j=(a[d+13>>0]|0)!=0;f=j?293792:226752;j=j?297888:223168;k=b+1024|0;l=b+5696|0;m=d+4|0;a:do if((c[m>>2]|0)==2){g=b+5188|0;h=b+5232|0;e=0;while(1){if(e>>>0>=1024)break a;gc[c[h>>2]&1023](g,b+1024+(e<<2)|0,d+13760+(e<<2)|0);e=e+128|0}}else gc[c[b+5164>>2]&1023](b+5120|0,k,d+13760|0);while(0);switch(c[d+8>>2]|0){case 3:case 0:{if((c[m>>2]|0)>>>0<2)jc[c[(c[b+5404>>2]|0)+20>>2]&255](n,p,k,f,512);else i=9;break}default:i=9}do if((i|0)==9){Mn(n|0,p|0,1792)|0;i=(c[m>>2]|0)==2;e=b+5404|0;jc[c[(c[e>>2]|0)+20>>2]&255](n+1792|0,d+19648|0,k,j,64);if(i){jc[c[(c[e>>2]|0)+20>>2]&255](n+2304|0,b+1280|0,b+1536|0,o,64);jc[c[(c[e>>2]|0)+20>>2]&255](n+2816|0,b+1792|0,b+2048|0,o,64);jc[c[(c[e>>2]|0)+20>>2]&255](n+3328|0,b+2304|0,b+2560|0,o,64);jc[c[(c[e>>2]|0)+20>>2]&255](l,b+2816|0,b+3072|0,o,64);Mn(n+3840|0,l|0,256)|0;break}else{Mn(n+2304|0,b+1280|0,1792)|0;break}}while(0);f=c[m>>2]|0;do if((f|0)!=2){e=b+3072|0;if((f|0)==1){Mn(p|0,e|0,1792)|0;Mn(d+19648|0,b+4864|0,256)|0;break}else{Mn(p|0,e|0,2048)|0;break}}else{Mn(p|0,b+5952|0,256)|0;p=b+5404|0;jc[c[(c[p>>2]|0)+20>>2]&255](d+18112|0,b+3328|0,b+3584|0,o,64);jc[c[(c[p>>2]|0)+20>>2]&255](d+18624|0,b+3840|0,b+4096|0,o,64);jc[c[(c[p>>2]|0)+20>>2]&255](d+19136|0,b+4352|0,b+4608|0,o,64);Mn(d+19648|0,b+4864|0,256)|0}while(0);return}function ui(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==8)break;j=c+2|0;i=c+-2|0;k=c+4|0;m=H((e[k>>1]|0)+(e[i>>1]|0)|0,-5)|0;l=c+6|0;m=(((e[j>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+m+(e[l>>1]|0)>>5;b[d>>1]=m>>>0<16384?m:0-m>>31&16383;m=H((e[l>>1]|0)+(e[c>>1]|0)|0,-5)|0;n=c+8|0;m=(((e[k>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[i>>1]|0)+m+(e[n>>1]|0)>>5;b[d+2>>1]=m>>>0<16384?m:0-m>>31&16383;m=H((e[n>>1]|0)+(e[j>>1]|0)|0,-5)|0;i=c+10|0;m=(((e[l>>1]|0)+(e[k>>1]|0)|0)*20|0)+16+(e[c>>1]|0)+m+(e[i>>1]|0)>>5;b[d+4>>1]=m>>>0<16384?m:0-m>>31&16383;m=H((e[i>>1]|0)+(e[k>>1]|0)|0,-5)|0;a=c+12|0;m=(((e[n>>1]|0)+(e[l>>1]|0)|0)*20|0)+16+(e[j>>1]|0)+m+(e[a>>1]|0)>>5;b[d+6>>1]=m>>>0<16384?m:0-m>>31&16383;m=H((e[a>>1]|0)+(e[l>>1]|0)|0,-5)|0;j=c+14|0;m=(((e[i>>1]|0)+(e[n>>1]|0)|0)*20|0)+16+(e[k>>1]|0)+m+(e[j>>1]|0)>>5;b[d+8>>1]=m>>>0<16384?m:0-m>>31&16383;m=H((e[j>>1]|0)+(e[n>>1]|0)|0,-5)|0;k=c+16|0;m=(((e[a>>1]|0)+(e[i>>1]|0)|0)*20|0)+16+(e[l>>1]|0)+m+(e[k>>1]|0)>>5;b[d+10>>1]=m>>>0<16384?m:0-m>>31&16383;m=H((e[k>>1]|0)+(e[i>>1]|0)|0,-5)|0;l=c+18|0;m=(((e[j>>1]|0)+(e[a>>1]|0)|0)*20|0)+16+(e[n>>1]|0)+m+(e[l>>1]|0)>>5;b[d+12>>1]=m>>>0<16384?m:0-m>>31&16383;a=H((e[l>>1]|0)+(e[a>>1]|0)|0,-5)|0;a=(((e[k>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[i>>1]|0)+a+(e[c+20>>1]|0)>>5;b[d+14>>1]=a>>>0<16384?a:0-a>>31&16383;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function vi(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;y=a+32|0;z=a+36|0;h=c[z>>2]|0;A=a+48|0;g=c[A>>2]|0;i=0;j=c[y>>2]|0;while(1){if((j|0)<(g|0))break;i=i+1|0;j=j-g|0}t=a+4|0;u=a+12|0;v=a+8|0;w=a+28|0;x=a+24|0;s=a+40|0;r=0;while(1){if((r|0)>=(e|0))break;l=(c[t>>2]|0)+((H(c[u>>2]|0,j)|0)<<2)|0;m=c[v>>2]|0;n=((m|0)>1?m:1)&2147483646;k=0;a=536870912;g=0;p=0;q=0;while(1){o=k|1;if((o|0)>=(m|0))break;D=k+i|0;C=c[d+(D<<2)>>2]|0;B=c[l+(k<<2)>>2]|0;C=MR(B|0,((B|0)<0)<<31>>31|0,C|0,((C|0)<0)<<31>>31|0)|0;C=aX(C|0,M()|0,a|0,g|0)|0;B=M()|0;D=c[d+(D+1<<2)>>2]|0;o=c[l+(o<<2)>>2]|0;o=MR(o|0,((o|0)<0)<<31>>31|0,D|0,((D|0)<0)<<31>>31|0)|0;o=aX(o|0,M()|0,p|0,q|0)|0;k=k+2|0;a=C;g=B;p=o;q=M()|0}if((n|0)<(m|0)){D=c[d+(n+i<<2)>>2]|0;C=c[l+(n<<2)>>2]|0;D=MR(C|0,((C|0)<0)<<31>>31|0,D|0,((D|0)<0)<<31>>31|0)|0;a=aX(D|0,M()|0,a|0,g|0)|0;g=M()|0}B=aX(a|0,g|0,p|0,q|0)|0;D=M()|0;a=BU(B|0,D|0,30)|0;g=aX(a|0,M()|0,-2147483648,0)|0;C=M()|0;D=BU(B|0,D|0,63)|0;M()|0;c[b+(r<<2)>>2]=C>>>0>0|(C|0)==0&g>>>0>4294967295?D^2147483647:a;a=(c[w>>2]|0)+h|0;h=c[s>>2]|0;D=(a|0)<(h|0);h=D?0:h;g=c[A>>2]|0;j=(c[x>>2]|0)+j+((D^1)&1)|0;while(1){if((j|0)<(g|0))break;i=i+1|0;j=j-g|0}r=r+1|0;h=a-h|0}if(f|0){c[z>>2]=h;c[y>>2]=j}return i|0}function wi(a,b,e){a=a|0;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;r=a+72|0;s=a+16|0;t=a+32|0;u=a+20|0;v=a+52|0;w=a+44|0;h=a+36|0;i=a+64|0;j=a+48|0;k=a+24|0;l=a+25|0;m=a+26|0;n=a+27|0;o=a+56|0;p=a+60|0;q=a+68|0;g=0;a:while(1){if(!e){f=0;break}switch(c[s>>2]|0){case 0:{y=c[t>>2]|0;z=9-y|0;z=z>>>0>e>>>0?e:z;Mn(a+20+y|0,b+g|0,z|0)|0;y=z+(c[t>>2]|0)|0;c[t>>2]=y;e=e-z|0;g=z+g|0;if((y|0)==9){c[s>>2]=3;c[t>>2]=0}break}case 1:{z=c[t>>2]|0;y=11-z|0;y=y>>>0>e>>>0?e:y;Mn(a+20+z|0,b+g|0,y|0)|0;z=y+(c[t>>2]|0)|0;c[t>>2]=z;e=e-y|0;g=y+g|0;if((z|0)==11){c[s>>2]=2;c[t>>2]=0;c[j>>2]=d[u>>0];z=HX(u,1)|0;c[v>>2]=z;c[o>>2]=(d[l>>0]|0)<<8|(d[k>>0]|0)<<16|(d[m>>0]|0)|(d[n>>0]|0)<<24}break}case 2:{cS(a,c[v>>2]|0);z=c[w>>2]|0;y=(c[v>>2]|0)-z|0;y=y>>>0>e>>>0?e:y;Mn((c[h>>2]|0)+z|0,b+g|0,y|0)|0;z=(c[w>>2]|0)+y|0;c[w>>2]=z;e=e-y|0;g=y+g|0;if((z|0)==(c[v>>2]|0)){c[s>>2]=3;c[w>>2]=0}break}case 3:{z=c[i>>2]|0;y=4-z|0;y=y>>>0>e>>>0?e:y;Mn(a+60+z|0,b+g|0,y|0)|0;z=y+(c[i>>2]|0)|0;c[i>>2]=z;e=e-y|0;g=y+g|0;if(((z|0)==4?(c[s>>2]=1,c[i>>2]=0,z=dW(p,0)|0,c[q>>2]=z,x=c[v>>2]|0,(x|0)==(z+-11|0)):0)?(f=NN(c[r>>2]|0,c[j>>2]|0,c[h>>2]|0,x,c[o>>2]|0)|0,(f|0)>0):0)break a;break}default:{}}}return f|0}function xi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0,r=0,s=0,t=0;o=Mb;Mb=Mb+16|0;l=o;k=a+128|0;do if(((c[k>>2]|0)+-4|0)>>>0<61)b=-22;else{n=xW(b)|0;h=xW(d)|0;if((h+-3|0)>>>0>=2){d=(h|0)==2;b=(n|0)==2;if(b&d){e=(c[a+11040>>2]&31|0)==0?0.0:1.0;b=1;d=1}else e=0.0}else{b=(n|0)==2;e=(n|0)==0?.0078125:(n|0)==1?.000030517578125:b?4.656612873077393e-10:0.0;d=0}j=(n|0)==0;e=(j&(h|0)==1?256.0:j&d?16777216.0:(n|0)==1&d?65536.0:e)*+f[a+136>>2];if(b){j=c[a+11040>>2]|0;e=(j|0)==0?e:e*+(1<<32-j|0)}if(e==0.0){c[k>>2]=0;b=0;break}c[a+156>>2]=0;p=e;f[a+140>>2]=p;f[a+148>>2]=p;j=a+152|0;f[j>>2]=1.0/e;jv(a+240|0,0,10240)|0;b=a+44|0;i=0;while(1){if((i|0)==15){m=19;break}h=c[153984+(i*24|0)>>2]|0;t=(c[b>>2]|0)-h|0;r=((t|0)<0)<<31>>31;q=(r|0)>-1|(r|0)==-1&t>>>0>4294967295;s=_W(0,0,t|0,r|0)|0;d=M()|0;d=MR((q?t:s)|0,(q?r:d)|0,20,0)|0;r=M()|0;q=((h|0)<0)<<31>>31;if(!((r|0)>(q|0)|(r|0)==(q|0)&d>>>0>h>>>0)?(c[153984+(i*24|0)+20>>2]|0)==(c[k>>2]|0):0)break;i=i+1|0}if((m|0)==19){if((c[k>>2]|0)<=64){b=0;break}AD(a,24,219265,l);c[k>>2]=3;b=0;break}d=153984+(i*24|0)+16|0;h=c[153984+(i*24|0)+8>>2]|0;c[a+144>>2]=h;b=0;while(1){if((b|0)==(h|0))break;f[a+160+(b<<2)>>2]=+g[(c[d>>2]|0)+(b<<3)>>3];b=b+1|0}p=+E(+(+(c[153984+(i*24|0)+12>>2]|0)*2.302585092994046*.005))*2.0;p=1.0-p/+(1<<((jY(n)|0)<<3)|0);f[j>>2]=p*+f[j>>2];b=0}while(0);Mb=o;return b|0}function yi(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==8)break;j=c+2|0;i=c+-2|0;k=c+4|0;m=H((e[k>>1]|0)+(e[i>>1]|0)|0,-5)|0;l=c+6|0;m=(((e[j>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+m+(e[l>>1]|0)>>5;b[d>>1]=m>>>0<4096?m:0-m>>31&4095;m=H((e[l>>1]|0)+(e[c>>1]|0)|0,-5)|0;n=c+8|0;m=(((e[k>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[i>>1]|0)+m+(e[n>>1]|0)>>5;b[d+2>>1]=m>>>0<4096?m:0-m>>31&4095;m=H((e[n>>1]|0)+(e[j>>1]|0)|0,-5)|0;i=c+10|0;m=(((e[l>>1]|0)+(e[k>>1]|0)|0)*20|0)+16+(e[c>>1]|0)+m+(e[i>>1]|0)>>5;b[d+4>>1]=m>>>0<4096?m:0-m>>31&4095;m=H((e[i>>1]|0)+(e[k>>1]|0)|0,-5)|0;a=c+12|0;m=(((e[n>>1]|0)+(e[l>>1]|0)|0)*20|0)+16+(e[j>>1]|0)+m+(e[a>>1]|0)>>5;b[d+6>>1]=m>>>0<4096?m:0-m>>31&4095;m=H((e[a>>1]|0)+(e[l>>1]|0)|0,-5)|0;j=c+14|0;m=(((e[i>>1]|0)+(e[n>>1]|0)|0)*20|0)+16+(e[k>>1]|0)+m+(e[j>>1]|0)>>5;b[d+8>>1]=m>>>0<4096?m:0-m>>31&4095;m=H((e[j>>1]|0)+(e[n>>1]|0)|0,-5)|0;k=c+16|0;m=(((e[a>>1]|0)+(e[i>>1]|0)|0)*20|0)+16+(e[l>>1]|0)+m+(e[k>>1]|0)>>5;b[d+10>>1]=m>>>0<4096?m:0-m>>31&4095;m=H((e[k>>1]|0)+(e[i>>1]|0)|0,-5)|0;l=c+18|0;m=(((e[j>>1]|0)+(e[a>>1]|0)|0)*20|0)+16+(e[n>>1]|0)+m+(e[l>>1]|0)>>5;b[d+12>>1]=m>>>0<4096?m:0-m>>31&4095;a=H((e[l>>1]|0)+(e[a>>1]|0)|0,-5)|0;a=(((e[k>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[i>>1]|0)+a+(e[c+20>>1]|0)>>5;b[d+14>>1]=a>>>0<4096?a:0-a>>31&4095;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function zi(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==8)break;j=c+2|0;i=c+-2|0;k=c+4|0;m=H((e[k>>1]|0)+(e[i>>1]|0)|0,-5)|0;l=c+6|0;m=(((e[j>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+m+(e[l>>1]|0)>>5;b[d>>1]=m>>>0<1024?m:0-m>>31&1023;m=H((e[l>>1]|0)+(e[c>>1]|0)|0,-5)|0;n=c+8|0;m=(((e[k>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[i>>1]|0)+m+(e[n>>1]|0)>>5;b[d+2>>1]=m>>>0<1024?m:0-m>>31&1023;m=H((e[n>>1]|0)+(e[j>>1]|0)|0,-5)|0;i=c+10|0;m=(((e[l>>1]|0)+(e[k>>1]|0)|0)*20|0)+16+(e[c>>1]|0)+m+(e[i>>1]|0)>>5;b[d+4>>1]=m>>>0<1024?m:0-m>>31&1023;m=H((e[i>>1]|0)+(e[k>>1]|0)|0,-5)|0;a=c+12|0;m=(((e[n>>1]|0)+(e[l>>1]|0)|0)*20|0)+16+(e[j>>1]|0)+m+(e[a>>1]|0)>>5;b[d+6>>1]=m>>>0<1024?m:0-m>>31&1023;m=H((e[a>>1]|0)+(e[l>>1]|0)|0,-5)|0;j=c+14|0;m=(((e[i>>1]|0)+(e[n>>1]|0)|0)*20|0)+16+(e[k>>1]|0)+m+(e[j>>1]|0)>>5;b[d+8>>1]=m>>>0<1024?m:0-m>>31&1023;m=H((e[j>>1]|0)+(e[n>>1]|0)|0,-5)|0;k=c+16|0;m=(((e[a>>1]|0)+(e[i>>1]|0)|0)*20|0)+16+(e[l>>1]|0)+m+(e[k>>1]|0)>>5;b[d+10>>1]=m>>>0<1024?m:0-m>>31&1023;m=H((e[k>>1]|0)+(e[i>>1]|0)|0,-5)|0;l=c+18|0;m=(((e[j>>1]|0)+(e[a>>1]|0)|0)*20|0)+16+(e[n>>1]|0)+m+(e[l>>1]|0)>>5;b[d+12>>1]=m>>>0<1024?m:0-m>>31&1023;a=H((e[l>>1]|0)+(e[a>>1]|0)|0,-5)|0;a=(((e[k>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[i>>1]|0)+a+(e[c+20>>1]|0)>>5;b[d+14>>1]=a>>>0<1024?a:0-a>>31&1023;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function Ai(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=Mb;Mb=Mb+16|0;g=s+8|0;f=s;o=c[b+60>>2]|0;p=o+1412|0;q=1<<c[(c[p>>2]|0)+13336>>2];r=o+1416|0;b=c[r>>2]|0;d=c[(c[b+1668>>2]|0)+(c[o+3496>>2]<<2)>>2]|0;e=(a[o+2429>>0]|0)==0;if(!d)if(e)i=7;else{AD(c[o+4>>2]|0,16,179421,f);d=-1094995529}else if(!e?(c[(c[o+7560>>2]|0)+(c[(c[b+1672>>2]|0)+(d+-1<<2)>>2]<<2)>>2]|0)!=(c[o+2416>>2]|0):0){AD(c[o+4>>2]|0,16,179447,g);d=-1094995529}else i=7;do if((i|0)==7){i=q+-1|0;j=o+3080|0;k=o+3504|0;l=o+3084|0;m=o+3058|0;n=o+7584|0;e=0;f=0;b=1;while(1){g=c[p>>2]|0;if(!b){i=15;break}if((d|0)>=(c[g+13392>>2]|0)){i=15;break}h=c[(c[(c[r>>2]|0)+1672>>2]|0)+(d<<2)>>2]|0;f=c[g+13336>>2]|0;e=i+(c[g+13376>>2]|0)>>f;b=(h|0)/(e|0)|0;e=h-(H(b,e)|0)<<f;f=b<<f;eh(o,e,f,d);b=gl(o,d)|0;if((b|0)<0){i=11;break}b=c[(c[p>>2]|0)+13336>>2]|0;he(o,e>>b,f>>b);b=c[k>>2]|0;c[b+(h<<3)>>2]=c[j>>2];c[b+(h<<3)+4>>2]=c[l>>2];a[(c[n>>2]|0)+h>>0]=a[m>>0]|0;b=Ph(o,e,f,c[(c[p>>2]|0)+13336>>2]|0,0)|0;if((b|0)<0){i=13;break}h=d+1|0;nK(o,h);TC(o,e,f,q);d=h}if((i|0)==11){c[(c[o+7560>>2]|0)+(h<<2)>>2]=-1;d=b;break}else if((i|0)==13){c[(c[o+7560>>2]|0)+(h<<2)>>2]=-1;d=b;break}else if((i|0)==15){if((e+q|0)<(c[g+13376>>2]|0))break;if((f+q|0)<(c[g+13380>>2]|0))break;Pt(o,e,f,q);break}}while(0);Mb=s;return d|0}function Bi(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;p=Mb;Mb=Mb+16|0;h=p;k=a+64|0;l=c[(c[k>>2]|0)+20>>2]|0;n=a+12|0;e=c[n>>2]|0;gB(l,b);f=l+4|0;g=c[f>>2]|0;if((g|0?(d=c[l>>2]|0,(g|0)!=(d|0)):0)?(Uh(c[d+212>>2]|0,c[g+212>>2]|0,0)|0)<0:0){AD(a,16,193493,h);h=c[(c[(c[l>>2]|0)+212>>2]|0)+64>>2]|0;c[c[(c[(c[f>>2]|0)+212>>2]|0)+64>>2]>>2]=c[h>>2];c[h>>2]=1}f=e+92|0;e=0;while(1){if((e|0)>=(b|0))break;g=c[l>>2]|0;h=g+(e*352|0)|0;d=g+(e*352|0)+156|0;d2(d)|0;c[g+(e*352|0)+332>>2]=1;xb(g+(e*352|0)+12|0)|0;d2(d)|0;d=g+(e*352|0)+8|0;if(c[d>>2]|0)Ab(c[g+(e*352|0)+4>>2]|0,0)|0;c[d>>2]=0;d=c[f>>2]|0;if(d|0?(i=c[g+(e*352|0)+212>>2]|0,i|0):0)Vb[d&31](i)|0;Rw(h);rY(g+(e*352|0)+288|0);e=e+1|0}d=0;while(1){if((d|0)>=(b|0))break;e=c[l>>2]|0;d2(e+(d*352|0)+156|0)|0;d2(e+(d*352|0)+184|0)|0;vb(e+(d*352|0)+12|0)|0;vb(e+(d*352|0)+60|0)|0;vb(e+(d*352|0)+108|0)|0;BX(e+(d*352|0)+216|0);bU(e+(d*352|0)+304|0);e=e+(d*352|0)+212|0;if(d){f=c[e>>2]|0;if(f|0){bU(f+60|0);bU((c[e>>2]|0)+224|0);m=18}}else m=18;if((m|0)==18?(m=0,j=c[e>>2]|0,j|0):0){bU(j+64|0);F$((c[e>>2]|0)+976|0)}bU(e);d=d+1|0}bU(l);d2(l+8|0)|0;d2(l+36|0)|0;d2(l+64|0)|0;vb(l+92|0)|0;bU((c[k>>2]|0)+20|0);d=c[a+60>>2]|0;if((d|0?(o=c[n>>2]|0,o|0):0)?c[o+44>>2]|0:0)rL(d);c[n>>2]=0;Mb=p;return}function Ci(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,u=0,v=0,w=0;w=Mb;Mb=Mb+16|0;v=w;i=b+6472|0;switch(c[i>>2]|0){case 23:{g=32;break}case 39:{g=33;break}default:if(!(c[b+6516>>2]|0))g=c[b+6744>>2]|0;else g=34}t=b+4|0;u=b+6752|0;j=b+6748|0;k=b+6760|0;l=b+6488|0;h=3;while(1){if((h|0)<=-1)break;m=(h|0)<2;n=(h|0)==1;o=(h|0)==2;p=(h|0)<3;f=0;while(1){if((f|0)==16)break;q=c[b+492+(h<<6)+(f<<2)>>2]|0;do if(q|0){if(!(c[q>>2]|0)){s=c[t>>2]|0;c[v>>2]=h;c[v+4>>2]=f;AD(s,40,196311,v);break}if(m)Tr(b,q,h,f,0,73);if((c[i>>2]|0)==4?(r=q+288|0,c[q+388>>2]|0):0){if(a[q+316>>0]|0)ec[c[j>>2]&255](b,r);if(n&(a[q+74524>>0]|0)!=0)ec[c[j>>2]&255](b,q+74496|0)}s=q+288|0;d=q+580|0;if(c[d>>2]|0)hc[c[u>>2]&255](q+14048|0,d,s,1);e=q+74496|0;d=q+74788|0;if(c[d>>2]|0)hc[c[u>>2]&255](q+88256|0,d,e,1);if(!m)if(o?(c[q+148704>>2]|0)!=3:0)d=35;else d=27;else{Tr(b,q,h,f,1,73);d=27}if((d|0)==27){d=0;ec[g&255](b,s);if((c[i>>2]|0)==4)ec[c[k>>2]&255](b,s);if(n?(ec[g&255](b,e),(c[i>>2]|0)==4):0)ec[c[k>>2]&255](b,e);if((c[l>>2]|0)>0)qg(b,q+156512|0,h,c[q+74464>>2]|0,c[q+148672>>2]|0);if(p)d=35}if((d|0)==35)Tr(b,q,h,f,3,74);c[q>>2]=0}while(0);f=f+1|0}h=h+-1|0}Mb=w;return}function Di(a,b,c,e,f){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;g=0;h=0;a=c;while(1){c=a+e|0;if((g|0)>=(f|0))break;x=(d[b>>0]|0)-(((d[a>>0]|0)+1+(d[c>>0]|0)|0)>>>1)|0;w=(d[b+1>>0]|0)-(((d[a+1>>0]|0)+1+(d[c+1>>0]|0)|0)>>>1)|0;v=(d[b+2>>0]|0)-(((d[a+2>>0]|0)+1+(d[c+2>>0]|0)|0)>>>1)|0;u=(d[b+3>>0]|0)-(((d[a+3>>0]|0)+1+(d[c+3>>0]|0)|0)>>>1)|0;t=(d[b+4>>0]|0)-(((d[a+4>>0]|0)+1+(d[c+4>>0]|0)|0)>>>1)|0;s=(d[b+5>>0]|0)-(((d[a+5>>0]|0)+1+(d[c+5>>0]|0)|0)>>>1)|0;r=(d[b+6>>0]|0)-(((d[a+6>>0]|0)+1+(d[c+6>>0]|0)|0)>>>1)|0;q=(d[b+7>>0]|0)-(((d[a+7>>0]|0)+1+(d[c+7>>0]|0)|0)>>>1)|0;p=(d[b+8>>0]|0)-(((d[a+8>>0]|0)+1+(d[c+8>>0]|0)|0)>>>1)|0;o=(d[b+9>>0]|0)-(((d[a+9>>0]|0)+1+(d[c+9>>0]|0)|0)>>>1)|0;n=(d[b+10>>0]|0)-(((d[a+10>>0]|0)+1+(d[c+10>>0]|0)|0)>>>1)|0;m=(d[b+11>>0]|0)-(((d[a+11>>0]|0)+1+(d[c+11>>0]|0)|0)>>>1)|0;l=(d[b+12>>0]|0)-(((d[a+12>>0]|0)+1+(d[c+12>>0]|0)|0)>>>1)|0;k=(d[b+13>>0]|0)-(((d[a+13>>0]|0)+1+(d[c+13>>0]|0)|0)>>>1)|0;j=(d[b+14>>0]|0)-(((d[a+14>>0]|0)+1+(d[c+14>>0]|0)|0)>>>1)|0;i=(d[b+15>>0]|0)-(((d[a+15>>0]|0)+1+(d[c+15>>0]|0)|0)>>>1)|0;g=g+1|0;h=((x|0)>-1?x:0-x|0)+h+((w|0)>-1?w:0-w|0)+((v|0)>-1?v:0-v|0)+((u|0)>-1?u:0-u|0)+((t|0)>-1?t:0-t|0)+((s|0)>-1?s:0-s|0)+((r|0)>-1?r:0-r|0)+((q|0)>-1?q:0-q|0)+((p|0)>-1?p:0-p|0)+((o|0)>-1?o:0-o|0)+((n|0)>-1?n:0-n|0)+((m|0)>-1?m:0-m|0)+((l|0)>-1?l:0-l|0)+((k|0)>-1?k:0-k|0)+((j|0)>-1?j:0-j|0)+((i|0)>-1?i:0-i|0)|0;b=b+e|0;a=c}return h|0}function Ei(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==8)break;j=c+2|0;i=c+-2|0;k=c+4|0;m=H((e[k>>1]|0)+(e[i>>1]|0)|0,-5)|0;l=c+6|0;m=(((e[j>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+m+(e[l>>1]|0)>>5;b[d>>1]=m>>>0<512?m:0-m>>31&511;m=H((e[l>>1]|0)+(e[c>>1]|0)|0,-5)|0;n=c+8|0;m=(((e[k>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[i>>1]|0)+m+(e[n>>1]|0)>>5;b[d+2>>1]=m>>>0<512?m:0-m>>31&511;m=H((e[n>>1]|0)+(e[j>>1]|0)|0,-5)|0;i=c+10|0;m=(((e[l>>1]|0)+(e[k>>1]|0)|0)*20|0)+16+(e[c>>1]|0)+m+(e[i>>1]|0)>>5;b[d+4>>1]=m>>>0<512?m:0-m>>31&511;m=H((e[i>>1]|0)+(e[k>>1]|0)|0,-5)|0;a=c+12|0;m=(((e[n>>1]|0)+(e[l>>1]|0)|0)*20|0)+16+(e[j>>1]|0)+m+(e[a>>1]|0)>>5;b[d+6>>1]=m>>>0<512?m:0-m>>31&511;m=H((e[a>>1]|0)+(e[l>>1]|0)|0,-5)|0;j=c+14|0;m=(((e[i>>1]|0)+(e[n>>1]|0)|0)*20|0)+16+(e[k>>1]|0)+m+(e[j>>1]|0)>>5;b[d+8>>1]=m>>>0<512?m:0-m>>31&511;m=H((e[j>>1]|0)+(e[n>>1]|0)|0,-5)|0;k=c+16|0;m=(((e[a>>1]|0)+(e[i>>1]|0)|0)*20|0)+16+(e[l>>1]|0)+m+(e[k>>1]|0)>>5;b[d+10>>1]=m>>>0<512?m:0-m>>31&511;m=H((e[k>>1]|0)+(e[i>>1]|0)|0,-5)|0;l=c+18|0;m=(((e[j>>1]|0)+(e[a>>1]|0)|0)*20|0)+16+(e[n>>1]|0)+m+(e[l>>1]|0)>>5;b[d+12>>1]=m>>>0<512?m:0-m>>31&511;a=H((e[l>>1]|0)+(e[a>>1]|0)|0,-5)|0;a=(((e[k>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[i>>1]|0)+a+(e[c+20>>1]|0)>>5;b[d+14>>1]=a>>>0<512?a:0-a>>31&511;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function Fi(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,o=0,p=0;o=Mb;Mb=Mb+16|0;n=o;l=b+44|0;a:do if(((c[l>>2]|0)==0?(m=b+28|0,f=c[m>>2]|0,(f|0)>12):0)?(j=b+24|0,i=c[j>>2]|0,e=i+f+-8|0,h=e,g=h,h=h+4|0,h=oY(d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24,d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24)|0,i,(h|0)==-1910117890&(M()|0)==-1941070576):0){e=e+-5|0;f=1;while(1){g=W_(d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24|0)|0;if(g>>>0>2147483642){k=0;break a}h=e-i|0;if(h>>>0<g>>>0){k=0;break a}if((a[e+4>>0]|0)<0)break;if(h>>>0<(g+5|0)>>>0){k=0;break a}e=e+(-5-g)|0;f=f+1|0}if(f>>>0<=83){i=nZ(f)|0;h=b+40|0;c[h>>2]=i;if(i){g=(c[j>>2]|0)+(c[m>>2]|0)+-8+-5|0;i=0;while(1){e=W_(d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24|0)|0;if(e>>>0>=2147483643){e=15;break}if((g-(c[j>>2]|0)|0)>>>0<e>>>0){e=15;break}f=EZ(e+32|0)|0;p=c[h>>2]|0;c[p+(i*12|0)>>2]=f;c[p+(i*12|0)+4>>2]=e;b=g+4|0;c[p+(i*12|0)+8>>2]=a[b>>0]&127;if(!f){k=-12;break a}Mn(f|0,g+(0-e)|0,e|0)|0;e=-5-e|0;f=e+(c[m>>2]|0)|0;c[m>>2]=f;if((a[b>>0]|0)<0){e=19;break}g=g+e|0;i=i+1|0}if((e|0)==15){c[n>>2]=170698;c[n+4>>2]=170676;c[n+8>>2]=462;AD(0,0,222515,n);ba()}else if((e|0)==19){c[m>>2]=f+-8;c[l>>2]=i+1;k=1;break}}else k=-12}else k=-34}else k=0;while(0);Mb=o;return k|0}function Gi(d,e,f,g,h,i,j,k){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=Mb;Mb=Mb+32|0;p=w+12|0;u=w;v=d+1412|0;n=c[v>>2]|0;q=c[n+13412>>2]|0;r=c[(c[d+3516>>2]|0)+40>>2]|0;do if(r){s=c[r+20>>2]|0;t=c[r+36>>2]|0;l=g+e|0;m=h+f|0;if(!s)l=0;else{o=c[n+13336>>2]|0;if(((f>>o|0)==(m>>o|0)?(m|0)<(c[n+13380>>2]|0):0)?(l|0)<(c[n+13376>>2]|0):0){o=l&-16;m=m&-16;if((a[d+140>>0]|0)==1){Yw(r+4|0,m,0);l=c[v>>2]|0}else l=n;l=c[l+13340>>2]|0;l=s+(((H(m>>l,q)|0)+(o>>l)|0)*12|0)|0;c[u>>2]=c[l>>2];c[u+4>>2]=c[l+4>>2];c[u+8>>2]=c[l+8>>2];l=zK(d,r,o,m)|0;b[p>>1]=b[u>>1]|0;b[p+2>>1]=b[u+2>>1]|0;b[p+4>>1]=b[u+4>>1]|0;b[p+6>>1]=b[u+6>>1]|0;b[p+8>>1]=b[u+8>>1]|0;b[p+10>>1]=b[u+10>>1]|0;l=wm(d,p,i,j,k,t,l)|0;if(l|0)break}m=(g>>1)+e&-16;l=(h>>1)+f&-16;if((a[d+140>>0]|0)==1)Yw(r+4|0,l,0);v=c[(c[v>>2]|0)+13340>>2]|0;v=s+(((H(l>>v,q)|0)+(m>>v)|0)*12|0)|0;c[u>>2]=c[v>>2];c[u+4>>2]=c[v+4>>2];c[u+8>>2]=c[v+8>>2];l=zK(d,r,m,l)|0;b[p>>1]=b[u>>1]|0;b[p+2>>1]=b[u+2>>1]|0;b[p+4>>1]=b[u+4>>1]|0;b[p+6>>1]=b[u+6>>1]|0;b[p+8>>1]=b[u+8>>1]|0;b[p+10>>1]=b[u+10>>1]|0;l=wm(d,p,i,j,k,t,l)|0}}else{b[j>>1]=0;b[j+2>>1]=0>>>16;l=0}while(0);Mb=w;return l|0}function Hi(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0;w=d>>1;x=f>>1;y=H(x,-2)|0;z=0-x|0;u=f&-2;v=x*3|0;n=x<<2;o=x*5|0;p=x*6|0;q=x*7|0;r=x<<3;s=x*9|0;t=x*10|0;h=d&-2;i=w*3|0;j=w<<2;k=w*5|0;l=w*6|0;m=w*7|0;g=0;d=a;f=c;while(1){if((g|0)==8)break;D=e[f+(z<<1)>>1]|0;M=e[f>>1]|0;L=e[f+(x<<1)>>1]|0;K=e[f+(u<<1)>>1]|0;J=e[f+(v<<1)>>1]|0;G=e[f+(n<<1)>>1]|0;E=e[f+(o<<1)>>1]|0;c=e[f+(p<<1)>>1]|0;A=e[f+(q<<1)>>1]|0;B=e[f+(r<<1)>>1]|0;a=e[f+(s<<1)>>1]|0;C=e[f+(t<<1)>>1]|0;I=J+16|0;F=I+(e[f+(y<<1)>>1]|0)+((L+M|0)*20|0)+(H(K+D|0,-5)|0)>>5;b[d>>1]=F>>>0<16384?F:0-F>>31&16383;F=G+16|0;D=F+D+((K+L|0)*20|0)+(H(J+M|0,-5)|0)>>5;b[d+(w<<1)>>1]=D>>>0<16384?D:0-D>>31&16383;D=E+16|0;M=D+M+((J+K|0)*20|0)+(H(G+L|0,-5)|0)>>5;b[d+(h<<1)>>1]=M>>>0<16384?M:0-M>>31&16383;L=L+16+c+((G+J|0)*20|0)+(H(E+K|0,-5)|0)>>5;b[d+(i<<1)>>1]=L>>>0<16384?L:0-L>>31&16383;J=K+16+A+((E+G|0)*20|0)+(H(c+J|0,-5)|0)>>5;b[d+(j<<1)>>1]=J>>>0<16384?J:0-J>>31&16383;G=I+B+((c+E|0)*20|0)+(H(A+G|0,-5)|0)>>5;b[d+(k<<1)>>1]=G>>>0<16384?G:0-G>>31&16383;E=F+a+((A+c|0)*20|0)+(H(B+E|0,-5)|0)>>5;b[d+(l<<1)>>1]=E>>>0<16384?E:0-E>>31&16383;c=D+C+((B+A|0)*20|0)+(H(a+c|0,-5)|0)>>5;b[d+(m<<1)>>1]=c>>>0<16384?c:0-c>>31&16383;g=g+1|0;d=d+2|0;f=f+2|0}return}function Ii(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;i=a+4|0;e=c[i>>2]|0;j=a+104|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;f=d[e>>0]|0}else f=Uo(a)|0;switch(f|0){case 43:case 45:{g=(f|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=Uo(a)|0;f=e+-48|0;if((b|0)!=0&f>>>0>9)if(!(c[j>>2]|0)){f=0;e=-2147483648}else{c[i>>2]=(c[i>>2]|0)+-1;k=14}else k=12;break}default:{g=0;e=f;f=f+-48|0;k=12}}if((k|0)==12)if(f>>>0>9)k=14;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=Uo(a)|0;b=e+-48|0}while(b>>>0<10&(f|0)<214748364);h=((f|0)<0)<<31>>31;if(b>>>0<10){do{l=MR(f|0,h|0,10,0)|0;b=M()|0;e=aX(e|0,((e|0)<0)<<31>>31|0,-48,-1)|0;f=aX(e|0,M()|0,l|0,b|0)|0;h=M()|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=Uo(a)|0;b=e+-48|0}while(b>>>0<10&((h|0)<21474836|(h|0)==21474836&f>>>0<2061584302));if(b>>>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=Uo(a)|0}while((e+-48|0)>>>0<10);e=h}else e=h}else e=h;if(c[j>>2]|0)c[i>>2]=(c[i>>2]|0)+-1;j=(g|0)==0;i=_W(0,0,f|0,e|0)|0;l=M()|0;f=j?f:i;e=j?e:l}if((k|0)==14)if(!(c[j>>2]|0)){f=0;e=-2147483648}else{c[i>>2]=(c[i>>2]|0)+-1;f=0;e=-2147483648}L(e|0);return f|0}function Ji(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0;w=d>>1;x=f>>1;y=H(x,-2)|0;z=0-x|0;u=f&-2;v=x*3|0;n=x<<2;o=x*5|0;p=x*6|0;q=x*7|0;r=x<<3;s=x*9|0;t=x*10|0;h=d&-2;i=w*3|0;j=w<<2;k=w*5|0;l=w*6|0;m=w*7|0;g=0;d=a;f=c;while(1){if((g|0)==8)break;D=e[f+(z<<1)>>1]|0;M=e[f>>1]|0;L=e[f+(x<<1)>>1]|0;K=e[f+(u<<1)>>1]|0;J=e[f+(v<<1)>>1]|0;G=e[f+(n<<1)>>1]|0;E=e[f+(o<<1)>>1]|0;c=e[f+(p<<1)>>1]|0;A=e[f+(q<<1)>>1]|0;B=e[f+(r<<1)>>1]|0;a=e[f+(s<<1)>>1]|0;C=e[f+(t<<1)>>1]|0;I=J+16|0;F=I+(e[f+(y<<1)>>1]|0)+((L+M|0)*20|0)+(H(K+D|0,-5)|0)>>5;b[d>>1]=F>>>0<4096?F:0-F>>31&4095;F=G+16|0;D=F+D+((K+L|0)*20|0)+(H(J+M|0,-5)|0)>>5;b[d+(w<<1)>>1]=D>>>0<4096?D:0-D>>31&4095;D=E+16|0;M=D+M+((J+K|0)*20|0)+(H(G+L|0,-5)|0)>>5;b[d+(h<<1)>>1]=M>>>0<4096?M:0-M>>31&4095;L=L+16+c+((G+J|0)*20|0)+(H(E+K|0,-5)|0)>>5;b[d+(i<<1)>>1]=L>>>0<4096?L:0-L>>31&4095;J=K+16+A+((E+G|0)*20|0)+(H(c+J|0,-5)|0)>>5;b[d+(j<<1)>>1]=J>>>0<4096?J:0-J>>31&4095;G=I+B+((c+E|0)*20|0)+(H(A+G|0,-5)|0)>>5;b[d+(k<<1)>>1]=G>>>0<4096?G:0-G>>31&4095;E=F+a+((A+c|0)*20|0)+(H(B+E|0,-5)|0)>>5;b[d+(l<<1)>>1]=E>>>0<4096?E:0-E>>31&4095;c=D+C+((B+A|0)*20|0)+(H(a+c|0,-5)|0)>>5;b[d+(m<<1)>>1]=c>>>0<4096?c:0-c>>31&4095;g=g+1|0;d=d+2|0;f=f+2|0}return}function Ki(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0;w=d>>1;x=f>>1;y=H(x,-2)|0;z=0-x|0;u=f&-2;v=x*3|0;n=x<<2;o=x*5|0;p=x*6|0;q=x*7|0;r=x<<3;s=x*9|0;t=x*10|0;h=d&-2;i=w*3|0;j=w<<2;k=w*5|0;l=w*6|0;m=w*7|0;g=0;d=a;f=c;while(1){if((g|0)==8)break;D=e[f+(z<<1)>>1]|0;M=e[f>>1]|0;L=e[f+(x<<1)>>1]|0;K=e[f+(u<<1)>>1]|0;J=e[f+(v<<1)>>1]|0;G=e[f+(n<<1)>>1]|0;E=e[f+(o<<1)>>1]|0;c=e[f+(p<<1)>>1]|0;A=e[f+(q<<1)>>1]|0;B=e[f+(r<<1)>>1]|0;a=e[f+(s<<1)>>1]|0;C=e[f+(t<<1)>>1]|0;I=J+16|0;F=I+(e[f+(y<<1)>>1]|0)+((L+M|0)*20|0)+(H(K+D|0,-5)|0)>>5;b[d>>1]=F>>>0<1024?F:0-F>>31&1023;F=G+16|0;D=F+D+((K+L|0)*20|0)+(H(J+M|0,-5)|0)>>5;b[d+(w<<1)>>1]=D>>>0<1024?D:0-D>>31&1023;D=E+16|0;M=D+M+((J+K|0)*20|0)+(H(G+L|0,-5)|0)>>5;b[d+(h<<1)>>1]=M>>>0<1024?M:0-M>>31&1023;L=L+16+c+((G+J|0)*20|0)+(H(E+K|0,-5)|0)>>5;b[d+(i<<1)>>1]=L>>>0<1024?L:0-L>>31&1023;J=K+16+A+((E+G|0)*20|0)+(H(c+J|0,-5)|0)>>5;b[d+(j<<1)>>1]=J>>>0<1024?J:0-J>>31&1023;G=I+B+((c+E|0)*20|0)+(H(A+G|0,-5)|0)>>5;b[d+(k<<1)>>1]=G>>>0<1024?G:0-G>>31&1023;E=F+a+((A+c|0)*20|0)+(H(B+E|0,-5)|0)>>5;b[d+(l<<1)>>1]=E>>>0<1024?E:0-E>>31&1023;c=D+C+((B+A|0)*20|0)+(H(a+c|0,-5)|0)>>5;b[d+(m<<1)>>1]=c>>>0<1024?c:0-c>>31&1023;g=g+1|0;d=d+2|0;f=f+2|0}return}function Li(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0;w=d>>1;x=f>>1;y=H(x,-2)|0;z=0-x|0;u=f&-2;v=x*3|0;n=x<<2;o=x*5|0;p=x*6|0;q=x*7|0;r=x<<3;s=x*9|0;t=x*10|0;h=d&-2;i=w*3|0;j=w<<2;k=w*5|0;l=w*6|0;m=w*7|0;g=0;d=a;f=c;while(1){if((g|0)==8)break;D=e[f+(z<<1)>>1]|0;M=e[f>>1]|0;L=e[f+(x<<1)>>1]|0;K=e[f+(u<<1)>>1]|0;J=e[f+(v<<1)>>1]|0;G=e[f+(n<<1)>>1]|0;E=e[f+(o<<1)>>1]|0;c=e[f+(p<<1)>>1]|0;A=e[f+(q<<1)>>1]|0;B=e[f+(r<<1)>>1]|0;a=e[f+(s<<1)>>1]|0;C=e[f+(t<<1)>>1]|0;I=J+16|0;F=I+(e[f+(y<<1)>>1]|0)+((L+M|0)*20|0)+(H(K+D|0,-5)|0)>>5;b[d>>1]=F>>>0<512?F:0-F>>31&511;F=G+16|0;D=F+D+((K+L|0)*20|0)+(H(J+M|0,-5)|0)>>5;b[d+(w<<1)>>1]=D>>>0<512?D:0-D>>31&511;D=E+16|0;M=D+M+((J+K|0)*20|0)+(H(G+L|0,-5)|0)>>5;b[d+(h<<1)>>1]=M>>>0<512?M:0-M>>31&511;L=L+16+c+((G+J|0)*20|0)+(H(E+K|0,-5)|0)>>5;b[d+(i<<1)>>1]=L>>>0<512?L:0-L>>31&511;J=K+16+A+((E+G|0)*20|0)+(H(c+J|0,-5)|0)>>5;b[d+(j<<1)>>1]=J>>>0<512?J:0-J>>31&511;G=I+B+((c+E|0)*20|0)+(H(A+G|0,-5)|0)>>5;b[d+(k<<1)>>1]=G>>>0<512?G:0-G>>31&511;E=F+a+((A+c|0)*20|0)+(H(B+E|0,-5)|0)>>5;b[d+(l<<1)>>1]=E>>>0<512?E:0-E>>31&511;c=D+C+((B+A|0)*20|0)+(H(a+c|0,-5)|0)>>5;b[d+(m<<1)>>1]=c>>>0<512?c:0-c>>31&511;g=g+1|0;d=d+2|0;f=f+2|0}return}function Mi(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0;i=Mb;Mb=Mb+16|0;f=i;g=b+44|0;e=c[g>>2]|0;a:do switch(e|0){case 8:switch(c[b+4>>2]|0){case 0:{c[b+56>>2]=8;h=23;break a}case 1:{c[b+56>>2]=0;h=23;break a}case 2:{c[b+56>>2]=4;h=23;break a}case 3:{c[b+56>>2]=5;h=23;break a}default:{h=23;break a}}case 9:switch(c[b+4>>2]|0){case 0:{c[b+56>>2]=32;h=23;break a}case 1:{c[b+56>>2]=70;h=23;break a}case 2:{c[b+56>>2]=80;h=23;break a}case 3:{c[b+56>>2]=76;h=23;break a}default:{h=23;break a}}case 10:switch(c[b+4>>2]|0){case 0:{c[b+56>>2]=345;h=23;break a}case 1:{c[b+56>>2]=72;h=23;break a}case 2:{c[b+56>>2]=74;h=23;break a}case 3:{c[b+56>>2]=78;h=23;break a}default:{h=23;break a}}case 12:switch(c[b+4>>2]|0){case 0:{c[b+56>>2]=343;h=23;break a}case 1:{c[b+56>>2]=300;h=23;break a}case 2:{c[b+56>>2]=304;h=23;break a}case 3:{c[b+56>>2]=308;h=23;break a}default:{h=23;break a}}default:{c[f>>2]=c[b+4>>2];c[f+4>>2]=e;AD(a,16,178083,f);a=-1094995529}}while(0);if((h|0)==23){a=e0(c[b+56>>2]|0)|0;if(!a)a=-22;else{c[b+13436>>2]=0;c[b+13424>>2]=0;h=d[a+5>>0]|0;c[b+13428>>2]=h;c[b+13432>>2]=h;a=d[a+6>>0]|0;c[b+13440>>2]=a;c[b+13444>>2]=a;c[b+52>>2]=(c[g>>2]|0)>8&1;a=0}}Mb=i;return a|0}function Ni(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=0;while(1){if((e|0)==2)break;c[b+896+(e<<2)>>2]=0;c[b+904+(e<<2)>>2]=0;e=e+1|0}n=(d|0)<0;if(n){g=c[a+26364>>2]|0;e=c[a+24312>>2]|0;g=c[((g|0)==3?e+84|0:e+76+(g+-1<<2)|0)>>2]|0;e=c[b+23404>>2]|0;f=c[b+23408>>2]|0;if((e|0)==1)if((f|0)==1)if((c[a+26360>>2]|0)==0?(l=c[b+23444>>2]|0,m=c[b+25364>>2]|0,l=aX(m|0,((m|0)<0)<<31>>31|0,l|0,((l|0)<0)<<31>>31|0)|0,m=g<<1,(l|0)==(m|0)&(M()|0)==(((m|0)<0)<<31>>31|0)):0){c[b+880>>2]=0;c[b+884>>2]=0}else{m=0;e=1;f=1;h=11}else{m=0;e=1;h=11}else{m=0;h=11}}else{m=16;e=(c[b+23404>>2]<<1)+16|0;f=(c[b+23408>>2]<<1)+16|0;g=c[(c[a+24312>>2]|0)+76+(d<<2)>>2]|0;h=11}a:do if((h|0)==11){c[b+880>>2]=2;c[b+884>>2]=2;c[b+888>>2]=5;c[b+892>>2]=5;a=m;while(1){if((a|0)>=(e|0))break a;j=c[b+23416+(a*40|0)+28>>2]|0;k=b+23416+(a*40|0)+36|0;l=g-j|0;l=((l+128|0)>>>0>255?l>>31^127:l)<<24>>24;h=m;while(1){if((h|0)>=(f|0))break;if(((c[(c[k>>2]|0)+100>>2]|0)==0?(c[(c[b+25336+(h*40|0)+36>>2]|0)+100>>2]|0)==0:0)?(i=(c[b+25336+(h*40|0)+28>>2]|0)-j|0,i=(i+128|0)>>>0>255?i>>31^127:i,o=i<<24>>24,(i&255)<<24>>24!=0):0){i=H(((((o|0)>-1?o:0-o|0)>>1)+16384|0)/(o|0)|0,l)|0;i=(i+16416|0)>>>0<49408?64-(i+32>>8)|0:32}else i=32;if(n){c[b+3216+(a*384|0)+(h<<3)+4>>2]=i;c[b+3216+(a*384|0)+(h<<3)>>2]=i}else c[b+3216+(a*384|0)+(h<<3)+(d<<2)>>2]=i;h=h+1|0}a=a+1|0}}while(0);return}function Oi(a,c,d,f,g){a=a|0;c=c|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,p=0,q=0;j=g>>1;h=c;i=0;d=d+(0-(g&-2)<<1)|0;while(1){if((i|0)==9)break;k=d+2|0;n=d+-2|0;g=d+4|0;o=H((e[g>>1]|0)+(e[n>>1]|0)|0,-5)|0;l=d+6|0;b[h>>1]=(((e[k>>1]|0)+(e[d>>1]|0)|0)*20|0)+(e[d+-4>>1]|0)+o+(e[l>>1]|0);o=H((e[l>>1]|0)+(e[d>>1]|0)|0,-5)|0;m=d+8|0;b[h+2>>1]=(((e[g>>1]|0)+(e[k>>1]|0)|0)*20|0)+(e[n>>1]|0)+o+(e[m>>1]|0);o=H((e[m>>1]|0)+(e[k>>1]|0)|0,-5)|0;n=d+10|0;b[h+4>>1]=(((e[l>>1]|0)+(e[g>>1]|0)|0)*20|0)+(e[d>>1]|0)+o+(e[n>>1]|0);g=H((e[n>>1]|0)+(e[g>>1]|0)|0,-5)|0;b[h+6>>1]=(((e[m>>1]|0)+(e[l>>1]|0)|0)*20|0)+(e[k>>1]|0)+g+(e[d+12>>1]|0);h=h+16|0;i=i+1|0;d=d+(j<<1)|0}j=f>>1;h=f&-2;i=j*3|0;d=c+32|0;g=0;while(1){if((g|0)==4)break;q=b[d+-16>>1]|0;p=b[d>>1]|0;f=b[d+16>>1]|0;n=b[d+32>>1]|0;l=b[d+48>>1]|0;k=b[d+64>>1]|0;m=b[d+80>>1]|0;c=b[d+96>>1]|0;o=(b[d+-32>>1]|0)+512+l+((f+p|0)*20|0)+(H(n+q|0,-5)|0)>>10;b[a>>1]=((e[a>>1]|0)+1+(o>>>0<512?o:0-o>>31&511)|0)>>>1;o=a+(j<<1)|0;q=q+512+k+((n+f|0)*20|0)+(H(l+p|0,-5)|0)>>10;b[o>>1]=((e[o>>1]|0)+1+(q>>>0<512?q:0-q>>31&511)|0)>>>1;o=a+(h<<1)|0;p=p+512+m+((l+n|0)*20|0)+(H(k+f|0,-5)|0)>>10;b[o>>1]=((e[o>>1]|0)+1+(p>>>0<512?p:0-p>>31&511)|0)>>>1;o=a+(i<<1)|0;n=f+512+c+((k+l|0)*20|0)+(H(m+n|0,-5)|0)>>10;b[o>>1]=((e[o>>1]|0)+1+(n>>>0<512?n:0-n>>31&511)|0)>>>1;a=a+2|0;d=d+2|0;g=g+1|0}return}function Pi(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0.0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=Mb;Mb=Mb+160|0;r=s+144|0;n=s+136|0;m=s+128|0;q=s+156|0;o=s;l=s+152|0;if((a[d>>0]|0)==35)i=1;else{i=(nB(d,213416,2)|0)==0;i=i?2:0}if((e|0)<0)e=nA(d)|0;e=e-i+1|0;mK(o,d+i|0,e>>>0<128?e:128)|0;e=FY(o,64)|0;c[q>>2]=e;if(!e)k=0;else{k=e+1|0;c[q>>2]=k;a[e>>0]=0}h=nA(o)|0;j=b+3|0;a[j>>0]=-1;a:do if((_F(o,217772)|0)!=0?(_F(o,213419)|0)!=0:0){if((i|0)==0?(Hr(o,213428)|0)!=(h|0):0){e=zB(o,95776,140,8,12)|0;if(!e){c[n>>2]=o;AD(f,16,213492,n);e=-22;break}else{p=e+4|0;a[b>>0]=a[p>>0]|0;a[b+1>>0]=a[p+1>>0]|0;a[b+2>>0]=a[p+2>>0]|0;p=20;break}}e=AZ(o,l,16)|0;b:do if(!(a[c[l>>2]>>0]|0)){switch(h|0){case 8:{a[j>>0]=e;e=e>>>8;break}case 6:break;default:break b}a[b>>0]=e>>>16;a[b+1>>0]=e>>>8;a[b+2>>0]=e;p=20;break a}while(0);c[m>>2]=o;AD(f,16,213451,m);e=-22}else p=9;while(0);if((p|0)==9){o=dL()|0;a[b>>0]=o>>>24;a[b+1>>0]=o>>>16;a[b+2>>0]=o>>>8;a[j>>0]=o;p=20}do if((p|0)==20)if(!k)e=0;else{if(!(nB(k,213416,2)|0))g=+((AZ(k,q,16)|0)>>>0);else{g=+U0(k,q);g=g<0.0|g>1.0?256.0:g*255.0}q=c[q>>2]|0;if((q|0)!=(k|0)?!(g<0.0|(g>255.0|(a[q>>0]|0)!=0)):0){a[j>>0]=~~g;e=0;break}c[r>>2]=k;c[r+4>>2]=d;AD(f,16,213516,r);e=-22}while(0);Mb=s;return e|0}function Qi(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=Mb;Mb=Mb+32|0;l=p+24|0;i=p+8|0;j=p;n=b+24|0;k=b+28|0;o=b+4|0;h=c[n>>2]|0;while(1){if((h|0)<=0)break;m=c[b>>2]|0;q=c[k>>2]|0;c[k>>2]=q+1;q=a[m+q>>0]|0;h=c[o>>2]|0;c[o>>2]=h+1;a[m+h>>0]=q;h=(c[n>>2]|0)+-1|0;c[n>>2]=h}e=(e|0)==-100&(c[g>>2]|0)==0?0:e;h=c[o>>2]|0;m=b+8|0;c[m>>2]=h;a:do if((e|0)==-100){e=ZQ(c[b>>2]|0,b+12|0,h+32+(c[g>>2]|0)|0)|0;if(!e){c[j>>2]=(c[g>>2]|0)+32+(c[o>>2]|0);AD(0,16,192974,j);e=-12;h=0}else{c[b>>2]=e;Mn(e+(c[o>>2]|0)|0,c[f>>2]|0,c[g>>2]|0)|0;e=-1;h=(c[o>>2]|0)+(c[g>>2]|0)|0}c[o>>2]=h}else{if((e|0)<=-1?(c[b>>2]|0)==0:0){c[i>>2]=193016;c[i+4>>2]=192954;c[i+8>>2]=288;AD(0,0,222515,i);ba()}h=e+h|0;c[k>>2]=h;c[g>>2]=h;h=c[o>>2]|0;if(h|0){i=e+32|0;h=ZQ(c[b>>2]|0,b+12|0,i+h|0)|0;if(!h){c[l>>2]=i+(c[o>>2]|0);AD(0,16,192974,l);c[o>>2]=0;c[k>>2]=0;e=-12;break}c[b>>2]=h;if((e|0)>-32){Mn(h+(c[o>>2]|0)|0,c[f>>2]|0,i|0)|0;h=c[b>>2]|0}c[o>>2]=0;c[f>>2]=h}h=b+16|0;i=b+32|0;while(1){if((e|0)>=0){e=0;break a}f=(c[b>>2]|0)+((c[m>>2]|0)+e)|0;c[h>>2]=c[h>>2]<<8|(d[f>>0]|0);l=i;l=_U(c[l>>2]|0,c[l+4>>2]|0,8)|0;o=M()|0;q=i;c[q>>2]=l|(d[f>>0]|0);c[q+4>>2]=o;c[n>>2]=(c[n>>2]|0)+1;e=e+1|0}}while(0);Mb=p;return e|0}function Ri(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=Mb;Mb=Mb+16|0;j=s;q=b+556|0;n=c[q>>2]|0;o=(H(n,f)|0)+e|0;p=b+552|0;l=c[p>>2]|0;m=l+-1|0;o=(o|0)<0?0:(o|0)>(m|0)?m:o;h=(H(n,h)|0)+g|0;h=(h|0)<0?0:(h|0)>(l|0)?l:h;l=b+548|0;n=c[l>>2]|0;m=c[n+(o<<2)>>2]|0;n=c[n+(h<<2)>>2]|0;e=c[b>>2]|0;g=c[e+704>>2]|0;if(!((g|0)!=0?(c[g+32>>2]|0)!=0:0))k=3;do if((k|0)==3){if((n|0)<(m|0)|(o|0)>(h|0)){AD(e,16,204149,j);break}if(c[e+676>>2]|0){if(!(i&18))e=-2;else{P_(b+572|0,o+~h|0);e=-20}if(i&36){P_(b+572|0,o+~h|0);e=e&-38}if(i&72){P_(b+572|0,o+~h|0);e=e&-73}if(i&14|0){c[b+576>>2]=1;Y0(b+572|0)}g=b+580|0;a:do if((e|0)==-128)jv((c[g>>2]|0)+m|0,0,n-m|0)|0;else{f=m;while(1){if((f|0)>=(n|0))break a;k=(c[g>>2]|0)+f|0;a[k>>0]=e&(d[k>>0]|0);f=f+1|0}}while(0);if((h|0)==(c[p>>2]|0))Y0(b+572|0);else{p=(c[g>>2]|0)+n|0;a[p>>0]=e&(d[p>>0]|0);p=(c[g>>2]|0)+n|0;a[p>>0]=d[p>>0]|0|i}i=(c[g>>2]|0)+m|0;a[i>>0]=a[i>>0]|1;if(((((m|0)>0?(r=c[b>>2]|0,(c[r+808>>2]&2|0)==0):0)?HL(b)|0:0)?(H(c[q>>2]|0,c[r+332>>2]|0)|0)<(o|0):0)?(a[(c[g>>2]|0)+(c[(c[l>>2]|0)+(o+-1<<2)>>2]|0)>>0]&-2)<<24>>24!=112:0){c[b+576>>2]=1;Y0(b+572|0)}}}while(0);Mb=s;return}function Si(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,m=0,n=0,o=0,p=0,q=0,r=0;q=Mb;Mb=Mb+16|0;m=q;n=a+68|0;g=c[n>>2]|0;do if((g|0)>0?(o=a+72|0,h=c[o>>2]|0,(h|0)>0):0){p=a+392|0;e=c[p>>2]|0;j=a+396|0;f=c[j>>2]|0;if(e>>>0<(2147483647-f|0)>>>0?(k=a+384|0,r=c[k>>2]|0,l=a+388|0,i=c[l>>2]|0,(i+r|0)>>>0<h>>>0&((f+e|0)>>>0<g>>>0&r>>>0<(2147483647-i|0)>>>0)):0){i=e0(c[a+80>>2]|0)|0;if(!i)e=-558323010;else{if(!(0==0?(c[i+8>>2]&12|0)==0:0)){c[n>>2]=(c[n>>2]|0)-(c[j>>2]|0);c[o>>2]=(c[o>>2]|0)-(c[l>>2]|0);c[j>>2]=0;c[l>>2]=0;e=0;break}Yt(m,a,i);if(!(b&1)){h=c[p>>2]|0;if(!h)b=2147483647;else{b=94160+((H(h&0-h,125613361)|0)>>>27)|0;b=d[b>>0]|0}f=2147483647;g=0;while(1){if(!(c[a+(g<<2)>>2]|0))break;e=c[m+(g<<2)>>2]|0;if(!e)e=2147483647;else{e=94160+((H(e&0-e,125613361)|0)>>>27)|0;e=d[e>>0]|0}f=(e|0)>(f|0)?f:e;g=g+1|0}if((b|0)<(f|0)){e=-558323010;break}if((f|0)<5){c[p>>2]=-1<<b+5-f&h;Yt(m,a,i)}}e=0;while(1){f=a+(e<<2)|0;g=c[f>>2]|0;if(!g)break;c[f>>2]=g+(c[m+(e<<2)>>2]|0);e=e+1|0}c[n>>2]=(c[n>>2]|0)-((c[j>>2]|0)+(c[p>>2]|0));c[o>>2]=(c[o>>2]|0)-((c[l>>2]|0)+(c[k>>2]|0));c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;e=0}}else e=-34}else e=-22;while(0);Mb=q;return e|0}function Ti(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=l1(b)|0;f=RX(b)|0;c[a>>2]=f;f=wU(b,a+4|0)|0;l=a+8|0;c[l>>2]=f;f=HG(b,4)|0;c[a+12>>2]=f;if(f>>>0<8)c[a+36>>2]=d[209930+f>>0];h=a+16|0;c[h>>2]=-1;i=a+40|0;c[i>>2]=-1;f=c[a>>2]|0;a:do switch(f|0){case 5:{j=7;break}case 29:{if((zQ(b,3)|0)&3|0?((zQ(b,9)|0)&63|0)==0:0){j=9;break a}c[i>>2]=1;j=7;break}default:j=9}while(0);if((j|0)==7){c[a+20>>2]=5;c[h>>2]=1;f=wU(b,a+24|0)|0;c[a+28>>2]=f;f=RX(b)|0;c[a>>2]=f;if((f|0)==22){f=HG(b,4)|0;c[a+32>>2]=f;f=c[a>>2]|0}}else if((j|0)==9){c[a+20>>2]=0;c[a+28>>2]=0}g=l1(b)|0;if((f|0)==36){eW(b,5);if((b1(b)|0)!=4279379)fS(b,24);g=l1(b)|0;f=AA(b,a)|0;if((f|0)>=0)j=14}else j=14;if((j|0)==14){f=a+20|0;b:do if((e|0)!=0&(c[f>>2]|0)!=5){while(1){if((a$(b)|0)<=15)break b;if((zQ(b,11)|0)==695)break;mT(b)|0}HG(b,11)|0;e=RX(b)|0;c[f>>2]=e;if(((e|0)==5?(e=mT(b)|0,c[h>>2]=e,(e|0)==1):0)?(e=wU(b,a+24|0)|0,c[a+28>>2]=e,(e|0)==(c[l>>2]|0)):0)c[h>>2]=-1;if((a$(b)|0)>11?(HG(b,11)|0)==1352:0){l=mT(b)|0;c[i>>2]=l}}while(0);if(c[h>>2]|0)if((c[i>>2]|0)==-1?(c[a>>2]|0)!=2:0)j=31;else j=30;else{c[i>>2]=0;j=30}if((j|0)==30?(c[a+36>>2]|0)>>>0>1:0)j=31;if((j|0)==31)c[i>>2]=0;f=g-k|0}return f|0}function Ui(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;if(mT(e)|0)eW(e,8);j=mT(e)|0;c[d+48>>2]=j;h=d+96|0;f=(le(b,d,e,h)|0)!=0;if(!j)if(!f?(g=d+88064|0,(le(b,d,e,g)|0)==0):0){ZE(e,h);ZE(e,g);gC(d,e,h);gC(d,e,g);f=Fd(b,d,e,h,0)|0;if((f|0)>=0){f=Fd(b,d,e,g,1)|0;if((f|0)>=0){f=Pf(b,d,e,h,0)|0;if((f|0)>=0){f=Pf(b,d,e,g,1)|0;if((f|0)>=0)i=15}}}}else f=-1;else if(!f){g=d+88064|0;rt(g,h);ZE(e,h);ZE(e,g);gC(d,e,h);j=d+88100|0;f=d+88095|0;a[j>>0]=a[f>>0]|0;a[j+1>>0]=a[f+1>>0]|0;a[j+2>>0]=a[f+2>>0]|0;a[j+3>>0]=a[f+3>>0]|0;a[j+4>>0]=a[f+4>>0]|0;j=d+127|0;a[f>>0]=a[j>>0]|0;a[f+1>>0]=a[j+1>>0]|0;a[f+2>>0]=a[j+2>>0]|0;a[f+3>>0]=a[j+3>>0]|0;a[f+4>>0]=a[j+4>>0]|0;f=Fd(b,d,e,h,0)|0;if((f|0)>=0){f=Pf(b,d,e,h,0)|0;if((f|0)>=0){f=Fd(b,d,e,g,1)|0;if((f|0)>=0){f=Pf(b,d,e,g,1)|0;if((f|0)>=0)i=15}}}}else f=-1;a:do if((i|0)==15){j=mT(e)|0;c[d+100>>2]=j;b:do if(j|0){g=c[d+310116>>2]|0;f=0;while(1){if((f|0)>=(g|0))break b;j=(mT(e)|0)&255;a[d+137+f>>0]=j;f=f+1|0}}while(0);j=mT(e)|0;c[d+88068>>2]=j;if(!j)f=0;else{g=c[d+310116>>2]|0;f=0;while(1){if((f|0)>=(g|0)){f=0;break a}j=(mT(e)|0)&255;a[d+88105+f>>0]=j;f=f+1|0}}}while(0);return f|0}function Vi(a,c,d,f,g){a=a|0;c=c|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,p=0,q=0,r=0,s=0;j=g>>1;h=c;i=0;d=d+(0-(g&-2)<<1)|0;while(1){if((i|0)==9)break;k=d+2|0;n=d+-2|0;g=d+4|0;o=H((e[g>>1]|0)+(e[n>>1]|0)|0,-5)|0;l=d+6|0;b[h>>1]=(((e[k>>1]|0)+(e[d>>1]|0)|0)*20|0)+55306+(e[d+-4>>1]|0)+o+(e[l>>1]|0);o=H((e[l>>1]|0)+(e[d>>1]|0)|0,-5)|0;m=d+8|0;b[h+2>>1]=(((e[g>>1]|0)+(e[k>>1]|0)|0)*20|0)+55306+(e[n>>1]|0)+o+(e[m>>1]|0);o=H((e[m>>1]|0)+(e[k>>1]|0)|0,-5)|0;n=d+10|0;b[h+4>>1]=(((e[l>>1]|0)+(e[g>>1]|0)|0)*20|0)+55306+(e[d>>1]|0)+o+(e[n>>1]|0);g=H((e[n>>1]|0)+(e[g>>1]|0)|0,-5)|0;b[h+6>>1]=(((e[m>>1]|0)+(e[l>>1]|0)|0)*20|0)+55306+(e[k>>1]|0)+g+(e[d+12>>1]|0);h=h+16|0;i=i+1|0;d=d+(j<<1)|0}j=f>>1;h=f&-2;i=j*3|0;d=c+32|0;g=0;while(1){if((g|0)==4)break;r=b[d+-16>>1]|0;p=b[d>>1]|0;q=p+10230|0;c=b[d+16>>1]|0;f=c+10230|0;o=(b[d+32>>1]|0)+10230|0;m=(b[d+48>>1]|0)+10230|0;l=(b[d+64>>1]|0)+10230|0;n=(b[d+80>>1]|0)+10230|0;k=b[d+96>>1]|0;s=(b[d+-32>>1]|0)+10742+m+((f+q|0)*20|0)+(H(o+(r+10230)|0,-5)|0)>>10;b[a>>1]=s>>>0<1024?s:0-s>>31&1023;q=r+10742+l+((o+f|0)*20|0)+(H(m+q|0,-5)|0)>>10;b[a+(j<<1)>>1]=q>>>0<1024?q:0-q>>31&1023;f=p+10742+n+((m+o|0)*20|0)+(H(l+f|0,-5)|0)>>10;b[a+(h<<1)>>1]=f>>>0<1024?f:0-f>>31&1023;o=c+20972+k+((l+m|0)*20|0)+(H(n+o|0,-5)|0)>>10;b[a+(i<<1)>>1]=o>>>0<1024?o:0-o>>31&1023;a=a+2|0;d=d+2|0;g=g+1|0}return}function Wi(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;x=a+32|0;y=a+36|0;h=c[y>>2]|0;z=a+48|0;g=c[z>>2]|0;i=0;j=c[x>>2]|0;while(1){if((j|0)<(g|0))break;i=i+1|0;j=j-g|0}s=a+4|0;t=a+12|0;u=a+8|0;v=a+40|0;w=a+28|0;r=a+24|0;q=0;while(1){if((q|0)>=(e|0))break;a=c[t>>2]|0;k=(c[s>>2]|0)+((H(a,j)|0)<<2)|0;l=c[u>>2]|0;g=0;m=536870912;n=0;o=536870912;p=0;while(1){if((g|0)>=(l|0))break;D=c[d+(g+i<<2)>>2]|0;A=((D|0)<0)<<31>>31;C=c[k+(g<<2)>>2]|0;C=MR(C|0,((C|0)<0)<<31>>31|0,D|0,A|0)|0;C=aX(C|0,M()|0,m|0,n|0)|0;B=M()|0;E=c[k+(g+a<<2)>>2]|0;A=MR(E|0,((E|0)<0)<<31>>31|0,D|0,A|0)|0;A=aX(A|0,M()|0,o|0,p|0)|0;g=g+1|0;m=C;n=B;o=A;p=M()|0}g=_W(o|0,p|0,m|0,n|0)|0;a=M()|0;C=c[v>>2]|0;C=xA(g|0,a|0,C|0,((C|0)<0)<<31>>31|0)|0;C=MR(C|0,M()|0,h|0,((h|0)<0)<<31>>31|0)|0;C=aX(C|0,M()|0,m|0,n|0)|0;a=M()|0;g=BU(C|0,a|0,30)|0;E=aX(g|0,M()|0,-2147483648,0)|0;D=M()|0;a=BU(C|0,a|0,63)|0;M()|0;c[b+(q<<2)>>2]=D>>>0>0|(D|0)==0&E>>>0>4294967295?a^2147483647:g;g=(c[w>>2]|0)+h|0;a=c[v>>2]|0;E=(g|0)<(a|0);a=E?0:a;h=c[z>>2]|0;j=(c[r>>2]|0)+j+((E^1)&1)|0;while(1){if((j|0)<(h|0))break;i=i+1|0;j=j-h|0}q=q+1|0;h=g-a|0}if(f|0){c[y>>2]=h;c[x>>2]=j}return i|0}function Xi(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=b>>1;b=0;d=0;f=0;g=0;h=0;i=0;while(1){if((b|0)==4)break;n=a+((H(b,s)|0)+-1<<1)|0;n=d+(e[n>>1]|0)+(e[a+(b-s<<1)>>1]|0)|0;o=b+4|0;p=a+((H(o,s)|0)+-1<<1)|0;q=a+((H(b+8|0,s)|0)+-1<<1)|0;r=a+((H(b+12|0,s)|0)+-1<<1)|0;b=b+1|0;d=n;f=f+(e[a+(o-s<<1)>>1]|0)|0;g=g+(e[p>>1]|0)|0;h=h+(e[q>>1]|0)|0;i=i+(e[r>>1]|0)|0}d=MR((d+4|0)>>>3|0,0,65537,65537)|0;j=M()|0;k=MR((f+2|0)>>>2|0,0,65537,65537)|0;l=M()|0;m=(g+2|0)>>>2;r=f+4|0;f=(r+g|0)>>>3;g=(h+2|0)>>>2;h=(r+h|0)>>>3;q=(i+2|0)>>>2;r=(r+i|0)>>>3;b=0;while(1){if((b|0)==4)break;p=a+((H(b,s)|0)<<1)|0;o=p;c[o>>2]=d;c[o+4>>2]=j;p=p+8|0;c[p>>2]=k;c[p+4>>2]=l;b=b+1|0}o=MR(m|0,0,65537,65537)|0;p=M()|0;k=MR(f|0,0,65537,65537)|0;l=M()|0;m=MR(g|0,0,65537,65537)|0;n=M()|0;g=MR(h|0,0,65537,65537)|0;h=M()|0;i=MR(q|0,0,65537,65537)|0;j=M()|0;d=MR(r|0,0,65537,65537)|0;f=M()|0;b=4;while(1){if((b|0)==8)break;r=a+((H(b,s)|0)<<1)|0;q=r;c[q>>2]=o;c[q+4>>2]=p;r=r+8|0;c[r>>2]=k;c[r+4>>2]=l;b=b+1|0}b=8;while(1){if((b|0)==12)break;r=a+((H(b,s)|0)<<1)|0;q=r;c[q>>2]=m;c[q+4>>2]=n;r=r+8|0;c[r>>2]=g;c[r+4>>2]=h;b=b+1|0}b=12;while(1){if((b|0)==16)break;r=a+((H(b,s)|0)<<1)|0;q=r;c[q>>2]=i;c[q+4>>2]=j;r=r+8|0;c[r>>2]=d;c[r+4>>2]=f;b=b+1|0}return}function Yi(a,b,d,e){a=a|0;b=b|0;d=d|0;e=+e;var g=0,h=0.0,i=0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0.0;p=Mb;Mb=Mb+16|0;i=p;g=15<<d;k=g<<1;do if((d+-2|0)>>>0<=11){n=EZ(672)|0;c[i>>2]=n;o=n;if(!n)d=-12;else{q=d+-1|0;c[n>>2]=q;d=n+8|0;c[d>>2]=(g|0)/2|0;c[n+4>>2]=g;m=n+12|0;c[m>>2]=b;c[n+640>>2]=167;c[n+648>>2]=168;c[n+652>>2]=169;c[n+644>>2]=123;if((((Zm(n+24|0,q,b)|0)>=0?(Ut(n)|0)==0:0)?(q=PW(k,16)|0,c[n+92>>2]=q,q|0):0)?(l=PW(c[d>>2]|0,8)|0,c[n+96>>2]=l,l|0):0){g=c[d>>2]|0;if(e<0.0)j=+(g|0)+.125;else j=.125;h=+v(+(+u(+e)));e=+(k|0);d=0;while(1){if((d|0)>=(g|0))break;r=(j+ +(d|0))*6.283185307179586/e;s=h*+x(+r);f[l+(d<<3)>>2]=s;r=h*+y(+r);f[l+(d<<3)+4>>2]=r;d=d+1|0}d=0;while(1){if((d|0)==19)break;if(d>>>0<15){s=+(d|0)*6.283185307179586/15.0;s=(c[m>>2]|0)==0?-s:s;r=+x(+s);f[n+128+(d<<3)>>2]=r;s=+y(+s);f[n+128+(d<<3)+4>>2]=s}else{k=n+128+(d+-15<<3)|0;l=c[k+4>>2]|0;q=n+128+(d<<3)|0;c[q>>2]=c[k>>2];c[q+4>>2]=l}d=d+1|0}f[n+280>>2]=.30901697278022766;g=n+284|0;f[g>>2]=.9510565400123596;f[n+288>>2]=.80901700258255;d=n+292|0;f[d>>2]=.5877852439880371;if(c[m>>2]|0){f[g>>2]=-.9510565400123596;f[d>>2]=-.5877852439880371}c[a>>2]=o;d=0;break}rU(i);d=-12}}else d=-22;while(0);Mb=p;return d|0}function Zi(b,f,g){b=b|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;p=c[b+1412>>2]|0;q=p+60|0;r=1<<c[q>>2];s=f+160|0;a[s>>0]=0;a:do if(a[p+13198>>0]|0){o=p+13296|0;if(!(a[o>>0]|0))n=0;else n=PL(g)|0;h=PL(g)|0;if(n>>>0<=(d[o>>0]|0)>>>0?(m=aX(h|0,0,n|0,0)|0,l=M()|0,!(l>>>0>0|(l|0)==0&m>>>0>32)):0){i=h+n&255;a[s>>0]=i;l=b+5696|0;m=((r|0)<0)<<31>>31;k=b+2424|0;h=0;j=0;b=i;while(1){if(j>>>0>=(b&255)>>>0){h=0;break a}if(j>>>0<n>>>0){b=a[o>>0]|0;if((b&255)>1){b=((b&255)<<1)+-2|0;t=b>>>0>65535;b=t?b>>>16:b;t=t?16:0;i=(b&65280|0)==0;b=HG(g,(i?t:t|8)+(d[94448+(i?b:b>>>8)>>0]|0)|0)|0}else b=0;b=b&255;c[f+(j<<2)>>2]=e[p+13200+(b<<1)>>1];b=a[p+13264+b>>0]|0}else{b=HG(g,c[q>>2]|0)|0;c[f+(j<<2)>>2]=b;b=(mT(g)|0)&255}a[f+128+j>>0]=b;if(((mT(g)|0)&255)<<24>>24){u=PL(g)|0;b=(j|0)==0|(j|0)==(n|0);h=aX((b?0:h)|0,(b?0:((h|0)<0)<<31>>31)|0,u|0,0)|0;u=M()|0;b=f+(j<<2)|0;t=(c[l>>2]|0)+(c[b>>2]|0)|0;u=MR(h|0,u|0,r|0,m|0)|0;u=_W(t|0,((t|0)<0)<<31>>31|0,u|0,M()|0)|0;t=M()|0;i=c[k>>2]|0;i=_W(u|0,t|0,i|0,((i|0)<0)<<31>>31|0)|0;if(!((i|0)==(i|0)&(M()|0)==(((i|0)<0)<<31>>31|0))){h=-1094995529;break a}c[b>>2]=i}j=j+1|0;b=a[s>>0]|0}}else h=-1094995529}else h=0;while(0);return h|0}function _i(b,e,f,g,h,i,j,k,l){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;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=Mb;Mb=Mb+32|0;w=x+24|0;v=x+16|0;m=x;if((e|0)<=-1){c[m>>2]=209510;c[m+4>>2]=209524;c[m+8>>2]=137;AD(0,0,222515,m);ba()}u=b+e|0;do if((e|0)>3){if(((a[b>>0]|0)==0?(a[b+1>>0]|0)==0:0)?(d[b+2>>0]|0)<=1:0){n=28;break}c[h>>2]=1;m=b+(e>>>0<21?e:21)|0;if((u-m|0)<1){t=1;m=u}else{t=(a[m>>0]&3)+1&255;m=m+1|0}b=m;if((u-m|0)<1){r=0;b=u}else{r=d[b>>0]|0;b=b+1|0}c[i>>2]=2;m=0;s=0;a:while(1){if(s>>>0>=r>>>0){n=27;break}e=b;if((u-b|0)<1){q=0;b=u}else{q=a[e>>0]&63;b=e+1|0}if((u-b|0)<2){p=0;b=u}else{p=b;p=(X0(d[p>>0]|d[p+1>>0]<<8|0)|0)&65535;b=b+2|0}o=0;while(1){if(o>>>0>=p>>>0)break;e=b;n=u-b|0;if((n|0)<2)m=0;else{m=b;m=(X0(d[m>>0]|d[m+1>>0]<<8|0)|0)&65535}b=m+2|0;if(n>>>0<b>>>0){n=22;break a}m=mp(e,b,f,g,c[h>>2]|0,c[i>>2]|0,j,k,l)|0;if((m|0)<0){n=24;break a}o=o+1|0;b=e+(n>>>0>b>>>0?b:n)|0}s=s+1|0}if((n|0)==22){AD(l,16,209548,v);m=-1094995529;break}else if((n|0)==24){c[w>>2]=q;c[w+4>>2]=s;AD(l,16,209585,w);break}else if((n|0)==27){c[i>>2]=t;break}}else n=28;while(0);if((n|0)==28){c[h>>2]=0;m=mp(b,e,f,g,0,c[i>>2]|0,j,k,l)|0}Mb=x;return m|0}function $i(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=Mb;Mb=Mb+128|0;l=u+112|0;p=u+116|0;q=u;k=u+120|0;r=b+4|0;s=c[r>>2]|0;c[p>>2]=0;i=q;j=i+112|0;do{c[i>>2]=0;i=i+4|0}while((i|0)<(j|0));a[k>>0]=0;a[k+1>>0]=0;a[k+2>>0]=0;a[k+3>>0]=0;a[k+4>>0]=0;a[k+5>>0]=0;a[k+6>>0]=0;i=b+6520|0;if((i|0)!=(e|0)){Mn(i|0,e|0,f*3|0)|0;c[b+6712>>2]=f}i=0;while(1){if((i|0)>=(f|0)){j=7;break}m=d[e+(i*3|0)>>0]|0;n=d[e+(i*3|0)+1>>0]|0;j=k+m|0;o=a[j>>0]|0;a[j>>0]=o+1<<24>>24;a[q+(m<<4)+n>>0]=o;if((o&255)>15){j=6;break}else i=i+1|0}a:do if((j|0)==6){GU(s,196657,l);i=-1163346256}else if((j|0)==7){o=s+456|0;if((c[o>>2]|0)==0?(c[o+4>>2]|0)==-2147483648:0){n=0;o=0}else{n=oe(e,f)|0;o=M()|0}j=0;while(1){if((j|0)>=(f|0))break;k=d[e+(j*3|0)>>0]|0;l=d[e+(j*3|0)+1>>0]|0;m=d[q+(k<<4)+l>>0]|0;i=Lp(b,d[e+(j*3|0)+2>>0]|0,k,m,p)|0;if((i|0)<0)break a;c[b+748+(k<<6)+(l<<2)>>2]=c[b+492+(k<<6)+(m<<2)>>2];j=j+1|0}k=c[p>>2]|0;q=(k|0)==2?(c[b+6512>>2]|0)==1:0;i=(n|0)==4&(o|0)==0;j=q?(i?3:0):n;i=q?(i?0:0):o;if(!((j|0)==0&(i|0)==0)){q=s+448|0;c[q>>2]=j;c[q+4>>2]=i}q=b+6720|0;c[q>>2]=j;c[q+4>>2]=i;c[b+6716>>2]=k;c[s+420>>2]=k;c[b+6728>>2]=g;if(h|0?(t=hu(c[r>>2]|0)|0,(t|0)<0):0){i=t;break}i=0}while(0);Mb=u;return i|0}function aj(a,d,e,f,g,h){a=a|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;k=c[e+20>>2]|0;i=c[f+36>>2]|0;j=f+32|0;c[j>>2]=i;l=c[f+20>>2]|0;if((l|0)<(c[f+40>>2]|0)){i=i+(1<<k)|0;c[j>>2]=i}switch(c[e+24>>2]|0){case 0:{i=1<<c[e+28>>2];k=c[f>>2]|0;j=c[f+28>>2]|0;if((j|0)>(k|0)?(j-k|0)>=((i|0)/2|0|0):0)i=(c[f+24>>2]|0)+i|0;else m=7;do if((m|0)==7){if((j|0)<(k|0)?(j-k|0)<((i|0)/-2|0|0):0){i=(c[f+24>>2]|0)-i|0;break}i=c[f+24>>2]|0}while(0);c[f+4>>2]=i;j=i+k|0;if((g|0)==3){i=j;k=f+8|0;m=25}else{k=j;i=j;m=26}break}case 1:{m=c[e+44>>2]|0;k=(m|0)==0?0:i+l|0;h=(h|0)==0;j=(h&(k|0)>0)<<31>>31;i=0;l=0;while(1){if((i|0)>=(m|0))break;n=l+(b[e+148+(i<<1)>>1]|0)|0;i=i+1|0;l=n}i=k+j|0;a:do if((i|0)>0){k=i+-1|0;i=(k|0)/(m|0)|0;k=k-(H(i,m)|0)|0;i=H(i,l)|0;j=0;while(1){if((j|0)>(k|0))break a;i=i+(b[e+148+(j<<1)>>1]|0)|0;j=j+1|0}}else i=0;while(0);if(h)i=(c[e+36>>2]|0)+i|0;j=(c[f+12>>2]|0)+i|0;i=j+(c[e+40>>2]|0)|0;if((g|0)==3){k=f+16|0;m=25}else{k=j;m=26}break}default:{i=(i+l<<1)+(((h|0)==0)<<31>>31)|0;k=i;m=26}}if((m|0)==25){i=(c[k>>2]|0)+i|0;c[a>>2]=j;m=29}else if((m|0)==26)if((g|0)!=2?(c[a>>2]=k,(g|0)==1):0){j=a+4|0;i=k}else m=29;if((m|0)==29){j=a+4|0;c[j>>2]=i;i=c[a>>2]|0}n=c[j>>2]|0;c[d>>2]=(i|0)>(n|0)?n:i;return 0}function bj(c,e,f,g,h){c=c|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=e;j=0;f=f+(0-(h<<1))|0;while(1){if((j|0)==9)break;l=f+1|0;o=f+-1|0;k=f+2|0;p=H((d[k>>0]|0)+(d[o>>0]|0)|0,-5)|0;m=f+3|0;b[i>>1]=(((d[l>>0]|0)+(d[f>>0]|0)|0)*20|0)+(d[f+-2>>0]|0)+p+(d[m>>0]|0);p=H((d[m>>0]|0)+(d[f>>0]|0)|0,-5)|0;n=f+4|0;b[i+2>>1]=(((d[k>>0]|0)+(d[l>>0]|0)|0)*20|0)+(d[o>>0]|0)+p+(d[n>>0]|0);p=H((d[n>>0]|0)+(d[l>>0]|0)|0,-5)|0;o=f+5|0;b[i+4>>1]=(((d[m>>0]|0)+(d[k>>0]|0)|0)*20|0)+(d[f>>0]|0)+p+(d[o>>0]|0);k=H((d[o>>0]|0)+(d[k>>0]|0)|0,-5)|0;b[i+6>>1]=(((d[n>>0]|0)+(d[m>>0]|0)|0)*20|0)+(d[l>>0]|0)+k+(d[f+6>>0]|0);i=i+8|0;j=j+1|0;f=f+h|0}j=g<<1;h=g*3|0;f=e+16|0;i=0;while(1){if((i|0)==4)break;r=b[f+-8>>1]|0;q=b[f>>1]|0;e=b[f+8>>1]|0;o=b[f+16>>1]|0;m=b[f+24>>1]|0;l=b[f+32>>1]|0;n=b[f+40>>1]|0;k=b[f+48>>1]|0;p=(b[f+-16>>1]|0)+512+m+((e+q|0)*20|0)+(H(o+r|0,-5)|0)>>10;a[c>>0]=((d[c>>0]|0)+1+((p>>>0>255?0-p>>31:p)&255)|0)>>>1;p=c+g|0;r=r+512+l+((o+e|0)*20|0)+(H(m+q|0,-5)|0)>>10;a[p>>0]=((d[p>>0]|0)+1+((r>>>0>255?0-r>>31:r)&255)|0)>>>1;p=c+j|0;q=q+512+n+((m+o|0)*20|0)+(H(l+e|0,-5)|0)>>10;a[p>>0]=((d[p>>0]|0)+1+((q>>>0>255?0-q>>31:q)&255)|0)>>>1;p=c+h|0;o=e+512+k+((l+m|0)*20|0)+(H(n+o|0,-5)|0)>>10;a[p>>0]=((d[p>>0]|0)+1+((o>>>0>255?0-o>>31:o)&255)|0)>>>1;c=c+1|0;f=f+2|0;i=i+1|0}return}function cj(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;j=Mb;Mb=Mb+16|0;g=j;e=c[b+136>>2]|0;f=b+1412|0;k=c[f>>2]|0;h=c[k+13320>>2]|0;d=c[k+13376>>2]>>h;h=(c[k+13380>>2]>>h)+1|0;k=b+5720|0;l=b+5724|0;jv(c[b+7552>>2]|0,0,H(c[l>>2]|0,c[k>>2]|0)|0)|0;jv(c[b+7556>>2]|0,0,H(c[l>>2]|0,c[k>>2]|0)|0)|0;k=c[f>>2]|0;jv(c[b+7576>>2]|0,0,H(c[k+13408>>2]|0,c[k+13404>>2]|0)|0)|0;k=c[f>>2]|0;jv(c[b+7580>>2]|0,0,H((c[k+13416>>2]|0)+1|0,(c[k+13412>>2]|0)+1|0)|0)|0;jv(c[b+7560>>2]|0,-1,H((d<<2)+4|0,h)|0)|0;c[b+5728>>2]=0;h=b+3508|0;d=c[h>>2]|0;c[b+7624>>2]=d;switch(d|0){case 18:case 16:case 17:case 20:case 19:{d=1;break}case 21:{d=(c[b+5712>>2]|0)!=0&1;break}default:d=0}c[b+5732>>2]=d;d=c[b+1416>>2]|0;if(a[d+42>>0]|0)c[e+312>>2]=c[c[d+1648>>2]>>2]<<c[(c[f>>2]|0)+13336>>2];e=b+160|0;d=ts(b,e,c[b+5696>>2]|0)|0;do if((d|0)>=0){d=go(b)|0;if((d|0)<0){AD(c[b+4>>2]|0,16,179663,g);i=15;break}c[(c[c[b+3516>>2]>>2]|0)+84>>2]=(c[h>>2]&-8|0)==16&1;d=pe(b)|0;if((d|0)>=0){c[(c[e>>2]|0)+88>>2]=3-(c[b+2420>>2]|0);if((c[h>>2]&-8|0)!=16)vq(b);d=b+164|0;jB(c[d>>2]|0);d=Hj(b,c[d>>2]|0,0)|0;if((d|0)>=0){d=c[b+4>>2]|0;if(!(c[d+704>>2]|0)){ew(d);d=0}else d=0}else i=15}else i=15}else i=15;while(0);if((i|0)==15){e=b+3516|0;f=c[e>>2]|0;if(f|0)hB(b,f,-1);c[e>>2]=0}Mb=j;return d|0}function dj(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=0;while(1){if((g|0)==8)break;j=c+1|0;i=c+-1|0;k=c+2|0;m=H((d[k>>0]|0)+(d[i>>0]|0)|0,-5)|0;l=c+3|0;m=(((d[j>>0]|0)+(d[c>>0]|0)|0)*20|0)+16+(d[c+-2>>0]|0)+m+(d[l>>0]|0)>>5;a[b>>0]=m>>>0>255?0-m>>31:m;m=H((d[l>>0]|0)+(d[c>>0]|0)|0,-5)|0;n=c+4|0;m=(((d[k>>0]|0)+(d[j>>0]|0)|0)*20|0)+16+(d[i>>0]|0)+m+(d[n>>0]|0)>>5;a[b+1>>0]=m>>>0>255?0-m>>31:m;m=H((d[n>>0]|0)+(d[j>>0]|0)|0,-5)|0;i=c+5|0;m=(((d[l>>0]|0)+(d[k>>0]|0)|0)*20|0)+16+(d[c>>0]|0)+m+(d[i>>0]|0)>>5;a[b+2>>0]=m>>>0>255?0-m>>31:m;m=H((d[i>>0]|0)+(d[k>>0]|0)|0,-5)|0;h=c+6|0;m=(((d[n>>0]|0)+(d[l>>0]|0)|0)*20|0)+16+(d[j>>0]|0)+m+(d[h>>0]|0)>>5;a[b+3>>0]=m>>>0>255?0-m>>31:m;m=H((d[h>>0]|0)+(d[l>>0]|0)|0,-5)|0;j=c+7|0;m=(((d[i>>0]|0)+(d[n>>0]|0)|0)*20|0)+16+(d[k>>0]|0)+m+(d[j>>0]|0)>>5;a[b+4>>0]=m>>>0>255?0-m>>31:m;m=H((d[j>>0]|0)+(d[n>>0]|0)|0,-5)|0;k=c+8|0;m=(((d[h>>0]|0)+(d[i>>0]|0)|0)*20|0)+16+(d[l>>0]|0)+m+(d[k>>0]|0)>>5;a[b+5>>0]=m>>>0>255?0-m>>31:m;m=H((d[k>>0]|0)+(d[i>>0]|0)|0,-5)|0;l=c+9|0;m=(((d[j>>0]|0)+(d[h>>0]|0)|0)*20|0)+16+(d[n>>0]|0)+m+(d[l>>0]|0)>>5;a[b+6>>0]=m>>>0>255?0-m>>31:m;h=H((d[l>>0]|0)+(d[h>>0]|0)|0,-5)|0;h=(((d[k>>0]|0)+(d[j>>0]|0)|0)*20|0)+16+(d[i>>0]|0)+h+(d[c+10>>0]|0)>>5;a[b+7>>0]=h>>>0>255?0-h>>31:h;c=c+f|0;b=b+e|0;g=g+1|0}return}function ej(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=c>>1;i=(h<<f+6)+((f|0)==0?0:1<<f+-1)|0;c=a;h=0;while(1){if((h|0)>=(d|0))break;a=(H(e[c>>1]|0,g)|0)+i>>f;b[c>>1]=a>>>0<16384?a:0-a>>31&16383;a=c+2|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+4|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+6|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+8|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+10|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+12|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+14|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+16|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+18|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+20|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+22|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+24|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+26|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+28|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+30|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;c=c+(j<<1)|0;h=h+1|0}return}function fj(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;u=Mb;Mb=Mb+32|0;s=u+16|0;r=u;l=a+36|0;m=a+40|0;n=a+44|0;o=a+176|0;p=a+204|0;q=a+220|0;k=a+236|0;i=0;a:while(1){if((a$(b)|0)<=16){f=i;break}if(!(zQ(b,16)|0)){f=i;break}h=0;do{if((a$(b)|0)<8){f=-1094995529;break a}h=(zQ(b,8)|0)+h|0}while((HG(b,8)|0)==255);g=0;do{if((a$(b)|0)<8){f=-1094995529;break a}g=(zQ(b,8)|0)+g|0}while((HG(b,8)|0)==255);f=a$(b)|0;if(g>>>0>((f|0)/8|0)>>>0){t=11;break}j=(l1(b)|0)+(g<<3)|0;do switch(h|0){case 1:{f=Sk(a,b,d,e)|0;t=23;break}case 4:{f=Ev(a,b,g)|0;t=23;break}case 5:{f=wu(l,b,e,g)|0;t=23;break}case 6:{PX(m,b);f=i;break}case 0:{f=ls(n,b,d,e)|0;t=23;break}case 45:{kz(o,b);f=i;break}case 47:{JK(p,b);f=i;break}case 56:{mv(q,b);f=i;break}case 147:{pY(k,b);f=i;break}default:{c[s>>2]=h;AD(e,48,173956,s);f=i}}while(0);if((t|0)==23){t=0;g=(f|0)<0;if(g&(f|0)!=-1397768184)break;else f=g?f:i}fS(b,j-(l1(b)|0)|0);gZ(b);i=f}if((t|0)==11){c[r>>2]=h;c[r+4>>2]=g<<3;c[r+8>>2]=f;AD(e,16,173919,r);f=-1094995529}Mb=u;return f|0}function gj(a,b,c,e,f){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;g=0;h=0;a=c;while(1){if((g|0)>=(f|0))break;v=(d[a+1>>0]|0)+1|0;w=(d[b>>0]|0)-((v+(d[a>>0]|0)|0)>>>1)|0;u=d[a+2>>0]|0;v=(d[b+1>>0]|0)-((v+u|0)>>>1)|0;t=d[a+3>>0]|0;u=(d[b+2>>0]|0)-((u+1+t|0)>>>1)|0;s=d[a+4>>0]|0;t=(d[b+3>>0]|0)-((t+1+s|0)>>>1)|0;r=d[a+5>>0]|0;s=(d[b+4>>0]|0)-((s+1+r|0)>>>1)|0;q=d[a+6>>0]|0;r=(d[b+5>>0]|0)-((r+1+q|0)>>>1)|0;p=d[a+7>>0]|0;q=(d[b+6>>0]|0)-((q+1+p|0)>>>1)|0;o=d[a+8>>0]|0;p=(d[b+7>>0]|0)-((p+1+o|0)>>>1)|0;n=d[a+9>>0]|0;o=(d[b+8>>0]|0)-((o+1+n|0)>>>1)|0;m=d[a+10>>0]|0;n=(d[b+9>>0]|0)-((n+1+m|0)>>>1)|0;l=d[a+11>>0]|0;m=(d[b+10>>0]|0)-((m+1+l|0)>>>1)|0;k=d[a+12>>0]|0;l=(d[b+11>>0]|0)-((l+1+k|0)>>>1)|0;j=d[a+13>>0]|0;k=(d[b+12>>0]|0)-((k+1+j|0)>>>1)|0;i=d[a+14>>0]|0;j=(d[b+13>>0]|0)-((j+1+i|0)>>>1)|0;c=d[a+15>>0]|0;i=(d[b+14>>0]|0)-((i+1+c|0)>>>1)|0;c=(d[b+15>>0]|0)-((c+1+(d[a+16>>0]|0)|0)>>>1)|0;g=g+1|0;h=((w|0)>-1?w:0-w|0)+h+((v|0)>-1?v:0-v|0)+((u|0)>-1?u:0-u|0)+((t|0)>-1?t:0-t|0)+((s|0)>-1?s:0-s|0)+((r|0)>-1?r:0-r|0)+((q|0)>-1?q:0-q|0)+((p|0)>-1?p:0-p|0)+((o|0)>-1?o:0-o|0)+((n|0)>-1?n:0-n|0)+((m|0)>-1?m:0-m|0)+((l|0)>-1?l:0-l|0)+((k|0)>-1?k:0-k|0)+((j|0)>-1?j:0-j|0)+((i|0)>-1?i:0-i|0)+((c|0)>-1?c:0-c|0)|0;b=b+e|0;a=a+e|0}return h|0}function hj(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;B=Mb;Mb=Mb+32|0;z=B+16|0;y=B;n=c[a+212>>2]|0;j=c[n+12>>2]|0;t=a+156|0;d2(t)|0;u=a+332|0;v=a+300|0;w=a+12|0;x=j+64|0;d=n+812|0;e=a+336|0;f=n+472|0;g=n+704|0;h=a+288|0;i=a+292|0;j=j+88|0;k=a+216|0;l=a+296|0;m=n+64|0;o=a+340|0;p=a+184|0;q=a+60|0;r=a+108|0;while(1){b=(c[u>>2]|0)==0;if(!(c[v>>2]|0)){if(!b){A=28;break}yb(w|0,t|0)|0}else{if(!b){A=28;break}do if(!(c[x>>2]|0)){if((c[d>>2]|0)==0?(c[f>>2]|0)!=11:0)break;ew(n)}while(0);if(c[e>>2]|0){A=12;break}if(c[g>>2]|0){d2((c[a>>2]|0)+36|0)|0;c[e>>2]=1}jB(c[h>>2]|0);c[i>>2]=0;b=Zb[c[j>>2]&7](n,c[h>>2]|0,i,k)|0;c[l>>2]=b;if(!((b|0)>=0?(c[i>>2]|0)!=0:0))A=17;if((A|0)==17?(A=0,s=c[h>>2]|0,c[s+248>>2]|0):0){if(!(c[(c[m>>2]|0)+4>>2]|0))b=s;else{AD(n,16,193545,z);b=c[h>>2]|0}jB(b)}if((c[v>>2]|0)==1)ew(n);if(c[e>>2]|0){c[e>>2]=0;d2((c[a>>2]|0)+36|0)|0}if(c[o>>2]|0){c[o>>2]=0;XE(c[a>>2]|0)}d2(p)|0;c[v>>2]=0;d2(q|0)|0;xb(r|0)|0;d2(p)|0}}if((A|0)==12){c[y>>2]=193521;c[y+4>>2]=193346;c[y+8>>2]=190;AD(0,0,222515,y);ba()}else if((A|0)==28){d2(t)|0;Mb=B;return 0}return 0}function ij(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,u=0,v=0,w=0;u=b+704|0;v=c[u>>2]|0;if((v|0)!=0?(c[v>>2]|0)!=0:0)if(!(c[(c[b>>2]|0)+676>>2]&256)){f=c[b+552>>2]|0;g=b+548|0;v=b+580|0;d=0;e=0;while(1){if((d|0)>=(f|0))break;t=e+((a[(c[v>>2]|0)+(c[(c[g>>2]|0)+(d<<2)>>2]|0)>>0]&12)!=12&1)|0;d=d+1|0;e=t}if(e>>>0>=5){l=e>>>0>99?(e>>>0)/50|0:1;m=b+560|0;n=b+556|0;o=b+564|0;p=b+672|0;q=b+696|0;r=b+8|0;s=b+708|0;d=0;e=0;k=0;while(1){if((k|0)>=((c[m>>2]|0)+-1|0))break;t=k<<4;j=0;while(1){if((j|0)>=(c[n>>2]|0))break;f=(H(c[o>>2]|0,k)|0)+j|0;do if((a[(c[v>>2]|0)+f>>0]&12)!=12){e=e+1|0;if(!((e|0)%(l|0)|0)){g=c[p>>2]|0;if((c[g+88>>2]|0)!=1)if(!(c[(c[q>>2]|0)+(f<<2)>>2]&7)){d=d+-1|0;break}else{d=d+1|0;break}else{h=g+32|0;w=j<<4;f=c[h>>2]|0;i=H(f,t)|0;g=(c[g>>2]|0)+w+i|0;i=(c[c[u>>2]>>2]|0)+w+i|0;if((c[(c[b>>2]|0)+48>>2]|0)!=28){Yw(c[s>>2]|0,k,0);f=c[h>>2]|0}w=(_b[c[r>>2]&63](0,i,g,f,16)|0)+d|0;d=c[h>>2]|0;d=w-(_b[c[r>>2]&63](0,i,i+(d<<4)|0,d,16)|0)|0;break}}}while(0);j=j+1|0}k=k+1|0}d=(d|0)>0&1}else d=0}else d=0;else d=1;return d|0}function jj(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;k=8-g|0;j=8-h|0;m=H(j,k)|0;j=H(j,g)|0;k=H(k,h)|0;i=H(h,g)|0;l=d>>1;a:do if(!i){i=j+k|0;if(!i){g=0;while(1){if((g|0)>=(f|0))break a;k=((e[a>>1]|0)+1+(((H(m,e[c>>1]|0)|0)+32|0)>>>6)|0)>>>1&65535;b[a>>1]=k;k=a+2|0;j=((e[k>>1]|0)+1+(((H(m,e[c+2>>1]|0)|0)+32|0)>>>6)|0)>>>1&65535;b[k>>1]=j;a=a+(l<<1)|0;g=g+1|0;c=c+(l<<1)|0}}else{h=(k|0)==0?1:l;d=h+1|0;g=0;while(1){if((g|0)>=(f|0))break a;k=H(m,e[c>>1]|0)|0;k=((e[a>>1]|0)+1+((k+32+(H(i,e[c+(h<<1)>>1]|0)|0)|0)>>>6)|0)>>>1&65535;b[a>>1]=k;k=a+2|0;j=H(m,e[c+2>>1]|0)|0;j=((e[k>>1]|0)+1+((j+32+(H(i,e[c+(d<<1)>>1]|0)|0)|0)>>>6)|0)>>>1&65535;b[k>>1]=j;a=a+(l<<1)|0;g=g+1|0;c=c+(l<<1)|0}}}else{h=l+1|0;d=l+2|0;g=0;while(1){if((g|0)>=(f|0))break a;s=H(m,e[c>>1]|0)|0;r=c+2|0;q=H(j,e[r>>1]|0)|0;n=c+(l<<1)|0;o=H(k,e[n>>1]|0)|0;p=c+(h<<1)|0;o=((e[a>>1]|0)+1+((s+32+q+o+(H(i,e[p>>1]|0)|0)|0)>>>6)|0)>>>1&65535;b[a>>1]=o;o=a+2|0;r=H(m,e[r>>1]|0)|0;q=H(j,e[c+4>>1]|0)|0;p=H(k,e[p>>1]|0)|0;p=((e[o>>1]|0)+1+((r+32+q+p+(H(i,e[c+(d<<1)>>1]|0)|0)|0)>>>6)|0)>>>1&65535;b[o>>1]=p;a=a+(l<<1)|0;g=g+1|0;c=n}}while(0);return}function kj(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=c>>1;i=(h<<f+4)+((f|0)==0?0:1<<f+-1)|0;c=a;h=0;while(1){if((h|0)>=(d|0))break;a=(H(e[c>>1]|0,g)|0)+i>>f;b[c>>1]=a>>>0<4096?a:0-a>>31&4095;a=c+2|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+4|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+6|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+8|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+10|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+12|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+14|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+16|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+18|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+20|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+22|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+24|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+26|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+28|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+30|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;c=c+(j<<1)|0;h=h+1|0}return}function lj(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=c>>1;i=(h<<f+2)+((f|0)==0?0:1<<f+-1)|0;c=a;h=0;while(1){if((h|0)>=(d|0))break;a=(H(e[c>>1]|0,g)|0)+i>>f;b[c>>1]=a>>>0<1024?a:0-a>>31&1023;a=c+2|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+4|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+6|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+8|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+10|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+12|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+14|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+16|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+18|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+20|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+22|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+24|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+26|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+28|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+30|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;c=c+(j<<1)|0;h=h+1|0}return}function mj(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=Mb;Mb=Mb+16|0;t=u;l=0;a:while(1){if(l>>>0>=4){i=21;break}r=(l|0)==3?3:1;s=1<<(l<<1)+4;s=(s|0)<64?s:64;n=l>>>0>1;o=l+-2|0;p=(l|0)==0;q=p?16:64;m=0;while(1){if(m>>>0>=6)break;b:do if(!(((mT(b)|0)&255)<<24>>24)){h=CL(b)|0;if(h|0){h=H(h,r)|0;if(m>>>0<h>>>0){i=8;break a}h=m-h|0;Mn(f+(l*384|0)+(m<<6)|0,f+(l*384|0)+(h<<6)|0,q|0)|0;if(n)a[f+1536+(o*6|0)+m>>0]=a[f+1536+(o*6|0)+h>>0]|0}}else{if(n){h=($t(b)|0)+8|0;a[f+1536+(o*6|0)+m>>0]=h}else h=8;k=0;while(1){if((k|0)>=(s|0))break b;if(p){i=(d[80480+k>>0]|0)<<2;j=80464+k|0}else{i=(d[80560+k>>0]|0)<<3;j=80496+k|0}i=i+(d[j>>0]|0)|0;j=($t(b)|0)+h|0;a[f+(l*384|0)+(m<<6)+i>>0]=j;k=k+1|0;h=j&255}}while(0);m=m+r|0}l=l+1|0}if((i|0)==8){c[t>>2]=h;AD(e,16,178042,t);h=-1094995529}else if((i|0)==21)if((c[g+4>>2]|0)==3){h=0;while(1){if((h|0)==64)break;a[f+1216+h>>0]=a[f+832+h>>0]|0;a[f+1280+h>>0]=a[f+896+h>>0]|0;a[f+1408+h>>0]=a[f+1024+h>>0]|0;a[f+1472+h>>0]=a[f+1088+h>>0]|0;h=h+1|0}a[f+1543>>0]=a[f+1537>>0]|0;a[f+1544>>0]=a[f+1538>>0]|0;a[f+1546>>0]=a[f+1540>>0]|0;a[f+1547>>0]=a[f+1541>>0]|0;h=0}else h=0;Mb=u;return h|0}function nj(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=c>>1;i=(h<<f+1)+((f|0)==0?0:1<<f+-1)|0;c=a;h=0;while(1){if((h|0)>=(d|0))break;a=(H(e[c>>1]|0,g)|0)+i>>f;b[c>>1]=a>>>0<512?a:0-a>>31&511;a=c+2|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+4|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+6|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+8|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+10|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+12|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+14|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+16|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+18|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+20|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+22|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+24|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+26|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+28|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+30|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;c=c+(j<<1)|0;h=h+1|0}return}function oj(a){a=a|0;var b=0,d=0,e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=Mb;Mb=Mb+32|0;d=n;j=n+20|0;h=n+16|0;i=n+12|0;l=c[a+92>>2]|0;m=a+48|0;do if((l|0)==(c[m>>2]|0))b=0;else{if((c[a+36>>2]|0)==0?(k=a+28|0,(c[k>>2]|0)==0):0){d=a+12|0;e=a+84|0;f=gW(c[d>>2]|0,H(c[e>>2]|0,l+1|0)|0)|0;c[j>>2]=f;if(!f){b=-12;break}b=ye(a,f,+g[a+72>>3],c[a+8>>2]|0,c[d>>2]|0,l,1<<c[a+88>>2],c[a+56>>2]|0,+g[a+64>>3])|0;if((b|0)<0){bU(j);break}b=c[d>>2]|0;d=H(b,l)|0;e=c[e>>2]|0;b=H(b+-1|0,e)|0;Mn(f+(H(d+1|0,e)|0)|0,f|0,b|0)|0;Mn(f+(H(d,e)|0)|0,f+b|0,e|0)|0;e=a+40|0;b=c[e>>2]|0;f=a+20|0;d=c[f>>2]|0;o=(l|0)/(c[m>>2]|0)|0;d=MR(o|0,((o|0)<0)<<31>>31|0,d|0,((d|0)<0)<<31>>31|0)|0;if(!(ih(h,i,b,((b|0)<0)<<31>>31,d,M()|0,1073741823,0)|0)){bU(j);b=-22;break}d=c[h>>2]|0;c[e>>2]=d;b=c[i>>2]|0;c[f>>2]=b;while(1){if(!((b|0)<1048576&(d|0)<1048576))break;i=b<<1;c[f>>2]=i;o=d<<1;c[e>>2]=o;b=i;d=o}c[a+16>>2]=b;o=(b|0)/(d|0)|0;c[a+24>>2]=o;b=b-(H(o,d)|0)|0;c[k>>2]=b;b=a+32|0;o=H(c[b>>2]|0,(l|0)/(c[m>>2]|0)|0)|0;c[b>>2]=o;c[m>>2]=l;b=a+4|0;bU(b);c[b>>2]=c[j>>2];b=0;break}c[d>>2]=222545;c[d+4>>2]=222574;c[d+8>>2]=393;AD(0,0,222515,d);ba()}while(0);Mb=n;return b|0}function pj(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;i=c[b+21796>>2]|0;j=b+21752|0;c[j>>2]=-1;p=c[a+27e3>>2]|0;h=i-(p<<c[b+21828>>2])|0;k=h+-1|0;g=h+1|0;f=i+-1|0;n=b+21748|0;c[n>>2]=92304;q=c[a+24364>>2]|0;do if(c[a+26360>>2]|0){l=c[q+(f<<2)>>2]&128;m=d&128;if(c[b+21792>>2]&1|0){if((l|0)==(m|0)){o=k;n=f;break}d=i-p+-1|0;if(!m){c[j>>2]=0;c[n>>2]=92336;o=k+p|0;n=d;f=d;break}else{c[n>>2]=92400;o=k;n=d;break}}i=(m|0)!=0;if(i){d=(((c[q+(k<<2)>>2]|0)>>>7&1)+-1&p)+k|0;g=(((c[q+(g<<2)>>2]|0)>>>7&1)+-1&p)+g|0;h=(((c[q+(h<<2)>>2]|0)>>>7&1)+-1&p)+h|0}else d=k;if((l|0)!=(m|0))if(i){c[n>>2]=92400;o=d;n=f;f=p+f|0;break}else{c[n>>2]=92368;o=d;n=f;break}else{o=d;n=f}}else{o=k;n=f}while(0);c[b+21708>>2]=o;c[b+21712>>2]=h;c[b+21716>>2]=g;c[b+21720>>2]=n;c[b+21724>>2]=f;i=b+21728|0;c[i>>2]=c[q+(o<<2)>>2];j=b+21732|0;c[j>>2]=c[q+(h<<2)>>2];k=b+21736|0;c[k>>2]=c[q+(g<<2)>>2];l=b+21740|0;c[l>>2]=c[q+(n<<2)>>2];m=b+21744|0;c[m>>2]=c[q+(f<<2)>>2];d=c[a+26356>>2]|0;f=c[b+832>>2]|0;if((f|0)!=(e[d+(o<<1)>>1]|0|0)){c[i>>2]=0;if((f|0)!=(e[d+(h<<1)>>1]|0|0))c[j>>2]=0;if((f|0)!=(e[d+(n<<1)>>1]|0|0)){c[m>>2]=0;c[l>>2]=0}}if((f|0)!=(e[d+(g<<1)>>1]|0|0))c[k>>2]=0;return}function qj(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;i=c[b+21796>>2]|0;j=b+21752|0;c[j>>2]=-1;p=c[a+27e3>>2]|0;h=i-(p<<c[b+21828>>2])|0;k=h+-1|0;g=h+1|0;f=i+-1|0;n=b+21748|0;c[n>>2]=79008;q=c[a+24364>>2]|0;do if(c[a+26360>>2]|0){l=c[q+(f<<2)>>2]&128;m=d&128;if(c[b+21792>>2]&1|0){if((l|0)==(m|0)){o=k;n=f;break}d=i-p+-1|0;if(!m){c[j>>2]=0;c[n>>2]=79040;o=k+p|0;n=d;f=d;break}else{c[n>>2]=79104;o=k;n=d;break}}i=(m|0)!=0;if(i){d=(((c[q+(k<<2)>>2]|0)>>>7&1)+-1&p)+k|0;g=(((c[q+(g<<2)>>2]|0)>>>7&1)+-1&p)+g|0;h=(((c[q+(h<<2)>>2]|0)>>>7&1)+-1&p)+h|0}else d=k;if((l|0)!=(m|0))if(i){c[n>>2]=79104;o=d;n=f;f=p+f|0;break}else{c[n>>2]=79072;o=d;n=f;break}else{o=d;n=f}}else{o=k;n=f}while(0);c[b+21708>>2]=o;c[b+21712>>2]=h;c[b+21716>>2]=g;c[b+21720>>2]=n;c[b+21724>>2]=f;i=b+21728|0;c[i>>2]=c[q+(o<<2)>>2];j=b+21732|0;c[j>>2]=c[q+(h<<2)>>2];k=b+21736|0;c[k>>2]=c[q+(g<<2)>>2];l=b+21740|0;c[l>>2]=c[q+(n<<2)>>2];m=b+21744|0;c[m>>2]=c[q+(f<<2)>>2];d=c[a+26356>>2]|0;f=c[b+832>>2]|0;if((f|0)!=(e[d+(o<<1)>>1]|0|0)){c[i>>2]=0;if((f|0)!=(e[d+(h<<1)>>1]|0|0))c[j>>2]=0;if((f|0)!=(e[d+(n<<1)>>1]|0|0)){c[m>>2]=0;c[l>>2]=0}}if((f|0)!=(e[d+(g<<1)>>1]|0|0))c[k>>2]=0;return}function rj(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,v=0,w=0,x=0;x=Mb;Mb=Mb+64|0;t=x+16|0;l=x+8|0;k=x;p=x+24|0;w=b+292|0;r=b+13760|0;u=a+6472|0;v=c[u>>2]|0;s=(v|0)==39;switch(v|0){case 23:case 19:case 17:{n=1;break}default:n=s}c[p>>2]=0;h=HG(d,8)|0;m=(e|0)!=0;if(!m?(f=Tf(a,b,d)|0,(f|0)<0):0)v=23;else v=5;do if((v|0)==5){i=b+5872|0;e=b+6896|0;f=Ho(a,i,e,d,b)|0;if((f|0)>=0){g=b+7376|0;f=Wd(a,g,d,h,b,i,e)|0;if((f|0)>=0){if(!s?(j=mT(d)|0,(j|0)!=0):0){if((c[b+4>>2]|0)==2){AD(c[a+4>>2]|0,16,197271,k);f=-1094995529;v=23;break}if(!(iv(p,d,c[b+80>>2]|0,c[b+88>>2]|0)|0))f=j;else{AD(c[a+4>>2]|0,16,197320,l);f=-1094995529;v=23;break}}else f=0;l=mT(d)|0;c[w>>2]=l;if(!(n|(l|0)==0)?(o=Xl(a,w,d,b)|0,(o|0)<0):0){f=o;v=23;break}if(!s?mT(d)|0:0){GU(c[a+4>>2]|0,197352,t);f=-1163346256;v=23;break}if(n&(c[w>>2]|0)!=0?(q=Xl(a,w,d,b)|0,(q|0)<0):0){f=q;v=23;break}f=md(a,r,d,g,f,p,b,i)|0;if((f|0)>=0)if(m|(c[u>>2]|0)!=1)f=0;else{Oh(a,b);f=0}else v=23}else v=23}else v=23}while(0);if((v|0)==23)c[w>>2]=0;Mb=x;return f|0}function sj(a,c,d,f,g){a=a|0;c=c|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,p=0,q=0;j=g>>1;h=c;i=0;d=d+(0-(g&-2)<<1)|0;while(1){if((i|0)==9)break;k=d+2|0;n=d+-2|0;g=d+4|0;o=H((e[g>>1]|0)+(e[n>>1]|0)|0,-5)|0;l=d+6|0;b[h>>1]=(((e[k>>1]|0)+(e[d>>1]|0)|0)*20|0)+(e[d+-4>>1]|0)+o+(e[l>>1]|0);o=H((e[l>>1]|0)+(e[d>>1]|0)|0,-5)|0;m=d+8|0;b[h+2>>1]=(((e[g>>1]|0)+(e[k>>1]|0)|0)*20|0)+(e[n>>1]|0)+o+(e[m>>1]|0);o=H((e[m>>1]|0)+(e[k>>1]|0)|0,-5)|0;n=d+10|0;b[h+4>>1]=(((e[l>>1]|0)+(e[g>>1]|0)|0)*20|0)+(e[d>>1]|0)+o+(e[n>>1]|0);g=H((e[n>>1]|0)+(e[g>>1]|0)|0,-5)|0;b[h+6>>1]=(((e[m>>1]|0)+(e[l>>1]|0)|0)*20|0)+(e[k>>1]|0)+g+(e[d+12>>1]|0);h=h+16|0;i=i+1|0;d=d+(j<<1)|0}j=f>>1;h=f&-2;i=j*3|0;d=c+32|0;g=0;while(1){if((g|0)==4)break;p=b[d+-16>>1]|0;f=b[d>>1]|0;c=b[d+16>>1]|0;o=b[d+32>>1]|0;m=b[d+48>>1]|0;l=b[d+64>>1]|0;n=b[d+80>>1]|0;k=b[d+96>>1]|0;q=(b[d+-32>>1]|0)+512+m+((c+f|0)*20|0)+(H(o+p|0,-5)|0)>>10;b[a>>1]=q>>>0<512?q:0-q>>31&511;p=p+512+l+((o+c|0)*20|0)+(H(m+f|0,-5)|0)>>10;b[a+(j<<1)>>1]=p>>>0<512?p:0-p>>31&511;f=f+512+n+((m+o|0)*20|0)+(H(l+c|0,-5)|0)>>10;b[a+(h<<1)>>1]=f>>>0<512?f:0-f>>31&511;o=c+512+k+((l+m|0)*20|0)+(H(n+o|0,-5)|0)>>10;b[a+(i<<1)>>1]=o>>>0<512?o:0-o>>31&511;a=a+2|0;d=d+2|0;g=g+1|0}return}function tj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{b=(c[d>>2]|0)+(4-1)&~(4-1);e=c[b>>2]|0;c[d>>2]=b+4;c[a>>2]=e;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);h=+g[f>>3];c[d>>2]=f+8;g[a>>3]=h;break a}case 18:{ec[e&255](a,d);break a}default:break a}while(0);while(0);return}function uj(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0;s=H(f,-2)|0;t=0-f|0;u=f<<1;v=f*3|0;w=f<<2;x=f*5|0;h=f*6|0;i=f*7|0;j=f<<3;k=f*9|0;l=f*10|0;m=e<<1;n=e*3|0;o=e<<2;p=e*5|0;q=e*6|0;r=e*7|0;g=0;while(1){if((g|0)==8)break;D=d[c+t>>0]|0;M=d[c>>0]|0;L=d[c+f>>0]|0;K=d[c+u>>0]|0;J=d[c+v>>0]|0;G=d[c+w>>0]|0;E=d[c+x>>0]|0;y=d[c+h>>0]|0;A=d[c+i>>0]|0;B=d[c+j>>0]|0;z=d[c+k>>0]|0;C=d[c+l>>0]|0;I=J+16|0;F=I+(d[c+s>>0]|0)+((L+M|0)*20|0)+(H(K+D|0,-5)|0)>>5;a[b>>0]=F>>>0>255?0-F>>31:F;F=G+16|0;D=F+D+((K+L|0)*20|0)+(H(J+M|0,-5)|0)>>5;a[b+e>>0]=D>>>0>255?0-D>>31:D;D=E+16|0;M=D+M+((J+K|0)*20|0)+(H(G+L|0,-5)|0)>>5;a[b+m>>0]=M>>>0>255?0-M>>31:M;L=L+16+y+((G+J|0)*20|0)+(H(E+K|0,-5)|0)>>5;a[b+n>>0]=L>>>0>255?0-L>>31:L;J=K+16+A+((E+G|0)*20|0)+(H(y+J|0,-5)|0)>>5;a[b+o>>0]=J>>>0>255?0-J>>31:J;G=I+B+((y+E|0)*20|0)+(H(A+G|0,-5)|0)>>5;a[b+p>>0]=G>>>0>255?0-G>>31:G;E=F+z+((A+y|0)*20|0)+(H(B+E|0,-5)|0)>>5;a[b+q>>0]=E>>>0>255?0-E>>31:E;y=D+C+((B+A|0)*20|0)+(H(z+y|0,-5)|0)>>5;a[b+r>>0]=y>>>0>255?0-y>>31:y;g=g+1|0;b=b+1|0;c=c+1|0}return}function vj(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=Mb;Mb=Mb+32|0;u=v+16|0;s=v+8|0;h=v;r=c[b+60>>2]|0;g=(c[r+6516>>2]|0)==0?1024:960;i=c[r+6484>>2]|0;j=c[r+6472>>2]|0;switch(j|0){case 23:case 39:{q=g>>>1;break}default:q=g}p=r+8|0;c[p>>2]=d;g=hu(b)|0;a:do if((g|0)>=0){o=r+4|0;c[(c[o>>2]|0)+828>>2]=j+-1;c[r+1004>>2]=0;if((i|0)>=0?!((i|0)>12|(i+-8|0)>>>0<3):0){n=a[45488+i>>0]|0;m=i+-1|0;l=(j|0)==39;k=0;while(1){if((k|0)>=(n|0))break;d=a[45504+(m*15|0)+(k*3|0)>>0]|0;h=d&255;i=a[45504+(m*15|0)+(k*3|0)+1>>0]|0;j=Ze(r,h,i&255)|0;if(!j){t=10;break}c[j>>2]=1;if(!l)eW(f,4);switch(d<<24>>24){case 0:{g=rj(r,j+288|0,f,0)|0;break}case 1:{g=Jn(r,f,j)|0;break}case 3:{g=rj(r,j+288|0,f,0)|0;break}default:{}}if((g|0)<0)break a;else k=k+1|0}if((t|0)==10){g=c[o>>2]|0;c[s>>2]=h;c[s+4>>2]=i&255;AD(g,16,196055,s);g=-1094995529;break}Ci(r);g=c[p>>2]|0;if(!(c[g>>2]|0)){AD(b,16,196290,u);g=-1094995529;break}else{c[g+76>>2]=q;c[g+232>>2]=c[b+416>>2];c[e>>2]=1;fS(f,a$(f)|0);g=0;break}}c[h>>2]=i;GU(b,198271,h);g=-1094995529}while(0);Mb=v;return g|0}function wj(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=Mb;Mb=Mb+208|0;i=k+192|0;g=k;h=k+196|0;j=c[a+60>>2]|0;a:do if(!(oX(1112456,17)|0)){e=j+4|0;c[e>>2]=a;f=a+416|0;c[j+6480>>2]=c[f>>2];YW(j);c[a+424>>2]=8;b=c[a+104>>2]|0;if((b|0)>0){g=c[e>>2]|0;h=c[a+100>>2]|0;b=_U(b|0,((b|0)<0)<<31>>31|0,3)|0;b=BD(j,g,j+6472|0,h,b,M()|0)|0;if((b|0)<0)break;b=a+420|0}else{b=_z(c[f>>2]|0)|0;c[j+6476>>2]=b;b=a+420|0;f=c[b>>2]|0;c[j+6508>>2]=f;c[j+6488>>2]=-1;c[j+6512>>2]=-1;e=0;while(1){if(e>>>0>=8)break;if((f|0)==(d[209930+e>>0]|0|0))break;e=e+1|0}e=(e|0)==8?0:e;c[j+6484>>2]=e;do if(e|0){if(!(Zz(a,g,h,e)|0)){$i(j,g,c[h>>2]|0,3,0)|0;break}if(c[a+688>>2]&8|0){b=-1094995529;break a}}while(0)}if((c[b>>2]|0)>64){AD(a,16,196679,i);b=-1094995529;break}i=pK(c[a+92>>2]&8388608)|0;c[j+5404>>2]=i;if(i){c[j+5408>>2]=523124044;xq(j+5120|0,11,1,2.9802322387695312e-08)|0;xq(j+5256|0,10,1,5.9604644775390625e-08)|0;xq(j+5188|0,8,1,2.384185791015625e-07)|0;xq(j+5324|0,11,0,-65536.0)|0;b=Yi(j+5392|0,1,3,2.5431316430513107e-07)|0;if((b|0)>=0){b=Yi(j+5396|0,1,5,6.357829107628277e-08)|0;if((b|0)>=0){b=Yi(j+5400|0,1,6,3.1789145538141383e-08)|0;b=(b|0)<0?b:0}}}else b=-12}else b=-1313558101;while(0);Mb=k;return b|0}function xj(a,g,h){a=a|0;g=g|0;h=h|0;var i=0.0,j=0,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;y=Mb;Mb=Mb+1504|0;q=y+1008|0;v=y+512|0;w=y;x=a+264|0;lU(x,g);j=81456+((rJ(x,6)|0)<<1)|0;o=a+284|0;n=q;i=+(e[j>>1]|0);j=v;s=0;a:while(1){switch(s&2147483647|0){case 23:break a;case 0:break;default:{u=81584+((rJ(x,5)|0)<<1)|0;i=i+ +(b[u>>1]|0)}}p=+pb(+(i*.00048828125));p=-(p*+f[o>>2]);m=d[81424+s>>0]|0;r=j+(m<<2)|0;k=0;l=n;while(1){if((k|0)==(m|0))break;f[l>>2]=i;f[j>>2]=p;k=k+1|0;l=l+4|0;j=j+4|0}n=n+(m<<2)|0;j=r;s=s+1|0}fi(q,w);q=a+4|0;r=a+292|0;s=a+336|0;t=a+1408|0;u=a+288|0;n=a+1412|0;l=0;while(1){if((l|0)==2)break;o=h+(l<<7<<2)|0;lU(x,g);fS(x,(l*198|0)+116|0);m=0;while(1){if((m|0)==124)break;j=w+(m<<2)|0;k=c[j>>2]|0;if((k|0)<1){j=o+(m<<2)|0;f[j>>2]=+f[v+(m<<2)>>2]*.7071067811865476;if((XP(q)|0)&1|0)f[j>>2]=-+f[j>>2]}else{a=rJ(x,k)|0;f[o+(m<<2)>>2]=+f[80912+((a&255)+-1+(1<<c[j>>2])<<2)>>2]*+f[v+(m<<2)>>2]}m=m+1|0}a=o+496|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;gc[c[s>>2]&1023](r,c[t>>2]|0,o);jc[c[(c[u>>2]|0)+20>>2]&255](o,(c[n>>2]|0)+256|0,c[t>>2]|0,223168,64);a=c[n>>2]|0;c[n>>2]=c[t>>2];c[t>>2]=a;l=l+1|0}Mb=y;return}function yj(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,v=0,w=0;l=b+8|0;m=d+8|0;n=b+12|0;o=d+12|0;p=b+16|0;q=d+16|0;g=b+4|0;h=d+28|0;i=b+20|0;j=d+44|0;k=a+4|0;f=0;while(1){if((f|0)>=(e|0))break;w=c[(c[l>>2]|0)+(f<<2)>>2]|0;v=c[m>>2]|0;w=MR(v|0,((v|0)<0)<<31>>31|0,w|0,((w|0)<0)<<31>>31|0)|0;v=M()|0;r=c[(c[n>>2]|0)+(f<<2)>>2]|0;s=c[o>>2]|0;r=MR(s|0,((s|0)<0)<<31>>31|0,r|0,((r|0)<0)<<31>>31|0)|0;v=aX(r|0,M()|0,w|0,v|0)|0;w=M()|0;r=c[(c[b>>2]|0)+(f<<2)>>2]|0;s=c[d>>2]|0;r=MR(s|0,((s|0)<0)<<31>>31|0,r|0,((r|0)<0)<<31>>31|0)|0;s=M()|0;t=c[(c[p>>2]|0)+(f<<2)>>2]|0;u=c[q>>2]|0;t=MR(u|0,((u|0)<0)<<31>>31|0,t|0,((t|0)<0)<<31>>31|0)|0;u=M()|0;w=aX(v|0,w|0,16384,0)|0;v=M()|0;s=aX(w|0,v|0,r|0,s|0)|0;u=aX(s|0,M()|0,t|0,u|0)|0;u=kV(u|0,M()|0,15)|0;M()|0;c[(c[a>>2]|0)+(f<<2)>>2]=u;u=c[(c[g>>2]|0)+(f<<2)>>2]|0;t=c[h>>2]|0;u=MR(t|0,((t|0)<0)<<31>>31|0,u|0,((u|0)<0)<<31>>31|0)|0;t=M()|0;s=c[(c[i>>2]|0)+(f<<2)>>2]|0;r=c[j>>2]|0;s=MR(r|0,((r|0)<0)<<31>>31|0,s|0,((s|0)<0)<<31>>31|0)|0;r=M()|0;t=aX(w|0,v|0,u|0,t|0)|0;r=aX(t|0,M()|0,s|0,r|0)|0;r=kV(r|0,M()|0,15)|0;M()|0;c[(c[k>>2]|0)+(f<<2)>>2]=r;f=f+1|0}return}function zj(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;l=8-g|0;k=8-h|0;m=H(k,l)|0;k=H(k,g)|0;l=H(l,h)|0;h=H(h,g)|0;a:do if(!h){j=k+l|0;if(!j){g=0;while(1){if((g|0)>=(f|0))break a;l=((d[b>>0]|0)+1+(((H(m,d[c>>0]|0)|0)+32|0)>>>6)|0)>>>1&255;a[b>>0]=l;l=b+1|0;k=((d[l>>0]|0)+1+(((H(m,d[c+1>>0]|0)|0)+32|0)>>>6)|0)>>>1&255;a[l>>0]=k;b=b+e|0;g=g+1|0;c=c+e|0}}else{h=(l|0)==0?1:e;i=h+1|0;g=0;while(1){if((g|0)>=(f|0))break a;l=H(m,d[c>>0]|0)|0;l=((d[b>>0]|0)+1+((l+32+(H(j,d[c+h>>0]|0)|0)|0)>>>6)|0)>>>1&255;a[b>>0]=l;l=b+1|0;k=H(m,d[c+1>>0]|0)|0;k=((d[l>>0]|0)+1+((k+32+(H(j,d[c+i>>0]|0)|0)|0)>>>6)|0)>>>1&255;a[l>>0]=k;b=b+e|0;g=g+1|0;c=c+e|0}}}else{i=e+1|0;j=e+2|0;g=0;while(1){if((g|0)>=(f|0))break a;s=H(m,d[c>>0]|0)|0;r=c+1|0;q=H(k,d[r>>0]|0)|0;n=c+e|0;o=H(l,d[n>>0]|0)|0;p=c+i|0;o=((d[b>>0]|0)+1+((s+32+q+o+(H(h,d[p>>0]|0)|0)|0)>>>6)|0)>>>1&255;a[b>>0]=o;o=b+1|0;r=H(m,d[r>>0]|0)|0;q=H(k,d[c+2>>0]|0)|0;p=H(l,d[p>>0]|0)|0;p=((d[o>>0]|0)+1+((r+32+q+p+(H(h,d[c+j>>0]|0)|0)|0)>>>6)|0)>>>1&255;a[o>>0]=p;b=b+e|0;g=g+1|0;c=n}}while(0);return}function Aj(a){a=a|0;var b=0;a:do if((a|0)>=65563){if((a|0)<69655)switch(a|0){case 69646:case 69636:case 69644:{a=4;break a}case 65563:{b=2;break a}case 65566:{b=3;break a}case 65564:{b=4;break a}case 67586:case 67587:case 65565:{b=5;break a}case 67584:case 67585:{b=6;break a}default:{b=7;break a}}if((a|0)>=86071)switch(a|0){case 86072:case 86071:{a=4;break a}case 88072:case 88071:case 88070:case 88069:{b=2;break a}default:{b=7;break a}}if((a|0)<71681)switch(a|0){case 69660:case 69655:case 69661:{a=4;break a}default:{b=7;break a}}if((a|0)<71687)switch(a|0){case 71681:{a=4;break a}default:{b=7;break a}}if((a|0)<83968)switch(a|0){case 71687:{a=4;break a}default:{b=7;break a}}else switch(a|0){case 83968:{b=2;break a}default:{b=7;break a}}}else switch(a|0){case 65553:case 65541:case 65540:case 65542:case 65543:{b=2;break}case 65538:case 65539:case 65554:case 65536:case 65537:{b=3;break}case 65550:case 65551:case 65548:case 65549:case 65552:{b=4;break}case 65557:case 65556:case 65546:case 65547:case 65544:case 65545:{b=5;break}case 65559:case 65558:{b=6;break}default:b=7}while(0);if((b|0)==2)a=8;else if((b|0)==3)a=16;else if((b|0)==4)a=24;else if((b|0)==5)a=32;else if((b|0)==6)a=64;else if((b|0)==7)a=0;return a|0}function Bj(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;q=Mb;Mb=Mb+48|0;l=q+24|0;j=q+8|0;p=q+36|0;do if((g&8|0)==0&(Ps(b,e,f,1,h)|0)<0){AD(h,24,206103,q);if((e|0)<=21821){i=e*3|0;k=((i|0)/2|0)+32|0;g=EZ(k)|0;c[p>>2]=g;if(!g)g=-12;else{if((e|0)<=-1){c[j>>2]=209510;c[j+4>>2]=209524;c[j+8>>2]=137;AD(0,0,222515,j);ba()}n=b+e|0;if((i|0)<=-66){c[l>>2]=209510;c[l+4>>2]=209524;c[l+8>>2]=147;AD(0,0,222515,l);ba()}m=g;l=g+k|0;g=m;e=0;a:while(1){k=(l-g|0)>0;while(1){i=n-b|0;if(!i)break a;j=b;if(i>>>0>2){if((i|0)<3){j=15;break}i=j+1|0;if(((d[i>>0]|0)<<8|(d[j>>0]|0)<<16|(d[j+2>>0]|0))>>>0<4){j=15;break}}else i=j+1|0;if(!((e|0)==0^1|k^1)){j=22;break}b=i;e=1}if((j|0)==15){if((e|0)==0?(o=g,(l-g|0)>2):0){a[o+2>>0]=3;a[o+1>>0]=0;a[o>>0]=0;g=o+3|0;e=0}else e=1;b=b+2|0}else if((j|0)==22){a[g>>0]=a[b>>0]|0;g=g+1|0;b=i;e=0}}g=g-m|0;n=X0(g+65534&65535|0)|0;o=c[p>>2]|0;a[o>>0]=n;a[o+1>>0]=n>>8;Ps(c[p>>2]|0,g,f,1,h)|0;bU(p);g=0;break}}else g=-34}else g=0;while(0);Mb=q;return g|0}function Cj(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;l=Mb;Mb=Mb+32|0;d=l+16|0;j=l;k=0;while(1){if(k>>>0>=32){e=19;break}b=a+3520+(k*68|0)|0;if(!(c[(c[b>>2]|0)+248>>2]|0)){e=4;break}k=k+1|0}do if((e|0)==4){i=a+4|0;if((sT(c[i>>2]|0,a+3520+(k*68|0)+4|0,1)|0)<0)b=0;else{e=TW((c[a+7616>>2]|0)*392|0)|0;g=a+3520+(k*68|0)+52|0;c[g>>2]=e;if((e|0?(f=dz(c[a+1420>>2]|0)|0,c[a+3520+(k*68|0)+44>>2]=f,f|0):0)?(c[a+3520+(k*68|0)+20>>2]=c[f+4>>2],h=dz(c[a+1424>>2]|0)|0,c[a+3520+(k*68|0)+48>>2]=h,h|0):0){f=a+3520+(k*68|0)+28|0;c[f>>2]=c[h+4>>2];e=c[a+1412>>2]|0;e=H(c[e+13388>>2]|0,c[e+13384>>2]|0)|0;c[a+3520+(k*68|0)+32>>2]=e;d=0;while(1){if((d|0)>=(e|0))break;c[(c[f>>2]|0)+(d<<2)>>2]=c[(c[g>>2]|0)+4>>2];d=d+1|0}h=c[a+7736>>2]|0;d=c[b>>2]|0;c[d+216>>2]=(h|0)==1&1;c[d+212>>2]=(h+-1|0)>>>0<2&1;d=c[(c[i>>2]|0)+704>>2]|0;if(!d)break;e=a+3520+(k*68|0)+60|0;if(c[e>>2]|0){c[j>>2]=209696;c[j+4>>2]=209728;c[j+8>>2]=117;AD(0,0,222515,j);ba()}d=c[d+40>>2]|0;if(!d)break;d=TW(d)|0;c[a+3520+(k*68|0)+56>>2]=d;if(d|0){c[e>>2]=c[d+4>>2];break}}hB(a,b,-1);b=0}}else if((e|0)==19){AD(c[a+4>>2]|0,16,209751,d);b=0}while(0);Mb=l;return b|0}function Dj(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,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=f>>1;g=(b|0)!=0;if(g){x=e[a+-2>>1]|0;A=e[a+(~B<<1)>>1]|0}else{A=e[a+-2>>1]|0;x=A}y=e[a+(B+-1<<1)>>1]|0;z=y+2|0;q=e[a+((f&-2)+-1<<1)>>1]|0;r=q+2|0;s=e[a+((B*3|0)+-1<<1)>>1]|0;t=e[a+((B<<2)+-1<<1)>>1]|0;u=e[a+((B*5|0)+-1<<1)>>1]|0;v=e[a+((B*6|0)+-1<<1)>>1]|0;w=e[a+((B*7|0)+-1<<1)>>1]|0;b=0-B|0;if(g){f=e[a+(b<<1)>>1]|0;g=e[a+(~B<<1)>>1]|0}else{g=e[a+(b<<1)>>1]|0;f=g}o=e[a+(1-B<<1)>>1]|0;p=o+2|0;h=e[a+(2-B<<1)>>1]|0;i=h+2|0;j=e[a+(3-B<<1)>>1]|0;k=e[a+(4-B<<1)>>1]|0;l=e[a+(5-B<<1)>>1]|0;m=e[a+(6-B<<1)>>1]|0;n=e[a+(7-B<<1)>>1]|0;if(!d)b=n;else b=e[a+(8-B<<1)>>1]|0;f=((z+A+(x<<1)|0)>>>2)+8+((r+x+(y<<1)|0)>>>2)+((z+(q<<1)+s|0)>>>2)+((r+(s<<1)+t|0)>>>2)+((s+2+(t<<1)+u|0)>>>2)+((t+2+(u<<1)+v|0)>>>2)+((v+2+(w*3|0)|0)>>>2)+((u+2+(v<<1)+w|0)>>>2)+((p+g+(f<<1)|0)>>>2)+((i+f+(o<<1)|0)>>>2)+((p+(h<<1)+j|0)>>>2)+((i+(j<<1)+k|0)>>>2)+((j+2+(k<<1)+l|0)>>>2)+((k+2+(l<<1)+m|0)>>>2)+((l+2+(m<<1)+n|0)>>>2)+((m+2+(n<<1)+b|0)>>>2)>>4;f=MR(f|0,((f|0)<0)<<31>>31|0,65537,65537)|0;g=M()|0;b=0;while(1){if((b|0)==8)break;A=a;c[A>>2]=f;c[A+4>>2]=g;A=a+8|0;c[A>>2]=f;c[A+4>>2]=g;b=b+1|0;a=a+(B<<1)|0}return}function Ej(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=Mb;Mb=Mb+32|0;g=k+16|0;e=k;d=c[b>>2]|0;if(c[d>>2]|0){c[e>>2]=208377;c[e+4>>2]=207591;c[e+8>>2]=192;AD(0,0,222515,e);ba()}i=b+4|0;c[i>>2]=d;e=a+4|0;d=sT(c[e>>2]|0,i,(c[b+640>>2]|0)!=0&1)|0;a:do if((d|0)>=0){e=c[(c[e>>2]|0)+704>>2]|0;if(e|0){f=b+56|0;if(c[f>>2]|0){c[g>>2]=208394;c[g+4>>2]=207591;c[g+8>>2]=202;AD(0,0,222515,g);ba()}e=c[e+40>>2]|0;if(e|0){e=TW(e)|0;c[b+52>>2]=e;if(!e){d=-12;break}c[f>>2]=c[e+4>>2]}}f=a+29904|0;e=c[f>>2]|0;if(!e){d=zv(a)|0;if((d|0)<0){j=18;break}e=c[f>>2]|0}e=dz(e)|0;f=b+20|0;c[f>>2]=e;e=dz(c[a+29908>>2]|0)|0;c[b+44>>2]=e;f=c[f>>2]|0;if((e|0)==0|(f|0)==0)j=18;else{g=c[a+27e3>>2]<<1;c[b+48>>2]=(c[e+4>>2]|0)+(g<<2)+4;c[b+24>>2]=(c[f+4>>2]|0)+g+1;f=a+29912|0;g=a+29916|0;e=0;while(1){if(e>>>0>=2){d=0;break a}h=dz(c[f>>2]|0)|0;i=b+28+(e<<2)|0;c[i>>2]=h;h=dz(c[g>>2]|0)|0;c[b+60+(e<<2)>>2]=h;i=c[i>>2]|0;if((h|0)==0|(i|0)==0){j=18;break a}c[b+36+(e<<2)>>2]=(c[i+4>>2]|0)+16;c[b+68+(e<<2)>>2]=c[h+4>>2];e=e+1|0}}}else j=18;while(0);if((j|0)==18){UC(a,b);d=(d|0)<0?d:-12}Mb=k;return d|0}function Fj(g,h,i,j){g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0;C=c[i+76>>2]|0;D=j+8|0;a:do if(!(c[i+40>>2]|0)){t=i+310276|0;u=i+310226|0;v=i+390956|0;s=0;while(1){if(s>>>0>=(c[D>>2]|0)>>>0)break a;w=s+1|0;l=d[j+87932+w>>0]|0;B=d[j+87932+s>>0]|0;x=l-B<<1;B=B<<1;y=B+2|0;z=j+12+w|0;k=a[z>>0]|0;A=k<<24>>24==0?u:t;B=(l<<1)+2+(-2-B)|0;l=0;while(1){if(l>>>0>=(c[i+310112+((k&255)<<2)>>2]|0)>>>0)break;r=l+1|0;n=A+(r<<1)|0;k=b[n>>1]|0;p=A+(l<<1)|0;l=e[p>>1]|0;m=(k&65535)-l|0;o=0.0;while(1){q=k&65535;if(l>>>0>=q>>>0)break;E=o+ +Tb[c[v>>2]&1](h+(l*320|0)+(y<<3)|0,B);o=E;l=l+1|0;k=b[n>>1]|0}o=o/+(H(x,m)|0);k=e[p>>1]|0;while(1){if(k>>>0>=q>>>0)break;f[g+(s*192|0)+(k-C<<2)>>2]=o;k=k+1|0}l=r;k=a[z>>0]|0}s=w}}else{r=i+84|0;m=i+390956|0;k=0;while(1){if(k>>>0>=(c[D>>2]|0)>>>0)break a;n=k+1|0;l=d[j+87932+n>>0]|0;q=d[j+87932+k>>0]|0;o=.5/+(l-q|0);q=q<<1;p=q+2|0;q=(l<<1)+2+(-2-q)|0;l=0;while(1){if(l>>>0>=(c[r>>2]|0)>>>0)break;E=o*+Tb[c[m>>2]&1](h+((l+C|0)*320|0)+(p<<3)|0,q);f[g+(k*192|0)+(l<<2)>>2]=E;l=l+1|0}k=n}}while(0);return}function Gj(a,d,e,h,i){a=a|0;d=d|0;e=e|0;h=h|0;i=i|0;var j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0,u=0;u=Mb;Mb=Mb+48|0;t=u+32|0;s=u+16|0;m=u;q=+f[a+140>>2];l=e+2|0;r=iZ(l)|0;do if(r){o=a+128|0;k=0;a=h;while(1){if((k|0)>=(l|0))break;a=(H(a,1664525)|0)+1013904223|0;h=c[o>>2]|0;if((h|0)==1)j=+(a>>>0)/4294967295.0+-.5;else{if((h|0)>=72){n=7;break}h=(H(a,1664525)|0)+1013904223|0;j=+(a>>>0)/4294967295.0-+(h>>>0)/4294967295.0;a=h}g[r+(k<<3)>>3]=j;k=k+1|0}if((n|0)==7){c[m>>2]=219209;c[m+4>>2]=219242;c[m+8>>2]=42;AD(0,0,222515,m);ba()}h=0;a:while(1){if((h|0)>=(e|0)){n=24;break}a=c[o>>2]|0;if((a|0)==3)j=(+g[r+(h+1<<3)>>3]*2.0-+g[r+(h<<3)>>3]-+g[r+(h+2<<3)>>3])/2.449489742783178;else{if((a|0)>=72){n=14;break}j=+g[r+(h<<3)>>3]}j=j*q;switch(i|0){case 6:{b[d+(h<<1)>>1]=~~j;break}case 7:{c[d+(h<<2)>>2]=~~j;break}case 8:{f[d+(h<<2)>>2]=j;break}case 9:{g[d+(h<<3)>>3]=j;break}default:{n=22;break a}}h=h+1|0}if((n|0)==14){c[s>>2]=219209;c[s+4>>2]=219242;c[s+8>>2]=56;AD(0,0,222515,s);ba()}else if((n|0)==22){c[t>>2]=222636;c[t+4>>2]=219242;c[t+8>>2]=71;AD(0,0,222515,t);ba()}else if((n|0)==24){$1(r);p=0;break}}else p=-12;while(0);Mb=u;return p|0}function Hj(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;t=Mb;Mb=Mb+16|0;s=t;m=d+3042|0;n=d+5732|0;p=d+7598|0;q=d+5696|0;j=(f|0)==0;k=d+7596|0;l=d+1412|0;h=0;while(1){a:do if((a[m>>0]|0)==1?(c[n>>2]|0)==1:0){f=0;while(1){if((f|0)==32)break a;g=d+3520+(f*68|0)|0;if(((a[d+3520+(f*68|0)+66>>0]&8)==0?(c[d+3520+(f*68|0)+36>>2]|0)!=(c[q>>2]|0):0)?(b[d+3520+(f*68|0)+64>>1]|0)==(b[p>>1]|0):0)hB(d,g,1);f=f+1|0}}while(0);f=0;g=2147483647;i=0;while(1){if((i|0)==32)break;if((a[d+3520+(i*68|0)+66>>0]&1)!=0?(b[d+3520+(i*68|0)+64>>1]|0)==(b[p>>1]|0):0){v=c[d+3520+(i*68|0)+36>>2]|0;u=(f|0)==0|(v|0)<(g|0);f=f+1|0;g=u?v:g;h=u?i:h}i=i+1|0}if(((j?(b[p>>1]|0)==(b[k>>1]|0):0)?(o=c[l>>2]|0,o|0):0)?(f|0)<=(c[o+72+(((c[o+68>>2]|0)+-1|0)*12|0)+4>>2]|0):0){f=0;break}if(f|0){r=22;break}f=b[p>>1]|0;if(f<<16>>16==(b[k>>1]|0)){f=0;break}b[p>>1]=f+1&255}do if((r|0)==22){g=d+3520+(h*68|0)|0;f=c[g>>2]|0;if((c[f+80>>2]|0)==334?(c[(c[f+248>>2]|0)+8>>2]|0)==1:0){f=0;break}f=hh(e,f)|0;if(!(a[d+3520+(h*68|0)+66>>0]&8))hB(d,g,1);else hB(d,g,9);if((f|0)>=0){f=c[d+4>>2]|0;c[s>>2]=c[d+3520+(h*68|0)+36>>2];AD(f,48,209786,s);f=1}}while(0);Mb=t;return f|0}function Ij(a,d,f,g,h){a=a|0;d=d|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;k=h>>1;i=d;j=0;f=f+(0-(h&-2)<<1)|0;while(1){if((j|0)==9)break;q=e[f>>1]|0;l=e[f+2>>1]|0;o=e[f+-2>>1]|0;h=e[f+4>>1]|0;p=H(h+o|0,-5)|0;m=e[f+6>>1]|0;c[i>>2]=((l+q|0)*20|0)+(e[f+-4>>1]|0)+p+m;p=H(m+q|0,-5)|0;n=e[f+8>>1]|0;c[i+4>>2]=((h+l|0)*20|0)+o+p+n;p=H(n+l|0,-5)|0;o=e[f+10>>1]|0;c[i+8>>2]=((m+h|0)*20|0)+q+p+o;h=H(o+h|0,-5)|0;c[i+12>>2]=((n+m|0)*20|0)+l+h+(e[f+12>>1]|0);i=i+32|0;j=j+1|0;f=f+(k<<1)|0}k=g>>1;i=g&-2;j=k*3|0;f=d+64|0;h=0;while(1){if((h|0)==4)break;r=c[f+-32>>2]|0;g=c[f>>2]|0;d=c[f+32>>2]|0;p=c[f+64>>2]|0;n=c[f+96>>2]|0;m=c[f+128>>2]|0;o=c[f+160>>2]|0;l=c[f+192>>2]|0;q=(c[f+-64>>2]|0)+512+n+((d+g|0)*20|0)+(H(p+r|0,-5)|0)>>10;b[a>>1]=((e[a>>1]|0)+1+(q>>>0<16384?q:0-q>>31&16383)|0)>>>1;q=a+(k<<1)|0;r=r+512+m+((p+d|0)*20|0)+(H(n+g|0,-5)|0)>>10;b[q>>1]=((e[q>>1]|0)+1+(r>>>0<16384?r:0-r>>31&16383)|0)>>>1;q=a+(i<<1)|0;g=g+512+o+((n+p|0)*20|0)+(H(m+d|0,-5)|0)>>10;b[q>>1]=((e[q>>1]|0)+1+(g>>>0<16384?g:0-g>>31&16383)|0)>>>1;q=a+(j<<1)|0;p=d+512+l+((m+n|0)*20|0)+(H(o+p|0,-5)|0)>>10;b[q>>1]=((p>>>0<16384?p:0-p>>31&16383)+1+(e[q>>1]|0)|0)>>>1;a=a+2|0;f=f+4|0;h=h+1|0}return}function Jj(a,c,d,e,f,g,h,i,j,k){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0;a:do if((j|0)!=0&(k|0)!=0){if((i|0)<(k|0)){p=(0-g|0)<(i|0);q=1-g|0;o=c+(0-(H(i,e)|0))+(H(q,e)|0)|0;c=p?c:o;i=p?i:q}else{q=k+-1|0;c=c+(0-(H(i,e)|0))+(H(q,e)|0)|0;i=q}if((h|0)<(j|0)){p=(0-f|0)<(h|0);q=1-f|0;l=p?h:q;h=p?c:c+(q-h<<1)|0}else{q=j+-1|0;l=q;h=c+(q-h<<1)|0}c=0-i|0;c=(c|0)>0?c:0;q=0-l|0;q=(q|0)>0?q:0;m=k-i|0;n=(m|0)<(g|0);p=j-l|0;p=(p|0)<(f|0)?p:f;o=q<<1;i=h+(o+(H(c,e)|0))|0;j=p-q<<1;k=(H(c,d)|0)+o|0;h=a+o|0;l=0;while(1){if(l>>>0>=c>>>0)break;Mn(h|0,i|0,j|0)|0;h=h+d|0;l=l+1|0}l=n?m:g;h=a+k|0;while(1){if((c|0)>=(l|0))break;Mn(h|0,i|0,j|0)|0;h=h+d|0;c=c+1|0;i=i+e|0}i=i+(0-e)|0;while(1){if((c|0)>=(g|0))break;Mn(h|0,i|0,j|0)|0;h=h+d|0;c=c+1|0}k=p+-1|0;c=g;h=h+(0-((H(g,d)|0)+o))|0;while(1){l=c+-1|0;if(!c)break a;i=h+(q<<1)|0;c=0;while(1){if(c>>>0>=q>>>0)break;b[h+(c<<1)>>1]=b[i>>1]|0;c=c+1|0}i=h+(k<<1)|0;c=p;while(1){if((c|0)>=(f|0))break;b[h+(c<<1)>>1]=b[i>>1]|0;c=c+1|0}c=l;h=h+d|0}}while(0);return}function Kj(a,d,f,g,h){a=a|0;d=d|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;k=h>>1;i=d;j=0;f=f+(0-(h&-2)<<1)|0;while(1){if((j|0)==9)break;q=e[f>>1]|0;l=e[f+2>>1]|0;o=e[f+-2>>1]|0;h=e[f+4>>1]|0;p=H(h+o|0,-5)|0;m=e[f+6>>1]|0;c[i>>2]=((l+q|0)*20|0)+(e[f+-4>>1]|0)+p+m;p=H(m+q|0,-5)|0;n=e[f+8>>1]|0;c[i+4>>2]=((h+l|0)*20|0)+o+p+n;p=H(n+l|0,-5)|0;o=e[f+10>>1]|0;c[i+8>>2]=((m+h|0)*20|0)+q+p+o;h=H(o+h|0,-5)|0;c[i+12>>2]=((n+m|0)*20|0)+l+h+(e[f+12>>1]|0);i=i+32|0;j=j+1|0;f=f+(k<<1)|0}k=g>>1;i=g&-2;j=k*3|0;f=d+64|0;h=0;while(1){if((h|0)==4)break;r=c[f+-32>>2]|0;g=c[f>>2]|0;d=c[f+32>>2]|0;p=c[f+64>>2]|0;n=c[f+96>>2]|0;m=c[f+128>>2]|0;o=c[f+160>>2]|0;l=c[f+192>>2]|0;q=(c[f+-64>>2]|0)+512+n+((d+g|0)*20|0)+(H(p+r|0,-5)|0)>>10;b[a>>1]=((e[a>>1]|0)+1+(q>>>0<4096?q:0-q>>31&4095)|0)>>>1;q=a+(k<<1)|0;r=r+512+m+((p+d|0)*20|0)+(H(n+g|0,-5)|0)>>10;b[q>>1]=((e[q>>1]|0)+1+(r>>>0<4096?r:0-r>>31&4095)|0)>>>1;q=a+(i<<1)|0;g=g+512+o+((n+p|0)*20|0)+(H(m+d|0,-5)|0)>>10;b[q>>1]=((e[q>>1]|0)+1+(g>>>0<4096?g:0-g>>31&4095)|0)>>>1;q=a+(j<<1)|0;p=d+512+l+((m+n|0)*20|0)+(H(o+p|0,-5)|0)>>10;b[q>>1]=((p>>>0<4096?p:0-p>>31&4095)+1+(e[q>>1]|0)|0)>>>1;a=a+2|0;f=f+4|0;h=h+1|0}return}function Lj(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;r=Mb;Mb=Mb+48|0;p=r+24|0;o=r+16|0;f=r;m=r+36|0;e=0;while(1){g=e+1|0;if((c[b+(e<<2)>>2]|0)==-1)break;else e=g}if(!e){c[f>>2]=171887;c[f+4>>2]=171026;c[f+8>>2]=1194;AD(0,0,222515,f);ba()}c[a+888>>2]=c[b+(e+-1<<2)>>2];e=mZ(g)|0;c[m>>2]=e;if(!e)d=-1;else{Mn(e|0,b|0,g<<2|0)|0;h=a+704|0;i=a+64|0;j=a+976|0;k=a+156|0;l=a+12|0;g=e;a:while(1){e=c[h>>2]|0;if(e|0?(n=c[e+52>>2]|0,n|0):0)Vb[n&31](a)|0;bU((c[i>>2]|0)+60|0);c[h>>2]=0;F$(j);b=Xb[c[k>>2]&15](a,g)|0;e=e0(b)|0;if(!e){d=-1;break}if(0==0?(c[e+8>>2]&8|0)==0:0){d=b;break}if(c[(c[l>>2]|0)+16>>2]&128|0){d=b;break}f=c[j>>2]|0;if(f|0?(c[(c[f+4>>2]|0)+36>>2]|0)!=(b|0):0){q=16;break}if(!(Vu(a,b,c[e>>2]|0)|0)){d=b;break}f=0;while(1){e=c[g+(f<<2)>>2]|0;if((e|0)==(b|0))break;if((e|0)==-1){q=22;break a}f=f+1|0}e=g;do{g=f;f=f+1|0;c[e+(g<<2)>>2]=c[e+(f<<2)>>2];e=c[m>>2]|0}while((c[e+(g<<2)>>2]|0)!=-1);g=e}if((q|0)==16){AD(a,16,171894,o);d=-1}else if((q|0)==22){c[p>>2]=171985;c[p+4>>2]=171026;c[p+8>>2]=1242;AD(0,0,222515,p);ba()}bU(m)}Mb=r;return d|0}function Mj(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=d>>1;B=f<<6;y=g<<6;z=0-C|0;A=H(C,-2)|0;x=H(C,-3)|0;w=d&-2;u=0;while(1){if((u|0)==4)break;f=a[h+u>>0]|0;v=f<<24>>24<<6;a:do if(f<<24>>24>=0){m=f<<24>>24==0;n=v|1;o=0-v|0;k=0;l=c;while(1){if((k|0)==4)break a;p=l+(z<<1)|0;q=e[p>>1]|0;f=l+(A<<1)|0;r=e[f>>1]|0;g=e[l+(x<<1)>>1]|0;s=e[l>>1]|0;i=l+(C<<1)|0;t=e[i>>1]|0;j=e[l+(w<<1)>>1]|0;d=q-s|0;if(((((d|0)>-1?d:0-d|0)|0)<(B|0)?(d=r-q|0,(((d|0)>-1?d:0-d|0)|0)<(y|0)):0)?(d=t-s|0,(((d|0)>-1?d:0-d|0)|0)<(y|0)):0){d=g-q|0;d=(((d|0)>-1?d:0-d|0)|0)>=(y|0);if(m|d)f=d?v:n;else{d=((((q+1+s|0)>>>1)+g|0)>>>1)-r|0;b[f>>1]=((d|0)<(o|0)?o:(d|0)>(v|0)?v:d)+r;f=n}d=j-s|0;if((((d|0)>-1?d:0-d|0)|0)<(y|0)){if(!m){j=((((q+1+s|0)>>>1)+j|0)>>>1)-t|0;b[i>>1]=((j|0)<(o|0)?o:(j|0)>(v|0)?v:j)+t}f=f+1|0}t=r+4-t+(s-q<<2)>>3;r=0-f|0;t=(t|0)<(r|0)?r:(t|0)>(f|0)?f:t;r=t+q|0;b[p>>1]=r>>>0<16384?r:0-r>>31&16383;t=s-t|0;b[l>>1]=t>>>0<16384?t:0-t>>31&16383}k=k+1|0;l=l+2|0}}while(0);c=c+8|0;u=u+1|0}return}function Nj(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=d>>1;B=f<<4;y=g<<4;z=0-C|0;A=H(C,-2)|0;x=H(C,-3)|0;w=d&-2;u=0;while(1){if((u|0)==4)break;f=a[h+u>>0]|0;v=f<<24>>24<<4;a:do if(f<<24>>24>=0){m=f<<24>>24==0;n=v|1;o=0-v|0;k=0;l=c;while(1){if((k|0)==4)break a;p=l+(z<<1)|0;q=e[p>>1]|0;f=l+(A<<1)|0;r=e[f>>1]|0;g=e[l+(x<<1)>>1]|0;s=e[l>>1]|0;i=l+(C<<1)|0;t=e[i>>1]|0;j=e[l+(w<<1)>>1]|0;d=q-s|0;if(((((d|0)>-1?d:0-d|0)|0)<(B|0)?(d=r-q|0,(((d|0)>-1?d:0-d|0)|0)<(y|0)):0)?(d=t-s|0,(((d|0)>-1?d:0-d|0)|0)<(y|0)):0){d=g-q|0;d=(((d|0)>-1?d:0-d|0)|0)>=(y|0);if(m|d)f=d?v:n;else{d=((((q+1+s|0)>>>1)+g|0)>>>1)-r|0;b[f>>1]=((d|0)<(o|0)?o:(d|0)>(v|0)?v:d)+r;f=n}d=j-s|0;if((((d|0)>-1?d:0-d|0)|0)<(y|0)){if(!m){j=((((q+1+s|0)>>>1)+j|0)>>>1)-t|0;b[i>>1]=((j|0)<(o|0)?o:(j|0)>(v|0)?v:j)+t}f=f+1|0}t=r+4-t+(s-q<<2)>>3;r=0-f|0;t=(t|0)<(r|0)?r:(t|0)>(f|0)?f:t;r=t+q|0;b[p>>1]=r>>>0<4096?r:0-r>>31&4095;t=s-t|0;b[l>>1]=t>>>0<4096?t:0-t>>31&4095}k=k+1|0;l=l+2|0}}while(0);c=c+8|0;u=u+1|0}return}function Oj(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=d>>1;B=f<<2;y=g<<2;z=0-C|0;A=H(C,-2)|0;x=H(C,-3)|0;w=d&-2;u=0;while(1){if((u|0)==4)break;f=a[h+u>>0]|0;v=f<<24>>24<<2;a:do if(f<<24>>24>=0){m=f<<24>>24==0;n=v|1;o=0-v|0;k=0;l=c;while(1){if((k|0)==4)break a;p=l+(z<<1)|0;q=e[p>>1]|0;f=l+(A<<1)|0;r=e[f>>1]|0;g=e[l+(x<<1)>>1]|0;s=e[l>>1]|0;i=l+(C<<1)|0;t=e[i>>1]|0;j=e[l+(w<<1)>>1]|0;d=q-s|0;if(((((d|0)>-1?d:0-d|0)|0)<(B|0)?(d=r-q|0,(((d|0)>-1?d:0-d|0)|0)<(y|0)):0)?(d=t-s|0,(((d|0)>-1?d:0-d|0)|0)<(y|0)):0){d=g-q|0;d=(((d|0)>-1?d:0-d|0)|0)>=(y|0);if(m|d)f=d?v:n;else{d=((((q+1+s|0)>>>1)+g|0)>>>1)-r|0;b[f>>1]=((d|0)<(o|0)?o:(d|0)>(v|0)?v:d)+r;f=n}d=j-s|0;if((((d|0)>-1?d:0-d|0)|0)<(y|0)){if(!m){j=((((q+1+s|0)>>>1)+j|0)>>>1)-t|0;b[i>>1]=((j|0)<(o|0)?o:(j|0)>(v|0)?v:j)+t}f=f+1|0}t=r+4-t+(s-q<<2)>>3;r=0-f|0;t=(t|0)<(r|0)?r:(t|0)>(f|0)?f:t;r=t+q|0;b[p>>1]=r>>>0<1024?r:0-r>>31&1023;t=s-t|0;b[l>>1]=t>>>0<1024?t:0-t>>31&1023}k=k+1|0;l=l+2|0}}while(0);c=c+8|0;u=u+1|0}return}function Pj(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;d=c[b+13320>>2]|0;j=c[b+13376>>2]|0;p=c[b+13380>>2]|0;d=H((p>>d)+1|0,(j>>d)+1|0)|0;e=H(c[b+13388>>2]|0,c[b+13384>>2]|0)|0;f=b+13412|0;g=b+13416|0;h=H(c[g>>2]|0,c[f>>2]|0)|0;i=a+5720|0;c[i>>2]=(j>>2)+1;j=a+5724|0;c[j>>2]=(p>>2)+1;p=gW(e,148)|0;o=a+3500|0;c[o>>2]=p;p=gW(e,8)|0;c[a+3504>>2]=p;if((((((((!((p|0)==0|(c[o>>2]|0)==0)?(q=b+13400|0,o=b+13396|0,r=SV(c[q>>2]|0,c[o>>2]|0)|0,p=a+7564|0,c[p>>2]=r,o=SV(c[q>>2]|0,c[o>>2]|0)|0,c[a+7568>>2]=o,!((o|0)==0|(c[p>>2]|0)==0)):0)?(l=SV(c[b+13404>>2]|0,c[b+13408>>2]|0)|0,k=a+7576|0,c[k>>2]=l,l=EZ(h)|0,r=a+7572|0,c[r>>2]=l,l=SV((c[f>>2]|0)+1|0,(c[g>>2]|0)+1|0)|0,c[a+7580>>2]=l,(c[r>>2]|0)!=0):0)?!((l|0)==0|(c[k>>2]|0)==0):0)?(r=EZ(e)|0,m=a+7584|0,c[m>>2]=r,r=SV(d,4)|0,n=a+7560|0,c[n>>2]=r,r=SV(d,1)|0,c[a+7548>>2]=r,(r|0)!=0):0)?(c[m>>2]|0)!=0:0)?(c[n>>2]|0)!=0:0)?(q=gW(c[i>>2]|0,c[j>>2]|0)|0,r=a+7552|0,c[r>>2]=q,q=gW(c[i>>2]|0,c[j>>2]|0)|0,c[a+7556>>2]=q,!((q|0)==0|(c[r>>2]|0)==0)):0)?(q=YQ(h*12|0,23)|0,r=a+1420|0,c[r>>2]=q,q=YQ(e*392|0,23)|0,c[a+1424>>2]=q,!((q|0)==0|(c[r>>2]|0)==0)):0)a=0;else{uD(a);a=-12}return a|0}function Qj(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=d>>1;B=f<<1;y=g<<1;z=0-C|0;A=H(C,-2)|0;x=H(C,-3)|0;w=d&-2;u=0;while(1){if((u|0)==4)break;f=a[h+u>>0]|0;v=f<<24>>24<<1;a:do if(f<<24>>24>=0){m=f<<24>>24==0;n=v|1;o=0-v|0;k=0;l=c;while(1){if((k|0)==4)break a;p=l+(z<<1)|0;q=e[p>>1]|0;f=l+(A<<1)|0;r=e[f>>1]|0;g=e[l+(x<<1)>>1]|0;s=e[l>>1]|0;i=l+(C<<1)|0;t=e[i>>1]|0;j=e[l+(w<<1)>>1]|0;d=q-s|0;if(((((d|0)>-1?d:0-d|0)|0)<(B|0)?(d=r-q|0,(((d|0)>-1?d:0-d|0)|0)<(y|0)):0)?(d=t-s|0,(((d|0)>-1?d:0-d|0)|0)<(y|0)):0){d=g-q|0;d=(((d|0)>-1?d:0-d|0)|0)>=(y|0);if(m|d)f=d?v:n;else{d=((((q+1+s|0)>>>1)+g|0)>>>1)-r|0;b[f>>1]=((d|0)<(o|0)?o:(d|0)>(v|0)?v:d)+r;f=n}d=j-s|0;if((((d|0)>-1?d:0-d|0)|0)<(y|0)){if(!m){j=((((q+1+s|0)>>>1)+j|0)>>>1)-t|0;b[i>>1]=((j|0)<(o|0)?o:(j|0)>(v|0)?v:j)+t}f=f+1|0}t=r+4-t+(s-q<<2)>>3;r=0-f|0;t=(t|0)<(r|0)?r:(t|0)>(f|0)?f:t;r=t+q|0;b[p>>1]=r>>>0<512?r:0-r>>31&511;t=s-t|0;b[l>>1]=t>>>0<512?t:0-t>>31&511}k=k+1|0;l=l+2|0}}while(0);c=c+8|0;u=u+1|0}return}function Rj(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;i=(h<<f)+((f|0)==0?0:1<<f+-1)|0;h=b;b=0;while(1){if((b|0)>=(e|0))break;j=(H(d[h>>0]|0,g)|0)+i>>f;a[h>>0]=j>>>0>255?0-j>>31:j;j=h+1|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?0-k>>31:k;j=h+2|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?0-k>>31:k;j=h+3|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?0-k>>31:k;j=h+4|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?0-k>>31:k;j=h+5|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?0-k>>31:k;j=h+6|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?0-k>>31:k;j=h+7|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?0-k>>31:k;j=h+8|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?0-k>>31:k;j=h+9|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?0-k>>31:k;j=h+10|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?0-k>>31:k;j=h+11|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?0-k>>31:k;j=h+12|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?0-k>>31:k;j=h+13|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?0-k>>31:k;j=h+14|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?0-k>>31:k;j=h+15|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?0-k>>31:k;h=h+c|0;b=b+1|0}return}function Sj(b,f){b=b|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;x=Mb;Mb=Mb+16|0;w=x+8|0;v=x;r=f+52|0;j=c[r>>2]|0;s=f+76|0;i=c[s>>2]|0;h=c[f>>2]|0;h=((h>>1)+2048e3|0)/(h|0)|0;t=f+310448|0;c[t>>2]=0;q=f+84|0;if(h>>>0<((c[q>>2]|0)+i|0)>>>0){g=0;while(1)if((h|0)>(e[f+310128+(g<<1)>>1]|0))g=g+1|0;else break;p=f+92|0}else{p=f+92|0;g=c[p>>2]|0}o=0;h=-1;k=-1;n=0;while(1){if((g|0)==(k|0)&(j|0)==(h|0)){h=8;break}l=c[r>>2]|0;m=j+-1|0;h=0;k=g;while(1){if((k|0)!=(g|0)?o>>>0<=(m-h+l|0)>>>0:0)break;o=e[f+310128+(k<<1)>>1]|0;h=l+o&1;k=k+-1|0}if(n>>>0>5){h=14;break}m=o-i|0;a[f+310452+n>>0]=(m|0)>0?m:0;n=c[t>>2]|0;a[f+310458+n>>0]=(c[r>>2]|0)-h-(d[f+310452+n>>0]|0);h=c[t>>2]|0;if(!(a[f+310452+h>>0]|0)){k=c[s>>2]|0;l=h}else{l=h+1|0;c[t>>2]=l;i=o;k=o}if(((e[f+310128+(g<<1)>>1]|0)-o|0)<3)h=c[p>>2]|0;else h=g;if((o|0)==((c[q>>2]|0)+(c[s>>2]|0)|0)){h=21;break}else{y=g;m=j;j=k;g=h;n=l;k=y;h=m}}if((h|0)==8){AD(c[b+4>>2]|0,16,199430,v);g=-1094995529}else if((h|0)==14){g=c[b+4>>2]|0;c[w>>2]=n;AD(g,16,199457,w);g=-1}else if((h|0)==21)if(l>>>0>1?(u=l+-1|0,(d[f+310452+u>>0]|0)<3):0){c[t>>2]=u;g=0}else g=0;Mb=x;return g|0}function Tj(c,e,f,g,h){c=c|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=e;j=0;f=f+(0-(h<<1))|0;while(1){if((j|0)==9)break;l=f+1|0;o=f+-1|0;k=f+2|0;p=H((d[k>>0]|0)+(d[o>>0]|0)|0,-5)|0;m=f+3|0;b[i>>1]=(((d[l>>0]|0)+(d[f>>0]|0)|0)*20|0)+(d[f+-2>>0]|0)+p+(d[m>>0]|0);p=H((d[m>>0]|0)+(d[f>>0]|0)|0,-5)|0;n=f+4|0;b[i+2>>1]=(((d[k>>0]|0)+(d[l>>0]|0)|0)*20|0)+(d[o>>0]|0)+p+(d[n>>0]|0);p=H((d[n>>0]|0)+(d[l>>0]|0)|0,-5)|0;o=f+5|0;b[i+4>>1]=(((d[m>>0]|0)+(d[k>>0]|0)|0)*20|0)+(d[f>>0]|0)+p+(d[o>>0]|0);k=H((d[o>>0]|0)+(d[k>>0]|0)|0,-5)|0;b[i+6>>1]=(((d[n>>0]|0)+(d[m>>0]|0)|0)*20|0)+(d[l>>0]|0)+k+(d[f+6>>0]|0);i=i+8|0;j=j+1|0;f=f+h|0}j=g<<1;h=g*3|0;f=e+16|0;i=0;while(1){if((i|0)==4)break;q=b[f+-8>>1]|0;e=b[f>>1]|0;k=b[f+8>>1]|0;p=b[f+16>>1]|0;n=b[f+24>>1]|0;m=b[f+32>>1]|0;o=b[f+40>>1]|0;l=b[f+48>>1]|0;r=(b[f+-16>>1]|0)+512+n+((k+e|0)*20|0)+(H(p+q|0,-5)|0)>>10;a[c>>0]=r>>>0>255?0-r>>31:r;q=q+512+m+((p+k|0)*20|0)+(H(n+e|0,-5)|0)>>10;a[c+g>>0]=q>>>0>255?0-q>>31:q;e=e+512+o+((n+p|0)*20|0)+(H(m+k|0,-5)|0)>>10;a[c+j>>0]=e>>>0>255?0-e>>31:e;p=k+512+l+((m+n|0)*20|0)+(H(o+p|0,-5)|0)>>10;a[c+h>>0]=p>>>0>255?0-p>>31:p;c=c+1|0;f=f+2|0;i=i+1|0}return}function Uj(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=Mb;Mb=Mb+224|0;p=q+208|0;n=q+200|0;j=q+192|0;i=q;k=q+212|0;c[k>>2]=0;r=mT(d)|0;c[f+44>>2]=r;if(r|0?(h=f+16|0,(c[h>>2]|0)==1):0){sU(b,196473,j);if(a|0)c[a+6740>>2]=1;c[h>>2]=0;c[f+40>>2]=0}if(mT(d)|0)eW(d,14);j=mT(d)|0;switch(c[f>>2]|0){case 20:case 6:{eW(d,3);break}default:{}}if(!g){eW(d,4);h=gp(b,f,i,d,e)|0;c[k>>2]=h;if((h|0)>=0)o=14}else{h=Zz(b,i,k,g)|0;if(!h){h=c[k>>2]|0;o=14}}a:do if((o|0)==14){if((EN(i,h)|0)<=1){if((c[f+16>>2]|0)==1?(l=f+40|0,(c[l>>2]|0)==-1):0)c[l>>2]=1}else c[f+40>>2]=0;if(a|0?(m=$i(a,i,h,3,0)|0,m|0):0){h=m;break}if(j|0){switch(c[f>>2]|0){case 22:{eW(d,5);eW(d,11);break}case 23:case 20:case 19:case 17:{h=HG(d,3)|0;if(h|0){c[n>>2]=h;sU(b,198416,n);h=-1163346256;break a}break}default:{}}s1(d)}switch(c[f>>2]|0){case 23:case 20:case 19:case 17:break;default:{h=0;break a}}h=HG(d,2)|0;if(!h)h=0;else{c[p>>2]=h;sU(b,198461,p);h=-1163346256}}while(0);Mb=q;return h|0}function Vj(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=0;while(1){if((f|0)==21)break;g=c;h=g;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=g+4|0;g=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;i=b;j=i;a[j>>0]=h;a[j+1>>0]=h>>8;a[j+2>>0]=h>>16;a[j+3>>0]=h>>24;i=i+4|0;a[i>>0]=g;a[i+1>>0]=g>>8;a[i+2>>0]=g>>16;a[i+3>>0]=g>>24;i=c+8|0;g=i;g=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;i=i+4|0;i=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;j=b+8|0;h=j;a[h>>0]=g;a[h+1>>0]=g>>8;a[h+2>>0]=g>>16;a[h+3>>0]=g>>24;j=j+4|0;a[j>>0]=i;a[j+1>>0]=i>>8;a[j+2>>0]=i>>16;a[j+3>>0]=i>>24;j=c+16|0;i=j;i=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;j=j+4|0;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=b+16|0;g=h;a[g>>0]=i;a[g+1>>0]=i>>8;a[g+2>>0]=i>>16;a[g+3>>0]=i>>24;h=h+4|0;a[h>>0]=j;a[h+1>>0]=j>>8;a[h+2>>0]=j>>16;a[h+3>>0]=j>>24;h=c+24|0;j=h;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=h+4|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=b+24|0;i=g;a[i>>0]=j;a[i+1>>0]=j>>8;a[i+2>>0]=j>>16;a[i+3>>0]=j>>24;g=g+4|0;a[g>>0]=h;a[g+1>>0]=h>>8;a[g+2>>0]=h>>16;a[g+3>>0]=h>>24;f=f+1|0;b=b+32|0;c=c+e|0}return}function Wj(c,d,f,g,h,i,j,k,l,m,n,o,p,q){c=c|0;d=d|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;A=Mb;Mb=Mb+8576|0;y=A;x=g>>>1;w=o+-1|0;s=20672+(w<<2)|0;z=j+3|0;t=i+3|0;u=20672+(w<<2)+1|0;v=20672+(w<<2)+2|0;w=20672+(w<<2)+3|0;r=y;o=f+(0-x<<1)|0;f=0;while(1){if((f|0)>=(t|0))break;g=0;while(1){if((g|0)>=(q|0))break;C=H(e[o+(g+-1<<1)>>1]|0,a[s>>0]|0)|0;C=(H(e[o+(g<<1)>>1]|0,a[u>>0]|0)|0)+C|0;B=g+1|0;C=C+(H(e[o+(B<<1)>>1]|0,a[v>>0]|0)|0)|0;C=(C+(H(e[o+(g+2<<1)>>1]|0,a[w>>0]|0)|0)|0)>>>4&65535;b[r+(g<<1)>>1]=C;g=B}r=r+128|0;o=o+(x<<1)|0;f=f+1|0}w=d>>>1;v=p+-1|0;s=20672+(v<<2)|0;t=20672+(v<<2)+1|0;u=20672+(v<<2)+2|0;v=20672+(v<<2)+3|0;r=(n+m<<4|1)<<j+2;g=y+128|0;f=0;while(1){if((f|0)>=(i|0))break;o=0;while(1){if((o|0)>=(q|0))break;C=H(b[g+(o+-64<<1)>>1]|0,a[s>>0]|0)|0;C=(H(b[g+(o<<1)>>1]|0,a[t>>0]|0)|0)+C|0;C=C+(H(b[g+(o+64<<1)>>1]|0,a[u>>0]|0)|0)|0;C=H(C+(H(b[g+(o+128<<1)>>1]|0,a[v>>0]|0)|0)>>6,l)|0;C=(H(b[h+(o<<1)>>1]|0,k)|0)+r+C>>z;b[c+(o<<1)>>1]=C>>>0<4096?C:0-C>>31&4095;o=o+1|0}h=h+128|0;c=c+(w<<1)|0;g=g+128|0;f=f+1|0}Mb=A;return}function Xj(c,d,f,g,h,i,j,k,l,m,n,o,p,q){c=c|0;d=d|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;A=Mb;Mb=Mb+8576|0;y=A;x=g>>>1;w=o+-1|0;s=20672+(w<<2)|0;z=j+5|0;t=i+3|0;u=20672+(w<<2)+1|0;v=20672+(w<<2)+2|0;w=20672+(w<<2)+3|0;r=y;o=f+(0-x<<1)|0;f=0;while(1){if((f|0)>=(t|0))break;g=0;while(1){if((g|0)>=(q|0))break;C=H(e[o+(g+-1<<1)>>1]|0,a[s>>0]|0)|0;C=(H(e[o+(g<<1)>>1]|0,a[u>>0]|0)|0)+C|0;B=g+1|0;C=C+(H(e[o+(B<<1)>>1]|0,a[v>>0]|0)|0)|0;C=(C+(H(e[o+(g+2<<1)>>1]|0,a[w>>0]|0)|0)|0)>>>2&65535;b[r+(g<<1)>>1]=C;g=B}r=r+128|0;o=o+(x<<1)|0;f=f+1|0}w=d>>>1;v=p+-1|0;s=20672+(v<<2)|0;t=20672+(v<<2)+1|0;u=20672+(v<<2)+2|0;v=20672+(v<<2)+3|0;r=(n+m<<2|1)<<j+4;g=y+128|0;f=0;while(1){if((f|0)>=(i|0))break;o=0;while(1){if((o|0)>=(q|0))break;C=H(b[g+(o+-64<<1)>>1]|0,a[s>>0]|0)|0;C=(H(b[g+(o<<1)>>1]|0,a[t>>0]|0)|0)+C|0;C=C+(H(b[g+(o+64<<1)>>1]|0,a[u>>0]|0)|0)|0;C=H(C+(H(b[g+(o+128<<1)>>1]|0,a[v>>0]|0)|0)>>6,l)|0;C=(H(b[h+(o<<1)>>1]|0,k)|0)+r+C>>z;b[c+(o<<1)>>1]=C>>>0<1024?C:0-C>>31&1023;o=o+1|0}h=h+128|0;c=c+(w<<1)|0;g=g+128|0;f=f+1|0}Mb=A;return}function Yj(c,d,f,g,h,i,j,k,l,m,n,o,p,q){c=c|0;d=d|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;A=Mb;Mb=Mb+8576|0;y=A;x=g>>>1;w=o+-1|0;s=20672+(w<<2)|0;z=j+6|0;t=i+3|0;u=20672+(w<<2)+1|0;v=20672+(w<<2)+2|0;w=20672+(w<<2)+3|0;r=y;o=f+(0-x<<1)|0;f=0;while(1){if((f|0)>=(t|0))break;g=0;while(1){if((g|0)>=(q|0))break;C=H(e[o+(g+-1<<1)>>1]|0,a[s>>0]|0)|0;C=(H(e[o+(g<<1)>>1]|0,a[u>>0]|0)|0)+C|0;B=g+1|0;C=C+(H(e[o+(B<<1)>>1]|0,a[v>>0]|0)|0)|0;C=(C+(H(e[o+(g+2<<1)>>1]|0,a[w>>0]|0)|0)|0)>>>1&65535;b[r+(g<<1)>>1]=C;g=B}r=r+128|0;o=o+(x<<1)|0;f=f+1|0}w=d>>>1;v=p+-1|0;s=20672+(v<<2)|0;t=20672+(v<<2)+1|0;u=20672+(v<<2)+2|0;v=20672+(v<<2)+3|0;r=(n+m<<1|1)<<j+5;g=y+128|0;f=0;while(1){if((f|0)>=(i|0))break;o=0;while(1){if((o|0)>=(q|0))break;C=H(b[g+(o+-64<<1)>>1]|0,a[s>>0]|0)|0;C=(H(b[g+(o<<1)>>1]|0,a[t>>0]|0)|0)+C|0;C=C+(H(b[g+(o+64<<1)>>1]|0,a[u>>0]|0)|0)|0;C=H(C+(H(b[g+(o+128<<1)>>1]|0,a[v>>0]|0)|0)>>6,l)|0;C=(H(b[h+(o<<1)>>1]|0,k)|0)+r+C>>z;b[c+(o<<1)>>1]=C>>>0<512?C:0-C>>31&511;o=o+1|0}h=h+128|0;c=c+(w<<1)|0;g=g+128|0;f=f+1|0}Mb=A;return}function Zj(b,c,d,e,f,g,h,i,j,k){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0;a:do if((j|0)!=0&(k|0)!=0){if((i|0)<(k|0)){o=(0-g|0)<(i|0);p=1-g|0;n=c+(0-(H(i,e)|0))+(H(p,e)|0)|0;c=o?c:n;i=o?i:p}else{p=k+-1|0;c=c+(0-(H(i,e)|0))+(H(p,e)|0)|0;i=p}if((h|0)<(j|0)){o=(0-f|0)<(h|0);p=1-f|0;l=o?h:p;h=o?c:c+(p-h)|0}else{p=j+-1|0;l=p;h=c+(p-h)|0}c=0-i|0;c=(c|0)>0?c:0;p=0-l|0;p=(p|0)>0?p:0;m=k-i|0;n=(m|0)<(g|0);o=j-l|0;o=(o|0)<(f|0)?o:f;j=o-p|0;i=h+(p+(H(c,e)|0))|0;k=p+(H(c,d)|0)|0;h=b+p|0;l=0;while(1){if(l>>>0>=c>>>0)break;Mn(h|0,i|0,j|0)|0;h=h+d|0;l=l+1|0}l=n?m:g;h=b+k|0;while(1){if((c|0)>=(l|0))break;Mn(h|0,i|0,j|0)|0;h=h+d|0;c=c+1|0;i=i+e|0}i=i+(0-e)|0;while(1){if((c|0)>=(g|0))break;Mn(h|0,i|0,j|0)|0;h=h+d|0;c=c+1|0}k=o+-1|0;c=g;h=h+(0-((H(g,d)|0)+p))|0;while(1){l=c+-1|0;if(!c)break a;i=h+p|0;c=0;while(1){if(c>>>0>=p>>>0)break;a[h+c>>0]=a[i>>0]|0;c=c+1|0}i=h+k|0;c=o;while(1){if((c|0)>=(f|0))break;a[h+c>>0]=a[i>>0]|0;c=c+1|0}c=l;h=h+d|0}}while(0);return}function _j(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=Mb;Mb=Mb+16|0;t=v;u=h>>1;i=0-u|0;if(!f){l=e[a+(i<<1)>>1]|0;i=l}else{i=e[a+(i<<1)>>1]|0;l=e[a+(~u<<1)>>1]|0}j=e[a+(1-u<<1)>>1]|0;k=j+2|0;m=e[a+(2-u<<1)>>1]|0;n=m+2|0;o=e[a+(3-u<<1)>>1]|0;p=e[a+(4-u<<1)>>1]|0;q=e[a+(5-u<<1)>>1]|0;r=e[a+(6-u<<1)>>1]|0;s=e[a+(7-u<<1)>>1]|0;if(!g)f=s;else f=e[a+(8-u<<1)>>1]|0;b[t>>1]=(k+l+(i<<1)|0)>>>2;b[t+2>>1]=(n+i+(j<<1)|0)>>>2;b[t+4>>1]=(k+(m<<1)+o|0)>>>2;b[t+6>>1]=(n+(o<<1)+p|0)>>>2;b[t+8>>1]=(o+2+(p<<1)+q|0)>>>2;b[t+10>>1]=(p+2+(q<<1)+r|0)>>>2;b[t+12>>1]=(q+2+(r<<1)+s|0)>>>2;b[t+14>>1]=(r+2+(s<<1)+f|0)>>>2;k=h&-2;l=u*3|0;m=u<<2;n=u*5|0;o=u*6|0;p=u*7|0;j=0;f=a;i=d;while(1){if((j|0)==8)break;a=(c[i>>2]|0)+(e[t+(j<<1)>>1]|0)|0;b[f>>1]=a;a=(c[i+32>>2]|0)+a|0;b[f+(u<<1)>>1]=a;a=(c[i+64>>2]|0)+a|0;b[f+(k<<1)>>1]=a;a=(c[i+96>>2]|0)+a|0;b[f+(l<<1)>>1]=a;a=(c[i+128>>2]|0)+a|0;b[f+(m<<1)>>1]=a;a=(c[i+160>>2]|0)+a|0;b[f+(n<<1)>>1]=a;a=(c[i+192>>2]|0)+a|0;b[f+(o<<1)>>1]=a;b[f+(p<<1)>>1]=(c[i+224>>2]|0)+a;j=j+1|0;f=f+2|0;i=i+4|0}jv(d|0,0,256)|0;Mb=v;return}function $j(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;p=c[(c[a+64>>2]|0)+20>>2]|0;o=p+148|0;h=c[o>>2]|0;XE(p);n=p+144|0;f=hi((c[p>>2]|0)+((c[n>>2]|0)*352|0)|0,a,e)|0;do if(!f){m=a+800|0;f=p+152|0;if((c[n>>2]|0)<=((c[m>>2]|0)+-1+(((c[a+48>>2]|0)==34)<<31>>31)|0))if(c[f>>2]|0){c[d>>2]=0;e=e+28|0;f=c[e>>2]|0;if(f)break}else g=5;else{c[f>>2]=0;g=5}if((g|0)==5)e=e+28|0;l=b+120|0;j=h;while(1){k=c[p>>2]|0;i=j+1|0;f=k+(j*352|0)+300|0;if(c[f>>2]|0){g=k+(j*352|0)+184|0;d2(g)|0;h=k+(j*352|0)+108|0;while(1){if(!(c[f>>2]|0))break;yb(h|0,g|0)|0}d2(g)|0}WU(b,c[k+(j*352|0)+288>>2]|0);h=k+(j*352|0)+292|0;c[d>>2]=c[h>>2];q=k+(j*352|0)+232|0;f=c[q+4>>2]|0;g=l;c[g>>2]=c[q>>2];c[g+4>>2]=f;g=k+(j*352|0)+296|0;f=c[g>>2]|0;c[h>>2]=0;c[g>>2]=0;g=(i|0)<(c[m>>2]|0)?i:0;if(c[e>>2]|0)break;if(!((f|0)>-1&(c[d>>2]|0)==0))break;if((g|0)==(c[o>>2]|0))break;else j=g}Uh(a,c[k+(j*352|0)+212>>2]|0,1)|0;if((c[n>>2]|0)>=(c[m>>2]|0))c[n>>2]=0;c[o>>2]=g;if((f|0)>-1)f=c[e>>2]|0}while(0);dR(p);return f|0}function ak(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;m=Mb;Mb=Mb+16|0;k=m;h=m+8|0;i=m+4|0;d=c[b+64>>2]|0;j=d+36|0;a:do if(!(c[j>>2]|0)){f=c[(c[b+12>>2]|0)+116>>2]|0;f=(f|0)==0?209962:f;c[h>>2]=f;g=d+32|0;d=f;while(1){if(!d){d=0;break a}if(!(a[d>>0]|0)){d=0;break a}d=Pq(h,171391)|0;c[i>>2]=d;if(!d){d=-12;break}d=wT(d)|0;if(!d){l=7;break}bU(i);e=SU(c[g>>2]|0,(c[j>>2]|0)+1|0,4)|0;if(!e){d=-12;break}c[g>>2]=e;f=c[j>>2]|0;c[j>>2]=f+1;d=bs(d,e+(f<<2)|0)|0;if((d|0)<0)break;d=c[j>>2]|0;e=c[g>>2]|0;f=c[e+(d+-1<<2)>>2]|0;if((d|0)==1){c[f+24>>2]=1;c[f+28>>2]=9e4;d=ok(c[(c[(c[g>>2]|0)+((c[j>>2]|0)+-1<<2)>>2]|0)+16>>2]|0,b)|0}else{e=(c[e+(d+-2<<2)>>2]|0)+32|0;d=c[e+4>>2]|0;f=f+24|0;c[f>>2]=c[e>>2];c[f+4>>2]=d;f=c[g>>2]|0;d=c[j>>2]|0;d=FB(c[(c[f+(d+-1<<2)>>2]|0)+16>>2]|0,c[(c[f+(d+-2<<2)>>2]|0)+20>>2]|0)|0}if((d|0)<0)break;d=Nl(c[(c[g>>2]|0)+((c[j>>2]|0)+-1<<2)>>2]|0)|0;if((d|0)<0)break;d=c[h>>2]|0}if((l|0)==7){c[k>>2]=c[i>>2];AD(b,16,171393,k);bU(i);d=-558323010}RP(b)}else d=0;while(0);Mb=m;return d|0}function bk(a,b,d){a=a|0;b=b|0;d=d|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.0,v=0,w=0.0,x=0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0;o=c[a+8>>2]|0;q=c[a+24>>2]|0;r=c[a+28>>2]|0;n=1<<c[a+20>>2];h=n>>1;i=n>>2;p=n>>3;j=i*3|0;k=j+-1|0;l=i+-1|0;m=h+-1|0;n=n+-1|0;g=0;while(1){if((g|0)>=(p|0))break;v=g<<1;u=-+f[d+(k-v<<2)>>2]-+f[d+(v+j<<2)>>2];w=+f[d+(l-v<<2)>>2]-+f[d+(v+i<<2)>>2];s=e[o+(g<<1)>>1]|0;t=q+(g<<2)|0;x=r+(g<<2)|0;f[b+(s<<3)>>2]=-(u*+f[t>>2])-w*+f[x>>2];f[b+(s<<3)+4>>2]=u*+f[x>>2]-w*+f[t>>2];w=+f[d+(v<<2)>>2]-+f[d+(m-v<<2)>>2];u=-+f[d+(n-v<<2)>>2]-+f[d+(v+h<<2)>>2];v=g+p|0;s=e[o+(v<<1)>>1]|0;t=q+(v<<2)|0;v=r+(v<<2)|0;f[b+(s<<3)>>2]=-(w*+f[t>>2])-u*+f[v>>2];f[b+(s<<3)+4>>2]=w*+f[v>>2]-u*+f[t>>2];g=g+1|0}ec[c[a+36>>2]&255](a,b);g=0;while(1){if((p|0)<=(g|0))break;o=p-g+-1|0;s=b+(o<<3)|0;z=+f[s>>2];y=-+f[r+(o<<2)>>2];t=b+(o<<3)+4|0;u=+f[t>>2];w=-+f[q+(o<<2)>>2];o=g+p|0;v=b+(o<<3)|0;B=+f[v>>2];C=-+f[r+(o<<2)>>2];x=b+(o<<3)+4|0;D=+f[x>>2];A=-+f[q+(o<<2)>>2];f[s>>2]=u*y+z*w;f[t>>2]=B*C-D*A;f[v>>2]=D*C+B*A;f[x>>2]=z*y-u*w;g=g+1|0}return}function ck(){c[207001]=828176;c[207003]=304;kd(828e3,8,e[29e3]|0,c[14148]|0,1,1,c[13484]|0,2,2,0,0,0,4)|0;c[207005]=829392;c[207007]=270;kd(828016,8,e[29001]|0,c[14149]|0,1,1,c[13485]|0,2,2,0,0,0,4)|0;c[207009]=830480;c[207011]=550;kd(828032,8,e[29002]|0,c[14150]|0,1,1,c[13486]|0,2,2,0,0,0,4)|0;c[207013]=832688;c[207015]=300;kd(828048,8,e[29003]|0,c[14151]|0,1,1,c[13487]|0,2,2,0,0,0,4)|0;c[207017]=833888;c[207019]=328;kd(828064,8,e[29004]|0,c[14152]|0,1,1,c[13488]|0,2,2,0,0,0,4)|0;c[207021]=835200;c[207023]=294;kd(828080,8,e[29005]|0,c[14153]|0,1,1,c[13489]|0,2,2,0,0,0,4)|0;c[207025]=836384;c[207027]=306;kd(828096,8,e[29006]|0,c[14154]|0,1,1,c[13490]|0,2,2,0,0,0,4)|0;c[207029]=837616;c[207031]=268;kd(828112,8,e[29007]|0,c[14155]|0,1,1,c[13491]|0,2,2,0,0,0,4)|0;c[207033]=838688;c[207035]=510;kd(828128,8,e[29008]|0,c[14156]|0,1,1,c[13492]|0,2,2,0,0,0,4)|0;c[207037]=840736;c[207039]=366;kd(828144,8,e[29009]|0,c[14157]|0,1,1,c[13493]|0,2,2,0,0,0,4)|0;c[207041]=842208;c[207043]=462;kd(828160,8,e[29010]|0,c[14158]|0,1,1,c[13494]|0,2,2,0,0,0,4)|0;Gr();wD();c[278111]=844064;c[278113]=352;kd(1112440,7,121,53808,1,1,53312,4,4,0,0,0,4)|0;Xu(293792,4.0,1024);Xu(297888,6.0,128);Xu(298400,4.0,960);Xu(302240,6.0,120);xQ(288672,960);xQ(288192,120);l$(10);l$(9);l$(7);rq();return}function dk(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=c>>1;z=d<<2;v=f<<2;w=H(A,-3)|0;x=H(A,-2)|0;y=0-A|0;r=c&-2;s=(z>>2)+2|0;t=H(A,-4)|0;u=A*3|0;j=0;while(1){if((j|0)==16)break;d=a+(w<<1)|0;f=e[d>>1]|0;c=a+(x<<1)|0;k=e[c>>1]|0;h=a+(y<<1)|0;l=e[h>>1]|0;m=e[a>>1]|0;n=a+(A<<1)|0;o=e[n>>1]|0;p=a+(r<<1)|0;q=e[p>>1]|0;g=l-m|0;g=(g|0)>-1?g:0-g|0;do if(((g|0)<(z|0)?(i=k-l|0,(((i|0)>-1?i:0-i|0)|0)<(v|0)):0)?(i=o-m|0,(((i|0)>-1?i:0-i|0)|0)<(v|0)):0){if((g|0)>=(s|0)){b[h>>1]=(l+2+(k<<1)+o|0)>>>2;b[a>>1]=(m+2+k+(o<<1)|0)>>>2;break}i=f-l|0;if((((i|0)>-1?i:0-i|0)|0)<(v|0)){B=e[a+(t<<1)>>1]|0;g=m+l|0;b[h>>1]=(o+4+f+(g+k<<1)|0)>>>3;b[c>>1]=(l+2+f+k+m|0)>>>2;i=k+4+(f*3|0)|0;f=3;c=B<<1}else{i=l+2|0;d=h;f=2;c=o;g=k<<1}b[d>>1]=(i+g+c|0)>>>f;B=q-m|0;if((((B|0)>-1?B:0-B|0)|0)<(v|0)){B=e[a+(u<<1)>>1]|0;i=m+l+o|0;b[a>>1]=(k+4+q+(i<<1)|0)>>>3;b[n>>1]=(l+2+m+o+q|0)>>>2;b[p>>1]=(i+4+(q*3|0)+(B<<1)|0)>>>3;break}else{b[a>>1]=(m+2+k+(o<<1)|0)>>>2;break}}while(0);a=a+2|0;j=j+1|0}return}function ek(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=c>>1;z=d<<1;v=f<<1;w=H(A,-3)|0;x=H(A,-2)|0;y=0-A|0;r=c&-2;s=(z>>2)+2|0;t=H(A,-4)|0;u=A*3|0;j=0;while(1){if((j|0)==16)break;d=a+(w<<1)|0;f=e[d>>1]|0;c=a+(x<<1)|0;k=e[c>>1]|0;h=a+(y<<1)|0;l=e[h>>1]|0;m=e[a>>1]|0;n=a+(A<<1)|0;o=e[n>>1]|0;p=a+(r<<1)|0;q=e[p>>1]|0;g=l-m|0;g=(g|0)>-1?g:0-g|0;do if(((g|0)<(z|0)?(i=k-l|0,(((i|0)>-1?i:0-i|0)|0)<(v|0)):0)?(i=o-m|0,(((i|0)>-1?i:0-i|0)|0)<(v|0)):0){if((g|0)>=(s|0)){b[h>>1]=(l+2+(k<<1)+o|0)>>>2;b[a>>1]=(m+2+k+(o<<1)|0)>>>2;break}i=f-l|0;if((((i|0)>-1?i:0-i|0)|0)<(v|0)){B=e[a+(t<<1)>>1]|0;g=m+l|0;b[h>>1]=(o+4+f+(g+k<<1)|0)>>>3;b[c>>1]=(l+2+f+k+m|0)>>>2;i=k+4+(f*3|0)|0;f=3;c=B<<1}else{i=l+2|0;d=h;f=2;c=o;g=k<<1}b[d>>1]=(i+g+c|0)>>>f;B=q-m|0;if((((B|0)>-1?B:0-B|0)|0)<(v|0)){B=e[a+(u<<1)>>1]|0;i=m+l+o|0;b[a>>1]=(k+4+q+(i<<1)|0)>>>3;b[n>>1]=(l+2+m+o+q|0)>>>2;b[p>>1]=(i+4+(q*3|0)+(B<<1)|0)>>>3;break}else{b[a>>1]=(m+2+k+(o<<1)|0)>>>2;break}}while(0);a=a+2|0;j=j+1|0}return}function fk(a,c){a=a|0;c=c|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=c>>1;l=0-q|0;h=a+6+(l<<1)|0;g=a+(q<<3<<1)+-2|0;f=g+(0-(c&-2)<<1)|0;k=a+((q*22|0)+-2)|0;i=a+((q*10|0)+-2-(c>>>1<<2))|0;c=2;d=(e[g>>1]|0)-(e[f>>1]|0)|0;j=(e[h+2>>1]|0)-(e[h+-2>>1]|0)|0;while(1){if((c|0)==5)break;p=g+(q<<1)|0;o=f+(l<<1)|0;n=(H((e[h+(c<<1)>>1]|0)-(e[h+(0-c<<1)>>1]|0)|0,c)|0)+j|0;m=(H((e[p>>1]|0)-(e[o>>1]|0)|0,c)|0)+d|0;c=c+1|0;d=m;j=n;f=o;g=p}c=5;p=k;while(1){if(c>>>0>=9)break;o=p+(q<<1)|0;n=i+(l<<1)|0;d=(H((e[o>>1]|0)-(e[n>>1]|0)|0,c)|0)+d|0;c=c+1|0;i=n;p=o}o=(j*17|0)+16>>5;g=(d*5|0)+32>>6;h=o*3|0;j=o<<1;k=o<<2;l=o*5|0;m=o*6|0;n=o*7|0;f=16;d=16-h+(H(g,-7)|0)+((e[i+16>>1]|0)+(e[p>>1]|0)<<4)|0;c=a;while(1){if(!f)break;a=d>>5;b[c>>1]=a>>>0<16384?a:0-a>>31&16383;a=d+o>>5;b[c+2>>1]=a>>>0<16384?a:0-a>>31&16383;a=d+j>>5;b[c+4>>1]=a>>>0<16384?a:0-a>>31&16383;a=d+h>>5;b[c+6>>1]=a>>>0<16384?a:0-a>>31&16383;a=d+k>>5;b[c+8>>1]=a>>>0<16384?a:0-a>>31&16383;a=d+l>>5;b[c+10>>1]=a>>>0<16384?a:0-a>>31&16383;a=d+m>>5;b[c+12>>1]=a>>>0<16384?a:0-a>>31&16383;a=d+n>>5;b[c+14>>1]=a>>>0<16384?a:0-a>>31&16383;f=f+-1|0;d=d+g|0;c=c+(q<<1)|0}return}function gk(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=c>>1;z=d<<6;v=f<<6;w=H(A,-3)|0;x=H(A,-2)|0;y=0-A|0;r=c&-2;s=z>>2|2;t=H(A,-4)|0;u=A*3|0;j=0;while(1){if((j|0)==16)break;d=a+(w<<1)|0;f=e[d>>1]|0;c=a+(x<<1)|0;k=e[c>>1]|0;h=a+(y<<1)|0;l=e[h>>1]|0;m=e[a>>1]|0;n=a+(A<<1)|0;o=e[n>>1]|0;p=a+(r<<1)|0;q=e[p>>1]|0;g=l-m|0;g=(g|0)>-1?g:0-g|0;do if(((g|0)<(z|0)?(i=k-l|0,(((i|0)>-1?i:0-i|0)|0)<(v|0)):0)?(i=o-m|0,(((i|0)>-1?i:0-i|0)|0)<(v|0)):0){if((g|0)>=(s|0)){b[h>>1]=(l+2+(k<<1)+o|0)>>>2;b[a>>1]=(m+2+k+(o<<1)|0)>>>2;break}i=f-l|0;if((((i|0)>-1?i:0-i|0)|0)<(v|0)){B=e[a+(t<<1)>>1]|0;g=m+l|0;b[h>>1]=(o+4+f+(g+k<<1)|0)>>>3;b[c>>1]=(l+2+f+k+m|0)>>>2;i=k+4+(f*3|0)|0;f=3;c=B<<1}else{i=l+2|0;d=h;f=2;c=o;g=k<<1}b[d>>1]=(i+g+c|0)>>>f;B=q-m|0;if((((B|0)>-1?B:0-B|0)|0)<(v|0)){B=e[a+(u<<1)>>1]|0;i=m+l+o|0;b[a>>1]=(k+4+q+(i<<1)|0)>>>3;b[n>>1]=(l+2+m+o+q|0)>>>2;b[p>>1]=(i+4+(q*3|0)+(B<<1)|0)>>>3;break}else{b[a>>1]=(m+2+k+(o<<1)|0)>>>2;break}}while(0);a=a+2|0;j=j+1|0}return}function hk(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=c>>1;z=d<<4;v=f<<4;w=H(A,-3)|0;x=H(A,-2)|0;y=0-A|0;r=c&-2;s=z>>2|2;t=H(A,-4)|0;u=A*3|0;j=0;while(1){if((j|0)==16)break;d=a+(w<<1)|0;f=e[d>>1]|0;c=a+(x<<1)|0;k=e[c>>1]|0;h=a+(y<<1)|0;l=e[h>>1]|0;m=e[a>>1]|0;n=a+(A<<1)|0;o=e[n>>1]|0;p=a+(r<<1)|0;q=e[p>>1]|0;g=l-m|0;g=(g|0)>-1?g:0-g|0;do if(((g|0)<(z|0)?(i=k-l|0,(((i|0)>-1?i:0-i|0)|0)<(v|0)):0)?(i=o-m|0,(((i|0)>-1?i:0-i|0)|0)<(v|0)):0){if((g|0)>=(s|0)){b[h>>1]=(l+2+(k<<1)+o|0)>>>2;b[a>>1]=(m+2+k+(o<<1)|0)>>>2;break}i=f-l|0;if((((i|0)>-1?i:0-i|0)|0)<(v|0)){B=e[a+(t<<1)>>1]|0;g=m+l|0;b[h>>1]=(o+4+f+(g+k<<1)|0)>>>3;b[c>>1]=(l+2+f+k+m|0)>>>2;i=k+4+(f*3|0)|0;f=3;c=B<<1}else{i=l+2|0;d=h;f=2;c=o;g=k<<1}b[d>>1]=(i+g+c|0)>>>f;B=q-m|0;if((((B|0)>-1?B:0-B|0)|0)<(v|0)){B=e[a+(u<<1)>>1]|0;i=m+l+o|0;b[a>>1]=(k+4+q+(i<<1)|0)>>>3;b[n>>1]=(l+2+m+o+q|0)>>>2;b[p>>1]=(i+4+(q*3|0)+(B<<1)|0)>>>3;break}else{b[a>>1]=(m+2+k+(o<<1)|0)>>>2;break}}while(0);a=a+2|0;j=j+1|0}return}function ik(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,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;y=0-c|0;z=H(c,-2)|0;A=H(c,-3)|0;B=c<<1;w=0;while(1){if((w|0)==4)break;h=a[g+w>>0]|0;x=h<<24>>24;a:do if(h<<24>>24>=0){o=h<<24>>24==0;p=x+1|0;q=0-x|0;m=0;n=b;while(1){if((m|0)==4)break a;r=n+y|0;s=d[r>>0]|0;h=n+z|0;t=d[h>>0]|0;i=d[n+A>>0]|0;u=d[n>>0]|0;k=n+c|0;v=d[k>>0]|0;l=d[n+B>>0]|0;j=s-u|0;if(((((j|0)>-1?j:0-j|0)|0)<(e|0)?(j=t-s|0,(((j|0)>-1?j:0-j|0)|0)<(f|0)):0)?(j=v-u|0,(((j|0)>-1?j:0-j|0)|0)<(f|0)):0){j=i-s|0;j=(((j|0)>-1?j:0-j|0)|0)>=(f|0);if(o|j)h=j?x:p;else{j=((((s+1+u|0)>>>1)+i|0)>>>1)-t|0;a[h>>0]=((j|0)<(q|0)?q:(j|0)>(x|0)?x:j)+t;h=p}j=l-u|0;if((((j|0)>-1?j:0-j|0)|0)<(f|0)){if(!o){l=((((s+1+u|0)>>>1)+l|0)>>>1)-v|0;a[k>>0]=((l|0)<(q|0)?q:(l|0)>(x|0)?x:l)+v}h=h+1|0}v=t+4-v+(u-s<<2)>>3;t=0-h|0;v=(v|0)<(t|0)?t:(v|0)>(h|0)?h:v;t=v+s|0;a[r>>0]=t>>>0>255?0-t>>31:t;v=u-v|0;a[n>>0]=v>>>0>255?0-v>>31:v}m=m+1|0;n=n+1|0}}while(0);b=b+4|0;w=w+1|0}return}function jk(a,c){a=a|0;c=c|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=c>>1;l=0-q|0;h=a+6+(l<<1)|0;g=a+(q<<3<<1)+-2|0;f=g+(0-(c&-2)<<1)|0;k=a+((q*22|0)+-2)|0;i=a+((q*10|0)+-2-(c>>>1<<2))|0;c=2;d=(e[g>>1]|0)-(e[f>>1]|0)|0;j=(e[h+2>>1]|0)-(e[h+-2>>1]|0)|0;while(1){if((c|0)==5)break;p=g+(q<<1)|0;o=f+(l<<1)|0;n=(H((e[h+(c<<1)>>1]|0)-(e[h+(0-c<<1)>>1]|0)|0,c)|0)+j|0;m=(H((e[p>>1]|0)-(e[o>>1]|0)|0,c)|0)+d|0;c=c+1|0;d=m;j=n;f=o;g=p}c=5;p=k;while(1){if(c>>>0>=9)break;o=p+(q<<1)|0;n=i+(l<<1)|0;d=(H((e[o>>1]|0)-(e[n>>1]|0)|0,c)|0)+d|0;c=c+1|0;i=n;p=o}o=(j*17|0)+16>>5;g=(d*5|0)+32>>6;h=o*3|0;j=o<<1;k=o<<2;l=o*5|0;m=o*6|0;n=o*7|0;f=16;d=16-h+(H(g,-7)|0)+((e[i+16>>1]|0)+(e[p>>1]|0)<<4)|0;c=a;while(1){if(!f)break;a=d>>5;b[c>>1]=a>>>0<4096?a:0-a>>31&4095;a=d+o>>5;b[c+2>>1]=a>>>0<4096?a:0-a>>31&4095;a=d+j>>5;b[c+4>>1]=a>>>0<4096?a:0-a>>31&4095;a=d+h>>5;b[c+6>>1]=a>>>0<4096?a:0-a>>31&4095;a=d+k>>5;b[c+8>>1]=a>>>0<4096?a:0-a>>31&4095;a=d+l>>5;b[c+10>>1]=a>>>0<4096?a:0-a>>31&4095;a=d+m>>5;b[c+12>>1]=a>>>0<4096?a:0-a>>31&4095;a=d+n>>5;b[c+14>>1]=a>>>0<4096?a:0-a>>31&4095;f=f+-1|0;d=d+g|0;c=c+(q<<1)|0}return}function kk(a,c){a=a|0;c=c|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=c>>1;l=0-q|0;h=a+6+(l<<1)|0;g=a+(q<<3<<1)+-2|0;f=g+(0-(c&-2)<<1)|0;k=a+((q*22|0)+-2)|0;i=a+((q*10|0)+-2-(c>>>1<<2))|0;c=2;d=(e[g>>1]|0)-(e[f>>1]|0)|0;j=(e[h+2>>1]|0)-(e[h+-2>>1]|0)|0;while(1){if((c|0)==5)break;p=g+(q<<1)|0;o=f+(l<<1)|0;n=(H((e[h+(c<<1)>>1]|0)-(e[h+(0-c<<1)>>1]|0)|0,c)|0)+j|0;m=(H((e[p>>1]|0)-(e[o>>1]|0)|0,c)|0)+d|0;c=c+1|0;d=m;j=n;f=o;g=p}c=5;p=k;while(1){if(c>>>0>=9)break;o=p+(q<<1)|0;n=i+(l<<1)|0;d=(H((e[o>>1]|0)-(e[n>>1]|0)|0,c)|0)+d|0;c=c+1|0;i=n;p=o}o=(j*17|0)+16>>5;g=(d*5|0)+32>>6;h=o*3|0;j=o<<1;k=o<<2;l=o*5|0;m=o*6|0;n=o*7|0;f=16;d=16-h+(H(g,-7)|0)+((e[i+16>>1]|0)+(e[p>>1]|0)<<4)|0;c=a;while(1){if(!f)break;a=d>>5;b[c>>1]=a>>>0<1024?a:0-a>>31&1023;a=d+o>>5;b[c+2>>1]=a>>>0<1024?a:0-a>>31&1023;a=d+j>>5;b[c+4>>1]=a>>>0<1024?a:0-a>>31&1023;a=d+h>>5;b[c+6>>1]=a>>>0<1024?a:0-a>>31&1023;a=d+k>>5;b[c+8>>1]=a>>>0<1024?a:0-a>>31&1023;a=d+l>>5;b[c+10>>1]=a>>>0<1024?a:0-a>>31&1023;a=d+m>>5;b[c+12>>1]=a>>>0<1024?a:0-a>>31&1023;a=d+n>>5;b[c+14>>1]=a>>>0<1024?a:0-a>>31&1023;f=f+-1|0;d=d+g|0;c=c+(q<<1)|0}return}function lk(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,m=0;h=a+80|0;k=e0(c[h>>2]|0)|0;a:do if(k){i=a+68|0;l=a+72|0;e=UX(c[i>>2]|0,c[l>>2]|0,0,0)|0;if((e|0)>=0){g=a+32|0;b:do if(!(c[g>>2]|0)){f=(b|0)<1?32:b;j=f+-1|0;b=1;while(1){if((b|0)>(f|0))break;e=Ex(g,c[h>>2]|0,b+-1+(c[i>>2]|0)&0-b)|0;if((e|0)<0)break a;if(!(c[g>>2]&j))break;else b=b<<1}b=0-f|0;e=0;while(1){if(e>>>0>=4)break b;f=a+32+(e<<2)|0;g=c[f>>2]|0;if(!g)break b;c[f>>2]=j+g&b;e=e+1|0}}while(0);g=k+6|0;f=0;while(1){if(f>>>0>=4){m=19;break}b=c[a+32+(f<<2)>>2]|0;if(!b){m=19;break}e=(c[l>>2]|0)+31&-32;if((f+-1|0)>>>0<2)e=0-(0-e>>(d[g>>0]|0))|0;e=mP((H(e,b)|0)+31|0)|0;c[a+248+(f<<2)>>2]=e;if(!e)break;c[a+(f<<2)>>2]=c[e+4>>2];f=f+1|0}do if((m|0)==19){if(!(0==0?(c[k+8>>2]&66|0)==0:0)){m=a+252|0;F$(m);e=mP(1024)|0;c[m>>2]=e;if(!e)break;c[a+4>>2]=c[e+4>>2]}c[a+64>>2]=a;e=0;break a}while(0);jB(a);e=-12}}else e=-22;while(0);return e|0}function mk(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=d>>1;y=f<<6;x=g<<6;w=d&-2;u=0;while(1){if((u|0)==4)break;f=a[h+u>>0]|0;v=f<<24>>24<<6;a:do if(f<<24>>24>=0){m=f<<24>>24==0;n=v|1;o=0-v|0;k=0;l=c;while(1){if((k|0)==2)break a;p=l+-2|0;q=e[p>>1]|0;f=l+-4|0;r=e[f>>1]|0;g=e[l+-6>>1]|0;s=e[l>>1]|0;i=l+2|0;t=e[i>>1]|0;j=e[l+4>>1]|0;d=q-s|0;if(((((d|0)>-1?d:0-d|0)|0)<(y|0)?(d=r-q|0,(((d|0)>-1?d:0-d|0)|0)<(x|0)):0)?(d=t-s|0,(((d|0)>-1?d:0-d|0)|0)<(x|0)):0){d=g-q|0;d=(((d|0)>-1?d:0-d|0)|0)>=(x|0);if(m|d)f=d?v:n;else{d=((((q+1+s|0)>>>1)+g|0)>>>1)-r|0;b[f>>1]=((d|0)<(o|0)?o:(d|0)>(v|0)?v:d)+r;f=n}d=j-s|0;if((((d|0)>-1?d:0-d|0)|0)<(x|0)){if(!m){j=((((q+1+s|0)>>>1)+j|0)>>>1)-t|0;b[i>>1]=((j|0)<(o|0)?o:(j|0)>(v|0)?v:j)+t}f=f+1|0}t=r+4-t+(s-q<<2)>>3;r=0-f|0;t=(t|0)<(r|0)?r:(t|0)>(f|0)?f:t;r=t+q|0;b[p>>1]=r>>>0<16384?r:0-r>>31&16383;t=s-t|0;b[l>>1]=t>>>0<16384?t:0-t>>31&16383}k=k+1|0;l=l+(z<<1)|0}}while(0);c=c+(w<<1)|0;u=u+1|0}return}function nk(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;k=8-g|0;j=8-h|0;m=H(j,k)|0;j=H(j,g)|0;k=H(k,h)|0;i=H(h,g)|0;l=d>>1;a:do if(!i){i=j+k|0;if(!i){g=0;while(1){if((g|0)>=(f|0))break a;k=((H(m,e[c>>1]|0)|0)+32|0)>>>6&65535;b[a>>1]=k;k=((H(m,e[c+2>>1]|0)|0)+32|0)>>>6&65535;b[a+2>>1]=k;a=a+(l<<1)|0;c=c+(l<<1)|0;g=g+1|0}}else{h=(k|0)==0?1:l;d=h+1|0;g=0;while(1){if((g|0)>=(f|0))break a;k=H(m,e[c>>1]|0)|0;k=(k+32+(H(i,e[c+(h<<1)>>1]|0)|0)|0)>>>6&65535;b[a>>1]=k;k=H(m,e[c+2>>1]|0)|0;k=(k+32+(H(i,e[c+(d<<1)>>1]|0)|0)|0)>>>6&65535;b[a+2>>1]=k;a=a+(l<<1)|0;g=g+1|0;c=c+(l<<1)|0}}}else{h=l+1|0;d=l+2|0;g=0;while(1){if((g|0)>=(f|0))break a;s=H(m,e[c>>1]|0)|0;q=c+2|0;r=H(j,e[q>>1]|0)|0;n=c+(l<<1)|0;p=H(k,e[n>>1]|0)|0;o=c+(h<<1)|0;p=(s+32+r+p+(H(i,e[o>>1]|0)|0)|0)>>>6&65535;b[a>>1]=p;q=H(m,e[q>>1]|0)|0;p=H(j,e[c+4>>1]|0)|0;o=H(k,e[o>>1]|0)|0;o=(q+32+p+o+(H(i,e[c+(d<<1)>>1]|0)|0)|0)>>>6&65535;b[a+2>>1]=o;a=a+(l<<1)|0;g=g+1|0;c=n}}while(0);return}function ok(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;eC(a);e=c[b+8>>2]|0;c[a>>2]=e;c[a+4>>2]=c[b+48>>2];c[a+8>>2]=c[b+52>>2];g=b+72|0;f=c[g+4>>2]|0;d=a+24|0;c[d>>2]=c[g>>2];c[d+4>>2]=f;c[a+32>>2]=c[b+784>>2];c[a+36>>2]=c[b+788>>2];c[a+40>>2]=c[b+828>>2];c[a+44>>2]=c[b+832>>2];switch(e|0){case 0:{c[a+20>>2]=c[b+144>>2];c[a+48>>2]=c[b+124>>2];c[a+52>>2]=c[b+128>>2];c[a+64>>2]=c[b+412>>2];c[a+68>>2]=c[b+400>>2];c[a+72>>2]=c[b+388>>2];c[a+76>>2]=c[b+392>>2];c[a+80>>2]=c[b+396>>2];c[a+84>>2]=c[b+404>>2];e=b+228|0;f=c[e+4>>2]|0;g=a+56|0;c[g>>2]=c[e>>2];c[g+4>>2]=f;c[a+88>>2]=c[b+180>>2];break}case 1:{c[a+20>>2]=c[b+424>>2];e=b+448|0;f=c[e+4>>2]|0;g=a+96|0;c[g>>2]=c[e>>2];c[g+4>>2]=f;c[a+104>>2]=c[b+420>>2];c[a+108>>2]=c[b+416>>2];c[a+112>>2]=c[b+436>>2];c[a+116>>2]=c[b+428>>2];c[a+120>>2]=c[b+876>>2];c[a+124>>2]=c[b+984>>2];c[a+128>>2]=c[b+948>>2];break}case 3:{c[a+48>>2]=c[b+124>>2];c[a+52>>2]=c[b+128>>2];break}default:{}}e=b+100|0;if(c[e>>2]|0){b=b+104|0;d=EZ((c[b>>2]|0)+32|0)|0;c[a+12>>2]=d;if(!d)b=-12;else{b=c[b>>2]|0;Mn(d|0,c[e>>2]|0,b|0)|0;c[a+16>>2]=b;b=0}}else b=0;return b|0}function pk(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=d>>1;y=f<<4;x=g<<4;w=d&-2;u=0;while(1){if((u|0)==4)break;f=a[h+u>>0]|0;v=f<<24>>24<<4;a:do if(f<<24>>24>=0){m=f<<24>>24==0;n=v|1;o=0-v|0;k=0;l=c;while(1){if((k|0)==2)break a;p=l+-2|0;q=e[p>>1]|0;f=l+-4|0;r=e[f>>1]|0;g=e[l+-6>>1]|0;s=e[l>>1]|0;i=l+2|0;t=e[i>>1]|0;j=e[l+4>>1]|0;d=q-s|0;if(((((d|0)>-1?d:0-d|0)|0)<(y|0)?(d=r-q|0,(((d|0)>-1?d:0-d|0)|0)<(x|0)):0)?(d=t-s|0,(((d|0)>-1?d:0-d|0)|0)<(x|0)):0){d=g-q|0;d=(((d|0)>-1?d:0-d|0)|0)>=(x|0);if(m|d)f=d?v:n;else{d=((((q+1+s|0)>>>1)+g|0)>>>1)-r|0;b[f>>1]=((d|0)<(o|0)?o:(d|0)>(v|0)?v:d)+r;f=n}d=j-s|0;if((((d|0)>-1?d:0-d|0)|0)<(x|0)){if(!m){j=((((q+1+s|0)>>>1)+j|0)>>>1)-t|0;b[i>>1]=((j|0)<(o|0)?o:(j|0)>(v|0)?v:j)+t}f=f+1|0}t=r+4-t+(s-q<<2)>>3;r=0-f|0;t=(t|0)<(r|0)?r:(t|0)>(f|0)?f:t;r=t+q|0;b[p>>1]=r>>>0<4096?r:0-r>>31&4095;t=s-t|0;b[l>>1]=t>>>0<4096?t:0-t>>31&4095}k=k+1|0;l=l+(z<<1)|0}}while(0);c=c+(w<<1)|0;u=u+1|0}return}function qk(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=d>>1;y=f<<2;x=g<<2;w=d&-2;u=0;while(1){if((u|0)==4)break;f=a[h+u>>0]|0;v=f<<24>>24<<2;a:do if(f<<24>>24>=0){m=f<<24>>24==0;n=v|1;o=0-v|0;k=0;l=c;while(1){if((k|0)==2)break a;p=l+-2|0;q=e[p>>1]|0;f=l+-4|0;r=e[f>>1]|0;g=e[l+-6>>1]|0;s=e[l>>1]|0;i=l+2|0;t=e[i>>1]|0;j=e[l+4>>1]|0;d=q-s|0;if(((((d|0)>-1?d:0-d|0)|0)<(y|0)?(d=r-q|0,(((d|0)>-1?d:0-d|0)|0)<(x|0)):0)?(d=t-s|0,(((d|0)>-1?d:0-d|0)|0)<(x|0)):0){d=g-q|0;d=(((d|0)>-1?d:0-d|0)|0)>=(x|0);if(m|d)f=d?v:n;else{d=((((q+1+s|0)>>>1)+g|0)>>>1)-r|0;b[f>>1]=((d|0)<(o|0)?o:(d|0)>(v|0)?v:d)+r;f=n}d=j-s|0;if((((d|0)>-1?d:0-d|0)|0)<(x|0)){if(!m){j=((((q+1+s|0)>>>1)+j|0)>>>1)-t|0;b[i>>1]=((j|0)<(o|0)?o:(j|0)>(v|0)?v:j)+t}f=f+1|0}t=r+4-t+(s-q<<2)>>3;r=0-f|0;t=(t|0)<(r|0)?r:(t|0)>(f|0)?f:t;r=t+q|0;b[p>>1]=r>>>0<1024?r:0-r>>31&1023;t=s-t|0;b[l>>1]=t>>>0<1024?t:0-t>>31&1023}k=k+1|0;l=l+(z<<1)|0}}while(0);c=c+(w<<1)|0;u=u+1|0}return}function rk(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=d>>1;y=f<<6;w=g<<6;x=z<<2;u=0;while(1){if((u|0)==4)break;d=a[h+u>>0]|0;v=d<<24>>24<<6;a:do if(d<<24>>24>=0){m=d<<24>>24==0;n=v|1;o=0-v|0;k=0;l=c;while(1){if((k|0)==4)break a;p=l+-2|0;q=e[p>>1]|0;d=l+-4|0;r=e[d>>1]|0;f=e[l+-6>>1]|0;s=e[l>>1]|0;i=l+2|0;t=e[i>>1]|0;j=e[l+4>>1]|0;g=q-s|0;if(((((g|0)>-1?g:0-g|0)|0)<(y|0)?(g=r-q|0,(((g|0)>-1?g:0-g|0)|0)<(w|0)):0)?(g=t-s|0,(((g|0)>-1?g:0-g|0)|0)<(w|0)):0){g=f-q|0;g=(((g|0)>-1?g:0-g|0)|0)>=(w|0);if(m|g)d=g?v:n;else{g=((((q+1+s|0)>>>1)+f|0)>>>1)-r|0;b[d>>1]=((g|0)<(o|0)?o:(g|0)>(v|0)?v:g)+r;d=n}g=j-s|0;if((((g|0)>-1?g:0-g|0)|0)<(w|0)){if(!m){j=((((q+1+s|0)>>>1)+j|0)>>>1)-t|0;b[i>>1]=((j|0)<(o|0)?o:(j|0)>(v|0)?v:j)+t}d=d+1|0}t=r+4-t+(s-q<<2)>>3;r=0-d|0;t=(t|0)<(r|0)?r:(t|0)>(d|0)?d:t;r=t+q|0;b[p>>1]=r>>>0<16384?r:0-r>>31&16383;t=s-t|0;b[l>>1]=t>>>0<16384?t:0-t>>31&16383}k=k+1|0;l=l+(z<<1)|0}}while(0);c=c+(x<<1)|0;u=u+1|0}return}function sk(a,c){a=a|0;c=c|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=c>>1;l=0-q|0;h=a+6+(l<<1)|0;g=a+(q<<3<<1)+-2|0;f=g+(0-(c&-2)<<1)|0;k=a+((q*22|0)+-2)|0;i=a+((q*10|0)+-2-(c>>>1<<2))|0;c=2;d=(e[g>>1]|0)-(e[f>>1]|0)|0;j=(e[h+2>>1]|0)-(e[h+-2>>1]|0)|0;while(1){if((c|0)==5)break;p=g+(q<<1)|0;o=f+(l<<1)|0;n=(H((e[h+(c<<1)>>1]|0)-(e[h+(0-c<<1)>>1]|0)|0,c)|0)+j|0;m=(H((e[p>>1]|0)-(e[o>>1]|0)|0,c)|0)+d|0;c=c+1|0;d=m;j=n;f=o;g=p}c=5;p=k;while(1){if(c>>>0>=9)break;o=p+(q<<1)|0;n=i+(l<<1)|0;d=(H((e[o>>1]|0)-(e[n>>1]|0)|0,c)|0)+d|0;c=c+1|0;i=n;p=o}o=(j*17|0)+16>>5;g=(d*5|0)+32>>6;h=o*3|0;j=o<<1;k=o<<2;l=o*5|0;m=o*6|0;n=o*7|0;f=16;d=16-h+(H(g,-7)|0)+((e[i+16>>1]|0)+(e[p>>1]|0)<<4)|0;c=a;while(1){if(!f)break;a=d>>5;b[c>>1]=a>>>0<512?a:0-a>>31&511;a=d+o>>5;b[c+2>>1]=a>>>0<512?a:0-a>>31&511;a=d+j>>5;b[c+4>>1]=a>>>0<512?a:0-a>>31&511;a=d+h>>5;b[c+6>>1]=a>>>0<512?a:0-a>>31&511;a=d+k>>5;b[c+8>>1]=a>>>0<512?a:0-a>>31&511;a=d+l>>5;b[c+10>>1]=a>>>0<512?a:0-a>>31&511;a=d+m>>5;b[c+12>>1]=a>>>0<512?a:0-a>>31&511;a=d+n>>5;b[c+14>>1]=a>>>0<512?a:0-a>>31&511;f=f+-1|0;d=d+g|0;c=c+(q<<1)|0}return}function tk(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=d>>1;y=f<<1;x=g<<1;w=d&-2;u=0;while(1){if((u|0)==4)break;f=a[h+u>>0]|0;v=f<<24>>24<<1;a:do if(f<<24>>24>=0){m=f<<24>>24==0;n=v|1;o=0-v|0;k=0;l=c;while(1){if((k|0)==2)break a;p=l+-2|0;q=e[p>>1]|0;f=l+-4|0;r=e[f>>1]|0;g=e[l+-6>>1]|0;s=e[l>>1]|0;i=l+2|0;t=e[i>>1]|0;j=e[l+4>>1]|0;d=q-s|0;if(((((d|0)>-1?d:0-d|0)|0)<(y|0)?(d=r-q|0,(((d|0)>-1?d:0-d|0)|0)<(x|0)):0)?(d=t-s|0,(((d|0)>-1?d:0-d|0)|0)<(x|0)):0){d=g-q|0;d=(((d|0)>-1?d:0-d|0)|0)>=(x|0);if(m|d)f=d?v:n;else{d=((((q+1+s|0)>>>1)+g|0)>>>1)-r|0;b[f>>1]=((d|0)<(o|0)?o:(d|0)>(v|0)?v:d)+r;f=n}d=j-s|0;if((((d|0)>-1?d:0-d|0)|0)<(x|0)){if(!m){j=((((q+1+s|0)>>>1)+j|0)>>>1)-t|0;b[i>>1]=((j|0)<(o|0)?o:(j|0)>(v|0)?v:j)+t}f=f+1|0}t=r+4-t+(s-q<<2)>>3;r=0-f|0;t=(t|0)<(r|0)?r:(t|0)>(f|0)?f:t;r=t+q|0;b[p>>1]=r>>>0<512?r:0-r>>31&511;t=s-t|0;b[l>>1]=t>>>0<512?t:0-t>>31&511}k=k+1|0;l=l+(z<<1)|0}}while(0);c=c+(w<<1)|0;u=u+1|0}return}function uk(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=d>>1;y=f<<4;w=g<<4;x=z<<2;u=0;while(1){if((u|0)==4)break;d=a[h+u>>0]|0;v=d<<24>>24<<4;a:do if(d<<24>>24>=0){m=d<<24>>24==0;n=v|1;o=0-v|0;k=0;l=c;while(1){if((k|0)==4)break a;p=l+-2|0;q=e[p>>1]|0;d=l+-4|0;r=e[d>>1]|0;f=e[l+-6>>1]|0;s=e[l>>1]|0;i=l+2|0;t=e[i>>1]|0;j=e[l+4>>1]|0;g=q-s|0;if(((((g|0)>-1?g:0-g|0)|0)<(y|0)?(g=r-q|0,(((g|0)>-1?g:0-g|0)|0)<(w|0)):0)?(g=t-s|0,(((g|0)>-1?g:0-g|0)|0)<(w|0)):0){g=f-q|0;g=(((g|0)>-1?g:0-g|0)|0)>=(w|0);if(m|g)d=g?v:n;else{g=((((q+1+s|0)>>>1)+f|0)>>>1)-r|0;b[d>>1]=((g|0)<(o|0)?o:(g|0)>(v|0)?v:g)+r;d=n}g=j-s|0;if((((g|0)>-1?g:0-g|0)|0)<(w|0)){if(!m){j=((((q+1+s|0)>>>1)+j|0)>>>1)-t|0;b[i>>1]=((j|0)<(o|0)?o:(j|0)>(v|0)?v:j)+t}d=d+1|0}t=r+4-t+(s-q<<2)>>3;r=0-d|0;t=(t|0)<(r|0)?r:(t|0)>(d|0)?d:t;r=t+q|0;b[p>>1]=r>>>0<4096?r:0-r>>31&4095;t=s-t|0;b[l>>1]=t>>>0<4096?t:0-t>>31&4095}k=k+1|0;l=l+(z<<1)|0}}while(0);c=c+(x<<1)|0;u=u+1|0}return}function vk(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=d>>1;y=f<<2;w=g<<2;x=z<<2;u=0;while(1){if((u|0)==4)break;d=a[h+u>>0]|0;v=d<<24>>24<<2;a:do if(d<<24>>24>=0){m=d<<24>>24==0;n=v|1;o=0-v|0;k=0;l=c;while(1){if((k|0)==4)break a;p=l+-2|0;q=e[p>>1]|0;d=l+-4|0;r=e[d>>1]|0;f=e[l+-6>>1]|0;s=e[l>>1]|0;i=l+2|0;t=e[i>>1]|0;j=e[l+4>>1]|0;g=q-s|0;if(((((g|0)>-1?g:0-g|0)|0)<(y|0)?(g=r-q|0,(((g|0)>-1?g:0-g|0)|0)<(w|0)):0)?(g=t-s|0,(((g|0)>-1?g:0-g|0)|0)<(w|0)):0){g=f-q|0;g=(((g|0)>-1?g:0-g|0)|0)>=(w|0);if(m|g)d=g?v:n;else{g=((((q+1+s|0)>>>1)+f|0)>>>1)-r|0;b[d>>1]=((g|0)<(o|0)?o:(g|0)>(v|0)?v:g)+r;d=n}g=j-s|0;if((((g|0)>-1?g:0-g|0)|0)<(w|0)){if(!m){j=((((q+1+s|0)>>>1)+j|0)>>>1)-t|0;b[i>>1]=((j|0)<(o|0)?o:(j|0)>(v|0)?v:j)+t}d=d+1|0}t=r+4-t+(s-q<<2)>>3;r=0-d|0;t=(t|0)<(r|0)?r:(t|0)>(d|0)?d:t;r=t+q|0;b[p>>1]=r>>>0<1024?r:0-r>>31&1023;t=s-t|0;b[l>>1]=t>>>0<1024?t:0-t>>31&1023}k=k+1|0;l=l+(z<<1)|0}}while(0);c=c+(x<<1)|0;u=u+1|0}return}function wk(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=d>>1;y=f<<1;w=g<<1;x=z<<2;u=0;while(1){if((u|0)==4)break;d=a[h+u>>0]|0;v=d<<24>>24<<1;a:do if(d<<24>>24>=0){m=d<<24>>24==0;n=v|1;o=0-v|0;k=0;l=c;while(1){if((k|0)==4)break a;p=l+-2|0;q=e[p>>1]|0;d=l+-4|0;r=e[d>>1]|0;f=e[l+-6>>1]|0;s=e[l>>1]|0;i=l+2|0;t=e[i>>1]|0;j=e[l+4>>1]|0;g=q-s|0;if(((((g|0)>-1?g:0-g|0)|0)<(y|0)?(g=r-q|0,(((g|0)>-1?g:0-g|0)|0)<(w|0)):0)?(g=t-s|0,(((g|0)>-1?g:0-g|0)|0)<(w|0)):0){g=f-q|0;g=(((g|0)>-1?g:0-g|0)|0)>=(w|0);if(m|g)d=g?v:n;else{g=((((q+1+s|0)>>>1)+f|0)>>>1)-r|0;b[d>>1]=((g|0)<(o|0)?o:(g|0)>(v|0)?v:g)+r;d=n}g=j-s|0;if((((g|0)>-1?g:0-g|0)|0)<(w|0)){if(!m){j=((((q+1+s|0)>>>1)+j|0)>>>1)-t|0;b[i>>1]=((j|0)<(o|0)?o:(j|0)>(v|0)?v:j)+t}d=d+1|0}t=r+4-t+(s-q<<2)>>3;r=0-d|0;t=(t|0)<(r|0)?r:(t|0)>(d|0)?d:t;r=t+q|0;b[p>>1]=r>>>0<512?r:0-r>>31&511;t=s-t|0;b[l>>1]=t>>>0<512?t:0-t>>31&511}k=k+1|0;l=l+(z<<1)|0}}while(0);c=c+(x<<1)|0;u=u+1|0}return}function xk(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;k=(c[g>>2]|0)+e|0;m=a+8|0;e=c[m>>2]|0;l=e+1|0;k=(k|0)>(l|0)?l:k;l=a+32|0;do if((c[l>>2]|0)<=-1){e=nm(b,e<<1|1)|0;if((e|0)>=0){i=d+260|0;j=a+84|0;h=c[g>>2]|0;while(1){if((h|0)>=(k|0))break;e=0;while(1){if((e|0)>=(c[i>>2]|0))break;n=c[j>>2]|0;o=(c[b+(e<<2)>>2]|0)+(H((c[m>>2]|0)+h|0,n)|0)|0;Mn(o|0,(c[d+(e<<2)>>2]|0)+(H(h-(c[g>>2]|0)|0,n)|0)|0,n|0)|0;e=e+1|0}h=h+1|0}e=c[m>>2]|0;if((k|0)<=(e|0)){c[g>>2]=k;c[f>>2]=c[m>>2];e=2147483647;break}h=1;while(1){if((h|0)>(e|0))break;e=0;while(1){if((e|0)>=(c[i>>2]|0))break;d=c[b+(e<<2)>>2]|0;n=c[m>>2]|0;o=c[j>>2]|0;Mn(d+(H(n-h|0,o)|0)|0,d+(H(n+h|0,o)|0)|0,o|0)|0;e=e+1|0}h=h+1|0;e=c[m>>2]|0}d=c[g>>2]|0;c[f>>2]=e;e=a+48|0;h=c[l>>2]|0;while(1){if((h|0)>=0)break;c[f>>2]=(c[f>>2]|0)+-1;h=(c[l>>2]|0)+(c[e>>2]|0)|0;c[l>>2]=h}e=k-d|0;o=c[m>>2]|0;n=o+(c[g>>2]|0)|0;o=o<<1|1;c[g>>2]=((n|0)>(o|0)?n:o)-(c[f>>2]|0);e=(e|0)>0?e:0}}else e=0;while(0);return e|0}function yk(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,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=Mb;Mb=Mb+32|0;r=w+24|0;t=w+16|0;s=w+8|0;q=w;if(!b)l=0;else l=c[b>>2]|0;AL(g,0,1);p=g+1024|0;AL(p,0,1);j=g+2048|0;AL(j,0,1);v=g+3072|0;AL(v,0,65536);k=(i|0)!=0;if(k){c[i+4>>2]=16;c[i>>2]=16}if((l|0)!=0&(c[h>>2]|0)!=0){m=c[l+20>>2]|0;do if(((m|0)!=0?(n=c[b+m>>2]|0,(n|0)!=0):0)?(o=c[n>>2]|0,(o|0)!=0):0){o=Vb[c[o+4>>2]&31](n)|0;c[q>>2]=o;c[q+4>>2]=n;Bz(g,211625,q);if(k){u=nE(n)|0;c[i>>2]=u;u=11;break}else{q=Vb[c[l+4>>2]&31](b)|0;c[t>>2]=q;c[t+4>>2]=b;Bz(p,211625,t);break}}else u=11;while(0);if((u|0)==11?(u=Vb[c[l+4>>2]&31](b)|0,c[s>>2]=u,c[s+4>>2]=b,Bz(p,211625,s),k):0){u=nE(b)|0;c[i+4>>2]=u}if(0){u=FE(d)|0;c[r>>2]=u;Bz(j,211636,r)}}mz(v,e,f);if(!((((a[c[g>>2]>>0]|0)==0?(a[c[p>>2]>>0]|0)==0:0)?(a[c[j>>2]>>0]|0)==0:0)?!(a[c[v>>2]>>0]|0):0)){b=c[g+3076>>2]|0;if((b|0)!=0?b>>>0<=(c[g+3080>>2]|0)>>>0:0)b=a[(c[v>>2]|0)+(b+-1)>>0]|0;else b=0;c[h>>2]=(b<<24>>24==10|b<<24>>24==13)&1}Mb=w;return}function zk(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;r=Mb;Mb=Mb+48|0;m=r+32|0;l=r+24|0;k=r+16|0;j=r+8|0;i=r;g=HG(b,4)|0;q=a+4|0;h=c[q>>2]|0;if(c[h+680>>2]&256|0){c[i>>2]=g;c[i+4>>2]=d;AD(h,48,196397,i)}switch(g|0){case 14:{i=1;p=5;break}case 13:{i=0;p=5;break}case 11:{d=kt(a+16|0,b)|0;break}case 0:{Dv(a,b,(d<<3)+-4|0);break}default:fS(b,(d<<3)+-4|0)}a:do if((p|0)==5){if(!e){AD(c[q>>2]|0,16,196424,j);break}if(c[a+6516>>2]|0){g=a+6740|0;if(!(c[g>>2]|0))sU(c[q>>2]|0,196473,k);c[g>>2]=1;fS(b,(d<<3)+-4|0);break}h=a+6488|0;switch(c[h>>2]|0){case 0:{AD(c[q>>2]|0,16,196499,l);fS(b,(d<<3)+-4|0);break a}case -1:{p=13;break}default:{}}if((p|0)==13?(c[a+6728>>2]|0)==4:0){AD(c[q>>2]|0,16,196563,m);fS(b,(d<<3)+-4|0);break}g=a+6512|0;if(((c[g>>2]|0)==-1?(n=c[a+6728>>2]|0,n>>>0<4):0)?(o=c[q>>2]|0,(c[o+420>>2]|0)==1):0){c[h>>2]=1;c[g>>2]=1;c[o+828>>2]=28;$i(a,a+6520|0,c[a+6712>>2]|0,n,1)|0}else{c[h>>2]=1;c[(c[q>>2]|0)+828>>2]=4}d=gr(a,e+156512|0,b,i,d,f)|0}while(0);Mb=r;return d|0}function Ak(c,f,g,h,i){c=c|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,u=0,v=0;v=Mb;Mb=Mb+16|0;u=v;j=0-i|0;if(!g){m=d[c+j>>0]|0;j=m}else{j=d[c+j>>0]|0;m=d[c+~i>>0]|0}k=d[c+(1-i)>>0]|0;l=k+2|0;n=d[c+(2-i)>>0]|0;o=n+2|0;p=d[c+(3-i)>>0]|0;q=d[c+(4-i)>>0]|0;r=d[c+(5-i)>>0]|0;s=d[c+(6-i)>>0]|0;t=d[c+(7-i)>>0]|0;if(!h)g=t;else g=d[c+(8-i)>>0]|0;a[u>>0]=(l+m+(j<<1)|0)>>>2;a[u+1>>0]=(o+j+(k<<1)|0)>>>2;a[u+2>>0]=(l+(n<<1)+p|0)>>>2;a[u+3>>0]=(o+(p<<1)+q|0)>>>2;a[u+4>>0]=(p+2+(q<<1)+r|0)>>>2;a[u+5>>0]=(q+2+(r<<1)+s|0)>>>2;a[u+6>>0]=(r+2+(s<<1)+t|0)>>>2;a[u+7>>0]=(s+2+(t<<1)+g|0)>>>2;l=i<<1;m=i*3|0;n=i<<2;o=i*5|0;p=i*6|0;q=i*7|0;k=0;g=c;j=f;while(1){if((k|0)==8)break;c=(e[j>>1]|0)+(d[u+k>>0]|0)|0;a[g>>0]=c;c=c+(e[j+16>>1]|0)|0;a[g+i>>0]=c;c=c+(e[j+32>>1]|0)|0;a[g+l>>0]=c;c=c+(e[j+48>>1]|0)|0;a[g+m>>0]=c;c=c+(e[j+64>>1]|0)|0;a[g+n>>0]=c;c=c+(e[j+80>>1]|0)|0;a[g+o>>0]=c;c=c+(e[j+96>>1]|0)|0;a[g+p>>0]=c;a[g+q>>0]=c+(e[j+112>>1]|0);k=k+1|0;g=g+1|0;j=j+2|0}g=f+128|0;do{b[f>>1]=0;f=f+2|0}while((f|0)<(g|0));Mb=v;return}function Bk(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;n=Mb;Mb=Mb+16|0;l=n+8|0;m=n;a:do if((c[d+48>>2]|0)!=5){k=mT(b)|0;c[a+34728>>2]=k;if(k){f=a+34752|0;g=a+34756|0;h=a+21824|0;d=0;b:while(1){if(d>>>0>=66){d=66;f=21;break a}k=JE(b)|0;c[a+33932+(d*12|0)>>2]=k;if((k|2|0)==3){j=c[f>>2]|0;j=j+-1-(PL(b)|0)|0;c[a+33932+(d*12|0)+4>>2]=(c[g>>2]|0)+-1&j}i=(k|0)==2;switch(k|0){case 2:case 3:case 4:case 6:{j=JE(b)|0;if(j>>>0>31){d=k;f=16;break b}if(!(j>>>0<16|(k|0)==4&(j|0)==16)){if(!i){d=k;f=16;break b}if((c[h>>2]|0)==3){d=2;f=16;break b}}c[a+33932+(d*12|0)+8>>2]=j;break}default:{if(k>>>0>6){f=18;break b}if(!k){f=21;break a}}}d=d+1|0}if((f|0)==16){c[m>>2]=d;AD(e,16,207261,m);d=-1;break}else if((f|0)==18){c[l>>2]=k;AD(e,16,207321,l);d=-1;break}}else{d=0;f=21}}else{q1(b);if(!(mT(b)|0))d=0;else{c[a+33932>>2]=6;c[a+33940>>2]=0;d=1}c[a+34728>>2]=1;f=21}while(0);if((f|0)==21){c[a+34724>>2]=d;d=0}Mb=n;return d|0}function Ck(c,e,f,g,h,i,j,k,l,m,n,o,p,q){c=c|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;A=Mb;Mb=Mb+8576|0;y=A;x=o+-1|0;t=20672+(x<<2)|0;z=j+7|0;u=i+3|0;v=20672+(x<<2)+1|0;w=20672+(x<<2)+2|0;x=20672+(x<<2)+3|0;s=y;f=f+(0-g)|0;r=0;while(1){if((r|0)>=(u|0))break;o=0;while(1){if((o|0)>=(q|0))break;C=H(d[f+(o+-1)>>0]|0,a[t>>0]|0)|0;C=(H(d[f+o>>0]|0,a[v>>0]|0)|0)+C|0;B=o+1|0;C=C+(H(d[f+B>>0]|0,a[w>>0]|0)|0)|0;C=C+(H(d[f+(o+2)>>0]|0,a[x>>0]|0)|0)&65535;b[s+(o<<1)>>1]=C;o=B}s=s+128|0;f=f+g|0;r=r+1|0}w=p+-1|0;t=20672+(w<<2)|0;u=20672+(w<<2)+1|0;v=20672+(w<<2)+2|0;w=20672+(w<<2)+3|0;s=m+1+n<<j+6;o=y+128|0;r=0;while(1){if((r|0)>=(i|0))break;f=0;while(1){if((f|0)>=(q|0))break;C=H(b[o+(f+-64<<1)>>1]|0,a[t>>0]|0)|0;C=(H(b[o+(f<<1)>>1]|0,a[u>>0]|0)|0)+C|0;C=C+(H(b[o+(f+64<<1)>>1]|0,a[v>>0]|0)|0)|0;C=H(C+(H(b[o+(f+128<<1)>>1]|0,a[w>>0]|0)|0)>>6,l)|0;C=(H(b[h+(f<<1)>>1]|0,k)|0)+s+C>>z;a[c+f>>0]=C>>>0>255?0-C>>31:C;f=f+1|0}h=h+128|0;c=c+e|0;o=o+128|0;r=r+1|0}Mb=A;return}function Dk(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,s=0;s=Mb;Mb=Mb+272|0;p=s+128|0;q=s+64|0;r=s;n=s+256|0;o=c[a+4916>>2]|0;My(q,e,g);My(r,f,g);hc[c[a+2960>>2]&255](p,q,r,8);k=a+1920|0;l=_b[c[a+6248>>2]&63](a,p,0,c[k>>2]|0,n)|0;c[a+16>>2]=l;m=(c[a+4312>>2]|0)==0;if(m){g=0;e=a+4940|0;f=a+4936|0;h=0}else{g=1;e=a+4924|0;f=a+4920|0;h=d[(c[a+4944>>2]|0)+((b[p>>1]|0)+256)>>0]|0}j=c[e>>2]|0;i=c[f>>2]|0;do if((l|0)>=(g|0)){f=0;while(1){c[n>>2]=g;if((g|0)==(l|0))break;e=b[p+(d[a+204+g>>0]<<1)>>1]|0;if(!(e<<16>>16))f=f+1|0;else{e=(e<<16>>16)+64|0;if(e>>>0<128)e=d[i+(e+(f<<7))>>0]|0;else e=o;f=0;h=e+h|0}g=g+1|0}e=d[a+204+l>>0]|0;c[n>>2]=e;e=(b[p+(e<<1)>>1]|0)+64|0;if(e>>>0<128){h=h+(d[j+(e+(f<<7))>>0]|0)|0;break}else{h=h+o|0;break}}while(0);do if((l|0)>-1)if(m){hc[c[a+6240>>2]&255](a,p,0,c[k>>2]|0);break}else{hc[c[a+6236>>2]&255](a,p,0,c[k>>2]|0);break}while(0);gc[c[a+2300>>2]&1023](r,8,p);a=_b[c[a+2404>>2]&63](0,r,q,8,8)|0;r=c[k>>2]|0;a=((H(H(h*109|0,r)|0,r)|0)+64>>7)+a|0;Mb=s;return a|0}function Ek(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,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=Mb;Mb=Mb+64|0;t=w+56|0;s=w+48|0;v=w+40|0;u=w+32|0;p=w+24|0;o=w+16|0;r=w;e=e0(c[b+80>>2]|0)|0;do if(e){n=(c[e+32>>2]|0)>8&1;q=a+4|0;m=c[q>>2]|0;c[r>>2]=c[a+5696>>2];AD(m,48,179071,r);m=e+5|0;j=e+6|0;k=a+7648|0;l=0;while(1){i=b+(l<<2)|0;if(!(c[i>>2]|0)){f=12;break}f=c[q>>2]|0;e=c[f+132>>2]|0;f=c[f+136>>2]|0;if((l+-1|0)>>>0<2){e=e>>(d[m>>0]|0);f=f>>(d[j>>0]|0)}oU(c[k>>2]|0);h=b+32+(l<<2)|0;g=e<<n;e=0;while(1){if((e|0)>=(f|0))break;x=(c[i>>2]|0)+(H(c[h>>2]|0,e)|0)|0;cs(c[k>>2]|0,x,g);e=e+1|0}oy(c[k>>2]|0,r);e=a+7652+(l<<4)|0;x=(AE(r,e,16)|0)==0;g=c[q>>2]|0;if(!x){f=11;break}c[o>>2]=l;AD(g,48,179114,o);YP(c[q>>2]|0,48,r);AD(c[q>>2]|0,48,179134,p);l=l+1|0}if((f|0)==11){c[u>>2]=l;AD(g,16,179137,u);YP(c[q>>2]|0,16,r);AD(c[q>>2]|0,16,179173,v);YP(c[q>>2]|0,16,e);AD(c[q>>2]|0,16,222312,s);e=-1094995529;break}else if((f|0)==12){AD(c[q>>2]|0,48,222312,t);e=0;break}}else e=-22;while(0);Mb=w;return e|0}function Fk(){var a=0,b=0,d=0;if(!(c[278115]|0)){c[278115]=1;c[278117]=978816;c[278119]=256;kd(1112464,8,20,77280,1,1,77312,1,1,0,0,0,4)|0;c[278121]=979840;c[278123]=8192;kd(1112480,13,36,77344,1,1,77392,1,1,0,0,0,4)|0;a=0;b=0;while(1){if((b|0)==4)break;c[1018160+(b<<4)+4>>2]=1012608+(a<<2);d=c[77440+(b<<2)>>2]|0;c[1018160+(b<<4)+12>>2]=d;kd(1018160+(b<<4)|0,8,68,77456+(b*68|0)|0,1,1,77728+(b*68|0)|0,1,1,0,0,0,4)|0;a=d+a|0;b=b+1|0}a=0;while(1){if((a|0)==3)break;d=a+1|0;c[1018320+(d<<4)+4>>2]=1018224+(a<<5);c[1018320+(d<<4)+12>>2]=8;kd(1018320+(d<<4)|0,3,4,205095+(a<<2)|0,1,1,205107+(a<<2)|0,1,1,0,0,0,4)|0;a=d}a=0;while(1){if((a|0)==7)break;d=a+1|0;c[1019280+(d<<4)+4>>2]=1018384+(a<<7);c[1019280+(d<<4)+12>>2]=32;kd(1019280+(d<<4)|0,5,8,78e3+(a<<3)|0,1,1,78064+(a<<3)|0,1,1,0,0,0,4)|0;a=d}a=0;while(1){if((a|0)==15)break;d=a+1|0;c[1050128+(d<<4)+4>>2]=1019408+(a<<11);c[1050128+(d<<4)+12>>2]=512;kd(1050128+(d<<4)|0,9,16,78128+(a<<4)|0,1,1,78384+(a<<4)|0,1,1,0,0,0,4)|0;a=d}a=0;while(1){if((a|0)==6)break;d=a+1|0;c[1050576+(d<<4)+4>>2]=1050384+(a<<5);c[1050576+(d<<4)+12>>2]=8;kd(1050576+(d<<4)|0,3,7,78640+(a<<4)|0,1,1,78752+(a<<4)|0,1,1,0,0,0,4)|0;a=d}c[278125]=1050688;c[278127]=96;kd(1112496,6,16,78736,1,1,78848,1,1,0,0,0,4)|0;yu()}return}function Gk(c,d,f,g,h,i,j,k,l,m,n){c=c|0;d=d|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;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;y=Mb;Mb=Mb+8576|0;x=y;v=g>>>1;u=l+-1|0;q=20672+(u<<2)|0;w=i+1|0;r=h+3|0;s=20672+(u<<2)+1|0;t=20672+(u<<2)+2|0;u=20672+(u<<2)+3|0;o=x;p=0;l=f+(0-v<<1)|0;while(1){if((p|0)>=(r|0))break;g=0;while(1){if((g|0)>=(n|0))break;z=H(e[l+(g+-1<<1)>>1]|0,a[q>>0]|0)|0;z=(H(e[l+(g<<1)>>1]|0,a[s>>0]|0)|0)+z|0;f=g+1|0;z=z+(H(e[l+(f<<1)>>1]|0,a[t>>0]|0)|0)|0;z=(z+(H(e[l+(g+2<<1)>>1]|0,a[u>>0]|0)|0)|0)>>>4&65535;b[o+(g<<1)>>1]=z;g=f}o=o+128|0;p=p+1|0;l=l+(v<<1)|0}v=d>>>1;u=i+2|0;t=1<<w;s=m+-1|0;f=20672+(s<<2)|0;p=k<<4;q=20672+(s<<2)+1|0;r=20672+(s<<2)+2|0;s=20672+(s<<2)+3|0;l=x+128|0;o=0;while(1){if((o|0)>=(h|0))break;g=0;while(1){if((g|0)>=(n|0))break;z=H(b[l+(g+-64<<1)>>1]|0,a[f>>0]|0)|0;z=(H(b[l+(g<<1)>>1]|0,a[q>>0]|0)|0)+z|0;z=z+(H(b[l+(g+64<<1)>>1]|0,a[r>>0]|0)|0)|0;z=((H(z+(H(b[l+(g+128<<1)>>1]|0,a[s>>0]|0)|0)>>6,j)|0)+t>>u)+p|0;b[c+(g<<1)>>1]=z>>>0<4096?z:0-z>>31&4095;g=g+1|0}c=c+(v<<1)|0;l=l+128|0;o=o+1|0}Mb=y;return}function Hk(c,d,f,g,h,i,j,k,l,m,n){c=c|0;d=d|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;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;y=Mb;Mb=Mb+8576|0;x=y;v=g>>>1;u=l+-1|0;q=20672+(u<<2)|0;w=i+3|0;r=h+3|0;s=20672+(u<<2)+1|0;t=20672+(u<<2)+2|0;u=20672+(u<<2)+3|0;o=x;p=0;l=f+(0-v<<1)|0;while(1){if((p|0)>=(r|0))break;g=0;while(1){if((g|0)>=(n|0))break;z=H(e[l+(g+-1<<1)>>1]|0,a[q>>0]|0)|0;z=(H(e[l+(g<<1)>>1]|0,a[s>>0]|0)|0)+z|0;f=g+1|0;z=z+(H(e[l+(f<<1)>>1]|0,a[t>>0]|0)|0)|0;z=(z+(H(e[l+(g+2<<1)>>1]|0,a[u>>0]|0)|0)|0)>>>2&65535;b[o+(g<<1)>>1]=z;g=f}o=o+128|0;p=p+1|0;l=l+(v<<1)|0}v=d>>>1;u=i+4|0;t=1<<w;s=m+-1|0;f=20672+(s<<2)|0;p=k<<2;q=20672+(s<<2)+1|0;r=20672+(s<<2)+2|0;s=20672+(s<<2)+3|0;l=x+128|0;o=0;while(1){if((o|0)>=(h|0))break;g=0;while(1){if((g|0)>=(n|0))break;z=H(b[l+(g+-64<<1)>>1]|0,a[f>>0]|0)|0;z=(H(b[l+(g<<1)>>1]|0,a[q>>0]|0)|0)+z|0;z=z+(H(b[l+(g+64<<1)>>1]|0,a[r>>0]|0)|0)|0;z=((H(z+(H(b[l+(g+128<<1)>>1]|0,a[s>>0]|0)|0)>>6,j)|0)+t>>u)+p|0;b[c+(g<<1)>>1]=z>>>0<1024?z:0-z>>31&1023;g=g+1|0}c=c+(v<<1)|0;l=l+128|0;o=o+1|0}Mb=y;return}function Ik(c,d,f,g,h,i,j,k,l,m,n){c=c|0;d=d|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;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;y=Mb;Mb=Mb+8576|0;x=y;v=g>>>1;u=l+-1|0;q=20672+(u<<2)|0;w=i+4|0;r=h+3|0;s=20672+(u<<2)+1|0;t=20672+(u<<2)+2|0;u=20672+(u<<2)+3|0;o=x;p=0;l=f+(0-v<<1)|0;while(1){if((p|0)>=(r|0))break;g=0;while(1){if((g|0)>=(n|0))break;z=H(e[l+(g+-1<<1)>>1]|0,a[q>>0]|0)|0;z=(H(e[l+(g<<1)>>1]|0,a[s>>0]|0)|0)+z|0;f=g+1|0;z=z+(H(e[l+(f<<1)>>1]|0,a[t>>0]|0)|0)|0;z=(z+(H(e[l+(g+2<<1)>>1]|0,a[u>>0]|0)|0)|0)>>>1&65535;b[o+(g<<1)>>1]=z;g=f}o=o+128|0;p=p+1|0;l=l+(v<<1)|0}v=d>>>1;u=i+5|0;t=1<<w;s=m+-1|0;f=20672+(s<<2)|0;p=k<<1;q=20672+(s<<2)+1|0;r=20672+(s<<2)+2|0;s=20672+(s<<2)+3|0;l=x+128|0;o=0;while(1){if((o|0)>=(h|0))break;g=0;while(1){if((g|0)>=(n|0))break;z=H(b[l+(g+-64<<1)>>1]|0,a[f>>0]|0)|0;z=(H(b[l+(g<<1)>>1]|0,a[q>>0]|0)|0)+z|0;z=z+(H(b[l+(g+64<<1)>>1]|0,a[r>>0]|0)|0)|0;z=((H(z+(H(b[l+(g+128<<1)>>1]|0,a[s>>0]|0)|0)>>6,j)|0)+t>>u)+p|0;b[c+(g<<1)>>1]=z>>>0<512?z:0-z>>31&511;g=g+1|0}c=c+(v<<1)|0;l=l+128|0;o=o+1|0}Mb=y;return}function Jk(b,e,f,g,h,i,j){b=b|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;s=Mb;Mb=Mb+32|0;r=s+16|0;o=s+8|0;k=s;a:do if((b|0)==0|(e|0)<1)e=-1;else do if((a[b>>0]|0)==1){c[g>>2]=1;if((e|0)<7){c[k>>2]=e;AD(j,16,206016,k);e=-1094995529;break a}k=a[b+5>>0]&31;q=b+e|0;n=b+6|0;g=0;while(1){if(g>>>0>=k>>>0)break;l=((X0(d[n>>0]|d[n+1>>0]<<8|0)|0)&65535)+2|0;if((l|0)>(q-n|0)){e=-1094995529;break a}m=Bj(n,l,f,i,j)|0;if((m|0)<0){p=9;break}n=n+l|0;g=g+1|0}if((p|0)==9){c[o>>2]=g;AD(j,16,206035,o);e=m;break a}m=d[n>>0]|0;g=n+1|0;l=0;while(1){if(l>>>0>=m>>>0){p=17;break}k=((X0(d[g>>0]|d[g+1>>0]<<8|0)|0)&65535)+2|0;if((k|0)>(q-g|0)){e=-1094995529;break a}n=Bj(g,k,f,i,j)|0;if((n|0)<0){p=15;break}g=g+k|0;l=l+1|0}if((p|0)==15){c[r>>2]=l;AD(j,16,206069,r);e=n;break a}else if((p|0)==17){c[h>>2]=(a[b+4>>0]&3)+1&255;break}}else{c[g>>2]=0;g=Ps(b,e,f,0,j)|0;if((g|0)<0){e=g;break a}}while(0);while(0);Mb=s;return e|0}function Kk(a,d,f,g,h){a=a|0;d=d|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;k=h>>1;i=d;j=0;f=f+(0-(h&-2)<<1)|0;while(1){if((j|0)==9)break;q=e[f>>1]|0;l=e[f+2>>1]|0;o=e[f+-2>>1]|0;h=e[f+4>>1]|0;p=H(h+o|0,-5)|0;m=e[f+6>>1]|0;c[i>>2]=((l+q|0)*20|0)+(e[f+-4>>1]|0)+p+m;p=H(m+q|0,-5)|0;n=e[f+8>>1]|0;c[i+4>>2]=((h+l|0)*20|0)+o+p+n;p=H(n+l|0,-5)|0;o=e[f+10>>1]|0;c[i+8>>2]=((m+h|0)*20|0)+q+p+o;h=H(o+h|0,-5)|0;c[i+12>>2]=((n+m|0)*20|0)+l+h+(e[f+12>>1]|0);i=i+32|0;j=j+1|0;f=f+(k<<1)|0}k=g>>1;i=g&-2;j=k*3|0;f=d+64|0;h=0;while(1){if((h|0)==4)break;g=c[f+-32>>2]|0;d=c[f>>2]|0;l=c[f+32>>2]|0;q=c[f+64>>2]|0;o=c[f+96>>2]|0;n=c[f+128>>2]|0;p=c[f+160>>2]|0;m=c[f+192>>2]|0;r=(c[f+-64>>2]|0)+512+o+((l+d|0)*20|0)+(H(q+g|0,-5)|0)>>10;b[a>>1]=r>>>0<16384?r:0-r>>31&16383;g=g+512+n+((q+l|0)*20|0)+(H(o+d|0,-5)|0)>>10;b[a+(k<<1)>>1]=g>>>0<16384?g:0-g>>31&16383;d=d+512+p+((o+q|0)*20|0)+(H(n+l|0,-5)|0)>>10;b[a+(i<<1)>>1]=d>>>0<16384?d:0-d>>31&16383;q=l+512+m+((n+o|0)*20|0)+(H(p+q|0,-5)|0)>>10;b[a+(j<<1)>>1]=q>>>0<16384?q:0-q>>31&16383;a=a+2|0;f=f+4|0;h=h+1|0}return}function Lk(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;w=H(c,-3)|0;x=H(c,-2)|0;y=0-c|0;z=c<<1;A=(e>>2)+2|0;u=H(c,-4)|0;v=c*3|0;m=0;while(1){if((m|0)==16)break;g=b+w|0;h=d[g>>0]|0;i=b+x|0;n=d[i>>0]|0;k=b+y|0;o=d[k>>0]|0;p=d[b>>0]|0;q=b+c|0;r=d[q>>0]|0;s=b+z|0;t=d[s>>0]|0;j=o-p|0;j=(j|0)>-1?j:0-j|0;do if(((j|0)<(e|0)?(l=n-o|0,(((l|0)>-1?l:0-l|0)|0)<(f|0)):0)?(l=r-p|0,(((l|0)>-1?l:0-l|0)|0)<(f|0)):0){if((j|0)>=(A|0)){a[k>>0]=(o+2+(n<<1)+r|0)>>>2;a[b>>0]=(p+2+n+(r<<1)|0)>>>2;break}l=h-o|0;if((((l|0)>-1?l:0-l|0)|0)<(f|0)){B=d[b+u>>0]|0;j=p+o|0;a[k>>0]=(r+4+h+(j+n<<1)|0)>>>3;a[i>>0]=(o+2+h+n+p|0)>>>2;l=n+4+(h*3|0)|0;h=3;i=B<<1}else{l=o+2|0;g=k;h=2;i=r;j=n<<1}a[g>>0]=(l+j+i|0)>>>h;B=t-p|0;if((((B|0)>-1?B:0-B|0)|0)<(f|0)){B=d[b+v>>0]|0;l=p+o+r|0;a[b>>0]=(n+4+t+(l<<1)|0)>>>3;a[q>>0]=(o+2+p+r+t|0)>>>2;a[s>>0]=(l+4+(t*3|0)+(B<<1)|0)>>>3;break}else{a[b>>0]=(p+2+n+(r<<1)|0)>>>2;break}}while(0);b=b+1|0;m=m+1|0}return}function Mk(a,d,f,g,h,i,j,k,l,m,n,o){a=a|0;d=d|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,r=0;p=h+112+(l*10|0)|0;h=c[h+100+(l<<2)>>2]|0;l=f>>>1;f=g>>>1;if((h|0)!=1){a:do if(!(c[i>>2]|0))n=0;else{o=b[p>>1]|0;n=0;while(1){if((n|0)>=(k|0)){n=1;break a}m=d+((H(n,f)|0)<<1)|0;m=(e[m>>1]|0)+o|0;g=a+((H(n,l)|0)<<1)|0;b[g>>1]=m>>>0<4096?m:0-m>>31&4095;n=n+1|0}}while(0);b:do if(c[i+8>>2]|0){m=b[p>>1]|0;j=j+-1|0;o=0;while(1){if((o|0)>=(k|0))break b;r=d+((H(o,f)|0)+j<<1)|0;r=(e[r>>1]|0)+m|0;g=a+((H(o,l)|0)+j<<1)|0;b[g>>1]=r>>>0<4096?r:0-r>>31&4095;o=o+1|0}}while(0);if(h|0){h=j;q=11}}else{h=j;n=0;q=11}c:do if((q|0)==11){d:do if(c[i+4>>2]|0){o=b[p>>1]|0;j=n;while(1){if((j|0)>=(h|0))break d;r=(e[d+(j<<1)>>1]|0)+o|0;b[a+(j<<1)>>1]=r>>>0<4096?r:0-r>>31&4095;j=j+1|0}}while(0);if(c[i+12>>2]|0){m=b[p>>1]|0;j=k+-1|0;o=H(j,l)|0;j=H(j,f)|0;while(1){if((n|0)>=(h|0))break c;r=(e[d+(n+j<<1)>>1]|0)+m|0;b[a+(n+o<<1)>>1]=r>>>0<4096?r:0-r>>31&4095;n=n+1|0}}}while(0);return}function Nk(a,d,f,g,h,i,j,k,l,m,n,o){a=a|0;d=d|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,r=0;p=h+112+(l*10|0)|0;h=c[h+100+(l<<2)>>2]|0;l=f>>>1;f=g>>>1;if((h|0)!=1){a:do if(!(c[i>>2]|0))n=0;else{o=b[p>>1]|0;n=0;while(1){if((n|0)>=(k|0)){n=1;break a}m=d+((H(n,f)|0)<<1)|0;m=(e[m>>1]|0)+o|0;g=a+((H(n,l)|0)<<1)|0;b[g>>1]=m>>>0<1024?m:0-m>>31&1023;n=n+1|0}}while(0);b:do if(c[i+8>>2]|0){m=b[p>>1]|0;j=j+-1|0;o=0;while(1){if((o|0)>=(k|0))break b;r=d+((H(o,f)|0)+j<<1)|0;r=(e[r>>1]|0)+m|0;g=a+((H(o,l)|0)+j<<1)|0;b[g>>1]=r>>>0<1024?r:0-r>>31&1023;o=o+1|0}}while(0);if(h|0){h=j;q=11}}else{h=j;n=0;q=11}c:do if((q|0)==11){d:do if(c[i+4>>2]|0){o=b[p>>1]|0;j=n;while(1){if((j|0)>=(h|0))break d;r=(e[d+(j<<1)>>1]|0)+o|0;b[a+(j<<1)>>1]=r>>>0<1024?r:0-r>>31&1023;j=j+1|0}}while(0);if(c[i+12>>2]|0){m=b[p>>1]|0;j=k+-1|0;o=H(j,l)|0;j=H(j,f)|0;while(1){if((n|0)>=(h|0))break c;r=(e[d+(n+j<<1)>>1]|0)+m|0;b[a+(n+o<<1)>>1]=r>>>0<1024?r:0-r>>31&1023;n=n+1|0}}}while(0);return}function Ok(a,d,f,g,h){a=a|0;d=d|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;k=h>>1;i=d;j=0;f=f+(0-(h&-2)<<1)|0;while(1){if((j|0)==9)break;q=e[f>>1]|0;l=e[f+2>>1]|0;o=e[f+-2>>1]|0;h=e[f+4>>1]|0;p=H(h+o|0,-5)|0;m=e[f+6>>1]|0;c[i>>2]=((l+q|0)*20|0)+(e[f+-4>>1]|0)+p+m;p=H(m+q|0,-5)|0;n=e[f+8>>1]|0;c[i+4>>2]=((h+l|0)*20|0)+o+p+n;p=H(n+l|0,-5)|0;o=e[f+10>>1]|0;c[i+8>>2]=((m+h|0)*20|0)+q+p+o;h=H(o+h|0,-5)|0;c[i+12>>2]=((n+m|0)*20|0)+l+h+(e[f+12>>1]|0);i=i+32|0;j=j+1|0;f=f+(k<<1)|0}k=g>>1;i=g&-2;j=k*3|0;f=d+64|0;h=0;while(1){if((h|0)==4)break;g=c[f+-32>>2]|0;d=c[f>>2]|0;l=c[f+32>>2]|0;q=c[f+64>>2]|0;o=c[f+96>>2]|0;n=c[f+128>>2]|0;p=c[f+160>>2]|0;m=c[f+192>>2]|0;r=(c[f+-64>>2]|0)+512+o+((l+d|0)*20|0)+(H(q+g|0,-5)|0)>>10;b[a>>1]=r>>>0<4096?r:0-r>>31&4095;g=g+512+n+((q+l|0)*20|0)+(H(o+d|0,-5)|0)>>10;b[a+(k<<1)>>1]=g>>>0<4096?g:0-g>>31&4095;d=d+512+p+((o+q|0)*20|0)+(H(n+l|0,-5)|0)>>10;b[a+(i<<1)>>1]=d>>>0<4096?d:0-d>>31&4095;q=l+512+m+((n+o|0)*20|0)+(H(p+q|0,-5)|0)>>10;b[a+(j<<1)>>1]=q>>>0<4096?q:0-q>>31&4095;a=a+2|0;f=f+4|0;h=h+1|0}return}function Pk(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,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=c<<1;w=0;while(1){if((w|0)==4)break;h=a[g+w>>0]|0;x=h<<24>>24;a:do if(h<<24>>24>=0){o=h<<24>>24==0;p=x+1|0;q=0-x|0;m=0;n=b;while(1){if((m|0)==2)break a;r=n+-1|0;s=d[r>>0]|0;h=n+-2|0;t=d[h>>0]|0;i=d[n+-3>>0]|0;u=d[n>>0]|0;k=n+1|0;v=d[k>>0]|0;l=d[n+2>>0]|0;j=s-u|0;if(((((j|0)>-1?j:0-j|0)|0)<(e|0)?(j=t-s|0,(((j|0)>-1?j:0-j|0)|0)<(f|0)):0)?(j=v-u|0,(((j|0)>-1?j:0-j|0)|0)<(f|0)):0){j=i-s|0;j=(((j|0)>-1?j:0-j|0)|0)>=(f|0);if(o|j)h=j?x:p;else{j=((((s+1+u|0)>>>1)+i|0)>>>1)-t|0;a[h>>0]=((j|0)<(q|0)?q:(j|0)>(x|0)?x:j)+t;h=p}j=l-u|0;if((((j|0)>-1?j:0-j|0)|0)<(f|0)){if(!o){l=((((s+1+u|0)>>>1)+l|0)>>>1)-v|0;a[k>>0]=((l|0)<(q|0)?q:(l|0)>(x|0)?x:l)+v}h=h+1|0}v=t+4-v+(u-s<<2)>>3;t=0-h|0;v=(v|0)<(t|0)?t:(v|0)>(h|0)?h:v;t=v+s|0;a[r>>0]=t>>>0>255?0-t>>31:t;v=u-v|0;a[n>>0]=v>>>0>255?0-v>>31:v}m=m+1|0;n=n+c|0}}while(0);b=b+y|0;w=w+1|0}return}function Qk(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;p=a+4|0;e=c[p>>2]|0;q=a+8|0;r=a+12|0;l=c[r>>2]|0;s=a+2|0;f=b[s>>1]|0;d=b[a>>1]|0;if(!(c[q>>2]|e|l|f)){s=d<<3&65528|d<<19;c[a>>2]=s;c[p>>2]=s;c[q>>2]=s;c[r>>2]=s}else{o=(d*16383|0)+1024|0;h=e<<16>>16;j=h*21407|0;d=j+o|0;h=h*8867|0;g=h+o|0;h=o-h|0;j=o-j|0;o=a+6|0;e=b[o>>1]|0;m=(e*19266|0)+(f*22725|0)|0;k=(H(e,-4520)|0)+(f*19266|0)|0;i=(H(e,-22725)|0)+(f*12873|0)|0;e=(H(e,-12873)|0)+(f*4520|0)|0;n=q;f=c[n>>2]|0;if((f|0)==0&(c[n+4>>2]|0)==0){n=e;l=m;e=a+10|0;f=a+14|0}else{x=f<<16>>16;v=x*16383|0;w=l<<16>>16;u=w*8867|0;x=H(x,-16383)|0;w=w*21407|0;t=a+10|0;y=b[t>>1]|0;f=a+14|0;l=b[f>>1]|0;n=(y*19266|0)+e+(H(l,-22725)|0)|0;i=(y*4520|0)+i+(l*19266|0)|0;k=(H(y,-22725)|0)+k+(H(l,-12873)|0)|0;l=(y*12873|0)+m+(l*4520|0)|0;j=v+j-u|0;h=x+h+w|0;g=x+g-w|0;d=v+d+u|0;e=t}b[a>>1]=(l+d|0)>>>11;b[f>>1]=(d-l|0)>>>11;b[s>>1]=(k+g|0)>>>11;b[r>>1]=(g-k|0)>>>11;b[p>>1]=(i+h|0)>>>11;b[e>>1]=(h-i|0)>>>11;b[o>>1]=(n+j|0)>>>11;b[q>>1]=(j-n|0)>>>11}return}function Rk(a,d,f,g,h,i,j,k,l,m,n,o){a=a|0;d=d|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,r=0;p=h+112+(l*10|0)|0;h=c[h+100+(l<<2)>>2]|0;l=f>>>1;f=g>>>1;if((h|0)!=1){a:do if(!(c[i>>2]|0))n=0;else{o=b[p>>1]|0;n=0;while(1){if((n|0)>=(k|0)){n=1;break a}m=d+((H(n,f)|0)<<1)|0;m=(e[m>>1]|0)+o|0;g=a+((H(n,l)|0)<<1)|0;b[g>>1]=m>>>0<512?m:0-m>>31&511;n=n+1|0}}while(0);b:do if(c[i+8>>2]|0){m=b[p>>1]|0;j=j+-1|0;o=0;while(1){if((o|0)>=(k|0))break b;r=d+((H(o,f)|0)+j<<1)|0;r=(e[r>>1]|0)+m|0;g=a+((H(o,l)|0)+j<<1)|0;b[g>>1]=r>>>0<512?r:0-r>>31&511;o=o+1|0}}while(0);if(h|0){h=j;q=11}}else{h=j;n=0;q=11}c:do if((q|0)==11){d:do if(c[i+4>>2]|0){o=b[p>>1]|0;j=n;while(1){if((j|0)>=(h|0))break d;r=(e[d+(j<<1)>>1]|0)+o|0;b[a+(j<<1)>>1]=r>>>0<512?r:0-r>>31&511;j=j+1|0}}while(0);if(c[i+12>>2]|0){m=b[p>>1]|0;j=k+-1|0;o=H(j,l)|0;j=H(j,f)|0;while(1){if((n|0)>=(h|0))break c;r=(e[d+(n+j<<1)>>1]|0)+m|0;b[a+(n+o<<1)>>1]=r>>>0<512?r:0-r>>31&511;n=n+1|0}}}while(0);return}function Sk(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=Mb;Mb=Mb+16|0;l=m+8|0;j=m;i=0;g=c[e+1164>>2]|0;while(1){h=(g|0)!=0;if((i|0)==32)break;if(!(h?(c[g+20>>2]|0)!=0:0)){h=c[e+(i<<2)>>2]|0;if(h)g=c[h+4>>2]|0}i=i+1|0}do if(h){if(!((c[g+1152>>2]|0)==0?!(c[g+1156>>2]|0):0)){k=rO(b,c[g+1176>>2]|0)|0;c[a+16>>2]=k;k=rO(b,c[g+1180>>2]|0)|0;c[a+12>>2]=k}if(c[g+1160>>2]|0){h=HG(b,4)|0;j=a+4|0;c[j>>2]=h;k=a+8|0;c[k>>2]=0;if(h>>>0>8){g=-1094995529;break}e=d[174119+h>>0]|0;h=g+1164|0;g=0;while(1){if((g|0)==(e|0))break;if(HG(b,1)|0){i=1<<(HG(b,2)|0);c[k>>2]=c[k>>2]|i;eW(b,1);eW(b,5);i=HG(b,1)|0;eW(b,1);eW(b,1);eW(b,8);if(!i){if((HG(b,1)|0?(eW(b,6),HG(b,1)|0):0)?(eW(b,6),HG(b,1)|0):0)eW(b,5)}else{eW(b,6);eW(b,6);eW(b,5)}i=c[h>>2]|0;if((i|0)>0)eW(b,i)}g=g+1|0}b=c[j>>2]|0;c[l>>2]=c[k>>2];c[l+4>>2]=b;AD(f,48,174128,l)}c[a>>2]=1;g=0}else{AD(f,16,174077,j);g=-1397768184}while(0);Mb=m;return g|0}function Tk(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,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=c<<2;w=0;while(1){if((w|0)==4)break;h=a[g+w>>0]|0;x=h<<24>>24;a:do if(h<<24>>24>=0){o=h<<24>>24==0;p=x+1|0;q=0-x|0;m=0;n=b;while(1){if((m|0)==4)break a;r=n+-1|0;s=d[r>>0]|0;h=n+-2|0;t=d[h>>0]|0;i=d[n+-3>>0]|0;u=d[n>>0]|0;k=n+1|0;v=d[k>>0]|0;l=d[n+2>>0]|0;j=s-u|0;if(((((j|0)>-1?j:0-j|0)|0)<(e|0)?(j=t-s|0,(((j|0)>-1?j:0-j|0)|0)<(f|0)):0)?(j=v-u|0,(((j|0)>-1?j:0-j|0)|0)<(f|0)):0){j=i-s|0;j=(((j|0)>-1?j:0-j|0)|0)>=(f|0);if(o|j)h=j?x:p;else{j=((((s+1+u|0)>>>1)+i|0)>>>1)-t|0;a[h>>0]=((j|0)<(q|0)?q:(j|0)>(x|0)?x:j)+t;h=p}j=l-u|0;if((((j|0)>-1?j:0-j|0)|0)<(f|0)){if(!o){l=((((s+1+u|0)>>>1)+l|0)>>>1)-v|0;a[k>>0]=((l|0)<(q|0)?q:(l|0)>(x|0)?x:l)+v}h=h+1|0}v=t+4-v+(u-s<<2)>>3;t=0-h|0;v=(v|0)<(t|0)?t:(v|0)>(h|0)?h:v;t=v+s|0;a[r>>0]=t>>>0>255?0-t>>31:t;v=u-v|0;a[n>>0]=v>>>0>255?0-v>>31:v}m=m+1|0;n=n+c|0}}while(0);b=b+y|0;w=w+1|0}return}function Uk(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;m=Mb;Mb=Mb+32|0;l=m+16|0;f=m;k=c[(c[a+64>>2]|0)+16>>2]|0;h=c[k+76>>2]|0;c[b+32>>2]=c[k+60>>2];g=(h|0)>8;if(g){i=DZ(h)|0;d=b+64|0;c[d>>2]=i;i=h+-8|0;c[b+284>>2]=i;i=DZ(i)|0;e=b+280|0;c[e>>2]=i;if((i|0)==0|(c[d>>2]|0)==0){bU(d);bU(e);d=-12}else{i=d;j=6}}else{e=b+64|0;c[e>>2]=b;if(!(c[b+284>>2]|0)){i=e;j=6}else{c[f>>2]=172103;c[f+4>>2]=171026;c[f+8>>2]=1375;AD(0,0,222515,f);ba()}}a:do if((j|0)==6){e=g?8:h;d=0;while(1){if((d|0)>=(e|0)){j=10;break}f=dz(c[k>>2]|0)|0;c[b+248+(d<<2)>>2]=f;if(!f)break;h=c[f+4>>2]|0;c[b+(d<<2)>>2]=h;c[(c[i>>2]|0)+(d<<2)>>2]=h;d=d+1|0}b:do if((j|0)==10){e=b+284|0;f=b+280|0;d=0;while(1){if((d|0)>=(c[e>>2]|0))break;g=dz(c[k>>2]|0)|0;c[(c[f>>2]|0)+(d<<2)>>2]=g;g=c[(c[f>>2]|0)+(d<<2)>>2]|0;if(!g)break b;c[(c[i>>2]|0)+(d+8<<2)>>2]=c[g+4>>2];d=d+1|0}if(!(c[a+680>>2]&32768)){d=0;break a}c[l>>2]=b;AD(a,48,172131,l);d=0;break a}while(0);jB(b);d=-12}while(0);Mb=m;return d|0}function Vk(b,c,e,f){b=b|0;c=c|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;if(!((b|0)==0&(c|0)==0)){if(!((e|0)==0&(f|0)==0)){o=_W(0,0,b|0,c|0)|0;o=MR(o&b|0,(M()|0)&c|0,-862635923,36691299)|0;o=kV(o|0,M()|0,58)|0;M()|0;o=a[94704+o>>0]|0;g=o&255;j=_W(0,0,e|0,f|0)|0;j=MR(j&e|0,(M()|0)&f|0,-862635923,36691299)|0;j=kV(j|0,M()|0,58)|0;M()|0;j=a[94704+j>>0]|0;h=j&255;i=g>>>0>h>>>0;o=BU(b|0,c|0,o&255|0)|0;m=M()|0;n=(m|0)>-1|(m|0)==-1&o>>>0>4294967295;b=_W(0,0,o|0,m|0)|0;l=M()|0;f=BU(e|0,f|0,j&255|0)|0;j=M()|0;k=(j|0)>-1|(j|0)==-1&f>>>0>4294967295;c=_W(0,0,f|0,j|0)|0;e=M()|0;b=n?o:b;c=k?f:c;f=n?m:l;e=k?j:e;while(1){if((b|0)==(c|0)&(f|0)==(e|0))break;k=(f|0)>(e|0)|(f|0)==(e|0)&b>>>0>c>>>0;m=k?c:b;o=k?e:f;k=_W((k?b:c)|0,(k?f:e)|0,m|0,o|0)|0;l=M()|0;n=_W(0,0,k|0,l|0)|0;n=MR(k&n|0,l&(M()|0)|0,-862635923,36691299)|0;n=kV(n|0,M()|0,58)|0;M()|0;n=BU(k|0,l|0,d[94704+n>>0]|0|0)|0;b=m;c=n;f=o;e=M()|0}b=_U(b|0,f|0,(i?h:g)|0)|0;c=M()|0}}else{c=f;b=e}L(c|0);return b|0}function Wk(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;l=8-g|0;k=8-h|0;m=H(k,l)|0;k=H(k,g)|0;l=H(l,h)|0;h=H(h,g)|0;a:do if(!h){j=k+l|0;if(!j){g=0;while(1){if((g|0)>=(f|0))break a;l=((H(m,d[c>>0]|0)|0)+32|0)>>>6&255;a[b>>0]=l;l=((H(m,d[c+1>>0]|0)|0)+32|0)>>>6&255;a[b+1>>0]=l;b=b+e|0;c=c+e|0;g=g+1|0}}else{h=(l|0)==0?1:e;i=h+1|0;g=0;while(1){if((g|0)>=(f|0))break a;l=H(m,d[c>>0]|0)|0;l=(l+32+(H(j,d[c+h>>0]|0)|0)|0)>>>6&255;a[b>>0]=l;l=H(m,d[c+1>>0]|0)|0;l=(l+32+(H(j,d[c+i>>0]|0)|0)|0)>>>6&255;a[b+1>>0]=l;b=b+e|0;g=g+1|0;c=c+e|0}}}else{i=e+1|0;j=e+2|0;g=0;while(1){if((g|0)>=(f|0))break a;s=H(m,d[c>>0]|0)|0;q=c+1|0;r=H(k,d[q>>0]|0)|0;n=c+e|0;p=H(l,d[n>>0]|0)|0;o=c+i|0;p=(s+32+r+p+(H(h,d[o>>0]|0)|0)|0)>>>6&255;a[b>>0]=p;q=H(m,d[q>>0]|0)|0;p=H(k,d[c+2>>0]|0)|0;o=H(l,d[o>>0]|0)|0;o=(q+32+p+o+(H(h,d[c+j>>0]|0)|0)|0)>>>6&255;a[b+1>>0]=o;b=b+e|0;g=g+1|0;c=n}}while(0);return}function Xk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=Mb;Mb=Mb+16|0;h=i;jv(a|0,0,1016)|0;c[a>>2]=166348;e=(b|0)!=0;a:do if(e){d=c[b+8>>2]|0;c[a+8>>2]=d;c[a+12>>2]=b;c[a+48>>2]=c[b+12>>2];switch(d|0){case 1:{d=8;break a}case 0:{d=16;break a}case 3:{d=32;break a}default:{f=6;break a}}}else{c[a+8>>2]=-1;f=6}while(0);if((f|0)==6)d=0;jg(a,d,d);c[a+108>>2]=0;c[a+112>>2]=1;c[a+880>>2]=0;c[a+884>>2]=1;c[a+892>>2]=0;c[a+896>>2]=1;c[a+472>>2]=11;c[a+156>>2]=9;c[a+816>>2]=6;c[a+820>>2]=1;c[a+228>>2]=0;c[a+232>>2]=1;c[a+144>>2]=-1;c[a+888>>2]=-1;c[a+424>>2]=-1;f=a+696|0;c[f>>2]=0;c[f+4>>2]=-2147483648;b:do if(e){e=c[b+52>>2]|0;if(e|0){f=a+60|0;d=c[f>>2]|0;if(!d){d=EZ(e)|0;c[f>>2]=d;if(!d){g=-12;break}}e=c[b+44>>2]|0;if(e|0){c[d>>2]=e;R0(c[f>>2]|0)}}d=c[b+68>>2]|0;if(d){while(1){e=c[d>>2]|0;if(!e){g=0;break b}if((me(a,e,c[d+4>>2]|0,0)|0)>-1)d=d+8|0;else break}c[h>>2]=200368;c[h+4>>2]=180809;c[h+8>>2]=143;AD(0,0,222515,h);ba()}else g=0}else g=0;while(0);Mb=i;return g|0}function Yk(a,e){a=a|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.0;o=Mb;Mb=Mb+32|0;m=o+16|0;i=o+8|0;h=o;j=d[e+22>>0]|0;k=(c[e+92>>2]|0)-j|0;c[e+310116>>2]=k;n=(k+1|0)>>>1;c[e+310112>>2]=n;l=e+310276|0;Mn(l|0,e+310128+(j<<1)|0,(k<<1)+2|0)|0;j=b[e+310276+(k<<1)>>1]|0;f=j&65535;l=b[l>>1]|0;g=l&65535;c[e+84>>2]=f-g;c[e+76>>2]=g;do if((j&65535)<=64){if((l&65535)>32){f=c[a+4>>2]|0;c[i>>2]=g;AD(f,16,199353,i);f=-1;break}j=e+310226|0;b[j>>1]=l;g=k&1;h=n+1|0;f=1;while(1){if((f|0)==(h|0))break;b[e+310226+(f<<1)>>1]=b[e+310276+((f<<1)-g<<1)>>1]|0;f=f+1|0}p=+(d[e+25>>0]|0);i=Q1(+qb(+(+((c[e+60>>2]|0)>>>0)/+(l&65535)))*p)|0;i=(i|0)>1?i:1;c[e+310120>>2]=i;if(i>>>0>5){f=c[a+4>>2]|0;c[m>>2]=i;AD(f,16,199390,m);f=-1;break}b[e+310374>>1]=b[j>>1]|0;h=i+1|0;f=0;g=1;while(1){if(g>>>0>i>>>0)break;m=(((n-f|0)>>>0)/((h-g|0)>>>0)|0)+f|0;b[e+310374+(g<<1)>>1]=b[e+310226+(m<<1)>>1]|0;f=m;g=g+1|0}if((Sj(a,e)|0)<0)f=-1;else{uf(e);c[e+88040>>2]=0;c[e+176008>>2]=0;f=0}}else{n=c[a+4>>2]|0;c[h>>2]=f;AD(n,16,199317,h);f=-1}while(0);Mb=o;return f|0}function Zk(a,b,d,e,g){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=g+(H(e,-3)|0)|0;while(1){if(a>>>0>=h>>>0)break;i=FU(+f[b>>2]*2147483648.0)|0;j=M()|0;k=aX(i|0,j|0,-2147483648,0)|0;l=M()|0;j=BU(i|0,j|0,63)|0;M()|0;c[a>>2]=l>>>0>0|(l|0)==0&k>>>0>4294967295?j^2147483647:i;i=b+d|0;j=a+e|0;k=FU(+f[i>>2]*2147483648.0)|0;l=M()|0;m=aX(k|0,l|0,-2147483648,0)|0;n=M()|0;l=BU(k|0,l|0,63)|0;M()|0;c[j>>2]=n>>>0>0|(n|0)==0&m>>>0>4294967295?l^2147483647:k;i=i+d|0;j=j+e|0;k=FU(+f[i>>2]*2147483648.0)|0;l=M()|0;m=aX(k|0,l|0,-2147483648,0)|0;n=M()|0;l=BU(k|0,l|0,63)|0;M()|0;c[j>>2]=n>>>0>0|(n|0)==0&m>>>0>4294967295?l^2147483647:k;i=i+d|0;j=j+e|0;k=FU(+f[i>>2]*2147483648.0)|0;l=M()|0;m=aX(k|0,l|0,-2147483648,0)|0;n=M()|0;l=BU(k|0,l|0,63)|0;M()|0;c[j>>2]=n>>>0>0|(n|0)==0&m>>>0>4294967295?l^2147483647:k;a=j+e|0;b=i+d|0}while(1){if(a>>>0>=g>>>0)break;n=FU(+f[b>>2]*2147483648.0)|0;m=M()|0;l=aX(n|0,m|0,-2147483648,0)|0;k=M()|0;m=BU(n|0,m|0,63)|0;M()|0;c[a>>2]=k>>>0>0|(k|0)==0&l>>>0>4294967295?m^2147483647:n;a=a+e|0;b=b+d|0}return}function _k(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;b=(b|0)!=0;if(b){r=d[a+-1>>0]|0;u=d[a+~f>>0]|0}else{u=d[a+-1>>0]|0;r=u}s=d[a+(f+-1)>>0]|0;t=s+2|0;v=d[a+((f<<1)+-1)>>0]|0;w=v+2|0;x=d[a+((f*3|0)+-1)>>0]|0;y=d[a+((f<<2)+-1)>>0]|0;z=d[a+((f*5|0)+-1)>>0]|0;A=d[a+((f*6|0)+-1)>>0]|0;B=d[a+((f*7|0)+-1)>>0]|0;g=0-f|0;if(b){g=d[a+g>>0]|0;q=d[a+~f>>0]|0}else{q=d[a+g>>0]|0;g=q}o=d[a+(1-f)>>0]|0;p=o+2|0;h=d[a+(2-f)>>0]|0;i=h+2|0;j=d[a+(3-f)>>0]|0;k=d[a+(4-f)>>0]|0;l=d[a+(5-f)>>0]|0;m=d[a+(6-f)>>0]|0;n=d[a+(7-f)>>0]|0;if(!e)b=n;else b=d[a+(8-f)>>0]|0;g=H(((t+u+(r<<1)|0)>>>2)+8+((w+r+(s<<1)|0)>>>2)+((t+(v<<1)+x|0)>>>2)+((w+(x<<1)+y|0)>>>2)+((x+2+(y<<1)+z|0)>>>2)+((y+2+(z<<1)+A|0)>>>2)+((A+2+(B*3|0)|0)>>>2)+((z+2+(A<<1)+B|0)>>>2)+((p+q+(g<<1)|0)>>>2)+((i+g+(o<<1)|0)>>>2)+((p+(h<<1)+j|0)>>>2)+((i+(j<<1)+k|0)>>>2)+((j+2+(k<<1)+l|0)>>>2)+((k+2+(l<<1)+m|0)>>>2)+((l+2+(m<<1)+n|0)>>>2)+((m+2+(n<<1)+b|0)>>>2)>>4,16843009)|0;b=0;while(1){if((b|0)==8)break;c[a>>2]=g;c[a+4>>2]=g;b=b+1|0;a=a+f|0}return}function $k(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;h=f+(H(e,-3)|0)|0;while(1){if(a>>>0>=h>>>0)break;i=LU(+g[b>>3]*2147483648.0)|0;j=M()|0;k=aX(i|0,j|0,-2147483648,0)|0;l=M()|0;j=BU(i|0,j|0,63)|0;M()|0;c[a>>2]=l>>>0>0|(l|0)==0&k>>>0>4294967295?j^2147483647:i;i=b+d|0;j=a+e|0;k=LU(+g[i>>3]*2147483648.0)|0;l=M()|0;m=aX(k|0,l|0,-2147483648,0)|0;n=M()|0;l=BU(k|0,l|0,63)|0;M()|0;c[j>>2]=n>>>0>0|(n|0)==0&m>>>0>4294967295?l^2147483647:k;i=i+d|0;j=j+e|0;k=LU(+g[i>>3]*2147483648.0)|0;l=M()|0;m=aX(k|0,l|0,-2147483648,0)|0;n=M()|0;l=BU(k|0,l|0,63)|0;M()|0;c[j>>2]=n>>>0>0|(n|0)==0&m>>>0>4294967295?l^2147483647:k;i=i+d|0;j=j+e|0;k=LU(+g[i>>3]*2147483648.0)|0;l=M()|0;m=aX(k|0,l|0,-2147483648,0)|0;n=M()|0;l=BU(k|0,l|0,63)|0;M()|0;c[j>>2]=n>>>0>0|(n|0)==0&m>>>0>4294967295?l^2147483647:k;a=j+e|0;b=i+d|0}while(1){if(a>>>0>=f>>>0)break;n=LU(+g[b>>3]*2147483648.0)|0;m=M()|0;l=aX(n|0,m|0,-2147483648,0)|0;k=M()|0;m=BU(n|0,m|0,63)|0;M()|0;c[a>>2]=k>>>0>0|(k|0)==0&l>>>0>4294967295?m^2147483647:n;a=a+e|0;b=b+d|0}return}function al(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,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,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;E=Mb;Mb=Mb+256|0;w=E;x=c[a>>2]|0;y=a+4|0;z=c[y>>2]|0;A=a+8|0;B=c[A>>2]|0;C=a+12|0;D=c[C>>2]|0;o=a+16|0;p=c[o>>2]|0;q=a+20|0;r=c[q>>2]|0;s=a+24|0;t=c[s>>2]|0;u=a+28|0;v=c[u>>2]|0;e=0;f=r;g=p;h=D;i=B;j=z;k=x;l=v;m=t;while(1){if((e|0)==64)break;if(e>>>0<16){n=b+(e<<2)|0;n=W_(d[n>>0]|d[n+1>>0]<<8|d[n+2>>0]<<16|d[n+3>>0]<<24|0)|0}else{F=c[w+(e+-15<<2)>>2]|0;n=c[w+(e+-2<<2)>>2]|0;n=(c[w+(e+-7<<2)>>2]|0)+(c[w+(e+-16<<2)>>2]|0)+((F<<14|F>>>18)^F>>>3^(F<<25|F>>>7))+((n<<13|n>>>19)^n>>>10^(n<<15|n>>>17))|0}c[w+(e<<2)>>2]=n;J=((g<<26|g>>>6)^(g<<21|g>>>11)^(g<<7|g>>>25))+l+((m^f)&g^m)+n+(c[151792+(e<<2)>>2]|0)|0;I=m;H=k;G=j;n=i;F=g;e=e+1|0;g=J+h|0;k=((i|j)&k|i&j)+((k<<30|k>>>2)^(k<<19|k>>>13)^(k<<10|k>>>22))+J|0;m=f;l=I;j=H;i=G;h=n;f=F}c[a>>2]=k+x;c[y>>2]=j+z;c[A>>2]=i+B;c[C>>2]=h+D;c[o>>2]=g+p;c[q>>2]=f+r;c[s>>2]=m+t;c[u>>2]=l+v;Mb=E;return}function bl(c,d,f,g,h,i,j,k,l){c=c|0;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,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;v=Mb;Mb=Mb+8576|0;u=v;t=g>>>1;s=j+-1|0;o=20672+(s<<2)|0;p=i+3|0;q=20672+(s<<2)+1|0;r=20672+(s<<2)+2|0;s=20672+(s<<2)+3|0;m=u;n=0;j=f+(0-t<<1)|0;while(1){if((n|0)>=(p|0))break;g=0;while(1){if((g|0)>=(l|0))break;w=H(e[j+(g+-1<<1)>>1]|0,a[o>>0]|0)|0;w=(H(e[j+(g<<1)>>1]|0,a[q>>0]|0)|0)+w|0;f=g+1|0;w=w+(H(e[j+(f<<1)>>1]|0,a[r>>0]|0)|0)|0;w=(w+(H(e[j+(g+2<<1)>>1]|0,a[s>>0]|0)|0)|0)>>>2&65535;b[m+(g<<1)>>1]=w;g=f}m=m+128|0;n=n+1|0;j=j+(t<<1)|0}r=d>>>1;q=k+-1|0;n=20672+(q<<2)|0;o=20672+(q<<2)+1|0;p=20672+(q<<2)+2|0;q=20672+(q<<2)+3|0;j=u+128|0;m=0;while(1){if((m|0)>=(i|0))break;g=0;while(1){if((g|0)>=(l|0))break;w=H(b[j+(g+-64<<1)>>1]|0,a[n>>0]|0)|0;w=(H(b[j+(g<<1)>>1]|0,a[o>>0]|0)|0)+w|0;w=w+(H(b[j+(g+64<<1)>>1]|0,a[p>>0]|0)|0)|0;w=w+(H(b[j+(g+128<<1)>>1]|0,a[q>>0]|0)|0)>>6;w=(b[h+(g<<1)>>1]|0)+16+w>>5;b[c+(g<<1)>>1]=w>>>0<1024?w:0-w>>31&1023;g=g+1|0}h=h+128|0;c=c+(r<<1)|0;j=j+128|0;m=m+1|0}Mb=v;return}function cl(c,d,f,g,h,i,j,k,l){c=c|0;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,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;v=Mb;Mb=Mb+8576|0;u=v;t=g>>>1;s=j+-1|0;o=20672+(s<<2)|0;p=i+3|0;q=20672+(s<<2)+1|0;r=20672+(s<<2)+2|0;s=20672+(s<<2)+3|0;m=u;n=0;j=f+(0-t<<1)|0;while(1){if((n|0)>=(p|0))break;g=0;while(1){if((g|0)>=(l|0))break;w=H(e[j+(g+-1<<1)>>1]|0,a[o>>0]|0)|0;w=(H(e[j+(g<<1)>>1]|0,a[q>>0]|0)|0)+w|0;f=g+1|0;w=w+(H(e[j+(f<<1)>>1]|0,a[r>>0]|0)|0)|0;w=(w+(H(e[j+(g+2<<1)>>1]|0,a[s>>0]|0)|0)|0)>>>4&65535;b[m+(g<<1)>>1]=w;g=f}m=m+128|0;n=n+1|0;j=j+(t<<1)|0}r=d>>>1;q=k+-1|0;n=20672+(q<<2)|0;o=20672+(q<<2)+1|0;p=20672+(q<<2)+2|0;q=20672+(q<<2)+3|0;j=u+128|0;m=0;while(1){if((m|0)>=(i|0))break;g=0;while(1){if((g|0)>=(l|0))break;w=H(b[j+(g+-64<<1)>>1]|0,a[n>>0]|0)|0;w=(H(b[j+(g<<1)>>1]|0,a[o>>0]|0)|0)+w|0;w=w+(H(b[j+(g+64<<1)>>1]|0,a[p>>0]|0)|0)|0;w=w+(H(b[j+(g+128<<1)>>1]|0,a[q>>0]|0)|0)>>6;w=(b[h+(g<<1)>>1]|0)+4+w>>3;b[c+(g<<1)>>1]=w>>>0<4096?w:0-w>>31&4095;g=g+1|0}h=h+128|0;c=c+(r<<1)|0;j=j+128|0;m=m+1|0}Mb=v;return}function dl(c,d,f,g,h,i,j,k,l){c=c|0;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,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;v=Mb;Mb=Mb+8576|0;u=v;t=g>>>1;s=j+-1|0;o=20672+(s<<2)|0;p=i+3|0;q=20672+(s<<2)+1|0;r=20672+(s<<2)+2|0;s=20672+(s<<2)+3|0;m=u;n=0;j=f+(0-t<<1)|0;while(1){if((n|0)>=(p|0))break;g=0;while(1){if((g|0)>=(l|0))break;w=H(e[j+(g+-1<<1)>>1]|0,a[o>>0]|0)|0;w=(H(e[j+(g<<1)>>1]|0,a[q>>0]|0)|0)+w|0;f=g+1|0;w=w+(H(e[j+(f<<1)>>1]|0,a[r>>0]|0)|0)|0;w=(w+(H(e[j+(g+2<<1)>>1]|0,a[s>>0]|0)|0)|0)>>>1&65535;b[m+(g<<1)>>1]=w;g=f}m=m+128|0;n=n+1|0;j=j+(t<<1)|0}r=d>>>1;q=k+-1|0;n=20672+(q<<2)|0;o=20672+(q<<2)+1|0;p=20672+(q<<2)+2|0;q=20672+(q<<2)+3|0;j=u+128|0;m=0;while(1){if((m|0)>=(i|0))break;g=0;while(1){if((g|0)>=(l|0))break;w=H(b[j+(g+-64<<1)>>1]|0,a[n>>0]|0)|0;w=(H(b[j+(g<<1)>>1]|0,a[o>>0]|0)|0)+w|0;w=w+(H(b[j+(g+64<<1)>>1]|0,a[p>>0]|0)|0)|0;w=w+(H(b[j+(g+128<<1)>>1]|0,a[q>>0]|0)|0)>>6;w=(b[h+(g<<1)>>1]|0)+32+w>>6;b[c+(g<<1)>>1]=w>>>0<512?w:0-w>>31&511;g=g+1|0}h=h+128|0;c=c+(r<<1)|0;j=j+128|0;m=m+1|0}Mb=v;return}function el(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=Mb;Mb=Mb+16|0;i=m+8|0;e=m;j=c[a+704>>2]|0;k=a+8|0;do if(!(c[k>>2]|0)){h=a+124|0;g=a+128|0;f=a+992|0;if((rr(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0,c[f+4>>2]|0,-1,0,a)|0)>=0?(c[a+144>>2]|0)>=0:0){f=b+68|0;e=b+72|0;if((c[f>>2]|0)>=1?(c[e>>2]|0)>=1:0)e=1;else{o=c[h>>2]|0;h=c[a+792>>2]|0;n=0-(0-(c[a+132>>2]|0)>>h)|0;c[f>>2]=(o|0)>(n|0)?o:n;g=c[g>>2]|0;h=0-(0-(c[a+136>>2]|0)>>h)|0;c[e>>2]=(g|0)>(h|0)?g:h;e=0}if((((c[b>>2]|0)==0?(c[b+4>>2]|0)==0:0)?(c[b+8>>2]|0)==0:0)?(c[b+12>>2]|0)==0:0){f=e;l=13;break}AD(a,16,172435,i);e=-22;break}AD(a,16,172391,e);e=-22}else{f=1;l=13}while(0);if((l|0)==13){e=f0(a,b)|0;if((e|0)>=0){if(j){e=c[j+24>>2]|0;if(!e)l=18;else e=Xb[e&15](a,b)|0}else{c[a+888>>2]=c[a+144>>2];l=18}if((l|0)==18){e=Yb[c[a+472>>2]&15](a,b,d)|0;if((e|0)>-1)$s(a,b)}if((c[k>>2]|f|0)==0?(c[(c[a+12>>2]|0)+112>>2]&16|0)==0:0){c[b+68>>2]=c[a+124>>2];c[b+72>>2]=c[a+128>>2]}}}Mb=m;return e|0}function fl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=a+80|0;g=iY(c[h>>2]|0)|0;e=a+352|0;f=c[e>>2]|0;if(!f){f=a+240|0;f=DD(c[f>>2]|0,c[f+4>>2]|0)|0;c[e>>2]=f}i=(g|0)==0?1:f;j=a+32|0;if(!((c[j>>2]|0)==0?(d=fu(j,f,c[a+76>>2]|0,c[h>>2]|0,b)|0,(d|0)<0):0))k=5;a:do if((k|0)==5){g=(i|0)>8;do if(g){e=gW(i,4)|0;d=a+64|0;c[d>>2]=e;e=i+-8|0;h=gW(e,4)|0;f=a+280|0;c[f>>2]=h;if((h|0)==0|(c[d>>2]|0)==0){bU(d);bU(f);d=-12;break a}else{c[a+284>>2]=e;b=d;break}}else{b=a+64|0;c[b>>2]=a}while(0);e=g?8:i;d=0;while(1){if((d|0)>=(e|0))break;f=mP(c[j>>2]|0)|0;c[a+248+(d<<2)>>2]=f;if(!f){k=13;break}h=c[f+4>>2]|0;c[a+(d<<2)>>2]=h;c[(c[b>>2]|0)+(d<<2)>>2]=h;d=d+1|0}if((k|0)==13){jB(a);d=-12;break}e=i+-8|0;f=a+280|0;d=0;while(1){if((d|0)>=(e|0)){d=0;break a}g=mP(c[j>>2]|0)|0;c[(c[f>>2]|0)+(d<<2)>>2]=g;g=c[(c[f>>2]|0)+(d<<2)>>2]|0;if(!g)break;c[(c[b>>2]|0)+(d+8<<2)>>2]=c[g+4>>2];d=d+1|0}jB(a);d=-12}while(0);return d|0}function gl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=b+1416|0;e=c[i>>2]|0;do if((c[(c[e+1668>>2]|0)+(c[b+3496>>2]<<2)>>2]|0)==(d|0)){e=OM(b)|0;if((e|0)>=0){e=b+2429|0;if(a[e>>0]|0){f=c[i>>2]|0;if(a[f+42>>0]|0?(f=c[f+1676>>2]|0,(c[f+(d<<2)>>2]|0)!=(c[f+(d+-1<<2)>>2]|0)):0)h=6}else h=6;if((h|0)==6)iy(b);if(((a[b+2428>>0]|0)==0?(a[(c[i>>2]|0)+43>>0]|0)!=0:0)?(g=c[(c[b+1412>>2]|0)+13384>>2]|0,((d|0)%(g|0)|0|0)==0):0){if((g|0)==1){iy(b);e=0;break}if((a[e>>0]|0)==1){K$(b);e=0}else e=0}else e=0}}else{if((a[e+42>>0]|0)!=0?(h=c[e+1676>>2]|0,(c[h+(d<<2)>>2]|0)!=(c[h+(d+-1<<2)>>2]|0)):0){if((a[b+141>>0]|0)==1)e=z$(c[b+136>>2]|0)|0;else e=OM(b)|0;if((e|0)<0)break;iy(b);e=c[i>>2]|0}if((a[e+43>>0]|0)!=0?(f=b+1412|0,((d|0)%(c[(c[f>>2]|0)+13384>>2]|0)|0|0)==0):0){e=b+136|0;dQ((c[e>>2]|0)+224|0)|0;if((a[b+141>>0]|0)==1)e=z$(c[e>>2]|0)|0;else e=OM(b)|0;if((e|0)>=0)if((c[(c[f>>2]|0)+13384>>2]|0)==1){iy(b);e=0;break}else{K$(b);e=0;break}}else e=0}while(0);return e|0}function hl(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;p=Mb;Mb=Mb+5168|0;n=p+5144|0;m=p+5136|0;h=p+5120|0;o=p+1024|0;j=p;k=p+5152|0;i=(d|0)>-1;l=i?d&255:d;i=i?d>>>8&255:0;if((l|0)<=(c[41811]|0)){d2(1112520)|0;yk(b,l,e,f,o,167248,k);e=o+1024|0;q=c[e>>2]|0;f=o+2048|0;b=c[f>>2]|0;g=o+3072|0;d=c[g>>2]|0;c[h>>2]=c[o>>2];c[h+4>>2]=q;c[h+8>>2]=b;c[h+12>>2]=d;pU(j,1024,211616,h)|0;d=c[278137]|0;if(!d){b=(FR(2)|0)==0;b=b?-1:1;c[278137]=b}else b=d;if((!((c[41812]|0)==0|0==0)?(q=(PF(j,1108272)|0)!=0,!(q|(a[j>>0]|0)==0)):0)?(q=j+((nA(j)|0)+-1)|0,(a[q>>0]|0)!=13):0){d=(c[278138]|0)+1|0;c[278138]=d;if((b|0)==1){q=c[41852]|0;c[m>>2]=d;cV(q,211693,m)|0}}else{d=c[278138]|0;if((d|0)>0){q=c[41852]|0;c[n>>2]=d;cV(q,211729,n)|0;c[278138]=0}N0(1108272,j)|0;$U(c[o>>2]|0);Ts(c[k>>2]|0,0,c[o>>2]|0);$U(c[e>>2]|0);Ts(c[k+4>>2]|0,0,c[e>>2]|0);$U(c[f>>2]|0);q=l>>3;q=(q|0)<7?q:7;q=(q|0)>0?q:0;Ts(q,i,c[f>>2]|0);$U(c[g>>2]|0);Ts(q,i,c[g>>2]|0)}az(o+3072|0,0)|0;d2(1112520)|0}Mb=p;return}function il(b,c){b=b|0;c=c|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;m=0-c|0;i=b+3+m|0;h=b+(c<<3)+-1|0;g=h+(0-(c<<1))|0;k=(c*11|0)+-1|0;j=(c*3|0)+-1|0;e=2;f=(d[h>>0]|0)-(d[g>>0]|0)|0;l=(d[i+1>>0]|0)-(d[i+-1>>0]|0)|0;while(1){if((e|0)==5)break;q=h+c|0;p=g+m|0;o=(H((d[i+e>>0]|0)-(d[i+(0-e)>>0]|0)|0,e)|0)+l|0;n=(H((d[q>>0]|0)-(d[p>>0]|0)|0,e)|0)+f|0;e=e+1|0;f=n;l=o;g=p;h=q}e=5;q=b+j|0;p=b+k|0;while(1){if(e>>>0>=9)break;o=p+c|0;n=q+m|0;f=(H((d[o>>0]|0)-(d[n>>0]|0)|0,e)|0)+f|0;e=e+1|0;q=n;p=o}o=(l*17|0)+16>>5;h=(f*5|0)+32>>6;i=o*3|0;j=o<<1;k=o<<2;l=o*5|0;m=o*6|0;n=o*7|0;g=16;f=16-i+(H(h,-7)|0)+((d[q+8>>0]|0)+(d[p>>0]|0)<<4)|0;e=b;while(1){if(!g)break;b=f>>5;a[e>>0]=b>>>0>255?0-b>>31:b;b=f+o>>5;a[e+1>>0]=b>>>0>255?0-b>>31:b;b=f+j>>5;a[e+2>>0]=b>>>0>255?0-b>>31:b;b=f+i>>5;a[e+3>>0]=b>>>0>255?0-b>>31:b;b=f+k>>5;a[e+4>>0]=b>>>0>255?0-b>>31:b;b=f+l>>5;a[e+5>>0]=b>>>0>255?0-b>>31:b;b=f+m>>5;a[e+6>>0]=b>>>0>255?0-b>>31:b;b=f+n>>5;a[e+7>>0]=b>>>0>255?0-b>>31:b;g=g+-1|0;f=f+h|0;e=e+c|0}return}function jl(c,e,f,g,h,i,j,k,l,m,n){c=c|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;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;x=Mb;Mb=Mb+8576|0;w=x;u=l+-1|0;q=20672+(u<<2)|0;v=i+5|0;r=h+3|0;s=20672+(u<<2)+1|0;t=20672+(u<<2)+2|0;u=20672+(u<<2)+3|0;o=w;p=0;f=f+(0-g)|0;while(1){if((p|0)>=(r|0))break;l=0;while(1){if((l|0)>=(n|0))break;z=H(d[f+(l+-1)>>0]|0,a[q>>0]|0)|0;z=(H(d[f+l>>0]|0,a[s>>0]|0)|0)+z|0;y=l+1|0;z=z+(H(d[f+y>>0]|0,a[t>>0]|0)|0)|0;z=z+(H(d[f+(l+2)>>0]|0,a[u>>0]|0)|0)&65535;b[o+(l<<1)>>1]=z;l=y}o=o+128|0;p=p+1|0;f=f+g|0}u=i+6|0;t=1<<v;s=m+-1|0;p=20672+(s<<2)|0;q=20672+(s<<2)+1|0;r=20672+(s<<2)+2|0;s=20672+(s<<2)+3|0;f=w+128|0;o=0;while(1){if((o|0)>=(h|0))break;l=0;while(1){if((l|0)>=(n|0))break;z=H(b[f+(l+-64<<1)>>1]|0,a[p>>0]|0)|0;z=(H(b[f+(l<<1)>>1]|0,a[q>>0]|0)|0)+z|0;z=z+(H(b[f+(l+64<<1)>>1]|0,a[r>>0]|0)|0)|0;z=((H(z+(H(b[f+(l+128<<1)>>1]|0,a[s>>0]|0)|0)>>6,j)|0)+t>>u)+k|0;a[c+l>>0]=z>>>0>255?0-z>>31:z;l=l+1|0}c=c+e|0;f=f+128|0;o=o+1|0}Mb=x;return}function kl(e,f,g){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;a:do if(f>>>0>=7){a[g>>0]=a[e+1>>0]|0;a[g+1>>0]=a[e+2>>0]|0;a[g+2>>0]=a[e+3>>0]|0;a[g+3>>0]=(a[e+4>>0]&3)+1<<24>>24;m=a[e+5>>0]&31;n=g+4|0;a[n>>0]=m;h=g+2315|0;o=g+6411|0;if(f>>>0>8&m<<24>>24!=0){i=6;m=0;while(1){k=e+i|0;l=(d[k>>0]|0)<<8|(d[e+(i+1)>>0]|0);i=i+2+l|0;if(i>>>0>=f>>>0){h=-1;break a}j=h+l|0;if(j>>>0>o>>>0){h=-1;break a}Mn(h|0,k+2|0,l|0)|0;c[g+8+(m<<3)+4>>2]=h;b[g+8+(m<<3)>>1]=l;m=m+1|0;if(!((i+2|0)>>>0<f>>>0&m>>>0<(d[n>>0]|0)>>>0))break;else h=j}}else{j=h;i=6}if(i>>>0<f>>>0){m=a[e+i>>0]|0;h=i+1|0;n=g+5|0;a[n>>0]=m;if((i+3|0)>>>0<f>>>0&m<<24>>24!=0){m=0;do{k=e+h|0;l=(d[k>>0]|0)<<8|(d[e+(h+1)>>0]|0);h=h+2+l|0;if(h>>>0>f>>>0){h=-1;break a}i=j;j=j+l|0;if(j>>>0>o>>>0){h=-1;break a}Mn(i|0,k+2|0,l|0)|0;c[g+264+(m<<3)+4>>2]=i;b[g+264+(m<<3)>>1]=l;m=m+1|0}while((h+2|0)>>>0<f>>>0&m>>>0<(d[n>>0]|0)>>>0)}}else h=-1}else h=-1;while(0);return h|0}function ll(e,f,g,h,i,j,k,l,m,n,o,p){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;var q=0,r=0,s=0;q=i+112+(m*10|0)|0;i=c[i+100+(m<<2)>>2]|0;if((i|0)!=1){a:do if(!(c[j>>2]|0))o=0;else{p=b[q>>1]|0;o=0;while(1){if((o|0)>=(l|0)){o=1;break a}n=f+(H(o,h)|0)|0;n=(d[n>>0]|0)+p|0;m=e+(H(o,g)|0)|0;a[m>>0]=n>>>0>255?0-n>>31:n;o=o+1|0}}while(0);b:do if(c[j+8>>2]|0){n=b[q>>1]|0;k=k+-1|0;p=0;while(1){if((p|0)>=(l|0))break b;s=f+((H(p,h)|0)+k)|0;s=(d[s>>0]|0)+n|0;m=e+((H(p,g)|0)+k)|0;a[m>>0]=s>>>0>255?0-s>>31:s;p=p+1|0}}while(0);if(i|0){i=k;r=11}}else{i=k;o=0;r=11}c:do if((r|0)==11){d:do if(c[j+4>>2]|0){p=b[q>>1]|0;k=o;while(1){if((k|0)>=(i|0))break d;s=(d[f+k>>0]|0)+p|0;a[e+k>>0]=s>>>0>255?0-s>>31:s;k=k+1|0}}while(0);if(c[j+12>>2]|0){n=b[q>>1]|0;k=l+-1|0;p=H(k,g)|0;k=H(k,h)|0;while(1){if((o|0)>=(i|0))break c;s=(d[f+(o+k)>>0]|0)+n|0;a[e+(o+p)>>0]=s>>>0>255?0-s>>31:s;o=o+1|0}}}while(0);return}function ml(a){a=a|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;n=((b[a>>1]|0)*16383|0)+524256|0;s=a+32|0;i=b[s>>1]|0;d=n+(H(i,-8867)|0)|0;r=n+(H(i,-21407)|0)|0;o=a+16|0;c=b[o>>1]|0;p=a+48|0;q=b[p>>1]|0;f=(q*19266|0)+(c*22725|0)|0;e=(H(q,-4520)|0)+(c*19266|0)|0;g=(H(q,-22725)|0)+(c*12873|0)|0;c=(H(q,-12873)|0)+(c*4520|0)|0;q=a+64|0;h=b[q>>1]|0;m=h<<16>>16==0;h=h<<16>>16;j=H(h,-16383)|0;h=m?0:h*16383|0;l=n+(i*21407|0)+h|0;j=m?0:j;i=n+(i*8867|0)+j|0;j=d+j|0;h=r+h|0;r=a+80|0;d=b[r>>1]|0;if(!(d<<16>>16)){m=f;d=g}else{d=d<<16>>16;c=(d*19266|0)+c|0;e=(H(d,-22725)|0)+e|0;m=(d*12873|0)+f|0;d=(d*4520|0)+g|0}n=a+96|0;f=b[n>>1]|0;if(!(f<<16>>16)){k=h;g=l}else{g=f<<16>>16;k=(H(g,-8867)|0)+h|0;j=(g*21407|0)+j|0;i=(H(g,-21407)|0)+i|0;g=(g*8867|0)+l|0}h=a+112|0;f=b[h>>1]|0;if(!(f<<16>>16))f=m;else{l=f<<16>>16;c=(H(l,-22725)|0)+c|0;e=(H(l,-12873)|0)+e|0;f=(l*4520|0)+m|0;d=(l*19266|0)+d|0}b[a>>1]=f+g>>20;b[o>>1]=e+i>>20;b[s>>1]=d+j>>20;b[p>>1]=c+k>>20;b[q>>1]=k-c>>20;b[r>>1]=j-d>>20;b[n>>1]=i-e>>20;b[h>>1]=g-f>>20;return}function nl(a,b,d,e,g){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;var h=0,i=0.0,j=0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0,r=0,s=0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0;x=a+156|0;y=c[a+144>>2]|0;p=+f[a+152>>2];q=d+260|0;r=a+132|0;s=y+-2|0;t=+f[a+148>>2];u=((s|0)>0?s:0)+3&-4;v=(u|0)<(y|0);w=a+160+(u<<2)|0;h=c[x>>2]|0;o=0;while(1){if((o|0)>=(c[q>>2]|0))break;l=(c[e+(o<<2)>>2]|0)+(c[r>>2]<<2)|0;m=c[d+(o<<2)>>2]|0;n=c[b+(o<<2)>>2]|0;k=0;h=c[x>>2]|0;while(1){if((k|0)>=(g|0))break;i=p*+(c[m+(k<<2)>>2]|0);j=0;while(1){if((j|0)>=(s|0))break;z=j+h|0;i=i-(+f[a+160+(j<<2)>>2]*+f[a+240+(o*160|0)+(z<<2)>>2]+ +f[a+160+((j|1)<<2)>>2]*+f[a+240+(o*160|0)+(z+1<<2)>>2]+ +f[a+160+((j|2)<<2)>>2]*+f[a+240+(o*160|0)+(z+2<<2)>>2]+ +f[a+160+((j|3)<<2)>>2]*+f[a+240+(o*160|0)+(z+3<<2)>>2]);j=j+4|0}if(v)i=i-+f[w>>2]*+f[a+240+(o*160|0)+(u+h<<2)>>2];z=((h|0)==0?y:h)+-1|0;A=+q0(+(i+ +f[l+(k<<2)>>2]));i=A-i;f[a+240+(o*160|0)+(z<<2)>>2]=i;f[a+240+(o*160|0)+(z+y<<2)>>2]=i;i=A*t;i=i>2147483647.0?2147483647.0:i;c[n+(k<<2)>>2]=~~(i>-2147483648.0?i:-2147483648.0);k=k+1|0;h=z}o=o+1|0}c[x>>2]=h;return}function ol(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;k=Mb;Mb=Mb+16|0;i=k;j=h>>1;if(!f){f=e[a+-2>>1]|0;g=f}else{g=e[a+-2>>1]|0;f=e[a+(~j<<1)>>1]|0}s=e[a+(j+-1<<1)>>1]|0;r=s+2|0;q=e[a+((h&-2)+-1<<1)>>1]|0;p=q+2|0;o=e[a+((j*3|0)+-1<<1)>>1]|0;n=e[a+((j<<2)+-1<<1)>>1]|0;m=e[a+((j*5|0)+-1<<1)>>1]|0;l=e[a+((j*6|0)+-1<<1)>>1]|0;h=e[a+((j*7|0)+-1<<1)>>1]|0;b[i>>1]=(r+f+(g<<1)|0)>>>2;b[i+2>>1]=(p+g+(s<<1)|0)>>>2;b[i+4>>1]=(r+(q<<1)+o|0)>>>2;b[i+6>>1]=(p+(o<<1)+n|0)>>>2;b[i+8>>1]=(o+2+(n<<1)+m|0)>>>2;b[i+10>>1]=(n+2+(m<<1)+l|0)>>>2;b[i+12>>1]=(m+2+(l<<1)+h|0)>>>2;b[i+14>>1]=(l+2+(h*3|0)|0)>>>2;h=0;g=a;f=d;while(1){if((h|0)==8)break;s=(c[f>>2]|0)+(e[i+(h<<1)>>1]|0)|0;b[g>>1]=s;s=(c[f+4>>2]|0)+s|0;b[g+2>>1]=s;s=(c[f+8>>2]|0)+s|0;b[g+4>>1]=s;s=(c[f+12>>2]|0)+s|0;b[g+6>>1]=s;s=(c[f+16>>2]|0)+s|0;b[g+8>>1]=s;s=(c[f+20>>2]|0)+s|0;b[g+10>>1]=s;s=(c[f+24>>2]|0)+s|0;b[g+12>>1]=s;b[g+14>>1]=(c[f+28>>2]|0)+s;h=h+1|0;g=g+(j<<1)|0;f=f+32|0}jv(d|0,0,256)|0;Mb=k;return}function pl(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=c>>1;t=d<<2;r=f<<2;s=(t>>2)+2|0;j=0;while(1){if((j|0)==8)break;h=a+-6|0;d=e[h>>1]|0;f=a+-4|0;k=e[f>>1]|0;c=a+-2|0;l=e[c>>1]|0;m=e[a>>1]|0;n=a+2|0;o=e[n>>1]|0;p=a+4|0;q=e[p>>1]|0;g=l-m|0;g=(g|0)>-1?g:0-g|0;do if(((g|0)<(t|0)?(i=k-l|0,(((i|0)>-1?i:0-i|0)|0)<(r|0)):0)?(i=o-m|0,(((i|0)>-1?i:0-i|0)|0)<(r|0)):0){if((g|0)>=(s|0)){b[c>>1]=(l+2+(k<<1)+o|0)>>>2;b[a>>1]=(m+2+k+(o<<1)|0)>>>2;break}i=d-l|0;if((((i|0)>-1?i:0-i|0)|0)<(r|0)){v=e[a+-8>>1]|0;g=m+l|0;b[c>>1]=(o+4+d+(g+k<<1)|0)>>>3;b[f>>1]=(l+2+d+k+m|0)>>>2;i=k+4+(d*3|0)|0;c=h;d=3;f=v<<1}else{i=l+2|0;d=2;f=o;g=k<<1}b[c>>1]=(i+g+f|0)>>>d;v=q-m|0;if((((v|0)>-1?v:0-v|0)|0)<(r|0)){v=e[a+6>>1]|0;i=m+l+o|0;b[a>>1]=(k+4+q+(i<<1)|0)>>>3;b[n>>1]=(l+2+m+o+q|0)>>>2;b[p>>1]=(i+4+(q*3|0)+(v<<1)|0)>>>3;break}else{b[a>>1]=(m+2+k+(o<<1)|0)>>>2;break}}while(0);a=a+(u<<1)|0;j=j+1|0}return}function ql(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=c>>1;t=d<<1;r=f<<1;s=(t>>2)+2|0;j=0;while(1){if((j|0)==8)break;h=a+-6|0;d=e[h>>1]|0;f=a+-4|0;k=e[f>>1]|0;c=a+-2|0;l=e[c>>1]|0;m=e[a>>1]|0;n=a+2|0;o=e[n>>1]|0;p=a+4|0;q=e[p>>1]|0;g=l-m|0;g=(g|0)>-1?g:0-g|0;do if(((g|0)<(t|0)?(i=k-l|0,(((i|0)>-1?i:0-i|0)|0)<(r|0)):0)?(i=o-m|0,(((i|0)>-1?i:0-i|0)|0)<(r|0)):0){if((g|0)>=(s|0)){b[c>>1]=(l+2+(k<<1)+o|0)>>>2;b[a>>1]=(m+2+k+(o<<1)|0)>>>2;break}i=d-l|0;if((((i|0)>-1?i:0-i|0)|0)<(r|0)){v=e[a+-8>>1]|0;g=m+l|0;b[c>>1]=(o+4+d+(g+k<<1)|0)>>>3;b[f>>1]=(l+2+d+k+m|0)>>>2;i=k+4+(d*3|0)|0;c=h;d=3;f=v<<1}else{i=l+2|0;d=2;f=o;g=k<<1}b[c>>1]=(i+g+f|0)>>>d;v=q-m|0;if((((v|0)>-1?v:0-v|0)|0)<(r|0)){v=e[a+6>>1]|0;i=m+l+o|0;b[a>>1]=(k+4+q+(i<<1)|0)>>>3;b[n>>1]=(l+2+m+o+q|0)>>>2;b[p>>1]=(i+4+(q*3|0)+(v<<1)|0)>>>3;break}else{b[a>>1]=(m+2+k+(o<<1)|0)>>>2;break}}while(0);a=a+(u<<1)|0;j=j+1|0}return}function rl(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;m=Mb;Mb=Mb+16|0;g=m;if((f|0)<=-1){c[g>>2]=217389;c[g+4>>2]=217405;c[g+8>>2]=106;AD(0,0,222515,g);ba()}if(!f){f=JT()|0;f=(f|0)>1?f+1|0:1}j=(e|0)==0;l=f+(j<<31>>31)|0;k=EZ(120)|0;c[a>>2]=k;a:do if(!k)f=-12;else{if(l|0?(i=gW(l,88)|0,c[k>>2]=i,(i|0)==0):0){bU(a);f=-12;break}c[k+108>>2]=b;c[k+112>>2]=d;c[k+116>>2]=e;b=k+4|0;c[b>>2]=f;g=k+8|0;c[k+104>>2]=0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;k1(k+24|0,0)|0;wb(k+52|0,0)|0;c[k+100>>2]=0;g=0;while(1){if((g|0)>=(l|0))break a;n=c[k>>2]|0;i=n+(g*88|0)|0;c[i>>2]=k;d=n+(g*88|0)+4|0;k1(d,0)|0;e=n+(g*88|0)+32|0;wb(e|0,0)|0;d2(d)|0;h=n+(g*88|0)+84|0;c[h>>2]=0;i=zb(n+(g*88|0)+80|0,0,29,i|0)|0;if(i|0)break;while(1){if(c[h>>2]|0)break;yb(e|0,d|0)|0}d2(d)|0;g=g+1|0}c[b>>2]=g+(j&1);d2(d)|0;vb(e|0)|0;d2(d)|0;Av(a);f=0-i|0}while(0);Mb=m;return f|0}function sl(a,d,e,g,h){a=a|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0,u=0.0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0.0;y=a+156|0;z=c[y>>2]|0;A=c[a+144>>2]|0;q=+f[a+152>>2];r=c[e+260>>2]|0;s=a+132|0;t=A+-2|0;u=+f[a+148>>2];v=((t|0)>0?t:0)+3&-4;w=(v|0)<(A|0);x=a+160+(v<<2)|0;i=z;p=0;while(1){if((p|0)>=(r|0))break;m=(c[g+(p<<2)>>2]|0)+(c[s>>2]<<2)|0;n=c[e+(p<<2)>>2]|0;o=c[d+(p<<2)>>2]|0;l=0;i=z;while(1){if((l|0)>=(h|0))break;j=q*+(b[n+(l<<1)>>1]|0);k=0;while(1){if((k|0)>=(t|0))break;B=k+i|0;j=j-(+f[a+160+(k<<2)>>2]*+f[a+240+(p*160|0)+(B<<2)>>2]+ +f[a+160+((k|1)<<2)>>2]*+f[a+240+(p*160|0)+(B+1<<2)>>2]+ +f[a+160+((k|2)<<2)>>2]*+f[a+240+(p*160|0)+(B+2<<2)>>2]+ +f[a+160+((k|3)<<2)>>2]*+f[a+240+(p*160|0)+(B+3<<2)>>2]);k=k+4|0}if(w)j=j-+f[x>>2]*+f[a+240+(p*160|0)+(v+i<<2)>>2];B=((i|0)==0?A:i)+-1|0;C=+q0(+(j+ +f[m+(l<<2)>>2]));j=C-j;f[a+240+(p*160|0)+(B<<2)>>2]=j;f[a+240+(p*160|0)+(B+A<<2)>>2]=j;j=C*u;j=j>32767.0?32767.0:j;b[o+(l<<1)>>1]=~~(j>-32768.0?j:-32768.0);l=l+1|0;i=B}p=p+1|0}c[y>>2]=i;return}function tl(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=c>>1;t=d<<2;r=f<<2;s=(t>>2)+2|0;j=0;while(1){if((j|0)==16)break;h=a+-6|0;d=e[h>>1]|0;f=a+-4|0;k=e[f>>1]|0;c=a+-2|0;l=e[c>>1]|0;m=e[a>>1]|0;n=a+2|0;o=e[n>>1]|0;p=a+4|0;q=e[p>>1]|0;g=l-m|0;g=(g|0)>-1?g:0-g|0;do if(((g|0)<(t|0)?(i=k-l|0,(((i|0)>-1?i:0-i|0)|0)<(r|0)):0)?(i=o-m|0,(((i|0)>-1?i:0-i|0)|0)<(r|0)):0){if((g|0)>=(s|0)){b[c>>1]=(l+2+(k<<1)+o|0)>>>2;b[a>>1]=(m+2+k+(o<<1)|0)>>>2;break}i=d-l|0;if((((i|0)>-1?i:0-i|0)|0)<(r|0)){v=e[a+-8>>1]|0;g=m+l|0;b[c>>1]=(o+4+d+(g+k<<1)|0)>>>3;b[f>>1]=(l+2+d+k+m|0)>>>2;i=k+4+(d*3|0)|0;c=h;d=3;f=v<<1}else{i=l+2|0;d=2;f=o;g=k<<1}b[c>>1]=(i+g+f|0)>>>d;v=q-m|0;if((((v|0)>-1?v:0-v|0)|0)<(r|0)){v=e[a+6>>1]|0;i=m+l+o|0;b[a>>1]=(k+4+q+(i<<1)|0)>>>3;b[n>>1]=(l+2+m+o+q|0)>>>2;b[p>>1]=(i+4+(q*3|0)+(v<<1)|0)>>>3;break}else{b[a>>1]=(m+2+k+(o<<1)|0)>>>2;break}}while(0);a=a+(u<<1)|0;j=j+1|0}return}function ul(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=c>>1;t=d<<6;r=f<<6;s=t>>2|2;j=0;while(1){if((j|0)==8)break;h=a+-6|0;d=e[h>>1]|0;f=a+-4|0;k=e[f>>1]|0;c=a+-2|0;l=e[c>>1]|0;m=e[a>>1]|0;n=a+2|0;o=e[n>>1]|0;p=a+4|0;q=e[p>>1]|0;g=l-m|0;g=(g|0)>-1?g:0-g|0;do if(((g|0)<(t|0)?(i=k-l|0,(((i|0)>-1?i:0-i|0)|0)<(r|0)):0)?(i=o-m|0,(((i|0)>-1?i:0-i|0)|0)<(r|0)):0){if((g|0)>=(s|0)){b[c>>1]=(l+2+(k<<1)+o|0)>>>2;b[a>>1]=(m+2+k+(o<<1)|0)>>>2;break}i=d-l|0;if((((i|0)>-1?i:0-i|0)|0)<(r|0)){v=e[a+-8>>1]|0;g=m+l|0;b[c>>1]=(o+4+d+(g+k<<1)|0)>>>3;b[f>>1]=(l+2+d+k+m|0)>>>2;i=k+4+(d*3|0)|0;c=h;d=3;f=v<<1}else{i=l+2|0;d=2;f=o;g=k<<1}b[c>>1]=(i+g+f|0)>>>d;v=q-m|0;if((((v|0)>-1?v:0-v|0)|0)<(r|0)){v=e[a+6>>1]|0;i=m+l+o|0;b[a>>1]=(k+4+q+(i<<1)|0)>>>3;b[n>>1]=(l+2+m+o+q|0)>>>2;b[p>>1]=(i+4+(q*3|0)+(v<<1)|0)>>>3;break}else{b[a>>1]=(m+2+k+(o<<1)|0)>>>2;break}}while(0);a=a+(u<<1)|0;j=j+1|0}return}function vl(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=c>>1;t=d<<4;r=f<<4;s=t>>2|2;j=0;while(1){if((j|0)==8)break;h=a+-6|0;d=e[h>>1]|0;f=a+-4|0;k=e[f>>1]|0;c=a+-2|0;l=e[c>>1]|0;m=e[a>>1]|0;n=a+2|0;o=e[n>>1]|0;p=a+4|0;q=e[p>>1]|0;g=l-m|0;g=(g|0)>-1?g:0-g|0;do if(((g|0)<(t|0)?(i=k-l|0,(((i|0)>-1?i:0-i|0)|0)<(r|0)):0)?(i=o-m|0,(((i|0)>-1?i:0-i|0)|0)<(r|0)):0){if((g|0)>=(s|0)){b[c>>1]=(l+2+(k<<1)+o|0)>>>2;b[a>>1]=(m+2+k+(o<<1)|0)>>>2;break}i=d-l|0;if((((i|0)>-1?i:0-i|0)|0)<(r|0)){v=e[a+-8>>1]|0;g=m+l|0;b[c>>1]=(o+4+d+(g+k<<1)|0)>>>3;b[f>>1]=(l+2+d+k+m|0)>>>2;i=k+4+(d*3|0)|0;c=h;d=3;f=v<<1}else{i=l+2|0;d=2;f=o;g=k<<1}b[c>>1]=(i+g+f|0)>>>d;v=q-m|0;if((((v|0)>-1?v:0-v|0)|0)<(r|0)){v=e[a+6>>1]|0;i=m+l+o|0;b[a>>1]=(k+4+q+(i<<1)|0)>>>3;b[n>>1]=(l+2+m+o+q|0)>>>2;b[p>>1]=(i+4+(q*3|0)+(v<<1)|0)>>>3;break}else{b[a>>1]=(m+2+k+(o<<1)|0)>>>2;break}}while(0);a=a+(u<<1)|0;j=j+1|0}return}function wl(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=c>>1;t=d<<1;r=f<<1;s=(t>>2)+2|0;j=0;while(1){if((j|0)==16)break;h=a+-6|0;d=e[h>>1]|0;f=a+-4|0;k=e[f>>1]|0;c=a+-2|0;l=e[c>>1]|0;m=e[a>>1]|0;n=a+2|0;o=e[n>>1]|0;p=a+4|0;q=e[p>>1]|0;g=l-m|0;g=(g|0)>-1?g:0-g|0;do if(((g|0)<(t|0)?(i=k-l|0,(((i|0)>-1?i:0-i|0)|0)<(r|0)):0)?(i=o-m|0,(((i|0)>-1?i:0-i|0)|0)<(r|0)):0){if((g|0)>=(s|0)){b[c>>1]=(l+2+(k<<1)+o|0)>>>2;b[a>>1]=(m+2+k+(o<<1)|0)>>>2;break}i=d-l|0;if((((i|0)>-1?i:0-i|0)|0)<(r|0)){v=e[a+-8>>1]|0;g=m+l|0;b[c>>1]=(o+4+d+(g+k<<1)|0)>>>3;b[f>>1]=(l+2+d+k+m|0)>>>2;i=k+4+(d*3|0)|0;c=h;d=3;f=v<<1}else{i=l+2|0;d=2;f=o;g=k<<1}b[c>>1]=(i+g+f|0)>>>d;v=q-m|0;if((((v|0)>-1?v:0-v|0)|0)<(r|0)){v=e[a+6>>1]|0;i=m+l+o|0;b[a>>1]=(k+4+q+(i<<1)|0)>>>3;b[n>>1]=(l+2+m+o+q|0)>>>2;b[p>>1]=(i+4+(q*3|0)+(v<<1)|0)>>>3;break}else{b[a>>1]=(m+2+k+(o<<1)|0)>>>2;break}}while(0);a=a+(u<<1)|0;j=j+1|0}return}function xl(c,d,f,g,h,i,j,k){c=c|0;d=d|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,r=0,s=0,t=0,u=0,v=0;u=Mb;Mb=Mb+8576|0;t=u;s=g>>>1;r=i+-1|0;n=20672+(r<<2)|0;o=h+3|0;p=20672+(r<<2)+1|0;q=20672+(r<<2)+2|0;r=20672+(r<<2)+3|0;l=0;m=t;i=f+(0-s<<1)|0;while(1){if((l|0)>=(o|0))break;g=0;while(1){if((g|0)>=(k|0))break;v=H(e[i+(g+-1<<1)>>1]|0,a[n>>0]|0)|0;v=(H(e[i+(g<<1)>>1]|0,a[p>>0]|0)|0)+v|0;f=g+1|0;v=v+(H(e[i+(f<<1)>>1]|0,a[q>>0]|0)|0)|0;v=(v+(H(e[i+(g+2<<1)>>1]|0,a[r>>0]|0)|0)|0)>>>4&65535;b[m+(g<<1)>>1]=v;g=f}l=l+1|0;m=m+128|0;i=i+(s<<1)|0}q=d>>>1;p=j+-1|0;m=20672+(p<<2)|0;n=20672+(p<<2)+1|0;o=20672+(p<<2)+2|0;p=20672+(p<<2)+3|0;l=0;i=t+128|0;while(1){if((l|0)>=(h|0))break;g=0;while(1){if((g|0)>=(k|0))break;v=H(b[i+(g+-64<<1)>>1]|0,a[m>>0]|0)|0;v=(H(b[i+(g<<1)>>1]|0,a[n>>0]|0)|0)+v|0;v=v+(H(b[i+(g+64<<1)>>1]|0,a[o>>0]|0)|0)|0;v=(v+(H(b[i+(g+128<<1)>>1]|0,a[p>>0]|0)|0)>>6)+2>>2;b[c+(g<<1)>>1]=v>>>0<4096?v:0-v>>31&4095;g=g+1|0}c=c+(q<<1)|0;l=l+1|0;i=i+128|0}Mb=u;return}function yl(c,d,f,g,h,i,j,k){c=c|0;d=d|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,r=0,s=0,t=0,u=0,v=0;u=Mb;Mb=Mb+8576|0;t=u;s=g>>>1;r=i+-1|0;n=20672+(r<<2)|0;o=h+3|0;p=20672+(r<<2)+1|0;q=20672+(r<<2)+2|0;r=20672+(r<<2)+3|0;l=0;m=t;i=f+(0-s<<1)|0;while(1){if((l|0)>=(o|0))break;g=0;while(1){if((g|0)>=(k|0))break;v=H(e[i+(g+-1<<1)>>1]|0,a[n>>0]|0)|0;v=(H(e[i+(g<<1)>>1]|0,a[p>>0]|0)|0)+v|0;f=g+1|0;v=v+(H(e[i+(f<<1)>>1]|0,a[q>>0]|0)|0)|0;v=(v+(H(e[i+(g+2<<1)>>1]|0,a[r>>0]|0)|0)|0)>>>2&65535;b[m+(g<<1)>>1]=v;g=f}l=l+1|0;m=m+128|0;i=i+(s<<1)|0}q=d>>>1;p=j+-1|0;m=20672+(p<<2)|0;n=20672+(p<<2)+1|0;o=20672+(p<<2)+2|0;p=20672+(p<<2)+3|0;l=0;i=t+128|0;while(1){if((l|0)>=(h|0))break;g=0;while(1){if((g|0)>=(k|0))break;v=H(b[i+(g+-64<<1)>>1]|0,a[m>>0]|0)|0;v=(H(b[i+(g<<1)>>1]|0,a[n>>0]|0)|0)+v|0;v=v+(H(b[i+(g+64<<1)>>1]|0,a[o>>0]|0)|0)|0;v=(v+(H(b[i+(g+128<<1)>>1]|0,a[p>>0]|0)|0)>>6)+8>>4;b[c+(g<<1)>>1]=v>>>0<1024?v:0-v>>31&1023;g=g+1|0}c=c+(q<<1)|0;l=l+1|0;i=i+128|0}Mb=u;return}function zl(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=c>>1;t=d<<6;r=f<<6;s=t>>2|2;j=0;while(1){if((j|0)==16)break;h=a+-6|0;d=e[h>>1]|0;f=a+-4|0;k=e[f>>1]|0;c=a+-2|0;l=e[c>>1]|0;m=e[a>>1]|0;n=a+2|0;o=e[n>>1]|0;p=a+4|0;q=e[p>>1]|0;g=l-m|0;g=(g|0)>-1?g:0-g|0;do if(((g|0)<(t|0)?(i=k-l|0,(((i|0)>-1?i:0-i|0)|0)<(r|0)):0)?(i=o-m|0,(((i|0)>-1?i:0-i|0)|0)<(r|0)):0){if((g|0)>=(s|0)){b[c>>1]=(l+2+(k<<1)+o|0)>>>2;b[a>>1]=(m+2+k+(o<<1)|0)>>>2;break}i=d-l|0;if((((i|0)>-1?i:0-i|0)|0)<(r|0)){v=e[a+-8>>1]|0;g=m+l|0;b[c>>1]=(o+4+d+(g+k<<1)|0)>>>3;b[f>>1]=(l+2+d+k+m|0)>>>2;i=k+4+(d*3|0)|0;c=h;d=3;f=v<<1}else{i=l+2|0;d=2;f=o;g=k<<1}b[c>>1]=(i+g+f|0)>>>d;v=q-m|0;if((((v|0)>-1?v:0-v|0)|0)<(r|0)){v=e[a+6>>1]|0;i=m+l+o|0;b[a>>1]=(k+4+q+(i<<1)|0)>>>3;b[n>>1]=(l+2+m+o+q|0)>>>2;b[p>>1]=(i+4+(q*3|0)+(v<<1)|0)>>>3;break}else{b[a>>1]=(m+2+k+(o<<1)|0)>>>2;break}}while(0);a=a+(u<<1)|0;j=j+1|0}return}function Al(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=c>>1;t=d<<4;r=f<<4;s=t>>2|2;j=0;while(1){if((j|0)==16)break;h=a+-6|0;d=e[h>>1]|0;f=a+-4|0;k=e[f>>1]|0;c=a+-2|0;l=e[c>>1]|0;m=e[a>>1]|0;n=a+2|0;o=e[n>>1]|0;p=a+4|0;q=e[p>>1]|0;g=l-m|0;g=(g|0)>-1?g:0-g|0;do if(((g|0)<(t|0)?(i=k-l|0,(((i|0)>-1?i:0-i|0)|0)<(r|0)):0)?(i=o-m|0,(((i|0)>-1?i:0-i|0)|0)<(r|0)):0){if((g|0)>=(s|0)){b[c>>1]=(l+2+(k<<1)+o|0)>>>2;b[a>>1]=(m+2+k+(o<<1)|0)>>>2;break}i=d-l|0;if((((i|0)>-1?i:0-i|0)|0)<(r|0)){v=e[a+-8>>1]|0;g=m+l|0;b[c>>1]=(o+4+d+(g+k<<1)|0)>>>3;b[f>>1]=(l+2+d+k+m|0)>>>2;i=k+4+(d*3|0)|0;c=h;d=3;f=v<<1}else{i=l+2|0;d=2;f=o;g=k<<1}b[c>>1]=(i+g+f|0)>>>d;v=q-m|0;if((((v|0)>-1?v:0-v|0)|0)<(r|0)){v=e[a+6>>1]|0;i=m+l+o|0;b[a>>1]=(k+4+q+(i<<1)|0)>>>3;b[n>>1]=(l+2+m+o+q|0)>>>2;b[p>>1]=(i+4+(q*3|0)+(v<<1)|0)>>>3;break}else{b[a>>1]=(m+2+k+(o<<1)|0)>>>2;break}}while(0);a=a+(u<<1)|0;j=j+1|0}return}function Bl(c,d,f,g,h,i,j,k){c=c|0;d=d|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,r=0,s=0,t=0,u=0,v=0;u=Mb;Mb=Mb+8576|0;t=u;s=g>>>1;r=i+-1|0;n=20672+(r<<2)|0;o=h+3|0;p=20672+(r<<2)+1|0;q=20672+(r<<2)+2|0;r=20672+(r<<2)+3|0;l=0;m=t;i=f+(0-s<<1)|0;while(1){if((l|0)>=(o|0))break;g=0;while(1){if((g|0)>=(k|0))break;v=H(e[i+(g+-1<<1)>>1]|0,a[n>>0]|0)|0;v=(H(e[i+(g<<1)>>1]|0,a[p>>0]|0)|0)+v|0;f=g+1|0;v=v+(H(e[i+(f<<1)>>1]|0,a[q>>0]|0)|0)|0;v=(v+(H(e[i+(g+2<<1)>>1]|0,a[r>>0]|0)|0)|0)>>>1&65535;b[m+(g<<1)>>1]=v;g=f}l=l+1|0;m=m+128|0;i=i+(s<<1)|0}q=d>>>1;p=j+-1|0;m=20672+(p<<2)|0;n=20672+(p<<2)+1|0;o=20672+(p<<2)+2|0;p=20672+(p<<2)+3|0;l=0;i=t+128|0;while(1){if((l|0)>=(h|0))break;g=0;while(1){if((g|0)>=(k|0))break;v=H(b[i+(g+-64<<1)>>1]|0,a[m>>0]|0)|0;v=(H(b[i+(g<<1)>>1]|0,a[n>>0]|0)|0)+v|0;v=v+(H(b[i+(g+64<<1)>>1]|0,a[o>>0]|0)|0)|0;v=(v+(H(b[i+(g+128<<1)>>1]|0,a[p>>0]|0)|0)>>6)+16>>5;b[c+(g<<1)>>1]=v>>>0<512?v:0-v>>31&511;g=g+1|0}c=c+(q<<1)|0;l=l+1|0;i=i+128|0}Mb=u;return}function Cl(c,f,g,h,i){c=c|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;l=Mb;Mb=Mb+16|0;k=l;if(!g){g=d[c+-1>>0]|0;h=g}else{h=d[c+-1>>0]|0;g=d[c+~i>>0]|0}t=d[c+(i+-1)>>0]|0;s=t+2|0;r=d[c+((i<<1)+-1)>>0]|0;q=r+2|0;p=d[c+((i*3|0)+-1)>>0]|0;o=d[c+((i<<2)+-1)>>0]|0;n=d[c+((i*5|0)+-1)>>0]|0;m=d[c+((i*6|0)+-1)>>0]|0;j=d[c+((i*7|0)+-1)>>0]|0;a[k>>0]=(s+g+(h<<1)|0)>>>2;a[k+1>>0]=(q+h+(t<<1)|0)>>>2;a[k+2>>0]=(s+(r<<1)+p|0)>>>2;a[k+3>>0]=(q+(p<<1)+o|0)>>>2;a[k+4>>0]=(p+2+(o<<1)+n|0)>>>2;a[k+5>>0]=(o+2+(n<<1)+m|0)>>>2;a[k+6>>0]=(n+2+(m<<1)+j|0)>>>2;a[k+7>>0]=(m+2+(j*3|0)|0)>>>2;j=0;h=c;g=f;while(1){if((j|0)==8)break;t=(e[g>>1]|0)+(d[k+j>>0]|0)|0;a[h>>0]=t;t=t+(e[g+2>>1]|0)|0;a[h+1>>0]=t;t=t+(e[g+4>>1]|0)|0;a[h+2>>0]=t;t=t+(e[g+6>>1]|0)|0;a[h+3>>0]=t;t=t+(e[g+8>>1]|0)|0;a[h+4>>0]=t;t=t+(e[g+10>>1]|0)|0;a[h+5>>0]=t;t=t+(e[g+12>>1]|0)|0;a[h+6>>0]=t;a[h+7>>0]=t+(e[g+14>>1]|0);j=j+1|0;h=h+i|0;g=g+16|0}h=f+128|0;do{b[f>>1]=0;f=f+2|0}while((f|0)<(h|0));Mb=l;return}function Dl(a,b,c,e,f){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;g=0;h=0;a=c;while(1){if((g|0)>=(f|0))break;w=(d[b>>0]|0)-(d[a>>0]|0)|0;v=(d[b+1>>0]|0)-(d[a+1>>0]|0)|0;u=(d[b+2>>0]|0)-(d[a+2>>0]|0)|0;t=(d[b+3>>0]|0)-(d[a+3>>0]|0)|0;s=(d[b+4>>0]|0)-(d[a+4>>0]|0)|0;r=(d[b+5>>0]|0)-(d[a+5>>0]|0)|0;q=(d[b+6>>0]|0)-(d[a+6>>0]|0)|0;p=(d[b+7>>0]|0)-(d[a+7>>0]|0)|0;o=(d[b+8>>0]|0)-(d[a+8>>0]|0)|0;n=(d[b+9>>0]|0)-(d[a+9>>0]|0)|0;m=(d[b+10>>0]|0)-(d[a+10>>0]|0)|0;l=(d[b+11>>0]|0)-(d[a+11>>0]|0)|0;k=(d[b+12>>0]|0)-(d[a+12>>0]|0)|0;j=(d[b+13>>0]|0)-(d[a+13>>0]|0)|0;i=(d[b+14>>0]|0)-(d[a+14>>0]|0)|0;c=(d[b+15>>0]|0)-(d[a+15>>0]|0)|0;g=g+1|0;h=((w|0)>-1?w:0-w|0)+h+((v|0)>-1?v:0-v|0)+((u|0)>-1?u:0-u|0)+((t|0)>-1?t:0-t|0)+((s|0)>-1?s:0-s|0)+((r|0)>-1?r:0-r|0)+((q|0)>-1?q:0-q|0)+((p|0)>-1?p:0-p|0)+((o|0)>-1?o:0-o|0)+((n|0)>-1?n:0-n|0)+((m|0)>-1?m:0-m|0)+((l|0)>-1?l:0-l|0)+((k|0)>-1?k:0-k|0)+((j|0)>-1?j:0-j|0)+((i|0)>-1?i:0-i|0)+((c|0)>-1?c:0-c|0)|0;b=b+e|0;a=a+e|0}return h|0}function El(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,o=0,p=0,q=0,r=0,s=0,t=0;b=a[c>>0]|0;h=a[e>>0]|0;p=(b&255)-(h&255)|0;j=(d[c+1>>0]|0)-(d[e+1>>0]|0)|0;q=j-p|0;k=(d[c+2>>0]|0)-(d[e+2>>0]|0)|0;j=k-j|0;l=(d[c+3>>0]|0)-(d[e+3>>0]|0)|0;k=l-k|0;m=(d[c+4>>0]|0)-(d[e+4>>0]|0)|0;l=m-l|0;n=(d[c+5>>0]|0)-(d[e+5>>0]|0)|0;m=n-m|0;i=(d[c+6>>0]|0)-(d[e+6>>0]|0)|0;n=i-n|0;i=(d[c+7>>0]|0)-(d[e+7>>0]|0)-i|0;o=1;i=((q|0)>-1?q:0-q|0)+((p|0)>-1?p:0-p|0)+((j|0)>-1?j:0-j|0)+((k|0)>-1?k:0-k|0)+((l|0)>-1?l:0-l|0)+((m|0)>-1?m:0-m|0)+((n|0)>-1?n:0-n|0)+((i|0)>-1?i:0-i|0)|0;while(1){k=c+f|0;l=e+f|0;if((o|0)>=(g|0))break;m=a[k>>0]|0;n=a[l>>0]|0;b=(h&255)-(b&255)+((m&255)-(n&255))|0;j=1;b=((b|0)>-1?b:0-b|0)+i|0;h=m;i=n;while(1){if((j|0)==8)break;p=a[k+j>>0]|0;q=a[l+j>>0]|0;s=(d[c+j>>0]|0)-(d[e+j>>0]|0)|0;t=(h&255)-(i&255)|0;r=j-f+-1|0;r=(p&255)-(q&255)-(jU(s,t,t+s-(d[k+r>>0]|0)+(d[l+r>>0]|0)|0)|0)|0;j=j+1|0;b=((r|0)>-1?r:0-r|0)+b|0;h=p;i=q}o=o+1|0;i=b;e=l;c=k;b=m;h=n}return i|0}function Fl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=a+12|0;jB(c[e>>2]|0);WU(c[e>>2]|0,b);a=j0(b,c[e>>2]|0)|0;a:do if((a|0)>=0){a=c[e>>2]|0;c[b>>2]=c[a>>2];c[b+4>>2]=c[a+4>>2];c[b+8>>2]=c[a+8>>2];c[b+12>>2]=c[a+12>>2];c[b+16>>2]=c[a+16>>2];c[b+20>>2]=c[a+20>>2];c[b+24>>2]=c[a+24>>2];c[b+28>>2]=c[a+28>>2];a=b+32|0;d=(c[e>>2]|0)+32|0;c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];c[a+16>>2]=c[d+16>>2];c[a+20>>2]=c[d+20>>2];c[a+24>>2]=c[d+24>>2];c[a+28>>2]=c[d+28>>2];a=c[e>>2]|0;do if((c[a+64>>2]|0)!=(a|0)){a=c[a+352>>2]<<2;if(!a){jB(b);a=-558323010;break a}d=RD(a)|0;c[b+64>>2]=d;if(!d){jB(b);a=-12;break a}else{e=c[e>>2]|0;Mn(d|0,c[e+64>>2]|0,a|0)|0;a=e;break}}else c[b+64>>2]=b;while(0);c[b+80>>2]=c[a+80>>2];c[b+68>>2]=c[a+68>>2];c[b+72>>2]=c[a+72>>2];f=a+240|0;d=c[f+4>>2]|0;e=b+240|0;c[e>>2]=c[f>>2];c[e+4>>2]=d;c[b+76>>2]=c[a+76>>2];c[b+352>>2]=c[a+352>>2];a=0}while(0);return a|0}function Gl(c,e,f,g,h,i,j,k,l){c=c|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,q=0,r=0,s=0,t=0,u=0,v=0,w=0;u=Mb;Mb=Mb+8576|0;t=u;s=j+-1|0;o=20672+(s<<2)|0;p=i+3|0;q=20672+(s<<2)+1|0;r=20672+(s<<2)+2|0;s=20672+(s<<2)+3|0;m=t;n=0;f=f+(0-g)|0;while(1){if((n|0)>=(p|0))break;j=0;while(1){if((j|0)>=(l|0))break;w=H(d[f+(j+-1)>>0]|0,a[o>>0]|0)|0;w=(H(d[f+j>>0]|0,a[q>>0]|0)|0)+w|0;v=j+1|0;w=w+(H(d[f+v>>0]|0,a[r>>0]|0)|0)|0;w=w+(H(d[f+(j+2)>>0]|0,a[s>>0]|0)|0)&65535;b[m+(j<<1)>>1]=w;j=v}m=m+128|0;n=n+1|0;f=f+g|0}q=k+-1|0;n=20672+(q<<2)|0;o=20672+(q<<2)+1|0;p=20672+(q<<2)+2|0;q=20672+(q<<2)+3|0;f=t+128|0;m=0;while(1){if((m|0)>=(i|0))break;j=0;while(1){if((j|0)>=(l|0))break;w=H(b[f+(j+-64<<1)>>1]|0,a[n>>0]|0)|0;w=(H(b[f+(j<<1)>>1]|0,a[o>>0]|0)|0)+w|0;w=w+(H(b[f+(j+64<<1)>>1]|0,a[p>>0]|0)|0)|0;w=w+(H(b[f+(j+128<<1)>>1]|0,a[q>>0]|0)|0)>>6;w=(b[h+(j<<1)>>1]|0)+64+w>>7;a[c+j>>0]=w>>>0>255?0-w>>31:w;j=j+1|0}h=h+128|0;c=c+e|0;f=f+128|0;m=m+1|0}Mb=u;return}function Hl(a,c){a=a|0;c=c|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=c>>1;i=0-q|0;j=a+6+(i<<1)|0;f=a+(q<<2<<1)+-2|0;d=f+(0-(c&-2)<<1)|0;p=a+((q*14|0)+-2)|0;o=a+((c+-2&-2)-(c>>>1<<2))|0;h=(e[f>>1]|0)-(e[d>>1]|0)|0;c=(e[j+2>>1]|0)-(e[j+-2>>1]|0)|0;g=2;while(1){if((g|0)==5)break;n=f+(q<<1)|0;m=d+(i<<1)|0;l=(H((e[j+(g<<1)>>1]|0)-(e[j+(0-g<<1)>>1]|0)|0,g)|0)+c|0;h=(H((e[n>>1]|0)-(e[m>>1]|0)|0,g)|0)+h|0;c=l;d=m;f=n;g=g+1|0}n=(c*17|0)+16>>5;g=(h*17|0)+16>>5;h=n<<1;i=n*3|0;j=n<<2;k=n*5|0;l=n*6|0;m=n*7|0;f=8;d=(H(g+n|0,-3)|0)+16+((e[o+16>>1]|0)+(e[p>>1]|0)<<4)|0;c=a;while(1){if(!f)break;a=d>>5;b[c>>1]=a>>>0<16384?a:0-a>>31&16383;a=d+n>>5;b[c+2>>1]=a>>>0<16384?a:0-a>>31&16383;a=d+h>>5;b[c+4>>1]=a>>>0<16384?a:0-a>>31&16383;a=d+i>>5;b[c+6>>1]=a>>>0<16384?a:0-a>>31&16383;a=d+j>>5;b[c+8>>1]=a>>>0<16384?a:0-a>>31&16383;a=d+k>>5;b[c+10>>1]=a>>>0<16384?a:0-a>>31&16383;a=d+l>>5;b[c+12>>1]=a>>>0<16384?a:0-a>>31&16383;a=d+m>>5;b[c+14>>1]=a>>>0<16384?a:0-a>>31&16383;f=f+-1|0;d=d+g|0;c=c+(q<<1)|0}return}function Il(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;u=(e>>2)+2|0;m=0;while(1){if((m|0)==8)break;k=b+-3|0;i=d[k>>0]|0;j=b+-2|0;n=d[j>>0]|0;g=b+-1|0;o=d[g>>0]|0;p=d[b>>0]|0;q=b+1|0;r=d[q>>0]|0;s=b+2|0;t=d[s>>0]|0;h=o-p|0;h=(h|0)>-1?h:0-h|0;do if(((h|0)<(e|0)?(l=n-o|0,(((l|0)>-1?l:0-l|0)|0)<(f|0)):0)?(l=r-p|0,(((l|0)>-1?l:0-l|0)|0)<(f|0)):0){if((h|0)>=(u|0)){a[g>>0]=(o+2+(n<<1)+r|0)>>>2;a[b>>0]=(p+2+n+(r<<1)|0)>>>2;break}l=i-o|0;if((((l|0)>-1?l:0-l|0)|0)<(f|0)){w=d[b+-4>>0]|0;v=p+o|0;a[g>>0]=(r+4+i+(v+n<<1)|0)>>>3;a[j>>0]=(o+2+i+n+p|0)>>>2;l=n+4+(i*3|0)|0;g=k;h=3;i=w<<1;j=v}else{l=o+2|0;h=2;i=r;j=n<<1}a[g>>0]=(l+j+i|0)>>>h;w=t-p|0;if((((w|0)>-1?w:0-w|0)|0)<(f|0)){w=d[b+3>>0]|0;v=p+o+r|0;a[b>>0]=(n+4+t+(v<<1)|0)>>>3;a[q>>0]=(o+2+p+r+t|0)>>>2;a[s>>0]=(v+4+(t*3|0)+(w<<1)|0)>>>3;break}else{a[b>>0]=(p+2+n+(r<<1)|0)>>>2;break}}while(0);b=b+c|0;m=m+1|0}return}function Jl(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,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;y=a+32|0;z=a+36|0;h=c[z>>2]|0;s=c[a+48>>2]|0;i=0;j=c[y>>2]|0;while(1){if((j|0)<(s|0))break;i=i+1|0;j=j-s|0}t=a+4|0;u=a+12|0;v=a+8|0;w=a+28|0;x=a+24|0;r=a+40|0;q=0;while(1){if((q|0)>=(f|0))break;l=(c[t>>2]|0)+((H(c[u>>2]|0,j)|0)<<1)|0;m=c[v>>2]|0;n=((m|0)>1?m:1)&2147483646;k=0;p=0;a=16384;while(1){o=k|1;if((o|0)>=(m|0))break;B=k+i|0;A=(H(b[l+(k<<1)>>1]|0,b[e+(B<<1)>>1]|0)|0)+a|0;k=k+2|0;p=(H(b[l+(o<<1)>>1]|0,b[e+(B+1<<1)>>1]|0)|0)+p|0;a=A}if((n|0)<(m|0))a=(H(b[l+(n<<1)>>1]|0,b[e+(n+i<<1)>>1]|0)|0)+a|0;a=aX(a|0,((a|0)<0)<<31>>31|0,p|0,((p|0)<0)<<31>>31|0)|0;a=BU(a|0,M()|0,15)|0;M()|0;b[d+(q<<1)>>1]=(a+32768|0)>>>0>65535?a>>31^32767:a;a=(c[w>>2]|0)+h|0;h=c[r>>2]|0;B=(a|0)<(h|0);h=B?0:h;j=(c[x>>2]|0)+j+((B^1)&1)|0;while(1){if((j|0)<(s|0))break;i=i+1|0;j=j-s|0}q=q+1|0;h=a-h|0}if(g|0){c[z>>2]=h;c[y>>2]=j}return i|0}function Kl(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;u=(e>>2)+2|0;m=0;while(1){if((m|0)==16)break;k=b+-3|0;i=d[k>>0]|0;j=b+-2|0;n=d[j>>0]|0;g=b+-1|0;o=d[g>>0]|0;p=d[b>>0]|0;q=b+1|0;r=d[q>>0]|0;s=b+2|0;t=d[s>>0]|0;h=o-p|0;h=(h|0)>-1?h:0-h|0;do if(((h|0)<(e|0)?(l=n-o|0,(((l|0)>-1?l:0-l|0)|0)<(f|0)):0)?(l=r-p|0,(((l|0)>-1?l:0-l|0)|0)<(f|0)):0){if((h|0)>=(u|0)){a[g>>0]=(o+2+(n<<1)+r|0)>>>2;a[b>>0]=(p+2+n+(r<<1)|0)>>>2;break}l=i-o|0;if((((l|0)>-1?l:0-l|0)|0)<(f|0)){w=d[b+-4>>0]|0;v=p+o|0;a[g>>0]=(r+4+i+(v+n<<1)|0)>>>3;a[j>>0]=(o+2+i+n+p|0)>>>2;l=n+4+(i*3|0)|0;g=k;h=3;i=w<<1;j=v}else{l=o+2|0;h=2;i=r;j=n<<1}a[g>>0]=(l+j+i|0)>>>h;w=t-p|0;if((((w|0)>-1?w:0-w|0)|0)<(f|0)){w=d[b+3>>0]|0;v=p+o+r|0;a[b>>0]=(n+4+t+(v<<1)|0)>>>3;a[q>>0]=(o+2+p+r+t|0)>>>2;a[s>>0]=(v+4+(t*3|0)+(w<<1)|0)>>>3;break}else{a[b>>0]=(p+2+n+(r<<1)|0)>>>2;break}}while(0);b=b+c|0;m=m+1|0}return}function Ll(c,d,f,g,h,i,j,k,l,m,n,o,p,q){c=c|0;d=d|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;E=g>>>1;D=d>>>1;x=p+-1|0;z=20704+(x<<4)|0;A=j+3|0;B=E*3|0;C=20704+(x<<4)+1|0;r=g&-2;s=20704+(x<<4)+2|0;t=20704+(x<<4)+3|0;u=20704+(x<<4)+4|0;v=20704+(x<<4)+5|0;w=20704+(x<<4)+6|0;x=20704+(x<<4)+7|0;y=E<<2;n=(n+m<<4|1)<<j+2;p=c;g=0;d=f;while(1){if((g|0)>=(i|0))break;o=0;while(1){if((o|0)>=(q|0))break;f=H(e[d+(o-B<<1)>>1]|0,a[z>>0]|0)|0;f=(H(e[d+(o-r<<1)>>1]|0,a[C>>0]|0)|0)+f|0;f=f+(H(e[d+(o-E<<1)>>1]|0,a[s>>0]|0)|0)|0;f=f+(H(e[d+(o<<1)>>1]|0,a[t>>0]|0)|0)|0;f=f+(H(e[d+(o+E<<1)>>1]|0,a[u>>0]|0)|0)|0;f=f+(H(e[d+(o+r<<1)>>1]|0,a[v>>0]|0)|0)|0;f=f+(H(e[d+(o+B<<1)>>1]|0,a[w>>0]|0)|0)|0;f=H(f+(H(e[d+(o+y<<1)>>1]|0,a[x>>0]|0)|0)>>4,l)|0;f=(H(b[h+(o<<1)>>1]|0,k)|0)+n+f>>A;b[p+(o<<1)>>1]=f>>>0<4096?f:0-f>>31&4095;o=o+1|0}h=h+128|0;p=p+(D<<1)|0;g=g+1|0;d=d+(E<<1)|0}return}function Ml(c,d,f,g,h,i,j,k,l,m,n,o,p,q){c=c|0;d=d|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;E=g>>>1;D=d>>>1;x=p+-1|0;z=20704+(x<<4)|0;A=j+5|0;B=E*3|0;C=20704+(x<<4)+1|0;r=g&-2;s=20704+(x<<4)+2|0;t=20704+(x<<4)+3|0;u=20704+(x<<4)+4|0;v=20704+(x<<4)+5|0;w=20704+(x<<4)+6|0;x=20704+(x<<4)+7|0;y=E<<2;n=(n+m<<2|1)<<j+4;p=c;g=0;d=f;while(1){if((g|0)>=(i|0))break;o=0;while(1){if((o|0)>=(q|0))break;f=H(e[d+(o-B<<1)>>1]|0,a[z>>0]|0)|0;f=(H(e[d+(o-r<<1)>>1]|0,a[C>>0]|0)|0)+f|0;f=f+(H(e[d+(o-E<<1)>>1]|0,a[s>>0]|0)|0)|0;f=f+(H(e[d+(o<<1)>>1]|0,a[t>>0]|0)|0)|0;f=f+(H(e[d+(o+E<<1)>>1]|0,a[u>>0]|0)|0)|0;f=f+(H(e[d+(o+r<<1)>>1]|0,a[v>>0]|0)|0)|0;f=f+(H(e[d+(o+B<<1)>>1]|0,a[w>>0]|0)|0)|0;f=H(f+(H(e[d+(o+y<<1)>>1]|0,a[x>>0]|0)|0)>>2,l)|0;f=(H(b[h+(o<<1)>>1]|0,k)|0)+n+f>>A;b[p+(o<<1)>>1]=f>>>0<1024?f:0-f>>31&1023;o=o+1|0}h=h+128|0;p=p+(D<<1)|0;g=g+1|0;d=d+(E<<1)|0}return}function Nl(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;o=Mb;Mb=Mb+32|0;l=o+24|0;k=o+16|0;j=o;m=a+4|0;e=c[(c[m>>2]|0)+4>>2]|0;h=a+16|0;d=c[h>>2]|0;a:do if(!e)n=13;else{f=c[d+4>>2]|0;b=0;while(1){g=c[e+(b<<2)>>2]|0;if(!g)break;if((f|0)==(g|0)){n=13;break a}else b=b+1|0}b=hT(f)|0;if(!b)b=217024;else b=c[b+8>>2]|0;i=c[(c[h>>2]|0)+4>>2]|0;d=c[c[m>>2]>>2]|0;c[j>>2]=b;c[j+4>>2]=i;c[j+8>>2]=d;AD(a,16,200432,j);d=0;while(1){b=c[(c[(c[m>>2]|0)+4>>2]|0)+(d<<2)>>2]|0;if(!b)break;b=hT(b)|0;if(!b)b=217024;else b=c[b+8>>2]|0;j=c[(c[(c[m>>2]|0)+4>>2]|0)+(d<<2)>>2]|0;c[k>>2]=b;c[k+4>>2]=j;AD(a,16,200518,k);d=d+1|0}AD(a,16,222312,l);b=-22}while(0);do if((n|0)==13){b=FB(c[a+20>>2]|0,d)|0;if((b|0)>=0){l=a+24|0;n=c[l+4>>2]|0;b=a+32|0;c[b>>2]=c[l>>2];c[b+4>>2]=n;b=c[(c[m>>2]|0)+16>>2]|0;if(b|0?(i=Vb[b&31](a)|0,(i|0)<0):0){b=i;break}b=0}}while(0);Mb=o;return b|0}function Ol(a,c){a=a|0;c=c|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=c>>1;i=0-q|0;j=a+6+(i<<1)|0;f=a+(q<<2<<1)+-2|0;d=f+(0-(c&-2)<<1)|0;p=a+((q*14|0)+-2)|0;o=a+((c+-2&-2)-(c>>>1<<2))|0;h=(e[f>>1]|0)-(e[d>>1]|0)|0;c=(e[j+2>>1]|0)-(e[j+-2>>1]|0)|0;g=2;while(1){if((g|0)==5)break;n=f+(q<<1)|0;m=d+(i<<1)|0;l=(H((e[j+(g<<1)>>1]|0)-(e[j+(0-g<<1)>>1]|0)|0,g)|0)+c|0;h=(H((e[n>>1]|0)-(e[m>>1]|0)|0,g)|0)+h|0;c=l;d=m;f=n;g=g+1|0}n=(c*17|0)+16>>5;g=(h*17|0)+16>>5;h=n<<1;i=n*3|0;j=n<<2;k=n*5|0;l=n*6|0;m=n*7|0;f=8;d=(H(g+n|0,-3)|0)+16+((e[o+16>>1]|0)+(e[p>>1]|0)<<4)|0;c=a;while(1){if(!f)break;a=d>>5;b[c>>1]=a>>>0<4096?a:0-a>>31&4095;a=d+n>>5;b[c+2>>1]=a>>>0<4096?a:0-a>>31&4095;a=d+h>>5;b[c+4>>1]=a>>>0<4096?a:0-a>>31&4095;a=d+i>>5;b[c+6>>1]=a>>>0<4096?a:0-a>>31&4095;a=d+j>>5;b[c+8>>1]=a>>>0<4096?a:0-a>>31&4095;a=d+k>>5;b[c+10>>1]=a>>>0<4096?a:0-a>>31&4095;a=d+l>>5;b[c+12>>1]=a>>>0<4096?a:0-a>>31&4095;a=d+m>>5;b[c+14>>1]=a>>>0<4096?a:0-a>>31&4095;f=f+-1|0;d=d+g|0;c=c+(q<<1)|0}return}function Pl(a,c){a=a|0;c=c|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=c>>1;i=0-q|0;j=a+6+(i<<1)|0;f=a+(q<<2<<1)+-2|0;d=f+(0-(c&-2)<<1)|0;p=a+((q*14|0)+-2)|0;o=a+((c+-2&-2)-(c>>>1<<2))|0;h=(e[f>>1]|0)-(e[d>>1]|0)|0;c=(e[j+2>>1]|0)-(e[j+-2>>1]|0)|0;g=2;while(1){if((g|0)==5)break;n=f+(q<<1)|0;m=d+(i<<1)|0;l=(H((e[j+(g<<1)>>1]|0)-(e[j+(0-g<<1)>>1]|0)|0,g)|0)+c|0;h=(H((e[n>>1]|0)-(e[m>>1]|0)|0,g)|0)+h|0;c=l;d=m;f=n;g=g+1|0}n=(c*17|0)+16>>5;g=(h*17|0)+16>>5;h=n<<1;i=n*3|0;j=n<<2;k=n*5|0;l=n*6|0;m=n*7|0;f=8;d=(H(g+n|0,-3)|0)+16+((e[o+16>>1]|0)+(e[p>>1]|0)<<4)|0;c=a;while(1){if(!f)break;a=d>>5;b[c>>1]=a>>>0<1024?a:0-a>>31&1023;a=d+n>>5;b[c+2>>1]=a>>>0<1024?a:0-a>>31&1023;a=d+h>>5;b[c+4>>1]=a>>>0<1024?a:0-a>>31&1023;a=d+i>>5;b[c+6>>1]=a>>>0<1024?a:0-a>>31&1023;a=d+j>>5;b[c+8>>1]=a>>>0<1024?a:0-a>>31&1023;a=d+k>>5;b[c+10>>1]=a>>>0<1024?a:0-a>>31&1023;a=d+l>>5;b[c+12>>1]=a>>>0<1024?a:0-a>>31&1023;a=d+m>>5;b[c+14>>1]=a>>>0<1024?a:0-a>>31&1023;f=f+-1|0;d=d+g|0;c=c+(q<<1)|0}return}function Ql(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;l=Mb;Mb=Mb+16|0;h=l;j=(g|0)==0?1112624:g;g=c[j>>2]|0;a:do if(!e)if(!g)g=0;else k=19;else{i=(b|0)==0?h:b;if(!f)g=-2;else{if(!g){g=a[e>>0]|0;if(g<<24>>24>-1){c[i>>2]=g&255;g=g<<24>>24!=0&1;break}h=(V1()|0)+188|0;g=a[e>>0]|0;if(!(c[c[h>>2]>>2]|0)){c[i>>2]=g<<24>>24&57343;g=1;break}g=(g&255)+-194|0;if(g>>>0>50){k=19;break}g=c[16e4+(g<<2)>>2]|0;h=f+-1|0;if(h){e=e+1|0;k=11}}else{h=f;k=11}b:do if((k|0)==11){b=d[e>>0]|0;m=b>>>3;if((m+-16|m+(g>>26))>>>0>7){k=19;break a}g=b+-128|g<<6;b=h+-1|0;if((g|0)<0)do{e=e+1|0;if(!b)break b;h=a[e>>0]|0;if((h&-64)<<24>>24!=-128){k=19;break a}g=(h&255)+-128|g<<6;b=b+-1|0}while((g|0)<0);c[j>>2]=0;c[i>>2]=g;g=f-b|0;break a}while(0);c[j>>2]=g;g=-2}}while(0);if((k|0)==19){c[j>>2]=0;g=j2()|0;c[g>>2]=84;g=-1}Mb=l;return g|0}function Rl(c,d,f,g,h,i,j,k,l,m,n,o,p,q){c=c|0;d=d|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;E=g>>>1;D=d>>>1;x=p+-1|0;z=20704+(x<<4)|0;A=j+6|0;B=E*3|0;C=20704+(x<<4)+1|0;r=g&-2;s=20704+(x<<4)+2|0;t=20704+(x<<4)+3|0;u=20704+(x<<4)+4|0;v=20704+(x<<4)+5|0;w=20704+(x<<4)+6|0;x=20704+(x<<4)+7|0;y=E<<2;n=(n+m<<1|1)<<j+5;p=c;g=0;d=f;while(1){if((g|0)>=(i|0))break;o=0;while(1){if((o|0)>=(q|0))break;f=H(e[d+(o-B<<1)>>1]|0,a[z>>0]|0)|0;f=(H(e[d+(o-r<<1)>>1]|0,a[C>>0]|0)|0)+f|0;f=f+(H(e[d+(o-E<<1)>>1]|0,a[s>>0]|0)|0)|0;f=f+(H(e[d+(o<<1)>>1]|0,a[t>>0]|0)|0)|0;f=f+(H(e[d+(o+E<<1)>>1]|0,a[u>>0]|0)|0)|0;f=f+(H(e[d+(o+r<<1)>>1]|0,a[v>>0]|0)|0)|0;f=f+(H(e[d+(o+B<<1)>>1]|0,a[w>>0]|0)|0)|0;f=H(f+(H(e[d+(o+y<<1)>>1]|0,a[x>>0]|0)|0)>>1,l)|0;f=(H(b[h+(o<<1)>>1]|0,k)|0)+n+f>>A;b[p+(o<<1)>>1]=f>>>0<512?f:0-f>>31&511;o=o+1|0}h=h+128|0;p=p+(D<<1)|0;g=g+1|0;d=d+(E<<1)|0}return}function Sl(b,d,e,f){b=b|0;d=d|0;e=+e;f=+f;var h=0,i=0.0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=Mb;Mb=Mb+96|0;p=q+16|0;n=q+8|0;o=q;k=q+40|0;j=b+92|0;h=c[j>>2]|0;if(h|0){ya(h|0)|0;c[j>>2]=0}m=b+88|0;h=c[m>>2]|0;if(h|0){f$(h);c[m>>2]=0}if(a[d>>0]|0){l=b+76|0;h=c[l>>2]|0;if(h|0){Rd(h);c[l>>2]=0}h=fW(d)|0;c[l>>2]=h;Ba(k|0);h=xa(d|0,k|0)|0;c[j>>2]=h;Ca(h|0)|0;oa(d|0,n|0,o|0)|0;h=b+80|0;j=b+84|0;na(d|0,h|0,j|0)|0;e=+g[n>>3];i=+g[o>>3];do if((e!=300.0&i!=150.0?(c[h>>2]|0)==300:0)?(c[j>>2]|0)==150:0)if(!(a[b+242>>0]|0)){k=~~e;c[h>>2]=k;d=~~i;c[j>>2]=d;sa(c[l>>2]|0,k|0,d|0)|0;break}else{k=~~(e*f);c[h>>2]=k;d=~~(i*f);c[j>>2]=d;sa(c[l>>2]|0,k|0,d|0)|0;break}while(0);f=+g[o>>3];d=c[h>>2]|0;o=c[j>>2]|0;g[p>>3]=+g[n>>3];g[p+8>>3]=f;c[p+16>>2]=d;c[p+20>>2]=o;jV(167999,p)|0;p=FX(c[h>>2]|0,c[j>>2]|0)|0;c[m>>2]=p}Mb=q;return 0}function Tl(a){a=a|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=0;d=a;while(1){if((c|0)==4)break;n=b[d>>1]|0;j=d+16|0;m=b[j>>1]|0;h=m+n|0;e=d+24|0;l=b[e>>1]|0;k=l+m|0;f=n-l|0;i=d+8|0;g=(b[i>>1]|0)*74|0;l=((n-m+l|0)*74|0)+64|0;m=l>>7;b[j>>1]=(m+32768|0)>>>0>65535?l>>31^32767:m;j=g+64|0;m=j+(h*29|0)+(k*55|0)|0;l=m>>7;b[d>>1]=(l+32768|0)>>>0>65535?m>>31^32767:l;k=j+(H(k,-29)|0)+(f*55|0)|0;j=k>>7;b[i>>1]=(j+32768|0)>>>0>65535?k>>31^32767:j;g=(h*55|0)+64+(f*29|0)-g|0;f=g>>7;b[e>>1]=(f+32768|0)>>>0>65535?g>>31^32767:f;c=c+1|0;d=d+2|0}c=0;while(1){if((c|0)==4)break;e=b[a>>1]|0;i=a+4|0;f=b[i>>1]|0;k=f+e|0;n=a+6|0;g=b[n>>1]|0;h=g+f|0;m=e-g|0;j=a+2|0;l=(b[j>>1]|0)*74|0;g=((e-f+g|0)*74|0)+1024|0;f=g>>11;b[i>>1]=(f+32768|0)>>>0>65535?g>>31^32767:f;i=l+1024|0;f=i+(k*29|0)+(h*55|0)|0;g=f>>11;b[a>>1]=(g+32768|0)>>>0>65535?f>>31^32767:g;h=i+(H(h,-29)|0)+(m*55|0)|0;i=h>>11;b[j>>1]=(i+32768|0)>>>0>65535?h>>31^32767:i;l=(k*55|0)+1024+(m*29|0)-l|0;m=l>>11;b[n>>1]=(m+32768|0)>>>0>65535?l>>31^32767:m;a=a+8|0;c=c+1|0}return}function Ul(a){a=a|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=0;d=a;while(1){if((c|0)==4)break;n=b[d>>1]|0;j=d+16|0;m=b[j>>1]|0;h=m+n|0;e=d+24|0;l=b[e>>1]|0;k=l+m|0;f=n-l|0;i=d+8|0;g=(b[i>>1]|0)*74|0;l=((n-m+l|0)*74|0)+64|0;m=l>>7;b[j>>1]=(m+32768|0)>>>0>65535?l>>31^32767:m;j=g+64|0;m=j+(h*29|0)+(k*55|0)|0;l=m>>7;b[d>>1]=(l+32768|0)>>>0>65535?m>>31^32767:l;k=j+(H(k,-29)|0)+(f*55|0)|0;j=k>>7;b[i>>1]=(j+32768|0)>>>0>65535?k>>31^32767:j;g=(h*55|0)+64+(f*29|0)-g|0;f=g>>7;b[e>>1]=(f+32768|0)>>>0>65535?g>>31^32767:f;c=c+1|0;d=d+2|0}c=0;while(1){if((c|0)==4)break;e=b[a>>1]|0;i=a+4|0;f=b[i>>1]|0;k=f+e|0;n=a+6|0;g=b[n>>1]|0;h=g+f|0;m=e-g|0;j=a+2|0;l=(b[j>>1]|0)*74|0;g=((e-f+g|0)*74|0)+2048|0;f=g>>12;b[i>>1]=(f+32768|0)>>>0>65535?g>>31^32767:f;i=l+2048|0;f=i+(k*29|0)+(h*55|0)|0;g=f>>12;b[a>>1]=(g+32768|0)>>>0>65535?f>>31^32767:g;h=i+(H(h,-29)|0)+(m*55|0)|0;i=h>>12;b[j>>1]=(i+32768|0)>>>0>65535?h>>31^32767:i;l=(k*55|0)+2048+(m*29|0)-l|0;m=l>>12;b[n>>1]=(m+32768|0)>>>0>65535?l>>31^32767:m;a=a+8|0;c=c+1|0}return}function Vl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=Mb;Mb=Mb+32|0;j=l+16|0;e=l+8|0;d=l;f=c[(c[a+64>>2]|0)+16>>2]|0;h=b+80|0;i=e0(c[h>>2]|0)|0;do if((((c[b>>2]|0)==0?(g=b+4|0,(c[g>>2]|0)==0):0)?(c[b+8>>2]|0)==0:0)?(c[b+12>>2]|0)==0:0){if(!i){d=BY(c[h>>2]|0)|0;c[e>>2]=d;AD(a,16,172219,e);d=-22;break}c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;c[b+64>>2]=b;d=0;while(1){if(d>>>0>=4)break;e=c[f+(d<<2)>>2]|0;if(!e)break;c[b+32+(d<<2)>>2]=c[f+60+(d<<2)>>2];e=dz(e)|0;c[b+248+(d<<2)>>2]=e;if(!e){k=20;break}c[b+(d<<2)>>2]=c[e+4>>2];d=d+1|0}if((k|0)==20){jB(b);d=-12;break}while(1){if(d>>>0>=8)break;c[b+(d<<2)>>2]=0;c[b+32+(d<<2)>>2]=0;d=d+1|0}if(!(0==0?(c[i+8>>2]&66|0)==0:0))jw(c[g>>2]|0,c[h>>2]|0)|0;if(!(c[a+680>>2]&32768))d=0;else{c[j>>2]=b;AD(a,48,172272,j);d=0}}else k=5;while(0);if((k|0)==5){AD(a,16,172169,d);d=-1}Mb=l;return d|0}function Wl(a){a=a|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=0;d=a;while(1){if((c|0)==4)break;n=b[d>>1]|0;j=d+16|0;m=b[j>>1]|0;h=m+n|0;e=d+24|0;l=b[e>>1]|0;k=l+m|0;f=n-l|0;i=d+8|0;g=(b[i>>1]|0)*74|0;l=((n-m+l|0)*74|0)+64|0;m=l>>7;b[j>>1]=(m+32768|0)>>>0>65535?l>>31^32767:m;j=g+64|0;m=j+(h*29|0)+(k*55|0)|0;l=m>>7;b[d>>1]=(l+32768|0)>>>0>65535?m>>31^32767:l;k=j+(H(k,-29)|0)+(f*55|0)|0;j=k>>7;b[i>>1]=(j+32768|0)>>>0>65535?k>>31^32767:j;g=(h*55|0)+64+(f*29|0)-g|0;f=g>>7;b[e>>1]=(f+32768|0)>>>0>65535?g>>31^32767:f;c=c+1|0;d=d+2|0}c=0;while(1){if((c|0)==4)break;e=b[a>>1]|0;i=a+4|0;f=b[i>>1]|0;k=f+e|0;n=a+6|0;g=b[n>>1]|0;h=g+f|0;m=e-g|0;j=a+2|0;l=(b[j>>1]|0)*74|0;g=((e-f+g|0)*74|0)+512|0;f=g>>10;b[i>>1]=(f+32768|0)>>>0>65535?g>>31^32767:f;i=l+512|0;f=i+(k*29|0)+(h*55|0)|0;g=f>>10;b[a>>1]=(g+32768|0)>>>0>65535?f>>31^32767:g;h=i+(H(h,-29)|0)+(m*55|0)|0;i=h>>10;b[j>>1]=(i+32768|0)>>>0>65535?h>>31^32767:i;l=(k*55|0)+512+(m*29|0)-l|0;m=l>>10;b[n>>1]=(m+32768|0)>>>0>65535?l>>31^32767:m;a=a+8|0;c=c+1|0}return}function Xl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,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;u=Mb;Mb=Mb+16|0;s=u;f=(c[e+4>>2]|0)==2;if(f)r=7;else r=(c[a+6472>>2]|0)==1?20:12;p=e+92|0;q=f?1:2;k=(f&1)<<1;j=6-k|0;k=5-k|0;h=0;a:while(1){if((h|0)>=(c[p>>2]|0)){e=0;break}o=HG(d,q)|0;l=b+4+(h<<2)|0;c[l>>2]=o;b:do if(o|0){m=mT(d)|0;n=m+3|0;i=0;while(1){if((i|0)>=(c[l>>2]|0))break b;e=HG(d,j)|0;c[b+36+(h<<4)+(i<<2)>>2]=e;e=HG(d,k)|0;o=b+292+(h<<4)+(i<<2)|0;c[o>>2]=e;if((e|0)>(r|0)){t=9;break a}c:do if(e|0){g=mT(d)|0;c[b+164+(h<<4)+(i<<2)>>2]=g;g=mT(d)|0;f=n-g|0;g=45328+((g<<1)+m<<2)|0;e=0;while(1){if((e|0)>=(c[o>>2]|0))break c;v=c[g>>2]|0;v=v+((HG(d,f)|0)<<2)|0;c[b+2980+(h*320|0)+(i*80|0)+(e<<2)>>2]=c[v>>2];e=e+1|0}}while(0);i=i+1|0}}while(0);h=h+1|0}if((t|0)==9){v=c[a+4>>2]|0;c[s>>2]=e;c[s+4>>2]=r;AD(v,16,197394,s);c[o>>2]=0;e=-1094995529}Mb=u;return e|0}function Yl(a){a=a|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=0;d=a;while(1){if((c|0)==4)break;n=b[d>>1]|0;j=d+16|0;m=b[j>>1]|0;h=m+n|0;e=d+24|0;l=b[e>>1]|0;k=l+m|0;f=n-l|0;i=d+8|0;g=(b[i>>1]|0)*74|0;l=((n-m+l|0)*74|0)+64|0;m=l>>7;b[j>>1]=(m+32768|0)>>>0>65535?l>>31^32767:m;j=g+64|0;m=j+(h*29|0)+(k*55|0)|0;l=m>>7;b[d>>1]=(l+32768|0)>>>0>65535?m>>31^32767:l;k=j+(H(k,-29)|0)+(f*55|0)|0;j=k>>7;b[i>>1]=(j+32768|0)>>>0>65535?k>>31^32767:j;g=(h*55|0)+64+(f*29|0)-g|0;f=g>>7;b[e>>1]=(f+32768|0)>>>0>65535?g>>31^32767:f;c=c+1|0;d=d+2|0}c=0;while(1){if((c|0)==4)break;e=b[a>>1]|0;i=a+4|0;f=b[i>>1]|0;k=f+e|0;n=a+6|0;g=b[n>>1]|0;h=g+f|0;m=e-g|0;j=a+2|0;l=(b[j>>1]|0)*74|0;g=((e-f+g|0)*74|0)+128|0;f=g>>8;b[i>>1]=(f+32768|0)>>>0>65535?g>>31^32767:f;i=l+128|0;f=i+(k*29|0)+(h*55|0)|0;g=f>>8;b[a>>1]=(g+32768|0)>>>0>65535?f>>31^32767:g;h=i+(H(h,-29)|0)+(m*55|0)|0;i=h>>8;b[j>>1]=(i+32768|0)>>>0>65535?h>>31^32767:i;l=(k*55|0)+128+(m*29|0)-l|0;m=l>>8;b[n>>1]=(m+32768|0)>>>0>65535?l>>31^32767:m;a=a+8|0;c=c+1|0}return}function Zl(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=d>>1;k=(j<<6|1)<<g;g=g+1|0;d=a;j=0;while(1){if((j|0)>=(f|0))break;m=H(e[c>>1]|0,i)|0;m=m+k+(H(e[d>>1]|0,h)|0)>>g;b[d>>1]=m>>>0<16384?m:0-m>>31&16383;m=H(e[c+2>>1]|0,i)|0;a=d+2|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<16384?m:0-m>>31&16383;a=H(e[c+4>>1]|0,i)|0;m=d+4|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<16384?a:0-a>>31&16383;m=H(e[c+6>>1]|0,i)|0;a=d+6|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<16384?m:0-m>>31&16383;a=H(e[c+8>>1]|0,i)|0;m=d+8|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<16384?a:0-a>>31&16383;m=H(e[c+10>>1]|0,i)|0;a=d+10|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<16384?m:0-m>>31&16383;a=H(e[c+12>>1]|0,i)|0;m=d+12|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<16384?a:0-a>>31&16383;m=H(e[c+14>>1]|0,i)|0;a=d+14|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<16384?m:0-m>>31&16383;c=c+(l<<1)|0;d=d+(l<<1)|0;j=j+1|0}return}
|
|
function Df(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;w=Mb;Mb=Mb+1056|0;u=w+1024|0;v=w;c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[u+16>>2]=0;c[u+20>>2]=0;c[u+24>>2]=0;c[u+28>>2]=0;f=a[e>>0]|0;a:do if(f<<24>>24){p=0;do{if(!(a[b+p>>0]|0)){f=0;break a}t=f&255;s=u+(t>>>5<<2)|0;c[s>>2]=c[s>>2]|1<<(t&31);p=p+1|0;c[v+(t<<2)>>2]=p;f=a[e+p>>0]|0}while(f<<24>>24!=0);m=p>>>0>1;if(m){k=1;j=1;l=0;i=-1;n=1;while(1){f=a[e+(j+i)>>0]|0;g=a[e+n>>0]|0;do if(f<<24>>24==g<<24>>24)if((j|0)==(k|0)){h=k;f=1;g=k+l|0;break}else{h=k;f=j+1|0;g=l;break}else if((f&255)>(g&255)){h=n-i|0;f=1;g=n;break}else{h=1;f=1;g=l+1|0;i=l;break}while(0);n=f+g|0;if(n>>>0>=p>>>0)break;else{k=h;j=f;l=g}}if(m){m=1;l=1;n=0;g=-1;o=1;while(1){f=a[e+(l+g)>>0]|0;j=a[e+o>>0]|0;do if(f<<24>>24==j<<24>>24)if((l|0)==(m|0)){f=m;j=1;k=m+n|0;break}else{f=m;j=l+1|0;k=n;break}else if((f&255)<(j&255)){f=o-g|0;j=1;k=o;break}else{f=1;j=1;k=n+1|0;g=n;break}while(0);o=j+k|0;if(o>>>0>=p>>>0){t=p;j=25;break}else{m=f;l=j;n=k}}}else{t=p;f=1;g=-1;j=25}}else{h=1;i=-1;t=p;f=1;g=-1;j=25}}else{h=1;i=-1;t=0;f=1;g=-1;j=25}while(0);b:do if((j|0)==25){r=(g+1|0)>>>0>(i+1|0)>>>0;f=r?f:h;r=r?g:i;s=r+1|0;if(!(AE(e,e+f|0,s)|0)){m=t-f|0;q=m;l=f}else{m=t-r+-1|0;m=(r>>>0>m>>>0?r:m)+1|0;q=0;l=m;m=t-m|0}n=t|63;o=t+-1|0;p=(q|0)!=0;f=b;k=0;g=b;while(1){h=f;do if((g-h|0)>>>0<t>>>0){i=yq(g,0,n)|0;if(i)if((i-h|0)>>>0<t>>>0){f=0;break b}else break;else{i=g+n|0;break}}else i=g;while(0);g=d[f+o>>0]|0;c:do if(!(1<<(g&31)&c[u+(g>>>5<<2)>>2])){h=0;g=t}else{g=t-(c[v+(g<<2)>>2]|0)|0;if(g|0){h=0;g=p&(k|0)!=0&g>>>0<l>>>0?m:g;break}j=s>>>0>k>>>0;g=j?s:k;h=a[e+g>>0]|0;d:do if(h<<24>>24){while(1){if(h<<24>>24!=(a[f+g>>0]|0))break;g=g+1|0;h=a[e+g>>0]|0;if(!(h<<24>>24))break d}h=0;g=g-r|0;break c}while(0);if(!j)break b;g=s;while(1){g=g+-1|0;if((a[e+g>>0]|0)!=(a[f+g>>0]|0)){h=q;g=l;break c}if(g>>>0<=k>>>0)break b}}while(0);f=f+g|0;k=h;g=i}}while(0);Mb=w;return f|0}function Ef(d,e,f,g,h,i){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;z=Mb;Mb=Mb+16|0;j=z;w=z+8|0;x=z+4|0;y=SV(h,g<<3)|0;c[w>>2]=y;v=SV(h,g<<4)|0;c[x>>2]=v;a:do if((v|0)!=0&(y|0)!=0){u=d+564|0;v=d+696|0;t=d+580|0;n=0;while(1){if((n|0)>=(g|0))break;o=n>>>i;p=H(n,h)|0;l=0;j=1024;d=-1;while(1){if((l|0)>=(f|0))break;s=(H(c[u>>2]|0,o)|0)+(l>>>i)|0;if((c[(c[v>>2]|0)+(s<<2)>>2]&7|0)!=0?(a[(c[t>>2]|0)+s>>0]&4)!=0:0)k=l+p|0;else{k=l+p|0;j=b[e+(k<<1)>>1]|0;d=l}b[y+(k<<3)+2>>1]=j;c[(c[x>>2]|0)+(k<<4)+4>>2]=(d|0)>-1?l-d|0:9999;l=l+1|0}k=f;j=1024;d=-1;while(1){m=k+-1|0;if((k|0)<=0)break;s=(H(c[u>>2]|0,o)|0)+(m>>i)|0;if((c[(c[v>>2]|0)+(s<<2)>>2]&7|0)!=0?(a[(c[t>>2]|0)+s>>0]&4)!=0:0){l=j;j=m+p|0}else{j=m+p|0;l=b[e+(j<<1)>>1]|0;d=m}b[y+(j<<3)>>1]=l;c[(c[x>>2]|0)+(j<<4)>>2]=(d|0)>-1?d-m|0:9999;k=m;j=l}n=n+1|0}n=0;while(1){if((n|0)>=(f|0))break;o=n>>>i;j=1024;d=-1;l=0;while(1){if((l|0)>=(g|0))break;s=(H(c[u>>2]|0,l>>>i)|0)+o|0;if((c[(c[v>>2]|0)+(s<<2)>>2]&7|0)!=0?(a[(c[t>>2]|0)+s>>0]&4)!=0:0)k=(H(l,h)|0)+n|0;else{k=(H(l,h)|0)+n|0;j=b[e+(k<<1)>>1]|0;d=l}b[y+(k<<3)+6>>1]=j;c[(c[x>>2]|0)+(k<<4)+12>>2]=(d|0)>-1?l-d|0:9999;l=l+1|0}k=g;j=1024;d=-1;while(1){m=k+-1|0;if((k|0)<=0)break;s=(H(c[u>>2]|0,m>>i)|0)+o|0;if((c[(c[v>>2]|0)+(s<<2)>>2]&7|0)!=0?(a[(c[t>>2]|0)+s>>0]&4)!=0:0){l=j;j=(H(m,h)|0)+n|0}else{j=(H(m,h)|0)+n|0;l=b[e+(j<<1)>>1]|0;d=m}b[y+(j<<3)+4>>1]=l;c[(c[x>>2]|0)+(j<<4)+8>>2]=(d|0)>-1?d-m|0:9999;k=m;j=l}n=n+1|0}k=0;while(1){if((k|0)>=(g|0))break a;l=k>>>i;m=H(k,h)|0;d=0;while(1){if((d|0)>=(f|0))break;s=(H(c[u>>2]|0,l)|0)+(d>>>i)|0;if((c[(c[v>>2]|0)+(s<<2)>>2]&120|0)==0?a[(c[t>>2]|0)+s>>0]&4:0){n=c[x>>2]|0;o=d+m|0;j=0;p=0;q=0;r=0;s=0;while(1){if((j|0)==4)break;A=c[n+(o<<4)+(j<<2)>>2]|0;A=268435456/((A>>>0>1?A:1)>>>0)|0;C=b[y+(o<<3)+(j<<1)>>1]|0;C=MR(C|0,((C|0)<0)<<31>>31|0,A|0,0)|0;C=aX(C|0,M()|0,p|0,q|0)|0;B=M()|0;A=aX(r|0,s|0,A|0,0)|0;j=j+1|0;p=C;q=B;r=A;s=M()|0}C=kV(r|0,s|0,1)|0;C=aX(C|0,M()|0,p|0,q|0)|0;C=xA(C|0,M()|0,r|0,s|0)|0;M()|0;b[e+(o<<1)>>1]=C}d=d+1|0}k=k+1|0}}else AD(c[d>>2]|0,16,204484,j);while(0);bU(w);bU(x);Mb=z;return}function Ff(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;g=0-f|0;if(!c){q=d[b+g>>0]|0;o=q}else{o=d[b+g>>0]|0;q=d[b+~f>>0]|0}r=d[b+(1-f)>>0]|0;p=r+2|0;s=d[b+(2-f)>>0]|0;t=s+2|0;r=(t+o+(r<<1)|0)>>>2;u=d[b+(3-f)>>0]|0;s=(p+(s<<1)+u|0)>>>2;w=d[b+(4-f)>>0]|0;t=(t+(u<<1)+w|0)>>>2;x=d[b+(5-f)>>0]|0;u=(u+2+(w<<1)+x|0)>>>2;v=d[b+(6-f)>>0]|0;w=(w+2+(x<<1)+v|0)>>>2;c=d[b+(7-f)>>0]|0;x=(x+2+(v<<1)+c|0)>>>2;if(!e){g=c*3|0;e=c;h=c;i=c;j=c;k=c;l=c;m=c;n=c;c=g}else{y=d[b+(8-f)>>0]|0;n=d[b+(9-f)>>0]|0;z=d[b+(10-f)>>0]|0;m=z+2|0;l=d[b+(11-f)>>0]|0;k=d[b+(12-f)>>0]|0;j=d[b+(13-f)>>0]|0;i=d[b+(14-f)>>0]|0;h=d[b+(15-f)>>0]|0;g=(i+2+(h*3|0)|0)>>>2;e=g;h=(j+2+(i<<1)+h|0)>>>2;i=(k+2+(j<<1)+i|0)>>>2;j=(l+2+(k<<1)+j|0)>>>2;k=(m+(l<<1)+k|0)>>>2;l=(n+2+(z<<1)+l|0)>>>2;m=(m+y+(n<<1)|0)>>>2;n=(c+2+(y<<1)+n|0)>>>2;c=(c<<1)+y|0;g=g*3|0}z=(v+2+c|0)>>>2;v=s+2|0;a[b>>0]=(v+((p+q+(o<<1)|0)>>>2)+(r<<1)|0)>>>2;y=t+2|0;s=(y+r+(s<<1)|0)>>>2&255;a[b+1>>0]=s;a[b+f>>0]=s;t=(v+(t<<1)+u|0)>>>2&255;a[b+2>>0]=t;a[b+(f+1)>>0]=t;s=f<<1;a[b+s>>0]=t;y=(y+(u<<1)+w|0)>>>2&255;a[b+3>>0]=y;a[b+(f+2)>>0]=y;a[b+(s|1)>>0]=y;t=f*3|0;a[b+t>>0]=y;y=(u+2+(w<<1)+x|0)>>>2&255;a[b+4>>0]=y;a[b+(f+3)>>0]=y;a[b+(s+2)>>0]=y;a[b+(t+1)>>0]=y;v=f<<2;a[b+v>>0]=y;y=(w+2+(x<<1)+z|0)>>>2&255;a[b+5>>0]=y;a[b+(f+4)>>0]=y;a[b+(s+3)>>0]=y;a[b+(t+2)>>0]=y;a[b+(v|1)>>0]=y;w=f*5|0;a[b+w>>0]=y;y=(x+2+n+(z<<1)|0)>>>2&255;a[b+6>>0]=y;a[b+(f+5)>>0]=y;a[b+(s+4)>>0]=y;a[b+(t+3)>>0]=y;a[b+(v|2)>>0]=y;a[b+(w+1)>>0]=y;x=f*6|0;a[b+x>>0]=y;y=m+2|0;u=(y+z+(n<<1)|0)>>>2&255;a[b+7>>0]=u;a[b+(f+6)>>0]=u;a[b+(s+5)>>0]=u;a[b+(t+4)>>0]=u;a[b+(v|3)>>0]=u;a[b+(w+2)>>0]=u;a[b+(x|1)>>0]=u;z=f*7|0;a[b+z>>0]=u;u=(n+2+(m<<1)+l|0)>>>2&255;a[b+(f+7)>>0]=u;a[b+(s+6)>>0]=u;a[b+(t+5)>>0]=u;a[b+(v+4)>>0]=u;a[b+(w+3)>>0]=u;a[b+(x+2)>>0]=u;a[b+(z+1)>>0]=u;y=(y+(l<<1)+k|0)>>>2&255;a[b+(s+7)>>0]=y;a[b+(t+6)>>0]=y;a[b+(v+5)>>0]=y;a[b+(w+4)>>0]=y;a[b+(x+3)>>0]=y;a[b+(z+2)>>0]=y;y=(l+2+(k<<1)+j|0)>>>2&255;a[b+(t+7)>>0]=y;a[b+(v+6)>>0]=y;a[b+(w+5)>>0]=y;a[b+(x+4)>>0]=y;a[b+(z+3)>>0]=y;y=(k+2+(j<<1)+i|0)>>>2&255;a[b+(v+7)>>0]=y;a[b+(w+6)>>0]=y;a[b+(x+5)>>0]=y;a[b+(z+4)>>0]=y;y=(j+2+(i<<1)+h|0)>>>2&255;a[b+(w+7)>>0]=y;a[b+(x+6)>>0]=y;a[b+(z+5)>>0]=y;y=(i+2+(h<<1)+e|0)>>>2&255;a[b+(x+7)>>0]=y;a[b+(z+6)>>0]=y;a[b+(z+7)>>0]=(h+2+g|0)>>>2;return}function Gf(b,e,f,g,h,i,j,k,l,m,n,o,p){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;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;D=Mb;Mb=Mb+16|0;B=D+8|0;C=D;A=c[b+136>>2]|0;u=c[o>>2]|0;c[B>>2]=u;q=c[o+4>>2]|0;v=B+4|0;c[v>>2]=q;o=c[p>>2]|0;c[C>>2]=o;x=c[p+4>>2]|0;w=C+4|0;c[w>>2]=x;t=a[A+31252>>0]|0;do if(t<<24>>24){if((m|0)==1){c[A+288>>2]=d[A+31264+n>>0];if((c[(c[b+1412>>2]|0)+4>>2]|0)==3){c[A+292>>2]=d[A+31273+n>>0];p=A+31277+n|0;z=7;break}else{c[A+292>>2]=d[A+31273>>0];p=A+31277|0;z=7;break}}}else{c[A+288>>2]=d[A+31264>>0];c[A+292>>2]=d[A+31273>>0];p=A+31277|0;z=7}while(0);if((z|0)==7)c[A+296>>2]=d[p>>0];y=b+1412|0;p=c[y>>2]|0;r=(c[p+13332>>2]|0)>>>0<l>>>0;if(((!r?(c[p+13328>>2]|0)>>>0<l>>>0:0)?(d[A+31253>>0]|0)>(m|0):0)?!((m|0)==0&t<<24>>24!=0):0){s=(TX(b,l)|0)&255;p=c[y>>2]|0}else{if((c[p+13344>>2]|0)==0?(c[A+31244>>2]|0)==0:0)s=(m|0)==0&(c[A+31248>>2]|0)!=0;else s=0;s=(r|((m|0)==0&t<<24>>24!=0|s))&1}z=c[p+4>>2]|0;if((z|0)!=0?(l|0)>2|(z|0)==3:0){r=(m|0)!=0;if(!(r&(u|0)==0)){p=vY(b,m)|0;c[B>>2]=p;if((c[(c[y>>2]|0)+4>>2]|0)==2?(l|0)==3|s<<24>>24==0:0){q=vY(b,m)|0;c[v>>2]=q}}else p=0;if(!(r&(o|0)==0)){o=vY(b,m)|0;c[C>>2]=o;if((c[(c[y>>2]|0)+4>>2]|0)==2)if((l|0)==3|s<<24>>24==0){r=vY(b,m)|0;c[w>>2]=r;z=27}else z=28;else{r=x;z=27}}else{o=0;r=x;z=27}}else{p=u;r=x;z=27}if((z|0)==27)if(!(s<<24>>24)){y=c[y>>2]|0;t=c[y+13328>>2]|0;u=1<<t;v=c[y+13404>>2]|0;if(((p|m|o|0)==0?(c[A+31244>>2]|0)!=1:0)?((r|q|0)==0?1:(c[y+4>>2]|0)!=2):0)p=1;else p=NX(b,m)|0;o=Dd(b,e,f,g,h,i,j,k,l,n,p,B,C)|0;if((o|0)>=0){a:do if(p|0){q=1<<l;r=b+7576|0;p=0;while(1){if((p|0)>=(q|0))break a;s=H(p+f>>t,v)|0;o=0;while(1){if((o|0)>=(q|0))break;a[(c[r>>2]|0)+((o+e>>t)+s)>>0]=1;o=o+u|0}p=p+u|0}}while(0);if(((a[b+3057>>0]|0)==0?($e(b,e,f,l),(a[(c[b+1416>>2]|0)+40>>0]|0)!=0):0)?(a[A+31254>>0]|0)!=0:0){Ny(b,e,f,l);z=47}else z=47}}else z=28;if((z|0)==28){q=l+-1|0;s=1<<q;r=s+e|0;s=s+f|0;p=m+1|0;o=Gf(b,e,f,e,f,i,j,k,q,p,0,B,C)|0;if((o|0)>=0){o=Gf(b,r,f,e,f,i,j,k,q,p,1,B,C)|0;if((o|0)>=0){o=Gf(b,e,s,e,f,i,j,k,q,p,2,B,C)|0;if((o|0)>=0){o=Gf(b,r,s,e,f,i,j,k,q,p,3,B,C)|0;if((o|0)>-1)z=47}}}}if((z|0)==47)o=0;Mb=D;return o|0}function Hf(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;q=Mb;Mb=Mb+48|0;n=q+40|0;m=q+32|0;k=q+24|0;o=q+16|0;l=q+8|0;j=q;h=f+2188|0;a:do if(((h|0)!=(e|0)?(i=f+2184|0,(c[i>>2]|0)!=0):0)?((mT(b)|0)&255)<<24>>24!=0:0){do if(g){h=(CL(b)|0)+1|0;g=c[i>>2]|0;if(g>>>0<h>>>0){c[j>>2]=h;c[j+4>>2]=g;AD(d,16,175426,j);g=-1094995529;break a}else{m=g-h|0;c[e+8>>2]=c[f+2188+(m*172|0)+4>>2];break}}else m=((e-h|0)/172|0)+-1|0;while(0);g=mT(b)|0;n=CL(b)|0;h=n+1|0;if(n>>>0>32767){c[l>>2]=h;AD(d,16,175484,l);g=-1094995529;break}k=H(1-(g<<1&510)|0,h)|0;l=f+2188+(m*172|0)+4|0;h=0;g=0;j=0;while(1){if((j|0)>(c[l>>2]|0))break;n=mT(b)|0;a[e+140+g>>0]=n;if(!((n&255|0)==0?((mT(b)|0)&255)<<24>>24==0:0)){if((j|0)<(c[l>>2]|0))i=(c[f+2188+(m*172|0)+12+(j<<2)>>2]|0)+k|0;else i=k;c[e+12+(g<<2)>>2]=i;g=g+1|0;h=(i>>>31)+h|0}j=j+1|0}if(g>>>0>31){c[o>>2]=g;AD(d,16,175520,o);g=-1094995529;break}n=e+4|0;c[n>>2]=g;c[e>>2]=h;if(g){m=1;while(1){if((m|0)>=(g|0))break;i=c[e+12+(m<<2)>>2]|0;j=a[e+140+m>>0]|0;h=m;while(1){g=h+-1|0;if((h|0)<=0)break;k=e+12+(g<<2)|0;l=c[k>>2]|0;if((i|0)<(l|0)){c[e+12+(h<<2)>>2]=l;d=e+140+g|0;a[e+140+h>>0]=a[d>>0]|0;c[k>>2]=i;a[d>>0]=j}h=g}m=m+1|0;g=c[n>>2]|0}h=c[e>>2]|0}if(h>>>0>1){i=0;g=h;while(1){g=g+-1|0;if(i>>>0>=h>>>1>>>0){g=0;break a}h=e+12+(i<<2)|0;o=c[h>>2]|0;f=e+140+i|0;d=a[f>>0]|0;b=e+12+(g<<2)|0;c[h>>2]=c[b>>2];h=e+140+g|0;a[f>>0]=a[h>>0]|0;c[b>>2]=o;a[h>>0]=d;i=i+1|0;h=c[e>>2]|0}}else g=0}else p=35;while(0);b:do if((p|0)==35){j=CL(b)|0;c[e>>2]=j;j=CL(b)|0;g=c[e>>2]|0;if((g|j)>>>0>15){AD(d,16,175548,k);g=-1094995529;break}o=g+j|0;c[e+4>>2]=o;if(!o)g=0;else{h=0;i=0;while(1){if(i>>>0>=g>>>0)break;o=CL(b)|0;g=o+1|0;if(o>>>0>32767){p=42;break}g=h-g|0;c[e+12+(i<<2)>>2]=g;o=(mT(b)|0)&255;a[e+140+i>>0]=o;h=g;i=i+1|0;g=c[e>>2]|0}if((p|0)==42){c[m>>2]=g;AD(d,16,175584,m);g=-1094995529;break}g=0;h=0;while(1){if(h>>>0>=j>>>0){g=0;break b}p=CL(b)|0;i=p+1|0;if(p>>>0>32767)break;p=i+g|0;c[e+12+((c[e>>2]|0)+h<<2)>>2]=p;o=(mT(b)|0)&255;a[(c[e>>2]|0)+h+(e+140)>>0]=o;g=p;h=h+1|0}c[n>>2]=i;AD(d,16,175584,n);g=-1094995529}}while(0);Mb=q;return g|0}function If(b){b=b|0;var d=0,e=0,h=0,i=0,j=0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0;q=Mb;Mb=Mb+16|0;e=q;o=b+24|0;o=DD(c[o>>2]|0,c[o+4>>2]|0)|0;n=b+32|0;n=DD(c[n>>2]|0,c[n+4>>2]|0)|0;p=b+83184|0;c[p>>2]=0;if(!((c[b+11136>>2]|0)==0?(d=tu(b)|0,(d|0)!=0):0))h=3;a:do if((h|0)==3){b:do switch(c[b+11976>>2]|0){case 6:{i=gW(H(n,o)|0,4)|0;j=b+62608|0;c[j>>2]=i;i=EZ(4)|0;c[b+62612>>2]=i;j=c[j>>2]|0;if((i|0)==0|(j|0)==0){d=-12;break a}m=0;e=0;while(1){if((e|0)>=(n|0))break;l=H(e,o)|0;d=0;k=0.0;h=0;while(1){if((h|0)>=(o|0))break;s=k+ +g[b+13456+(e<<9)+(h<<3)>>3]*32768.0;r=Q1(s)|0;c[j+(h+l<<2)>>2]=r;d=((r|0)>-1?r:0-r|0)+d|0;k=k+(s-+(r|0));h=h+1|0}m=(m|0)>(d|0)?m:d;e=e+1|0}c[i>>2]=32768;d=b+83168|0;if((m|0)<32769){c[d>>2]=130;c[b+83176>>2]=33;r=ro(b)|0;c[p>>2]=r;break b}else{c[d>>2]=131;c[b+83176>>2]=34;r=mo(b)|0;c[p>>2]=r;break b}}case 8:{h=gW(H(n,o)|0,4)|0;i=b+62608|0;c[i>>2]=h;h=EZ(4)|0;c[b+62612>>2]=h;i=c[i>>2]|0;if((h|0)==0|(i|0)==0){d=-12;break a}d=0;while(1){if((d|0)>=(n|0))break;j=H(d,o)|0;e=0;while(1){if((e|0)>=(o|0))break;f[i+(e+j<<2)>>2]=+g[b+13456+(d<<9)+(e<<3)>>3];e=e+1|0}d=d+1|0}f[h>>2]=1.0;c[b+83168>>2]=132;c[b+83176>>2]=35;r=po(b)|0;c[p>>2]=r;break}case 9:{h=gW(H(n,o)|0,8)|0;i=b+62608|0;c[i>>2]=h;h=EZ(8)|0;c[b+62612>>2]=h;i=c[i>>2]|0;if((h|0)==0|(i|0)==0){d=-12;break a}d=0;while(1){if((d|0)>=(n|0))break;j=H(d,o)|0;e=0;while(1){if((e|0)>=(o|0))break;g[i+(e+j<<3)>>3]=+g[b+13456+(d<<9)+(e<<3)>>3];e=e+1|0}d=d+1|0}g[h>>3]=1.0;c[b+83168>>2]=133;c[b+83176>>2]=36;r=oo(b)|0;c[p>>2]=r;break}case 7:{d=EZ(4)|0;c[b+62612>>2]=d;if(!d){d=-12;break a}c[d>>2]=32768;c[b+83168>>2]=134;c[b+83176>>2]=37;r=qo(b)|0;c[p>>2]=r;break}default:{c[e>>2]=222636;c[e+4>>2]=222251;c[e+8>>2]=463;AD(0,0,222515,e);ba()}}while(0);h=0;while(1){if((h|0)==64){d=0;break a}d=0;i=0;while(1){if((i|0)==64)break;s=+g[b+13456+(h<<9)+(i<<3)>>3];e=Q1(s*32768.0)|0;c[b+62624+(h<<8)+(i<<2)>>2]=e;e=d+1|0;if(s!=0.0){a[b+79008+(h*65|0)+e>>0]=i;d=e}i=i+1|0}a[b+79008+(h*65|0)>>0]=d;h=h+1|0}}while(0);Mb=q;return d|0}function Jf(c,e,f,g,h,i){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0;B=h*13|0;j=e;k=0;f=f+(0-(i<<1))|0;while(1){if((k|0)==13)break;y=f+1|0;z=f+-1|0;x=f+2|0;v=H((d[x>>0]|0)+(d[z>>0]|0)|0,-5)|0;w=f+3|0;b[j>>1]=(((d[y>>0]|0)+(d[f>>0]|0)|0)*20|0)+(d[f+-2>>0]|0)+v+(d[w>>0]|0);v=H((d[w>>0]|0)+(d[f>>0]|0)|0,-5)|0;u=f+4|0;b[j+2>>1]=(((d[x>>0]|0)+(d[y>>0]|0)|0)*20|0)+(d[z>>0]|0)+v+(d[u>>0]|0);v=H((d[u>>0]|0)+(d[y>>0]|0)|0,-5)|0;z=f+5|0;b[j+4>>1]=(((d[w>>0]|0)+(d[x>>0]|0)|0)*20|0)+(d[f>>0]|0)+v+(d[z>>0]|0);v=H((d[z>>0]|0)+(d[x>>0]|0)|0,-5)|0;A=f+6|0;b[j+6>>1]=(((d[u>>0]|0)+(d[w>>0]|0)|0)*20|0)+(d[y>>0]|0)+v+(d[A>>0]|0);v=H((d[A>>0]|0)+(d[w>>0]|0)|0,-5)|0;y=f+7|0;b[j+8>>1]=(((d[z>>0]|0)+(d[u>>0]|0)|0)*20|0)+(d[x>>0]|0)+v+(d[y>>0]|0);v=H((d[y>>0]|0)+(d[u>>0]|0)|0,-5)|0;x=f+8|0;b[j+10>>1]=(((d[A>>0]|0)+(d[z>>0]|0)|0)*20|0)+(d[w>>0]|0)+v+(d[x>>0]|0);v=H((d[x>>0]|0)+(d[z>>0]|0)|0,-5)|0;w=f+9|0;b[j+12>>1]=(((d[y>>0]|0)+(d[A>>0]|0)|0)*20|0)+(d[u>>0]|0)+v+(d[w>>0]|0);A=H((d[w>>0]|0)+(d[A>>0]|0)|0,-5)|0;b[j+14>>1]=(((d[x>>0]|0)+(d[y>>0]|0)|0)*20|0)+(d[z>>0]|0)+A+(d[f+10>>0]|0);j=j+(h<<1)|0;k=k+1|0;f=f+i|0}i=H(h,-2)|0;l=0-h|0;m=h<<1;n=h*3|0;o=h<<2;p=h*5|0;q=h*6|0;r=h*7|0;s=h<<3;t=h*9|0;u=h*10|0;v=g<<1;w=g*3|0;x=g<<2;y=g*5|0;z=g*6|0;A=g*7|0;k=c;f=e+(B<<1)+((H(h,-11)|0)<<1)|0;j=0;while(1){if((j|0)==8)break;E=b[f+(l<<1)>>1]|0;N=b[f>>1]|0;M=b[f+(h<<1)>>1]|0;L=b[f+(m<<1)>>1]|0;K=b[f+(n<<1)>>1]|0;I=b[f+(o<<1)>>1]|0;F=b[f+(p<<1)>>1]|0;B=b[f+(q<<1)>>1]|0;c=b[f+(r<<1)>>1]|0;C=b[f+(s<<1)>>1]|0;e=b[f+(t<<1)>>1]|0;D=b[f+(u<<1)>>1]|0;J=K+512|0;G=J+(b[f+(i<<1)>>1]|0)+((M+N|0)*20|0)+(H(L+E|0,-5)|0)>>10;a[k>>0]=G>>>0>255?0-G>>31:G;G=I+512|0;E=G+E+((L+M|0)*20|0)+(H(K+N|0,-5)|0)>>10;a[k+g>>0]=E>>>0>255?0-E>>31:E;E=F+512|0;N=E+N+((K+L|0)*20|0)+(H(I+M|0,-5)|0)>>10;a[k+v>>0]=N>>>0>255?0-N>>31:N;M=M+512+B+((I+K|0)*20|0)+(H(F+L|0,-5)|0)>>10;a[k+w>>0]=M>>>0>255?0-M>>31:M;K=L+512+c+((F+I|0)*20|0)+(H(B+K|0,-5)|0)>>10;a[k+x>>0]=K>>>0>255?0-K>>31:K;I=J+C+((B+F|0)*20|0)+(H(c+I|0,-5)|0)>>10;a[k+y>>0]=I>>>0>255?0-I>>31:I;F=G+e+((c+B|0)*20|0)+(H(C+F|0,-5)|0)>>10;a[k+z>>0]=F>>>0>255?0-F>>31:F;B=E+D+((C+c|0)*20|0)+(H(e+B|0,-5)|0)>>10;a[k+A>>0]=B>>>0>255?0-B>>31:B;k=k+1|0;f=f+2|0;j=j+1|0}return}function Kf(a,d,f,g,h,i){a=a|0;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,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;l=i>>1;B=h*13|0;j=d;k=0;f=f+(0-(i&-2)<<1)|0;while(1){if((k|0)==13)break;A=e[f>>1]|0;y=e[f+2>>1]|0;z=e[f+-2>>1]|0;x=e[f+4>>1]|0;v=H(x+z|0,-5)|0;w=e[f+6>>1]|0;c[j>>2]=((y+A|0)*20|0)+(e[f+-4>>1]|0)+v+w;v=H(w+A|0,-5)|0;u=e[f+8>>1]|0;c[j+4>>2]=((x+y|0)*20|0)+z+v+u;v=H(u+y|0,-5)|0;z=e[f+10>>1]|0;c[j+8>>2]=((w+x|0)*20|0)+A+v+z;v=H(z+x|0,-5)|0;A=e[f+12>>1]|0;c[j+12>>2]=((u+w|0)*20|0)+y+v+A;v=H(A+w|0,-5)|0;y=e[f+14>>1]|0;c[j+16>>2]=((z+u|0)*20|0)+x+v+y;v=H(y+u|0,-5)|0;x=e[f+16>>1]|0;c[j+20>>2]=((A+z|0)*20|0)+w+v+x;v=H(x+z|0,-5)|0;w=e[f+18>>1]|0;c[j+24>>2]=((y+A|0)*20|0)+u+v+w;A=H(w+A|0,-5)|0;c[j+28>>2]=((x+y|0)*20|0)+z+A+(e[f+20>>1]|0);j=j+(h<<2)|0;k=k+1|0;f=f+(l<<1)|0}p=g>>1;q=H(h,-2)|0;r=0-h|0;s=h<<1;t=h*3|0;u=h<<2;v=h*5|0;w=h*6|0;x=h*7|0;y=h<<3;z=h*9|0;A=h*10|0;k=g&-2;l=p*3|0;g=p<<2;m=p*5|0;n=p*6|0;o=p*7|0;j=a;f=d+(B<<2)+((H(h,-11)|0)<<2)|0;i=0;while(1){if((i|0)==8)break;F=c[f+(r<<2)>>2]|0;O=c[f>>2]|0;N=c[f+(h<<2)>>2]|0;M=c[f+(s<<2)>>2]|0;L=c[f+(t<<2)>>2]|0;J=c[f+(u<<2)>>2]|0;G=c[f+(v<<2)>>2]|0;d=c[f+(w<<2)>>2]|0;C=c[f+(x<<2)>>2]|0;D=c[f+(y<<2)>>2]|0;a=c[f+(z<<2)>>2]|0;E=c[f+(A<<2)>>2]|0;K=L+512|0;B=K+(c[f+(q<<2)>>2]|0)+((N+O|0)*20|0)+(H(M+F|0,-5)|0)>>10;b[j>>1]=((B>>>0<16384?B:0-B>>31&16383)+1+(e[j>>1]|0)|0)>>>1;B=j+(p<<1)|0;I=J+512|0;F=I+F+((M+N|0)*20|0)+(H(L+O|0,-5)|0)>>10;b[B>>1]=((F>>>0<16384?F:0-F>>31&16383)+1+(e[B>>1]|0)|0)>>>1;B=j+(k<<1)|0;F=G+512|0;O=F+O+((L+M|0)*20|0)+(H(J+N|0,-5)|0)>>10;b[B>>1]=((O>>>0<16384?O:0-O>>31&16383)+1+(e[B>>1]|0)|0)>>>1;B=j+(l<<1)|0;N=N+512+d+((J+L|0)*20|0)+(H(G+M|0,-5)|0)>>10;b[B>>1]=((N>>>0<16384?N:0-N>>31&16383)+1+(e[B>>1]|0)|0)>>>1;B=j+(g<<1)|0;L=M+512+C+((G+J|0)*20|0)+(H(d+L|0,-5)|0)>>10;b[B>>1]=((L>>>0<16384?L:0-L>>31&16383)+1+(e[B>>1]|0)|0)>>>1;B=j+(m<<1)|0;J=K+D+((d+G|0)*20|0)+(H(C+J|0,-5)|0)>>10;b[B>>1]=((J>>>0<16384?J:0-J>>31&16383)+1+(e[B>>1]|0)|0)>>>1;B=j+(n<<1)|0;G=I+a+((C+d|0)*20|0)+(H(D+G|0,-5)|0)>>10;b[B>>1]=((G>>>0<16384?G:0-G>>31&16383)+1+(e[B>>1]|0)|0)>>>1;B=j+(o<<1)|0;d=F+E+((D+C|0)*20|0)+(H(a+d|0,-5)|0)>>10;b[B>>1]=((d>>>0<16384?d:0-d>>31&16383)+1+(e[B>>1]|0)|0)>>>1;j=j+2|0;f=f+4|0;i=i+1|0}return}function Lf(b,c,e,f){b=b|0;c=c|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=0-f|0;if(!c){c=d[b+g>>0]|0;g=c}else{g=d[b+g>>0]|0;c=d[b+~f>>0]|0}k=d[b+(1-f)>>0]|0;p=k+2|0;r=(p+c+(g<<1)|0)>>>2;l=d[b+(2-f)>>0]|0;m=l+2|0;k=(m+g+(k<<1)|0)>>>2;n=d[b+(3-f)>>0]|0;l=(p+(l<<1)+n|0)>>>2;p=d[b+(4-f)>>0]|0;m=(m+(n<<1)+p|0)>>>2;q=d[b+(5-f)>>0]|0;n=(n+2+(p<<1)+q|0)>>>2;o=d[b+(6-f)>>0]|0;p=(p+2+(q<<1)+o|0)>>>2;c=d[b+(7-f)>>0]|0;q=(q+2+(o<<1)+c|0)>>>2;if(!e){g=c;e=c;h=c;i=c;j=c;c=c*3|0}else{s=d[b+(8-f)>>0]|0;j=d[b+(9-f)>>0]|0;t=d[b+(10-f)>>0]|0;i=t+2|0;h=d[b+(11-f)>>0]|0;e=d[b+(12-f)>>0]|0;g=(h+2+(e<<1)+(d[b+(13-f)>>0]|0)|0)>>>2;e=(i+(h<<1)+e|0)>>>2;h=(j+2+(t<<1)+h|0)>>>2;i=(i+s+(j<<1)|0)>>>2;j=(c+2+(s<<1)+j|0)>>>2;c=(c<<1)+s|0}u=(o+2+c|0)>>>2;t=k+1|0;a[b>>0]=(t+r|0)>>>1;s=l+2|0;a[b+f>>0]=(s+r+(k<<1)|0)>>>2;t=(t+l|0)>>>1&255;a[b+1>>0]=t;c=f<<1;a[b+c>>0]=t;t=m+2|0;r=(t+k+(l<<1)|0)>>>2&255;a[b+(f+1)>>0]=r;k=f*3|0;a[b+k>>0]=r;r=(l+1+m|0)>>>1&255;a[b+2>>0]=r;a[b+(c|1)>>0]=r;o=f<<2;a[b+o>>0]=r;s=(s+(m<<1)+n|0)>>>2&255;a[b+(f+2)>>0]=s;a[b+(k+1)>>0]=s;r=f*5|0;a[b+r>>0]=s;m=(m+1+n|0)>>>1&255;a[b+3>>0]=m;a[b+(c+2)>>0]=m;a[b+(o|1)>>0]=m;s=f*6|0;a[b+s>>0]=m;m=(t+(n<<1)+p|0)>>>2&255;a[b+(f+3)>>0]=m;a[b+(k+2)>>0]=m;a[b+(r+1)>>0]=m;t=f*7|0;a[b+t>>0]=m;m=(n+1+p|0)>>>1&255;a[b+4>>0]=m;a[b+(c+3)>>0]=m;a[b+(o|2)>>0]=m;a[b+(s|1)>>0]=m;n=(n+2+(p<<1)+q|0)>>>2&255;a[b+(f+4)>>0]=n;a[b+(k+3)>>0]=n;a[b+(r+2)>>0]=n;a[b+(t+1)>>0]=n;n=(p+1+q|0)>>>1&255;a[b+5>>0]=n;a[b+(c+4)>>0]=n;a[b+(o|3)>>0]=n;a[b+(s+2)>>0]=n;p=(p+2+(q<<1)+u|0)>>>2&255;a[b+(f+5)>>0]=p;a[b+(k+4)>>0]=p;a[b+(r+3)>>0]=p;a[b+(t+2)>>0]=p;p=(q+1+u|0)>>>1&255;a[b+6>>0]=p;a[b+(c+5)>>0]=p;a[b+(o+4)>>0]=p;a[b+(s+3)>>0]=p;p=(q+2+j+(u<<1)|0)>>>2&255;a[b+(f+6)>>0]=p;a[b+(k+5)>>0]=p;a[b+(r+4)>>0]=p;a[b+(t+3)>>0]=p;p=j+1|0;q=(p+u|0)>>>1&255;a[b+7>>0]=q;a[b+(c+6)>>0]=q;a[b+(o+5)>>0]=q;a[b+(s+4)>>0]=q;q=i+2|0;n=(q+u+(j<<1)|0)>>>2&255;a[b+(f+7)>>0]=n;a[b+(k+6)>>0]=n;a[b+(r+5)>>0]=n;a[b+(t+4)>>0]=n;f=(p+i|0)>>>1&255;a[b+(c+7)>>0]=f;a[b+(o+6)>>0]=f;a[b+(s+5)>>0]=f;f=(j+2+(i<<1)+h|0)>>>2&255;a[b+(k+7)>>0]=f;a[b+(r+6)>>0]=f;a[b+(t+5)>>0]=f;f=(i+1+h|0)>>>1&255;a[b+(o+7)>>0]=f;a[b+(s+6)>>0]=f;f=(q+(h<<1)+e|0)>>>2&255;a[b+(r+7)>>0]=f;a[b+(t+6)>>0]=f;a[b+(s+7)>>0]=(h+1+e|0)>>>1;a[b+(t+7)>>0]=(h+2+(e<<1)+g|0)>>>2;return}function Mf(a,d,f,g,h,i){a=a|0;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,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;l=i>>1;B=h*13|0;j=d;k=0;f=f+(0-(i&-2)<<1)|0;while(1){if((k|0)==13)break;A=e[f>>1]|0;y=e[f+2>>1]|0;z=e[f+-2>>1]|0;x=e[f+4>>1]|0;v=H(x+z|0,-5)|0;w=e[f+6>>1]|0;c[j>>2]=((y+A|0)*20|0)+(e[f+-4>>1]|0)+v+w;v=H(w+A|0,-5)|0;u=e[f+8>>1]|0;c[j+4>>2]=((x+y|0)*20|0)+z+v+u;v=H(u+y|0,-5)|0;z=e[f+10>>1]|0;c[j+8>>2]=((w+x|0)*20|0)+A+v+z;v=H(z+x|0,-5)|0;A=e[f+12>>1]|0;c[j+12>>2]=((u+w|0)*20|0)+y+v+A;v=H(A+w|0,-5)|0;y=e[f+14>>1]|0;c[j+16>>2]=((z+u|0)*20|0)+x+v+y;v=H(y+u|0,-5)|0;x=e[f+16>>1]|0;c[j+20>>2]=((A+z|0)*20|0)+w+v+x;v=H(x+z|0,-5)|0;w=e[f+18>>1]|0;c[j+24>>2]=((y+A|0)*20|0)+u+v+w;A=H(w+A|0,-5)|0;c[j+28>>2]=((x+y|0)*20|0)+z+A+(e[f+20>>1]|0);j=j+(h<<2)|0;k=k+1|0;f=f+(l<<1)|0}p=g>>1;q=H(h,-2)|0;r=0-h|0;s=h<<1;t=h*3|0;u=h<<2;v=h*5|0;w=h*6|0;x=h*7|0;y=h<<3;z=h*9|0;A=h*10|0;k=g&-2;l=p*3|0;g=p<<2;m=p*5|0;n=p*6|0;o=p*7|0;j=a;f=d+(B<<2)+((H(h,-11)|0)<<2)|0;i=0;while(1){if((i|0)==8)break;F=c[f+(r<<2)>>2]|0;O=c[f>>2]|0;N=c[f+(h<<2)>>2]|0;M=c[f+(s<<2)>>2]|0;L=c[f+(t<<2)>>2]|0;J=c[f+(u<<2)>>2]|0;G=c[f+(v<<2)>>2]|0;d=c[f+(w<<2)>>2]|0;C=c[f+(x<<2)>>2]|0;D=c[f+(y<<2)>>2]|0;a=c[f+(z<<2)>>2]|0;E=c[f+(A<<2)>>2]|0;K=L+512|0;B=K+(c[f+(q<<2)>>2]|0)+((N+O|0)*20|0)+(H(M+F|0,-5)|0)>>10;b[j>>1]=((B>>>0<4096?B:0-B>>31&4095)+1+(e[j>>1]|0)|0)>>>1;B=j+(p<<1)|0;I=J+512|0;F=I+F+((M+N|0)*20|0)+(H(L+O|0,-5)|0)>>10;b[B>>1]=((F>>>0<4096?F:0-F>>31&4095)+1+(e[B>>1]|0)|0)>>>1;B=j+(k<<1)|0;F=G+512|0;O=F+O+((L+M|0)*20|0)+(H(J+N|0,-5)|0)>>10;b[B>>1]=((O>>>0<4096?O:0-O>>31&4095)+1+(e[B>>1]|0)|0)>>>1;B=j+(l<<1)|0;N=N+512+d+((J+L|0)*20|0)+(H(G+M|0,-5)|0)>>10;b[B>>1]=((N>>>0<4096?N:0-N>>31&4095)+1+(e[B>>1]|0)|0)>>>1;B=j+(g<<1)|0;L=M+512+C+((G+J|0)*20|0)+(H(d+L|0,-5)|0)>>10;b[B>>1]=((L>>>0<4096?L:0-L>>31&4095)+1+(e[B>>1]|0)|0)>>>1;B=j+(m<<1)|0;J=K+D+((d+G|0)*20|0)+(H(C+J|0,-5)|0)>>10;b[B>>1]=((J>>>0<4096?J:0-J>>31&4095)+1+(e[B>>1]|0)|0)>>>1;B=j+(n<<1)|0;G=I+a+((C+d|0)*20|0)+(H(D+G|0,-5)|0)>>10;b[B>>1]=((G>>>0<4096?G:0-G>>31&4095)+1+(e[B>>1]|0)|0)>>>1;B=j+(o<<1)|0;d=F+E+((D+C|0)*20|0)+(H(a+d|0,-5)|0)>>10;b[B>>1]=((d>>>0<4096?d:0-d>>31&4095)+1+(e[B>>1]|0)|0)>>>1;j=j+2|0;f=f+4|0;i=i+1|0}return}function Nf(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;s=Mb;Mb=Mb+240|0;r=s+176|0;d=s+160|0;n=s+144|0;m=s+128|0;l=s;o=s+224|0;p=s+184|0;q=b+840|0;do if((c[q>>2]|0)==3){k=a+26364|0;g=c[k>>2]|0;h=c[a+24312>>2]|0;g=c[((g|0)==3?h+84|0:h+76+(((g|0)==2&1)<<2)|0)>>2]|0;h=a+28332|0;i=a+29540|0;j=a+28460|0;f=0;while(1){if(f>>>0>=2){d=11;break}d=qz(l,h,c[i>>2]|0,g,f^1)|0;d=(qz(l+(d<<2)|0,h,c[i>>2]|0,g,f)|0)+d|0;if((d|0)>=33){d=5;break}d=im(b+23416+(f*1920|0)|0,48,l,d,0,c[k>>2]|0)|0;d=(im(b+23416+(f*1920|0)+(d*40|0)|0,48-d|0,j,16,1,c[k>>2]|0)|0)+d|0;if((d|0)>=33){d=7;break}e=c[b+23404+(f<<2)>>2]|0;if(e>>>0>d>>>0)jv(b+23416+(f*1920|0)+(d*40|0)|0,0,(e-d|0)*40|0)|0;c[o+(f<<2)>>2]=d;f=f+1|0}if((d|0)==5){c[m>>2]=206521;c[m+4>>2]=206341;c[m+8>>2]=153;AD(0,0,222515,m);ba()}else if((d|0)==7){c[n>>2]=206521;c[n+4>>2]=206341;c[n+8>>2]=160;AD(0,0,222515,n);ba()}else if((d|0)==11){e=c[o>>2]|0;o=c[o+4>>2]|0;if((e|0)==(o|0)&(o|0)>1){d=0;while(1){if((d|0)>=(e|0))break;if((c[c[(c[c[b+23416+(d*40|0)+36>>2]>>2]|0)+248>>2]>>2]|0)!=(c[c[(c[c[b+25336+(d*40|0)+36>>2]>>2]|0)+248>>2]>>2]|0))break;d=d+1|0}if((d|0)==(e|0)){d=b+25376|0;j=p;f=d;k=j+40|0;do{c[j>>2]=c[f>>2];j=j+4|0;f=f+4|0}while((j|0)<(k|0));e=b+25336|0;j=d;f=e;k=j+40|0;do{c[j>>2]=c[f>>2];j=j+4|0;f=f+4|0}while((j|0)<(k|0));j=e;f=p;k=j+40|0;do{c[j>>2]=c[f>>2];j=j+4|0;f=f+4|0}while((j|0)<(k|0))}}break}}else{p=a+26364|0;e=im(b+23416|0,48,a+28332|0,c[a+29540>>2]|0,0,c[p>>2]|0)|0;e=(im(b+23416+(e*40|0)|0,48-e|0,a+28460|0,16,1,c[p>>2]|0)|0)+e|0;if((e|0)>=33){c[d>>2]=206521;c[d+4>>2]=206341;c[d+8>>2]=181;AD(0,0,222515,d);ba()}d=c[b+23404>>2]|0;if(d>>>0>e>>>0)jv(b+23416+(e*40|0)|0,0,(d-e|0)*40|0)|0}while(0);h=a+4|0;f=0;while(1){if(f>>>0>=((c[q>>2]|0)==3?2:1)>>>0)break;i=b+23404+(f<<2)|0;g=0;while(1){if(g>>>0>=(c[i>>2]|0)>>>0)break;d=b+23416+(f*1920|0)+(g*40|0)|0;e=c[b+23416+(f*1920|0)+(g*40|0)+36>>2]|0;if(e|0?jM(a,e)|0:0){AD(c[h>>2]|0,16,206531,r);j=d;k=j+40|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(k|0))}g=g+1|0}f=f+1|0}e=b+23412|0;d=0;while(1){if(d>>>0>=(c[e>>2]|0)>>>0)break;j=a+28252+(d*40|0)|0;f=b+23416+(d*1920|0)|0;k=j+40|0;do{c[j>>2]=c[f>>2];j=j+4|0;f=f+4|0}while((j|0)<(k|0));d=d+1|0}Mb=s;return}function Of(a,b,d,e,f,h,i,j,k,l,m,n,o){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=+i;j=j|0;k=k|0;l=+l;m=+m;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;x=Mb;Mb=Mb+48|0;u=x+24|0;t=x+8|0;s=x;w=x+32|0;n=x+36|0;c[w>>2]=a;i=(i!=0.0?i:.97)*+(b|0)/+(d|0);i=i>1.0?1.0:i;f=1<<f;m=+(e|0)/i;q=~~+G(+m);q=(q|0)>1?q+1&2147483646:1;if(!o){e=f;r=f}else{ih(n,x+28|0,b,((b|0)<0)<<31>>31,d,((d|0)<0)<<31>>31,2147483647,0)|0;a=c[n>>2]|0;if((a|0)>(f|0)){n=f;a=f}else n=f-((f|0)%(a|0)|0)|0;e=n;r=a;a=c[w>>2]|0}if((((((((a|0)!=0?(c[a+48>>2]|0)==(r|0):0)?(c[a+52>>2]|0)==(h|0):0)?!(+g[a+72>>3]!=i):0)?(c[a+8>>2]|0)==(q|0):0)?(c[a+80>>2]|0)==(j|0):0)?(c[a+56>>2]|0)==(k|0):0)?!(+g[a+64>>3]!=l):0)p=23;else p=13;do if((p|0)==13){aZ(w);a=EZ(112)|0;c[w>>2]=a;if(a){c[a+80>>2]=j;a=jY(j)|0;n=c[w>>2]|0;c[n+84>>2]=a;switch(c[n+80>>2]|0){case 6:{v=15;break}case 7:{v=30;break}case 9:case 8:{v=0;break}default:{AD(0,16,222648,s);c[t>>2]=222636;c[t+4>>2]=222574;c[t+8>>2]=335;AD(0,0,222515,t);ba()}}c[n+88>>2]=v;if(m>8388607.0){AD(0,16,222675,u);a=w;p=29;break}c[n+48>>2]=r;c[n+52>>2]=h;g[n+72>>3]=i;c[n+8>>2]=q;h=q+7&2147483640;c[n+12>>2]=h;a=gW(h,H(a,r+1|0)|0)|0;n=c[w>>2]|0;c[n+4>>2]=a;c[n+56>>2]=k;g[n+64>>3]=l;c[n+92>>2]=e;if((a|0)!=0?(ye(n,a,i,c[n+8>>2]|0,c[n+12>>2]|0,r,1<<c[n+88>>2],k,l)|0)==0:0){a=c[w>>2]|0;p=c[a+4>>2]|0;k=c[a+12>>2]|0;h=(H(k,r)|0)+1|0;a=c[a+84>>2]|0;Mn(p+(H(h,a)|0)|0,p|0,H(k+-1|0,a)|0)|0;a=c[w>>2]|0;k=c[a+4>>2]|0;p=c[a+12>>2]|0;h=H(p,r)|0;a=c[a+84>>2]|0;Mn(k+(H(h,a)|0)|0,k+(H(p+-1|0,a)|0)|0,a|0)|0;a=c[w>>2]|0;p=23}else{a=w;p=29}}else a=0}while(0);do if((p|0)==23){c[a+44>>2]=0;d=MR(r|0,((r|0)<0)<<31>>31|0,d|0,((d|0)<0)<<31>>31|0)|0;if(!(ih(a+40|0,a+20|0,b,((b|0)<0)<<31>>31,d,M()|0,1073741823,0)|0)){a=w;p=29;break}a=c[w>>2]|0;n=a+20|0;f=a+40|0;e=c[n>>2]|0;while(1){o=c[f>>2]|0;if(!((e|0)<1048576&(o|0)<1048576))break;d=e<<1;c[n>>2]=d;c[f>>2]=o<<1;e=d}c[a+16>>2]=e;d=(e|0)/(o|0)|0;c[a+24>>2]=d;d=e-(H(d,o)|0)|0;c[a+28>>2]=d;d=H(((c[a+8>>2]|0)+-1|0)/2|0,0-r|0)|0;c[a+32>>2]=d;c[a+36>>2]=0;CC(a);a=c[w>>2]|0}while(0);if((p|0)==29){bU((c[w>>2]|0)+4|0);$1(c[a>>2]|0);a=0}Mb=x;return a|0}function Pf(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=Mb;Mb=Mb+16|0;z=A+8|0;y=A;u=c[f+48>>2]|0;x=(i|0)==1&(u|0)==1?2:1;u=(i|0)!=0&(u|0)!=0;v=u?12:31;t=u?c[212497]|0:c[212489]|0;u=u?c[212505]|0:c[212501]|0;w=h+20|0;q=f+310120|0;r=g+8|0;s=g+16|0;i=0;a:while(1){j=c[w>>2]|0;if(i>>>0>=j>>>0){f=18;break}b:do if(!(a[h+29+i>>0]|0)){f=H(HG(g,5)|0,x)|0;i=i+1|0;a[h+87856+(i*5|0)>>0]=f;p=1;while(1){if(p>>>0>=(c[q>>2]|0)>>>0)break b;n=f&255;f=c[r>>2]|0;o=c[s>>2]|0;l=c[g>>2]|0;k=l+(f>>>3)|0;k=(W_(d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24|0)|0)<<(f&7)>>>23;j=b[t+(k<<2)>>1]|0;k=b[t+(k<<2)+2>>1]|0;m=k<<16>>16;if(k<<16>>16<0){f=f+9|0;f=o>>>0>f>>>0?f:o;B=l+(f>>>3)|0;B=((W_(d[B>>0]|d[B+1>>0]<<8|d[B+2>>0]<<16|d[B+3>>0]<<24|0)|0)<<(f&7)>>>(m+32|0))+j|0;j=b[t+(B<<2)>>1]|0;B=b[t+(B<<2)+2>>1]|0;k=B<<16>>16;if(B<<16>>16<0){f=f-m|0;f=o>>>0>f>>>0?f:o;B=l+(f>>>3)|0;j=((W_(d[B>>0]|d[B+1>>0]<<8|d[B+2>>0]<<16|d[B+3>>0]<<24|0)|0)<<(f&7)>>>(k+32|0))+j|0;k=b[t+(j<<2)+2>>1]|0;j=b[t+(j<<2)>>1]|0}}else k=m;f=k+f|0;c[r>>2]=o>>>0>f>>>0?f:o;f=(H(j-v|0,x)|0)+n|0;a[h+87856+(i*5|0)+p>>0]=f;j=f&255;if(j>>>0>30){f=17;break a}else p=p+1|0}}else{p=i+1|0;o=0;while(1){if(o>>>0>=(c[q>>2]|0)>>>0){i=p;break b}m=d[h+87856+(i*5|0)+o>>0]|0;f=c[r>>2]|0;n=c[s>>2]|0;k=c[g>>2]|0;B=k+(f>>>3)|0;B=(W_(d[B>>0]|d[B+1>>0]<<8|d[B+2>>0]<<16|d[B+3>>0]<<24|0)|0)<<(f&7)>>>23;j=b[u+(B<<2)>>1]|0;B=b[u+(B<<2)+2>>1]|0;l=B<<16>>16;if(B<<16>>16<0){f=f+9|0;f=n>>>0>f>>>0?f:n;B=k+(f>>>3)|0;j=((W_(d[B>>0]|d[B+1>>0]<<8|d[B+2>>0]<<16|d[B+3>>0]<<24|0)|0)<<(f&7)>>>(l+32|0))+j|0;l=b[u+(j<<2)+2>>1]|0;j=b[u+(j<<2)>>1]|0}B=l+f|0;c[r>>2]=n>>>0>B>>>0?B:n;j=(H(j-v|0,x)|0)+m|0;a[h+87856+(p*5|0)+o>>0]=j;j=j&255;if(j>>>0>30){f=10;break a}else o=o+1|0}}while(0)}if((f|0)==10){i=c[e+4>>2]|0;c[y>>2]=j;AD(i,16,198876,y);i=-1094995529}else if((f|0)==17){i=c[e+4>>2]|0;c[z>>2]=j;AD(i,16,198876,z);i=-1094995529}else if((f|0)==18){i=h+87856|0;B=h+87856+(j*5|0)|0;a[i>>0]=a[B>>0]|0;a[i+1>>0]=a[B+1>>0]|0;a[i+2>>0]=a[B+2>>0]|0;a[i+3>>0]=a[B+3>>0]|0;a[i+4>>0]=a[B+4>>0]|0;i=0}Mb=A;return i|0}function Qf(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;o=Mb;Mb=Mb+32|0;e=o+24|0;f=o;m=c[b+25652>>2]|0;n=b+28200|0;g=c[n>>2]|0;c[f>>2]=1<<(c[g+1184>>2]|0)+-1;g=1<<(c[g+1188>>2]|0)+-1;c[f+4>>2]=g;c[f+8>>2]=g;c[f+12>>2]=-1;g=b+4|0;do if(ME(c[g>>2]|0)|0){GD(b,1);l=b+24312|0;c[l>>2]=0;d=TT(b)|0;if((d|0)<0){AD(c[g>>2]|0,16,208350,e);break}j=b+696+(d*656|0)|0;k=b+26364|0;i=c[k>>2]|0;c[b+696+(d*656|0)+640>>2]=(c[b+25672>>2]|0)==0?i:0;e=b+25676|0;p=c[e>>2]|0;c[e>>2]=p+1;e=c[j>>2]|0;c[e+128>>2]=p;c[b+696+(d*656|0)+636>>2]=(i|0)!=3&1;c[b+696+(d*656|0)+88>>2]=c[b+28228>>2];c[e+84>>2]=0;c[b+696+(d*656|0)+92>>2]=0;c[b+696+(d*656|0)+644>>2]=0;c[b+696+(d*656|0)+648>>2]=0;c[b+696+(d*656|0)+652>>2]=c[b+29700>>2];i=b+25628|0;c[e+88>>2]=c[(c[i>>2]|0)+836>>2];c[e+392>>2]=c[b+25700>>2];c[e+396>>2]=c[b+25704>>2];c[e+384>>2]=c[b+25708>>2];c[e+388>>2]=c[b+25712>>2];d=Ej(b,j)|0;if((d|0)>=0){if(((c[b+29560>>2]|0)==0?(h=c[g>>2]|0,(c[h+704>>2]|0)==0):0)?(c[(c[h+12>>2]|0)+16>>2]&128|0)==0:0)Xp(c[j>>2]|0,f);c[l>>2]=j;d=b+24316|0;UC(b,d);iA((c[i>>2]|0)+696|0,0);d=_h(b,d,c[l>>2]|0)|0;if((d|0)>=0){e=c[b+25632>>2]|0;d=0;while(1){if((d|0)>=(e|0))break;h=c[c[l>>2]>>2]|0;p=c[i>>2]|0;c[p+(d*34768|0)+21772>>2]=c[h+32>>2];c[p+(d*34768|0)+21776>>2]=c[h+36>>2];d=d+1|0}if(c[b+29656>>2]|0){ZF((c[i>>2]|0)+24|0);iA((c[i>>2]|0)+728|0,0);iA((c[i>>2]|0)+760|0,0)}d=0;while(1){if((d|0)==16)break;p=a[91792+d>>0]|0;h=(p&255)+-12|0;p=((p<<2&255)+16&28)<<m;i=(c[j>>2]|0)+32|0;g=p+(H(c[i>>2]<<2,h>>3)|0)|0;c[b+25960+(d<<2)>>2]=g;p=(H(h&-8,c[i>>2]|0)|0)+p|0;c[b+25960+(d+48<<2)>>2]=p;d=d+1|0}d=0;while(1){if((d|0)==16)break;p=a[91792+d>>0]|0;h=(p&255)+-12|0;p=((p<<2&255)+16&28)<<m;i=(c[j>>2]|0)+36|0;g=p+(H(c[i>>2]<<2,h>>3)|0)|0;c[b+25960+(d+32<<2)>>2]=g;c[b+25960+(d+16<<2)>>2]=g;p=(H(h&-8,c[i>>2]|0)|0)+p|0;c[b+25960+(d+80<<2)>>2]=p;c[b+25960+(d+64<<2)>>2]=p;d=d+1|0}p=c[l>>2]|0;c[p+640>>2]=0;c[p+80>>2]=2147483647;c[p+76>>2]=2147483647;c[b+28724>>2]=0;c[b+25692>>2]=0;if(!(c[(c[n>>2]|0)+68>>2]|0))d=0;else d=(c[k>>2]|0)==3&1;c[b+26360>>2]=d;d=0}}}else{AD(c[g>>2]|0,16,208304,o+16|0);d=-1}while(0);Mb=o;return d|0}function Rf(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;r=Mb;Mb=Mb+80|0;e=r+48|0;j=r+32|0;n=r+16|0;o=r;g=r+64|0;h=r+60|0;q=c[(c[a+64>>2]|0)+16>>2]|0;a:do switch(c[a+8>>2]|0){case 0:{c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[o+12>>2]=0;k=b+68|0;e=c[k>>2]|0;c[g>>2]=e;l=b+72|0;f=c[l>>2]|0;c[h>>2]=f;m=q+16|0;i=b+80|0;if(((c[m>>2]|0)==(c[i>>2]|0)?(c[q+20>>2]|0)==(e|0):0)?(c[q+24>>2]|0)==(f|0):0)d=0;else p=5;b:do if((p|0)==5){Dh(a,g,h,q+28|0);f=a+144|0;a=c[g>>2]|0;do{d=Ex(n,c[f>>2]|0,a)|0;if((d|0)<0)break b;a=c[g>>2]|0;a=(a&0-a)+a|0;c[g>>2]=a;d=0;e=0;while(1){if((d|0)==4)break;b=(c[n+(d<<2)>>2]|0)%(c[q+28+(d<<2)>>2]|0)|0|e;d=d+1|0;e=b}}while((e|0)!=0);f=Sn(j,c[f>>2]|0,c[h>>2]|0,0,n)|0;if((f|0)>=0){d=0;while(1){if(d>>>0>=3)break;e=d+1|0;a=c[j+(e<<2)>>2]|0;if(!a)break;c[o+(d<<2)>>2]=a-(c[j+(d<<2)>>2]|0);d=e}c[o+(d<<2)>>2]=f-(c[j+(d<<2)>>2]|0)+(c[j>>2]|0);d=0;while(1){if(d>>>0>=4){p=21;break}e=q+(d<<2)|0;KT(e);c[q+60+(d<<2)>>2]=c[n+(d<<2)>>2];a=c[o+(d<<2)>>2]|0;if(a|0?(p=YQ(a+23|0,23)|0,c[e>>2]=p,(p|0)==0):0){p=23;break}d=d+1|0}if((p|0)==21){c[m>>2]=c[i>>2];c[q+20>>2]=c[k>>2];c[q+24>>2]=c[l>>2];d=0;break a}else if((p|0)==23){d=-12;p=32;break a}}else d=-1}while(0);break}case 1:{f=c[b+352>>2]|0;g=b+80|0;h=(iY(c[g>>2]|0)|0)==0;h=h?1:f;i=q+16|0;if((((c[i>>2]|0)==(c[g>>2]|0)?(c[q+76>>2]|0)==(h|0):0)?(c[q+80>>2]|0)==(f|0):0)?(c[b+76>>2]|0)==(c[q+84>>2]|0):0){d=0;break a}KT(q);a=q+60|0;e=b+76|0;d=fu(a,f,c[e>>2]|0,c[g>>2]|0,0)|0;if((d|0)>=0){o=YQ(c[a>>2]|0,0)|0;c[q>>2]=o;if(!o){d=-12;p=32}else{c[i>>2]=c[g>>2];c[q+76>>2]=h;c[q+80>>2]=f;c[q+84>>2]=c[e>>2];d=0}}else p=32;break}default:{c[e>>2]=222636;c[e+4>>2]=171026;c[e+8>>2]=1343;AD(0,0,222515,e);ba()}}while(0);if((p|0)==32){e=0;while(1){if((e|0)==4)break;KT(q+(e<<2)|0);e=e+1|0}c[q+16>>2]=-1;c[q+84>>2]=0;c[q+80>>2]=0;c[q+76>>2]=0;c[q+24>>2]=0;c[q+20>>2]=0}Mb=r;return d|0}function Sf(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;l=Mb;Mb=Mb+32|0;h=l+24|0;k=l+16|0;j=l+8|0;i=l;g=c[(c[a+64>>2]|0)+40>>2]|0;do if(g){f=g+8|0;e=c[f>>2]|0;f=c[f+4>>2]|0;d=b+104|0;c[d>>2]=e;c[d+4>>2]=f;d=b+112|0;c[d>>2]=e;c[d+4>>2]=f;d=g+56|0;f=c[d+4>>2]|0;e=b+328|0;c[e>>2]=c[d>>2];c[e+4>>2]=f;e=g+48|0;f=c[e+4>>2]|0;d=b+336|0;c[d>>2]=c[e>>2];c[d+4>>2]=f;c[b+356>>2]=c[g+28>>2];d=0;while(1){if(d>>>0>=8){e=9;break}e=UA(g,c[18224+(d<<3)>>2]|0,h)|0;if(e|0){f=JY(b,c[18224+(d<<3)+4>>2]|0,c[h>>2]|0)|0;if(!f){e=7;break}Mn(c[f+4>>2]|0,e|0,c[h>>2]|0)|0}d=d+1|0}if((e|0)==7){d=-12;break}else if((e|0)==9){yR(g,b);f=b+296|0;d=c[f>>2]|0;c[f>>2]=(c[g+36>>2]&4|0)==0?d&-5:d|4;e=10;break}}else e=10;while(0);a:do if((e|0)==10){f=a+696|0;g=c[f+4>>2]|0;d=b+224|0;c[d>>2]=c[f>>2];c[d+4>>2]=g;d=b+304|0;if((c[d>>2]|0)==2)c[d>>2]=c[a+388>>2];d=b+308|0;if((c[d>>2]|0)==2)c[d>>2]=c[a+392>>2];d=b+312|0;if((c[d>>2]|0)==2)c[d>>2]=c[a+396>>2];d=b+300|0;if(!(c[d>>2]|0))c[d>>2]=c[a+400>>2];d=b+316|0;if(!(c[d>>2]|0))c[d>>2]=c[a+404>>2];switch(c[(c[a+12>>2]|0)+8>>2]|0){case 0:{c[b+80>>2]=c[a+144>>2];d=b+92|0;if(!(c[d>>2]|0)){g=a+228|0;j=c[g+4>>2]|0;k=d;c[k>>2]=c[g>>2];c[k+4>>2]=j}e=c[b+68>>2]|0;if(!e){d=0;break a}f=c[b+72>>2]|0;if(!f){d=0;break a}c[h>>2]=c[d>>2];c[h+4>>2]=c[d+4>>2];if((KB(e,f,h)|0)>=0){d=0;break a}k=b+96|0;j=c[k>>2]|0;c[i>>2]=c[d>>2];c[i+4>>2]=j;AD(a,24,194364,i);c[b+92>>2]=0;c[k>>2]=1;d=0;break a}case 1:break;default:{d=0;break a}}d=b+232|0;if(!(c[d>>2]|0))c[d>>2]=c[a+416>>2];d=b+80|0;if((c[d>>2]|0)<0)c[d>>2]=c[a+424>>2];f=b+240|0;i=f;do if((c[i>>2]|0)==0&(c[i+4>>2]|0)==0){g=a+448|0;e=g;d=c[e>>2]|0;e=c[e+4>>2]|0;if((d|0)==0&(e|0)==0){d=c[a+420>>2]|0;if(d>>>0<=64)break;c[k>>2]=d;AD(a,16,172346,k);d=-38;break a}d=DD(d,e)|0;if((d|0)==(c[a+420>>2]|0)){j=g;k=c[j+4>>2]|0;a=f;c[a>>2]=c[j>>2];c[a+4>>2]=k;break}else{AD(a,16,172309,j);d=-22;break a}}else d=c[a+420>>2]|0;while(0);c[b+352>>2]=d;d=0}while(0);Mb=l;return d|0}function Tf(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;q=Mb;Mb=Mb+48|0;p=q+32|0;m=q+24|0;l=q+16|0;i=q+8|0;g=q;k=c[b+6472>>2]|0;n=c[b+6476>>2]|0;j=(k|0)!=39;do if(j){if(mT(f)|0?(h=b+4|0,AD(c[h>>2]|0,16,197003,g),c[(c[h>>2]|0)+688>>2]&2|0):0){g=-1094995529;break}g=e+4|0;c[e+8>>2]=c[g>>2];h=HG(f,2)|0;c[g>>2]=h;if((k|0)!=23|(h|0)==0){o=e+12|0;a[e+13>>0]=a[o>>0]|0;i=(mT(f)|0)&255;a[o>>0]=i;o=8;break}else{p=c[b+4>>2]|0;c[i>>2]=h;AD(p,16,197022,i);c[g>>2]=0;g=-1094995529;break}}else{g=e+4|0;o=8}while(0);do if((o|0)==8){i=e+16|0;c[i>>2]=1;a[e+20>>0]=1;a:do if((c[g>>2]|0)!=2){g=(HG(f,6)|0)&255;a[e>>0]=g;c[e+92>>2]=1;g=(c[b+6516>>2]|0)!=0;switch(k|0){case 23:case 39:{i=c[(g?61488:61200)+(n<<2)>>2]|0;c[e+80>>2]=i;h=a[(g?200080:200067)+n>>0]|0;c[e+88>>2]=h&255;c[e+96>>2]=d[(g?200145:200132)+n>>0];if(h<<24>>24==0|(i|0)==0){g=-558323010;h=e;break a}break}default:{c[e+88>>2]=d[(g?200054:200041)+n>>0];c[e+80>>2]=c[(g?60432:59664)+(n<<2)>>2];c[e+96>>2]=d[200119+n>>0]}}if(j){g=mT(f)|0;c[e+100>>2]=g;c[e+108>>2]=0}else g=c[e+100>>2]|0;if(!g){h=e;o=29}else switch(k|0){case 1:if(!(Rx(b,e,f)|0)){h=e;o=29;break a}else{g=-1094995529;h=e;break a}case 2:case 17:{AD(c[b+4>>2]|0,16,197099,l);g=-1094995529;h=e;break a}case 23:{AD(c[b+4>>2]|0,16,197137,m);g=-1163346256;h=e;break a}default:{o=(HG(f,1)|0)&255;g=e+28|0;a[g>>0]=o;if(!(o<<24>>24)){h=e;o=29;break a}oF(g,f,a[e>>0]|0);h=e;o=29;break a}}}else{g=(HG(f,4)|0)&255;a[e>>0]=g;g=0;while(1){if((g|0)==7)break;o=(mT(f)|0)==0;h=c[i>>2]|0;if(o){c[i>>2]=h+1;a[e+20+h>>0]=1}else{o=h+-1+(e+20)|0;a[o>>0]=(a[o>>0]|0)+1<<24>>24}g=g+1|0}c[e+92>>2]=8;h=(c[b+6516>>2]|0)==0;c[e+80>>2]=c[(h?61776:62e3)+(n<<2)>>2];c[e+88>>2]=d[(h?200093:200093)+n>>0];c[e+96>>2]=d[200158+n>>0];c[e+100>>2]=0;h=e;o=29}while(0);if((o|0)==29){i=d[h>>0]|0;g=c[e+88>>2]|0;if((g|0)>=(i|0)){g=0;break}e=c[b+4>>2]|0;c[p>>2]=i;c[p+4>>2]=g;AD(e,16,197176,p);g=-1094995529}a[h>>0]=0}while(0);Mb=q;return g|0}function Uf(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;n=Mb;Mb=Mb+112|0;m=c[21792+(i+-2<<2)>>2]|0;j=n+32|0;a:do if((i|0)>17){h=e+-1|0;i=i+-11|0;b:do if(i>>>0<15){h=0;while(1){if(h>>>0>32)break;l=e+(h+-1)|0;c[j+h>>2]=d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24;h=h+4|0}i=21936+(i<<2)|0;h=m;while(1){if((h|0)>=0)break b;l=f+(((H(c[i>>2]|0,h)|0)+128>>8)+-1)|0;a[j+h>>0]=a[l>>0]|0;h=h+1|0}}else j=h;while(0);h=0;while(1){if((h|0)==32)break a;l=h+1|0;f=H(l,m)|0;e=f>>5;f=f&31;c:do if(!f){e=e+1|0;i=H(h,g)|0;h=0;while(1){if(h>>>0>=32)break c;f=j+(e+h)|0;f=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;k=b+(h+i)|0;a[k>>0]=f;a[k+1>>0]=f>>8;a[k+2>>0]=f>>16;a[k+3>>0]=f>>24;h=h+4|0}}else{k=32-f|0;i=H(h,g)|0;h=0;while(1){if(h>>>0>=32)break c;o=h+e|0;p=H(k,d[j+(o+1)>>0]|0)|0;o=(p+16+(H(f,d[j+(o+2)>>0]|0)|0)|0)>>>5&255;a[b+(h+i)>>0]=o;o=h|1;p=o+e|0;q=H(k,d[j+(p+1)>>0]|0)|0;p=(q+16+(H(f,d[j+(p+2)>>0]|0)|0)|0)>>>5&255;a[b+(o+i)>>0]=p;o=h|2;p=o+e|0;q=H(k,d[j+(p+1)>>0]|0)|0;p=(q+16+(H(f,d[j+(p+2)>>0]|0)|0)|0)>>>5&255;a[b+(o+i)>>0]=p;o=h|3;p=o+e|0;q=H(k,d[j+(p+1)>>0]|0)|0;p=(q+16+(H(f,d[j+(p+2)>>0]|0)|0)|0)>>>5&255;a[b+(o+i)>>0]=p;h=h+4|0}}while(0);h=l}}else{h=f+-1|0;i=i+-11|0;d:do if(i>>>0<15){h=0;while(1){if(h>>>0>32)break;q=f+(h+-1)|0;c[j+h>>2]=d[q>>0]|d[q+1>>0]<<8|d[q+2>>0]<<16|d[q+3>>0]<<24;h=h+4|0}i=21936+(i<<2)|0;h=m;while(1){if((h|0)>=0)break d;q=e+(((H(c[i>>2]|0,h)|0)+128>>8)+-1)|0;a[j+h>>0]=a[q>>0]|0;h=h+1|0}}else j=h;while(0);f=0;while(1){if((f|0)==32)break a;k=f+1|0;i=H(k,m)|0;l=i>>5;i=i&31;e:do if(!i){h=0;while(1){if((h|0)==32)break e;q=h+1|0;p=b+((H(h,g)|0)+f)|0;a[p>>0]=a[j+(q+l)>>0]|0;h=q}}else{e=32-i|0;h=0;while(1){if((h|0)==32)break e;p=h+l|0;q=H(e,d[j+(p+1)>>0]|0)|0;p=(q+16+(H(i,d[j+(p+2)>>0]|0)|0)|0)>>>5&255;q=b+((H(h,g)|0)+f)|0;a[q>>0]=p;h=h+1|0}}while(0);f=k}}while(0);Mb=n;return}function Vf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c[a+84>>2]=c[b+84>>2];c[a+88>>2]=c[b+88>>2];e=b+92|0;f=c[e+4>>2]|0;g=a+92|0;c[g>>2]=c[e>>2];c[g+4>>2]=f;c[a+384>>2]=c[b+384>>2];c[a+388>>2]=c[b+388>>2];c[a+392>>2]=c[b+392>>2];c[a+396>>2]=c[b+396>>2];g=b+104|0;f=c[g+4>>2]|0;e=a+104|0;c[e>>2]=c[g>>2];c[e+4>>2]=f;c[a+208>>2]=c[b+208>>2];c[a+212>>2]=c[b+212>>2];c[a+216>>2]=c[b+216>>2];c[a+220>>2]=c[b+220>>2];c[a+232>>2]=c[b+232>>2];c[a+140>>2]=c[b+140>>2];e=b+112|0;f=c[e+4>>2]|0;g=a+112|0;c[g>>2]=c[e>>2];c[g+4>>2]=f;g=b+120|0;f=c[g+4>>2]|0;e=a+120|0;c[e>>2]=c[g>>2];c[e+4>>2]=f;e=b+328|0;f=c[e+4>>2]|0;g=a+328|0;c[g>>2]=c[e>>2];c[g+4>>2]=f;c[a+356>>2]=c[b+356>>2];g=b+336|0;f=c[g+4>>2]|0;e=a+336|0;c[e>>2]=c[g>>2];c[e+4>>2]=f;e=b+224|0;f=c[e+4>>2]|0;g=a+224|0;c[g>>2]=c[e>>2];c[g+4>>2]=f;c[a+136>>2]=c[b+136>>2];g=b+320|0;f=c[g+4>>2]|0;e=a+320|0;c[e>>2]=c[g>>2];c[e+4>>2]=f;c[a+128>>2]=c[b+128>>2];c[a+132>>2]=c[b+132>>2];c[a+296>>2]=c[b+296>>2];c[a+348>>2]=c[b+348>>2];c[a+304>>2]=c[b+304>>2];c[a+308>>2]=c[b+308>>2];c[a+312>>2]=c[b+312>>2];c[a+300>>2]=c[b+300>>2];c[a+316>>2]=c[b+316>>2];KP(a+344|0,c[b+344>>2]|0,0)|0;e=a+144|0;f=b+144|0;g=e+64|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));k=b+292|0;l=b+288|0;m=b+68|0;n=a+68|0;d=(d|0)==0;h=b+72|0;i=a+72|0;g=0;while(1){if((g|0)>=(c[k>>2]|0)){o=14;break}j=c[(c[l>>2]|0)+(g<<2)>>2]|0;e=c[j>>2]|0;if(!e){if((c[m>>2]|0)==(c[n>>2]|0)?(c[h>>2]|0)==(c[i>>2]|0):0)o=6}else o=6;if((o|0)==6){o=0;if(d){e=Jw(a,e,FP(c[j+16>>2]|0)|0)|0;if(!e){o=11;break}}else{f=j+8|0;e=JY(a,e,c[f>>2]|0)|0;if(!e){o=8;break}Mn(c[e+4>>2]|0,c[j+4>>2]|0,c[f>>2]|0)|0}KP(e+12|0,c[j+12>>2]|0,0)|0}g=g+1|0}do if((o|0)==8){RQ(a);e=-12}else if((o|0)==11){RQ(a);e=-12}else if((o|0)==14){e=a+360|0;c[e>>2]=0;f=a+364|0;c[f>>2]=0;g=a+368|0;c[g>>2]=0;d=a+372|0;F$(d);h=c[b+372>>2]|0;if(h|0?(p=FP(h)|0,c[d>>2]=p,p|0):0){c[e>>2]=c[p+4>>2];c[f>>2]=c[b+364>>2];c[g>>2]=c[b+368>>2]}f=a+380|0;F$(f);e=c[b+380>>2]|0;if(e|0?(b=FP(e)|0,c[f>>2]=b,(b|0)==0):0){e=-12;break}e=0}while(0);return e|0}function Wf(e,f,g,h,i,j,k){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,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=Mb;Mb=Mb+16|0;y=A;x=c[g+12>>2]|0;w=c[1056704+(i<<4)+4>>2]|0;a:do if(!k){t=f+8|0;u=f+16|0;s=210273+i|0;q=g+8|0;o=0;p=0;while(1){if((p|0)>=(x|0)){k=0;break a}k=c[t>>2]|0;r=c[u>>2]|0;m=c[f>>2]|0;v=m+(k>>>3)|0;v=(W_(d[v>>0]|d[v+1>>0]<<8|d[v+2>>0]<<16|d[v+3>>0]<<24|0)|0)<<(k&7)>>>23;i=b[w+(v<<2)>>1]|0;v=b[w+(v<<2)+2>>1]|0;n=v<<16>>16;if(v<<16>>16<0){k=k+9|0;k=r>>>0>k>>>0?k:r;v=m+(k>>>3)|0;v=((W_(d[v>>0]|d[v+1>>0]<<8|d[v+2>>0]<<16|d[v+3>>0]<<24|0)|0)<<(k&7)>>>(n+32|0))+i|0;i=b[w+(v<<2)>>1]|0;v=b[w+(v<<2)+2>>1]|0;l=v<<16>>16;if(v<<16>>16<0){k=k-n|0;k=r>>>0>k>>>0?k:r;v=m+(k>>>3)|0;i=((W_(d[v>>0]|d[v+1>>0]<<8|d[v+2>>0]<<16|d[v+3>>0]<<24|0)|0)<<(k&7)>>>(l+32|0))+i|0;l=b[w+(i<<2)+2>>1]|0;i=b[w+(i<<2)>>1]|0}}else l=n;v=l+k|0;c[t>>2]=r>>>0>v>>>0?v:r;o=i-(a[s>>0]|0)+o|0;a[h+(j*34|0)+p>>0]=o;v=a[g+76+(j*34|0)+p>>0]|0;if((((v|0)>-1?v:0-v|0)|0)>(c[q>>2]<<3|7|0)){z=16;break}else p=p+1|0}}else{if(!j)k=c[g+40>>2]|0;else k=j;t=k+-1|0;t=(t|0)>0?t:0;u=f+8|0;v=f+16|0;p=210273+i|0;q=g+8|0;o=0;while(1){if((o|0)>=(x|0)){k=0;break a}r=d[h+(t*34|0)+o>>0]|0;k=c[u>>2]|0;s=c[v>>2]|0;m=c[f>>2]|0;l=m+(k>>>3)|0;l=(W_(d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24|0)|0)<<(k&7)>>>23;i=b[w+(l<<2)>>1]|0;l=b[w+(l<<2)+2>>1]|0;n=l<<16>>16;if(l<<16>>16<0){k=k+9|0;k=s>>>0>k>>>0?k:s;B=m+(k>>>3)|0;B=((W_(d[B>>0]|d[B+1>>0]<<8|d[B+2>>0]<<16|d[B+3>>0]<<24|0)|0)<<(k&7)>>>(n+32|0))+i|0;i=b[w+(B<<2)>>1]|0;B=b[w+(B<<2)+2>>1]|0;l=B<<16>>16;if(B<<16>>16<0){k=k-n|0;k=s>>>0>k>>>0?k:s;B=m+(k>>>3)|0;i=((W_(d[B>>0]|d[B+1>>0]<<8|d[B+2>>0]<<16|d[B+3>>0]<<24|0)|0)<<(k&7)>>>(l+32|0))+i|0;l=b[w+(i<<2)+2>>1]|0;i=b[w+(i<<2)>>1]|0}}else l=n;B=l+k|0;c[u>>2]=s>>>0>B>>>0?B:s;a[h+(j*34|0)+o>>0]=i+r-(d[p>>0]|0);B=a[g+76+(j*34|0)+o>>0]|0;if((((B|0)>-1?B:0-B|0)|0)>(c[q>>2]<<3|7|0)){z=16;break}else o=o+1|0}}while(0);if((z|0)==16){AD(e,16,210296,y);k=-1}Mb=A;return k|0}function Xf(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;i=c[b+28200>>2]|0;q=c[b+24312>>2]|0;j=c[q>>2]|0;h=j+212|0;c[h>>2]=0;d=j+208|0;c[d>>2]=0;i=(c[i+1160>>2]|0)==0;if(!i?(c[b+29660>>2]|0)!=0:0){g=c[b+29664>>2]|0;a:do switch(g|0){case 8:{c[d>>2]=4;d=0;break}case 2:case 1:{c[h>>2]=1;d=1;break}case 4:case 3:{if((c[b+26360>>2]|0)==0?(c[b+26364>>2]|0)==3:0){d=c[b+29548>>2]|0;c[h>>2]=d;break a}c[h>>2]=1;d=1;break}case 6:case 5:{c[d>>2]=1;d=0;break}case 7:{c[d>>2]=2;d=0;break}default:d=0}while(0);e=c[b+29668>>2]|0;if((e&3|0)!=0?(f=e>>>1&1,g>>>0<5):0)c[h>>2]=f;else f=d}else{if(!(c[b+26360>>2]|0))d=(c[b+26364>>2]|0)!=3;else d=1;f=d&1;c[h>>2]=f}c[b+29548>>2]=f;d=c[q+76>>2]|0;e=c[q+80>>2]|0;b:do if((d|0)==(e|0)){if(!i?c[b+29660>>2]|0:0)switch(c[b+29664>>2]|0){case 5:case 3:{c[j+216>>2]=1;break b}default:{c[j+216>>2]=0;break b}}d=j+216|0;if(!f){c[d>>2]=0;break}else{c[d>>2]=1;break}}else c[j+216>>2]=(d|0)<(e|0)&1;while(0);if(((c[b+29836>>2]|0?(k=b+29848|0,(c[k>>2]|0)>>>0<7):0)?(l=b+29856|0,((c[l>>2]|0)+-1|0)>>>0<2):0)?(m=LE(j)|0,m|0):0){c:do switch(c[k>>2]|0){case 0:{c[m>>2]=4;break}case 1:{c[m>>2]=7;break}case 2:{c[m>>2]=6;break}case 3:if(!(c[b+29860>>2]|0)){c[m>>2]=1;break c}else{c[m>>2]=5;break c}case 4:{c[m>>2]=2;break}case 5:{c[m>>2]=3;break}case 6:{c[m>>2]=0;break}default:{}}while(0);if((c[l>>2]|0)==2)c[m+4>>2]=1}do if(c[b+29864>>2]|0){d=c[b+29868>>2]|0;if(((d|0)==0?(c[b+29872>>2]|0)==0:0)?(c[b+29876>>2]|0)==0:0)break;e=JY(c[q>>2]|0,6,36)|0;if(e|0){m=e+4|0;kD(c[m>>2]|0,+(d*360|0)*.0000152587890625);wB(c[m>>2]|0,c[b+29872>>2]|0,c[b+29876>>2]|0)}}while(0);d=b+29680|0;if(c[d>>2]|0?(n=JY(c[q>>2]|0,7,1)|0,n|0):0){a[c[n+4>>2]>>0]=a[b+29684>>0]|0;c[d>>2]=0}d=b+29692|0;if(c[d>>2]|0){e=b+29688|0;f=JY(c[q>>2]|0,1,c[e>>2]|0)|0;if(f|0)Mn(c[f+4>>2]|0,c[d>>2]|0,c[e>>2]|0)|0;bU(d);c[e>>2]=0;n=(c[b+4>>2]|0)+964|0;c[n>>2]=c[n>>2]|2}if((c[b+29896>>2]|0?(o=b+29900|0,HY(c[o>>2]|0)|0):0)?(p=c[o>>2]|0,(p|0)!=2):0){c[(c[q>>2]|0)+308>>2]=p;c[(c[b+4>>2]|0)+392>>2]=p}return}function Yf(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,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=Mb;Mb=Mb+32|0;v=w+16|0;l=w+8|0;k=w;c[f>>2]=0;u=f+4|0;c[u>>2]=0;i=au(a)|0;j=f+8|0;c[j>>2]=i;if(i>>>0>7){c[k>>2]=i;AD(h,16,205595,k);c[j>>2]=0;i=0}r=1<<i;q=b+12|0;if(!(c[q>>2]|0))p=0;else{i=au(a)|0;j=f+12|0;c[j>>2]=i;if(i>>>0>7){c[l>>2]=i;AD(h,16,205638,l);c[j>>2]=0;i=0}p=1<<i}o=(g|0)==3;g=(e|0)==3;b=0;a:while(1){if(b>>>0>=2){j=36;break}e=f+16+(b<<2)|0;c[e>>2]=0;m=f+24+(b<<2)|0;c[m>>2]=0;n=d+(b<<2)|0;l=0;while(1){if((l|0)>=(c[n>>2]|0))break;if(mT(a)|0){i=$t(a)|0;j=f+32+(l<<4)+(b<<3)|0;c[j>>2]=i;i=$t(a)|0;c[f+32+(l<<4)+(b<<3)+4>>2]=i;j=c[j>>2]|0;if((j<<24>>24|0)!=(j|0)){j=39;break a}if((i<<24>>24|0)!=(i|0)){j=39;break a}if(!((i|0)==0&(j|0)==(r|0))){c[f>>2]=1;c[e>>2]=1}}else{c[f+32+(l<<4)+(b<<3)>>2]=r;c[f+32+(l<<4)+(b<<3)+4>>2]=0}b:do if(c[q>>2]|0){if(!(mT(a)|0)){i=0;while(1){if((i|0)==2)break b;c[f+800+(l<<5)+(b<<4)+(i<<3)>>2]=p;c[f+800+(l<<5)+(b<<4)+(i<<3)+4>>2]=0;i=i+1|0}}i=0;while(1){if(i>>>0>=2)break b;j=$t(a)|0;k=f+800+(l<<5)+(b<<4)+(i<<3)|0;c[k>>2]=j;j=$t(a)|0;c[f+800+(l<<5)+(b<<4)+(i<<3)+4>>2]=j;k=c[k>>2]|0;if((k<<24>>24|0)!=(k|0)){j=39;break a}if((j<<24>>24|0)!=(j|0)){j=39;break a}if(!((j|0)==0&(k|0)==(p|0))){c[u>>2]=1;c[m>>2]=1}i=i+1|0}}while(0);c:do if(o?(k=c[f+32+(l<<4)+(b<<3)>>2]|0,t=l<<1,s=t+16|0,t=t+17|0,c[f+32+(t<<4)+(b<<3)>>2]=k,c[f+32+(s<<4)+(b<<3)>>2]=k,k=c[f+32+(l<<4)+(b<<3)+4>>2]|0,c[f+32+(t<<4)+(b<<3)+4>>2]=k,c[f+32+(s<<4)+(b<<3)+4>>2]=k,c[q>>2]|0):0){i=0;while(1){if((i|0)==2)break c;k=c[f+800+(l<<5)+(b<<4)+(i<<3)>>2]|0;c[f+800+(t<<5)+(b<<4)+(i<<3)>>2]=k;c[f+800+(s<<5)+(b<<4)+(i<<3)>>2]=k;k=c[f+800+(l<<5)+(b<<4)+(i<<3)+4>>2]|0;c[f+800+(t<<5)+(b<<4)+(i<<3)+4>>2]=k;c[f+800+(s<<5)+(b<<4)+(i<<3)+4>>2]=k;i=i+1|0}}while(0);l=l+1|0}if(g)b=b+1|0;else{j=36;break}}if((j|0)==36){if(!(c[f>>2]|0))i=(c[u>>2]|0)!=0&1;else i=1;c[f>>2]=i;i=0}else if((j|0)==39){GU(h,205683,v);i=-1094995529}Mb=w;return i|0}function Zf(a,d,f,g,h,i){a=a|0;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,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0;l=i>>1;B=h*13|0;j=d;k=0;f=f+(0-(i&-2)<<1)|0;while(1){if((k|0)==13)break;A=e[f>>1]|0;y=e[f+2>>1]|0;z=e[f+-2>>1]|0;x=e[f+4>>1]|0;v=H(x+z|0,-5)|0;w=e[f+6>>1]|0;c[j>>2]=((y+A|0)*20|0)+(e[f+-4>>1]|0)+v+w;v=H(w+A|0,-5)|0;u=e[f+8>>1]|0;c[j+4>>2]=((x+y|0)*20|0)+z+v+u;v=H(u+y|0,-5)|0;z=e[f+10>>1]|0;c[j+8>>2]=((w+x|0)*20|0)+A+v+z;v=H(z+x|0,-5)|0;A=e[f+12>>1]|0;c[j+12>>2]=((u+w|0)*20|0)+y+v+A;v=H(A+w|0,-5)|0;y=e[f+14>>1]|0;c[j+16>>2]=((z+u|0)*20|0)+x+v+y;v=H(y+u|0,-5)|0;x=e[f+16>>1]|0;c[j+20>>2]=((A+z|0)*20|0)+w+v+x;v=H(x+z|0,-5)|0;w=e[f+18>>1]|0;c[j+24>>2]=((y+A|0)*20|0)+u+v+w;A=H(w+A|0,-5)|0;c[j+28>>2]=((x+y|0)*20|0)+z+A+(e[f+20>>1]|0);j=j+(h<<2)|0;k=k+1|0;f=f+(l<<1)|0}p=g>>1;q=H(h,-2)|0;r=0-h|0;s=h<<1;t=h*3|0;u=h<<2;v=h*5|0;w=h*6|0;x=h*7|0;y=h<<3;z=h*9|0;A=h*10|0;k=g&-2;l=p*3|0;g=p<<2;m=p*5|0;n=p*6|0;o=p*7|0;j=a;f=d+(B<<2)+((H(h,-11)|0)<<2)|0;i=0;while(1){if((i|0)==8)break;E=c[f+(r<<2)>>2]|0;N=c[f>>2]|0;M=c[f+(h<<2)>>2]|0;L=c[f+(s<<2)>>2]|0;K=c[f+(t<<2)>>2]|0;I=c[f+(u<<2)>>2]|0;F=c[f+(v<<2)>>2]|0;B=c[f+(w<<2)>>2]|0;a=c[f+(x<<2)>>2]|0;C=c[f+(y<<2)>>2]|0;d=c[f+(z<<2)>>2]|0;D=c[f+(A<<2)>>2]|0;J=K+512|0;G=J+(c[f+(q<<2)>>2]|0)+((M+N|0)*20|0)+(H(L+E|0,-5)|0)>>10;b[j>>1]=G>>>0<16384?G:0-G>>31&16383;G=I+512|0;E=G+E+((L+M|0)*20|0)+(H(K+N|0,-5)|0)>>10;b[j+(p<<1)>>1]=E>>>0<16384?E:0-E>>31&16383;E=F+512|0;N=E+N+((K+L|0)*20|0)+(H(I+M|0,-5)|0)>>10;b[j+(k<<1)>>1]=N>>>0<16384?N:0-N>>31&16383;M=M+512+B+((I+K|0)*20|0)+(H(F+L|0,-5)|0)>>10;b[j+(l<<1)>>1]=M>>>0<16384?M:0-M>>31&16383;K=L+512+a+((F+I|0)*20|0)+(H(B+K|0,-5)|0)>>10;b[j+(g<<1)>>1]=K>>>0<16384?K:0-K>>31&16383;I=J+C+((B+F|0)*20|0)+(H(a+I|0,-5)|0)>>10;b[j+(m<<1)>>1]=I>>>0<16384?I:0-I>>31&16383;F=G+d+((a+B|0)*20|0)+(H(C+F|0,-5)|0)>>10;b[j+(n<<1)>>1]=F>>>0<16384?F:0-F>>31&16383;B=E+D+((C+a|0)*20|0)+(H(d+B|0,-5)|0)>>10;b[j+(o<<1)>>1]=B>>>0<16384?B:0-B>>31&16383;j=j+2|0;f=f+4|0;i=i+1|0}return}function _f(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;m=8-g|0;l=8-h|0;o=H(l,m)|0;l=H(l,g)|0;m=H(m,h)|0;k=H(h,g)|0;n=d>>1;a:do if(!k){k=l+m|0;if(!k){g=0;while(1){if((g|0)>=(f|0))break a;m=((e[a>>1]|0)+1+(((H(o,e[c>>1]|0)|0)+32|0)>>>6)|0)>>>1&65535;b[a>>1]=m;m=a+2|0;l=((e[m>>1]|0)+1+(((H(o,e[c+2>>1]|0)|0)+32|0)>>>6)|0)>>>1&65535;b[m>>1]=l;m=a+4|0;l=((e[m>>1]|0)+1+(((H(o,e[c+4>>1]|0)|0)+32|0)>>>6)|0)>>>1&65535;b[m>>1]=l;m=a+6|0;l=((e[m>>1]|0)+1+(((H(o,e[c+6>>1]|0)|0)+32|0)>>>6)|0)>>>1&65535;b[m>>1]=l;a=a+(n<<1)|0;g=g+1|0;c=c+(n<<1)|0}}else{h=(m|0)==0?1:n;d=h+1|0;i=h+2|0;j=h+3|0;g=0;while(1){if((g|0)>=(f|0))break a;m=H(o,e[c>>1]|0)|0;m=((e[a>>1]|0)+1+((m+32+(H(k,e[c+(h<<1)>>1]|0)|0)|0)>>>6)|0)>>>1&65535;b[a>>1]=m;m=a+2|0;l=H(o,e[c+2>>1]|0)|0;l=((e[m>>1]|0)+1+((l+32+(H(k,e[c+(d<<1)>>1]|0)|0)|0)>>>6)|0)>>>1&65535;b[m>>1]=l;m=a+4|0;l=H(o,e[c+4>>1]|0)|0;l=((e[m>>1]|0)+1+((l+32+(H(k,e[c+(i<<1)>>1]|0)|0)|0)>>>6)|0)>>>1&65535;b[m>>1]=l;m=a+6|0;l=H(o,e[c+6>>1]|0)|0;l=((e[m>>1]|0)+1+((l+32+(H(k,e[c+(j<<1)>>1]|0)|0)|0)>>>6)|0)>>>1&65535;b[m>>1]=l;a=a+(n<<1)|0;g=g+1|0;c=c+(n<<1)|0}}}else{h=n+1|0;d=n+2|0;i=n+3|0;j=n+4|0;g=0;while(1){if((g|0)>=(f|0))break a;u=H(o,e[c>>1]|0)|0;r=c+2|0;v=H(l,e[r>>1]|0)|0;p=c+(n<<1)|0;q=H(m,e[p>>1]|0)|0;t=c+(h<<1)|0;q=((e[a>>1]|0)+1+((u+32+v+q+(H(k,e[t>>1]|0)|0)|0)>>>6)|0)>>>1&65535;b[a>>1]=q;q=a+2|0;r=H(o,e[r>>1]|0)|0;v=c+4|0;u=H(l,e[v>>1]|0)|0;t=H(m,e[t>>1]|0)|0;s=c+(d<<1)|0;t=((e[q>>1]|0)+1+((r+32+u+t+(H(k,e[s>>1]|0)|0)|0)>>>6)|0)>>>1&65535;b[q>>1]=t;q=a+4|0;v=H(o,e[v>>1]|0)|0;t=c+6|0;u=H(l,e[t>>1]|0)|0;s=H(m,e[s>>1]|0)|0;r=c+(i<<1)|0;s=((e[q>>1]|0)+1+((v+32+u+s+(H(k,e[r>>1]|0)|0)|0)>>>6)|0)>>>1&65535;b[q>>1]=s;q=a+6|0;t=H(o,e[t>>1]|0)|0;s=H(l,e[c+8>>1]|0)|0;r=H(m,e[r>>1]|0)|0;r=((e[q>>1]|0)+1+((t+32+s+r+(H(k,e[c+(j<<1)>>1]|0)|0)|0)>>>6)|0)>>>1&65535;b[q>>1]=r;a=a+(n<<1)|0;g=g+1|0;c=p}}while(0);return}function $f(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,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 (L(n|0),f)|0}else{if(!g){n=0;f=0;return (L(n|0),f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return (L(n|0),f)|0}}g=(i|0)==0;do if(h){if(!g){g=(J(i|0)|0)-(J(k|0)|0)|0;if(g>>>0<=31){m=g+1|0;i=31-g|0;b=g-31>>31;h=m;a=l>>>(m>>>0)&b|k<<i;b=k>>>(m>>>0)&b;g=0;i=l<<i;break}if(!f){n=0;f=0;return (L(n|0),f)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return (L(n|0),f)|0}g=h-1|0;if(g&h|0){i=(J(h|0)|0)+33-(J(k|0)|0)|0;p=64-i|0;m=32-i|0;j=m>>31;o=i-32|0;b=o>>31;h=i;a=m-1>>31&k>>>(o>>>0)|(k<<m|l>>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<<p&j;i=(k<<p|l>>>(o>>>0))&j|l<<m&i-33>>31;break}if(f|0){c[f>>2]=g&l;c[f+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (L(o|0),p)|0}else{p=p0(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (L(o|0),p)|0}}else{if(g){if(f|0){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (L(o|0),p)|0}if(!l){if(f|0){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (L(o|0),p)|0}g=i-1|0;if(!(g&i)){if(f|0){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((p0(i|0)|0)>>>0);return (L(o|0),p)|0}g=(J(i|0)|0)-(J(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<<i|l>>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<<i;break}if(!f){o=0;p=0;return (L(o|0),p)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return (L(o|0),p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=aX(m|0,l|0,-1,-1)|0;d=M()|0;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;_W(k|0,d|0,e|0,n|0)|0;p=M()|0;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=_W(e|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=M()|0;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f|0){c[f>>2]=a;c[f+4>>2]=b}o=(g|0)>>>31|(k|h)<<1|(h<<1|g>>>31)&0|j;p=(g<<1|0>>>31)&-2|i;return (L(o|0),p)|0}function ag(a,d,f,g,h,i){a=a|0;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,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0;l=i>>1;B=h*13|0;j=d;k=0;f=f+(0-(i&-2)<<1)|0;while(1){if((k|0)==13)break;A=e[f>>1]|0;y=e[f+2>>1]|0;z=e[f+-2>>1]|0;x=e[f+4>>1]|0;v=H(x+z|0,-5)|0;w=e[f+6>>1]|0;c[j>>2]=((y+A|0)*20|0)+(e[f+-4>>1]|0)+v+w;v=H(w+A|0,-5)|0;u=e[f+8>>1]|0;c[j+4>>2]=((x+y|0)*20|0)+z+v+u;v=H(u+y|0,-5)|0;z=e[f+10>>1]|0;c[j+8>>2]=((w+x|0)*20|0)+A+v+z;v=H(z+x|0,-5)|0;A=e[f+12>>1]|0;c[j+12>>2]=((u+w|0)*20|0)+y+v+A;v=H(A+w|0,-5)|0;y=e[f+14>>1]|0;c[j+16>>2]=((z+u|0)*20|0)+x+v+y;v=H(y+u|0,-5)|0;x=e[f+16>>1]|0;c[j+20>>2]=((A+z|0)*20|0)+w+v+x;v=H(x+z|0,-5)|0;w=e[f+18>>1]|0;c[j+24>>2]=((y+A|0)*20|0)+u+v+w;A=H(w+A|0,-5)|0;c[j+28>>2]=((x+y|0)*20|0)+z+A+(e[f+20>>1]|0);j=j+(h<<2)|0;k=k+1|0;f=f+(l<<1)|0}p=g>>1;q=H(h,-2)|0;r=0-h|0;s=h<<1;t=h*3|0;u=h<<2;v=h*5|0;w=h*6|0;x=h*7|0;y=h<<3;z=h*9|0;A=h*10|0;k=g&-2;l=p*3|0;g=p<<2;m=p*5|0;n=p*6|0;o=p*7|0;j=a;f=d+(B<<2)+((H(h,-11)|0)<<2)|0;i=0;while(1){if((i|0)==8)break;E=c[f+(r<<2)>>2]|0;N=c[f>>2]|0;M=c[f+(h<<2)>>2]|0;L=c[f+(s<<2)>>2]|0;K=c[f+(t<<2)>>2]|0;I=c[f+(u<<2)>>2]|0;F=c[f+(v<<2)>>2]|0;B=c[f+(w<<2)>>2]|0;a=c[f+(x<<2)>>2]|0;C=c[f+(y<<2)>>2]|0;d=c[f+(z<<2)>>2]|0;D=c[f+(A<<2)>>2]|0;J=K+512|0;G=J+(c[f+(q<<2)>>2]|0)+((M+N|0)*20|0)+(H(L+E|0,-5)|0)>>10;b[j>>1]=G>>>0<4096?G:0-G>>31&4095;G=I+512|0;E=G+E+((L+M|0)*20|0)+(H(K+N|0,-5)|0)>>10;b[j+(p<<1)>>1]=E>>>0<4096?E:0-E>>31&4095;E=F+512|0;N=E+N+((K+L|0)*20|0)+(H(I+M|0,-5)|0)>>10;b[j+(k<<1)>>1]=N>>>0<4096?N:0-N>>31&4095;M=M+512+B+((I+K|0)*20|0)+(H(F+L|0,-5)|0)>>10;b[j+(l<<1)>>1]=M>>>0<4096?M:0-M>>31&4095;K=L+512+a+((F+I|0)*20|0)+(H(B+K|0,-5)|0)>>10;b[j+(g<<1)>>1]=K>>>0<4096?K:0-K>>31&4095;I=J+C+((B+F|0)*20|0)+(H(a+I|0,-5)|0)>>10;b[j+(m<<1)>>1]=I>>>0<4096?I:0-I>>31&4095;F=G+d+((a+B|0)*20|0)+(H(C+F|0,-5)|0)>>10;b[j+(n<<1)>>1]=F>>>0<4096?F:0-F>>31&4095;B=E+D+((C+a|0)*20|0)+(H(d+B|0,-5)|0)>>10;b[j+(o<<1)>>1]=B>>>0<4096?B:0-B>>31&4095;j=j+2|0;f=f+4|0;i=i+1|0}return}function bg(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;h=a[e+10>>0]|0;j=a[f+10>>0]|0;i=j<<24>>24==3;a:do if(h<<24>>24==3)if(i){i=c[(c[d+3516>>2]|0)+24>>2]|0;j=c[i+64+(a[e+8>>0]<<2)>>2]|0;k=c[g+64+(a[f+8>>0]<<2)>>2]|0;do if((j|0)==(k|0)){h=c[i+260+(a[e+9>>0]<<2)>>2]|0;d=c[g+260+(a[f+9>>0]<<2)>>2]|0;if(!((j|0)==(h|0)&(j|0)==(d|0))){if((d|0)!=(h|0))break;g=(b[f>>1]|0)-(b[e>>1]|0)|0;if((((g|0)>-1?g:0-g|0)|0)>3){d=1;break a}g=(b[f+2>>1]|0)-(b[e+2>>1]|0)|0;if((((g|0)>-1?g:0-g|0)|0)>3){d=1;break a}g=(b[f+4>>1]|0)-(b[e+4>>1]|0)|0;if((((g|0)>-1?g:0-g|0)|0)>3){d=1;break a}f=(b[f+6>>1]|0)-(b[e+6>>1]|0)|0;return (((f|0)>-1?f:0-f|0)|0)>3|0}d=b[f>>1]|0;h=b[e>>1]|0;g=d-h|0;if(!((((((g|0)>-1?g:0-g|0)|0)<=3?(g=(b[f+2>>1]|0)-(b[e+2>>1]|0)|0,(((g|0)>-1?g:0-g|0)|0)<=3):0)?(g=(b[f+4>>1]|0)-(b[e+4>>1]|0)|0,(((g|0)>-1?g:0-g|0)|0)<=3):0)?(g=(b[f+6>>1]|0)-(b[e+6>>1]|0)|0,(((g|0)>-1?g:0-g|0)|0)<=3):0)){g=(b[f+4>>1]|0)-h|0;if((((g|0)>-1?g:0-g|0)|0)>3){d=1;break a}g=(b[f+6>>1]|0)-(b[e+2>>1]|0)|0;if((((g|0)>-1?g:0-g|0)|0)>3){d=1;break a}g=d-(b[e+4>>1]|0)|0;if((((g|0)>-1?g:0-g|0)|0)>3){d=1;break a}f=(b[f+2>>1]|0)-(b[e+6>>1]|0)|0;if((((f|0)>-1?f:0-f|0)|0)>3){d=1;break a}}d=0;break a}else d=c[g+260+(a[f+9>>0]<<2)>>2]|0;while(0);if(((((d|0)==(j|0)?(k|0)==(c[i+260+(a[e+9>>0]<<2)>>2]|0):0)?(g=(b[f+4>>1]|0)-(b[e>>1]|0)|0,(((g|0)>-1?g:0-g|0)|0)<=3):0)?(g=(b[f+6>>1]|0)-(b[e+2>>1]|0)|0,(((g|0)>-1?g:0-g|0)|0)<=3):0)?(g=(b[f>>1]|0)-(b[e+4>>1]|0)|0,(((g|0)>-1?g:0-g|0)|0)<=3):0){d=(b[f+2>>1]|0)-(b[e+6>>1]|0)|0;d=(((d|0)>-1?d:0-d|0)|0)>3&1}else d=1}else d=1;else if(!i){if(!(h&1)){l=(c[(c[d+3516>>2]|0)+24>>2]|0)+260+(a[e+9>>0]<<2)|0;m=e+4|0;k=e+6|0}else{l=(c[(c[d+3516>>2]|0)+24>>2]|0)+64+(a[e+8>>0]<<2)|0;m=e;k=e+2|0}if(!(j&1)){h=1;i=f+9|0;j=f+4|0;d=f+6|0}else{h=0;i=f+8|0;j=f;d=f+2|0}if((c[l>>2]|0)==(c[g+(h*196|0)+64+(a[i>>0]<<2)>>2]|0)){f=(b[m>>1]|0)-(b[j>>1]|0)|0;g=(b[k>>1]|0)-(b[d>>1]|0)|0;return ((((g|0)>-1?g:0-g|0)|0)>3?1:(((f|0)>-1?f:0-f|0)|0)>3)&1|0}else d=1}else d=1;while(0);return d|0}function cg(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=Mb;Mb=Mb+48|0;k=v+32|0;j=v+24|0;s=v+20|0;t=v+16|0;l=v+8|0;m=v;c[s>>2]=f;c[t>>2]=g;o=c[a>>2]|0;h=o+1640|0;if((c[h>>2]|0)==0?(c[h>>2]=1,i=c[b+104>>2]|0,i|0):0)Jk(c[b+100>>2]|0,i,o+40|0,o+1632|0,o+1636|0,c[b+688>>2]|0,b)|0;i=a+176|0;do if(!(c[i>>2]&1)){g=Vg(o,f,g,b)|0;if((Qi(o,g,s,t)|0)<0){c[d>>2]=0;c[e>>2]=0;g=c[t>>2]|0;break}if((g|0)<0&(g|0)!=-100){Vg(o,(c[o>>2]|0)+((c[o+8>>2]|0)+g)|0,0-g|0,b)|0;u=9}else u=9}else u=9;while(0);if((u|0)==9){pd(a,b,c[s>>2]|0,c[t>>2]|0);h=b+880|0;if(c[h>>2]|0){c[m>>2]=c[b+116>>2];c[m+4>>2]=1;c[j>>2]=c[h>>2];c[j+4>>2]=c[h+4>>2];c[k>>2]=c[m>>2];c[k+4>>2]=c[m+4>>2];SA(l,j,k);n=c[l>>2]|0;p=b+108|0;c[p>>2]=c[l+4>>2];c[p+4>>2]=n}h=c[o+1404>>2]|0;if((h|0)>-1){p=c[o+1432>>2]|0;k=h;n=c[o+1400>>2]|0}else{p=-2147483648;k=-2147483648;n=-2147483648}c[a+240>>2]=p;c[a+244>>2]=k;c[a+248>>2]=n;h=c[i>>2]|0;if(h&2|0)c[i>>2]=h&1;if((p|0)>-1?(q=c[b+112>>2]|0,r=c[b+892>>2]|0,q=MR(r|0,((r|0)<0)<<31>>31|0,q|0,((q|0)<0)<<31>>31|0)|0,r=M()|0,(r|0)>0|(r|0)==0&q>>>0>0):0){l=c[b+108>>2]|0;m=c[b+896>>2]|0;l=MR(m|0,((m|0)<0)<<31>>31|0,l|0,((l|0)<0)<<31>>31|0)|0;m=M()|0;j=a+48|0;h=j;i=c[h>>2]|0;h=c[h+4>>2]|0;if((i|0)==0&(h|0)==-2147483648){f=o+1664|0;i=f;h=c[i>>2]|0;i=c[i+4>>2]|0;if((h|0)==0&(i|0)==-2147483648){i=0;h=-2147483648}else{u=lV(k,((k|0)<0)<<31>>31,l,m,q,r)|0;i=aX(u|0,M()|0,h|0,i|0)|0;h=M()|0;u=j;c[u>>2]=i;c[u+4>>2]=h;u=21}}else{k=lV(k,((k|0)<0)<<31>>31,l,m,q,r)|0;k=_W(i|0,h|0,k|0,M()|0)|0;b=M()|0;f=o+1664|0;o=f;c[o>>2]=k;c[o+4>>2]=b;if(!((k|0)==0&(b|0)==-2147483648))u=21}if((u|0)==21){j=a+40|0;u=j;if((c[u>>2]|0)==0?(c[u+4>>2]|0)==-2147483648:0){q=lV(n,((n|0)<0)<<31>>31,l,m,q,r)|0;q=aX(q|0,M()|0,i|0,h|0)|0;r=M()|0;u=j;c[u>>2]=q;c[u+4>>2]=r}}if((p|0)>0){u=f;c[u>>2]=i;c[u+4>>2]=h}}c[d>>2]=c[s>>2];c[e>>2]=c[t>>2]}Mb=v;return g|0}function dg(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;g=f>>1;if(!c){c=e[a+-2>>1]|0;d=c}else{d=e[a+-2>>1]|0;c=e[a+(~g<<1)>>1]|0}t=e[a+(g+-1<<1)>>1]|0;i=t+2|0;u=(i+c+(d<<1)|0)>>>2;m=f&-2;s=e[a+(m+-1<<1)>>1]|0;q=s+2|0;t=(q+d+(t<<1)|0)>>>2;k=g*3|0;o=e[a+(k+-1<<1)>>1]|0;s=(i+(s<<1)+o|0)>>>2;i=g<<2;n=e[a+(i+-1<<1)>>1]|0;q=(q+(o<<1)+n|0)>>>2;h=g*5|0;l=e[a+(h+-1<<1)>>1]|0;o=(o+2+(n<<1)+l|0)>>>2;d=g*6|0;p=e[a+(d+-1<<1)>>1]|0;n=(n+2+(l<<1)+p|0)>>>2;c=g*7|0;j=e[a+(c+-1<<1)>>1]|0;l=(l+2+(p<<1)+j|0)>>>2;j=(p+2+(j*3|0)|0)>>>2;p=t+1|0;b[a>>1]=(p+u|0)>>>1;r=s+2|0;b[a+2>>1]=(r+u+(t<<1)|0)>>>2;p=(p+s|0)>>>1&65535;b[a+4>>1]=p;b[a+(g<<1)>>1]=p;p=q+2|0;t=(p+t+(s<<1)|0)>>>2&65535;b[a+6>>1]=t;b[a+(g+1<<1)>>1]=t;s=(s+1+q|0)>>>1&65535;b[a+8>>1]=s;b[a+(g+2<<1)>>1]=s;b[a+(m<<1)>>1]=s;r=(r+(q<<1)+o|0)>>>2&65535;b[a+10>>1]=r;b[a+(g+3<<1)>>1]=r;b[a+((f|1)<<1)>>1]=r;f=(q+1+o|0)>>>1&65535;b[a+12>>1]=f;b[a+(g+4<<1)>>1]=f;b[a+(m+2<<1)>>1]=f;b[a+(k<<1)>>1]=f;f=(p+(o<<1)+n|0)>>>2&65535;b[a+14>>1]=f;b[a+(g+5<<1)>>1]=f;b[a+(m+3<<1)>>1]=f;b[a+(k+1<<1)>>1]=f;f=(o+1+n|0)>>>1&65535;b[a+(g+6<<1)>>1]=f;b[a+(m+4<<1)>>1]=f;b[a+(k+2<<1)>>1]=f;b[a+(i<<1)>>1]=f;f=(o+2+(n<<1)+l|0)>>>2&65535;b[a+(g+7<<1)>>1]=f;b[a+(m+5<<1)>>1]=f;b[a+(k+3<<1)>>1]=f;b[a+((i|1)<<1)>>1]=f;f=(n+1+l|0)>>>1&65535;b[a+(m+6<<1)>>1]=f;b[a+(k+4<<1)>>1]=f;b[a+((i|2)<<1)>>1]=f;b[a+(h<<1)>>1]=f;f=(n+2+j+(l<<1)|0)>>>2&65535;b[a+(m+7<<1)>>1]=f;b[a+(k+5<<1)>>1]=f;b[a+((i|3)<<1)>>1]=f;b[a+(h+1<<1)>>1]=f;f=(l+1+j|0)>>>1&65535;b[a+(k+6<<1)>>1]=f;b[a+(i+4<<1)>>1]=f;b[a+(h+2<<1)>>1]=f;b[a+(d<<1)>>1]=f;f=(l+2+(j*3|0)|0)>>>2&65535;b[a+(k+7<<1)>>1]=f;b[a+(i+5<<1)>>1]=f;b[a+(h+3<<1)>>1]=f;b[a+((d|1)<<1)>>1]=f;f=j&65535;b[a+(c+7<<1)>>1]=f;b[a+(d+7<<1)>>1]=f;b[a+(h+7<<1)>>1]=f;b[a+(i+7<<1)>>1]=f;b[a+(c+6<<1)>>1]=f;b[a+(d+6<<1)>>1]=f;b[a+(h+6<<1)>>1]=f;b[a+(i+6<<1)>>1]=f;b[a+(c+5<<1)>>1]=f;b[a+(d+5<<1)>>1]=f;b[a+(h+5<<1)>>1]=f;b[a+(c+4<<1)>>1]=f;b[a+(d+4<<1)>>1]=f;b[a+(h+4<<1)>>1]=f;b[a+(c+3<<1)>>1]=f;b[a+(d+3<<1)>>1]=f;b[a+(c+2<<1)>>1]=f;b[a+(d+2<<1)>>1]=f;b[a+(c+1<<1)>>1]=f;b[a+(c<<1)>>1]=f;return}function eg(e,f,g,h,i,j,k){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,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=Mb;Mb=Mb+16|0;x=z;w=c[g+28>>2]|0;v=c[1056704+(i<<4)+4>>2]|0;a:do if(!k){s=f+8|0;t=f+16|0;q=210273+i|0;o=0;p=0;while(1){if((p|0)>=(w|0)){k=0;break a}k=c[s>>2]|0;r=c[t>>2]|0;n=c[f>>2]|0;u=n+(k>>>3)|0;u=(W_(d[u>>0]|d[u+1>>0]<<8|d[u+2>>0]<<16|d[u+3>>0]<<24|0)|0)<<(k&7)>>>23;i=b[v+(u<<2)>>1]|0;u=b[v+(u<<2)+2>>1]|0;m=u<<16>>16;if(u<<16>>16<0){k=k+9|0;k=r>>>0>k>>>0?k:r;u=n+(k>>>3)|0;u=((W_(d[u>>0]|d[u+1>>0]<<8|d[u+2>>0]<<16|d[u+3>>0]<<24|0)|0)<<(k&7)>>>(m+32|0))+i|0;i=b[v+(u<<2)>>1]|0;u=b[v+(u<<2)+2>>1]|0;l=u<<16>>16;if(u<<16>>16<0){k=k-m|0;k=r>>>0>k>>>0?k:r;u=n+(k>>>3)|0;i=((W_(d[u>>0]|d[u+1>>0]<<8|d[u+2>>0]<<16|d[u+3>>0]<<24|0)|0)<<(k&7)>>>(l+32|0))+i|0;l=b[v+(i<<2)+2>>1]|0;i=b[v+(i<<2)>>1]|0}}else l=m;u=l+k|0;c[s>>2]=r>>>0>u>>>0?u:r;o=i-(a[q>>0]|0)+o|0;a[h+(j*34|0)+p>>0]=o;if((d[g+246+(j*34|0)+p>>0]|0)>7){y=16;break}else p=p+1|0}}else{if(!j)k=c[g+40>>2]|0;else k=j;s=k+-1|0;s=(s|0)>0?s:0;t=f+8|0;u=f+16|0;p=210273+i|0;o=0;while(1){if((o|0)>=(w|0)){k=0;break a}q=d[h+(s*34|0)+o>>0]|0;k=c[t>>2]|0;r=c[u>>2]|0;m=c[f>>2]|0;l=m+(k>>>3)|0;l=(W_(d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24|0)|0)<<(k&7)>>>23;i=b[v+(l<<2)>>1]|0;l=b[v+(l<<2)+2>>1]|0;n=l<<16>>16;if(l<<16>>16<0){k=k+9|0;k=r>>>0>k>>>0?k:r;A=m+(k>>>3)|0;A=((W_(d[A>>0]|d[A+1>>0]<<8|d[A+2>>0]<<16|d[A+3>>0]<<24|0)|0)<<(k&7)>>>(n+32|0))+i|0;i=b[v+(A<<2)>>1]|0;A=b[v+(A<<2)+2>>1]|0;l=A<<16>>16;if(A<<16>>16<0){k=k-n|0;k=r>>>0>k>>>0?k:r;A=m+(k>>>3)|0;i=((W_(d[A>>0]|d[A+1>>0]<<8|d[A+2>>0]<<16|d[A+3>>0]<<24|0)|0)<<(k&7)>>>(l+32|0))+i|0;l=b[v+(i<<2)+2>>1]|0;i=b[v+(i<<2)>>1]|0}}else l=n;A=l+k|0;c[t>>2]=r>>>0>A>>>0?A:r;a[h+(j*34|0)+o>>0]=i+q-(d[p>>0]|0);if((d[g+246+(j*34|0)+o>>0]|0)<8)o=o+1|0;else{y=16;break}}}while(0);if((y|0)==16){AD(e,16,210283,x);k=-1}Mb=z;return k|0}function fg(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;n=8-g|0;m=8-h|0;o=H(m,n)|0;m=H(m,g)|0;n=H(n,h)|0;h=H(h,g)|0;a:do if(!h){l=m+n|0;if(!l){g=0;while(1){if((g|0)>=(f|0))break a;n=((d[b>>0]|0)+1+(((H(o,d[c>>0]|0)|0)+32|0)>>>6)|0)>>>1&255;a[b>>0]=n;n=b+1|0;m=((d[n>>0]|0)+1+(((H(o,d[c+1>>0]|0)|0)+32|0)>>>6)|0)>>>1&255;a[n>>0]=m;n=b+2|0;m=((d[n>>0]|0)+1+(((H(o,d[c+2>>0]|0)|0)+32|0)>>>6)|0)>>>1&255;a[n>>0]=m;n=b+3|0;m=((d[n>>0]|0)+1+(((H(o,d[c+3>>0]|0)|0)+32|0)>>>6)|0)>>>1&255;a[n>>0]=m;b=b+e|0;g=g+1|0;c=c+e|0}}else{h=(n|0)==0?1:e;i=h+1|0;j=h+2|0;k=h+3|0;g=0;while(1){if((g|0)>=(f|0))break a;n=H(o,d[c>>0]|0)|0;n=((d[b>>0]|0)+1+((n+32+(H(l,d[c+h>>0]|0)|0)|0)>>>6)|0)>>>1&255;a[b>>0]=n;n=b+1|0;m=H(o,d[c+1>>0]|0)|0;m=((d[n>>0]|0)+1+((m+32+(H(l,d[c+i>>0]|0)|0)|0)>>>6)|0)>>>1&255;a[n>>0]=m;n=b+2|0;m=H(o,d[c+2>>0]|0)|0;m=((d[n>>0]|0)+1+((m+32+(H(l,d[c+j>>0]|0)|0)|0)>>>6)|0)>>>1&255;a[n>>0]=m;n=b+3|0;m=H(o,d[c+3>>0]|0)|0;m=((d[n>>0]|0)+1+((m+32+(H(l,d[c+k>>0]|0)|0)|0)>>>6)|0)>>>1&255;a[n>>0]=m;b=b+e|0;g=g+1|0;c=c+e|0}}}else{i=e+1|0;j=e+2|0;k=e+3|0;l=e+4|0;g=0;while(1){if((g|0)>=(f|0))break a;u=H(o,d[c>>0]|0)|0;r=c+1|0;v=H(m,d[r>>0]|0)|0;p=c+e|0;q=H(n,d[p>>0]|0)|0;t=c+i|0;q=((d[b>>0]|0)+1+((u+32+v+q+(H(h,d[t>>0]|0)|0)|0)>>>6)|0)>>>1&255;a[b>>0]=q;q=b+1|0;r=H(o,d[r>>0]|0)|0;v=c+2|0;u=H(m,d[v>>0]|0)|0;t=H(n,d[t>>0]|0)|0;s=c+j|0;t=((d[q>>0]|0)+1+((r+32+u+t+(H(h,d[s>>0]|0)|0)|0)>>>6)|0)>>>1&255;a[q>>0]=t;q=b+2|0;v=H(o,d[v>>0]|0)|0;t=c+3|0;u=H(m,d[t>>0]|0)|0;s=H(n,d[s>>0]|0)|0;r=c+k|0;s=((d[q>>0]|0)+1+((v+32+u+s+(H(h,d[r>>0]|0)|0)|0)>>>6)|0)>>>1&255;a[q>>0]=s;q=b+3|0;t=H(o,d[t>>0]|0)|0;s=H(m,d[c+4>>0]|0)|0;r=H(n,d[r>>0]|0)|0;r=((d[q>>0]|0)+1+((t+32+s+r+(H(h,d[c+l>>0]|0)|0)|0)>>>6)|0)>>>1&255;a[q>>0]=r;b=b+e|0;g=g+1|0;c=p}}while(0);return}function gg(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;do if(!((d|0)<0|((f|0)<0|(f|0)==0&e>>>0<1))?(j=g&-8193,!(j>>>0>5|(j|0)==4)):0){if(g&8192){j=aX(a|0,b|0,1,-2147483648)|0;i=M()|0;if(i>>>0<0|(i|0)==0&j>>>0<2)break;g=g+-8192|0}if((b|0)<0){j=(b|0)>-2147483648|(b|0)==-2147483648&a>>>0>1;j=_W(0,0,(j?a:1)|0,(j?b:-2147483648)|0)|0;f=gg(j,M()|0,c,d,e,f,g>>>1&1^g)|0;f=_W(0,0,f|0,M()|0)|0;L(M()|0);return f|0}if((g|0)==5){g=kV(e|0,f|0,1)|0;h=M()|0}else{j=(g&1|0)==0;g=aX(e|0,f|0,-1,-1)|0;h=M()|0;g=j?0:g;h=j?0:h}if(!(((d|0)<0|(d|0)==0&c>>>0<2147483648)&((f|0)<0|(f|0)==0&e>>>0<2147483648))){j=MR(d|0,0,a|0,0)|0;k=M()|0;i=MR(c|0,0,b|0,0)|0;i=aX(j|0,k|0,i|0,M()|0)|0;k=M()|0;c=MR(c|0,0,a|0,0)|0;c=aX(0,i|0,c|0,M()|0)|0;j=M()|0;a=MR(d|0,0,b|0,0)|0;a=aX(k|0,0,a|0,M()|0)|0;a=aX(a|0,M()|0,(j>>>0<i>>>0|(j|0)==(i|0)&c>>>0<0)&1|0,0)|0;b=M()|0;j=aX(g|0,h|0,c|0,j|0)|0;c=M()|0;b=aX(a|0,b|0,(c>>>0<h>>>0|(c|0)==(h|0)&j>>>0<g>>>0)&1|0,0)|0;a=63;g=M()|0;h=k;while(1){if((a|0)<=-1)break;l=kV(j|0,c|0,a|0)|0;M()|0;n=_U(b|0,g|0,1)|0;m=M()|0;n=l&1|n;l=_U(i|0,h|0,1)|0;k=M()|0;d=m>>>0<f>>>0|(m|0)==(f|0)&n>>>0<e>>>0;m=_W(n|0,m|0,(d?0:e)|0,(d?0:f)|0)|0;a=a+-1|0;b=m;g=M()|0;i=l|(d^1)&1;h=k}a=(h|0)<0;b=a?-2147483648:h;a=a?0:i;break}if((b|0)<0|(b|0)==0&a>>>0<2147483648){a=MR(c|0,d|0,a|0,b|0)|0;a=aX(g|0,h|0,a|0,M()|0)|0;a=xA(a|0,M()|0,e|0,f|0)|0;b=M()|0;break}i=H_(a|0,b|0,e|0,f|0)|0;j=M()|0;n=MR(i|0,j|0,e|0,f|0)|0;a=_W(a|0,b|0,n|0,M()|0)|0;a=MR(a|0,M()|0,c|0,d|0)|0;a=aX(a|0,M()|0,g|0,h|0)|0;a=xA(a|0,M()|0,e|0,f|0)|0;b=M()|0;if(((c|0)!=0|(d|0)!=0)&((j|0)>0|(j|0)==0&i>>>0>2147483646)?(n=_W(-1,2147483647,a|0,b|0)|0,n=xA(n|0,M()|0,c|0,d|0)|0,m=M()|0,(j|0)>(m|0)|(j|0)==(m|0)&i>>>0>n>>>0):0){b=-2147483648;a=0;break}n=MR(i|0,j|0,c|0,d|0)|0;a=aX(a|0,b|0,n|0,M()|0)|0;b=M()|0}else{b=-2147483648;a=0}while(0);L(b|0);return a|0}function hg(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;s=Mb;Mb=Mb+16|0;q=s;d=a+800|0;b=c[d>>2]|0;e=c[a+12>>2]|0;if(!b){b=JT()|0;if((c[a+680>>2]&24576|0)==0?(c[a+684>>2]|0)==0:0){p=b+1|0;b=(b|0)>1?((p|0)<16?p:16):1}else b=1;c[d>>2]=b;o=b}else o=b;a:do if((o|0)>=2){p=EZ(156)|0;b=a+64|0;c[(c[b>>2]|0)+20>>2]=p;if(!p)b=-12;else{n=VY(o)|0;c[p>>2]=n;if(!n){bU((c[b>>2]|0)+20|0);b=-12;break}k1(p+8|0,0)|0;k1(p+36|0,0)|0;k1(p+64|0,0)|0;wb(p+92|0,0)|0;c[p+140>>2]=1;c[p+152>>2]=1;l=e+76|0;m=e+52|0;j=e+60|0;n=0;d=a;while(1){if((n|0)>=(o|0)){b=0;break a}k=RD(1016)|0;c[q>>2]=k;k=c[p>>2]|0;h=k+(n*352|0)|0;k1(k+(n*352|0)+156|0,0)|0;k1(k+(n*352|0)+184|0,0)|0;wb(k+(n*352|0)+12|0,0)|0;wb(k+(n*352|0)+60|0,0)|0;wb(k+(n*352|0)+108|0,0)|0;i=CX()|0;c[k+(n*352|0)+288>>2]=i;if(!i){r=14;break}c[h>>2]=p;b=c[q>>2]|0;c[k+(n*352|0)+212>>2]=b;i=b;if(!b){b=-12;r=26;break}Mn(b|0,d|0,1016)|0;e=RD(116)|0;g=i+64|0;c[g>>2]=e;if(!e){r=17;break}b=c[d+64>>2]|0;f=e+116|0;do{c[e>>2]=c[b>>2];e=e+4|0;b=b+4|0}while((e|0)<(f|0));f=c[g>>2]|0;c[f+20>>2]=h;c[f+40>>2]=k+(n*352|0)+216;if(n){b=RD(c[m>>2]|0)|0;c[i+60>>2]=b;if(!b){b=-12;r=26;break}Mn(b|0,c[d+60>>2]|0,c[m>>2]|0)|0;c[c[g>>2]>>2]=1;b=c[j>>2]|0;if(b){b=Vb[b&31](i)|0;r=25}}else{b=c[l>>2]|0;if(!b)b=0;else b=Vb[b&31](i)|0;Uh(a,i,1)|0;d=i;r=25}if((r|0)==25){r=0;if(b){r=26;break}}c[k+(n*352|0)+344>>2]=(c[i+680>>2]|0)>>>16&1;b=zb(k+(n*352|0)+4|0,0,24,h|0)|0;i=(b|0)==0;c[k+(n*352|0)+8>>2]=i&1;if(!i){r=29;break}n=n+1|0}if((r|0)==14){bU(q);b=-12;r=26}else if((r|0)==17){c[b+60>>2]=0;b=-12;r=26}else if((r|0)==29)b=0-b|0;Bi(a,n+1|0)}}else{c[a+808>>2]=0;b=0}while(0);Mb=s;return b|0}function ig(){var b=0.0,c=0,d=0,e=0,g=0.0,h=0,i=0.0,j=0.0,k=0.0,l=0.0,m=0,n=0.0,o=0,p=0.0,q=0.0,r=0.0;c=0;while(1){if((c|0)==8)break;i=+f[82768+(c<<2)>>2]*.25;j=+f[82800+(c<<2)>>2]*.25;m=c<<6;d=0;while(1){if((d|0)==8)break;b=i+ +f[82768+(d<<2)>>2]*.5;g=j+ +f[82800+(d<<2)>>2]*.5;h=(d<<3)+m|0;e=0;while(1){if((e|0)==8)break;k=b+ +f[82768+(e<<2)>>2];l=g+ +f[82800+(e<<2)>>2];n=1.0/+ho(l,k);o=h+e|0;f[1068640+(o<<2)>>2]=k*n;f[1070688+(o<<2)>>2]=l*n;e=e+1|0}d=d+1|0}c=c+1|0}c=0;while(1){if((c|0)==46)break;l=+f[82832+(c<<2)>>2];k=l*l;b=1.4142135381698608/+v(+(k+1.0));g=l*b;i=b-g;j=l*2.0;k=k+-1.0;l=l+1.0/l;l=l*l;d=0;while(1){if((d|0)==8)break;n=+f[83024+(d<<2)>>2]*.5;q=i*n*.7071067690849304;p=n+q;r=g*+x(+p);f[1056864+(c<<7)+(d<<4)>>2]=r;n=q-n;q=b*+x(+n);f[1056864+(c<<7)+(d<<4)+4>>2]=q;p=g*+y(+p);f[1056864+(c<<7)+(d<<4)+8>>2]=p;n=b*+y(+n);f[1056864+(c<<7)+(d<<4)+12>>2]=n;if(d>>>0<5)n=+f[83056+(d<<2)>>2];else n=.05000000074505806;q=+D(+(j*n),+k)*.5;n=+v(+((n*(n*4.0)+-4.0)/l+1.0));n=+C(+(+v(+((1.0-n)/(n+1.0)))));q=q<0.0?q+1.5707963267948966:q;p=+y(+q);r=+y(+n);q=+x(+q)*1.4142135623730951;n=+x(+n);f[1062752+(c<<7)+(d<<4)>>2]=q*n;f[1062752+(c<<7)+(d<<4)+4>>2]=p*1.4142135623730951*n;f[1062752+(c<<7)+(d<<4)+8>>2]=p*-1.4142135623730951*r;f[1062752+(c<<7)+(d<<4)+12>>2]=q*r;d=d+1|0}c=c+1|0}c=0;while(1){if((c|0)==30)break;if(c>>>0<10)b=+(a[210403+c>>0]|0)*.125;else b=+(c|0)+-6.5;d=0;while(1){if((d|0)==3)break;r=b*(+f[167172+(d<<2)>>2]*-3.141592653589793);q=+x(+r);f[1073536+(c*24|0)+(d<<3)>>2]=q;r=+y(+r);f[1073536+(c*24|0)+(d<<3)+4>>2]=r;d=d+1|0}r=b*-1.225221089959176;q=+x(+r);f[1072736+(c<<3)>>2]=q;r=+y(+r);f[1072736+(c<<3)+4>>2]=r;c=c+1|0}c=0;while(1){if((c|0)==50)break;if(c>>>0<32)b=+(a[83088+c>>0]|0)/24.0;else b=+(c|0)+-26.5;d=0;while(1){if((d|0)==3)break;r=b*(+f[167172+(d<<2)>>2]*-3.141592653589793);q=+x(+r);f[1074736+(c*24|0)+(d<<3)>>2]=q;r=+y(+r);f[1074736+(c*24|0)+(d<<3)+4>>2]=r;d=d+1|0}r=b*-1.225221089959176;q=+x(+r);f[1073136+(c<<3)>>2]=q;r=+y(+r);f[1073136+(c<<3)+4>>2]=r;c=c+1|0}RA(1077472,83120,8);RA(1075936,83152,12);RA(1076704,83184,8);RA(1077216,83216,4);return}function jg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0;m=Mb;Mb=Mb+16|0;l=m;k=m+8|0;j=k+4|0;e=0;while(1){e=aJ(a,e)|0;if(!e)break;h=a+(c[e+8>>2]|0)|0;i=c[e+40>>2]|0;a:do if((i&b|0)==(d|0)&(i&128|0)==0){f=c[e+12>>2]|0;b:do if((f|0)>=9){if((f|0)<1146442272){if((f|0)<1112493900)switch(f|0){case 128:break a;case 9:{i=5;break b}default:{i=14;break b}}if((f|0)<1128811585)switch(f|0){case 1112493900:{i=5;break b}default:{i=14;break b}}if((f|0)<1129270354)switch(f|0){case 1128811585:{i=5;break b}default:{i=14;break b}}switch(f|0){case 1129270354:break;default:{i=14;break b}}ZO(a,c[e+16>>2]|0,h)|0;break a}if((f|0)<1397116244)if((f|0)<1346784596)switch(f|0){case 1146442272:{i=5;break b}default:{i=14;break b}}else switch(f|0){case 1346784596:{i=5;break b}default:{i=14;break b}}if((f|0)<1397316165)switch(f|0){case 1397116244:{i=5;break b}default:{i=14;break b}}if((f|0)<1448231252){switch(f|0){case 1397316165:break;default:{i=14;break b}}$F(a,c[e+16>>2]|0,h)|0;break a}else{switch(f|0){case 1448231252:break;default:{i=14;break b}}sK(a,c[e+16>>2]|0,h)|0;break a}}else switch(f|0){case 8:break a;case 2:case 1:case 0:{i=5;break b}case 4:case 3:{Pe(a,e,h,+g[e+16>>3],1,1,0)|0;break a}case 6:{xp(k,+g[e+16>>3],2147483647);i=c[k>>2]|0;Pe(a,e,h,1.0,c[j>>2]|0,i,((i|0)<0)<<31>>31)|0;break a}case 5:{xY(c[e+16>>2]|0,h)|0;break a}case 7:{Yu(c[e+16>>2]|0,h)|0;break a}default:{i=14;break b}}while(0);if((i|0)==5){i=e+16|0;Pe(a,e,h,1.0,1,c[i>>2]|0,c[i+4>>2]|0)|0;break}else if((i|0)==14){i=c[e>>2]|0;c[l>>2]=f;c[l+4>>2]=i;AD(a,48,213022,l);break}}while(0)}Mb=m;return}function kg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0.0,n=0,o=0.0,p=0,q=0.0,r=0,s=0.0,t=0.0,u=0.0,v=0.0,w=0,x=0,y=0,z=0;g=c<<1;i=c<<2;j=c*6|0;e=b+(g<<2)|0;h=a+(i<<3)|0;q=+f[h>>2];d=a+(i<<3)+4|0;m=+f[d>>2];n=a+(j<<3)|0;v=+f[n>>2];k=a+(j<<3)+4|0;u=+f[k>>2];o=v-q;v=q+v;f[h>>2]=+f[a>>2]-v;f[a>>2]=v+ +f[a>>2];h=a+(g<<3)+4|0;f[k>>2]=+f[h>>2]-o;f[h>>2]=o+ +f[h>>2];o=m-u;u=m+u;h=a+(g<<3)|0;f[n>>2]=+f[h>>2]-o;f[h>>2]=o+ +f[h>>2];h=a+4|0;f[d>>2]=+f[h>>2]-u;f[h>>2]=u+ +f[h>>2];h=i|1;d=a+(h<<3)|0;u=+f[d>>2];o=+f[b+4>>2];n=a+(h<<3)+4|0;m=+f[n>>2];v=+f[e+-4>>2];q=-v;t=u*o-m*q;q=o*m+u*q;k=j|1;p=a+(k<<3)|0;u=+f[p>>2];r=a+(k<<3)+4|0;m=+f[r>>2];s=o*u-v*m;m=v*u+o*m;o=s-t;s=t+s;l=a+8|0;f[d>>2]=+f[l>>2]-s;f[l>>2]=+f[l>>2]+s;l=g|1;d=a+(l<<3)+4|0;f[r>>2]=+f[d>>2]-o;f[d>>2]=o+ +f[d>>2];o=q-m;m=q+m;d=a+(l<<3)|0;f[p>>2]=+f[d>>2]-o;f[d>>2]=o+ +f[d>>2];d=a+12|0;f[n>>2]=+f[d>>2]-m;f[d>>2]=m+ +f[d>>2];d=a;a=c+-1|0;do{r=d;d=d+16|0;p=b;b=b+8|0;c=e;e=e+-8|0;w=d+(i<<3)|0;q=+f[w>>2];u=+f[b>>2];x=w+4|0;o=+f[x>>2];s=+f[e>>2];v=-s;t=q*u-o*v;v=u*o+q*v;n=d+(j<<3)|0;q=+f[n>>2];z=n+4|0;o=+f[z>>2];m=u*q-s*o;o=s*q+u*o;u=m-t;m=t+m;f[w>>2]=+f[d>>2]-m;f[d>>2]=+f[d>>2]+m;w=d+(g<<3)|0;y=w+4|0;f[z>>2]=+f[y>>2]-u;f[y>>2]=u+ +f[y>>2];u=v-o;o=v+o;f[n>>2]=+f[w>>2]-u;f[w>>2]=u+ +f[w>>2];w=r+20|0;f[x>>2]=+f[w>>2]-o;f[w>>2]=o+ +f[w>>2];w=d+(h<<3)|0;o=+f[w>>2];u=+f[p+12>>2];p=w+4|0;v=+f[p>>2];m=+f[c+-12>>2];t=-m;q=o*u-v*t;t=u*v+o*t;c=d+(k<<3)|0;o=+f[c>>2];x=c+4|0;v=+f[x>>2];s=u*o-m*v;v=m*o+u*v;u=s-q;s=q+s;n=r+24|0;f[w>>2]=+f[n>>2]-s;f[n>>2]=+f[n>>2]+s;n=d+(l<<3)|0;w=n+4|0;f[x>>2]=+f[w>>2]-u;f[w>>2]=u+ +f[w>>2];u=t-v;v=t+v;f[c>>2]=+f[n>>2]-u;f[n>>2]=u+ +f[n>>2];r=r+28|0;f[p>>2]=+f[r>>2]-v;f[r>>2]=v+ +f[r>>2];a=a+-1|0}while((a|0)!=0);return}function lg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=a+4|0;m=c[l>>2]|0;d=m&-8;i=a+d|0;if(!(m&3)){if(b>>>0<256){a=0;return a|0}if(d>>>0>=(b+4|0)>>>0?(d-b|0)>>>0<=c[278283]<<1>>>0:0)return a|0;a=0;return a|0}if(d>>>0>=b>>>0){d=d-b|0;if(d>>>0<=15)return a|0;k=a+b|0;c[l>>2]=m&1|b|2;c[k+4>>2]=d|3;m=i+4|0;c[m>>2]=c[m>>2]|1;Xd(k,d);return a|0}if((c[278169]|0)==(i|0)){k=(c[278166]|0)+d|0;d=k-b|0;e=a+b|0;if(k>>>0<=b>>>0){a=0;return a|0}c[l>>2]=m&1|b|2;c[e+4>>2]=d|1;c[278169]=e;c[278166]=d;return a|0}if((c[278168]|0)==(i|0)){e=(c[278165]|0)+d|0;if(e>>>0<b>>>0){a=0;return a|0}d=e-b|0;if(d>>>0>15){k=a+b|0;e=a+e|0;c[l>>2]=m&1|b|2;c[k+4>>2]=d|1;c[e>>2]=d;e=e+4|0;c[e>>2]=c[e>>2]&-2;e=k}else{c[l>>2]=m&1|e|2;e=a+e+4|0;c[e>>2]=c[e>>2]|1;e=0;d=0}c[278165]=d;c[278168]=e;return a|0}e=c[i+4>>2]|0;if(e&2|0){a=0;return a|0}j=(e&-8)+d|0;if(j>>>0<b>>>0){a=0;return a|0}k=j-b|0;f=e>>>3;do if(e>>>0<256){e=c[i+8>>2]|0;d=c[i+12>>2]|0;if((d|0)==(e|0)){c[278163]=c[278163]&~(1<<f);break}else{c[e+12>>2]=d;c[d+8>>2]=e;break}}else{h=c[i+24>>2]|0;d=c[i+12>>2]|0;do if((d|0)==(i|0)){e=i+16|0;f=e+4|0;d=c[f>>2]|0;if(!d){d=c[e>>2]|0;if(!d){f=0;break}}else e=f;while(1){g=d+20|0;f=c[g>>2]|0;if(!f){g=d+16|0;f=c[g>>2]|0;if(!f)break;else{d=f;e=g}}else{d=f;e=g}}c[e>>2]=0;f=d}else{f=c[i+8>>2]|0;c[f+12>>2]=d;c[d+8>>2]=f;f=d}while(0);if(h|0){d=c[i+28>>2]|0;e=1112956+(d<<2)|0;if((c[e>>2]|0)==(i|0)){c[e>>2]=f;if(!f){c[278164]=c[278164]&~(1<<d);break}}else{g=h+16|0;c[((c[g>>2]|0)==(i|0)?g:h+20|0)>>2]=f;if(!f)break}c[f+24>>2]=h;d=i+16|0;e=c[d>>2]|0;if(e|0){c[f+16>>2]=e;c[e+24>>2]=f}d=c[d+4>>2]|0;if(d|0){c[f+20>>2]=d;c[d+24>>2]=f}}}while(0);if(k>>>0<16){c[l>>2]=m&1|j|2;m=a+j+4|0;c[m>>2]=c[m>>2]|1;return a|0}else{i=a+b|0;c[l>>2]=m&1|b|2;c[i+4>>2]=k|3;m=a+j+4|0;c[m>>2]=c[m>>2]|1;Xd(i,k);return a|0}return 0}function mg(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=Mb;Mb=Mb+16|0;q=u;i=(f|0)!=0;j=i?0:262144;p=e+56|0;c[p>>2]=0;f=0;while(1){if((f+1|0)>=(d|0))break;if(!(a[b+f>>0]|0)){g=f+-1|0;if((f|0)>0)g=(a[b+g>>0]|0)==0?g:f;else g=f;f=g+2|0;if(((f|0)<(d|0)?(a[b+(g+1)>>0]|0)==0:0)?(h=a[b+f>>0]|0,(h&255)<4):0){r=11;break}}else f=f+2|0}a:do if((r|0)==11){switch(h<<24>>24){case 0:case 3:{f=g;break a}default:{}}d=g;f=g}while(0);b:do if(!(i&(f|0)>=(d+-1|0))){g=(f|0)>(d|0)?d:f;QL(e,e+4|0,d+j|0);o=c[e>>2]|0;if(!o)d=-12;else{Mn(o|0,b|0,g|0)|0;m=e+64|0;n=e+60|0;f=g;while(1){h=g+2|0;if((h|0)>=(d|0)){r=18;break}j=b+h|0;i=a[j>>0]|0;if((i&255)<=3){h=a[b+g>>0]|0;if(!(h<<24>>24))if(!(i<<24>>24==0?1:(a[b+(g+1)>>0]|0)!=0)){if(i<<24>>24!=3){t=f;s=g;break}l=f+1|0;a[o+f>>0]=0;f=f+2|0;a[o+l>>0]=0;g=g+3|0;h=c[m>>2]|0;if(h){k=c[p>>2]|0;i=k+1|0;c[p>>2]=i;j=c[n>>2]|0;if((j|0)<=(k|0)){h=j<<1;c[n>>2]=h;if((h|0)<=(k|0)){r=27;break}tK(m,h,4)|0;h=c[m>>2]|0;if(!h){r=30;break}i=c[p>>2]|0}c[h+(i+-1<<2)>>2]=l}}else{h=0;r=33}else r=33}else{a[o+f>>0]=a[b+g>>0]|0;a[o+(f+1)>>0]=a[b+(g+1)>>0]|0;f=f+2|0;g=h;h=a[j>>0]|0;r=33}if((r|0)==33){r=0;a[o+f>>0]=h;f=f+1|0;g=g+1|0}}c:do if((r|0)==18)while(1){if((g|0)>=(d|0)){t=f;s=g;break c}a[o+f>>0]=a[b+g>>0]|0;f=f+1|0;g=g+1|0}else if((r|0)==27){c[q>>2]=204559;c[q+4>>2]=204609;c[q+8>>2]=118;AD(0,0,222515,q);ba()}else if((r|0)==30){c[n>>2]=0;d=-12;break b}while(0);d=o+t|0;f=d+32|0;do{a[d>>0]=0;d=d+1|0}while((d|0)<(f|0));c[e+12>>2]=o;c[e+8>>2]=t;c[e+24>>2]=b;c[e+20>>2]=s;d=s}}else{c[e+24>>2]=b;c[e+12>>2]=b;c[e+20>>2]=d;c[e+8>>2]=d}while(0);Mb=u;return d|0}function ng(b,d,e,g){b=b|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0.0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0,x=0.0;v=Mb;Mb=Mb+8704|0;n=v+4352|0;t=v;u=(g|0)==0?81760:81664;jv(n|0,0,4352)|0;if((c[b+760>>2]|0)!=(g|0)){jv(b+80560|0,0,136)|0;jv(b+80704|0,0,136)|0;jv(b+2528|0,0,78024)|0}s=c[167124+(g<<2)>>2]|0;i=b+134036|0;h=0;while(1){if((h|0)>=(s|0))break;gc[c[i>>2]&1023](n+(a[u+h>>0]<<7)|0,e+(h<<8)|0,32);h=h+1|0}j=c[167140+(g<<2)>>2]|0;h=0;while(1){if((h|0)>=(j|0))break;k=b+80416+(h<<2)|0;l=b+80560+(h<<2)|0;m=b+80704+(h<<2)|0;i=0;while(1){if((i|0)==32)break;x=+f[k>>2]*.765928328037262;w=+f[n+(h<<7)+(i<<2)>>2];x=x>w?x:w;f[k>>2]=x;o=+f[l>>2];o=o+(w-o)*.25;f[l>>2]=o;p=+f[m>>2];p=p+(x-w-p)*.25;f[m>>2]=p;p=p*1.5;f[t+(h<<7)+(i<<2)>>2]=p>o?o/p:1.0;i=i+1|0}h=h+1|0}j=c[167132+(g<<2)>>2]|0;k=167156+(g<<2)|0;l=b+134056|0;h=0;while(1){if((h|0)>=(j|0))break;m=a[u+h>>0]|0;p=1.0-+(h-(c[k>>2]|0)|0)*.05000000074505806;o=p>1.0?1.0:p;n=b+2528+(h*368|0)|0;q=b+2528+(h*368|0)+256|0;r=n+112|0;do{c[n>>2]=c[q>>2];n=n+4|0;q=q+4|0}while((n|0)<(r|0));Mn(b+2528+(h*368|0)+112|0,e+(h<<8)|0,256)|0;i=0;while(1){if((i|0)==3)break;n=b+36016+(h*888|0)+(i*296|0)|0;q=b+36016+(h*888|0)+(i*296|0)+256|0;r=n+40|0;do{c[n>>2]=c[q>>2];n=n+4|0;q=q+4|0}while((n|0)<(r|0));i=i+1|0}lc[c[l>>2]&1](d+(h<<8)|0,b+2528+(h*368|0)+96|0,b+36016+(h*888|0)|0,1072736+(g*400|0)+(h<<3)|0,1073536+(g*1200|0)+(h*24|0)|0,t+(m<<24>>24<<7)|0,p<0.0?0.0:o,32);h=h+1|0}k=c[167164+(g<<2)>>2]|0;l=b+134040|0;while(1){if((h|0)>=(k|0))break;i=a[u+h>>0]|0;j=b+2528+(h*368|0)|0;n=j;q=b+2528+(h*368|0)+256|0;r=n+112|0;do{c[n>>2]=c[q>>2];n=n+4|0;q=q+4|0}while((n|0)<(r|0));Mn(b+2528+(h*368|0)+112|0,e+(h<<8)|0,256)|0;hc[c[l>>2]&255](d+(h<<8)|0,j,t+(i<<7)|0,32);h=h+1|0}while(1){if((h|0)>=(s|0))break;i=a[u+h>>0]|0;n=b+2528+(h*368|0)|0;q=b+2528+(h*368|0)+256|0;r=n+112|0;do{c[n>>2]=c[q>>2];n=n+4|0;q=q+4|0}while((n|0)<(r|0));Mn(b+2528+(h*368|0)+112|0,e+(h<<8)|0,256)|0;hc[c[l>>2]&255](d+(h<<8)|0,b+2528+(h*368|0)+104|0,t+(i<<7)|0,32);h=h+1|0}Mb=v;return}function og(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;v=Mb;Mb=Mb+96|0;r=v+80|0;q=v+72|0;p=v+64|0;o=v+56|0;l=v+48|0;i=v+40|0;g=v+32|0;f=v+24|0;e=v+16|0;d=v+8|0;s=a+27e3|0;h=c[s>>2]|0;t=a+26992|0;n=H((c[t>>2]|0)+1|0,h)|0;b=c[a+25632>>2]|0;h=H((b|0)>1?b:1,h<<1)|0;b=IW(h,8)|0;c[a+25716>>2]=b;a:do if(!b){AD(c[a+4>>2]|0,16,175255,v);u=30}else{j=a+25628|0;c[(c[j>>2]|0)+21704>>2]=b;k=EZ(n*48|0)|0;c[a+25956>>2]=k;m=(n|0)==0;if(!(m|(k|0)!=0)){AD(c[a+4>>2]|0,16,175255,d);u=30;break}d=EZ((c[s>>2]|0)+n<<1)|0;k=a+28204|0;c[k>>2]=d;if((d|0)==0?(c[s>>2]|0)+n&2147483647|0:0){AD(c[a+4>>2]|0,16,175255,e);u=30;break}d=n<<1;e=EZ(d)|0;c[a+26376>>2]=e;if(!((d|0)==0|(e|0)!=0)){AD(c[a+4>>2]|0,16,175255,f);u=30;break}f=EZ(n)|0;c[a+26380>>2]=f;if(!(m|(f|0)!=0)){AD(c[a+4>>2]|0,16,175255,g);u=30;break}g=IW(h,16)|0;d=a+26384|0;c[d>>2]=g;if(!g){AD(c[a+4>>2]|0,16,175255,i);u=30;break}i=IW(h,16)|0;b=a+26388|0;c[b>>2]=i;if(!i){AD(c[a+4>>2]|0,16,175255,l);u=30;break}c[(c[j>>2]|0)+32848>>2]=c[d>>2];c[(c[j>>2]|0)+32852>>2]=c[b>>2];b=n<<2;l=EZ(b)|0;c[a+26392>>2]=l;d=(b|0)==0;if(!(d|(l|0)!=0)){AD(c[a+4>>2]|0,16,175255,o);u=30;break}o=EZ(n)|0;c[a+26372>>2]=o;if(!(m|(o|0)!=0)){AD(c[a+4>>2]|0,16,175255,p);u=30;break}jv(c[k>>2]|0,-1,(c[s>>2]|0)+n<<1|0)|0;c[a+26356>>2]=(c[k>>2]|0)+(c[s>>2]<<1<<1)+2;p=EZ(b)|0;h=a+26344|0;c[h>>2]=p;if(!(d|(p|0)!=0)){AD(c[a+4>>2]|0,16,175255,q);u=30;break}g=EZ(b)|0;c[a+26348>>2]=g;if(!(d|(g|0)!=0)){AD(c[a+4>>2]|0,16,175255,r);u=30;break}f=a+26996|0;e=a+26352|0;d=0;while(1){if((d|0)>=(c[t>>2]|0)){b=0;break a}b=0;while(1){if((b|0)>=(c[f>>2]|0))break;a=(H(c[s>>2]|0,d)|0)+b|0;r=(H(c[e>>2]|0,d)|0)+b<<2;c[(c[h>>2]|0)+(a<<2)>>2]=r;c[g+(a<<2)>>2]=((a|0)%(c[s>>2]<<1|0)|0)<<3;b=b+1|0}d=d+1|0}}while(0);if((u|0)==30){Bs(a);b=-12}Mb=v;return b|0}function pg(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;c[d>>2]=(c[d>>2]|0)+32;g=0;while(1){if((g|0)==8)break;w=d+(g<<2)|0;o=c[w>>2]|0;m=d+(g+32<<2)|0;l=c[m>>2]|0;j=l+o|0;l=o-l|0;o=d+(g+16<<2)|0;k=c[o>>2]|0;p=d+(g+48<<2)|0;v=c[p>>2]|0;n=(k>>1)-v|0;k=(v>>1)+k|0;v=k+j|0;r=n+l|0;n=l-n|0;k=j-k|0;j=d+(g+24<<2)|0;l=c[j>>2]|0;i=d+(g+40<<2)|0;h=c[i>>2]|0;t=d+(g+56<<2)|0;q=c[t>>2]|0;u=h-l-q-(q>>1)|0;s=d+(g+8<<2)|0;x=c[s>>2]|0;y=q-((l>>1)+l)+x|0;q=q+h+(h>>1)-x|0;x=h+l+x+(x>>1)|0;l=(x>>2)+u|0;h=(q>>2)+y|0;q=(y>>2)-q|0;u=x-(u>>2)|0;c[w>>2]=u+v;c[t>>2]=v-u;c[s>>2]=q+r;c[p>>2]=r-q;c[o>>2]=h+n;c[i>>2]=n-h;c[j>>2]=l+k;c[m>>2]=k-l;g=g+1|0}m=f>>1;f=f&-2;h=m*3|0;i=m<<2;j=m*5|0;k=m*6|0;l=m*7|0;g=0;while(1){if((g|0)==8)break;y=g<<3;q=c[d+(y<<2)>>2]|0;t=c[d+((y|4)<<2)>>2]|0;r=t+q|0;t=q-t|0;q=c[d+((y|2)<<2)>>2]|0;w=c[d+((y|6)<<2)>>2]|0;s=(q>>1)-w|0;q=(w>>1)+q|0;w=q+r|0;u=s+t|0;s=t-s|0;q=r-q|0;r=c[d+((y|3)<<2)>>2]|0;t=c[d+((y|5)<<2)>>2]|0;v=c[d+((y|7)<<2)>>2]|0;x=t-r-v-(v>>1)|0;y=c[d+((y|1)<<2)>>2]|0;p=v-((r>>1)+r)+y|0;v=v+t+(t>>1)-y|0;y=t+r+y+(y>>1)|0;r=(y>>2)+x|0;t=(v>>2)+p|0;v=(p>>2)-v|0;x=y-(x>>2)|0;y=a+(g<<1)|0;p=(x+w>>6)+(e[y>>1]|0)|0;b[y>>1]=p>>>0<16384?p:0-p>>31&16383;y=a+(g+m<<1)|0;p=(v+u>>6)+(e[y>>1]|0)|0;b[y>>1]=p>>>0<16384?p:0-p>>31&16383;y=a+(g+f<<1)|0;p=(t+s>>6)+(e[y>>1]|0)|0;b[y>>1]=p>>>0<16384?p:0-p>>31&16383;y=a+(g+h<<1)|0;p=(r+q>>6)+(e[y>>1]|0)|0;b[y>>1]=p>>>0<16384?p:0-p>>31&16383;y=a+(g+i<<1)|0;r=(q-r>>6)+(e[y>>1]|0)|0;b[y>>1]=r>>>0<16384?r:0-r>>31&16383;y=a+(g+j<<1)|0;t=(s-t>>6)+(e[y>>1]|0)|0;b[y>>1]=t>>>0<16384?t:0-t>>31&16383;y=a+(g+k<<1)|0;v=(u-v>>6)+(e[y>>1]|0)|0;b[y>>1]=v>>>0<16384?v:0-v>>31&16383;y=a+(g+l<<1)|0;x=(w-x>>6)+(e[y>>1]|0)|0;b[y>>1]=x>>>0<16384?x:0-x>>31&16383;g=g+1|0}jv(d|0,0,256)|0;return}function qg(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=Mb;Mb=Mb+32|0;A=D+16|0;j=D+8|0;i=D;C=(c[a+6500>>2]|0)<(c[b>>2]|0)&1;g=(d|0)==1;x=g?2:1;h=c[b+12>>2]|0;if((h|0)!=(d|0)){z=c[a+4>>2]|0;c[i>>2]=d;c[i+4>>2]=h;AD(z,(d|0)==3?40:24,199744,i);tS(b)}w=b+4|0;if(c[w>>2]|0?(c[b+8>>2]|0)==0:0){AD(c[a+4>>2]|0,16,199776,j);tS(b)}h=b+88|0;if(!(c[h>>2]|0)){c[b+72>>2]=c[b+76>>2];c[b+80>>2]=c[b+84>>2]}else c[h>>2]=0;if(c[w>>2]|0){qe(b,d);c[b+8>>2]=0}y=a+5404|0;j=b+390816|0;z=b+390952|0;d=b+389536|0;k=b+391008|0;l=b+310464|0;m=b+391016|0;n=b+391020|0;o=b+380096|0;p=b+380608|0;q=b+52|0;r=b+320704|0;s=b+384144|0;t=b+391012|0;i=0;while(1){if(i>>>0>=x>>>0)break;u=b+96+(i*87968|0)|0;h=b+96+(i*87968|0)+14592|0;v=b+96+(i*87968|0)+30976|0;Jx(c[y>>2]|0,j,z,(i|0)==0?e:f,b+96+(i*87968|0)+9312|0,d,h,c[v>>2]|0);_b[c[k>>2]&63](a,b,l,h,c[v>>2]|0)|0;c[v>>2]=c[v>>2]^1;if(c[w>>2]|0){jc[c[n>>2]&255](z,o,p,l,c[q>>2]|0);JB(b,u);h=c[b+96+(i*87968|0)+8>>2]|0;if(!h){B=15;break}ko(a,b,r,l,o,p,b+96+(i*87968|0)+14572|0,b+96+(i*87968|0)+87932|0,h);h=b+96+(i*87968|0)+14564|0;if(!(Qg(a,b,u,h)|0)){Fj(s,r,b,u);Gg(b,u,h);jc[c[t>>2]&255](b+96+(i*87968|0)+30992+((c[v>>2]|0)*19456|0)|0,r,b,u,h)}}v=c[v>>2]|0;$b[c[m>>2]&15](b,b+341184+(i*19456|0)|0,b+96+(i*87968|0)+30992+((1-v|0)*19456|0)|0,b+96+(i*87968|0)+30992+(v*19456|0)|0,l,i)|0;i=i+1|0}if((B|0)==15){c[A>>2]=199817;c[A+4>>2]=199096;c[A+8>>2]=1511;AD(0,0,222515,A);ba()}do if((c[a+6512>>2]|0)==1){g=b+176032|0;if(!(c[g>>2]|0)){h=b+341184|0;Mn(b+360640|0,h|0,19456)|0;g=1;break}else{h=b+341184|0;Az(c[a+4>>2]|0,g,h,b+360640|0,(c[b+84>>2]|0)+(c[b+76>>2]|0)|0)|0;g=1;break}}else h=b+341184|0;while(0);i=b+390884|0;j=b+389536|0;Vh(i,z,c[y>>2]|0,e,h,j,b+192|0,b+14656|0,C);if(g)Vh(i,z,c[y>>2]|0,f,b+360640|0,j,b+88160|0,b+102624|0,C);Mb=D;return}function rg(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;k=c[a+60>>2]|0;j=c[k+1412>>2]|0;g=c[j+13336>>2]|0;o=1<<g;t=c[b+(e<<2)>>2]|0;g=(H(o+-1+(c[j+13376>>2]|0)>>g,t)|0)+(c[k+3496>>2]|0)|0;j=c[(c[(c[k+1416>>2]|0)+1668>>2]|0)+(g<<2)>>2]|0;u=(t|0)%(d[k+141>>0]|0|0)|0;q=c[k+8+(f<<2)>>2]|0;b=c[q+136>>2]|0;do if(t){e=q+7608|0;f=q+3096|0;h=t+-1|0;i=q+3100|0;a=XY(b+204|0,(c[e>>2]|0)+(c[(c[f>>2]|0)+(h<<2)>>2]|0)|0,c[(c[i>>2]|0)+(h<<2)>>2]|0)|0;if((a|0)<0){e=k+7604|0;b=q+4|0;m=22;break}else{sB(b+224|0,(c[e>>2]|0)+(c[(c[f>>2]|0)+(h<<2)>>2]|0)|0,c[(c[i>>2]|0)+(h<<2)>>2]|0)|0;m=5;break}}else m=5;while(0);a:do if((m|0)==5){l=q+1412|0;b=q+4|0;e=k+7604|0;i=q+3104|0;k=q+1416|0;a=1;f=j;while(1){if(!a)break;a=c[l>>2]|0;if((f|0)>=(c[a+13392>>2]|0))break;r=c[a+13384>>2]|0;p=(g|0)/(r|0)|0;r=g-(H(p,r)|0)|0;s=c[a+13336>>2]|0;r=r<<s;s=p<<s;eh(q,r,s,f);Nx(c[b>>2]|0,t,u,2);if(c[e>>2]|0){m=9;break}a=gl(q,f)|0;if((a|0)<0){m=22;break a}a=c[(c[l>>2]|0)+13336>>2]|0;he(q,r>>a,s>>a);a=Ph(q,r,s,c[(c[l>>2]|0)+13336>>2]|0,0)|0;if((a|0)<0){m=22;break a}p=f+1|0;nK(q,p);OD(c[b>>2]|0,t,u,1);TC(q,r,s,o);if(!a){g=r+o|0;h=c[l>>2]|0;f=c[h+13376>>2]|0;if((g|0)<(f|0)?(t|0)!=(c[i>>2]|0):0){m=16;break}else n=h}else{n=c[l>>2]|0;g=r+o|0;f=c[n+13376>>2]|0}if((g|0)>=(f|0)){m=18;break}f=p;g=c[(c[(c[k>>2]|0)+1672>>2]|0)+(p<<2)>>2]|0}if((m|0)==9){OD(c[b>>2]|0,t,u,2);a=0;break}else if((m|0)==16){c[e>>2]=1;OD(c[b>>2]|0,t,u,2);a=0;break}else if((m|0)==18?(s+o|0)>=(c[n+13380>>2]|0):0){Pt(q,r,s,o);OD(c[b>>2]|0,t,u,2);a=p;break}OD(c[b>>2]|0,t,u,2);a=0}while(0);if((m|0)==22){c[(c[q+7560>>2]|0)+(g<<2)>>2]=-1;c[e>>2]=1;OD(c[b>>2]|0,t,u,2)}return a|0}function sg(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;c[d>>2]=(c[d>>2]|0)+32;g=0;while(1){if((g|0)==8)break;w=d+(g<<2)|0;o=c[w>>2]|0;m=d+(g+32<<2)|0;l=c[m>>2]|0;j=l+o|0;l=o-l|0;o=d+(g+16<<2)|0;k=c[o>>2]|0;p=d+(g+48<<2)|0;v=c[p>>2]|0;n=(k>>1)-v|0;k=(v>>1)+k|0;v=k+j|0;r=n+l|0;n=l-n|0;k=j-k|0;j=d+(g+24<<2)|0;l=c[j>>2]|0;i=d+(g+40<<2)|0;h=c[i>>2]|0;t=d+(g+56<<2)|0;q=c[t>>2]|0;u=h-l-q-(q>>1)|0;s=d+(g+8<<2)|0;x=c[s>>2]|0;y=q-((l>>1)+l)+x|0;q=q+h+(h>>1)-x|0;x=h+l+x+(x>>1)|0;l=(x>>2)+u|0;h=(q>>2)+y|0;q=(y>>2)-q|0;u=x-(u>>2)|0;c[w>>2]=u+v;c[t>>2]=v-u;c[s>>2]=q+r;c[p>>2]=r-q;c[o>>2]=h+n;c[i>>2]=n-h;c[j>>2]=l+k;c[m>>2]=k-l;g=g+1|0}m=f>>1;f=f&-2;h=m*3|0;i=m<<2;j=m*5|0;k=m*6|0;l=m*7|0;g=0;while(1){if((g|0)==8)break;y=g<<3;q=c[d+(y<<2)>>2]|0;t=c[d+((y|4)<<2)>>2]|0;r=t+q|0;t=q-t|0;q=c[d+((y|2)<<2)>>2]|0;w=c[d+((y|6)<<2)>>2]|0;s=(q>>1)-w|0;q=(w>>1)+q|0;w=q+r|0;u=s+t|0;s=t-s|0;q=r-q|0;r=c[d+((y|3)<<2)>>2]|0;t=c[d+((y|5)<<2)>>2]|0;v=c[d+((y|7)<<2)>>2]|0;x=t-r-v-(v>>1)|0;y=c[d+((y|1)<<2)>>2]|0;p=v-((r>>1)+r)+y|0;v=v+t+(t>>1)-y|0;y=t+r+y+(y>>1)|0;r=(y>>2)+x|0;t=(v>>2)+p|0;v=(p>>2)-v|0;x=y-(x>>2)|0;y=a+(g<<1)|0;p=(x+w>>6)+(e[y>>1]|0)|0;b[y>>1]=p>>>0<4096?p:0-p>>31&4095;y=a+(g+m<<1)|0;p=(v+u>>6)+(e[y>>1]|0)|0;b[y>>1]=p>>>0<4096?p:0-p>>31&4095;y=a+(g+f<<1)|0;p=(t+s>>6)+(e[y>>1]|0)|0;b[y>>1]=p>>>0<4096?p:0-p>>31&4095;y=a+(g+h<<1)|0;p=(r+q>>6)+(e[y>>1]|0)|0;b[y>>1]=p>>>0<4096?p:0-p>>31&4095;y=a+(g+i<<1)|0;r=(q-r>>6)+(e[y>>1]|0)|0;b[y>>1]=r>>>0<4096?r:0-r>>31&4095;y=a+(g+j<<1)|0;t=(s-t>>6)+(e[y>>1]|0)|0;b[y>>1]=t>>>0<4096?t:0-t>>31&4095;y=a+(g+k<<1)|0;v=(u-v>>6)+(e[y>>1]|0)|0;b[y>>1]=v>>>0<4096?v:0-v>>31&4095;y=a+(g+l<<1)|0;x=(w-x>>6)+(e[y>>1]|0)|0;b[y>>1]=x>>>0<4096?x:0-x>>31&4095;g=g+1|0}jv(d|0,0,256)|0;return}function tg(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;c[d>>2]=(c[d>>2]|0)+32;g=0;while(1){if((g|0)==8)break;w=d+(g<<2)|0;o=c[w>>2]|0;m=d+(g+32<<2)|0;l=c[m>>2]|0;j=l+o|0;l=o-l|0;o=d+(g+16<<2)|0;k=c[o>>2]|0;p=d+(g+48<<2)|0;v=c[p>>2]|0;n=(k>>1)-v|0;k=(v>>1)+k|0;v=k+j|0;r=n+l|0;n=l-n|0;k=j-k|0;j=d+(g+24<<2)|0;l=c[j>>2]|0;i=d+(g+40<<2)|0;h=c[i>>2]|0;t=d+(g+56<<2)|0;q=c[t>>2]|0;u=h-l-q-(q>>1)|0;s=d+(g+8<<2)|0;x=c[s>>2]|0;y=q-((l>>1)+l)+x|0;q=q+h+(h>>1)-x|0;x=h+l+x+(x>>1)|0;l=(x>>2)+u|0;h=(q>>2)+y|0;q=(y>>2)-q|0;u=x-(u>>2)|0;c[w>>2]=u+v;c[t>>2]=v-u;c[s>>2]=q+r;c[p>>2]=r-q;c[o>>2]=h+n;c[i>>2]=n-h;c[j>>2]=l+k;c[m>>2]=k-l;g=g+1|0}m=f>>1;f=f&-2;h=m*3|0;i=m<<2;j=m*5|0;k=m*6|0;l=m*7|0;g=0;while(1){if((g|0)==8)break;y=g<<3;q=c[d+(y<<2)>>2]|0;t=c[d+((y|4)<<2)>>2]|0;r=t+q|0;t=q-t|0;q=c[d+((y|2)<<2)>>2]|0;w=c[d+((y|6)<<2)>>2]|0;s=(q>>1)-w|0;q=(w>>1)+q|0;w=q+r|0;u=s+t|0;s=t-s|0;q=r-q|0;r=c[d+((y|3)<<2)>>2]|0;t=c[d+((y|5)<<2)>>2]|0;v=c[d+((y|7)<<2)>>2]|0;x=t-r-v-(v>>1)|0;y=c[d+((y|1)<<2)>>2]|0;p=v-((r>>1)+r)+y|0;v=v+t+(t>>1)-y|0;y=t+r+y+(y>>1)|0;r=(y>>2)+x|0;t=(v>>2)+p|0;v=(p>>2)-v|0;x=y-(x>>2)|0;y=a+(g<<1)|0;p=(x+w>>6)+(e[y>>1]|0)|0;b[y>>1]=p>>>0<1024?p:0-p>>31&1023;y=a+(g+m<<1)|0;p=(v+u>>6)+(e[y>>1]|0)|0;b[y>>1]=p>>>0<1024?p:0-p>>31&1023;y=a+(g+f<<1)|0;p=(t+s>>6)+(e[y>>1]|0)|0;b[y>>1]=p>>>0<1024?p:0-p>>31&1023;y=a+(g+h<<1)|0;p=(r+q>>6)+(e[y>>1]|0)|0;b[y>>1]=p>>>0<1024?p:0-p>>31&1023;y=a+(g+i<<1)|0;r=(q-r>>6)+(e[y>>1]|0)|0;b[y>>1]=r>>>0<1024?r:0-r>>31&1023;y=a+(g+j<<1)|0;t=(s-t>>6)+(e[y>>1]|0)|0;b[y>>1]=t>>>0<1024?t:0-t>>31&1023;y=a+(g+k<<1)|0;v=(u-v>>6)+(e[y>>1]|0)|0;b[y>>1]=v>>>0<1024?v:0-v>>31&1023;y=a+(g+l<<1)|0;x=(w-x>>6)+(e[y>>1]|0)|0;b[y>>1]=x>>>0<1024?x:0-x>>31&1023;g=g+1|0}jv(d|0,0,256)|0;return}function ug(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;l=Mb;Mb=Mb+32|0;k=l+24|0;i=l+16|0;h=l+8|0;f=l;do if(mT(a)|0){e=HG(a,8)|0;if((e|0)==255){g=HG(a,16)|0;c[d+100>>2]=g;g=HG(a,16)|0;c[d+104>>2]=g;g=8;break}if(e>>>0<17){e=20128+(e<<3)|0;f=c[e+4>>2]|0;g=d+100|0;c[g>>2]=c[e>>2];c[g+4>>2]=f;g=8;break}else{AD(b,16,173399,f);e=-1094995529;break}}else{c[d+104>>2]=0;c[d+100>>2]=0;g=8}while(0);do if((g|0)==8){if(mT(a)|0)mT(a)|0;g=mT(a)|0;c[d+108>>2]=g;if(g|0?(HG(a,3)|0,g=mT(a)|0,c[d+112>>2]=g,g=mT(a)|0,c[d+116>>2]=g,g|0):0){m=HG(a,8)|0;e=d+120|0;c[e>>2]=m;m=HG(a,8)|0;f=d+124|0;c[f>>2]=m;m=HG(a,8)|0;g=d+128|0;c[g>>2]=m;if(!(DY(c[e>>2]|0)|0))c[e>>2]=2;if(!(HY(c[f>>2]|0)|0))c[f>>2]=2;if(!(WY(c[g>>2]|0)|0))c[g>>2]=2}if(mT(a)|0){m=(au(a)|0)+1|0;c[b+404>>2]=m;au(a)|0}if(C1(a)|0?(a$(a)|0)<10:0){AD(b,24,173421,h);e=0;break}m=mT(a)|0;e=d+132|0;c[e>>2]=m;if(m|0){f=rO(a,32)|0;g=rO(a,32)|0;if((f|0)!=0&(g|0)!=0){c[d+136>>2]=f;c[d+140>>2]=g}else{c[i>>2]=g;c[i+4>>2]=f;AD(b,16,173436,i);c[e>>2]=0}m=mT(a)|0;c[d+144>>2]=m}m=mT(a)|0;e=d+1152|0;c[e>>2]=m;if(m|0?($v(a,b,d)|0)<0:0){e=-1094995529;break}m=mT(a)|0;f=d+1156|0;c[f>>2]=m;if(m|0?($v(a,b,d)|0)<0:0){e=-1094995529;break}if(!((c[e>>2]|0)==0?!(c[f>>2]|0):0))mT(a)|0;m=mT(a)|0;c[d+1160>>2]=m;if((a$(a)|0)!=0?(m=mT(a)|0,j=d+660|0,c[j>>2]=m,(m|0)!=0):0){mT(a)|0;au(a)|0;au(a)|0;au(a)|0;au(a)|0;m=au(a)|0;f=d+664|0;c[f>>2]=m;au(a)|0;if((a$(a)|0)<0){c[f>>2]=0;c[j>>2]=0;e=0;break}e=c[f>>2]|0;if(e>>>0>16){c[k>>2]=e;AD(b,16,173497,k);c[f>>2]=16;e=-1094995529}else e=0}else e=0}while(0);Mb=l;return e|0}function vg(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=Mb;Mb=Mb+16|0;j=m+8|0;g=m;k=a+136|0;l=c[k>>2]|0;d=LA(l+224|0,l+31|0)|0;e=c[k>>2]|0;e=LA(e+224|0,e+31|0)|0;if(!d)f=0;else{f=c[k>>2]|0;f=(LA(f+224|0,f+34|0)|0)+d|0}if(!e)e=0;else{i=c[k>>2]|0;e=(LA(i+224|0,i+34|0)|0)+e|0}a:do switch(f|0){case 2:{d=1;while(1){if(d>>>0>=31){h=10;break}if(!(MP((c[k>>2]|0)+224|0)|0))break;i=(1<<d)+f|0;d=d+1|0;f=i}if((h|0)==10?(d|0)==31:0){d=c[a+4>>2]|0;c[g>>2]=31;AD(d,16,209464,g);d=0;h=21;break a}while(1){g=d+-1|0;h=c[k>>2]|0;i=h+224|0;if(!d)break;d=g;f=((MP(i)|0)<<g)+f|0}g=c[i>>2]|0;d=g<<1;c[i>>2]=d;if(!(g&32767)){VQ(i);d=c[i>>2]|0}g=c[h+228>>2]<<17;h=d-g|0;d=h>>31;c[i>>2]=(d&g)+h;d=(d^0-f)-d&65535;h=21;break}case 1:{f=c[k>>2]|0;g=f+224|0;i=c[g>>2]|0;d=i<<1;c[g>>2]=d;if(!(i&32767)){VQ(g);d=c[g>>2]|0}i=c[f+228>>2]<<17;h=d-i|0;d=h>>31;c[g>>2]=(d&i)+h;d=(d^65535)-d&65535;h=21;break}case 0:{d=0;h=21;break}default:{}}while(0);if((h|0)==21)b[l+31268>>1]=d;b:do switch(e|0){case 2:{d=1;while(1){if(d>>>0>=31){h=27;break}if(!(MP((c[k>>2]|0)+224|0)|0))break;i=(1<<d)+e|0;d=d+1|0;e=i}if((h|0)==27?(d|0)==31:0){d=c[a+4>>2]|0;c[j>>2]=31;AD(d,16,209464,j);d=0;h=38;break b}f=d;while(1){d=f+-1|0;g=c[k>>2]|0;h=g+224|0;if(!f)break;f=d;e=((MP(h)|0)<<d)+e|0}k=c[h>>2]|0;d=k<<1;c[h>>2]=d;if(!(k&32767)){VQ(h);d=c[h>>2]|0}a=c[g+228>>2]<<17;k=d-a|0;d=k>>31;c[h>>2]=(d&a)+k;d=(d^0-e)-d&65535;h=38;break}case 1:{e=c[k>>2]|0;f=e+224|0;k=c[f>>2]|0;d=k<<1;c[f>>2]=d;if(!(k&32767)){VQ(f);d=c[f>>2]|0}k=c[e+228>>2]<<17;h=d-k|0;d=h>>31;c[f>>2]=(d&k)+h;d=(d^65535)-d&65535;h=38;break}case 0:{d=0;h=38;break}default:{}}while(0);if((h|0)==38)b[l+31270>>1]=d;Mb=m;return}function wg(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;c[d>>2]=(c[d>>2]|0)+32;g=0;while(1){if((g|0)==8)break;w=d+(g<<2)|0;o=c[w>>2]|0;m=d+(g+32<<2)|0;l=c[m>>2]|0;j=l+o|0;l=o-l|0;o=d+(g+16<<2)|0;k=c[o>>2]|0;p=d+(g+48<<2)|0;v=c[p>>2]|0;n=(k>>1)-v|0;k=(v>>1)+k|0;v=k+j|0;r=n+l|0;n=l-n|0;k=j-k|0;j=d+(g+24<<2)|0;l=c[j>>2]|0;i=d+(g+40<<2)|0;h=c[i>>2]|0;t=d+(g+56<<2)|0;q=c[t>>2]|0;u=h-l-q-(q>>1)|0;s=d+(g+8<<2)|0;x=c[s>>2]|0;y=q-((l>>1)+l)+x|0;q=q+h+(h>>1)-x|0;x=h+l+x+(x>>1)|0;l=(x>>2)+u|0;h=(q>>2)+y|0;q=(y>>2)-q|0;u=x-(u>>2)|0;c[w>>2]=u+v;c[t>>2]=v-u;c[s>>2]=q+r;c[p>>2]=r-q;c[o>>2]=h+n;c[i>>2]=n-h;c[j>>2]=l+k;c[m>>2]=k-l;g=g+1|0}m=f>>1;f=f&-2;h=m*3|0;i=m<<2;j=m*5|0;k=m*6|0;l=m*7|0;g=0;while(1){if((g|0)==8)break;y=g<<3;q=c[d+(y<<2)>>2]|0;t=c[d+((y|4)<<2)>>2]|0;r=t+q|0;t=q-t|0;q=c[d+((y|2)<<2)>>2]|0;w=c[d+((y|6)<<2)>>2]|0;s=(q>>1)-w|0;q=(w>>1)+q|0;w=q+r|0;u=s+t|0;s=t-s|0;q=r-q|0;r=c[d+((y|3)<<2)>>2]|0;t=c[d+((y|5)<<2)>>2]|0;v=c[d+((y|7)<<2)>>2]|0;x=t-r-v-(v>>1)|0;y=c[d+((y|1)<<2)>>2]|0;p=v-((r>>1)+r)+y|0;v=v+t+(t>>1)-y|0;y=t+r+y+(y>>1)|0;r=(y>>2)+x|0;t=(v>>2)+p|0;v=(p>>2)-v|0;x=y-(x>>2)|0;y=a+(g<<1)|0;p=(x+w>>6)+(e[y>>1]|0)|0;b[y>>1]=p>>>0<512?p:0-p>>31&511;y=a+(g+m<<1)|0;p=(v+u>>6)+(e[y>>1]|0)|0;b[y>>1]=p>>>0<512?p:0-p>>31&511;y=a+(g+f<<1)|0;p=(t+s>>6)+(e[y>>1]|0)|0;b[y>>1]=p>>>0<512?p:0-p>>31&511;y=a+(g+h<<1)|0;p=(r+q>>6)+(e[y>>1]|0)|0;b[y>>1]=p>>>0<512?p:0-p>>31&511;y=a+(g+i<<1)|0;r=(q-r>>6)+(e[y>>1]|0)|0;b[y>>1]=r>>>0<512?r:0-r>>31&511;y=a+(g+j<<1)|0;t=(s-t>>6)+(e[y>>1]|0)|0;b[y>>1]=t>>>0<512?t:0-t>>31&511;y=a+(g+k<<1)|0;v=(u-v>>6)+(e[y>>1]|0)|0;b[y>>1]=v>>>0<512?v:0-v>>31&511;y=a+(g+l<<1)|0;x=(w-x>>6)+(e[y>>1]|0)|0;b[y>>1]=x>>>0<512?x:0-x>>31&511;g=g+1|0}jv(d|0,0,256)|0;return}function xg(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=Mb;Mb=Mb+32|0;w=y+24|0;v=y+16|0;u=y+8|0;t=y;s=y+28|0;r=(g|0)!=0;p=b+4|0;c[p>>2]=0;q=b+8|0;o=(i|0)==174;i=d;g=e;m=r?d:d+e|0;a:while(1){k=m+-3|0;l=m;d=g;while(1){if((d|0)<=3){g=0;break a}if((i|0)==(m|0)){x=5;break}if(i>>>0>m>>>0)AD(f,24,204634,t);g=d;while(1){d=i+1|0;if(((a[i>>0]|0)==0?(a[d>>0]|0)==0:0)?(a[i+2>>0]|0)==1:0)break;e=g+-1|0;if((g|0)<5){x=13;break a}if(d>>>0<k>>>0){i=d;g=e}else{i=d;g=e;break}}i=i+3|0;d=g+-3|0;g=l-i|0;if(i>>>0<m>>>0){x=17;break}i=m;d=d-g|0}if((x|0)==5){x=0;c[s>>2]=0;g=Kz(h,m,d,s,f)|0;i=m+h|0;if((g|0)<0)break;else{e=g;n=i+g|0;m=d-h|0}}else if((x|0)==17){x=0;e=(d|0)>(g|0)?g:d;n=m;m=d}g=c[q>>2]|0;d=c[p>>2]|0;if((g|0)<=(d|0)){g=g+1|0;d=SU(c[b>>2]|0,g,72)|0;if(!d){g=-12;break}c[b>>2]=d;k=c[q>>2]|0;jv(d+(k*72|0)|0,0,(g-k|0)*72|0)|0;d=c[b>>2]|0;k=c[p>>2]|0;c[d+(k*72|0)+60>>2]=1024;l=O1()|0;c[d+(k*72|0)+64>>2]=l;if(!l){g=-12;break}c[q>>2]=g;d=c[p>>2]|0}l=c[b>>2]|0;k=l+(d*72|0)|0;g=mg(i,e,k,j)|0;if((g|0)<0)break;if(r?(e|0)!=0&(e|0)!=(g|0):0){c[v>>2]=g;c[v+4>>2]=e;AD(f,48,204702,v)}c[p>>2]=(c[p>>2]|0)+1;if((((g|0)<(m+-3|0)?(a[i+g>>0]|0)==0:0)?(a[i+(g+1)>>0]|0)==0:0)?(a[i+(g+2)>>0]|0)==1:0)e=(a[i+(g+3)>>0]|0)!=-32&1;else e=1;e=ey(k,e)|0;c[l+(d*72|0)+16>>2]=e;e=gP(l+(d*72|0)+28|0,c[l+(d*72|0)+12>>2]|0,e)|0;if((e|0)<0){g=e;break}if(o)e=Xz(k,f)|0;else e=$C(k,f)|0;if((e|0)<1)if((e|0)<0){c[w>>2]=c[l+(d*72|0)+48>>2];AD(f,16,204747,w);x=39}else x=39;else if((c[l+(d*72|0)+8>>2]|0)<1)x=39;if((x|0)==39){x=0;c[p>>2]=(c[p>>2]|0)+-1}i=i+g|0;g=m-g|0;m=n}if((x|0)==13)if((c[p>>2]|0)>0)g=0;else{AD(f,16,204677,u);g=-1094995529}Mb=y;return g|0}function yg(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;n=Mb;Mb=Mb+48|0;j=n+40|0;k=n+32|0;h=n+24|0;g=n+16|0;d=n+8|0;e=c[a+28200>>2]|0;l=a+4|0;i=c[l>>2]|0;f=e+100|0;c[j>>2]=c[f>>2];c[j+4>>2]=c[f+4>>2];hz(i,j)|0;KS(c[(c[l>>2]|0)+144>>2]|0,a+25664|0,a+25668|0)|0;if(c[e+132>>2]|0){i=_U(c[e+140>>2]|0,0,(c[a+29696>>2]|0)>>>0<44|0)|0;j=M()|0;f=c[l>>2]|0;ih(f+884|0,f+880|0,H(c[f+116>>2]|0,c[e+136>>2]|0)|0,0,i,j,1073741824,0)|0}Bs(a);c[a+26368>>2]=0;c[a+29548>>2]=1;ei(a);b=og(a)|0;f=c[l>>2]|0;a:do if((b|0)<0){AD(f,16,207401,n);m=20}else{j=c[f+12>>2]|0;do if(j|0?c[j+16>>2]&128|0:0){if((c[e+1184>>2]|0)==8?(c[e+12>>2]|0)<=1:0)break;AD(f,16,207428,d);b=-1094995529;m=20;break a}while(0);b=e+1184|0;d=c[b>>2]|0;b:do if((d+-8|0)>>>0<=6){switch(d|0){case 11:case 13:break b;default:{}}c[f+788>>2]=d;c[a+29580>>2]=d;j=e+12|0;i=c[j>>2]|0;c[a+29576>>2]=i;c[a+25652>>2]=(d|0)>8&1;c[a+27032>>2]=i;c[a+27028>>2]=d;Ve(a+16|0,d,i);XK(a+152|0,c[e+1188>>2]|0);qd(a+184|0,c[b>>2]|0);Qc(a+25720|0,c[(c[l>>2]|0)+48>>2]|0,c[b>>2]|0,c[j>>2]|0);v_(a+8|0,c[b>>2]|0);if(!(c[(c[l>>2]|0)+808>>2]&2)){b=Ch(a,c[a+25628>>2]|0)|0;if((b|0)>=0){b=0;d=1;break a}AD(c[l>>2]|0,16,207505,h);m=20;break a}e=a+25632|0;f=a+25628|0;g=a+25716|0;h=a+27e3|0;i=a+26384|0;j=a+26388|0;d=0;while(1){if((d|0)>=(c[e>>2]|0)){b=0;d=1;break a}o=c[f>>2]|0;b=o+(d*34768|0)|0;c[b>>2]=a;p=H(c[h>>2]|0,d<<4)|0;c[o+(d*34768|0)+21704>>2]=(c[g>>2]|0)+p;c[o+(d*34768|0)+32848>>2]=(c[i>>2]|0)+(p<<1);c[o+(d*34768|0)+32852>>2]=(c[j>>2]|0)+(p<<1);b=Ch(a,b)|0;if((b|0)<0)break;else d=d+1|0}AD(c[l>>2]|0,16,207505,k);m=20;break a}while(0);c[g>>2]=d;AD(f,16,207479,g);b=-1094995529;m=20}while(0);if((m|0)==20){Bs(a);d=0}c[a+25680>>2]=d;Mb=n;return b|0}function zg(a,b){a=+a;b=+b;var d=0,e=0,f=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g[h>>3]=a;j=c[h>>2]|0;l=c[h+4>>2]|0;g[h>>3]=b;n=c[h>>2]|0;o=c[h+4>>2]|0;e=kV(j|0,l|0,52)|0;M()|0;e=e&2047;m=kV(n|0,o|0,52)|0;M()|0;m=m&2047;p=l&-2147483648;i=_U(n|0,o|0,1)|0;k=M()|0;a:do if(!((i|0)==0&(k|0)==0)?(f=gX(b)|0,d=(M()|0)&2147483647,!((e|0)==2047|(d>>>0>2146435072|(d|0)==2146435072&f>>>0>0))):0){d=_U(j|0,l|0,1)|0;f=M()|0;if(!(f>>>0>k>>>0|(f|0)==(k|0)&d>>>0>i>>>0))return +((d|0)==(i|0)&(f|0)==(k|0)?a*0.0:a);if(!e){d=_U(j|0,l|0,12)|0;f=M()|0;if((f|0)>-1|(f|0)==-1&d>>>0>4294967295){e=0;do{e=e+-1|0;d=_U(d|0,f|0,1)|0;f=M()|0}while((f|0)>-1|(f|0)==-1&d>>>0>4294967295)}else e=0;j=_U(j|0,l|0,1-e|0)|0;i=M()|0}else i=l&1048575|1048576;if(!m){f=_U(n|0,o|0,12)|0;k=M()|0;if((k|0)>-1|(k|0)==-1&f>>>0>4294967295){d=0;do{d=d+-1|0;f=_U(f|0,k|0,1)|0;k=M()|0}while((k|0)>-1|(k|0)==-1&f>>>0>4294967295)}else d=0;n=_U(n|0,o|0,1-d|0)|0;m=d;l=M()|0}else l=o&1048575|1048576;f=_W(j|0,i|0,n|0,l|0)|0;d=M()|0;k=(d|0)>-1|(d|0)==-1&f>>>0>4294967295;b:do if((e|0)>(m|0)){while(1){if(k){if((f|0)==0&(d|0)==0)break}else{f=j;d=i}j=_U(f|0,d|0,1)|0;i=M()|0;e=e+-1|0;f=_W(j|0,i|0,n|0,l|0)|0;d=M()|0;k=(d|0)>-1|(d|0)==-1&f>>>0>4294967295;if((e|0)<=(m|0))break b}b=a*0.0;break a}while(0);if(k){if((f|0)==0&(d|0)==0){b=a*0.0;break}}else{d=i;f=j}if(d>>>0<1048576|(d|0)==1048576&f>>>0<0)do{f=_U(f|0,d|0,1)|0;d=M()|0;e=e+-1|0}while(d>>>0<1048576|(d|0)==1048576&f>>>0<0);if((e|0)>0){o=aX(f|0,d|0,0,-1048576)|0;d=M()|0;e=_U(e|0,0,52)|0;d=d|(M()|0);e=o|e}else{e=kV(f|0,d|0,1-e|0)|0;d=M()|0}c[h>>2]=e;c[h+4>>2]=d|p;b=+g[h>>3]}else q=3;while(0);if((q|0)==3){b=a*b;b=b/b}return +b}function Ag(c,f,g){c=c|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;b[f>>1]=(e[f>>1]|0)+32;h=0;while(1){if((h|0)==8)break;x=f+(h<<1)|0;p=b[x>>1]|0;n=f+(h+32<<1)|0;m=b[n>>1]|0;k=m+p|0;m=p-m|0;p=f+(h+16<<1)|0;l=b[p>>1]|0;q=f+(h+48<<1)|0;w=b[q>>1]|0;o=(l>>1)-w|0;l=(w>>1)+l|0;w=l+k|0;s=o+m|0;o=m-o|0;l=k-l|0;k=f+(h+24<<1)|0;m=b[k>>1]|0;j=f+(h+40<<1)|0;i=b[j>>1]|0;u=f+(h+56<<1)|0;r=b[u>>1]|0;v=i-m-r-(r>>1)|0;t=f+(h+8<<1)|0;y=b[t>>1]|0;z=r-((m>>1)+m)+y|0;r=r+i+(i>>1)-y|0;y=i+m+y+(y>>1)|0;m=(y>>2)+v|0;i=(r>>2)+z|0;r=(z>>2)-r|0;v=y-(v>>2)|0;b[x>>1]=v+w;b[u>>1]=w-v;b[t>>1]=r+s;b[q>>1]=s-r;b[p>>1]=i+o;b[j>>1]=o-i;b[k>>1]=m+l;b[n>>1]=l-m;h=h+1|0}i=g<<1;j=g*3|0;k=g<<2;l=g*5|0;m=g*6|0;n=g*7|0;h=0;while(1){if((h|0)==8)break;z=h<<3;r=b[f+(z<<1)>>1]|0;u=b[f+((z|4)<<1)>>1]|0;s=u+r|0;u=r-u|0;r=b[f+((z|2)<<1)>>1]|0;x=b[f+((z|6)<<1)>>1]|0;t=(r>>1)-x|0;r=(x>>1)+r|0;x=r+s|0;v=t+u|0;t=u-t|0;r=s-r|0;s=b[f+((z|3)<<1)>>1]|0;u=b[f+((z|5)<<1)>>1]|0;w=b[f+((z|7)<<1)>>1]|0;y=u-s-w-(w>>1)|0;z=b[f+((z|1)<<1)>>1]|0;q=w-((s>>1)+s)+z|0;w=w+u+(u>>1)-z|0;z=u+s+z+(z>>1)|0;s=(z>>2)+y|0;u=(w>>2)+q|0;w=(q>>2)-w|0;y=z-(y>>2)|0;z=c+h|0;q=(y+x>>6)+(d[z>>0]|0)|0;a[z>>0]=q>>>0>255?0-q>>31:q;z=c+(h+g)|0;q=(w+v>>6)+(d[z>>0]|0)|0;a[z>>0]=q>>>0>255?0-q>>31:q;z=c+(h+i)|0;q=(u+t>>6)+(d[z>>0]|0)|0;a[z>>0]=q>>>0>255?0-q>>31:q;z=c+(h+j)|0;q=(s+r>>6)+(d[z>>0]|0)|0;a[z>>0]=q>>>0>255?0-q>>31:q;z=c+(h+k)|0;s=(r-s>>6)+(d[z>>0]|0)|0;a[z>>0]=s>>>0>255?0-s>>31:s;z=c+(h+l)|0;u=(t-u>>6)+(d[z>>0]|0)|0;a[z>>0]=u>>>0>255?0-u>>31:u;z=c+(h+m)|0;w=(v-w>>6)+(d[z>>0]|0)|0;a[z>>0]=w>>>0>255?0-w>>31:w;z=c+(h+n)|0;y=(x-y>>6)+(d[z>>0]|0)|0;a[z>>0]=y>>>0>255?0-y>>31:y;h=h+1|0}h=f+128|0;do{b[f>>1]=0;f=f+2|0}while((f|0)<(h|0));return}function Bg(e,f,g,h,i,j){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,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;R=Mb;Mb=Mb+16|0;P=R+4|0;L=R;oB(e,P,L);Q=c[P>>2]>>j;c[P>>2]=Q;P=H(c[L>>2]|0,Q)|0;c[L>>2]=P;L=h+-1|0;M=e+580|0;N=e+564|0;O=e+696|0;x=e+680|0;y=i*7|0;z=i*6|0;A=i<<3;B=i*9|0;C=i*5|0;D=i<<2;E=i*10|0;F=i*11|0;h=0;while(1){if((h|0)>=(L|0))break;G=h>>>j;I=h+1|0;J=I>>>j;K=H(h,i)|0;s=H(h,P)|0;t=H(I,P)|0;r=0;while(1){if((r|0)>=(g|0))break;S=c[M>>2]|0;e=r>>>j;k=c[N>>2]|0;h=(H(k,G)|0)+e|0;q=a[S+h>>0]|0;e=(H(k,J)|0)+e|0;S=a[S+e>>0]|0;k=c[O>>2]|0;u=r+K<<3;l=c[x>>2]|0;o=H(r,Q)|0;m=o+s|0;n=l+(m<<2)|0;o=o+t|0;p=l+(o<<2)|0;v=(q&14)!=0;w=(S&14)!=0;a:do if((S|q)&14){if(((c[k+(h<<2)>>2]|c[k+(e<<2)>>2])&7|0)==0?(S=(b[n>>1]|0)-(b[p>>1]|0)|0,q=(b[l+(o<<2)+2>>1]|0)+(b[l+(m<<2)+2>>1]|0)|0,(((q|0)>-1?q:0-q|0)+((S|0)>-1?S:0-S|0)|0)<2):0)break;q=v&w;e=0;while(1){if((e|0)==8)break a;l=e+u|0;m=f+(l+y)|0;n=d[m>>0]|0;o=f+(l+z)|0;T=n-(d[o>>0]|0)|0;p=f+(l+A)|0;h=d[p>>0]|0;S=h-n|0;k=f+(l+B)|0;h=(d[k>>0]|0)-h|0;h=((S|0)>-1?S:0-S|0)-(((T|0)>-1?T:0-T|0)+1+((h|0)>-1?h:0-h|0)>>1)|0;h=(h|0)>0?h:0;h=(S|0)<0?0-h|0:h;if(h|0){h=q?h:(h<<4|0)/9|0;if(v){a[m>>0]=a[23024+((h*7>>4)+n)>>0]|0;a[o>>0]=a[23024+((h*5>>4)+(d[o>>0]|0))>>0]|0;T=f+(l+C)|0;a[T>>0]=a[23024+((h*3>>4)+(d[T>>0]|0))>>0]|0;T=f+(l+D)|0;a[T>>0]=a[23024+((h>>4)+(d[T>>0]|0))>>0]|0}if(w){a[p>>0]=a[23024+((d[p>>0]|0)-(h*7>>4))>>0]|0;a[k>>0]=a[23024+((d[k>>0]|0)-(h*5>>4))>>0]|0;T=f+(l+E)|0;a[T>>0]=a[23024+((d[T>>0]|0)-(h*3>>4))>>0]|0;T=f+(l+F)|0;a[T>>0]=a[23024+((d[T>>0]|0)-(h>>4))>>0]|0}}e=e+1|0}}while(0);r=r+1|0}h=I}Mb=R;return}function Cg(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=c[d+60>>2]|0;l=c[e+60>>2]|0;if((a[k+7628>>0]|0)==0?(g=Et(d)|0,(g|0)<0):0)f=g;else h=3;a:do if((h|0)==3){d=0;while(1){if(d>>>0>=32)break;g=k+3520+(d*68|0)|0;hB(k,g,-1);h=l+3520+(d*68|0)|0;if(c[(c[h>>2]|0)+248>>2]|0?(f=mu(k,g,h)|0,(f|0)<0):0)break a;d=d+1|0}i=k+1412|0;h=l+1412|0;if((c[i>>2]|0)!=(c[h>>2]|0))c[i>>2]=0;f=0;while(1){if(f>>>0>=16)break;d=k+192+(f<<2)|0;F$(d);g=c[l+192+(f<<2)>>2]|0;if(g|0?(g=FP(g)|0,c[d>>2]=g,(g|0)==0):0){f=-12;break a}f=f+1|0}f=0;while(1){if(f>>>0>=32)break;d=k+256+(f<<2)|0;F$(d);g=c[l+256+(f<<2)>>2]|0;if(g|0?(g=FP(g)|0,c[d>>2]=g,(g|0)==0):0){f=-12;break a}f=f+1|0}f=0;while(1){if(f>>>0>=256)break;d=k+384+(f<<2)|0;F$(d);g=c[l+384+(f<<2)>>2]|0;if(g|0?(g=FP(g)|0,c[d>>2]=g,(g|0)==0):0){f=-12;break a}f=f+1|0}f=c[h>>2]|0;if((c[i>>2]|0)!=(f|0)?(j=Bm(k,f,c[e+144>>2]|0)|0,(j|0)<0):0){f=j;break}f=b[l+7596>>1]|0;d=k+7596|0;b[d>>1]=f;b[k+7598>>1]=b[l+7598>>1]|0;c[k+5700>>2]=c[l+5700>>2];g=k+5716|0;c[g>>2]=c[l+5716>>2];j=l+5708|0;c[k+5708>>2]=c[j>>2];c[k+5732>>2]=c[l+5732>>2];c[k+7632>>2]=c[l+7632>>2];c[k+7640>>2]=c[l+7640>>2];a[k+141>>0]=a[l+141>>0]|0;a[k+140>>0]=a[l+140>>0]|0;if(c[j>>2]|0){b[d>>1]=f+1&255;c[g>>2]=2147483647}e=k+7704|0;f=l+7704|0;c[e>>2]=c[f>>2];c[e+4>>2]=c[f+4>>2];c[e+8>>2]=c[f+8>>2];c[e+12>>2]=c[f+12>>2];e=k+7720|0;f=l+7720|0;c[e>>2]=c[f>>2];c[e+4>>2]=c[f+4>>2];c[e+8>>2]=c[f+8>>2];c[e+12>>2]=c[f+12>>2];e=k+7748|0;f=l+7748|0;c[e>>2]=c[f>>2];c[e+4>>2]=c[f+4>>2];c[e+8>>2]=c[f+8>>2];c[e+12>>2]=c[f+12>>2];c[e+16>>2]=c[f+16>>2];c[e+20>>2]=c[f+20>>2];c[e+24>>2]=c[f+24>>2];e=l+7776|0;f=c[e+4>>2]|0;j=k+7776|0;c[j>>2]=c[e>>2];c[j+4>>2]=f;j=l+7788|0;l=c[j+4>>2]|0;f=k+7788|0;c[f>>2]=c[j>>2];c[f+4>>2]=l;f=0}while(0);return f|0}function Dg(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;u=Mb;Mb=Mb+16|0;b=u;h=c[a+4>>2]|0;t=a+25636|0;r=c[t>>2]|0;s=a+25628|0;j=c[s>>2]|0;d=j+21812|0;c[d>>2]=2147483647;if(!((r|0)<1|(c[h+704>>2]|0)!=0)?(c[(c[h+12>>2]|0)+16>>2]&128|0)==0:0){k=r+-1|0;q=a+26992|0;i=c[q>>2]|0;if((c[j+(k*34768|0)+21792>>2]|0)>=(i|0)){c[b>>2]=208659;c[b+4>>2]=207591;c[b+8>>2]=2754;AD(0,0,222515,b);ba()}p=a+26996|0;a:do if((r|0)!=1){b=0;while(1){if((b|0)==(r|0))break;f=c[p>>2]|0;e=H(f,i)|0;c[j+(b*34768|0)+596>>2]=0;g=H(c[j+(b*34768|0)+21792>>2]|0,f)|0;g=g+(c[j+(b*34768|0)+21788>>2]|0)|0;d=0;while(1){if((d|0)==(r|0))break;o=H(c[j+(d*34768|0)+21792>>2]|0,f)|0;o=o+(c[j+(d*34768|0)+21788>>2]|0)|0;o=(b|0)==(d|0)|(o|0)<(g|0)?e:(e|0)>(o|0)?o:e;d=d+1|0;e=o}c[j+(b*34768|0)+21812>>2]=e;b=b+1|0}$b[c[h+816>>2]&15](h,11,j,0,r,34768)|0;e=c[s>>2]|0;c[a+26988>>2]=c[e+(k*34768|0)+21792>>2];d=e+596|0;b=1;while(1){if((b|0)==(r|0))break;c[d>>2]=(c[d>>2]|0)+(c[e+(b*34768|0)+596>>2]|0);b=b+1|0}b=a+25692|0;if(!(c[b>>2]|0))b=0;else{c[b>>2]=0;g=a+26360|0;h=a+26364|0;f=0;while(1){if((f|0)==(r|0)){b=0;break a}o=c[s>>2]|0;i=o+(f*34768|0)|0;j=o+(f*34768|0)+21792|0;m=c[j>>2]|0;k=c[q>>2]|0;l=(m|0)<(k|0);k=l?m+1|0:k;l=c[(l?o+(f*34768|0)+21788|0:p)>>2]|0;m=o+(f*34768|0)+21804|0;n=k+-1|0;o=o+(f*34768|0)+21800|0;e=c[m>>2]|0;while(1){if((e|0)>=(k|0))break;c[j>>2]=e;if((e|0)>(c[m>>2]|0))b=0;else b=c[o>>2]|0;if((e|0)==(n|0))d=l;else d=c[p>>2]|0;ed(a,i,b,d);if((c[g>>2]|0)==0?(c[h>>2]|0)==3:0)b=1;else b=2;e=b+e|0}f=f+1|0}}}else{b=H(c[p>>2]|0,i)|0;c[d>>2]=b;c[a+25692>>2]=0;b=Cd(h,j)|0;c[a+26988>>2]=c[(c[s>>2]|0)+21792>>2]}while(0);c[t>>2]=0}else b=0;Mb=u;return b|0}function Eg(b,c,e,f){b=b|0;c=c|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;if(!c){e=d[b+-1>>0]|0;c=e}else{c=d[b+-1>>0]|0;e=d[b+~f>>0]|0}s=d[b+(f+-1)>>0]|0;h=s+2|0;t=(h+e+(c<<1)|0)>>>2;l=f<<1;r=d[b+(l+-1)>>0]|0;p=r+2|0;s=(p+c+(s<<1)|0)>>>2;j=f*3|0;n=d[b+(j+-1)>>0]|0;r=(h+(r<<1)+n|0)>>>2;h=f<<2;m=d[b+(h+-1)>>0]|0;p=(p+(n<<1)+m|0)>>>2;g=f*5|0;k=d[b+(g+-1)>>0]|0;n=(n+2+(m<<1)+k|0)>>>2;c=f*6|0;o=d[b+(c+-1)>>0]|0;m=(m+2+(k<<1)+o|0)>>>2;e=f*7|0;i=d[b+(e+-1)>>0]|0;k=(k+2+(o<<1)+i|0)>>>2;i=(o+2+(i*3|0)|0)>>>2;o=s+1|0;a[b>>0]=(o+t|0)>>>1;q=r+2|0;a[b+1>>0]=(q+t+(s<<1)|0)>>>2;o=(o+r|0)>>>1&255;a[b+2>>0]=o;a[b+f>>0]=o;o=p+2|0;s=(o+s+(r<<1)|0)>>>2&255;a[b+3>>0]=s;a[b+(f+1)>>0]=s;r=(r+1+p|0)>>>1&255;a[b+4>>0]=r;a[b+(f+2)>>0]=r;a[b+l>>0]=r;q=(q+(p<<1)+n|0)>>>2&255;a[b+5>>0]=q;a[b+(f+3)>>0]=q;a[b+(l|1)>>0]=q;p=(p+1+n|0)>>>1&255;a[b+6>>0]=p;a[b+(f+4)>>0]=p;a[b+(l+2)>>0]=p;a[b+j>>0]=p;o=(o+(n<<1)+m|0)>>>2&255;a[b+7>>0]=o;a[b+(f+5)>>0]=o;a[b+(l+3)>>0]=o;a[b+(j+1)>>0]=o;o=(n+1+m|0)>>>1&255;a[b+(f+6)>>0]=o;a[b+(l+4)>>0]=o;a[b+(j+2)>>0]=o;a[b+h>>0]=o;n=(n+2+(m<<1)+k|0)>>>2&255;a[b+(f+7)>>0]=n;a[b+(l+5)>>0]=n;a[b+(j+3)>>0]=n;a[b+(h|1)>>0]=n;f=(m+1+k|0)>>>1&255;a[b+(l+6)>>0]=f;a[b+(j+4)>>0]=f;a[b+(h|2)>>0]=f;a[b+g>>0]=f;f=(m+2+i+(k<<1)|0)>>>2&255;a[b+(l+7)>>0]=f;a[b+(j+5)>>0]=f;a[b+(h|3)>>0]=f;a[b+(g+1)>>0]=f;f=(k+1+i|0)>>>1&255;a[b+(j+6)>>0]=f;a[b+(h+4)>>0]=f;a[b+(g+2)>>0]=f;a[b+c>>0]=f;f=(k+2+(i*3|0)|0)>>>2&255;a[b+(j+7)>>0]=f;a[b+(h+5)>>0]=f;a[b+(g+3)>>0]=f;a[b+(c|1)>>0]=f;f=i&255;a[b+(e+7)>>0]=f;a[b+(c+7)>>0]=f;a[b+(g+7)>>0]=f;a[b+(h+7)>>0]=f;a[b+(e+6)>>0]=f;a[b+(c+6)>>0]=f;a[b+(g+6)>>0]=f;a[b+(h+6)>>0]=f;a[b+(e+5)>>0]=f;a[b+(c+5)>>0]=f;a[b+(g+5)>>0]=f;a[b+(e+4)>>0]=f;a[b+(c+4)>>0]=f;a[b+(g+4)>>0]=f;a[b+(e+3)>>0]=f;a[b+(c+3)>>0]=f;a[b+(e+2)>>0]=f;a[b+(c+2)>>0]=f;a[b+(e+1)>>0]=f;a[b+e>>0]=f;return}function Fg(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;m=8-g|0;l=8-h|0;o=H(l,m)|0;l=H(l,g)|0;m=H(m,h)|0;k=H(h,g)|0;n=d>>1;a:do if(!k){k=l+m|0;if(!k){g=0;while(1){if((g|0)>=(f|0))break a;m=((H(o,e[c>>1]|0)|0)+32|0)>>>6&65535;b[a>>1]=m;m=((H(o,e[c+2>>1]|0)|0)+32|0)>>>6&65535;b[a+2>>1]=m;m=((H(o,e[c+4>>1]|0)|0)+32|0)>>>6&65535;b[a+4>>1]=m;m=((H(o,e[c+6>>1]|0)|0)+32|0)>>>6&65535;b[a+6>>1]=m;a=a+(n<<1)|0;g=g+1|0;c=c+(n<<1)|0}}else{h=(m|0)==0?1:n;d=h+1|0;i=h+2|0;j=h+3|0;g=0;while(1){if((g|0)>=(f|0))break a;m=H(o,e[c>>1]|0)|0;m=(m+32+(H(k,e[c+(h<<1)>>1]|0)|0)|0)>>>6&65535;b[a>>1]=m;m=H(o,e[c+2>>1]|0)|0;m=(m+32+(H(k,e[c+(d<<1)>>1]|0)|0)|0)>>>6&65535;b[a+2>>1]=m;m=H(o,e[c+4>>1]|0)|0;m=(m+32+(H(k,e[c+(i<<1)>>1]|0)|0)|0)>>>6&65535;b[a+4>>1]=m;m=H(o,e[c+6>>1]|0)|0;m=(m+32+(H(k,e[c+(j<<1)>>1]|0)|0)|0)>>>6&65535;b[a+6>>1]=m;a=a+(n<<1)|0;g=g+1|0;c=c+(n<<1)|0}}}else{h=n+1|0;d=n+2|0;i=n+3|0;j=n+4|0;g=0;while(1){if((g|0)>=(f|0))break a;r=H(o,e[c>>1]|0)|0;q=c+2|0;t=H(l,e[q>>1]|0)|0;p=c+(n<<1)|0;u=H(m,e[p>>1]|0)|0;s=c+(h<<1)|0;u=(r+32+t+u+(H(k,e[s>>1]|0)|0)|0)>>>6&65535;b[a>>1]=u;q=H(o,e[q>>1]|0)|0;u=c+4|0;t=H(l,e[u>>1]|0)|0;s=H(m,e[s>>1]|0)|0;r=c+(d<<1)|0;s=(q+32+t+s+(H(k,e[r>>1]|0)|0)|0)>>>6&65535;b[a+2>>1]=s;u=H(o,e[u>>1]|0)|0;s=c+6|0;t=H(l,e[s>>1]|0)|0;r=H(m,e[r>>1]|0)|0;q=c+(i<<1)|0;r=(u+32+t+r+(H(k,e[q>>1]|0)|0)|0)>>>6&65535;b[a+4>>1]=r;s=H(o,e[s>>1]|0)|0;r=H(l,e[c+8>>1]|0)|0;q=H(m,e[q>>1]|0)|0;q=(s+32+r+q+(H(k,e[c+(j<<1)>>1]|0)|0)|0)>>>6&65535;b[a+6>>1]=q;a=a+(n<<1)|0;g=g+1|0;c=p}}while(0);return}function Gg(b,g,h){b=b|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0,u=0,w=0,x=0,y=0,z=0,A=0.0,B=0.0,C=0.0,D=0.0;u=g+8|0;w=h+4|0;x=b+310124|0;y=b+76|0;z=b+36|0;t=0;while(1){if(t>>>0>=(c[u>>2]|0)>>>0)break;if((t|0)==(c[w>>2]|0))i=1;else i=(t|0)==(c[h>>2]|0);q=i^1;r=t+1|0;s=+(q&1);i=0;while(1){if(i>>>0>=(c[x>>2]|0)>>>0)break;o=c[y>>2]|0;j=(e[b+310386+(i<<1)>>1]|0)-o|0;i=i+1|0;n=b+310386+(i<<1)|0;k=j;while(1){p=(e[n>>1]|0)-o|0;if(k>>>0>=p>>>0)break;A=+f[b+381120+(t*192|0)+(k<<2)>>2];l=+f[b+382464+(t*192|0)+(k<<2)>>2];m=l+1.0;B=A/m;C=+v(+(l*B));f[b+385488+(t*192|0)+(k<<2)>>2]=C;B=+v(+(B*+(d[g+86032+(r*48|0)+k>>0]|0)));f[b+386832+(t*192|0)+(k<<2)>>2]=B;p=(a[b+383808+(t*48|0)+k>>0]|0)==0;m=+v(+((p?A:A*l)/((p?l*s+1.0:m)*(+f[b+384144+(t*192|0)+(k<<2)>>2]+1.0))))+1.1754943508222875e-38;f[b+388176+(t*192|0)+(k<<2)>>2]=m;k=k+1|0}k=j;l=0.0;m=0.0;while(1){if(k>>>0>=p>>>0)break;B=l+ +f[b+381120+(t*192|0)+(k<<2)>>2];C=m+ +f[b+384144+(t*192|0)+(k<<2)>>2];k=k+1|0;l=B;m=C}l=+v(+((l+1.1920928955078125e-07)/(m+1.1920928955078125e-07)))*+f[53264+(c[z>>2]<<2)>>2];l=l<1.0e5?l:1.0e5;k=j;while(1){if(k>>>0>=p>>>0)break;n=b+385488+(t*192|0)+(k<<2)|0;B=+f[n>>2];o=b+388176+(t*192|0)+(k<<2)|0;C=+f[o>>2];A=l*B/C;f[n>>2]=B>A?A:B;f[o>>2]=C>l?l:C;k=k+1|0}k=j;l=0.0;m=0.0;while(1){if(k>>>0>=p>>>0)break;B=l+ +f[b+381120+(t*192|0)+(k<<2)>>2];D=+f[b+388176+(t*192|0)+(k<<2)>>2];C=+f[b+386832+(t*192|0)+(k<<2)>>2];A=+f[b+385488+(t*192|0)+(k<<2)>>2];C=m+(D*(+f[b+384144+(t*192|0)+(k<<2)>>2]*D)+C*C+A*(A*+(C==0.0&q&1)));k=k+1|0;l=B;m=C}l=+v(+((l+1.1920928955078125e-07)/(m+1.1920928955078125e-07)));l=l<1.5848932266235352?l:1.5848932266235352;while(1){if(j>>>0>=p>>>0)break;o=b+388176+(t*192|0)+(j<<2)|0;f[o>>2]=l*+f[o>>2];o=b+385488+(t*192|0)+(j<<2)|0;f[o>>2]=l*+f[o>>2];o=b+386832+(t*192|0)+(j<<2)|0;f[o>>2]=l*+f[o>>2];j=j+1|0}}t=r}return}function Hg(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=d>>1;k=(j<<6|1)<<g;g=g+1|0;d=a;j=0;while(1){if((j|0)>=(f|0))break;m=H(e[c>>1]|0,i)|0;m=m+k+(H(e[d>>1]|0,h)|0)>>g;b[d>>1]=m>>>0<16384?m:0-m>>31&16383;m=H(e[c+2>>1]|0,i)|0;a=d+2|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<16384?m:0-m>>31&16383;a=H(e[c+4>>1]|0,i)|0;m=d+4|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<16384?a:0-a>>31&16383;m=H(e[c+6>>1]|0,i)|0;a=d+6|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<16384?m:0-m>>31&16383;a=H(e[c+8>>1]|0,i)|0;m=d+8|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<16384?a:0-a>>31&16383;m=H(e[c+10>>1]|0,i)|0;a=d+10|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<16384?m:0-m>>31&16383;a=H(e[c+12>>1]|0,i)|0;m=d+12|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<16384?a:0-a>>31&16383;m=H(e[c+14>>1]|0,i)|0;a=d+14|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<16384?m:0-m>>31&16383;a=H(e[c+16>>1]|0,i)|0;m=d+16|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<16384?a:0-a>>31&16383;m=H(e[c+18>>1]|0,i)|0;a=d+18|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<16384?m:0-m>>31&16383;a=H(e[c+20>>1]|0,i)|0;m=d+20|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<16384?a:0-a>>31&16383;m=H(e[c+22>>1]|0,i)|0;a=d+22|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<16384?m:0-m>>31&16383;a=H(e[c+24>>1]|0,i)|0;m=d+24|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<16384?a:0-a>>31&16383;m=H(e[c+26>>1]|0,i)|0;a=d+26|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<16384?m:0-m>>31&16383;a=H(e[c+28>>1]|0,i)|0;m=d+28|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<16384?a:0-a>>31&16383;m=H(e[c+30>>1]|0,i)|0;a=d+30|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<16384?m:0-m>>31&16383;c=c+(l<<1)|0;d=d+(l<<1)|0;j=j+1|0}return}function Ig(e,f,g,h,i,j){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;t=c[f+16>>2]|0;s=c[1056704+(h<<4)+4>>2]|0;a:do if(!j){o=e+8|0;p=e+16|0;m=0;n=0;while(1){if((n|0)>=(t|0))break a;h=c[o>>2]|0;q=c[p>>2]|0;l=c[e>>2]|0;r=l+(h>>>3)|0;r=(W_(d[r>>0]|d[r+1>>0]<<8|d[r+2>>0]<<16|d[r+3>>0]<<24|0)|0)<<(h&7)>>>23;f=b[s+(r<<2)>>1]|0;r=b[s+(r<<2)+2>>1]|0;k=r<<16>>16;if(r<<16>>16<0){h=h+9|0;h=q>>>0>h>>>0?h:q;r=l+(h>>>3)|0;r=((W_(d[r>>0]|d[r+1>>0]<<8|d[r+2>>0]<<16|d[r+3>>0]<<24|0)|0)<<(h&7)>>>(k+32|0))+f|0;f=b[s+(r<<2)>>1]|0;r=b[s+(r<<2)+2>>1]|0;j=r<<16>>16;if(r<<16>>16<0){h=h-k|0;h=q>>>0>h>>>0?h:q;r=l+(h>>>3)|0;f=((W_(d[r>>0]|d[r+1>>0]<<8|d[r+2>>0]<<16|d[r+3>>0]<<24|0)|0)<<(h&7)>>>(j+32|0))+f|0;j=b[s+(f<<2)+2>>1]|0;f=b[s+(f<<2)>>1]|0}}else j=k;r=j+h|0;c[o>>2]=q>>>0>r>>>0?r:q;r=f+m&7;a[g+(i*34|0)+n>>0]=r;m=r;n=n+1|0}}else{if(!i)h=c[f+40>>2]|0;else h=i;n=h+-1|0;n=(n|0)>0?n:0;o=e+8|0;p=e+16|0;m=0;while(1){if((m|0)>=(t|0))break a;q=d[g+(n*34|0)+m>>0]|0;h=c[o>>2]|0;r=c[p>>2]|0;k=c[e>>2]|0;j=k+(h>>>3)|0;j=(W_(d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24|0)|0)<<(h&7)>>>23;f=b[s+(j<<2)>>1]|0;j=b[s+(j<<2)+2>>1]|0;l=j<<16>>16;if(j<<16>>16<0){h=h+9|0;h=r>>>0>h>>>0?h:r;u=k+(h>>>3)|0;u=((W_(d[u>>0]|d[u+1>>0]<<8|d[u+2>>0]<<16|d[u+3>>0]<<24|0)|0)<<(h&7)>>>(l+32|0))+f|0;f=b[s+(u<<2)>>1]|0;u=b[s+(u<<2)+2>>1]|0;j=u<<16>>16;if(u<<16>>16<0){h=h-l|0;h=r>>>0>h>>>0?h:r;u=k+(h>>>3)|0;f=((W_(d[u>>0]|d[u+1>>0]<<8|d[u+2>>0]<<16|d[u+3>>0]<<24|0)|0)<<(h&7)>>>(j+32|0))+f|0;j=b[s+(f<<2)+2>>1]|0;f=b[s+(f<<2)>>1]|0}}else j=l;u=j+h|0;c[o>>2]=r>>>0>u>>>0?u:r;a[g+(i*34|0)+m>>0]=f+q&7;m=m+1|0}}while(0);return}function Jg(e,f,g,h,i,j){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,I=0,J=0,K=0,L=0,M=0,N=0,O=0;M=Mb;Mb=Mb+16|0;K=M+4|0;F=M;oB(e,K,F);L=c[K>>2]>>j;c[K>>2]=L;K=H(c[F>>2]|0,L)|0;c[F>>2]=K;F=g+-1|0;G=e+580|0;I=e+564|0;J=e+696|0;z=e+680|0;y=0;while(1){if((y|0)>=(h|0))break;A=y>>>j;B=H(y,i)|0;C=H(y,K)|0;g=0;while(1){if((g|0)>=(F|0))break;u=c[G>>2]|0;n=H(c[I>>2]|0,A)|0;m=n+(g>>>j)|0;v=a[u+m>>0]|0;D=g+1|0;n=n+(D>>>j)|0;u=a[u+n>>0]|0;o=c[J>>2]|0;E=g+B<<3;p=c[z>>2]|0;g=(H(g,L)|0)+C|0;e=p+(g<<2)|0;k=(H(D,L)|0)+C|0;l=p+(k<<2)|0;w=(v&14)!=0;x=(u&14)!=0;a:do if((u|v)&14){if(((c[o+(m<<2)>>2]|c[o+(n<<2)>>2])&7|0)==0?(v=(b[e>>1]|0)-(b[l>>1]|0)|0,u=(b[p+(k<<2)+2>>1]|0)+(b[p+(g<<2)+2>>1]|0)|0,(((u|0)>-1?u:0-u|0)+((v|0)>-1?v:0-v|0)|0)<2):0)break;k=E|7;l=E|6;v=w&x;m=E|5;n=E|4;e=0;while(1){if((e|0)==8)break a;o=H(e,i)|0;p=f+(o+k)|0;q=d[p>>0]|0;r=f+(o+l)|0;O=q-(d[r>>0]|0)|0;s=o+E|0;t=f+(s+8)|0;g=d[t>>0]|0;N=g-q|0;u=f+(s+9)|0;g=(d[u>>0]|0)-g|0;g=((N|0)>-1?N:0-N|0)-(((O|0)>-1?O:0-O|0)+1+((g|0)>-1?g:0-g|0)>>1)|0;g=(g|0)>0?g:0;g=(N|0)<0?0-g|0:g;if(g|0){g=v?g:(g<<4|0)/9|0;if(w){a[p>>0]=a[23024+((g*7>>4)+q)>>0]|0;a[r>>0]=a[23024+((g*5>>4)+(d[r>>0]|0))>>0]|0;O=f+(o+m)|0;a[O>>0]=a[23024+((g*3>>4)+(d[O>>0]|0))>>0]|0;O=f+(o+n)|0;a[O>>0]=a[23024+((g>>4)+(d[O>>0]|0))>>0]|0}if(x){a[t>>0]=a[23024+((d[t>>0]|0)-(g*7>>4))>>0]|0;a[u>>0]=a[23024+((d[u>>0]|0)-(g*5>>4))>>0]|0;O=f+(s+10)|0;a[O>>0]=a[23024+((d[O>>0]|0)-(g*3>>4))>>0]|0;O=f+(s+11)|0;a[O>>0]=a[23024+((d[O>>0]|0)-(g>>4))>>0]|0}}e=e+1|0}}while(0);g=D}y=y+1|0}Mb=M;return}function Kg(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=d>>1;k=(j<<4|1)<<g;g=g+1|0;d=a;j=0;while(1){if((j|0)>=(f|0))break;m=H(e[c>>1]|0,i)|0;m=m+k+(H(e[d>>1]|0,h)|0)>>g;b[d>>1]=m>>>0<4096?m:0-m>>31&4095;m=H(e[c+2>>1]|0,i)|0;a=d+2|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<4096?m:0-m>>31&4095;a=H(e[c+4>>1]|0,i)|0;m=d+4|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<4096?a:0-a>>31&4095;m=H(e[c+6>>1]|0,i)|0;a=d+6|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<4096?m:0-m>>31&4095;a=H(e[c+8>>1]|0,i)|0;m=d+8|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<4096?a:0-a>>31&4095;m=H(e[c+10>>1]|0,i)|0;a=d+10|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<4096?m:0-m>>31&4095;a=H(e[c+12>>1]|0,i)|0;m=d+12|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<4096?a:0-a>>31&4095;m=H(e[c+14>>1]|0,i)|0;a=d+14|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<4096?m:0-m>>31&4095;a=H(e[c+16>>1]|0,i)|0;m=d+16|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<4096?a:0-a>>31&4095;m=H(e[c+18>>1]|0,i)|0;a=d+18|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<4096?m:0-m>>31&4095;a=H(e[c+20>>1]|0,i)|0;m=d+20|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<4096?a:0-a>>31&4095;m=H(e[c+22>>1]|0,i)|0;a=d+22|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<4096?m:0-m>>31&4095;a=H(e[c+24>>1]|0,i)|0;m=d+24|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<4096?a:0-a>>31&4095;m=H(e[c+26>>1]|0,i)|0;a=d+26|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<4096?m:0-m>>31&4095;a=H(e[c+28>>1]|0,i)|0;m=d+28|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<4096?a:0-a>>31&4095;m=H(e[c+30>>1]|0,i)|0;a=d+30|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<4096?m:0-m>>31&4095;c=c+(l<<1)|0;d=d+(l<<1)|0;j=j+1|0}return}function Lg(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=d>>1;k=(j<<2|1)<<g;g=g+1|0;d=a;j=0;while(1){if((j|0)>=(f|0))break;m=H(e[c>>1]|0,i)|0;m=m+k+(H(e[d>>1]|0,h)|0)>>g;b[d>>1]=m>>>0<1024?m:0-m>>31&1023;m=H(e[c+2>>1]|0,i)|0;a=d+2|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<1024?m:0-m>>31&1023;a=H(e[c+4>>1]|0,i)|0;m=d+4|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<1024?a:0-a>>31&1023;m=H(e[c+6>>1]|0,i)|0;a=d+6|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<1024?m:0-m>>31&1023;a=H(e[c+8>>1]|0,i)|0;m=d+8|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<1024?a:0-a>>31&1023;m=H(e[c+10>>1]|0,i)|0;a=d+10|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<1024?m:0-m>>31&1023;a=H(e[c+12>>1]|0,i)|0;m=d+12|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<1024?a:0-a>>31&1023;m=H(e[c+14>>1]|0,i)|0;a=d+14|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<1024?m:0-m>>31&1023;a=H(e[c+16>>1]|0,i)|0;m=d+16|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<1024?a:0-a>>31&1023;m=H(e[c+18>>1]|0,i)|0;a=d+18|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<1024?m:0-m>>31&1023;a=H(e[c+20>>1]|0,i)|0;m=d+20|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<1024?a:0-a>>31&1023;m=H(e[c+22>>1]|0,i)|0;a=d+22|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<1024?m:0-m>>31&1023;a=H(e[c+24>>1]|0,i)|0;m=d+24|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<1024?a:0-a>>31&1023;m=H(e[c+26>>1]|0,i)|0;a=d+26|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<1024?m:0-m>>31&1023;a=H(e[c+28>>1]|0,i)|0;m=d+28|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<1024?a:0-a>>31&1023;m=H(e[c+30>>1]|0,i)|0;a=d+30|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<1024?m:0-m>>31&1023;c=c+(l<<1)|0;d=d+(l<<1)|0;j=j+1|0}return}function Mg(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=d>>1;k=(j<<1|1)<<g;g=g+1|0;d=a;j=0;while(1){if((j|0)>=(f|0))break;m=H(e[c>>1]|0,i)|0;m=m+k+(H(e[d>>1]|0,h)|0)>>g;b[d>>1]=m>>>0<512?m:0-m>>31&511;m=H(e[c+2>>1]|0,i)|0;a=d+2|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<512?m:0-m>>31&511;a=H(e[c+4>>1]|0,i)|0;m=d+4|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<512?a:0-a>>31&511;m=H(e[c+6>>1]|0,i)|0;a=d+6|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<512?m:0-m>>31&511;a=H(e[c+8>>1]|0,i)|0;m=d+8|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<512?a:0-a>>31&511;m=H(e[c+10>>1]|0,i)|0;a=d+10|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<512?m:0-m>>31&511;a=H(e[c+12>>1]|0,i)|0;m=d+12|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<512?a:0-a>>31&511;m=H(e[c+14>>1]|0,i)|0;a=d+14|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<512?m:0-m>>31&511;a=H(e[c+16>>1]|0,i)|0;m=d+16|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<512?a:0-a>>31&511;m=H(e[c+18>>1]|0,i)|0;a=d+18|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<512?m:0-m>>31&511;a=H(e[c+20>>1]|0,i)|0;m=d+20|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<512?a:0-a>>31&511;m=H(e[c+22>>1]|0,i)|0;a=d+22|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<512?m:0-m>>31&511;a=H(e[c+24>>1]|0,i)|0;m=d+24|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<512?a:0-a>>31&511;m=H(e[c+26>>1]|0,i)|0;a=d+26|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<512?m:0-m>>31&511;a=H(e[c+28>>1]|0,i)|0;m=d+28|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<512?a:0-a>>31&511;m=H(e[c+30>>1]|0,i)|0;a=d+30|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<512?m:0-m>>31&511;c=c+(l<<1)|0;d=d+(l<<1)|0;j=j+1|0}return}function Ng(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;a:do if(f>>>0>=23?(u=a[e>>0]|0,a[g>>0]=u,u<<24>>24==1):0){u=e+1|0;a[g+1>>0]=(d[u>>0]|0)>>>6;a[g+2>>0]=(d[u>>0]|0)>>>5&1;a[g+3>>0]=a[u>>0]&31;c[g+4>>2]=(d[e+3>>0]|0)<<16|(d[e+2>>0]|0)<<24|(d[e+4>>0]|0)<<8|(d[e+5>>0]|0);u=(d[e+7>>0]|0)<<16|(d[e+6>>0]|0)<<24|(d[e+8>>0]|0)<<8|(d[e+9>>0]|0);s=g+8|0;h=s;c[h>>2]=u;c[h+4>>2]=0;u=_U(u|0,0,16)|0;h=M()|0;r=_U(d[e+10>>0]|0|0,0,8)|0;t=M()|0;c[s>>2]=r|(d[e+11>>0]|0)|u;c[s+4>>2]=t|h;a[g+16>>0]=a[e+12>>0]|0;b[g+18>>1]=(a[e+13>>0]&15)<<8|(d[e+14>>0]|0);a[g+20>>0]=a[e+15>>0]&3;a[g+21>>0]=a[e+16>>0]&3;a[g+22>>0]=a[e+17>>0]&7;a[g+23>>0]=a[e+18>>0]&7;b[g+24>>1]=(d[e+19>>0]|0)<<8|(d[e+20>>0]|0);s=e+21|0;a[g+26>>0]=(d[s>>0]|0)>>>6;a[g+27>>0]=(d[s>>0]|0)>>>3&7;a[g+28>>0]=(d[s>>0]|0)>>>2&1;a[g+29>>0]=a[s>>0]&3;s=a[e+22>>0]|0;h=e+23|0;t=g+30|0;a[t>>0]=0;u=s&255;if(s<<24>>24){r=e+f|0;s=g+4641|0;q=0;k=g+545|0;f=0;while(1){j=h+3|0;if(j>>>0>r>>>0){h=-1;break a}i=a[h>>0]|0;o=(d[h+1>>0]|0)<<8|(d[h+2>>0]|0);if(!o){i=k;h=j}else{p=(i&255)>>>7;n=i&63;m=0;h=j;while(1){j=f&255;if((f&255)>63){h=-1;break a}f=h+2|0;if(f>>>0>r>>>0){h=-1;break a}l=(d[h>>0]|0)<<8|(d[h+1>>0]|0);if((f+l|0)>>>0>r>>>0){h=-1;break a}i=k+l|0;if(i>>>0>s>>>0){h=-1;break a}a[g+32+(j<<3)>>0]=p;a[g+32+(j<<3)+1>>0]=n;b[g+32+(j<<3)+2>>1]=l;c[g+32+(j<<3)+4>>2]=k;Mn(k|0,f|0,l|0)|0;f=(a[t>>0]|0)+1<<24>>24;a[t>>0]=f;h=h+(l+2)|0;m=m+1<<16>>16;if(o>>>0<=(m&65535)>>>0)break;else k=i}}q=q+1<<16>>16;if((q&65535)>>>0>=u>>>0)break;else k=i}}h=h-e|0}else h=-1;while(0);return h|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,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=Mb;Mb=Mb+48|0;o=s+32|0;h=s+24|0;g=s+16|0;f=s;n=c[a+64>>2]|0;q=n+92|0;if(c[q>>2]|0){c[f>>2]=171602;c[f+4>>2]=171026;c[f+8>>2]=754;AD(0,0,222515,f);ba()}if((e|0)!=0&(c[n+80>>2]|0)!=0?c[e+28>>2]|0:0){AD(a,24,171636,g);Rv(a)}c[d>>2]=0;c[n+84>>2]=1;r=n+96|0;f=c[r>>2]|0;a:do if(!f){f=zo(a,e)|0;if((f|0)<-11)switch(f|0){case -541478725:{p=11;break a}default:{}}else switch(f|0){case -11:{f=-558323010;p=25;break a}default:{}}if((f|0)<0)p=25;else p=11}else if((f|0)==(c[e+28>>2]|0))p=11;else{AD(a,16,171669,h);f=-22;p=25}while(0);b:do if((p|0)==11){i=n+100|0;j=n+88|0;k=n+64|0;l=a+476|0;m=a+12|0;e=e+28|0;g=b;while(1){f=Ix(a,g)|0;if((f|0)<0){p=13;break}h=c[i>>2]|0;if((g|0)==(h|0)){if(!(c[j>>2]|0)){AD(a,24,171720,o);h=j;p=20}}else if(!(c[l>>2]|0)){f=Fl(n,g)|0;if((f|0)<0){p=25;break b}g=c[i>>2]|0;h=d;p=20}else{g=h;h=d;p=20}if((p|0)==20){p=0;c[h>>2]=1}if(c[k>>2]|0){p=26;break}if((c[(c[m>>2]|0)+116>>2]|0)==0?(c[q>>2]|0)>>>0<(c[e>>2]|0)>>>0:0){p=26;break}}c:do if((p|0)==13)if((f|0)<-11)switch(f|0){case -541478725:{p=28;break c}default:{p=25;break b}}else switch(f|0){case -11:{p=28;break c}default:{p=25;break b}}else if((p|0)==26)if(!f)p=28;else{c[q>>2]=0;h=f;g=c[e>>2]|0}while(0);if((p|0)==28){if(!(c[(c[m>>2]|0)+116>>2]|0)){f=c[q>>2]|0;g=c[e>>2]|0;f=f>>>0>g>>>0?g:f}else{g=c[e>>2]|0;f=g}c[q>>2]=0;if((f|0)>-1)h=f;else{g=0;break}}f=h;g=g-h|0}while(0);if((p|0)==25){c[q>>2]=0;g=0}c[r>>2]=g;Mb=s;return f|0}function Pg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var g=0,h=0,i=0.0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0.0,r=0;if(!e){e=0;while(1){if((e|0)==32)break;f[b+(e<<8)>>2]=+f[d+(e<<3)>>2]+ +f[d+256+(e<<3)>>2]+ +f[d+512+(e<<3)>>2]+ +f[d+768+(e<<3)>>2]+ +f[d+1024+(e<<3)>>2]+ +f[d+1280+(e<<3)>>2];f[b+9728+(e<<8)>>2]=+f[d+(e<<3)+4>>2]+ +f[d+256+(e<<3)+4>>2]+ +f[d+512+(e<<3)+4>>2]+ +f[d+768+(e<<3)+4>>2]+ +f[d+1024+(e<<3)+4>>2]+ +f[d+1280+(e<<3)+4>>2];f[b+(e<<8)+4>>2]=+f[d+1536+(e<<3)>>2]+ +f[d+1792+(e<<3)>>2];f[b+9728+(e<<8)+4>>2]=+f[d+1536+(e<<3)+4>>2]+ +f[d+1792+(e<<3)+4>>2];f[b+(e<<8)+8>>2]=+f[d+2048+(e<<3)>>2]+ +f[d+2304+(e<<3)>>2];f[b+9728+(e<<8)+8>>2]=+f[d+2048+(e<<3)+4>>2]+ +f[d+2304+(e<<3)+4>>2];e=e+1|0}hc[c[a+16>>2]&255](b,d+1792|0,3,32)}else{o=0;while(1){if((o|0)==32)break;g=b+(o<<8)|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;h=b+9728+(o<<8)|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;e=0;i=0.0;j=0.0;while(1){if((e|0)==12)break;q=+f[d+(e<<8)+(o<<3)>>2]+i;f[g>>2]=q;p=+f[d+(e<<8)+(o<<3)+4>>2]+j;f[h>>2]=p;e=e+1|0;i=q;j=p}g=b+(o<<8)+4|0;h=b+9728+(o<<8)+4|0;e=0;while(1){if((e|0)==8)break;n=e+12|0;f[g>>2]=+f[d+(n<<8)+(o<<3)>>2]+ +f[g>>2];f[h>>2]=+f[d+(n<<8)+(o<<3)+4>>2]+ +f[h>>2];e=e+1|0}g=b+(o<<8)+8|0;h=b+9728+(o<<8)+8|0;k=b+(o<<8)+12|0;l=b+9728+(o<<8)+12|0;m=b+(o<<8)+16|0;n=b+9728+(o<<8)+16|0;e=0;while(1){if((e|0)==4)break;r=e+20|0;f[g>>2]=+f[d+(r<<8)+(o<<3)>>2]+ +f[g>>2];f[h>>2]=+f[d+(r<<8)+(o<<3)+4>>2]+ +f[h>>2];r=e+24|0;f[k>>2]=+f[d+(r<<8)+(o<<3)>>2]+ +f[k>>2];f[l>>2]=+f[d+(r<<8)+(o<<3)+4>>2]+ +f[l>>2];r=e+28|0;f[m>>2]=+f[d+(r<<8)+(o<<3)>>2]+ +f[m>>2];f[n>>2]=+f[d+(r<<8)+(o<<3)+4>>2]+ +f[n>>2];e=e+1|0}o=o+1|0}hc[c[a+16>>2]&255](b,d+6912|0,5,32)}return}function Qg(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,C=0,D=0,E=0,F=0;F=Mb;Mb=Mb+16|0;E=F;jv(h+86080|0,0,336)|0;y=h+8|0;z=g+310276|0;A=g+310226|0;B=g+76|0;D=h+20|0;u=h+87942|0;v=g+310120|0;w=g+310116|0;x=h+4|0;t=i+4|0;s=0;while(1){i=c[y>>2]|0;if(s>>>0>=i>>>0){j=35;break}p=s+1|0;r=a[h+12+p>>0]|0;q=c[g+310112+((r&255)<<2)>>2]|0;r=r<<24>>24==0?A:z;o=c[B>>2]|0;i=b[r>>1]|0;if((o|0)!=(i&65535|0)){j=6;break}j=0;while(1){if((j|0)==(q|0))break;k=j+1|0;l=b[r+(k<<1)>>1]|0;m=l&65535;j=h+86704+(p*192|0)+(j<<2)|0;i=i&65535;while(1){if(i>>>0>=m>>>0)break;c[g+381120+(s*192|0)+(i-o<<2)>>2]=c[j>>2];i=i+1|0}j=k;i=l}if((c[D>>2]|0)>>>0>1)n=(d[h+87932+s>>0]|0)<(d[u>>0]|0)?1:2;else n=1;j=c[v>>2]|0;i=0;while(1){if((i|0)==(j|0))break;k=i+1|0;l=e[g+310374+(k<<1)>>1]|0;m=h+87872+(n*20|0)+(i<<2)|0;i=e[g+310374+(i<<1)>>1]|0;while(1){if(i>>>0>=l>>>0)break;c[g+382464+(s*192|0)+(i-o<<2)>>2]=c[m>>2];i=i+1|0}i=k}i=0;while(1){if(i>>>0>=(c[w>>2]|0)>>>0)break;if(!(c[x>>2]|0))i=i+1|0;else{k=i+1|0;j=((e[g+310276+(k<<1)>>1]|0)+(e[g+310276+(i<<1)>>1]|0)|0)>>>1;i=a[h+41+i>>0]|0;if((s|0)<(c[t>>2]|0)?(C=j-(c[B>>2]|0)|0,(a[h+86032+C>>0]|0)!=1):0){j=C;i=0}else j=j-(c[B>>2]|0)|0;a[h+86032+(p*48|0)+j>>0]=i;i=k}}i=0;while(1){if((i|0)==(q|0))break;m=e[r+(i<<1)>>1]|0;i=i+1|0;k=e[r+(i<<1)>>1]|0;l=c[B>>2]|0;j=m;while(1){if(j>>>0>=k>>>0){j=0;break}if(!(a[j-l+(h+86032+(p*48|0))>>0]|0))j=j+1|0;else{j=1;break}}jv(m-l+(g+383808+(s*48|0))|0,j|0,k-m|0)|0}s=p}if((j|0)==6){AD(c[f+4>>2]|0,16,199846,E);tS(g);i=-558323010}else if((j|0)==35){k=h+86032|0;i=h+86032+(i*48|0)|0;j=k+48|0;do{c[k>>2]=c[i>>2];k=k+4|0;i=i+4|0}while((k|0)<(j|0));i=0}Mb=F;return i|0}function Rg(a,d){a=a|0;d=d|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;u=Mb;Mb=Mb+208|0;s=u;t=u+192|0;f=c[(c[a+24364>>2]|0)+(c[d+21796>>2]<<2)>>2]|0;r=t;c[r>>2]=0;c[r+4>>2]=0;jv(s|0,-1,192)|0;a:do if(!(f&8)){if(f&16|0){jp(a,d,s,0,8,0,f&4096,f&16384,t);jp(a,d,s,8,8,8,f&8192,f&32768,t);break}if(f&32|0){jp(a,d,s,0,16,0,f&4096,f&16384,t);jp(a,d,s,4,16,0,f&8192,f&32768,t);break}g=0;while(1){if((g|0)==4)break a;f=e[d+28552+(g<<1)>>1]|0;h=g<<2;i=h&8;b:do if(!(f&8)){if(f&16|0){q=f&4096;r=f&16384;jp(a,d,s,h,4,i,q,r,t);jp(a,d,s,h|2,4,i|4,q,r,t);break}j=f&4096;k=f&16384;if(f&32|0){jp(a,d,s,h,8,i,j,k,t);jp(a,d,s,h|1,8,i,j,k,t);break}f=0;while(1){if((f|0)==4)break b;jp(a,d,s,f+h|0,4,f<<1&4|i,j,k,t);f=f+1|0}}else jp(a,d,s,h,8,i,f&4096,f&16384,t);while(0);g=g+1|0}}else jp(a,d,s,0,16,0,f&4096,f&16384,t);while(0);q=a+26992|0;r=d+21832|0;p=a+26364|0;f=c[d+23412>>2]|0;while(1){f=f+-1|0;if((f|0)<=-1)break;n=t+(f<<2)|0;m=0;while(1){if(m>>>0>=48)break;h=c[n>>2]|0;if(!h)break;g=b[s+(f*96|0)+(m<<1)>>1]|0;do if(g<<16>>16>-1){o=(c[d+23416+(f*1920|0)+(m*40|0)+24>>2]|0)+-1|0;i=d+23416+(f*1920|0)+(m*40|0)+36|0;j=c[i>>2]|0;v=c[j+636>>2]|0;l=c[q>>2]<<4>>v;k=g<<16>>16<<c[r>>2];c[n>>2]=h+-1;a=(c[p>>2]|0)==3;g=(v|0)!=0;if(g&a){v=k>>1;a=v-(k&1^1)|0;o=l+-1|0;Yw(j+4|0,(a|0)<(l|0)?a:o,1);Yw((c[i>>2]|0)+4|0,(v|0)>(o|0)?o:v,0);break}h=j+4|0;if(!(g|a)){v=(k<<1)+o|0;Yw(h,(v|0)<(l|0)?v:l+-1|0,0);break}g=l+-1|0;g=(k|0)>(g|0)?g:k;if(a){Yw(h,g,0);break}else{Yw(h,g,o);break}}while(0);m=m+1|0}}Mb=u;return}function Sg(e,f,g,h,i,j,k,l,m,n){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;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0;E=c[e+136>>2]|0;K=n+1|0;p=c[g+(K<<2)>>2]|0;t=c[h+(K<<2)>>2]|0;g=c[g+32+(K<<2)>>2]|0;o=c[h+32+(K<<2)>>2]|0;switch(c[e+2420>>2]|0){case 1:{G=(a[(c[e+1416>>2]|0)+37>>0]|0)!=0;break}case 0:{G=(a[(c[e+1416>>2]|0)+38>>0]|0)!=0;break}default:G=0}v=e+1412|0;L=c[v>>2]|0;I=c[L+13428>>2]|0;w=c[L+13376>>2]>>I;J=c[L+13440>>2]|0;x=c[L+13380>>2]>>J;q=b[m>>1]|0;u=I+2|0;F=(1<<u)+-1|0;y=F&q;r=b[m+2>>1]|0;s=J+2|0;A=(1<<s)+-1|0;z=A&r;h=b[m+4>>1]|0;F=F&h;D=b[m+6>>1]|0;A=A&D;I=1-I|0;B=y<<I;J=1-J|0;C=z<<J;I=F<<I;J=A<<J;q=(q>>u)+i|0;r=(r>>s)+j|0;u=(h>>u)+i|0;s=(D>>s)+j|0;D=d[20400+k>>0]|0;h=H(r,g)|0;i=c[L+52>>2]|0;h=p+((q<<i)+h)|0;j=t+((H(s,o)|0)+(u<<i))|0;if(!((!((q|0)<1|(r|0)<2)?(q|0)<(-2-k+w|0):0)?(r|0)<(-2-l+x|0):0)){L=80<<i;t=1<<i;pc[c[e+7532>>2]&3](E+320|0,h+(0-(g+t))|0,L,g,k+3|0,l+3|0,q+-1|0,r+-1|0,w,x);h=L+t+(E+320)|0;g=L}if(!((!((u|0)<1|(s|0)<2)?(u|0)<(-2-k+w|0):0)?(s|0)<(-2-l+x|0):0)){v=c[(c[v>>2]|0)+52>>2]|0;L=80<<v;v=1<<v;pc[c[e+7532>>2]&3](E+11680|0,j+(0-(o+v))|0,L,o,k+3|0,l+3|0,u+-1|0,s+-1|0,w,x);j=L+v+(E+11680)|0;o=L}i=E+23040|0;mc[c[e+6700+(D<<4)+(((z|0)!=0&1)<<3)+(((y|0)!=0&1)<<2)>>2]&63](i,h,g,l,B,C,k);h=(A|0)!=0&1;g=(F|0)!=0&1;if(G){G=a[m+8>>0]|0;L=a[m+9>>0]|0;sc[c[e+7340+(D<<4)+(h<<3)+(g<<2)>>2]&31](f,c[(c[e+160>>2]|0)+32+(K<<2)>>2]|0,j,o,i,l,b[e+3110>>1]|0,b[e+3144+(G<<2)+(n<<1)>>1]|0,b[e+3208+(L<<2)+(n<<1)>>1]|0,b[e+3336+(G<<2)+(n<<1)>>1]|0,b[e+3432+(L<<2)+(n<<1)>>1]|0,I,J,k)}else oc[c[e+7180+(D<<4)+(h<<3)+(g<<2)>>2]&31](f,c[(c[e+160>>2]|0)+32+(K<<2)>>2]|0,j,o,i,l,I,J,k);return}function Tg(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,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;i=Mb;Mb=Mb+256|0;h=i;a=0;while(1){if((a|0)==8)break;s=H(a,f)|0;p=(d[e+s>>0]|0)-(d[b+s>>0]|0)|0;q=s+1|0;k=d[e+q>>0]|0;q=d[b+q>>0]|0;o=k-q+p|0;g=a<<3;p=q-k+p|0;k=s+2|0;k=(d[e+k>>0]|0)-(d[b+k>>0]|0)|0;q=s+3|0;r=d[e+q>>0]|0;q=d[b+q>>0]|0;m=r-q+k|0;k=q-r+k|0;r=s+4|0;r=(d[e+r>>0]|0)-(d[b+r>>0]|0)|0;q=s+5|0;j=d[e+q>>0]|0;q=d[b+q>>0]|0;n=j-q+r|0;r=q-j+r|0;j=s+6|0;j=(d[e+j>>0]|0)-(d[b+j>>0]|0)|0;s=s+7|0;q=d[e+s>>0]|0;s=d[b+s>>0]|0;l=q-s+j|0;j=s-q+j|0;q=m+o|0;m=o-m|0;o=k+p|0;k=p-k|0;p=l+n|0;l=n-l|0;n=j+r|0;j=r-j|0;c[h+(g<<2)>>2]=p+q;c[h+((g|4)<<2)>>2]=q-p;c[h+((g|1)<<2)>>2]=n+o;c[h+((g|5)<<2)>>2]=o-n;c[h+((g|2)<<2)>>2]=l+m;c[h+((g|6)<<2)>>2]=m-l;c[h+((g|3)<<2)>>2]=j+k;c[h+((g|7)<<2)>>2]=k-j;a=a+1|0}a=0;g=0;while(1){if((g|0)==8)break;w=h+(g<<2)|0;o=c[w>>2]|0;u=h+(g+8<<2)|0;t=c[u>>2]|0;v=t+o|0;t=o-t|0;o=h+(g+16<<2)|0;b=c[o>>2]|0;p=h+(g+24<<2)|0;k=c[p>>2]|0;m=k+b|0;k=b-k|0;b=h+(g+32<<2)|0;r=c[b>>2]|0;f=h+(g+40<<2)|0;j=c[f>>2]|0;e=j+r|0;j=r-j|0;r=h+(g+48<<2)|0;s=c[r>>2]|0;q=h+(g+56<<2)|0;l=c[q>>2]|0;n=l+s|0;l=s-l|0;s=m+v|0;c[w>>2]=s;m=v-m|0;c[o>>2]=m;o=k+t|0;c[u>>2]=o;k=t-k|0;c[p>>2]=k;p=n+e|0;c[b>>2]=p;n=e-n|0;c[r>>2]=n;r=l+j|0;c[f>>2]=r;l=j-l|0;c[q>>2]=l;q=p+s|0;p=s-p|0;s=r+o|0;r=o-r|0;o=n+m|0;n=m-n|0;m=l+k|0;l=k-l|0;a=((l|0)>-1?l:0-l|0)+a+((m|0)>-1?m:0-m|0)+((n|0)>-1?n:0-n|0)+((o|0)>-1?o:0-o|0)+((p|0)>-1?p:0-p|0)+((q|0)>-1?q:0-q|0)+((r|0)>-1?r:0-r|0)+((s|0)>-1?s:0-s|0)|0;g=g+1|0}Mb=i;return a|0}function Ug(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;n=8-g|0;m=8-h|0;o=H(m,n)|0;m=H(m,g)|0;n=H(n,h)|0;h=H(h,g)|0;a:do if(!h){l=m+n|0;if(!l){g=0;while(1){if((g|0)>=(f|0))break a;n=((H(o,d[c>>0]|0)|0)+32|0)>>>6&255;a[b>>0]=n;n=((H(o,d[c+1>>0]|0)|0)+32|0)>>>6&255;a[b+1>>0]=n;n=((H(o,d[c+2>>0]|0)|0)+32|0)>>>6&255;a[b+2>>0]=n;n=((H(o,d[c+3>>0]|0)|0)+32|0)>>>6&255;a[b+3>>0]=n;b=b+e|0;g=g+1|0;c=c+e|0}}else{h=(n|0)==0?1:e;i=h+1|0;j=h+2|0;k=h+3|0;g=0;while(1){if((g|0)>=(f|0))break a;n=H(o,d[c>>0]|0)|0;n=(n+32+(H(l,d[c+h>>0]|0)|0)|0)>>>6&255;a[b>>0]=n;n=H(o,d[c+1>>0]|0)|0;n=(n+32+(H(l,d[c+i>>0]|0)|0)|0)>>>6&255;a[b+1>>0]=n;n=H(o,d[c+2>>0]|0)|0;n=(n+32+(H(l,d[c+j>>0]|0)|0)|0)>>>6&255;a[b+2>>0]=n;n=H(o,d[c+3>>0]|0)|0;n=(n+32+(H(l,d[c+k>>0]|0)|0)|0)>>>6&255;a[b+3>>0]=n;b=b+e|0;g=g+1|0;c=c+e|0}}}else{i=e+1|0;j=e+2|0;k=e+3|0;l=e+4|0;g=0;while(1){if((g|0)>=(f|0))break a;r=H(o,d[c>>0]|0)|0;q=c+1|0;t=H(m,d[q>>0]|0)|0;p=c+e|0;u=H(n,d[p>>0]|0)|0;s=c+i|0;u=(r+32+t+u+(H(h,d[s>>0]|0)|0)|0)>>>6&255;a[b>>0]=u;q=H(o,d[q>>0]|0)|0;u=c+2|0;t=H(m,d[u>>0]|0)|0;s=H(n,d[s>>0]|0)|0;r=c+j|0;s=(q+32+t+s+(H(h,d[r>>0]|0)|0)|0)>>>6&255;a[b+1>>0]=s;u=H(o,d[u>>0]|0)|0;s=c+3|0;t=H(m,d[s>>0]|0)|0;r=H(n,d[r>>0]|0)|0;q=c+k|0;r=(u+32+t+r+(H(h,d[q>>0]|0)|0)|0)>>>6&255;a[b+2>>0]=r;s=H(o,d[s>>0]|0)|0;r=H(m,d[c+4>>0]|0)|0;q=H(n,d[q>>0]|0)|0;q=(s+32+r+q+(H(h,d[c+l>>0]|0)|0)|0)>>>6&255;a[b+3>>0]=q;b=b+e|0;g=g+1|0;c=p}}while(0);return}function Vg(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=Mb;Mb=Mb+48|0;s=x+8|0;h=x;r=x+16|0;v=b+1632|0;u=(c[v>>2]|0)!=0;i=u?0:f;w=b+16|0;j=c[w>>2]|0;j=j>>>0>13?7:j;q=b+1636|0;if(u?(c[q>>2]|0)==0:0)AD(g,16,172675,h);m=b+1340|0;u=b+20|0;n=b+1656|0;o=b+1660|0;p=b+1648|0;h=0;a:while(1){if((h|0)>=(f|0)){t=31;break}b:do if((i|0)>(h|0)){if((j|0)==7){j=(Xb[c[m>>2]&15](e+h|0,i-h|0)|0)+h|0;l=i;h=j;j=(j|0)<(i|0)?2:7;break}if(j>>>0<3)switch(a[e+h>>0]|0){case 1:{l=i;j=j^5;break b}case 0:{l=i;j=j>>>1;break b}default:{l=i;j=7;break b}}k=a[e+h>>0]|0;if(j>>>0>=6){l=c[n>>2]|0;c[n>>2]=l+1;a[b+1648+l>>0]=k;k=c[n>>2]|0;if((k|0)>5){l=c[o>>2]|0;gP(r,p,k<<3)|0;c[n>>2]=0;k=mO(r)|0;c[o>>2]=k;if(c[u>>2]|0){if(k>>>0<=l>>>0){t=29;break a}}else c[u>>2]=1;l=i;j=7}else l=i}else{l=i;i=k;t=20}}else{j=c[q>>2]|0;h=0;k=0;while(1){if((h|0)>=(j|0))break;h=h+1|0;k=k<<8|d[e+i>>0];i=i+1|0}h=f-i|0;if((k|0)<1|(k|0)>(h|0)){t=12;break a}h=i;l=i+k|0;j=5;i=a[e+i>>0]|0;t=20}while(0);c:do if((t|0)==20){t=0;if(((i&31)+-6&255)<4){k=(c[u>>2]|0)==0;h=h+((k^1)&1)|0;if(k){j=7;break}else{i=l;f=j;t=32;break a}}switch(i&31){case 1:case 2:case 5:break;default:{j=7;break c}}j=j+8|0}while(0);h=h+1|0;i=l}if((t|0)==12){c[s>>2]=k;c[s+4>>2]=h;AD(g,16,172712,s);t=33}else if((t|0)==29){f=j;t=32}else if((t|0)==31){c[w>>2]=j;f=(c[v>>2]|0)==0?-100:i;t=33}if((t|0)==32){c[w>>2]=7;c[u>>2]=0;Mb=x;return ((c[v>>2]|0)==0?h-(f&5)+(f>>>0>7?-5:0)|0:i)|0}else if((t|0)==33){Mb=x;return f|0}return 0}function Wg(c,d,f,g,h,i,j,k,l,m,n,o,p,q){c=c|0;d=d|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;E=Mb;Mb=Mb+9088|0;C=E;B=g>>>1;D=j+3|0;A=o+-1|0;s=20704+(A<<4)|0;t=i+7|0;u=20704+(A<<4)+1|0;v=20704+(A<<4)+2|0;w=20704+(A<<4)+3|0;x=20704+(A<<4)+4|0;y=20704+(A<<4)+5|0;z=20704+(A<<4)+6|0;A=20704+(A<<4)+7|0;r=C;o=f+((H(B,-3)|0)<<1)|0;f=0;while(1){if((f|0)>=(t|0))break;g=0;while(1){if((g|0)>=(q|0))break;G=H(e[o+(g+-3<<1)>>1]|0,a[s>>0]|0)|0;G=(H(e[o+(g+-2<<1)>>1]|0,a[u>>0]|0)|0)+G|0;G=G+(H(e[o+(g+-1<<1)>>1]|0,a[v>>0]|0)|0)|0;G=G+(H(e[o+(g<<1)>>1]|0,a[w>>0]|0)|0)|0;F=g+1|0;G=G+(H(e[o+(F<<1)>>1]|0,a[x>>0]|0)|0)|0;G=G+(H(e[o+(g+2<<1)>>1]|0,a[y>>0]|0)|0)|0;G=G+(H(e[o+(g+3<<1)>>1]|0,a[z>>0]|0)|0)|0;G=(G+(H(e[o+(g+4<<1)>>1]|0,a[A>>0]|0)|0)|0)>>>4&65535;b[r+(g<<1)>>1]=G;g=F}r=r+128|0;o=o+(B<<1)|0;f=f+1|0}A=d>>>1;z=p+-1|0;s=20704+(z<<4)|0;t=20704+(z<<4)+1|0;u=20704+(z<<4)+2|0;v=20704+(z<<4)+3|0;w=20704+(z<<4)+4|0;x=20704+(z<<4)+5|0;y=20704+(z<<4)+6|0;z=20704+(z<<4)+7|0;r=(n+m<<4|1)<<j+2;g=C+384|0;f=0;while(1){if((f|0)>=(i|0))break;o=0;while(1){if((o|0)>=(q|0))break;G=H(b[g+(o+-192<<1)>>1]|0,a[s>>0]|0)|0;G=(H(b[g+(o+-128<<1)>>1]|0,a[t>>0]|0)|0)+G|0;G=G+(H(b[g+(o+-64<<1)>>1]|0,a[u>>0]|0)|0)|0;G=G+(H(b[g+(o<<1)>>1]|0,a[v>>0]|0)|0)|0;G=G+(H(b[g+(o+64<<1)>>1]|0,a[w>>0]|0)|0)|0;G=G+(H(b[g+(o+128<<1)>>1]|0,a[x>>0]|0)|0)|0;G=G+(H(b[g+(o+192<<1)>>1]|0,a[y>>0]|0)|0)|0;G=H(G+(H(b[g+(o+256<<1)>>1]|0,a[z>>0]|0)|0)>>6,l)|0;G=(H(b[h+(o<<1)>>1]|0,k)|0)+r+G>>D;b[c+(o<<1)>>1]=G>>>0<4096?G:0-G>>31&4095;o=o+1|0}h=h+128|0;c=c+(A<<1)|0;g=g+128|0;f=f+1|0}Mb=E;return}function Xg(c,d,f,g,h,i,j,k,l,m,n,o,p,q){c=c|0;d=d|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;E=Mb;Mb=Mb+9088|0;C=E;B=g>>>1;D=j+5|0;A=o+-1|0;s=20704+(A<<4)|0;t=i+7|0;u=20704+(A<<4)+1|0;v=20704+(A<<4)+2|0;w=20704+(A<<4)+3|0;x=20704+(A<<4)+4|0;y=20704+(A<<4)+5|0;z=20704+(A<<4)+6|0;A=20704+(A<<4)+7|0;r=C;o=f+((H(B,-3)|0)<<1)|0;f=0;while(1){if((f|0)>=(t|0))break;g=0;while(1){if((g|0)>=(q|0))break;G=H(e[o+(g+-3<<1)>>1]|0,a[s>>0]|0)|0;G=(H(e[o+(g+-2<<1)>>1]|0,a[u>>0]|0)|0)+G|0;G=G+(H(e[o+(g+-1<<1)>>1]|0,a[v>>0]|0)|0)|0;G=G+(H(e[o+(g<<1)>>1]|0,a[w>>0]|0)|0)|0;F=g+1|0;G=G+(H(e[o+(F<<1)>>1]|0,a[x>>0]|0)|0)|0;G=G+(H(e[o+(g+2<<1)>>1]|0,a[y>>0]|0)|0)|0;G=G+(H(e[o+(g+3<<1)>>1]|0,a[z>>0]|0)|0)|0;G=(G+(H(e[o+(g+4<<1)>>1]|0,a[A>>0]|0)|0)|0)>>>2&65535;b[r+(g<<1)>>1]=G;g=F}r=r+128|0;o=o+(B<<1)|0;f=f+1|0}A=d>>>1;z=p+-1|0;s=20704+(z<<4)|0;t=20704+(z<<4)+1|0;u=20704+(z<<4)+2|0;v=20704+(z<<4)+3|0;w=20704+(z<<4)+4|0;x=20704+(z<<4)+5|0;y=20704+(z<<4)+6|0;z=20704+(z<<4)+7|0;r=(n+m<<2|1)<<j+4;g=C+384|0;f=0;while(1){if((f|0)>=(i|0))break;o=0;while(1){if((o|0)>=(q|0))break;G=H(b[g+(o+-192<<1)>>1]|0,a[s>>0]|0)|0;G=(H(b[g+(o+-128<<1)>>1]|0,a[t>>0]|0)|0)+G|0;G=G+(H(b[g+(o+-64<<1)>>1]|0,a[u>>0]|0)|0)|0;G=G+(H(b[g+(o<<1)>>1]|0,a[v>>0]|0)|0)|0;G=G+(H(b[g+(o+64<<1)>>1]|0,a[w>>0]|0)|0)|0;G=G+(H(b[g+(o+128<<1)>>1]|0,a[x>>0]|0)|0)|0;G=G+(H(b[g+(o+192<<1)>>1]|0,a[y>>0]|0)|0)|0;G=H(G+(H(b[g+(o+256<<1)>>1]|0,a[z>>0]|0)|0)>>6,l)|0;G=(H(b[h+(o<<1)>>1]|0,k)|0)+r+G>>D;b[c+(o<<1)>>1]=G>>>0<1024?G:0-G>>31&1023;o=o+1|0}h=h+128|0;c=c+(A<<1)|0;g=g+128|0;f=f+1|0}Mb=E;return}function Yg(c,d,f,g,h,i,j,k,l,m,n,o,p,q){c=c|0;d=d|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;E=Mb;Mb=Mb+9088|0;C=E;B=g>>>1;D=j+6|0;A=o+-1|0;s=20704+(A<<4)|0;t=i+7|0;u=20704+(A<<4)+1|0;v=20704+(A<<4)+2|0;w=20704+(A<<4)+3|0;x=20704+(A<<4)+4|0;y=20704+(A<<4)+5|0;z=20704+(A<<4)+6|0;A=20704+(A<<4)+7|0;r=C;o=f+((H(B,-3)|0)<<1)|0;f=0;while(1){if((f|0)>=(t|0))break;g=0;while(1){if((g|0)>=(q|0))break;G=H(e[o+(g+-3<<1)>>1]|0,a[s>>0]|0)|0;G=(H(e[o+(g+-2<<1)>>1]|0,a[u>>0]|0)|0)+G|0;G=G+(H(e[o+(g+-1<<1)>>1]|0,a[v>>0]|0)|0)|0;G=G+(H(e[o+(g<<1)>>1]|0,a[w>>0]|0)|0)|0;F=g+1|0;G=G+(H(e[o+(F<<1)>>1]|0,a[x>>0]|0)|0)|0;G=G+(H(e[o+(g+2<<1)>>1]|0,a[y>>0]|0)|0)|0;G=G+(H(e[o+(g+3<<1)>>1]|0,a[z>>0]|0)|0)|0;G=(G+(H(e[o+(g+4<<1)>>1]|0,a[A>>0]|0)|0)|0)>>>1&65535;b[r+(g<<1)>>1]=G;g=F}r=r+128|0;o=o+(B<<1)|0;f=f+1|0}A=d>>>1;z=p+-1|0;s=20704+(z<<4)|0;t=20704+(z<<4)+1|0;u=20704+(z<<4)+2|0;v=20704+(z<<4)+3|0;w=20704+(z<<4)+4|0;x=20704+(z<<4)+5|0;y=20704+(z<<4)+6|0;z=20704+(z<<4)+7|0;r=(n+m<<1|1)<<j+5;g=C+384|0;f=0;while(1){if((f|0)>=(i|0))break;o=0;while(1){if((o|0)>=(q|0))break;G=H(b[g+(o+-192<<1)>>1]|0,a[s>>0]|0)|0;G=(H(b[g+(o+-128<<1)>>1]|0,a[t>>0]|0)|0)+G|0;G=G+(H(b[g+(o+-64<<1)>>1]|0,a[u>>0]|0)|0)|0;G=G+(H(b[g+(o<<1)>>1]|0,a[v>>0]|0)|0)|0;G=G+(H(b[g+(o+64<<1)>>1]|0,a[w>>0]|0)|0)|0;G=G+(H(b[g+(o+128<<1)>>1]|0,a[x>>0]|0)|0)|0;G=G+(H(b[g+(o+192<<1)>>1]|0,a[y>>0]|0)|0)|0;G=H(G+(H(b[g+(o+256<<1)>>1]|0,a[z>>0]|0)|0)>>6,l)|0;G=(H(b[h+(o<<1)>>1]|0,k)|0)+r+G>>D;b[c+(o<<1)>>1]=G>>>0<512?G:0-G>>31&511;o=o+1|0}h=h+128|0;c=c+(A<<1)|0;g=g+128|0;f=f+1|0}Mb=E;return}function Zg(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,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=Mb;Mb=Mb+224|0;y=z+8|0;f=z;v=z+24|0;w=z+12|0;e=(c[b+2420>>2]|0)==0;d=Sy(b)|0;a:do if((d|0)>=0){if(((c[b+1816>>2]|0)+(c[b+1620>>2]|0)|0)==(0-(c[b+2208>>2]|0)|0)){AD(c[b+4>>2]|0,16,209813,f);d=-1094995529;break}l=e?2:1;m=b+3516|0;n=w+4|0;o=w+8|0;p=v+192|0;q=b+3059|0;r=b+3060|0;k=0;b:while(1){s=k&255;if(l>>>0<=s>>>0){d=0;break a}jv(v|0,0,196)|0;t=c[(c[m>>2]|0)+24>>2]|0;u=k<<24>>24!=0;c[w>>2]=u&1;c[n>>2]=(u^1)&1;c[o>>2]=3;u=b+3044+(s<<2)|0;d=c[u>>2]|0;g=0;while(1){if(g>>>0>=d>>>0)break;j=0;while(1){if((j|0)==3)break;f=c[w+(j<<2)>>2]|0;h=c[b+1428+(f*196|0)+192>>2]|0;i=(j|0)==2&1;e=0;while(1){if(!((e|0)<(h|0)&(g|0)<16))break;c[v+64+(g<<2)>>2]=c[b+1428+(f*196|0)+64+(e<<2)>>2];A=c[p>>2]|0;c[v+(A<<2)>>2]=c[b+1428+(f*196|0)+(e<<2)>>2];c[v+128+(A<<2)>>2]=i;A=(c[p>>2]|0)+1|0;c[p>>2]=A;e=e+1|0;g=A}j=j+1|0}}c:do if(!(a[b+3040+s>>0]|0)){Mn(t+(s*196|0)|0,v|0,196)|0;A=t+(s*196|0)+192|0;j=c[A>>2]|0;u=c[u>>2]|0;c[A>>2]=j>>>0>u>>>0?u:j}else{f=t+(s*196|0)+192|0;e=0;while(1){if(e>>>0>=d>>>0)break c;d=c[b+2784+(s<<7)+(e<<2)>>2]|0;if((d|0)>=(g|0))break b;c[t+(s*196|0)+64+(e<<2)>>2]=c[v+64+(d<<2)>>2];c[t+(s*196|0)+(e<<2)>>2]=c[v+(d<<2)>>2];c[t+(s*196|0)+128+(e<<2)>>2]=c[v+128+(d<<2)>>2];c[f>>2]=(c[f>>2]|0)+1;e=e+1|0;d=c[u>>2]|0}}while(0);if((a[q>>0]|0)==k<<24>>24?(x=c[r>>2]|0,x>>>0<(c[t+(s*196|0)+192>>2]|0)>>>0):0)c[(c[m>>2]|0)+40>>2]=c[t+(s*196|0)+(x<<2)>>2];k=k+1<<24>>24}AD(c[b+4>>2]|0,16,209842,y);d=-1094995529}while(0);Mb=z;return d|0}function _g(b,c,e,f,g,h,i,j){b=b|0;c=c|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;l=(j+1|1)<<g;k=g+1|0;j=b;g=0;while(1){if((g|0)>=(f|0))break;m=H(d[c>>0]|0,i)|0;m=m+l+(H(d[j>>0]|0,h)|0)>>k;a[j>>0]=m>>>0>255?0-m>>31:m;m=H(d[c+1>>0]|0,i)|0;b=j+1|0;m=m+l+(H(d[b>>0]|0,h)|0)>>k;a[b>>0]=m>>>0>255?0-m>>31:m;b=H(d[c+2>>0]|0,i)|0;m=j+2|0;b=b+l+(H(d[m>>0]|0,h)|0)>>k;a[m>>0]=b>>>0>255?0-b>>31:b;m=H(d[c+3>>0]|0,i)|0;b=j+3|0;m=m+l+(H(d[b>>0]|0,h)|0)>>k;a[b>>0]=m>>>0>255?0-m>>31:m;b=H(d[c+4>>0]|0,i)|0;m=j+4|0;b=b+l+(H(d[m>>0]|0,h)|0)>>k;a[m>>0]=b>>>0>255?0-b>>31:b;m=H(d[c+5>>0]|0,i)|0;b=j+5|0;m=m+l+(H(d[b>>0]|0,h)|0)>>k;a[b>>0]=m>>>0>255?0-m>>31:m;b=H(d[c+6>>0]|0,i)|0;m=j+6|0;b=b+l+(H(d[m>>0]|0,h)|0)>>k;a[m>>0]=b>>>0>255?0-b>>31:b;m=H(d[c+7>>0]|0,i)|0;b=j+7|0;m=m+l+(H(d[b>>0]|0,h)|0)>>k;a[b>>0]=m>>>0>255?0-m>>31:m;b=H(d[c+8>>0]|0,i)|0;m=j+8|0;b=b+l+(H(d[m>>0]|0,h)|0)>>k;a[m>>0]=b>>>0>255?0-b>>31:b;m=H(d[c+9>>0]|0,i)|0;b=j+9|0;m=m+l+(H(d[b>>0]|0,h)|0)>>k;a[b>>0]=m>>>0>255?0-m>>31:m;b=H(d[c+10>>0]|0,i)|0;m=j+10|0;b=b+l+(H(d[m>>0]|0,h)|0)>>k;a[m>>0]=b>>>0>255?0-b>>31:b;m=H(d[c+11>>0]|0,i)|0;b=j+11|0;m=m+l+(H(d[b>>0]|0,h)|0)>>k;a[b>>0]=m>>>0>255?0-m>>31:m;b=H(d[c+12>>0]|0,i)|0;m=j+12|0;b=b+l+(H(d[m>>0]|0,h)|0)>>k;a[m>>0]=b>>>0>255?0-b>>31:b;m=H(d[c+13>>0]|0,i)|0;b=j+13|0;m=m+l+(H(d[b>>0]|0,h)|0)>>k;a[b>>0]=m>>>0>255?0-m>>31:m;b=H(d[c+14>>0]|0,i)|0;m=j+14|0;b=b+l+(H(d[m>>0]|0,h)|0)>>k;a[m>>0]=b>>>0>255?0-b>>31:b;m=H(d[c+15>>0]|0,i)|0;b=j+15|0;m=m+l+(H(d[b>>0]|0,h)|0)>>k;a[b>>0]=m>>>0>255?0-m>>31:m;c=c+e|0;j=j+e|0;g=g+1|0}return}function $g(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;t=Mb;Mb=Mb+848|0;o=t+568|0;p=t+288|0;q=t+8|0;r=t;Mn(p|0,b|0,280)|0;Mn(q|0,b|0,280)|0;Mn(o|0,e|0,280)|0;n=a+13448|0;j=a+13444|0;k=a+12540|0;l=a+13380|0;m=a+13384|0;b=$b[c[(c[n>>2]|0)+24>>2]&15](c[j>>2]|0,k,o,f,l,m)|0;do if((b|0)!=2147483647){if((b|0)>=0){s=a+13388|0;if(!b)e=c[s>>2]|0;else{_y(o,o,b);c[s>>2]=0;f=f-b|0;e=0}i=a+13392|0;h=a+12808|0;a=b;b=0;while(1){if((e|0)==0?(c[m>>2]|0)!=0:0){_y(q,k,c[l>>2]|0);g=$b[c[(c[n>>2]|0)+8>>2]&15](c[j>>2]|0,p,d,q,c[m>>2]|0,r)|0;d=d-g|0;b=g+b|0;_y(p,p,g);g=c[r>>2]|0;e=(c[m>>2]|0)-g|0;c[m>>2]=e;c[l>>2]=(c[l>>2]|0)+g;if(!f){e=21;break}if((e|0)>(a|0))g=a;else{_y(o,o,0-e|0);f=(c[m>>2]|0)+f|0;c[m>>2]=0;c[l>>2]=0;g=0}}else g=a;e=(f|0)>0;if(e|(c[i>>2]|0)!=0?(c[m>>2]|0)==0:0){c[l>>2]=0;e=$b[c[(c[n>>2]|0)+8>>2]&15](c[j>>2]|0,p,d,o,e?f:0,r)|0;_y(p,p,e);a=c[r>>2]|0;_y(o,o,a);b=e+b|0;d=d-e|0;f=f-a|0}e=c[l>>2]|0;u=(c[m>>2]|0)+f|0;a=u+e|0;if((u|0)>(e|0)?1:(a|0)<=(c[h>>2]|0)){a=nm(k,a)|0;if((a|0)<0){e=18;break}}else{_y(q,k,e);Fr(k,q,c[m>>2]|0);c[l>>2]=0}if(!f){e=21;break}u=c[m>>2]|0;e=u+2|0;e=(u|0)==0?f:(d|0)!=0&(e|0)<(f|0)?e:f;_y(q,k,(c[l>>2]|0)+u|0);Fr(q,o,e);c[m>>2]=e+(c[m>>2]|0);f=f-e|0;_y(o,o,e);c[s>>2]=0;if((f|0)==0?(c[m>>2]|0)==(e|0):0){e=21;break}a=e+g|0;e=0}if((e|0)==18){b=a;break}else if((e|0)==21){c[s>>2]=(d|0)!=0&1;break}}}else b=0;while(0);Mb=t;return b|0}function ah(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,o=0,p=0,q=0,r=0,s=0,t=0,u=0;r=Mb;Mb=Mb+32|0;p=r+16|0;q=r;m=(e|0)<8;k=e+4|0;n=p+4|0;o=p+8|0;l=p+12|0;i=0;j=d;k=(k|0)<8?k:8;while(1){if((i|0)==8)break;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0;f=0;while(1){if((f|0)==4)break;h=q+(f<<2)|0;g=1;while(1){if((g|0)>=(k|0))break;s=H(b[j+(g<<3<<1)>>1]|0,a[20768+(g<<2<<5)+f>>0]|0)|0;c[h>>2]=s+(c[h>>2]|0);g=g+2|0}f=f+1|0}h=b[j>>1]<<6;g=b[j+64>>1]<<6;s=g+h|0;g=h-g|0;h=b[j+32>>1]|0;t=b[j+96>>1]|0;f=(t*36|0)+(h*83|0)|0;h=(H(t,-83)|0)+(h*36|0)|0;c[p>>2]=f+s;c[n>>2]=h+g;c[o>>2]=g-h;c[l>>2]=s-f;f=0;while(1){if((f|0)==4)break;s=c[p+(f<<2)>>2]|0;h=c[q+(f<<2)>>2]|0;u=s+64+h|0;g=u>>7;t=f<<3;b[j+(t<<1)>>1]=(g+32768|0)>>>0>65535?u>>31^32767:g;h=s-h+64|0;s=h>>7;b[j+(56-t<<1)>>1]=(s+32768|0)>>>0>65535?h>>31^32767:s;f=f+1|0}u=(k|0)<8&((i|0)!=0&(i&3|0)==0)?k+-4|0:k;i=i+1|0;j=j+2|0;k=u}j=m?e:8;k=p+4|0;e=p+8|0;l=p+12|0;i=0;while(1){if((i|0)==8)break;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0;g=0;while(1){if((g|0)==4)break;h=q+(g<<2)|0;f=1;while(1){if((f|0)>=(j|0))break;u=H(b[d+(f<<1)>>1]|0,a[20768+(f<<2<<5)+g>>0]|0)|0;c[h>>2]=u+(c[h>>2]|0);f=f+2|0}g=g+1|0}t=b[d>>1]<<6;s=b[d+8>>1]<<6;u=s+t|0;s=t-s|0;t=b[d+4>>1]|0;o=b[d+12>>1]|0;f=(o*36|0)+(t*83|0)|0;t=(H(o,-83)|0)+(t*36|0)|0;c[p>>2]=f+u;c[k>>2]=t+s;c[e>>2]=s-t;c[l>>2]=u-f;f=0;while(1){if((f|0)==4)break;u=c[p+(f<<2)>>2]|0;t=c[q+(f<<2)>>2]|0;o=u+1024+t|0;s=o>>11;b[d+(f<<1)>>1]=(s+32768|0)>>>0>65535?o>>31^32767:s;t=u-t+1024|0;u=t>>11;b[d+(7-f<<1)>>1]=(u+32768|0)>>>0>65535?t>>31^32767:u;f=f+1|0}d=d+16|0;i=i+1|0}Mb=r;return}function bh(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,o=0,p=0,q=0,r=0,s=0,t=0,u=0;r=Mb;Mb=Mb+32|0;p=r+16|0;q=r;m=(e|0)<8;k=e+4|0;n=p+4|0;o=p+8|0;l=p+12|0;i=0;j=d;k=(k|0)<8?k:8;while(1){if((i|0)==8)break;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0;f=0;while(1){if((f|0)==4)break;h=q+(f<<2)|0;g=1;while(1){if((g|0)>=(k|0))break;s=H(b[j+(g<<3<<1)>>1]|0,a[20768+(g<<2<<5)+f>>0]|0)|0;c[h>>2]=s+(c[h>>2]|0);g=g+2|0}f=f+1|0}h=b[j>>1]<<6;g=b[j+64>>1]<<6;s=g+h|0;g=h-g|0;h=b[j+32>>1]|0;t=b[j+96>>1]|0;f=(t*36|0)+(h*83|0)|0;h=(H(t,-83)|0)+(h*36|0)|0;c[p>>2]=f+s;c[n>>2]=h+g;c[o>>2]=g-h;c[l>>2]=s-f;f=0;while(1){if((f|0)==4)break;s=c[p+(f<<2)>>2]|0;h=c[q+(f<<2)>>2]|0;u=s+64+h|0;g=u>>7;t=f<<3;b[j+(t<<1)>>1]=(g+32768|0)>>>0>65535?u>>31^32767:g;h=s-h+64|0;s=h>>7;b[j+(56-t<<1)>>1]=(s+32768|0)>>>0>65535?h>>31^32767:s;f=f+1|0}u=(k|0)<8&((i|0)!=0&(i&3|0)==0)?k+-4|0:k;i=i+1|0;j=j+2|0;k=u}j=m?e:8;k=p+4|0;e=p+8|0;l=p+12|0;i=0;while(1){if((i|0)==8)break;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0;g=0;while(1){if((g|0)==4)break;h=q+(g<<2)|0;f=1;while(1){if((f|0)>=(j|0))break;u=H(b[d+(f<<1)>>1]|0,a[20768+(f<<2<<5)+g>>0]|0)|0;c[h>>2]=u+(c[h>>2]|0);f=f+2|0}g=g+1|0}t=b[d>>1]<<6;s=b[d+8>>1]<<6;u=s+t|0;s=t-s|0;t=b[d+4>>1]|0;o=b[d+12>>1]|0;f=(o*36|0)+(t*83|0)|0;t=(H(o,-83)|0)+(t*36|0)|0;c[p>>2]=f+u;c[k>>2]=t+s;c[e>>2]=s-t;c[l>>2]=u-f;f=0;while(1){if((f|0)==4)break;u=c[p+(f<<2)>>2]|0;t=c[q+(f<<2)>>2]|0;o=u+2048+t|0;s=o>>12;b[d+(f<<1)>>1]=(s+32768|0)>>>0>65535?o>>31^32767:s;t=u-t+2048|0;u=t>>12;b[d+(7-f<<1)>>1]=(u+32768|0)>>>0>65535?t>>31^32767:u;f=f+1|0}d=d+16|0;i=i+1|0}Mb=r;return}function ch(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,o=0,p=0,q=0,r=0,s=0,t=0,u=0;r=Mb;Mb=Mb+32|0;p=r+16|0;q=r;m=(e|0)<8;k=e+4|0;n=p+4|0;o=p+8|0;l=p+12|0;i=0;j=d;k=(k|0)<8?k:8;while(1){if((i|0)==8)break;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0;f=0;while(1){if((f|0)==4)break;h=q+(f<<2)|0;g=1;while(1){if((g|0)>=(k|0))break;s=H(b[j+(g<<3<<1)>>1]|0,a[20768+(g<<2<<5)+f>>0]|0)|0;c[h>>2]=s+(c[h>>2]|0);g=g+2|0}f=f+1|0}h=b[j>>1]<<6;g=b[j+64>>1]<<6;s=g+h|0;g=h-g|0;h=b[j+32>>1]|0;t=b[j+96>>1]|0;f=(t*36|0)+(h*83|0)|0;h=(H(t,-83)|0)+(h*36|0)|0;c[p>>2]=f+s;c[n>>2]=h+g;c[o>>2]=g-h;c[l>>2]=s-f;f=0;while(1){if((f|0)==4)break;s=c[p+(f<<2)>>2]|0;h=c[q+(f<<2)>>2]|0;u=s+64+h|0;g=u>>7;t=f<<3;b[j+(t<<1)>>1]=(g+32768|0)>>>0>65535?u>>31^32767:g;h=s-h+64|0;s=h>>7;b[j+(56-t<<1)>>1]=(s+32768|0)>>>0>65535?h>>31^32767:s;f=f+1|0}u=(k|0)<8&((i|0)!=0&(i&3|0)==0)?k+-4|0:k;i=i+1|0;j=j+2|0;k=u}j=m?e:8;k=p+4|0;e=p+8|0;l=p+12|0;i=0;while(1){if((i|0)==8)break;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0;g=0;while(1){if((g|0)==4)break;h=q+(g<<2)|0;f=1;while(1){if((f|0)>=(j|0))break;u=H(b[d+(f<<1)>>1]|0,a[20768+(f<<2<<5)+g>>0]|0)|0;c[h>>2]=u+(c[h>>2]|0);f=f+2|0}g=g+1|0}t=b[d>>1]<<6;s=b[d+8>>1]<<6;u=s+t|0;s=t-s|0;t=b[d+4>>1]|0;o=b[d+12>>1]|0;f=(o*36|0)+(t*83|0)|0;t=(H(o,-83)|0)+(t*36|0)|0;c[p>>2]=f+u;c[k>>2]=t+s;c[e>>2]=s-t;c[l>>2]=u-f;f=0;while(1){if((f|0)==4)break;u=c[p+(f<<2)>>2]|0;t=c[q+(f<<2)>>2]|0;o=u+512+t|0;s=o>>10;b[d+(f<<1)>>1]=(s+32768|0)>>>0>65535?o>>31^32767:s;t=u-t+512|0;u=t>>10;b[d+(7-f<<1)>>1]=(u+32768|0)>>>0>65535?t>>31^32767:u;f=f+1|0}d=d+16|0;i=i+1|0}Mb=r;return}function dh(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,o=0,p=0,q=0,r=0,s=0,t=0,u=0;r=Mb;Mb=Mb+32|0;p=r+16|0;q=r;m=(e|0)<8;k=e+4|0;n=p+4|0;o=p+8|0;l=p+12|0;i=0;j=d;k=(k|0)<8?k:8;while(1){if((i|0)==8)break;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0;f=0;while(1){if((f|0)==4)break;h=q+(f<<2)|0;g=1;while(1){if((g|0)>=(k|0))break;s=H(b[j+(g<<3<<1)>>1]|0,a[20768+(g<<2<<5)+f>>0]|0)|0;c[h>>2]=s+(c[h>>2]|0);g=g+2|0}f=f+1|0}h=b[j>>1]<<6;g=b[j+64>>1]<<6;s=g+h|0;g=h-g|0;h=b[j+32>>1]|0;t=b[j+96>>1]|0;f=(t*36|0)+(h*83|0)|0;h=(H(t,-83)|0)+(h*36|0)|0;c[p>>2]=f+s;c[n>>2]=h+g;c[o>>2]=g-h;c[l>>2]=s-f;f=0;while(1){if((f|0)==4)break;s=c[p+(f<<2)>>2]|0;h=c[q+(f<<2)>>2]|0;u=s+64+h|0;g=u>>7;t=f<<3;b[j+(t<<1)>>1]=(g+32768|0)>>>0>65535?u>>31^32767:g;h=s-h+64|0;s=h>>7;b[j+(56-t<<1)>>1]=(s+32768|0)>>>0>65535?h>>31^32767:s;f=f+1|0}u=(k|0)<8&((i|0)!=0&(i&3|0)==0)?k+-4|0:k;i=i+1|0;j=j+2|0;k=u}j=m?e:8;k=p+4|0;e=p+8|0;l=p+12|0;i=0;while(1){if((i|0)==8)break;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0;g=0;while(1){if((g|0)==4)break;h=q+(g<<2)|0;f=1;while(1){if((f|0)>=(j|0))break;u=H(b[d+(f<<1)>>1]|0,a[20768+(f<<2<<5)+g>>0]|0)|0;c[h>>2]=u+(c[h>>2]|0);f=f+2|0}g=g+1|0}t=b[d>>1]<<6;s=b[d+8>>1]<<6;u=s+t|0;s=t-s|0;t=b[d+4>>1]|0;o=b[d+12>>1]|0;f=(o*36|0)+(t*83|0)|0;t=(H(o,-83)|0)+(t*36|0)|0;c[p>>2]=f+u;c[k>>2]=t+s;c[e>>2]=s-t;c[l>>2]=u-f;f=0;while(1){if((f|0)==4)break;u=c[p+(f<<2)>>2]|0;t=c[q+(f<<2)>>2]|0;o=u+128+t|0;s=o>>8;b[d+(f<<1)>>1]=(s+32768|0)>>>0>65535?o>>31^32767:s;t=u-t+128|0;u=t>>8;b[d+(7-f<<1)>>1]=(u+32768|0)>>>0>65535?t>>31^32767:u;f=f+1|0}d=d+16|0;i=i+1|0}Mb=r;return}function eh(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;o=c[b+136>>2]|0;k=c[b+1412>>2]|0;g=k+13336|0;h=1<<c[g>>2];l=c[b+1416>>2]|0;m=c[(c[l+1672>>2]|0)+(f<<2)>>2]|0;p=c[b+2416>>2]|0;n=m-p|0;i=c[b+7560>>2]|0;j=i+(m<<2)|0;c[j>>2]=p;do if(!(a[l+43>>0]|0)){b=a[l+42>>0]|0;if(!(b<<24>>24)){c[o+312>>2]=c[k+13376>>2];b=0;break}if((f|0)!=0?(p=c[l+1676>>2]|0,(c[p+(f<<2)>>2]|0)!=(c[p+(f+-1<<2)>>2]|0)):0){p=c[g>>2]|0;c[o+312>>2]=(c[(c[l+1648>>2]|0)+(c[(c[l+1664>>2]|0)+(d>>p<<2)>>2]<<2)>>2]<<p)+d;a[o+203>>0]=1}}else{if((d|0)==0?(h+-1&e|0)==0:0)a[o+203>>0]=1;c[o+312>>2]=c[k+13376>>2];b=a[l+42>>0]|0}while(0);h=h+e|0;p=c[k+13380>>2]|0;c[o+316>>2]=(h|0)>(p|0)?p:h;h=o+31308|0;c[h>>2]=0;if(!(b<<24>>24)){if((n|0)<1){c[h>>2]=1;b=1}else b=0;if((n|0)<(c[k+13384>>2]|0)){b=b|4;c[h>>2]=b}}else{if((d|0)>0){p=c[l+1676>>2]|0;g=m+-1|0;if((c[p+(f<<2)>>2]|0)==(c[p+(c[(c[l+1668>>2]|0)+(g<<2)>>2]<<2)>>2]|0))b=0;else{c[h>>2]=2;b=2}if((c[j>>2]|0)!=(c[i+(g<<2)>>2]|0)){b=b|1;c[h>>2]=b}}else b=0;if((e|0)>0){p=c[l+1676>>2]|0;g=m-(c[k+13384>>2]|0)|0;if((c[p+(f<<2)>>2]|0)!=(c[p+(c[(c[l+1668>>2]|0)+(g<<2)>>2]<<2)>>2]|0)){b=b|8;c[h>>2]=b}if((c[j>>2]|0)!=(c[i+(g<<2)>>2]|0)){b=b|4;c[h>>2]=b}}}h=(d|0)>0;if(h&(n|0)>0)g=(b>>>1&1^1)&255;else g=0;a[o+308>>0]=g;if((e|0)>0){g=c[k+13384>>2]|0;if((n|0)<(g|0))b=0;else b=(b>>>3&1^1)&255;a[o+309>>0]=b;if((n+1|0)<(g|0))b=0;else{b=c[l+1676>>2]|0;b=(c[b+(f<<2)>>2]|0)==(c[b+(c[(c[l+1668>>2]|0)+(m+1-g<<2)>>2]<<2)>>2]|0)&1}a[o+310>>0]=b;if(h&(n|0)>(g|0)){b=c[l+1676>>2]|0;b=(c[b+(f<<2)>>2]|0)==(c[b+(c[(c[l+1668>>2]|0)+(m+-1-g<<2)>>2]<<2)>>2]|0)&1}else b=0}else{a[o+309>>0]=0;a[o+310>>0]=0;b=0}a[o+311>>0]=b;return}function fh(a,b,c,e,f){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;g=0;h=0;a=c;while(1){c=a+e|0;if((g|0)>=(f|0))break;w=d[c+1>>0]|0;y=(d[a+1>>0]|0)+2|0;x=(d[b>>0]|0)-((y+(d[a>>0]|0)+(d[c>>0]|0)+w|0)>>>2)|0;z=d[a+2>>0]|0;v=d[c+2>>0]|0;w=(d[b+1>>0]|0)-((y+w+z+v|0)>>>2)|0;y=d[a+3>>0]|0;u=d[c+3>>0]|0;v=(d[b+2>>0]|0)-((z+2+v+y+u|0)>>>2)|0;z=d[a+4>>0]|0;t=d[c+4>>0]|0;u=(d[b+3>>0]|0)-((y+2+u+z+t|0)>>>2)|0;y=d[a+5>>0]|0;s=d[c+5>>0]|0;t=(d[b+4>>0]|0)-((z+2+t+y+s|0)>>>2)|0;z=d[a+6>>0]|0;r=d[c+6>>0]|0;s=(d[b+5>>0]|0)-((y+2+s+z+r|0)>>>2)|0;y=d[a+7>>0]|0;q=d[c+7>>0]|0;r=(d[b+6>>0]|0)-((z+2+r+y+q|0)>>>2)|0;z=d[a+8>>0]|0;p=d[c+8>>0]|0;q=(d[b+7>>0]|0)-((y+2+q+z+p|0)>>>2)|0;y=d[a+9>>0]|0;o=d[c+9>>0]|0;p=(d[b+8>>0]|0)-((z+2+p+y+o|0)>>>2)|0;z=d[a+10>>0]|0;n=d[c+10>>0]|0;o=(d[b+9>>0]|0)-((y+2+o+z+n|0)>>>2)|0;y=d[a+11>>0]|0;m=d[c+11>>0]|0;n=(d[b+10>>0]|0)-((z+2+n+y+m|0)>>>2)|0;z=d[a+12>>0]|0;l=d[c+12>>0]|0;m=(d[b+11>>0]|0)-((y+2+m+z+l|0)>>>2)|0;y=d[a+13>>0]|0;k=d[c+13>>0]|0;l=(d[b+12>>0]|0)-((z+2+l+y+k|0)>>>2)|0;z=d[a+14>>0]|0;j=d[c+14>>0]|0;k=(d[b+13>>0]|0)-((y+2+k+z+j|0)>>>2)|0;y=d[a+15>>0]|0;i=d[c+15>>0]|0;j=(d[b+14>>0]|0)-((z+2+j+y+i|0)>>>2)|0;i=(d[b+15>>0]|0)-((y+2+i+(d[a+16>>0]|0)+(d[c+16>>0]|0)|0)>>>2)|0;g=g+1|0;h=((x|0)>-1?x:0-x|0)+h+((w|0)>-1?w:0-w|0)+((v|0)>-1?v:0-v|0)+((u|0)>-1?u:0-u|0)+((t|0)>-1?t:0-t|0)+((s|0)>-1?s:0-s|0)+((r|0)>-1?r:0-r|0)+((q|0)>-1?q:0-q|0)+((p|0)>-1?p:0-p|0)+((o|0)>-1?o:0-o|0)+((n|0)>-1?n:0-n|0)+((m|0)>-1?m:0-m|0)+((l|0)>-1?l:0-l|0)+((k|0)>-1?k:0-k|0)+((j|0)>-1?j:0-j|0)+((i|0)>-1?i:0-i|0)|0;b=b+e|0;a=c}return h|0}function gh(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;p=Mb;Mb=Mb+16|0;l=p+8|0;o=p+4|0;m=p;g=c[a>>2]|0;c[l>>2]=0;c[o>>2]=0;c[m>>2]=0;if(!(e&64))i=as(g,b,0,e)|0;else i=0;if(!(e&4))h=YU(b)|0;else h=b;c[o>>2]=h;j=h;if(!(e&8))if(!h)f=0;else{f=YU(d)|0;c[m>>2]=f}else{c[m>>2]=d;f=d}if(!g){g=EZ(8)|0;c[a>>2]=g;if(!g)k=32;else{n=g;k=11}}else{n=g;k=11}a:do if((k|0)==11){do if((b|0)==0|(h|0)!=0){g=(f|0)!=0;if((d|0)==0|g){if(!i)if(g){g=n+4|0;b=WW(c[g>>2]|0,(c[n>>2]<<3)+8|0)|0;if(!b)break;c[g>>2]=b;k=23}else k=27;else{if(e&16|0){$1(h);$1(f);f=0;break a}g=c[i+4>>2]|0;if(!(e&32))$1(g);else c[l>>2]=g;$1(c[i>>2]|0);d=c[n+4>>2]|0;h=(c[n>>2]|0)+-1|0;c[n>>2]=h;h=d+(h<<3)|0;d=c[h+4>>2]|0;k=i;c[k>>2]=c[h>>2];c[k+4>>2]=d;if(!f)k=27;else k=23}if((k|0)==23){d=n+4|0;h=c[d>>2]|0;g=c[n>>2]|0;c[h+(g<<3)>>2]=j;f=c[m>>2]|0;c[h+(g<<3)+4>>2]=f;h=c[l>>2]|0;if((e&32|0)==0|(h|0)==0)f=g;else{g=nA(h)|0;g=g+1+(nA(f)|0)|0;b=EZ(g)|0;if(!b)break;tU(b,h,g)|0;bU(l);tU(b,f,g)|0;c[(c[d>>2]|0)+(c[n>>2]<<3)+4>>2]=b;bU(m);f=c[n>>2]|0}f=f+1|0;c[n>>2]=f}else if((k|0)==27){bU(o);f=c[n>>2]|0}if(f|0){f=0;break a}bU(n+4|0);bU(a);f=0;break a}else f=0}while(0);if(!(c[n>>2]|0)){bU(n+4|0);bU(a);k=32}else k=32}while(0);if((k|0)==32){$1(c[o>>2]|0);$1(f);f=-12}Mb=p;return f|0}function hh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;c[a+80>>2]=c[b+80>>2];c[a+68>>2]=c[b+68>>2];c[a+72>>2]=c[b+72>>2];h=b+352|0;c[a+352>>2]=c[h>>2];e=b+240|0;g=c[e+4>>2]|0;d=a+240|0;c[d>>2]=c[e>>2];c[d+4>>2]=g;c[a+76>>2]=c[b+76>>2];d=Vf(a,b,0)|0;a:do if((d|0)>=0){if(!(c[b+248>>2]|0)){d=PB(a,32)|0;if((d|0)<0)break;d=ID(a,b)|0;if((d|0)>=0)break;jB(a);break}d=0;while(1){if(d>>>0>=8){f=11;break}e=c[b+248+(d<<2)>>2]|0;if(e|0?(g=FP(e)|0,c[a+248+(d<<2)>>2]=g,(g|0)==0):0){d=-12;break}d=d+1|0}b:do if((f|0)==11){e=b+280|0;c:do if(c[e>>2]|0){f=b+284|0;d=gW(4,c[f>>2]|0)|0;g=a+280|0;c[g>>2]=d;if(!d){d=-12;break b}c[a+284>>2]=c[f>>2];d=0;while(1){if((d|0)>=(c[f>>2]|0))break c;i=FP(c[(c[e>>2]|0)+(d<<2)>>2]|0)|0;c[(c[g>>2]|0)+(d<<2)>>2]=i;if(!(c[(c[g>>2]|0)+(d<<2)>>2]|0)){d=-12;break b}else d=d+1|0}}while(0);d=c[b+376>>2]|0;if(d|0?(i=FP(d)|0,c[a+376>>2]=i,(i|0)==0):0){d=-12;break}f=b+64|0;if((c[f>>2]|0)==(b|0))c[a+64>>2]=a;else{d=c[h>>2]|0;if(!d){d=-22;break}e=zY(d)|0;c[a+64>>2]=e;if(!e){d=-12;break}Mn(e|0,c[f>>2]|0,d<<2|0)|0}c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];c[a+16>>2]=c[b+16>>2];c[a+20>>2]=c[b+20>>2];c[a+24>>2]=c[b+24>>2];c[a+28>>2]=c[b+28>>2];d=a+32|0;i=b+32|0;c[d>>2]=c[i>>2];c[d+4>>2]=c[i+4>>2];c[d+8>>2]=c[i+8>>2];c[d+12>>2]=c[i+12>>2];c[d+16>>2]=c[i+16>>2];c[d+20>>2]=c[i+20>>2];c[d+24>>2]=c[i+24>>2];c[d+28>>2]=c[i+28>>2];d=0;break a}while(0);jB(a)}while(0);return d|0}function ih(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;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;w=g^e;n=(e|0)>-1|(e|0)==-1&d>>>0>4294967295;j=_W(0,0,d|0,e|0)|0;k=M()|0;j=n?d:j;k=n?e:k;n=(g|0)>-1|(g|0)==-1&f>>>0>4294967295;l=_W(0,0,f|0,g|0)|0;m=M()|0;l=n?f:l;m=n?g:m;n=Vk(j,k,l,m)|0;o=M()|0;if((n|0)==0&(o|0)==0)m=g;else{d=xA(j|0,k|0,n|0,o|0)|0;e=M()|0;f=xA(l|0,m|0,n|0,o|0)|0;m=M()|0}s=(m|0)>(i|0)|(m|0)==(i|0)&f>>>0>h>>>0|((e|0)>(i|0)|(e|0)==(i|0)&d>>>0>h>>>0);l=s?1:d;t=0;k=s?0:f;u=1;j=s?f:0;f=s?m:0;while(1){if((j|0)==0&(f|0)==0){j=0;f=0;break}n=xA(d|0,e|0,j|0,f|0)|0;m=M()|0;o=((l|0)<0)<<31>>31;p=MR(n|0,m|0,l|0,o|0)|0;g=((t|0)<0)<<31>>31;p=aX(p|0,M()|0,t|0,g|0)|0;y=M()|0;r=((k|0)<0)<<31>>31;q=MR(n|0,m|0,k|0,r|0)|0;s=((u|0)<0)<<31>>31;q=aX(q|0,M()|0,u|0,s|0)|0;x=M()|0;if((y|0)>(i|0)|(y|0)==(i|0)&p>>>0>h>>>0|((x|0)>(i|0)|(x|0)==(i|0)&q>>>0>h>>>0)){v=6;break}s=MR(n|0,m|0,j|0,f|0)|0;s=_W(d|0,e|0,s|0,M()|0)|0;x=f;y=j;u=k;t=l;l=p;k=q;j=s;f=M()|0;e=x;d=y}if((v|0)==6){if(l){n=_W(h|0,i|0,t|0,g|0)|0;n=xA(n|0,M()|0,l|0,o|0)|0;m=M()|0}if(k){v=_W(h|0,i|0,u|0,s|0)|0;v=xA(v|0,M()|0,k|0,r|0)|0;y=M()|0;x=m>>>0>y>>>0|(m|0)==(y|0)&n>>>0>v>>>0;n=x?v:n;m=x?y:m}x=_U(k|0,r|0,1)|0;x=MR(x|0,M()|0,n|0,m|0)|0;x=aX(x|0,M()|0,u|0,s|0)|0;x=MR(x|0,M()|0,j|0,f|0)|0;i=M()|0;y=MR(d|0,e|0,k|0,r|0)|0;v=M()|0;if(i>>>0>v>>>0|(i|0)==(v|0)&x>>>0>y>>>0){l=(H(l,n)|0)+t|0;k=(H(k,n)|0)+u|0}}c[a>>2]=(w|0)<0?0-l|0:l;c[b>>2]=k;return (j|0)==0&(f|0)==0&1|0}function jh(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,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=Mb;Mb=Mb+16|0;v=A;x=A+4|0;y=1<<f;a:do if((f|0)<=30){z=gz(e,y,i&4)|0;if((z|0)<0)j=z;else{s=e+4|0;c[x>>2]=(c[s>>2]|0)+(z<<2);t=32-f|0;u=(i&2|0)==0;j=0;b:while(1){if((j|0)>=(g|0))break;r=h+(j<<3)|0;l=a[r>>0]|0;p=l&255;k=h+(j<<3)+4|0;m=c[k>>2]|0;q=b[h+(j<<3)+2>>1]|0;if((p|0)>(f|0)){q=p-f|0;l=m>>>t;a[r>>0]=q;c[k>>2]=m<<f;k=j;while(1){k=k+1|0;if((k|0)>=(g|0))break;m=h+(k<<3)|0;n=(d[m>>0]|0)-f|0;if((n|0)<1)break;o=h+(k<<3)+4|0;p=c[o>>2]|0;if((p>>>t|0)!=(l|0))break;a[m>>0]=n;c[o>>2]=p<<f;q=(q|0)>(n|0)?q:n}m=(q|0)>(f|0)?f:q;if(!u)l=(d[151296+(l>>>8&255)>>0]<<16|d[151296+(l&255)>>0]<<24|d[151296+(l>>>16&255)>>0]<<8|d[151296+(l>>>24)>>0])>>>t;b[(c[x>>2]|0)+(l<<2)+2>>1]=0-m;j=jh(e,m,k-j|0,r,i)|0;if((j|0)<0)break a;c[x>>2]=(c[s>>2]|0)+(z<<2);b[(c[x>>2]|0)+(l<<2)>>1]=j;j=k}else{o=1<<f-p;if(u){n=1;k=m>>>t}else{n=1<<p;k=d[151296+(m>>>8&255)>>0]<<16|d[151296+(m&255)>>0]<<24|d[151296+(m>>>16&255)>>0]<<8|d[151296+(m>>>24)>>0]}m=l&255;l=0;while(1){if((l|0)>=(o|0))break;r=b[(c[x>>2]|0)+(k<<2)+2>>1]|0;if(!(r<<16>>16==0|(r<<16>>16|0)==(p|0))){w=12;break b}b[(c[x>>2]|0)+(k<<2)+2>>1]=m;b[(c[x>>2]|0)+(k<<2)>>1]=q;l=l+1|0;k=k+n|0}j=j+1|0}}if((w|0)==12){AD(0,16,200377,v);j=-1094995529;break}j=0;while(1){if((j|0)>=(y|0)){j=z;break a}if(!(b[(c[x>>2]|0)+(j<<2)+2>>1]|0))b[(c[x>>2]|0)+(j<<2)>>1]=-1;j=j+1|0}}}else j=-1;while(0);Mb=A;return j|0}function kh(c,d,f,g,h,i,j,k,l,m,n){c=c|0;d=d|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;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=Mb;Mb=Mb+9088|0;B=C;z=g>>>1;A=i+1|0;y=l+-1|0;q=20704+(y<<4)|0;r=h+7|0;s=20704+(y<<4)+1|0;t=20704+(y<<4)+2|0;u=20704+(y<<4)+3|0;v=20704+(y<<4)+4|0;w=20704+(y<<4)+5|0;x=20704+(y<<4)+6|0;y=20704+(y<<4)+7|0;o=B;p=0;l=f+((H(z,-3)|0)<<1)|0;while(1){if((p|0)>=(r|0))break;g=0;while(1){if((g|0)>=(n|0))break;D=H(e[l+(g+-3<<1)>>1]|0,a[q>>0]|0)|0;D=(H(e[l+(g+-2<<1)>>1]|0,a[s>>0]|0)|0)+D|0;D=D+(H(e[l+(g+-1<<1)>>1]|0,a[t>>0]|0)|0)|0;D=D+(H(e[l+(g<<1)>>1]|0,a[u>>0]|0)|0)|0;f=g+1|0;D=D+(H(e[l+(f<<1)>>1]|0,a[v>>0]|0)|0)|0;D=D+(H(e[l+(g+2<<1)>>1]|0,a[w>>0]|0)|0)|0;D=D+(H(e[l+(g+3<<1)>>1]|0,a[x>>0]|0)|0)|0;D=(D+(H(e[l+(g+4<<1)>>1]|0,a[y>>0]|0)|0)|0)>>>4&65535;b[o+(g<<1)>>1]=D;g=f}o=o+128|0;p=p+1|0;l=l+(z<<1)|0}z=d>>>1;y=i+2|0;x=1<<A;v=m+-1|0;w=20704+(v<<4)|0;p=k<<4;q=20704+(v<<4)+1|0;r=20704+(v<<4)+2|0;s=20704+(v<<4)+3|0;f=20704+(v<<4)+4|0;t=20704+(v<<4)+5|0;u=20704+(v<<4)+6|0;v=20704+(v<<4)+7|0;l=B+384|0;o=0;while(1){if((o|0)>=(h|0))break;g=0;while(1){if((g|0)>=(n|0))break;D=H(b[l+(g+-192<<1)>>1]|0,a[w>>0]|0)|0;D=(H(b[l+(g+-128<<1)>>1]|0,a[q>>0]|0)|0)+D|0;D=D+(H(b[l+(g+-64<<1)>>1]|0,a[r>>0]|0)|0)|0;D=D+(H(b[l+(g<<1)>>1]|0,a[s>>0]|0)|0)|0;D=D+(H(b[l+(g+64<<1)>>1]|0,a[f>>0]|0)|0)|0;D=D+(H(b[l+(g+128<<1)>>1]|0,a[t>>0]|0)|0)|0;D=D+(H(b[l+(g+192<<1)>>1]|0,a[u>>0]|0)|0)|0;D=((H(D+(H(b[l+(g+256<<1)>>1]|0,a[v>>0]|0)|0)>>6,j)|0)+x>>y)+p|0;b[c+(g<<1)>>1]=D>>>0<4096?D:0-D>>31&4095;g=g+1|0}c=c+(z<<1)|0;l=l+128|0;o=o+1|0}Mb=C;return}function lh(c,d,f,g,h,i,j,k,l,m,n){c=c|0;d=d|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;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=Mb;Mb=Mb+9088|0;B=C;z=g>>>1;A=i+3|0;y=l+-1|0;q=20704+(y<<4)|0;r=h+7|0;s=20704+(y<<4)+1|0;t=20704+(y<<4)+2|0;u=20704+(y<<4)+3|0;v=20704+(y<<4)+4|0;w=20704+(y<<4)+5|0;x=20704+(y<<4)+6|0;y=20704+(y<<4)+7|0;o=B;p=0;l=f+((H(z,-3)|0)<<1)|0;while(1){if((p|0)>=(r|0))break;g=0;while(1){if((g|0)>=(n|0))break;D=H(e[l+(g+-3<<1)>>1]|0,a[q>>0]|0)|0;D=(H(e[l+(g+-2<<1)>>1]|0,a[s>>0]|0)|0)+D|0;D=D+(H(e[l+(g+-1<<1)>>1]|0,a[t>>0]|0)|0)|0;D=D+(H(e[l+(g<<1)>>1]|0,a[u>>0]|0)|0)|0;f=g+1|0;D=D+(H(e[l+(f<<1)>>1]|0,a[v>>0]|0)|0)|0;D=D+(H(e[l+(g+2<<1)>>1]|0,a[w>>0]|0)|0)|0;D=D+(H(e[l+(g+3<<1)>>1]|0,a[x>>0]|0)|0)|0;D=(D+(H(e[l+(g+4<<1)>>1]|0,a[y>>0]|0)|0)|0)>>>2&65535;b[o+(g<<1)>>1]=D;g=f}o=o+128|0;p=p+1|0;l=l+(z<<1)|0}z=d>>>1;y=i+4|0;x=1<<A;v=m+-1|0;w=20704+(v<<4)|0;p=k<<2;q=20704+(v<<4)+1|0;r=20704+(v<<4)+2|0;s=20704+(v<<4)+3|0;f=20704+(v<<4)+4|0;t=20704+(v<<4)+5|0;u=20704+(v<<4)+6|0;v=20704+(v<<4)+7|0;l=B+384|0;o=0;while(1){if((o|0)>=(h|0))break;g=0;while(1){if((g|0)>=(n|0))break;D=H(b[l+(g+-192<<1)>>1]|0,a[w>>0]|0)|0;D=(H(b[l+(g+-128<<1)>>1]|0,a[q>>0]|0)|0)+D|0;D=D+(H(b[l+(g+-64<<1)>>1]|0,a[r>>0]|0)|0)|0;D=D+(H(b[l+(g<<1)>>1]|0,a[s>>0]|0)|0)|0;D=D+(H(b[l+(g+64<<1)>>1]|0,a[f>>0]|0)|0)|0;D=D+(H(b[l+(g+128<<1)>>1]|0,a[t>>0]|0)|0)|0;D=D+(H(b[l+(g+192<<1)>>1]|0,a[u>>0]|0)|0)|0;D=((H(D+(H(b[l+(g+256<<1)>>1]|0,a[v>>0]|0)|0)>>6,j)|0)+x>>y)+p|0;b[c+(g<<1)>>1]=D>>>0<1024?D:0-D>>31&1023;g=g+1|0}c=c+(z<<1)|0;l=l+128|0;o=o+1|0}Mb=C;return}function mh(c,d,f,g,h,i,j,k,l,m,n){c=c|0;d=d|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;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=Mb;Mb=Mb+9088|0;B=C;z=g>>>1;A=i+4|0;y=l+-1|0;q=20704+(y<<4)|0;r=h+7|0;s=20704+(y<<4)+1|0;t=20704+(y<<4)+2|0;u=20704+(y<<4)+3|0;v=20704+(y<<4)+4|0;w=20704+(y<<4)+5|0;x=20704+(y<<4)+6|0;y=20704+(y<<4)+7|0;o=B;p=0;l=f+((H(z,-3)|0)<<1)|0;while(1){if((p|0)>=(r|0))break;g=0;while(1){if((g|0)>=(n|0))break;D=H(e[l+(g+-3<<1)>>1]|0,a[q>>0]|0)|0;D=(H(e[l+(g+-2<<1)>>1]|0,a[s>>0]|0)|0)+D|0;D=D+(H(e[l+(g+-1<<1)>>1]|0,a[t>>0]|0)|0)|0;D=D+(H(e[l+(g<<1)>>1]|0,a[u>>0]|0)|0)|0;f=g+1|0;D=D+(H(e[l+(f<<1)>>1]|0,a[v>>0]|0)|0)|0;D=D+(H(e[l+(g+2<<1)>>1]|0,a[w>>0]|0)|0)|0;D=D+(H(e[l+(g+3<<1)>>1]|0,a[x>>0]|0)|0)|0;D=(D+(H(e[l+(g+4<<1)>>1]|0,a[y>>0]|0)|0)|0)>>>1&65535;b[o+(g<<1)>>1]=D;g=f}o=o+128|0;p=p+1|0;l=l+(z<<1)|0}z=d>>>1;y=i+5|0;x=1<<A;v=m+-1|0;w=20704+(v<<4)|0;p=k<<1;q=20704+(v<<4)+1|0;r=20704+(v<<4)+2|0;s=20704+(v<<4)+3|0;f=20704+(v<<4)+4|0;t=20704+(v<<4)+5|0;u=20704+(v<<4)+6|0;v=20704+(v<<4)+7|0;l=B+384|0;o=0;while(1){if((o|0)>=(h|0))break;g=0;while(1){if((g|0)>=(n|0))break;D=H(b[l+(g+-192<<1)>>1]|0,a[w>>0]|0)|0;D=(H(b[l+(g+-128<<1)>>1]|0,a[q>>0]|0)|0)+D|0;D=D+(H(b[l+(g+-64<<1)>>1]|0,a[r>>0]|0)|0)|0;D=D+(H(b[l+(g<<1)>>1]|0,a[s>>0]|0)|0)|0;D=D+(H(b[l+(g+64<<1)>>1]|0,a[f>>0]|0)|0)|0;D=D+(H(b[l+(g+128<<1)>>1]|0,a[t>>0]|0)|0)|0;D=D+(H(b[l+(g+192<<1)>>1]|0,a[u>>0]|0)|0)|0;D=((H(D+(H(b[l+(g+256<<1)>>1]|0,a[v>>0]|0)|0)>>6,j)|0)+x>>y)+p|0;b[c+(g<<1)>>1]=D>>>0<512?D:0-D>>31&511;g=g+1|0}c=c+(z<<1)|0;l=l+128|0;o=o+1|0}Mb=C;return}function nh(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,m=0,n=0;n=Mb;Mb=Mb+48|0;m=n+32|0;l=n+24|0;j=n+16|0;h=n+8|0;e=n;k=n+36|0;c[k>>2]=0;g=UA(b,2,k)|0;a:do if(!g)b=0;else{b:do if(!(c[(c[a+12>>2]|0)+16>>2]&16384)){AD(a,16,170759,e);b=-22;e=a}else{f=c[k>>2]|0;c:do if((f|0)>=4){e=g+4|0;i=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;b=f+-4|0;c[k>>2]=b;do if(i&1){if((f|0)<8)break c;b=d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24;if((b|0)<1){AD(a,16,170852,h);b=-1094995529;e=a;break b}else{c[a+420>>2]=b;b=f+-8|0;c[k>>2]=b;e=g+8|0;break}}while(0);if(i&2){if((b|0)<8)break;g=e;f=g;g=g+4|0;g=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;h=a+448|0;c[h>>2]=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;c[h+4>>2]=g;b=b+-8|0;c[k>>2]=b;e=e+8|0}do if(i&4){if((b|0)<4)break c;f=d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24;if((f|0)<1){AD(a,16,170874,j);b=-1094995529;e=a;break b}else{c[a+416>>2]=f;b=b+-4|0;c[k>>2]=b;e=e+4|0;break}}while(0);if(!(i&8)){b=0;break a}if((b|0)>=8){l=e+4|0;j=d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24;c[a+124>>2]=j;l=d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24;c[a+128>>2]=l;c[k>>2]=b+-8;b=NE(a,j,l)|0;if((b|0)>=0){b=0;break a}e=a;break b}}while(0);AD(a,16,170894,l);b=-1094995529;e=a}while(0);AD(e,16,170929,m);b=(c[a+688>>2]&8|0)==0?0:b}while(0);Mb=n;return b|0}function oh(c,e,f,g,h,i,j,k,l,m,n,o,p,q){c=c|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;E=Mb;Mb=Mb+9088|0;C=E;D=j+7|0;B=o+-1|0;t=20704+(B<<4)|0;u=i+7|0;v=20704+(B<<4)+1|0;w=20704+(B<<4)+2|0;x=20704+(B<<4)+3|0;y=20704+(B<<4)+4|0;z=20704+(B<<4)+5|0;A=20704+(B<<4)+6|0;B=20704+(B<<4)+7|0;s=C;f=f+(H(g,-3)|0)|0;r=0;while(1){if((r|0)>=(u|0))break;o=0;while(1){if((o|0)>=(q|0))break;G=H(d[f+(o+-3)>>0]|0,a[t>>0]|0)|0;G=(H(d[f+(o+-2)>>0]|0,a[v>>0]|0)|0)+G|0;G=G+(H(d[f+(o+-1)>>0]|0,a[w>>0]|0)|0)|0;G=G+(H(d[f+o>>0]|0,a[x>>0]|0)|0)|0;F=o+1|0;G=G+(H(d[f+F>>0]|0,a[y>>0]|0)|0)|0;G=G+(H(d[f+(o+2)>>0]|0,a[z>>0]|0)|0)|0;G=G+(H(d[f+(o+3)>>0]|0,a[A>>0]|0)|0)|0;G=G+(H(d[f+(o+4)>>0]|0,a[B>>0]|0)|0)&65535;b[s+(o<<1)>>1]=G;o=F}s=s+128|0;f=f+g|0;r=r+1|0}A=p+-1|0;t=20704+(A<<4)|0;u=20704+(A<<4)+1|0;v=20704+(A<<4)+2|0;w=20704+(A<<4)+3|0;x=20704+(A<<4)+4|0;y=20704+(A<<4)+5|0;z=20704+(A<<4)+6|0;A=20704+(A<<4)+7|0;s=m+1+n<<j+6;o=C+384|0;r=0;while(1){if((r|0)>=(i|0))break;f=0;while(1){if((f|0)>=(q|0))break;G=H(b[o+(f+-192<<1)>>1]|0,a[t>>0]|0)|0;G=(H(b[o+(f+-128<<1)>>1]|0,a[u>>0]|0)|0)+G|0;G=G+(H(b[o+(f+-64<<1)>>1]|0,a[v>>0]|0)|0)|0;G=G+(H(b[o+(f<<1)>>1]|0,a[w>>0]|0)|0)|0;G=G+(H(b[o+(f+64<<1)>>1]|0,a[x>>0]|0)|0)|0;G=G+(H(b[o+(f+128<<1)>>1]|0,a[y>>0]|0)|0)|0;G=G+(H(b[o+(f+192<<1)>>1]|0,a[z>>0]|0)|0)|0;G=H(G+(H(b[o+(f+256<<1)>>1]|0,a[A>>0]|0)|0)>>6,l)|0;G=(H(b[h+(f<<1)>>1]|0,k)|0)+s+G>>D;a[c+f>>0]=G>>>0>255?0-G>>31:G;f=f+1|0}h=h+128|0;c=c+e|0;o=o+128|0;r=r+1|0}Mb=E;return}function ph(b){b=b|0;var c=0,d=0,e=0;c=0;while(1){if((c|0)==6)break;d=b+(c<<6)|0;e=d+16|0;do{a[d>>0]=16;d=d+1|0}while((d|0)<(e|0));a[b+1536+c>>0]=16;a[b+1542+c>>0]=16;c=c+1|0}d=b+384|0;c=20272;e=d+64|0;do{a[d>>0]=a[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));d=b+448|0;c=20272;e=d+64|0;do{a[d>>0]=a[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));d=b+512|0;c=20272;e=d+64|0;do{a[d>>0]=a[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));d=b+576|0;c=20336;e=d+64|0;do{a[d>>0]=a[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));d=b+640|0;c=20336;e=d+64|0;do{a[d>>0]=a[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));d=b+704|0;c=20336;e=d+64|0;do{a[d>>0]=a[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));d=b+768|0;c=20272;e=d+64|0;do{a[d>>0]=a[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));d=b+832|0;c=20272;e=d+64|0;do{a[d>>0]=a[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));d=b+896|0;c=20272;e=d+64|0;do{a[d>>0]=a[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));d=b+960|0;c=20336;e=d+64|0;do{a[d>>0]=a[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));d=b+1024|0;c=20336;e=d+64|0;do{a[d>>0]=a[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));d=b+1088|0;c=20336;e=d+64|0;do{a[d>>0]=a[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));d=b+1152|0;c=20272;e=d+64|0;do{a[d>>0]=a[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));d=b+1216|0;c=20272;e=d+64|0;do{a[d>>0]=a[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));d=b+1280|0;c=20272;e=d+64|0;do{a[d>>0]=a[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));d=b+1344|0;c=20336;e=d+64|0;do{a[d>>0]=a[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));d=b+1408|0;c=20336;e=d+64|0;do{a[d>>0]=a[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));d=b+1472|0;c=20336;e=d+64|0;do{a[d>>0]=a[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));return}function qh(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==8)break;k=c+2|0;j=c+-2|0;l=c+4|0;a=H((e[l>>1]|0)+(e[j>>1]|0)|0,-5)|0;m=c+6|0;a=(((e[k>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+a+(e[m>>1]|0)>>5;b[d>>1]=((e[d>>1]|0)+1+(a>>>0<16384?a:0-a>>31&16383)|0)>>>1;a=d+2|0;n=H((e[m>>1]|0)+(e[c>>1]|0)|0,-5)|0;o=c+8|0;n=(((e[l>>1]|0)+(e[k>>1]|0)|0)*20|0)+16+(e[j>>1]|0)+n+(e[o>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<16384?n:0-n>>31&16383)|0)>>>1;a=d+4|0;n=H((e[o>>1]|0)+(e[k>>1]|0)|0,-5)|0;j=c+10|0;n=(((e[m>>1]|0)+(e[l>>1]|0)|0)*20|0)+16+(e[c>>1]|0)+n+(e[j>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<16384?n:0-n>>31&16383)|0)>>>1;a=d+6|0;n=H((e[j>>1]|0)+(e[l>>1]|0)|0,-5)|0;i=c+12|0;n=(((e[o>>1]|0)+(e[m>>1]|0)|0)*20|0)+16+(e[k>>1]|0)+n+(e[i>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<16384?n:0-n>>31&16383)|0)>>>1;a=d+8|0;n=H((e[i>>1]|0)+(e[m>>1]|0)|0,-5)|0;k=c+14|0;n=(((e[j>>1]|0)+(e[o>>1]|0)|0)*20|0)+16+(e[l>>1]|0)+n+(e[k>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<16384?n:0-n>>31&16383)|0)>>>1;a=d+10|0;n=H((e[k>>1]|0)+(e[o>>1]|0)|0,-5)|0;l=c+16|0;n=(((e[i>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[m>>1]|0)+n+(e[l>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<16384?n:0-n>>31&16383)|0)>>>1;a=d+12|0;n=H((e[l>>1]|0)+(e[j>>1]|0)|0,-5)|0;m=c+18|0;n=(((e[k>>1]|0)+(e[i>>1]|0)|0)*20|0)+16+(e[o>>1]|0)+n+(e[m>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<16384?n:0-n>>31&16383)|0)>>>1;a=d+14|0;i=H((e[m>>1]|0)+(e[i>>1]|0)|0,-5)|0;i=(((e[l>>1]|0)+(e[k>>1]|0)|0)*20|0)+16+(e[j>>1]|0)+i+(e[c+20>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(i>>>0<16384?i:0-i>>31&16383)|0)>>>1;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function rh(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==8)break;k=c+2|0;j=c+-2|0;l=c+4|0;a=H((e[l>>1]|0)+(e[j>>1]|0)|0,-5)|0;m=c+6|0;a=(((e[k>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+a+(e[m>>1]|0)>>5;b[d>>1]=((e[d>>1]|0)+1+(a>>>0<4096?a:0-a>>31&4095)|0)>>>1;a=d+2|0;n=H((e[m>>1]|0)+(e[c>>1]|0)|0,-5)|0;o=c+8|0;n=(((e[l>>1]|0)+(e[k>>1]|0)|0)*20|0)+16+(e[j>>1]|0)+n+(e[o>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<4096?n:0-n>>31&4095)|0)>>>1;a=d+4|0;n=H((e[o>>1]|0)+(e[k>>1]|0)|0,-5)|0;j=c+10|0;n=(((e[m>>1]|0)+(e[l>>1]|0)|0)*20|0)+16+(e[c>>1]|0)+n+(e[j>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<4096?n:0-n>>31&4095)|0)>>>1;a=d+6|0;n=H((e[j>>1]|0)+(e[l>>1]|0)|0,-5)|0;i=c+12|0;n=(((e[o>>1]|0)+(e[m>>1]|0)|0)*20|0)+16+(e[k>>1]|0)+n+(e[i>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<4096?n:0-n>>31&4095)|0)>>>1;a=d+8|0;n=H((e[i>>1]|0)+(e[m>>1]|0)|0,-5)|0;k=c+14|0;n=(((e[j>>1]|0)+(e[o>>1]|0)|0)*20|0)+16+(e[l>>1]|0)+n+(e[k>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<4096?n:0-n>>31&4095)|0)>>>1;a=d+10|0;n=H((e[k>>1]|0)+(e[o>>1]|0)|0,-5)|0;l=c+16|0;n=(((e[i>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[m>>1]|0)+n+(e[l>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<4096?n:0-n>>31&4095)|0)>>>1;a=d+12|0;n=H((e[l>>1]|0)+(e[j>>1]|0)|0,-5)|0;m=c+18|0;n=(((e[k>>1]|0)+(e[i>>1]|0)|0)*20|0)+16+(e[o>>1]|0)+n+(e[m>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<4096?n:0-n>>31&4095)|0)>>>1;a=d+14|0;i=H((e[m>>1]|0)+(e[i>>1]|0)|0,-5)|0;i=(((e[l>>1]|0)+(e[k>>1]|0)|0)*20|0)+16+(e[j>>1]|0)+i+(e[c+20>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(i>>>0<4096?i:0-i>>31&4095)|0)>>>1;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function sh(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==8)break;k=c+2|0;j=c+-2|0;l=c+4|0;a=H((e[l>>1]|0)+(e[j>>1]|0)|0,-5)|0;m=c+6|0;a=(((e[k>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+a+(e[m>>1]|0)>>5;b[d>>1]=((e[d>>1]|0)+1+(a>>>0<1024?a:0-a>>31&1023)|0)>>>1;a=d+2|0;n=H((e[m>>1]|0)+(e[c>>1]|0)|0,-5)|0;o=c+8|0;n=(((e[l>>1]|0)+(e[k>>1]|0)|0)*20|0)+16+(e[j>>1]|0)+n+(e[o>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<1024?n:0-n>>31&1023)|0)>>>1;a=d+4|0;n=H((e[o>>1]|0)+(e[k>>1]|0)|0,-5)|0;j=c+10|0;n=(((e[m>>1]|0)+(e[l>>1]|0)|0)*20|0)+16+(e[c>>1]|0)+n+(e[j>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<1024?n:0-n>>31&1023)|0)>>>1;a=d+6|0;n=H((e[j>>1]|0)+(e[l>>1]|0)|0,-5)|0;i=c+12|0;n=(((e[o>>1]|0)+(e[m>>1]|0)|0)*20|0)+16+(e[k>>1]|0)+n+(e[i>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<1024?n:0-n>>31&1023)|0)>>>1;a=d+8|0;n=H((e[i>>1]|0)+(e[m>>1]|0)|0,-5)|0;k=c+14|0;n=(((e[j>>1]|0)+(e[o>>1]|0)|0)*20|0)+16+(e[l>>1]|0)+n+(e[k>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<1024?n:0-n>>31&1023)|0)>>>1;a=d+10|0;n=H((e[k>>1]|0)+(e[o>>1]|0)|0,-5)|0;l=c+16|0;n=(((e[i>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[m>>1]|0)+n+(e[l>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<1024?n:0-n>>31&1023)|0)>>>1;a=d+12|0;n=H((e[l>>1]|0)+(e[j>>1]|0)|0,-5)|0;m=c+18|0;n=(((e[k>>1]|0)+(e[i>>1]|0)|0)*20|0)+16+(e[o>>1]|0)+n+(e[m>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<1024?n:0-n>>31&1023)|0)>>>1;a=d+14|0;i=H((e[m>>1]|0)+(e[i>>1]|0)|0,-5)|0;i=(((e[l>>1]|0)+(e[k>>1]|0)|0)*20|0)+16+(e[j>>1]|0)+i+(e[c+20>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(i>>>0<1024?i:0-i>>31&1023)|0)>>>1;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function th(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==8)break;k=c+2|0;j=c+-2|0;l=c+4|0;a=H((e[l>>1]|0)+(e[j>>1]|0)|0,-5)|0;m=c+6|0;a=(((e[k>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+a+(e[m>>1]|0)>>5;b[d>>1]=((e[d>>1]|0)+1+(a>>>0<512?a:0-a>>31&511)|0)>>>1;a=d+2|0;n=H((e[m>>1]|0)+(e[c>>1]|0)|0,-5)|0;o=c+8|0;n=(((e[l>>1]|0)+(e[k>>1]|0)|0)*20|0)+16+(e[j>>1]|0)+n+(e[o>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<512?n:0-n>>31&511)|0)>>>1;a=d+4|0;n=H((e[o>>1]|0)+(e[k>>1]|0)|0,-5)|0;j=c+10|0;n=(((e[m>>1]|0)+(e[l>>1]|0)|0)*20|0)+16+(e[c>>1]|0)+n+(e[j>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<512?n:0-n>>31&511)|0)>>>1;a=d+6|0;n=H((e[j>>1]|0)+(e[l>>1]|0)|0,-5)|0;i=c+12|0;n=(((e[o>>1]|0)+(e[m>>1]|0)|0)*20|0)+16+(e[k>>1]|0)+n+(e[i>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<512?n:0-n>>31&511)|0)>>>1;a=d+8|0;n=H((e[i>>1]|0)+(e[m>>1]|0)|0,-5)|0;k=c+14|0;n=(((e[j>>1]|0)+(e[o>>1]|0)|0)*20|0)+16+(e[l>>1]|0)+n+(e[k>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<512?n:0-n>>31&511)|0)>>>1;a=d+10|0;n=H((e[k>>1]|0)+(e[o>>1]|0)|0,-5)|0;l=c+16|0;n=(((e[i>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[m>>1]|0)+n+(e[l>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<512?n:0-n>>31&511)|0)>>>1;a=d+12|0;n=H((e[l>>1]|0)+(e[j>>1]|0)|0,-5)|0;m=c+18|0;n=(((e[k>>1]|0)+(e[i>>1]|0)|0)*20|0)+16+(e[o>>1]|0)+n+(e[m>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<512?n:0-n>>31&511)|0)>>>1;a=d+14|0;i=H((e[m>>1]|0)+(e[i>>1]|0)|0,-5)|0;i=(((e[l>>1]|0)+(e[k>>1]|0)|0)*20|0)+16+(e[j>>1]|0)+i+(e[c+20>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(i>>>0<512?i:0-i>>31&511)|0)>>>1;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function uh(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0;w=d>>1;x=f>>1;y=H(x,-2)|0;z=0-x|0;u=f&-2;v=x*3|0;n=x<<2;o=x*5|0;p=x*6|0;q=x*7|0;r=x<<3;s=x*9|0;t=x*10|0;h=d&-2;i=w*3|0;j=w<<2;k=w*5|0;l=w*6|0;m=w*7|0;g=0;d=a;f=c;while(1){if((g|0)==8)break;E=e[f+(z<<1)>>1]|0;N=e[f>>1]|0;M=e[f+(x<<1)>>1]|0;L=e[f+(u<<1)>>1]|0;K=e[f+(v<<1)>>1]|0;I=e[f+(n<<1)>>1]|0;F=e[f+(o<<1)>>1]|0;a=e[f+(p<<1)>>1]|0;B=e[f+(q<<1)>>1]|0;C=e[f+(r<<1)>>1]|0;A=e[f+(s<<1)>>1]|0;D=e[f+(t<<1)>>1]|0;J=K+16|0;c=J+(e[f+(y<<1)>>1]|0)+((M+N|0)*20|0)+(H(L+E|0,-5)|0)>>5;b[d>>1]=((c>>>0<16384?c:0-c>>31&16383)+1+(e[d>>1]|0)|0)>>>1;c=d+(w<<1)|0;G=I+16|0;E=G+E+((L+M|0)*20|0)+(H(K+N|0,-5)|0)>>5;b[c>>1]=((E>>>0<16384?E:0-E>>31&16383)+1+(e[c>>1]|0)|0)>>>1;c=d+(h<<1)|0;E=F+16|0;N=E+N+((K+L|0)*20|0)+(H(I+M|0,-5)|0)>>5;b[c>>1]=((N>>>0<16384?N:0-N>>31&16383)+1+(e[c>>1]|0)|0)>>>1;c=d+(i<<1)|0;M=M+16+a+((I+K|0)*20|0)+(H(F+L|0,-5)|0)>>5;b[c>>1]=((M>>>0<16384?M:0-M>>31&16383)+1+(e[c>>1]|0)|0)>>>1;c=d+(j<<1)|0;K=L+16+B+((F+I|0)*20|0)+(H(a+K|0,-5)|0)>>5;b[c>>1]=((K>>>0<16384?K:0-K>>31&16383)+1+(e[c>>1]|0)|0)>>>1;c=d+(k<<1)|0;I=J+C+((a+F|0)*20|0)+(H(B+I|0,-5)|0)>>5;b[c>>1]=((I>>>0<16384?I:0-I>>31&16383)+1+(e[c>>1]|0)|0)>>>1;c=d+(l<<1)|0;F=G+A+((B+a|0)*20|0)+(H(C+F|0,-5)|0)>>5;b[c>>1]=((F>>>0<16384?F:0-F>>31&16383)+1+(e[c>>1]|0)|0)>>>1;c=d+(m<<1)|0;a=E+D+((C+B|0)*20|0)+(H(A+a|0,-5)|0)>>5;b[c>>1]=((a>>>0<16384?a:0-a>>31&16383)+1+(e[c>>1]|0)|0)>>>1;g=g+1|0;d=d+2|0;f=f+2|0}return}function vh(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0;w=d>>1;x=f>>1;y=H(x,-2)|0;z=0-x|0;u=f&-2;v=x*3|0;n=x<<2;o=x*5|0;p=x*6|0;q=x*7|0;r=x<<3;s=x*9|0;t=x*10|0;h=d&-2;i=w*3|0;j=w<<2;k=w*5|0;l=w*6|0;m=w*7|0;g=0;d=a;f=c;while(1){if((g|0)==8)break;E=e[f+(z<<1)>>1]|0;N=e[f>>1]|0;M=e[f+(x<<1)>>1]|0;L=e[f+(u<<1)>>1]|0;K=e[f+(v<<1)>>1]|0;I=e[f+(n<<1)>>1]|0;F=e[f+(o<<1)>>1]|0;a=e[f+(p<<1)>>1]|0;B=e[f+(q<<1)>>1]|0;C=e[f+(r<<1)>>1]|0;A=e[f+(s<<1)>>1]|0;D=e[f+(t<<1)>>1]|0;J=K+16|0;c=J+(e[f+(y<<1)>>1]|0)+((M+N|0)*20|0)+(H(L+E|0,-5)|0)>>5;b[d>>1]=((c>>>0<4096?c:0-c>>31&4095)+1+(e[d>>1]|0)|0)>>>1;c=d+(w<<1)|0;G=I+16|0;E=G+E+((L+M|0)*20|0)+(H(K+N|0,-5)|0)>>5;b[c>>1]=((E>>>0<4096?E:0-E>>31&4095)+1+(e[c>>1]|0)|0)>>>1;c=d+(h<<1)|0;E=F+16|0;N=E+N+((K+L|0)*20|0)+(H(I+M|0,-5)|0)>>5;b[c>>1]=((N>>>0<4096?N:0-N>>31&4095)+1+(e[c>>1]|0)|0)>>>1;c=d+(i<<1)|0;M=M+16+a+((I+K|0)*20|0)+(H(F+L|0,-5)|0)>>5;b[c>>1]=((M>>>0<4096?M:0-M>>31&4095)+1+(e[c>>1]|0)|0)>>>1;c=d+(j<<1)|0;K=L+16+B+((F+I|0)*20|0)+(H(a+K|0,-5)|0)>>5;b[c>>1]=((K>>>0<4096?K:0-K>>31&4095)+1+(e[c>>1]|0)|0)>>>1;c=d+(k<<1)|0;I=J+C+((a+F|0)*20|0)+(H(B+I|0,-5)|0)>>5;b[c>>1]=((I>>>0<4096?I:0-I>>31&4095)+1+(e[c>>1]|0)|0)>>>1;c=d+(l<<1)|0;F=G+A+((B+a|0)*20|0)+(H(C+F|0,-5)|0)>>5;b[c>>1]=((F>>>0<4096?F:0-F>>31&4095)+1+(e[c>>1]|0)|0)>>>1;c=d+(m<<1)|0;a=E+D+((C+B|0)*20|0)+(H(A+a|0,-5)|0)>>5;b[c>>1]=((a>>>0<4096?a:0-a>>31&4095)+1+(e[c>>1]|0)|0)>>>1;g=g+1|0;d=d+2|0;f=f+2|0}return}function wh(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0;w=d>>1;x=f>>1;y=H(x,-2)|0;z=0-x|0;u=f&-2;v=x*3|0;n=x<<2;o=x*5|0;p=x*6|0;q=x*7|0;r=x<<3;s=x*9|0;t=x*10|0;h=d&-2;i=w*3|0;j=w<<2;k=w*5|0;l=w*6|0;m=w*7|0;g=0;d=a;f=c;while(1){if((g|0)==8)break;E=e[f+(z<<1)>>1]|0;N=e[f>>1]|0;M=e[f+(x<<1)>>1]|0;L=e[f+(u<<1)>>1]|0;K=e[f+(v<<1)>>1]|0;I=e[f+(n<<1)>>1]|0;F=e[f+(o<<1)>>1]|0;a=e[f+(p<<1)>>1]|0;B=e[f+(q<<1)>>1]|0;C=e[f+(r<<1)>>1]|0;A=e[f+(s<<1)>>1]|0;D=e[f+(t<<1)>>1]|0;J=K+16|0;c=J+(e[f+(y<<1)>>1]|0)+((M+N|0)*20|0)+(H(L+E|0,-5)|0)>>5;b[d>>1]=((c>>>0<1024?c:0-c>>31&1023)+1+(e[d>>1]|0)|0)>>>1;c=d+(w<<1)|0;G=I+16|0;E=G+E+((L+M|0)*20|0)+(H(K+N|0,-5)|0)>>5;b[c>>1]=((E>>>0<1024?E:0-E>>31&1023)+1+(e[c>>1]|0)|0)>>>1;c=d+(h<<1)|0;E=F+16|0;N=E+N+((K+L|0)*20|0)+(H(I+M|0,-5)|0)>>5;b[c>>1]=((N>>>0<1024?N:0-N>>31&1023)+1+(e[c>>1]|0)|0)>>>1;c=d+(i<<1)|0;M=M+16+a+((I+K|0)*20|0)+(H(F+L|0,-5)|0)>>5;b[c>>1]=((M>>>0<1024?M:0-M>>31&1023)+1+(e[c>>1]|0)|0)>>>1;c=d+(j<<1)|0;K=L+16+B+((F+I|0)*20|0)+(H(a+K|0,-5)|0)>>5;b[c>>1]=((K>>>0<1024?K:0-K>>31&1023)+1+(e[c>>1]|0)|0)>>>1;c=d+(k<<1)|0;I=J+C+((a+F|0)*20|0)+(H(B+I|0,-5)|0)>>5;b[c>>1]=((I>>>0<1024?I:0-I>>31&1023)+1+(e[c>>1]|0)|0)>>>1;c=d+(l<<1)|0;F=G+A+((B+a|0)*20|0)+(H(C+F|0,-5)|0)>>5;b[c>>1]=((F>>>0<1024?F:0-F>>31&1023)+1+(e[c>>1]|0)|0)>>>1;c=d+(m<<1)|0;a=E+D+((C+B|0)*20|0)+(H(A+a|0,-5)|0)>>5;b[c>>1]=((a>>>0<1024?a:0-a>>31&1023)+1+(e[c>>1]|0)|0)>>>1;g=g+1|0;d=d+2|0;f=f+2|0}return}function xh(c,d,f,g,h,i,j,k,l){c=c|0;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,o=0,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=Mb;Mb=Mb+9088|0;y=z;x=g>>>1;w=j+-1|0;o=20704+(w<<4)|0;p=i+7|0;q=20704+(w<<4)+1|0;r=20704+(w<<4)+2|0;s=20704+(w<<4)+3|0;t=20704+(w<<4)+4|0;u=20704+(w<<4)+5|0;v=20704+(w<<4)+6|0;w=20704+(w<<4)+7|0;m=y;n=0;j=f+((H(x,-3)|0)<<1)|0;while(1){if((n|0)>=(p|0))break;g=0;while(1){if((g|0)>=(l|0))break;A=H(e[j+(g+-3<<1)>>1]|0,a[o>>0]|0)|0;A=(H(e[j+(g+-2<<1)>>1]|0,a[q>>0]|0)|0)+A|0;A=A+(H(e[j+(g+-1<<1)>>1]|0,a[r>>0]|0)|0)|0;A=A+(H(e[j+(g<<1)>>1]|0,a[s>>0]|0)|0)|0;f=g+1|0;A=A+(H(e[j+(f<<1)>>1]|0,a[t>>0]|0)|0)|0;A=A+(H(e[j+(g+2<<1)>>1]|0,a[u>>0]|0)|0)|0;A=A+(H(e[j+(g+3<<1)>>1]|0,a[v>>0]|0)|0)|0;A=(A+(H(e[j+(g+4<<1)>>1]|0,a[w>>0]|0)|0)|0)>>>2&65535;b[m+(g<<1)>>1]=A;g=f}m=m+128|0;n=n+1|0;j=j+(x<<1)|0}u=d>>>1;q=k+-1|0;r=20704+(q<<4)|0;s=20704+(q<<4)+1|0;t=20704+(q<<4)+2|0;f=20704+(q<<4)+3|0;n=20704+(q<<4)+4|0;o=20704+(q<<4)+5|0;p=20704+(q<<4)+6|0;q=20704+(q<<4)+7|0;j=y+384|0;m=0;while(1){if((m|0)>=(i|0))break;g=0;while(1){if((g|0)>=(l|0))break;A=H(b[j+(g+-192<<1)>>1]|0,a[r>>0]|0)|0;A=(H(b[j+(g+-128<<1)>>1]|0,a[s>>0]|0)|0)+A|0;A=A+(H(b[j+(g+-64<<1)>>1]|0,a[t>>0]|0)|0)|0;A=A+(H(b[j+(g<<1)>>1]|0,a[f>>0]|0)|0)|0;A=A+(H(b[j+(g+64<<1)>>1]|0,a[n>>0]|0)|0)|0;A=A+(H(b[j+(g+128<<1)>>1]|0,a[o>>0]|0)|0)|0;A=A+(H(b[j+(g+192<<1)>>1]|0,a[p>>0]|0)|0)|0;A=A+(H(b[j+(g+256<<1)>>1]|0,a[q>>0]|0)|0)>>6;A=(b[h+(g<<1)>>1]|0)+16+A>>5;b[c+(g<<1)>>1]=A>>>0<1024?A:0-A>>31&1023;g=g+1|0}h=h+128|0;c=c+(u<<1)|0;j=j+128|0;m=m+1|0}Mb=z;return}function yh(c,d,f,g,h,i,j,k,l){c=c|0;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,o=0,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=Mb;Mb=Mb+9088|0;y=z;x=g>>>1;w=j+-1|0;o=20704+(w<<4)|0;p=i+7|0;q=20704+(w<<4)+1|0;r=20704+(w<<4)+2|0;s=20704+(w<<4)+3|0;t=20704+(w<<4)+4|0;u=20704+(w<<4)+5|0;v=20704+(w<<4)+6|0;w=20704+(w<<4)+7|0;m=y;n=0;j=f+((H(x,-3)|0)<<1)|0;while(1){if((n|0)>=(p|0))break;g=0;while(1){if((g|0)>=(l|0))break;A=H(e[j+(g+-3<<1)>>1]|0,a[o>>0]|0)|0;A=(H(e[j+(g+-2<<1)>>1]|0,a[q>>0]|0)|0)+A|0;A=A+(H(e[j+(g+-1<<1)>>1]|0,a[r>>0]|0)|0)|0;A=A+(H(e[j+(g<<1)>>1]|0,a[s>>0]|0)|0)|0;f=g+1|0;A=A+(H(e[j+(f<<1)>>1]|0,a[t>>0]|0)|0)|0;A=A+(H(e[j+(g+2<<1)>>1]|0,a[u>>0]|0)|0)|0;A=A+(H(e[j+(g+3<<1)>>1]|0,a[v>>0]|0)|0)|0;A=(A+(H(e[j+(g+4<<1)>>1]|0,a[w>>0]|0)|0)|0)>>>4&65535;b[m+(g<<1)>>1]=A;g=f}m=m+128|0;n=n+1|0;j=j+(x<<1)|0}u=d>>>1;q=k+-1|0;r=20704+(q<<4)|0;s=20704+(q<<4)+1|0;t=20704+(q<<4)+2|0;f=20704+(q<<4)+3|0;n=20704+(q<<4)+4|0;o=20704+(q<<4)+5|0;p=20704+(q<<4)+6|0;q=20704+(q<<4)+7|0;j=y+384|0;m=0;while(1){if((m|0)>=(i|0))break;g=0;while(1){if((g|0)>=(l|0))break;A=H(b[j+(g+-192<<1)>>1]|0,a[r>>0]|0)|0;A=(H(b[j+(g+-128<<1)>>1]|0,a[s>>0]|0)|0)+A|0;A=A+(H(b[j+(g+-64<<1)>>1]|0,a[t>>0]|0)|0)|0;A=A+(H(b[j+(g<<1)>>1]|0,a[f>>0]|0)|0)|0;A=A+(H(b[j+(g+64<<1)>>1]|0,a[n>>0]|0)|0)|0;A=A+(H(b[j+(g+128<<1)>>1]|0,a[o>>0]|0)|0)|0;A=A+(H(b[j+(g+192<<1)>>1]|0,a[p>>0]|0)|0)|0;A=A+(H(b[j+(g+256<<1)>>1]|0,a[q>>0]|0)|0)>>6;A=(b[h+(g<<1)>>1]|0)+4+A>>3;b[c+(g<<1)>>1]=A>>>0<4096?A:0-A>>31&4095;g=g+1|0}h=h+128|0;c=c+(u<<1)|0;j=j+128|0;m=m+1|0}Mb=z;return}function zh(c,d,f,g,h,i,j,k,l){c=c|0;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,o=0,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=Mb;Mb=Mb+9088|0;y=z;x=g>>>1;w=j+-1|0;o=20704+(w<<4)|0;p=i+7|0;q=20704+(w<<4)+1|0;r=20704+(w<<4)+2|0;s=20704+(w<<4)+3|0;t=20704+(w<<4)+4|0;u=20704+(w<<4)+5|0;v=20704+(w<<4)+6|0;w=20704+(w<<4)+7|0;m=y;n=0;j=f+((H(x,-3)|0)<<1)|0;while(1){if((n|0)>=(p|0))break;g=0;while(1){if((g|0)>=(l|0))break;A=H(e[j+(g+-3<<1)>>1]|0,a[o>>0]|0)|0;A=(H(e[j+(g+-2<<1)>>1]|0,a[q>>0]|0)|0)+A|0;A=A+(H(e[j+(g+-1<<1)>>1]|0,a[r>>0]|0)|0)|0;A=A+(H(e[j+(g<<1)>>1]|0,a[s>>0]|0)|0)|0;f=g+1|0;A=A+(H(e[j+(f<<1)>>1]|0,a[t>>0]|0)|0)|0;A=A+(H(e[j+(g+2<<1)>>1]|0,a[u>>0]|0)|0)|0;A=A+(H(e[j+(g+3<<1)>>1]|0,a[v>>0]|0)|0)|0;A=(A+(H(e[j+(g+4<<1)>>1]|0,a[w>>0]|0)|0)|0)>>>1&65535;b[m+(g<<1)>>1]=A;g=f}m=m+128|0;n=n+1|0;j=j+(x<<1)|0}u=d>>>1;q=k+-1|0;r=20704+(q<<4)|0;s=20704+(q<<4)+1|0;t=20704+(q<<4)+2|0;f=20704+(q<<4)+3|0;n=20704+(q<<4)+4|0;o=20704+(q<<4)+5|0;p=20704+(q<<4)+6|0;q=20704+(q<<4)+7|0;j=y+384|0;m=0;while(1){if((m|0)>=(i|0))break;g=0;while(1){if((g|0)>=(l|0))break;A=H(b[j+(g+-192<<1)>>1]|0,a[r>>0]|0)|0;A=(H(b[j+(g+-128<<1)>>1]|0,a[s>>0]|0)|0)+A|0;A=A+(H(b[j+(g+-64<<1)>>1]|0,a[t>>0]|0)|0)|0;A=A+(H(b[j+(g<<1)>>1]|0,a[f>>0]|0)|0)|0;A=A+(H(b[j+(g+64<<1)>>1]|0,a[n>>0]|0)|0)|0;A=A+(H(b[j+(g+128<<1)>>1]|0,a[o>>0]|0)|0)|0;A=A+(H(b[j+(g+192<<1)>>1]|0,a[p>>0]|0)|0)|0;A=A+(H(b[j+(g+256<<1)>>1]|0,a[q>>0]|0)|0)>>6;A=(b[h+(g<<1)>>1]|0)+32+A>>6;b[c+(g<<1)>>1]=A>>>0<512?A:0-A>>31&511;g=g+1|0}h=h+128|0;c=c+(u<<1)|0;j=j+128|0;m=m+1|0}Mb=z;return}function Ah(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0;w=d>>1;x=f>>1;y=H(x,-2)|0;z=0-x|0;u=f&-2;v=x*3|0;n=x<<2;o=x*5|0;p=x*6|0;q=x*7|0;r=x<<3;s=x*9|0;t=x*10|0;h=d&-2;i=w*3|0;j=w<<2;k=w*5|0;l=w*6|0;m=w*7|0;g=0;d=a;f=c;while(1){if((g|0)==8)break;E=e[f+(z<<1)>>1]|0;N=e[f>>1]|0;M=e[f+(x<<1)>>1]|0;L=e[f+(u<<1)>>1]|0;K=e[f+(v<<1)>>1]|0;I=e[f+(n<<1)>>1]|0;F=e[f+(o<<1)>>1]|0;a=e[f+(p<<1)>>1]|0;B=e[f+(q<<1)>>1]|0;C=e[f+(r<<1)>>1]|0;A=e[f+(s<<1)>>1]|0;D=e[f+(t<<1)>>1]|0;J=K+16|0;c=J+(e[f+(y<<1)>>1]|0)+((M+N|0)*20|0)+(H(L+E|0,-5)|0)>>5;b[d>>1]=((c>>>0<512?c:0-c>>31&511)+1+(e[d>>1]|0)|0)>>>1;c=d+(w<<1)|0;G=I+16|0;E=G+E+((L+M|0)*20|0)+(H(K+N|0,-5)|0)>>5;b[c>>1]=((E>>>0<512?E:0-E>>31&511)+1+(e[c>>1]|0)|0)>>>1;c=d+(h<<1)|0;E=F+16|0;N=E+N+((K+L|0)*20|0)+(H(I+M|0,-5)|0)>>5;b[c>>1]=((N>>>0<512?N:0-N>>31&511)+1+(e[c>>1]|0)|0)>>>1;c=d+(i<<1)|0;M=M+16+a+((I+K|0)*20|0)+(H(F+L|0,-5)|0)>>5;b[c>>1]=((M>>>0<512?M:0-M>>31&511)+1+(e[c>>1]|0)|0)>>>1;c=d+(j<<1)|0;K=L+16+B+((F+I|0)*20|0)+(H(a+K|0,-5)|0)>>5;b[c>>1]=((K>>>0<512?K:0-K>>31&511)+1+(e[c>>1]|0)|0)>>>1;c=d+(k<<1)|0;I=J+C+((a+F|0)*20|0)+(H(B+I|0,-5)|0)>>5;b[c>>1]=((I>>>0<512?I:0-I>>31&511)+1+(e[c>>1]|0)|0)>>>1;c=d+(l<<1)|0;F=G+A+((B+a|0)*20|0)+(H(C+F|0,-5)|0)>>5;b[c>>1]=((F>>>0<512?F:0-F>>31&511)+1+(e[c>>1]|0)|0)>>>1;c=d+(m<<1)|0;a=E+D+((C+B|0)*20|0)+(H(A+a|0,-5)|0)>>5;b[c>>1]=((a>>>0<512?a:0-a>>31&511)+1+(e[c>>1]|0)|0)>>>1;g=g+1|0;d=d+2|0;f=f+2|0}return}function Bh(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,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;p=b+8|0;q=d+8|0;r=b+12|0;s=d+12|0;t=b+16|0;u=d+16|0;g=b+24|0;h=d+24|0;i=b+4|0;j=d+36|0;k=b+20|0;l=d+52|0;m=b+28|0;n=d+60|0;o=a+4|0;f=0;while(1){if((f|0)>=(e|0))break;C=c[(c[p>>2]|0)+(f<<2)>>2]|0;B=c[q>>2]|0;C=MR(B|0,((B|0)<0)<<31>>31|0,C|0,((C|0)<0)<<31>>31|0)|0;B=M()|0;v=c[(c[r>>2]|0)+(f<<2)>>2]|0;w=c[s>>2]|0;v=MR(w|0,((w|0)<0)<<31>>31|0,v|0,((v|0)<0)<<31>>31|0)|0;B=aX(v|0,M()|0,C|0,B|0)|0;C=M()|0;v=c[(c[b>>2]|0)+(f<<2)>>2]|0;w=c[d>>2]|0;v=MR(w|0,((w|0)<0)<<31>>31|0,v|0,((v|0)<0)<<31>>31|0)|0;w=M()|0;x=c[(c[t>>2]|0)+(f<<2)>>2]|0;y=c[u>>2]|0;x=MR(y|0,((y|0)<0)<<31>>31|0,x|0,((x|0)<0)<<31>>31|0)|0;y=M()|0;z=c[(c[g>>2]|0)+(f<<2)>>2]|0;A=c[h>>2]|0;z=MR(A|0,((A|0)<0)<<31>>31|0,z|0,((z|0)<0)<<31>>31|0)|0;A=M()|0;C=aX(B|0,C|0,16384,0)|0;B=M()|0;w=aX(C|0,B|0,v|0,w|0)|0;y=aX(w|0,M()|0,x|0,y|0)|0;A=aX(y|0,M()|0,z|0,A|0)|0;A=kV(A|0,M()|0,15)|0;M()|0;c[(c[a>>2]|0)+(f<<2)>>2]=A;A=c[(c[i>>2]|0)+(f<<2)>>2]|0;z=c[j>>2]|0;A=MR(z|0,((z|0)<0)<<31>>31|0,A|0,((A|0)<0)<<31>>31|0)|0;z=M()|0;y=c[(c[k>>2]|0)+(f<<2)>>2]|0;x=c[l>>2]|0;y=MR(x|0,((x|0)<0)<<31>>31|0,y|0,((y|0)<0)<<31>>31|0)|0;x=M()|0;w=c[(c[m>>2]|0)+(f<<2)>>2]|0;v=c[n>>2]|0;w=MR(v|0,((v|0)<0)<<31>>31|0,w|0,((w|0)<0)<<31>>31|0)|0;v=M()|0;z=aX(C|0,B|0,A|0,z|0)|0;x=aX(z|0,M()|0,y|0,x|0)|0;v=aX(x|0,M()|0,w|0,v|0)|0;v=kV(v|0,M()|0,15)|0;M()|0;c[(c[o>>2]|0)+(f<<2)>>2]=v;f=f+1|0}return}function Ch(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,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;v=Mb;Mb=Mb+32|0;t=v+24|0;n=v+16|0;m=v+8|0;g=v;f=e+24|0;k=d+26992|0;p=c[k>>2]|0;r=d+27e3|0;u=c[r>>2]|0;l=H(u,p)|0;s=d+26996|0;o=H(c[s>>2]<<1|1,p<<1|1)|0;p=H(u,p+1|0)|0;u=o+(p<<1)|0;a[e+28344>>0]=-2;a[e+28336>>0]=-2;a[e+28328>>0]=-2;a[e+28304>>0]=-2;a[e+28296>>0]=-2;a[e+28288>>0]=-2;a:do if((c[d+25628>>2]|0)==(e|0)){q=d+4|0;c[f>>2]=c[q>>2];c[e+824>>2]=1;c[e+828>>2]=d;c[e+812>>2]=1;i=d+27004|0;j=c[i>>2]|0;c[e+576>>2]=j;h=c[s>>2]|0;c[e+580>>2]=h;c[e+584>>2]=c[k>>2];c[e+588>>2]=c[r>>2];c[e+592>>2]=h<<1|1;j=EZ((j<<2)+4|0)|0;c[e+572>>2]=j;if((j|0)==0?(c[i>>2]&1073741823|0)!=1073741823:0){AD(c[q>>2]|0,16,175255,g);d=-12;break}g=c[k>>2]|0;d=0;while(1){if((d|0)>=(g|0))break;h=c[s>>2]|0;i=H(h,d)|0;f=0;while(1){if((f|0)>=(h|0))break;w=(H(c[r>>2]|0,d)|0)+f|0;c[j+(i+f<<2)>>2]=w;f=f+1|0}d=d+1|0}h=H(c[r>>2]|0,g+-1|0)|0;i=c[s>>2]|0;w=j+((H(i,g)|0)<<2)|0;c[w>>2]=h+i;w=EZ(l)|0;c[e+604>>2]=w;if(!((l|0)==0|(w|0)!=0)){AD(c[q>>2]|0,16,175255,m);d=-12;break}w=RD(H((c[k>>2]|0)*17|0,c[r>>2]|0)|0)|0;c[e+608>>2]=w;if((w|0)==0?H((c[k>>2]|0)*17|0,c[r>>2]|0)|0:0){AD(c[q>>2]|0,16,175255,n);d=-12;break}f=EZ(u<<1)|0;c[e+27784>>2]=f;if(!f){AD(c[q>>2]|0,16,175255,t);d=-12;break}c[e+612>>2]=f+(c[s>>2]<<1<<1)+4;d=f+(o<<1)+(c[r>>2]<<1)+2|0;c[e+616>>2]=d;c[e+620>>2]=d+(p<<1);d=0;while(1){if((d|0)>=(u|0)){d=0;break a}b[f+(d<<1)>>1]=1024;d=d+1|0}}else{jv(f|0,0,808)|0;d=0}while(0);Mb=v;return d|0}function Dh(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;i=a+144|0;g=e0(c[i>>2]|0)|0;if(!g){h=1;g=1}else{h=1<<(d[g+6>>0]|0);g=1<<(d[g+5>>0]|0)}switch(c[i>>2]|0){case 124:case 125:case 337:case 338:case 87:case 88:case 313:case 314:case 311:case 312:case 85:case 86:case 83:case 84:case 107:case 108:case 101:case 102:case 95:case 96:case 59:case 58:case 309:case 310:case 307:case 308:case 77:case 78:case 75:case 76:case 331:case 330:case 329:case 328:case 105:case 106:case 99:case 100:case 93:case 94:case 57:case 56:case 305:case 306:case 303:case 304:case 73:case 74:case 79:case 80:case 103:case 104:case 97:case 98:case 91:case 92:case 55:case 54:case 301:case 302:case 299:case 300:case 71:case 72:case 69:case 70:case 90:case 89:case 35:case 14:case 34:case 13:case 12:case 32:case 31:case 8:case 123:case 82:case 5:case 33:case 4:case 17:case 119:case 1:case 0:{h=32;g=16;l=14;break}case 18:case 315:case 7:{h=32;g=32;l=14;break}case 6:{i=c[a+48>>2]|0;if((i|0)==23){h=64;g=64;l=14}else l=15;break}case 46:{i=c[a+48>>2]|0;j=(i|0)==43;if((i|0)==40){g=8;i=40;l=13}else{h=j?4:h;g=j?4:g;l=15}break}case 22:case 19:case 11:{i=c[a+48>>2]|0;switch(i|0){case 44:case 50:{h=4;g=4;break}default:{}}switch(i|0){case 40:case 149:{g=8;l=13;break}default:l=15}break}case 3:{i=c[a+48>>2]|0;if((i&-2|0)==54){g=4;l=13}else l=15;break}case 2:{i=c[a+48>>2]|0;if((i|0)==44){g=4;i=44;l=13}else l=15;break}default:{i=c[a+48>>2]|0;l=15}}if((l|0)==13){k=g;h=g;j=(i|0)==137;g=8}else if((l|0)==14){i=c[a+48>>2]|0;j=(i|0)==137;l=16}else if((l|0)==15){j=(i|0)==137;if((g|0)>8)l=16;else{k=g;g=8}}if((l|0)==16)k=g;g=j?g:k;c[b>>2]=g+-1+(c[b>>2]|0)&0-g;g=h+-1+(c[e>>2]|0)&0-h;c[e>>2]=g;if(!((i|0)!=28?!(c[a+792>>2]|0):0)){c[e>>2]=g+2;e=c[b>>2]|0;c[b>>2]=(e|0)>32?e:32}g=0;while(1){if((g|0)==4)break;c[f+(g<<2)>>2]=8;g=g+1|0}return}function Eh(e,f,g,h,i,j,k,l,m,n,o,p){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;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,I=0,J=0,K=0;B=c[e+136>>2]|0;w=c[h+32>>2]|0;s=c[n+32>>2]|0;x=e+1412|0;u=c[x>>2]|0;y=c[u+13376>>2]|0;z=c[u+13380>>2]|0;q=b[i>>1]|0;F=q&3;G=F&65535;i=b[i+2>>1]|0;C=i&3;D=C&65535;r=b[o>>1]|0;I=r&3;K=I&65535;o=b[o+2>>1]|0;A=o&3;J=A&65535;switch(c[e+2420>>2]|0){case 1:{E=(a[(c[e+1416>>2]|0)+37>>0]|0)!=0;break}case 0:{E=(a[(c[e+1416>>2]|0)+38>>0]|0)!=0;break}default:E=0}v=(q<<16>>16>>2)+j|0;t=(i<<16>>16>>2)+k|0;j=(r<<16>>16>>2)+j|0;q=(o<<16>>16>>2)+k|0;k=d[20400+l>>0]|0;i=(c[h>>2]|0)+(H(t,w)|0)|0;o=c[u+52>>2]|0;i=i+(v<<o)|0;r=(c[n>>2]|0)+(H(q,s)|0)+(j<<o)|0;if((!((v|0)<3|(t|0)<4)?(v|0)<(-4-l+y|0):0)?(t|0)<(-4-m+z|0):0)o=w;else{h=80<<o;n=3<<o;pc[c[e+7532>>2]&3](B+320|0,i+(0-((w*3|0)+n))|0,h,w,l+7|0,m+7|0,v+-3|0,t+-3|0,y,z);o=h;i=(h*3|0)+n+(B+320)|0}if(!((!((j|0)<3|(q|0)<4)?(j|0)<(-4-l+y|0):0)?(q|0)<(-4-m+z|0):0)){x=c[(c[x>>2]|0)+52>>2]|0;w=80<<x;x=3<<x;pc[c[e+7532>>2]&3](B+11680|0,r+(0-((s*3|0)+x))|0,w,s,l+7|0,m+7|0,j+-3|0,q+-3|0,y,z);s=w;r=(w*3|0)+x+(B+11680)|0}q=B+23040|0;mc[c[e+5900+(k<<4)+((C<<16>>16!=0&1)<<3)+((F<<16>>16!=0&1)<<2)>>2]&63](q,i,o,m,G,D,l);o=A<<16>>16!=0&1;i=I<<16>>16!=0&1;if(E){I=a[p+8>>0]|0;p=a[p+9>>0]|0;sc[c[e+6540+(k<<4)+(o<<3)+(i<<2)>>2]&31](f,g,r,s,q,m,d[e+3109>>0]|0,b[e+3112+(I<<1)>>1]|0,b[e+3272+(p<<1)>>1]|0,b[e+3304+(I<<1)>>1]|0,b[e+3400+(p<<1)>>1]|0,K,J,l)}else oc[c[e+6380+(k<<4)+(o<<3)+(i<<2)>>2]&31](f,g,r,s,q,m,K,J,l);return}function Fh(c,e,f,g,h,i,j,k,l,m,n){c=c|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;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;B=Mb;Mb=Mb+9088|0;A=B;z=i+5|0;y=l+-1|0;q=20704+(y<<4)|0;r=h+7|0;s=20704+(y<<4)+1|0;t=20704+(y<<4)+2|0;u=20704+(y<<4)+3|0;v=20704+(y<<4)+4|0;w=20704+(y<<4)+5|0;x=20704+(y<<4)+6|0;y=20704+(y<<4)+7|0;o=A;p=0;f=f+(H(g,-3)|0)|0;while(1){if((p|0)>=(r|0))break;l=0;while(1){if((l|0)>=(n|0))break;D=H(d[f+(l+-3)>>0]|0,a[q>>0]|0)|0;D=(H(d[f+(l+-2)>>0]|0,a[s>>0]|0)|0)+D|0;D=D+(H(d[f+(l+-1)>>0]|0,a[t>>0]|0)|0)|0;D=D+(H(d[f+l>>0]|0,a[u>>0]|0)|0)|0;C=l+1|0;D=D+(H(d[f+C>>0]|0,a[v>>0]|0)|0)|0;D=D+(H(d[f+(l+2)>>0]|0,a[w>>0]|0)|0)|0;D=D+(H(d[f+(l+3)>>0]|0,a[x>>0]|0)|0)|0;D=D+(H(d[f+(l+4)>>0]|0,a[y>>0]|0)|0)&65535;b[o+(l<<1)>>1]=D;l=C}o=o+128|0;p=p+1|0;f=f+g|0}y=i+6|0;x=1<<z;u=m+-1|0;v=20704+(u<<4)|0;w=20704+(u<<4)+1|0;p=20704+(u<<4)+2|0;q=20704+(u<<4)+3|0;r=20704+(u<<4)+4|0;s=20704+(u<<4)+5|0;t=20704+(u<<4)+6|0;u=20704+(u<<4)+7|0;f=A+384|0;o=0;while(1){if((o|0)>=(h|0))break;l=0;while(1){if((l|0)>=(n|0))break;D=H(b[f+(l+-192<<1)>>1]|0,a[v>>0]|0)|0;D=(H(b[f+(l+-128<<1)>>1]|0,a[w>>0]|0)|0)+D|0;D=D+(H(b[f+(l+-64<<1)>>1]|0,a[p>>0]|0)|0)|0;D=D+(H(b[f+(l<<1)>>1]|0,a[q>>0]|0)|0)|0;D=D+(H(b[f+(l+64<<1)>>1]|0,a[r>>0]|0)|0)|0;D=D+(H(b[f+(l+128<<1)>>1]|0,a[s>>0]|0)|0)|0;D=D+(H(b[f+(l+192<<1)>>1]|0,a[t>>0]|0)|0)|0;D=((H(D+(H(b[f+(l+256<<1)>>1]|0,a[u>>0]|0)|0)>>6,j)|0)+x>>y)+k|0;a[c+l>>0]=D>>>0>255?0-D>>31:D;l=l+1|0}c=c+e|0;f=f+128|0;o=o+1|0}Mb=B;return}function Gh(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,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;h=Mb;Mb=Mb+256|0;g=h;a=0;while(1){if((a|0)==8)break;i=H(a,f)|0;p=d[b+i>>0]|0;o=d[b+(i+1)>>0]|0;n=o+p|0;e=a<<3;o=p-o|0;p=d[b+(i+2)>>0]|0;j=d[b+(i+3)>>0]|0;l=j+p|0;j=p-j|0;p=d[b+(i+4)>>0]|0;q=d[b+(i+5)>>0]|0;m=q+p|0;q=p-q|0;p=d[b+(i+6)>>0]|0;i=d[b+(i+7)>>0]|0;k=i+p|0;i=p-i|0;p=l+n|0;l=n-l|0;n=j+o|0;j=o-j|0;o=k+m|0;k=m-k|0;m=i+q|0;i=q-i|0;c[g+(e<<2)>>2]=o+p;c[g+((e|4)<<2)>>2]=p-o;c[g+((e|1)<<2)>>2]=m+n;c[g+((e|5)<<2)>>2]=n-m;c[g+((e|2)<<2)>>2]=k+l;c[g+((e|6)<<2)>>2]=l-k;c[g+((e|3)<<2)>>2]=i+j;c[g+((e|7)<<2)>>2]=j-i;a=a+1|0}a=0;e=0;while(1){if((e|0)==8)break;w=g+(e<<2)|0;m=c[w>>2]|0;u=g+(e+8<<2)|0;t=c[u>>2]|0;v=t+m|0;t=m-t|0;m=g+(e+16<<2)|0;s=c[m>>2]|0;n=g+(e+24<<2)|0;i=c[n>>2]|0;k=i+s|0;i=s-i|0;s=g+(e+32<<2)|0;p=c[s>>2]|0;b=g+(e+40<<2)|0;f=c[b>>2]|0;r=f+p|0;f=p-f|0;p=g+(e+48<<2)|0;q=c[p>>2]|0;o=g+(e+56<<2)|0;j=c[o>>2]|0;l=j+q|0;j=q-j|0;q=k+v|0;c[w>>2]=q;k=v-k|0;c[m>>2]=k;m=i+t|0;c[u>>2]=m;i=t-i|0;c[n>>2]=i;n=l+r|0;c[s>>2]=n;l=r-l|0;c[p>>2]=l;p=j+f|0;c[b>>2]=p;j=f-j|0;c[o>>2]=j;o=n+q|0;n=q-n|0;q=p+m|0;p=m-p|0;m=l+k|0;l=k-l|0;k=j+i|0;j=i-j|0;a=((j|0)>-1?j:0-j|0)+a+((k|0)>-1?k:0-k|0)+((l|0)>-1?l:0-l|0)+((m|0)>-1?m:0-m|0)+((n|0)>-1?n:0-n|0)+((o|0)>-1?o:0-o|0)+((p|0)>-1?p:0-p|0)+((q|0)>-1?q:0-q|0)|0;e=e+1|0}w=(c[g+128>>2]|0)+(c[g>>2]|0)|0;Mb=h;return a-((w|0)>-1?w:0-w|0)|0}function Hh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=Mb;Mb=Mb+20816|0;r=s+16|0;k=s+8|0;j=s;o=s+40|0;i=s+32|0;p=s+24|0;q=c[a+32>>2]&3;n=c[a>>2]|0;g=n+1200|0;if(c[(c[g>>2]|0)+60>>2]|0)uv(b)|0;l=(q|0)==3;if(l)wV(b)|0;m=n+1644|0;a:do if((gs(i,p,b,c[g>>2]|0,q,c[m>>2]|0,d)|0)>=0){if((q|0)!=1){f=0;while(1){if((f|0)>=(c[i>>2]|0))break;b:do if(wV(b)|0){h=p+(f<<2)|0;e=0;c:while(1){a=RK(b)|0;if(a>>>0<3){mO(b)|0;if((e|0)<(c[h>>2]|0))a=0;else{c[k>>2]=e;AD(d,16,172646,k);a=1}}else if((a|0)==3)a=5;else{c[j>>2]=a;AD(d,16,172607,j);a=1}switch(a&7){case 5:break b;case 0:break;default:break c}e=e+1|0}if(a|0){a=-1094995529;break a}}while(0);f=f+1|0}a=c[g>>2]|0;if((q|0)==2&(c[a+28>>2]|0)!=0)e=23;else e=22}else{a=c[g>>2]|0;e=22}if((e|0)==22?l&(c[a+32>>2]|0)==1:0)e=23;if((e|0)==23)Yf(b,c[n+1204>>2]|0,p,q,o,c[m>>2]|0,d)|0;if(wV(b)|0){e=0;d:while(1){if(e>>>0>=66){a=0;e=35;break}a=RK(b)|0;if(a>>>0>6){e=28;break}switch(a|0){case 5:{a=1;break a}case 0:{e=35;break d}default:{}}if((a|2|0)==3)mO(b)|0;switch(a|0){case 2:case 3:case 4:case 6:{RK(b)|0;break}default:{}}e=e+1|0}if((e|0)==28){c[r>>2]=a;AD(d,16,207321,r);a=-1094995529;break}else if((e|0)==35)break}else a=0}else a=-1094995529;while(0);Mb=s;return a|0}function Ih(a,b,e,f,g,h){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,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=Mb;Mb=Mb+16|0;q=u+4|0;r=u;o=u+8|0;c[q>>2]=g;c[r>>2]=h;s=c[a>>2]|0;p=s+84|0;j=s+88|0;k=s+48|0;l=s+96|0;m=s+44|0;n=s+4|0;i=0;g=c[p>>2]|0;a:while(1){if((g|0)>(h|0)){g=-100;break}if(g|0?(c[l>>2]|0)==0:0){t=6;break}while(1){if((g|0)>=(h|0)){g=-100;break a}v=j;v=_U(c[v>>2]|0,c[v+4>>2]|0,8)|0;h=M()|0;v=v|(d[(c[q>>2]|0)+g>>0]|0);w=j;c[w>>2]=v;c[w+4>>2]=h;h=_b[c[k>>2]&63](v,h,s,l,o)|0;if(h|0)break;g=g+1|0;h=c[r>>2]|0}if((h|0)<1){g=-100;break}w=j;c[w>>2]=0;c[w+4>>2]=0;g=g+1-(c[m>>2]|0)|0;c[p>>2]=h;if(c[o>>2]|0?((c[n>>2]|0)+g|0)>=1:0){i=1;break}g=g+h|0;c[p>>2]=g;i=1;h=c[r>>2]|0}if((t|0)==6)c[p>>2]=0;if((Qi(s,g,q,r)|0)>=0){c[e>>2]=c[q>>2];c[f>>2]=c[r>>2];h=c[s+100>>2]|0;if(h|0)c[b+48>>2]=h;if(i){if((c[b+48>>2]|0)!=86018){c[b+416>>2]=c[s+56>>2];h=c[s+52>>2]|0;do if((h|0)>1){j=b+456|0;i=c[j>>2]|0;j=c[j+4>>2]|0;if((i|0)==4&(j|0)==0){c[b+420>>2]=1;h=4;i=0;break}if((h|0)>2&((i|0)==3&(j|0)==0)){c[b+420>>2]=2;h=3;i=0}else t=25}else t=25;while(0);if((t|0)==25){c[b+420>>2]=h;i=s+72|0;h=c[i>>2]|0;i=c[i+4>>2]|0}w=b+448|0;c[w>>2]=h;c[w+4>>2]=i;c[a+304>>2]=c[s+64>>2];c[b+464>>2]=c[s+80>>2]}v=c[s+60>>2]|0;w=b+72|0;c[w>>2]=v;c[w+4>>2]=((v|0)<0)<<31>>31}}else{w=c[p>>2]|0;g=c[r>>2]|0;c[p>>2]=w-((w|0)>(g|0)?g:w);c[e>>2]=0;c[f>>2]=0}Mb=u;return g|0}function Jh(b,c,e,f){b=b|0;c=c|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=0;while(1){if((g|0)==8)break;k=c+1|0;j=c+-1|0;l=c+2|0;h=H((d[l>>0]|0)+(d[j>>0]|0)|0,-5)|0;m=c+3|0;h=(((d[k>>0]|0)+(d[c>>0]|0)|0)*20|0)+16+(d[c+-2>>0]|0)+h+(d[m>>0]|0)>>5;a[b>>0]=((d[b>>0]|0)+1+((h>>>0>255?0-h>>31:h)&255)|0)>>>1;h=b+1|0;n=H((d[m>>0]|0)+(d[c>>0]|0)|0,-5)|0;o=c+4|0;n=(((d[l>>0]|0)+(d[k>>0]|0)|0)*20|0)+16+(d[j>>0]|0)+n+(d[o>>0]|0)>>5;a[h>>0]=((d[h>>0]|0)+1+((n>>>0>255?0-n>>31:n)&255)|0)>>>1;h=b+2|0;n=H((d[o>>0]|0)+(d[k>>0]|0)|0,-5)|0;j=c+5|0;n=(((d[m>>0]|0)+(d[l>>0]|0)|0)*20|0)+16+(d[c>>0]|0)+n+(d[j>>0]|0)>>5;a[h>>0]=((d[h>>0]|0)+1+((n>>>0>255?0-n>>31:n)&255)|0)>>>1;h=b+3|0;n=H((d[j>>0]|0)+(d[l>>0]|0)|0,-5)|0;i=c+6|0;n=(((d[o>>0]|0)+(d[m>>0]|0)|0)*20|0)+16+(d[k>>0]|0)+n+(d[i>>0]|0)>>5;a[h>>0]=((d[h>>0]|0)+1+((n>>>0>255?0-n>>31:n)&255)|0)>>>1;h=b+4|0;n=H((d[i>>0]|0)+(d[m>>0]|0)|0,-5)|0;k=c+7|0;n=(((d[j>>0]|0)+(d[o>>0]|0)|0)*20|0)+16+(d[l>>0]|0)+n+(d[k>>0]|0)>>5;a[h>>0]=((d[h>>0]|0)+1+((n>>>0>255?0-n>>31:n)&255)|0)>>>1;h=b+5|0;n=H((d[k>>0]|0)+(d[o>>0]|0)|0,-5)|0;l=c+8|0;n=(((d[i>>0]|0)+(d[j>>0]|0)|0)*20|0)+16+(d[m>>0]|0)+n+(d[l>>0]|0)>>5;a[h>>0]=((d[h>>0]|0)+1+((n>>>0>255?0-n>>31:n)&255)|0)>>>1;h=b+6|0;n=H((d[l>>0]|0)+(d[j>>0]|0)|0,-5)|0;m=c+9|0;n=(((d[k>>0]|0)+(d[i>>0]|0)|0)*20|0)+16+(d[o>>0]|0)+n+(d[m>>0]|0)>>5;a[h>>0]=((d[h>>0]|0)+1+((n>>>0>255?0-n>>31:n)&255)|0)>>>1;h=b+7|0;i=H((d[m>>0]|0)+(d[i>>0]|0)|0,-5)|0;i=(((d[l>>0]|0)+(d[k>>0]|0)|0)*20|0)+16+(d[j>>0]|0)+i+(d[c+10>>0]|0)>>5;a[h>>0]=((d[h>>0]|0)+1+((i>>>0>255?0-i>>31:i)&255)|0)>>>1;c=c+f|0;b=b+e|0;g=g+1|0}return}function Kh(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;n=Mb;Mb=Mb+16|0;l=n;c[l>>2]=b;g=e+8|0;h=e+4|0;i=e+20|0;j=e+16|0;k=e+12|0;b=d;a:while(1){f=b+1|0;d=a[b>>0]|0;b:do switch(d<<24>>24){case 0:{m=29;break a}case 37:{b=b+2|0;d=a[f>>0]|0;switch(d<<24>>24|0){case 74:case 72:{d=hD(l,0,d<<24>>24==72?23:2147483647,2)|0;if((d|0)==-1){b=0;break a}c[g>>2]=d;break b}case 77:{d=hD(l,0,59,2)|0;if((d|0)==-1){b=0;break a}c[h>>2]=d;break b}case 83:{d=hD(l,0,59,2)|0;if((d|0)==-1){b=0;break a}c[e>>2]=d;break b}case 89:{d=hD(l,0,9999,4)|0;if((d|0)==-1){b=0;break a}c[i>>2]=d+-1900;break b}case 109:{d=hD(l,1,12,2)|0;if((d|0)==-1){b=0;break a}c[j>>2]=d+-1;break b}case 100:{d=hD(l,1,31,2)|0;if((d|0)==-1){b=0;break a}c[k>>2]=d;break b}case 84:{f=Kh(c[l>>2]|0,214945,e)|0;c[l>>2]=f;if(!f){b=0;break a}else break b}case 104:case 66:case 98:{d=iC(l)|0;if((d|0)==-1){b=0;break a}c[j>>2]=d;break b}case 37:{f=c[l>>2]|0;c[l>>2]=f+1;if((a[f>>0]|0)==37)break b;else{b=0;break a}}default:{b=0;break a}}}default:{o=(UW(d<<24>>24)|0)==0;b=c[l>>2]|0;if(o){if((a[b>>0]|0)!=d<<24>>24){b=0;break a}c[l>>2]=b+1;b=f;break b}while(1){d=a[b>>0]|0;if(!(d<<24>>24))break;if(!(UW(d<<24>>24)|0))break;b=b+1|0}c[l>>2]=b;b=f}}while(0)}if((m|0)==29)b=c[l>>2]|0;Mb=n;return b|0}function Lh(c,d,f,g,h,i,j,k){c=c|0;d=d|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,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;x=Mb;Mb=Mb+9088|0;w=x;v=g>>>1;u=i+-1|0;m=20704+(u<<4)|0;n=h+7|0;o=20704+(u<<4)+1|0;p=20704+(u<<4)+2|0;q=20704+(u<<4)+3|0;r=20704+(u<<4)+4|0;s=20704+(u<<4)+5|0;t=20704+(u<<4)+6|0;u=20704+(u<<4)+7|0;l=w;i=f+((H(v,-3)|0)<<1)|0;f=0;while(1){if((f|0)>=(n|0))break;g=0;while(1){if((g|0)>=(k|0))break;z=H(e[i+(g+-3<<1)>>1]|0,a[m>>0]|0)|0;z=(H(e[i+(g+-2<<1)>>1]|0,a[o>>0]|0)|0)+z|0;z=z+(H(e[i+(g+-1<<1)>>1]|0,a[p>>0]|0)|0)|0;z=z+(H(e[i+(g<<1)>>1]|0,a[q>>0]|0)|0)|0;y=g+1|0;z=z+(H(e[i+(y<<1)>>1]|0,a[r>>0]|0)|0)|0;z=z+(H(e[i+(g+2<<1)>>1]|0,a[s>>0]|0)|0)|0;z=z+(H(e[i+(g+3<<1)>>1]|0,a[t>>0]|0)|0)|0;z=(z+(H(e[i+(g+4<<1)>>1]|0,a[u>>0]|0)|0)|0)>>>4&65535;b[l+(g<<1)>>1]=z;g=y}l=l+128|0;i=i+(v<<1)|0;f=f+1|0}t=d>>>1;n=j+-1|0;o=20704+(n<<4)|0;p=20704+(n<<4)+1|0;q=20704+(n<<4)+2|0;r=20704+(n<<4)+3|0;s=20704+(n<<4)+4|0;l=20704+(n<<4)+5|0;m=20704+(n<<4)+6|0;n=20704+(n<<4)+7|0;f=0;i=w+384|0;while(1){if((f|0)>=(h|0))break;g=0;while(1){if((g|0)>=(k|0))break;z=H(b[i+(g+-192<<1)>>1]|0,a[o>>0]|0)|0;z=(H(b[i+(g+-128<<1)>>1]|0,a[p>>0]|0)|0)+z|0;z=z+(H(b[i+(g+-64<<1)>>1]|0,a[q>>0]|0)|0)|0;z=z+(H(b[i+(g<<1)>>1]|0,a[r>>0]|0)|0)|0;z=z+(H(b[i+(g+64<<1)>>1]|0,a[s>>0]|0)|0)|0;z=z+(H(b[i+(g+128<<1)>>1]|0,a[l>>0]|0)|0)|0;z=z+(H(b[i+(g+192<<1)>>1]|0,a[m>>0]|0)|0)|0;z=(z+(H(b[i+(g+256<<1)>>1]|0,a[n>>0]|0)|0)>>6)+2>>2;b[c+(g<<1)>>1]=z>>>0<4096?z:0-z>>31&4095;g=g+1|0}c=c+(t<<1)|0;f=f+1|0;i=i+128|0}Mb=x;return}function Mh(c,d,f,g,h,i,j,k){c=c|0;d=d|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,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;x=Mb;Mb=Mb+9088|0;w=x;v=g>>>1;u=i+-1|0;m=20704+(u<<4)|0;n=h+7|0;o=20704+(u<<4)+1|0;p=20704+(u<<4)+2|0;q=20704+(u<<4)+3|0;r=20704+(u<<4)+4|0;s=20704+(u<<4)+5|0;t=20704+(u<<4)+6|0;u=20704+(u<<4)+7|0;l=w;i=f+((H(v,-3)|0)<<1)|0;f=0;while(1){if((f|0)>=(n|0))break;g=0;while(1){if((g|0)>=(k|0))break;z=H(e[i+(g+-3<<1)>>1]|0,a[m>>0]|0)|0;z=(H(e[i+(g+-2<<1)>>1]|0,a[o>>0]|0)|0)+z|0;z=z+(H(e[i+(g+-1<<1)>>1]|0,a[p>>0]|0)|0)|0;z=z+(H(e[i+(g<<1)>>1]|0,a[q>>0]|0)|0)|0;y=g+1|0;z=z+(H(e[i+(y<<1)>>1]|0,a[r>>0]|0)|0)|0;z=z+(H(e[i+(g+2<<1)>>1]|0,a[s>>0]|0)|0)|0;z=z+(H(e[i+(g+3<<1)>>1]|0,a[t>>0]|0)|0)|0;z=(z+(H(e[i+(g+4<<1)>>1]|0,a[u>>0]|0)|0)|0)>>>2&65535;b[l+(g<<1)>>1]=z;g=y}l=l+128|0;i=i+(v<<1)|0;f=f+1|0}t=d>>>1;n=j+-1|0;o=20704+(n<<4)|0;p=20704+(n<<4)+1|0;q=20704+(n<<4)+2|0;r=20704+(n<<4)+3|0;s=20704+(n<<4)+4|0;l=20704+(n<<4)+5|0;m=20704+(n<<4)+6|0;n=20704+(n<<4)+7|0;f=0;i=w+384|0;while(1){if((f|0)>=(h|0))break;g=0;while(1){if((g|0)>=(k|0))break;z=H(b[i+(g+-192<<1)>>1]|0,a[o>>0]|0)|0;z=(H(b[i+(g+-128<<1)>>1]|0,a[p>>0]|0)|0)+z|0;z=z+(H(b[i+(g+-64<<1)>>1]|0,a[q>>0]|0)|0)|0;z=z+(H(b[i+(g<<1)>>1]|0,a[r>>0]|0)|0)|0;z=z+(H(b[i+(g+64<<1)>>1]|0,a[s>>0]|0)|0)|0;z=z+(H(b[i+(g+128<<1)>>1]|0,a[l>>0]|0)|0)|0;z=z+(H(b[i+(g+192<<1)>>1]|0,a[m>>0]|0)|0)|0;z=(z+(H(b[i+(g+256<<1)>>1]|0,a[n>>0]|0)|0)>>6)+8>>4;b[c+(g<<1)>>1]=z>>>0<1024?z:0-z>>31&1023;g=g+1|0}c=c+(t<<1)|0;f=f+1|0;i=i+128|0}Mb=x;return}function Nh(c,d,f,g,h,i,j,k){c=c|0;d=d|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,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;x=Mb;Mb=Mb+9088|0;w=x;v=g>>>1;u=i+-1|0;m=20704+(u<<4)|0;n=h+7|0;o=20704+(u<<4)+1|0;p=20704+(u<<4)+2|0;q=20704+(u<<4)+3|0;r=20704+(u<<4)+4|0;s=20704+(u<<4)+5|0;t=20704+(u<<4)+6|0;u=20704+(u<<4)+7|0;l=w;i=f+((H(v,-3)|0)<<1)|0;f=0;while(1){if((f|0)>=(n|0))break;g=0;while(1){if((g|0)>=(k|0))break;z=H(e[i+(g+-3<<1)>>1]|0,a[m>>0]|0)|0;z=(H(e[i+(g+-2<<1)>>1]|0,a[o>>0]|0)|0)+z|0;z=z+(H(e[i+(g+-1<<1)>>1]|0,a[p>>0]|0)|0)|0;z=z+(H(e[i+(g<<1)>>1]|0,a[q>>0]|0)|0)|0;y=g+1|0;z=z+(H(e[i+(y<<1)>>1]|0,a[r>>0]|0)|0)|0;z=z+(H(e[i+(g+2<<1)>>1]|0,a[s>>0]|0)|0)|0;z=z+(H(e[i+(g+3<<1)>>1]|0,a[t>>0]|0)|0)|0;z=(z+(H(e[i+(g+4<<1)>>1]|0,a[u>>0]|0)|0)|0)>>>1&65535;b[l+(g<<1)>>1]=z;g=y}l=l+128|0;i=i+(v<<1)|0;f=f+1|0}t=d>>>1;n=j+-1|0;o=20704+(n<<4)|0;p=20704+(n<<4)+1|0;q=20704+(n<<4)+2|0;r=20704+(n<<4)+3|0;s=20704+(n<<4)+4|0;l=20704+(n<<4)+5|0;m=20704+(n<<4)+6|0;n=20704+(n<<4)+7|0;f=0;i=w+384|0;while(1){if((f|0)>=(h|0))break;g=0;while(1){if((g|0)>=(k|0))break;z=H(b[i+(g+-192<<1)>>1]|0,a[o>>0]|0)|0;z=(H(b[i+(g+-128<<1)>>1]|0,a[p>>0]|0)|0)+z|0;z=z+(H(b[i+(g+-64<<1)>>1]|0,a[q>>0]|0)|0)|0;z=z+(H(b[i+(g<<1)>>1]|0,a[r>>0]|0)|0)|0;z=z+(H(b[i+(g+64<<1)>>1]|0,a[s>>0]|0)|0)|0;z=z+(H(b[i+(g+128<<1)>>1]|0,a[l>>0]|0)|0)|0;z=z+(H(b[i+(g+192<<1)>>1]|0,a[m>>0]|0)|0)|0;z=(z+(H(b[i+(g+256<<1)>>1]|0,a[n>>0]|0)|0)>>6)+16>>5;b[c+(g<<1)>>1]=z>>>0<512?z:0-z>>31&511;g=g+1|0}c=c+(t<<1)|0;f=f+1|0;i=i+128|0}Mb=x;return}function Oh(b,g){b=b|0;g=g|0;var i=0,j=0.0,k=0,l=0,m=0,n=0.0,o=0,p=0.0,q=0.0,r=0,s=0.0,t=0,u=0.0,v=0,w=0.0,x=0.0,y=0.0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;i=g+104|0;if(!(c[i>>2]|0)){bL(g+52672|0);c[i>>2]=1}if((c[g+4>>2]|0)!=2){D=g+80|0;E=g+100|0;z=d[200106+(c[b+6476>>2]|0)>>0]|0;i=0;while(1){if(i>>>0>=z>>>0)break;k=c[D>>2]|0;A=i+1|0;B=g+236+i|0;C=e[k+(A<<1)>>1]|0;k=e[k+(i<<1)>>1]|0;while(1){if(k>>>0>=C>>>0)break;l=g+52672+(k<<5)|0;b=g+13760+(k<<2)|0;if(!(c[E>>2]|0))i=0;else i=(a[B>>0]|0)!=0;m=g+52672+(k<<5)+16|0;n=+f[m>>2];o=g+52672+(k<<5)+20|0;p=+f[o>>2];q=+f[l>>2];r=g+52672+(k<<5)+4|0;s=+f[r>>2];t=g+52672+(k<<5)+8|0;u=+f[t>>2];v=g+52672+(k<<5)+12|0;w=+f[v>>2];if(u>1.0){F=(f[h>>2]=.953125/u,c[h>>2]|0);y=q*(c[h>>2]=F+32767+(F&1)&-65536,+f[h>>2])}else y=0.0;if(w>1.0){F=(f[h>>2]=.953125/w,c[h>>2]|0);j=s*(c[h>>2]=F+32767+(F&1)&-65536,+f[h>>2])}else j=0.0;x=n*y;if(i){j=+f[b>>2]+(c[h>>2]=(f[h>>2]=x+p*j,c[h>>2]|0)+32768&-65536,+f[h>>2]);f[b>>2]=j}else j=+f[b>>2];x=j-x;c[r>>2]=(f[h>>2]=s*.90625+p*x,c[h>>2]|0)&-65536;c[v>>2]=(f[h>>2]=w*.90625+(p*p+x*x)*.5,c[h>>2]|0)&-65536;c[l>>2]=(f[h>>2]=q*.90625+n*j,c[h>>2]|0)&-65536;c[t>>2]=(f[h>>2]=u*.90625+(n*n+j*j)*.5,c[h>>2]|0)&-65536;c[o>>2]=(f[h>>2]=(n-y*j)*.953125,c[h>>2]|0)&-65536;c[m>>2]=(f[h>>2]=j*.953125,c[h>>2]|0)&-65536;k=k+1|0}i=A}i=c[g+108>>2]|0;if(i|0)vK(g+52672|0,i)}else bL(g+52672|0);return}function Ph(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;p=c[b+136>>2]|0;r=1<<g;c[p+31232>>2]=h;s=r+e|0;q=b+1412|0;i=c[q>>2]|0;if(((s|0)<=(c[i+13376>>2]|0)?(r+f|0)<=(c[i+13380>>2]|0):0)?(c[i+13320>>2]|0)>>>0<g>>>0:0)i=Kw(b,h,e,f)|0;else i=(c[i+13320>>2]|0)>>>0<g>>>0&1;j=c[b+1416>>2]|0;if(a[j+22>>0]|0?((c[(c[q>>2]|0)+13336>>2]|0)-(c[j+24>>2]|0)|0)>>>0<=g>>>0:0){a[p+300>>0]=0;c[p+280>>2]=0}if(a[b+3076>>0]|0?((c[(c[q>>2]|0)+13336>>2]|0)-(d[j+1632>>0]|0)|0)>>>0<=g>>>0:0)a[p+301>>0]=0;a:do if(!i){i=Td(b,e,f,g)|0;if((i|0)>=0){i=c[q>>2]|0;j=1<<c[i+13336>>2];if((s|0)%(j|0)|0|0?(s|0)<(c[i+13376>>2]|0):0){i=1;break}s=r+f|0;if((s|0)%(j|0)|0|0?(s|0)<(c[i+13380>>2]|0):0){i=1;break}i=(D$(b)|0)==0&1}}else{l=(1<<(c[(c[q>>2]|0)+13336>>2]|0)-(c[j+24>>2]|0))+-1|0;m=r>>1;n=m+e|0;o=m+f|0;k=g+-1|0;g=h+1|0;i=Ph(b,e,f,k,g)|0;if((i|0)>=0){do if(i){j=c[q>>2]|0;if((n|0)<(c[j+13376>>2]|0)){i=Ph(b,n,f,k,g)|0;if((i|0)<0)break a;if(!i){i=0;break}j=c[q>>2]|0}if((o|0)<(c[j+13380>>2]|0)){i=Ph(b,e,o,k,g)|0;if((i|0)<0)break a;if(!i){i=0;break}j=c[q>>2]|0}if((n|0)<(c[j+13376>>2]|0)?(o|0)<(c[j+13380>>2]|0):0){i=Ph(b,n,o,k,g)|0;if((i|0)<0)break a}}else i=0;while(0);if((l&s|0)==0?(l&r+f|0)==0:0)c[p+276>>2]=a[p+272>>0];if(i){i=c[q>>2]|0;if((n+m|0)<(c[i+13376>>2]|0))i=1;else i=(o+m|0)<(c[i+13380>>2]|0)&1}else i=0}}while(0);return i|0}function Qh(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;q=Mb;Mb=Mb+32|0;p=q+16|0;k=q;n=a+24312|0;j=c[n>>2]|0;m=a+26364|0;e=c[m>>2]&1^1;o=b+25360|0;g=c[o>>2]&1;l=b+23412|0;d=0;while(1){if(d>>>0>=(c[l>>2]|0)>>>0)break;h=b+23404+(d<<2)|0;c[j+616+(e<<3)+(d<<2)>>2]=c[h>>2];f=0;while(1){if(f>>>0>=(c[h>>2]|0)>>>0)break;c[j+104+(e<<8)+(d<<7)+(f<<2)>>2]=c[b+23416+(d*1920|0)+(f*40|0)+24>>2]&3|c[(c[b+23416+(d*1920|0)+(f*40|0)+36>>2]|0)+88>>2]<<2;f=f+1|0}d=d+1|0}i=g^1;if((c[m>>2]|0)==3){f=j+616|0;g=c[f+4>>2]|0;h=j+624|0;c[h>>2]=c[f>>2];c[h+4>>2]=g;Mn(j+360|0,j+104|0,256)|0}if(c[a+29544>>2]|0){if((c[j+632>>2]|0)!=(c[a+26360>>2]|0)){c[k>>2]=205509;c[k+4>>2]=205541;c[k+8>>2]=144;AD(0,0,222515,k);ba()}}else c[j+632>>2]=c[a+26360>>2];g=b+21852|0;c[g>>2]=0;a:do if((c[l>>2]|0)==2?c[b+23408>>2]|0:0){f=c[m>>2]|0;do if((f|0)==3){d=c[(c[n>>2]|0)+84>>2]|0;f=c[b+25372>>2]|0;e=c[f+76>>2]|0;f=c[f+80>>2]|0;if((e|0)==2147483647&(f|0)==2147483647){AD(c[a+4>>2]|0,16,205566,p);c[b+21848>>2]=1;i=1;e=1;break}else{i=e-d|0;e=f-d|0;e=(((i|0)>-1?i:0-i|0)|0)>=(((e|0)>-1?e:0-e|0)|0)&1;c[b+21848>>2]=e;i=e;break}}else{d=c[o>>2]|0;if((d&f|0)==0?(c[(c[b+25372>>2]|0)+632>>2]|0)==0:0)c[g>>2]=(d<<1)+-3}while(0);if((c[b+840>>2]|0)==3?(c[b+21844>>2]|0)==0:0){g=b+22252|0;h=a+26360|0;f=0;while(1){if((f|0)==2)break a;sp(a,b,g,f,e,i,0);b:do if(c[h>>2]|0){d=0;while(1){if((d|0)==2)break b;sp(a,b,b+22636+(d*384|0)|0,f,d,d,1);d=d+1|0}}while(0);f=f+1|0}}}while(0);Mb=q;return}function Rh(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=(d[e>>0]|0)>>>4;l=b+4|0;a[l>>0]=h;k=a[e>>0]|0;i=k&15;a[b+5>>0]=i;a:do switch(k&15){case 7:{i=(d[e+3>>0]<<8|d[e+2>>0]<<16|d[e+4>>0])+-8388608^-8388608;switch(a[e+1>>0]|0){case 2:{h=0;break a}case 0:{l=e+5|0;h=f+-5|0;kl(l,h,b+16|0)|0;h=bc[c[b+6432>>2]&1](c[b+6436>>2]|0,512,l,h,g,g,0)|0;break a}case 1:{if(!(f>>>0>5&(a[b+19>>0]|0)!=0)){h=-22;break a}if(MM(b,f+4096|0)|0){h=-12;break a}j=b+6440|0;k=b+6444|0;h=Gm(b+16|0,e+5|0,f+-5|0,c[j>>2]|0,c[k>>2]|0)|0;if(!h){h=-12;break a}if(h>>>0>(c[k>>2]|0)>>>0){h=-12;break a}h=bc[c[b+6432>>2]&1](c[b+6436>>2]|0,7,c[j>>2]|0,h,i+g|0,g,(a[l>>0]|0)==1&1)|0;break a}default:{h=-22;break a}}}case 12:{i=(d[e+3>>0]<<8|d[e+2>>0]<<16|d[e+4>>0])+-8388608^-8388608;switch(a[e+1>>0]|0){case 2:{h=0;break a}case 0:{l=e+5|0;h=f+-5|0;Ng(l,h,b+16|0)|0;h=bc[c[b+6432>>2]&1](c[b+6436>>2]|0,513,l,h,g,g,0)|0;break a}case 1:{if(!(f>>>0>5&(a[b+46>>0]|0)!=0)){h=-22;break a}if(MM(b,f+4096|0)|0){h=-12;break a}j=b+6440|0;k=b+6444|0;h=Rq(b+16|0,e+5|0,f+-5|0,c[j>>2]|0,c[k>>2]|0)|0;if(!h){h=-12;break a}if(h>>>0>(c[k>>2]|0)>>>0){h=-12;break a}h=bc[c[b+6432>>2]&1](c[b+6436>>2]|0,12,c[j>>2]|0,h,i+g|0,g,(a[l>>0]|0)==1&1)|0;break a}default:{h=-22;break a}}}default:h=bc[c[b+6432>>2]&1](c[b+6436>>2]|0,i&255,e+1|0,f+-1|0,g,g,h<<24>>24==1&1)|0}while(0);return h|0}function Sh(c,e,f,g,h,i,j,k,l){c=c|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,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;y=Mb;Mb=Mb+9088|0;x=y;w=j+-1|0;o=20704+(w<<4)|0;p=i+7|0;q=20704+(w<<4)+1|0;r=20704+(w<<4)+2|0;s=20704+(w<<4)+3|0;t=20704+(w<<4)+4|0;u=20704+(w<<4)+5|0;v=20704+(w<<4)+6|0;w=20704+(w<<4)+7|0;m=x;n=0;f=f+(H(g,-3)|0)|0;while(1){if((n|0)>=(p|0))break;j=0;while(1){if((j|0)>=(l|0))break;A=H(d[f+(j+-3)>>0]|0,a[o>>0]|0)|0;A=(H(d[f+(j+-2)>>0]|0,a[q>>0]|0)|0)+A|0;A=A+(H(d[f+(j+-1)>>0]|0,a[r>>0]|0)|0)|0;A=A+(H(d[f+j>>0]|0,a[s>>0]|0)|0)|0;z=j+1|0;A=A+(H(d[f+z>>0]|0,a[t>>0]|0)|0)|0;A=A+(H(d[f+(j+2)>>0]|0,a[u>>0]|0)|0)|0;A=A+(H(d[f+(j+3)>>0]|0,a[v>>0]|0)|0)|0;A=A+(H(d[f+(j+4)>>0]|0,a[w>>0]|0)|0)&65535;b[m+(j<<1)>>1]=A;j=z}m=m+128|0;n=n+1|0;f=f+g|0}n=k+-1|0;o=20704+(n<<4)|0;p=20704+(n<<4)+1|0;q=20704+(n<<4)+2|0;r=20704+(n<<4)+3|0;s=20704+(n<<4)+4|0;t=20704+(n<<4)+5|0;u=20704+(n<<4)+6|0;n=20704+(n<<4)+7|0;f=x+384|0;m=0;while(1){if((m|0)>=(i|0))break;j=0;while(1){if((j|0)>=(l|0))break;A=H(b[f+(j+-192<<1)>>1]|0,a[o>>0]|0)|0;A=(H(b[f+(j+-128<<1)>>1]|0,a[p>>0]|0)|0)+A|0;A=A+(H(b[f+(j+-64<<1)>>1]|0,a[q>>0]|0)|0)|0;A=A+(H(b[f+(j<<1)>>1]|0,a[r>>0]|0)|0)|0;A=A+(H(b[f+(j+64<<1)>>1]|0,a[s>>0]|0)|0)|0;A=A+(H(b[f+(j+128<<1)>>1]|0,a[t>>0]|0)|0)|0;A=A+(H(b[f+(j+192<<1)>>1]|0,a[u>>0]|0)|0)|0;A=A+(H(b[f+(j+256<<1)>>1]|0,a[n>>0]|0)|0)>>6;A=(b[h+(j<<1)>>1]|0)+64+A>>7;a[c+j>>0]=A>>>0>255?0-A>>31:A;j=j+1|0}h=h+128|0;c=c+e|0;f=f+128|0;m=m+1|0}Mb=y;return}function Th(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=Mb;Mb=Mb+48|0;t=u+24|0;o=u+16|0;n=u;l=u+36|0;m=c[g+24>>2]|0;h=c[g+28>>2]|0;q=c[b+60>>2]|0;c[q+25684>>2]=c[b+92>>2];c[q+29572>>2]=0;c[q+25636>>2]=0;r=q+24972|0;UC(q,r);a:do if(h){i=q+27020|0;if((c[i>>2]|0?UA(g,1,0)|0:0)?(j=UA(g,1,l)|0,k=c[l>>2]|0,Cu(j,k)|0):0)Jk(j,k,q+27036|0,i,q+27024|0,c[b+688>>2]|0,b)|0;if(((((((h|0)>8&(c[i>>2]|0)!=0?(a[m>>0]|0)==1:0)?(a[m+2>>0]|0)==0:0)?(d[m+4>>0]|0)>251:0)?a[m+5>>0]&31:0)?(a[m+8>>0]|0)==103:0)?Cu(m,h)|0:0){h=Jk(m,h,q+27036|0,i,q+27024|0,c[b+688>>2]|0,b)|0;break}j=Ed(q,m,h)|0;if((j|0)<0)h=-1094995529;else{i=(c[q+24312>>2]|0)==0;if(i?(c[q+27012>>2]|0)==10:0)if((j|0)>(h|0)){c[n>>2]=174341;c[n+4>>2]=174363;c[n+8>>2]=1011;AD(0,0,222515,n);ba()}else{h=lv(q,e,f,j)|0;break}do if(c[b+96>>2]&32768){o=c[q+26992>>2]|0;if(!((o|0)==0?1:(c[q+26988>>2]|0)<(o|0)))p=30}else{if(!i?c[q+27016>>2]|0:0){p=30;break}if((c[b+844>>2]|0)>7)break a;if((h|0)>3?(AE(174384,m,4)|0)==0:0)break a;AD(b,16,174389,o);h=-1094995529;break a}while(0);if((p|0)==30){i=Au(q,c[q+25628>>2]|0,0)|0;if((i|0)<0){h=i;break}i=c[q+28724>>2]|0;if(i|0?(s=Sq(q,e,i,f)|0,(s|0)<0):0){h=s;break}}if((c[e+248>>2]|0)==0?c[f>>2]|0:0){c[t>>2]=174400;c[t+4>>2]=174363;c[t+8>>2]=1036;AD(0,0,222515,t);ba()}UC(q,r);h=QZ(j,h)|0}}else h=lv(q,e,f,0)|0;while(0);Mb=u;return h|0}function Uh(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;do if((a|0)==(b|0))k=10;else{if((d|0)==0?(i=(O0(b)|0)+16|0,c[i>>2]&1|0):0){k=12;break}e=b+108|0;f=c[e+4>>2]|0;g=a+108|0;c[g>>2]=c[e>>2];c[g+4>>2]=f;g=b+880|0;f=c[g+4>>2]|0;e=a+880|0;c[e>>2]=c[g>>2];c[e+4>>2]=f;c[a+124>>2]=c[b+124>>2];c[a+128>>2]=c[b+128>>2];c[a+144>>2]=c[b+144>>2];c[a+888>>2]=c[b+888>>2];c[a+132>>2]=c[b+132>>2];c[a+136>>2]=c[b+136>>2];c[a+180>>2]=c[b+180>>2];c[a+780>>2]=c[b+780>>2];c[a+784>>2]=c[b+784>>2];e=b+228|0;f=c[e+4>>2]|0;g=a+228|0;c[g>>2]=c[e>>2];c[g+4>>2]=f;c[a+276>>2]=c[b+276>>2];c[a+828>>2]=c[b+828>>2];c[a+832>>2]=c[b+832>>2];c[a+788>>2]=c[b+788>>2];c[a+116>>2]=c[b+116>>2];c[a+388>>2]=c[b+388>>2];c[a+392>>2]=c[b+392>>2];c[a+396>>2]=c[b+396>>2];c[a+400>>2]=c[b+400>>2];c[a+404>>2]=c[b+404>>2];c[a+704>>2]=c[b+704>>2];c[a+708>>2]=c[b+708>>2];c[a+420>>2]=c[b+420>>2];c[a+416>>2]=c[b+416>>2];c[a+424>>2]=c[b+424>>2];g=b+448|0;f=c[g+4>>2]|0;e=a+448|0;c[e>>2]=c[g>>2];c[e+4>>2]=f;c[(c[a+64>>2]|0)+60>>2]=c[(c[b+64>>2]|0)+60>>2];e=a+976|0;f=c[e>>2]|0;g=(f|0)!=0;h=b+976|0;i=c[h>>2]|0;if(!(g^(i|0)!=0)){if(g?(c[f+4>>2]|0)!=(c[i+4>>2]|0):0)k=7}else k=7;if(((k|0)==7?(F$(e),j=c[h>>2]|0,j|0):0)?(j=FP(j)|0,c[e>>2]=j,(j|0)==0):0){e=-12;break}c[a+1004>>2]=c[b+1004>>2];k=10}while(0);if((k|0)==10)if(!d)k=12;else{c[a+120>>2]=(c[b+800>>2]|0)+-1;c[a+796>>2]=c[b+796>>2];e=0}if((k|0)==12){e=c[(c[a+12>>2]|0)+64>>2]|0;if(!e)e=0;else e=Xb[e&15](a,b)|0}return e|0}function Vh(a,b,d,e,g,h,i,j,k){a=a|0;b=b|0;d=d|0;e=e|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,r=0,s=0,t=0,u=0,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;Q=(k|0)!=0;s=Q?292512:32;t=128>>>k;v=1152>>>k;u=2304-v|0;v=v<<2;w=i+(u<<2)|0;x=64>>>k;y=d+24|0;z=192>>>k;A=s+(x<<2)|0;B=256>>>k;C=s+(t<<2)|0;D=448>>>k;E=s+(z<<2)|0;F=512>>>k;G=s+(B<<2)|0;H=704>>>k;I=s+(320>>>k<<2)|0;J=768>>>k;K=s+(384>>>k<<2)|0;L=960>>>k;M=s+(D<<2)|0;N=1024>>>k;O=s+(F<<2)|0;P=1216>>>k;n=s+(576>>>k<<2)|0;o=b+8|0;p=a+44|0;q=h+256|0;r=b+24|0;m=b+20|0;l=0;while(1){if((l|0)==32)break;k=c[j>>2]|0;if((k|0)<(t|0)){Mn(w|0,i|0,v|0)|0;k=u}b=k-t|0;c[j>>2]=b;b=i+(b<<2)|0;if(Q){k=0;while(1){if((k|0)==32)break;R=g+(l<<8)+(k<<2)|0;f[R>>2]=-+f[R>>2];c[g+(l<<8)+(k+32<<2)>>2]=c[g+9728+(l<<8)+(31-k<<2)>>2];k=k+1|0}gc[c[p>>2]&1023](a,h,g+(l<<8)|0);ec[c[m>>2]&255](b,h)}else{R=g+9728+(l<<8)|0;dc[c[o>>2]&63](R);gc[c[p>>2]&1023](a,h,g+(l<<8)|0);gc[c[p>>2]&1023](a,q,R);gc[c[r>>2]&1023](b,q,h)}hc[c[d>>2]&255](e,b,s,x);jc[c[y>>2]&255](e,b+(z<<2)|0,A,e,x);jc[c[y>>2]&255](e,b+(B<<2)|0,C,e,x);jc[c[y>>2]&255](e,b+(D<<2)|0,E,e,x);jc[c[y>>2]&255](e,b+(F<<2)|0,G,e,x);jc[c[y>>2]&255](e,b+(H<<2)|0,I,e,x);jc[c[y>>2]&255](e,b+(J<<2)|0,K,e,x);jc[c[y>>2]&255](e,b+(L<<2)|0,M,e,x);jc[c[y>>2]&255](e,b+(N<<2)|0,O,e,x);jc[c[y>>2]&255](e,b+(P<<2)|0,n,e,x);e=e+(x<<2)|0;l=l+1|0}return}function Wh(c,d,f,g,h,i,j){c=c|0;d=d|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;w=Mb;Mb=Mb+9088|0;v=w;u=f>>>1;t=h+-1|0;l=20704+(t<<4)|0;m=g+7|0;n=20704+(t<<4)+1|0;o=20704+(t<<4)+2|0;p=20704+(t<<4)+3|0;q=20704+(t<<4)+4|0;r=20704+(t<<4)+5|0;s=20704+(t<<4)+6|0;t=20704+(t<<4)+7|0;k=v;f=d+((H(u,-3)|0)<<1)|0;h=0;while(1){if((h|0)>=(m|0))break;d=0;while(1){if((d|0)>=(j|0))break;y=H(e[f+(d+-3<<1)>>1]|0,a[l>>0]|0)|0;y=(H(e[f+(d+-2<<1)>>1]|0,a[n>>0]|0)|0)+y|0;y=y+(H(e[f+(d+-1<<1)>>1]|0,a[o>>0]|0)|0)|0;y=y+(H(e[f+(d<<1)>>1]|0,a[p>>0]|0)|0)|0;x=d+1|0;y=y+(H(e[f+(x<<1)>>1]|0,a[q>>0]|0)|0)|0;y=y+(H(e[f+(d+2<<1)>>1]|0,a[r>>0]|0)|0)|0;y=y+(H(e[f+(d+3<<1)>>1]|0,a[s>>0]|0)|0)|0;y=(y+(H(e[f+(d+4<<1)>>1]|0,a[t>>0]|0)|0)|0)>>>4&65535;b[k+(d<<1)>>1]=y;d=x}k=k+128|0;f=f+(u<<1)|0;h=h+1|0}k=i+-1|0;l=20704+(k<<4)|0;m=20704+(k<<4)+1|0;n=20704+(k<<4)+2|0;o=20704+(k<<4)+3|0;p=20704+(k<<4)+4|0;q=20704+(k<<4)+5|0;r=20704+(k<<4)+6|0;k=20704+(k<<4)+7|0;f=v+384|0;h=0;while(1){if((h|0)>=(g|0))break;d=0;while(1){if((d|0)>=(j|0))break;y=H(b[f+(d+-192<<1)>>1]|0,a[l>>0]|0)|0;y=(H(b[f+(d+-128<<1)>>1]|0,a[m>>0]|0)|0)+y|0;y=y+(H(b[f+(d+-64<<1)>>1]|0,a[n>>0]|0)|0)|0;y=y+(H(b[f+(d<<1)>>1]|0,a[o>>0]|0)|0)|0;y=y+(H(b[f+(d+64<<1)>>1]|0,a[p>>0]|0)|0)|0;y=y+(H(b[f+(d+128<<1)>>1]|0,a[q>>0]|0)|0)|0;y=y+(H(b[f+(d+192<<1)>>1]|0,a[r>>0]|0)|0)|0;y=(y+(H(b[f+(d+256<<1)>>1]|0,a[k>>0]|0)|0)|0)>>>6&65535;b[c+(d<<1)>>1]=y;d=d+1|0}c=c+128|0;f=f+128|0;h=h+1|0}Mb=w;return}function Xh(c,d,f,g,h,i,j){c=c|0;d=d|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;w=Mb;Mb=Mb+9088|0;v=w;u=f>>>1;t=h+-1|0;l=20704+(t<<4)|0;m=g+7|0;n=20704+(t<<4)+1|0;o=20704+(t<<4)+2|0;p=20704+(t<<4)+3|0;q=20704+(t<<4)+4|0;r=20704+(t<<4)+5|0;s=20704+(t<<4)+6|0;t=20704+(t<<4)+7|0;k=v;f=d+((H(u,-3)|0)<<1)|0;h=0;while(1){if((h|0)>=(m|0))break;d=0;while(1){if((d|0)>=(j|0))break;y=H(e[f+(d+-3<<1)>>1]|0,a[l>>0]|0)|0;y=(H(e[f+(d+-2<<1)>>1]|0,a[n>>0]|0)|0)+y|0;y=y+(H(e[f+(d+-1<<1)>>1]|0,a[o>>0]|0)|0)|0;y=y+(H(e[f+(d<<1)>>1]|0,a[p>>0]|0)|0)|0;x=d+1|0;y=y+(H(e[f+(x<<1)>>1]|0,a[q>>0]|0)|0)|0;y=y+(H(e[f+(d+2<<1)>>1]|0,a[r>>0]|0)|0)|0;y=y+(H(e[f+(d+3<<1)>>1]|0,a[s>>0]|0)|0)|0;y=(y+(H(e[f+(d+4<<1)>>1]|0,a[t>>0]|0)|0)|0)>>>2&65535;b[k+(d<<1)>>1]=y;d=x}k=k+128|0;f=f+(u<<1)|0;h=h+1|0}k=i+-1|0;l=20704+(k<<4)|0;m=20704+(k<<4)+1|0;n=20704+(k<<4)+2|0;o=20704+(k<<4)+3|0;p=20704+(k<<4)+4|0;q=20704+(k<<4)+5|0;r=20704+(k<<4)+6|0;k=20704+(k<<4)+7|0;f=v+384|0;h=0;while(1){if((h|0)>=(g|0))break;d=0;while(1){if((d|0)>=(j|0))break;y=H(b[f+(d+-192<<1)>>1]|0,a[l>>0]|0)|0;y=(H(b[f+(d+-128<<1)>>1]|0,a[m>>0]|0)|0)+y|0;y=y+(H(b[f+(d+-64<<1)>>1]|0,a[n>>0]|0)|0)|0;y=y+(H(b[f+(d<<1)>>1]|0,a[o>>0]|0)|0)|0;y=y+(H(b[f+(d+64<<1)>>1]|0,a[p>>0]|0)|0)|0;y=y+(H(b[f+(d+128<<1)>>1]|0,a[q>>0]|0)|0)|0;y=y+(H(b[f+(d+192<<1)>>1]|0,a[r>>0]|0)|0)|0;y=(y+(H(b[f+(d+256<<1)>>1]|0,a[k>>0]|0)|0)|0)>>>6&65535;b[c+(d<<1)>>1]=y;d=d+1|0}c=c+128|0;f=f+128|0;h=h+1|0}Mb=w;return}function Yh(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;u=Mb;Mb=Mb+16|0;f=u;n=b+272|0;k=c[n>>2]|0;l=(k|0)==0;o=b+260|0;m=c[o>>2]|0;s=H(c[b+264>>2]|0,l?m:1)|0;if((c[a>>2]|0)!=(m|0)){c[f>>2]=219149;c[f+4>>2]=219180;c[f+8>>2]=198;AD(0,0,222515,f);ba()}h=c[a+4>>2]|0;if(!h)f=0;else{if(!(c[d+272>>2]|0))i=1;else i=c[d+260>>2]|0;f=0;g=0;while(1){if((f|0)>=(i|0))break;r=c[d+(f<<2)>>2]|g;f=f+1|0;g=r}f=g&h}i=c[a+8>>2]|0;if(i){j=l?1:m;g=0;h=0;while(1){if((h|0)>=(j|0))break;g=c[b+(h<<2)>>2]|g;h=h+1|0}f=g&i|f}j=a+16|0;g=c[j>>2]|0;r=a+20|0;if((g|0)!=0?!((f|0)!=0|(c[r>>2]|0)!=0):0){i=e&-16;a:do if((i|0)>0){if((k|0)!=(c[d+272>>2]|0)){gc[g&1023](b,d,i);break}h=l?1:m;f=0;while(1){if((f|0)>=(h|0))break a;if(!(c[n>>2]|0))g=c[o>>2]|0;else g=1;q=H(g,i)|0;gc[c[j>>2]&1023](b+(f<<2)|0,d+(f<<2)|0,q);f=f+1|0}}while(0);if((i|0)!=(e|0))t=26}else{i=0;t=26}b:do if((t|0)==26){m=d+272|0;n=d+260|0;o=d+264|0;p=H(i,s)|0;q=a+12|0;k=H(s,e)|0;l=a+24|0;j=0;while(1){if((j|0)>=(c[a>>2]|0))break b;f=c[r>>2]|0;if(f){f=c[f+(j<<2)>>2]|0;if((f|0)<0){h=0;g=l}else t=30}else{f=j;t=30}if((t|0)==30){t=0;if(!(c[m>>2]|0))g=c[n>>2]|0;else g=1;h=H(c[o>>2]|0,g)|0;g=c[d+(f<<2)>>2]|0}f=c[b+(j<<2)>>2]|0;if(f|0){e=g+(H(h,i)|0)|0;jc[c[q>>2]&255](f+p|0,e,h,s,f+k|0)}j=j+1|0}}while(0);Mb=u;return 0}function Zh(c,d,f,g,h,i,j){c=c|0;d=d|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;w=Mb;Mb=Mb+9088|0;v=w;u=f>>>1;t=h+-1|0;l=20704+(t<<4)|0;m=g+7|0;n=20704+(t<<4)+1|0;o=20704+(t<<4)+2|0;p=20704+(t<<4)+3|0;q=20704+(t<<4)+4|0;r=20704+(t<<4)+5|0;s=20704+(t<<4)+6|0;t=20704+(t<<4)+7|0;k=v;f=d+((H(u,-3)|0)<<1)|0;h=0;while(1){if((h|0)>=(m|0))break;d=0;while(1){if((d|0)>=(j|0))break;y=H(e[f+(d+-3<<1)>>1]|0,a[l>>0]|0)|0;y=(H(e[f+(d+-2<<1)>>1]|0,a[n>>0]|0)|0)+y|0;y=y+(H(e[f+(d+-1<<1)>>1]|0,a[o>>0]|0)|0)|0;y=y+(H(e[f+(d<<1)>>1]|0,a[p>>0]|0)|0)|0;x=d+1|0;y=y+(H(e[f+(x<<1)>>1]|0,a[q>>0]|0)|0)|0;y=y+(H(e[f+(d+2<<1)>>1]|0,a[r>>0]|0)|0)|0;y=y+(H(e[f+(d+3<<1)>>1]|0,a[s>>0]|0)|0)|0;y=(y+(H(e[f+(d+4<<1)>>1]|0,a[t>>0]|0)|0)|0)>>>1&65535;b[k+(d<<1)>>1]=y;d=x}k=k+128|0;f=f+(u<<1)|0;h=h+1|0}k=i+-1|0;l=20704+(k<<4)|0;m=20704+(k<<4)+1|0;n=20704+(k<<4)+2|0;o=20704+(k<<4)+3|0;p=20704+(k<<4)+4|0;q=20704+(k<<4)+5|0;r=20704+(k<<4)+6|0;k=20704+(k<<4)+7|0;f=v+384|0;h=0;while(1){if((h|0)>=(g|0))break;d=0;while(1){if((d|0)>=(j|0))break;y=H(b[f+(d+-192<<1)>>1]|0,a[l>>0]|0)|0;y=(H(b[f+(d+-128<<1)>>1]|0,a[m>>0]|0)|0)+y|0;y=y+(H(b[f+(d+-64<<1)>>1]|0,a[n>>0]|0)|0)|0;y=y+(H(b[f+(d<<1)>>1]|0,a[o>>0]|0)|0)|0;y=y+(H(b[f+(d+64<<1)>>1]|0,a[p>>0]|0)|0)|0;y=y+(H(b[f+(d+128<<1)>>1]|0,a[q>>0]|0)|0)|0;y=y+(H(b[f+(d+192<<1)>>1]|0,a[r>>0]|0)|0)|0;y=(y+(H(b[f+(d+256<<1)>>1]|0,a[k>>0]|0)|0)|0)>>>6&65535;b[c+(d<<1)>>1]=y;d=d+1|0}c=c+128|0;f=f+128|0;h=h+1|0}Mb=w;return}function _h(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=Mb;Mb=Mb+48|0;i=k+32|0;g=k+16|0;e=k;h=c[b>>2]|0;if(c[h+248>>2]|0){c[e>>2]=206162;c[e+4>>2]=206178;c[e+8>>2]=71;AD(0,0,222515,e);ba()}f=c[d>>2]|0;if(!(c[f+248>>2]|0)){c[g>>2]=206204;c[g+4>>2]=206178;c[g+8>>2]=72;AD(0,0,222515,g);ba()}e=d+4|0;if((c[e>>2]|0)!=(f|0)){c[i>>2]=206219;c[i+4>>2]=206178;c[i+8>>2]=73;AD(0,0,222515,i);ba()}i=b+4|0;c[i>>2]=h;e=uy(i,e)|0;a:do if((e|0)>=0?(h=FP(c[d+20>>2]|0)|0,i=b+20|0,c[i>>2]=h,h=FP(c[d+44>>2]|0)|0,c[b+44>>2]=h,!((h|0)==0|(c[i>>2]|0)==0)):0){c[b+24>>2]=c[d+24>>2];c[b+48>>2]=c[d+48>>2];f=0;while(1){if(f>>>0>=2)break;h=FP(c[d+28+(f<<2)>>2]|0)|0;i=b+28+(f<<2)|0;c[i>>2]=h;h=FP(c[d+60+(f<<2)>>2]|0)|0;c[b+60+(f<<2)>>2]=h;if((h|0)==0|(c[i>>2]|0)==0){j=20;break a}c[b+36+(f<<2)>>2]=c[d+36+(f<<2)>>2];c[b+68+(f<<2)>>2]=c[d+68+(f<<2)>>2];f=f+1|0}if(c[d+56>>2]|0){f=FP(c[d+52>>2]|0)|0;c[b+52>>2]=f;if(!f){j=20;break}c[b+56>>2]=c[f+4>>2]}e=0;while(1){if((e|0)==2)break;c[b+76+(e<<2)>>2]=c[d+76+(e<<2)>>2];e=e+1|0}Mn(b+104|0,d+104|0,512)|0;e=b+616|0;a=d+616|0;c[e>>2]=c[a>>2];c[e+4>>2]=c[a+4>>2];c[e+8>>2]=c[a+8>>2];c[e+12>>2]=c[a+12>>2];c[b+84>>2]=c[d+84>>2];c[b+88>>2]=c[d+88>>2];c[b+92>>2]=c[d+92>>2];c[b+100>>2]=c[d+100>>2];c[b+632>>2]=c[d+632>>2];c[b+636>>2]=c[d+636>>2];c[b+640>>2]=c[d+640>>2];c[b+644>>2]=c[d+644>>2];c[b+648>>2]=c[d+648>>2];c[b+652>>2]=c[d+652>>2];e=0}else j=20;while(0);if((j|0)==20)UC(a,b);Mb=k;return e|0}function $h(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=Mb;Mb=Mb+16|0;o=r;q=c[b+136>>2]|0;j=(c[q+31248>>2]|0)==3;h=1<<f;p=j?2:1;g=0;while(1){if((g|0)==(p|0))break;i=g<<1;f=0;while(1){if((f|0)==(p|0))break;n=(UY(b)|0)&255;a[o+(f+i)>>0]=n;f=f+1|0}g=g+1|0}h=h>>(j&1);i=q+31260|0;j=q+31256|0;g=0;while(1){if((g|0)==(p|0))break;k=g<<1;l=(H(g,h)|0)+e|0;f=0;while(1){if((f|0)==(p|0))break;m=f+k|0;n=a[o+m>>0]|0;if(!(n<<24>>24)){s=gQ(b)|0;c[i>>2]=s}else{s=mU(b)|0;c[j>>2]=s}s=(ii(b,(H(f,h)|0)+d|0,l,h,n&255)|0)&255;a[q+31264+m>>0]=s;f=f+1|0}g=g+1|0}a:do switch(c[(c[b+1412>>2]|0)+4>>2]|0){case 3:{j=0;while(1){if((j|0)==(p|0))break a;k=j<<1;i=0;while(1){if((i|0)==(p|0))break;f=nP(b)|0;g=i+k|0;a[q+31277+g>>0]=f;l=a[q+31264+g>>0]|0;do if((f|0)!=4){h=a[179577+f>>0]|0;f=q+31273+g|0;if(l<<24>>24==h<<24>>24){a[f>>0]=34;break}else{a[f>>0]=h;break}}else a[q+31273+g>>0]=l;while(0);i=i+1|0}j=j+1|0}}case 2:{g=nP(b)|0;a[q+31277>>0]=g;f=a[q+31264>>0]|0;if((g|0)!=4){s=a[179577+g>>0]|0;f=f<<24>>24==s<<24>>24?34:s}a[q+31273>>0]=a[20480+(f&255)>>0]|0;break}case 0:break;default:{f=nP(b)|0;h=a[q+31264>>0]|0;if((f|0)==4){a[q+31273>>0]=h;break a}g=a[179577+f>>0]|0;f=q+31273|0;if(h<<24>>24==g<<24>>24){a[f>>0]=34;break a}else{a[f>>0]=g;break a}}}while(0);Mb=r;return}function ai(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0;s=H(f,-2)|0;t=0-f|0;u=f<<1;v=f*3|0;w=f<<2;x=f*5|0;h=f*6|0;i=f*7|0;j=f<<3;k=f*9|0;l=f*10|0;m=e<<1;n=e*3|0;o=e<<2;p=e*5|0;q=e*6|0;r=e*7|0;g=0;while(1){if((g|0)==8)break;E=d[c+t>>0]|0;N=d[c>>0]|0;M=d[c+f>>0]|0;L=d[c+u>>0]|0;K=d[c+v>>0]|0;I=d[c+w>>0]|0;F=d[c+x>>0]|0;z=d[c+h>>0]|0;B=d[c+i>>0]|0;C=d[c+j>>0]|0;A=d[c+k>>0]|0;D=d[c+l>>0]|0;J=K+16|0;y=J+(d[c+s>>0]|0)+((M+N|0)*20|0)+(H(L+E|0,-5)|0)>>5;a[b>>0]=(((y>>>0>255?0-y>>31:y)&255)+1+(d[b>>0]|0)|0)>>>1;y=b+e|0;G=I+16|0;E=G+E+((L+M|0)*20|0)+(H(K+N|0,-5)|0)>>5;a[y>>0]=(((E>>>0>255?0-E>>31:E)&255)+1+(d[y>>0]|0)|0)>>>1;y=b+m|0;E=F+16|0;N=E+N+((K+L|0)*20|0)+(H(I+M|0,-5)|0)>>5;a[y>>0]=(((N>>>0>255?0-N>>31:N)&255)+1+(d[y>>0]|0)|0)>>>1;y=b+n|0;M=M+16+z+((I+K|0)*20|0)+(H(F+L|0,-5)|0)>>5;a[y>>0]=(((M>>>0>255?0-M>>31:M)&255)+1+(d[y>>0]|0)|0)>>>1;y=b+o|0;K=L+16+B+((F+I|0)*20|0)+(H(z+K|0,-5)|0)>>5;a[y>>0]=(((K>>>0>255?0-K>>31:K)&255)+1+(d[y>>0]|0)|0)>>>1;y=b+p|0;I=J+C+((z+F|0)*20|0)+(H(B+I|0,-5)|0)>>5;a[y>>0]=(((I>>>0>255?0-I>>31:I)&255)+1+(d[y>>0]|0)|0)>>>1;y=b+q|0;F=G+A+((B+z|0)*20|0)+(H(C+F|0,-5)|0)>>5;a[y>>0]=(((F>>>0>255?0-F>>31:F)&255)+1+(d[y>>0]|0)|0)>>>1;y=b+r|0;z=E+D+((C+B|0)*20|0)+(H(A+z|0,-5)|0)>>5;a[y>>0]=(((z>>>0>255?0-z>>31:z)&255)+1+(d[y>>0]|0)|0)>>>1;g=g+1|0;b=b+1|0;c=c+1|0}return}function bi(a,b,d,g){a=a|0;b=b|0;d=d|0;g=g|0;var h=0,i=0,j=0,k=0.0,l=0.0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;E=Mb;Mb=Mb+128|0;x=E;y=c[a+8>>2]|0;z=y*3|0;A=a+24|0;B=c[A>>2]|0;j=1<<B;o=a+16|0;C=a+96|0;p=y+-1|0;q=z+-1|0;r=(y*5|0)+-1|0;s=a+640|0;D=a+92|0;t=a+32|0;u=a+128|0;h=0;while(1){if((h|0)>=(j|0))break;v=h*15|0;i=0;while(1){if((i|0)==15)break;w=c[(c[o>>2]|0)+(i+v<<2)>>2]|0;G=c[C>>2]|0;F=w>>1;m=+f[G+(F<<3)>>2];n=+f[G+(F<<3)+4>>2];k=+f[d+(w+y<<2)>>2];if((w|0)<(y|0)){l=-+f[d+(w+z<<2)>>2];k=+f[d+(p-w<<2)>>2]-k}else{l=+f[d+(w-y<<2)>>2];k=-k-+f[d+(r-w<<2)>>2]}l=l-+f[d+(q-w<<2)>>2];f[x+(i<<3)+4>>2]=m*k-n*l;f[x+(i<<3)>>2]=n*k+m*l;i=i+1|0}hc[c[s>>2]&255]((c[D>>2]|0)+((e[(c[t>>2]|0)+(h<<1)>>1]|0)<<3)|0,x,u,j);h=h+1|0}j=y>>1;i=a+60|0;h=0;while(1){if((h|0)==15)break;ec[c[i>>2]&255](A,(c[D>>2]|0)+(h<<B<<3)|0);h=h+1|0}i=a+20|0;h=0;while(1){if((j|0)<=(h|0))break;z=h+j|0;A=j-h+-1|0;B=c[i>>2]|0;F=c[B+(z<<2)>>2]|0;B=c[B+(A<<2)>>2]|0;x=c[D>>2]|0;v=x+(F<<3)|0;y=c[C>>2]|0;a=y+(z<<3)+4|0;F=x+(F<<3)+4|0;w=y+(z<<3)|0;G=H(A<<1,g)|0;f[b+(G+g<<2)>>2]=+f[v>>2]*+f[a>>2]-+f[F>>2]*+f[w>>2];z=H(z<<1,g)|0;f[b+(z<<2)>>2]=+f[v>>2]*+f[w>>2]+ +f[F>>2]*+f[a>>2];a=x+(B<<3)|0;F=y+(A<<3)+4|0;B=x+(B<<3)+4|0;A=y+(A<<3)|0;f[b+(z+g<<2)>>2]=+f[a>>2]*+f[F>>2]-+f[B>>2]*+f[A>>2];f[b+(G<<2)>>2]=+f[a>>2]*+f[A>>2]+ +f[B>>2]*+f[F>>2];h=h+1|0}Mb=E;return}function ci(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,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;v=(d[c>>0]|0)-(d[e>>0]|0)|0;u=(d[c+1>>0]|0)-(d[e+1>>0]|0)|0;w=u-v|0;t=(d[c+2>>0]|0)-(d[e+2>>0]|0)|0;u=t-u|0;s=(d[c+3>>0]|0)-(d[e+3>>0]|0)|0;t=s-t|0;r=(d[c+4>>0]|0)-(d[e+4>>0]|0)|0;s=r-s|0;q=(d[c+5>>0]|0)-(d[e+5>>0]|0)|0;r=q-r|0;p=(d[c+6>>0]|0)-(d[e+6>>0]|0)|0;q=p-q|0;o=(d[c+7>>0]|0)-(d[e+7>>0]|0)|0;p=o-p|0;n=(d[c+8>>0]|0)-(d[e+8>>0]|0)|0;o=n-o|0;h=(d[c+9>>0]|0)-(d[e+9>>0]|0)|0;n=h-n|0;i=(d[c+10>>0]|0)-(d[e+10>>0]|0)|0;h=i-h|0;j=(d[c+11>>0]|0)-(d[e+11>>0]|0)|0;i=j-i|0;k=(d[c+12>>0]|0)-(d[e+12>>0]|0)|0;j=k-j|0;l=(d[c+13>>0]|0)-(d[e+13>>0]|0)|0;k=l-k|0;b=(d[c+14>>0]|0)-(d[e+14>>0]|0)|0;l=b-l|0;b=(d[c+15>>0]|0)-(d[e+15>>0]|0)-b|0;m=1;b=((w|0)>-1?w:0-w|0)+((v|0)>-1?v:0-v|0)+((u|0)>-1?u:0-u|0)+((t|0)>-1?t:0-t|0)+((s|0)>-1?s:0-s|0)+((r|0)>-1?r:0-r|0)+((q|0)>-1?q:0-q|0)+((p|0)>-1?p:0-p|0)+((o|0)>-1?o:0-o|0)+((n|0)>-1?n:0-n|0)+((h|0)>-1?h:0-h|0)+((i|0)>-1?i:0-i|0)+((j|0)>-1?j:0-j|0)+((k|0)>-1?k:0-k|0)+((l|0)>-1?l:0-l|0)+((b|0)>-1?b:0-b|0)|0;while(1){k=c+f|0;l=e+f|0;if((m|0)>=(g|0))break;h=a[k>>0]|0;i=a[l>>0]|0;w=(d[e>>0]|0)-(d[c>>0]|0)+((h&255)-(i&255))|0;j=1;b=((w|0)>-1?w:0-w|0)+b|0;while(1){if((j|0)==16)break;v=a[k+j>>0]|0;w=a[l+j>>0]|0;t=(d[c+j>>0]|0)-(d[e+j>>0]|0)|0;s=(h&255)-(i&255)|0;u=j-f+-1|0;u=(v&255)-(w&255)-(jU(t,s,s+t-(d[k+u>>0]|0)+(d[l+u>>0]|0)|0)|0)|0;j=j+1|0;b=((u|0)>-1?u:0-u|0)+b|0;h=v;i=w}m=m+1|0;e=l;c=k}return b|0}function di(c,e,f,g,h,i,j,k){c=c|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,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;x=Mb;Mb=Mb+9088|0;w=x;v=i+-1|0;n=20704+(v<<4)|0;o=h+7|0;p=20704+(v<<4)+1|0;q=20704+(v<<4)+2|0;r=20704+(v<<4)+3|0;s=20704+(v<<4)+4|0;t=20704+(v<<4)+5|0;u=20704+(v<<4)+6|0;v=20704+(v<<4)+7|0;m=w;f=f+(H(g,-3)|0)|0;l=0;while(1){if((l|0)>=(o|0))break;i=0;while(1){if((i|0)>=(k|0))break;z=H(d[f+(i+-3)>>0]|0,a[n>>0]|0)|0;z=(H(d[f+(i+-2)>>0]|0,a[p>>0]|0)|0)+z|0;z=z+(H(d[f+(i+-1)>>0]|0,a[q>>0]|0)|0)|0;z=z+(H(d[f+i>>0]|0,a[r>>0]|0)|0)|0;y=i+1|0;z=z+(H(d[f+y>>0]|0,a[s>>0]|0)|0)|0;z=z+(H(d[f+(i+2)>>0]|0,a[t>>0]|0)|0)|0;z=z+(H(d[f+(i+3)>>0]|0,a[u>>0]|0)|0)|0;z=z+(H(d[f+(i+4)>>0]|0,a[v>>0]|0)|0)&65535;b[m+(i<<1)>>1]=z;i=y}m=m+128|0;f=f+g|0;l=l+1|0}t=j+-1|0;m=20704+(t<<4)|0;n=20704+(t<<4)+1|0;o=20704+(t<<4)+2|0;p=20704+(t<<4)+3|0;q=20704+(t<<4)+4|0;r=20704+(t<<4)+5|0;s=20704+(t<<4)+6|0;t=20704+(t<<4)+7|0;l=0;f=w+384|0;while(1){if((l|0)>=(h|0))break;i=0;while(1){if((i|0)>=(k|0))break;z=H(b[f+(i+-192<<1)>>1]|0,a[m>>0]|0)|0;z=(H(b[f+(i+-128<<1)>>1]|0,a[n>>0]|0)|0)+z|0;z=z+(H(b[f+(i+-64<<1)>>1]|0,a[o>>0]|0)|0)|0;z=z+(H(b[f+(i<<1)>>1]|0,a[p>>0]|0)|0)|0;z=z+(H(b[f+(i+64<<1)>>1]|0,a[q>>0]|0)|0)|0;z=z+(H(b[f+(i+128<<1)>>1]|0,a[r>>0]|0)|0)|0;z=z+(H(b[f+(i+192<<1)>>1]|0,a[s>>0]|0)|0)|0;z=(z+(H(b[f+(i+256<<1)>>1]|0,a[t>>0]|0)|0)>>6)+32>>6;a[c+i>>0]=z>>>0>255?0-z>>31:z;i=i+1|0}c=c+e|0;l=l+1|0;f=f+128|0}Mb=x;return}
|
|
function Yd(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,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=Mb;Mb=Mb+256|0;G=I+248|0;C=I+240|0;B=I+232|0;A=I+224|0;E=I+216|0;D=I+208|0;h=I+200|0;g=I+192|0;z=I;H=c[a+60>>2]|0;F=H+8|0;c[F>>2]=b;do if((sS(e)|0)==4095){f=Sm(H,e)|0;if((f|0)<0){AD(a,16,195969,g);y=59;break}f=c[H+6476>>2]|0;if((f|0)>12){y=c[H+4>>2]|0;c[h>>2]=f;AD(y,16,196003,h);f=-1094995529;y=59}else y=6}else y=6;while(0);a:do if((y|0)==6){f=hu(a)|0;if((f|0)>=0){r=H+6472|0;s=H+4|0;c[(c[s>>2]|0)+828>>2]=(c[r>>2]|0)+-1;t=l1(e)|0;c[H+1004>>2]=0;u=a+680|0;v=a+420|0;w=H+6516|0;x=H+6484|0;g=0;p=0;k=0;q=7;l=0;j=0;h=0;b:while(1){m=HG(e,3)|0;if((m|0)==7){y=41;break}i=HG(e,4)|0;if(c[u>>2]&256|0){c[D>>2]=m;c[D+4>>2]=i;AD(a,48,196035,D)}if((m|0)!=5&(c[v>>2]|0)==0){f=-1094995529;y=59;break a}o=m>>>0<4;if(o){g=Ze(H,m,i)|0;if(!g){y=14;break}n=(c[w>>2]|0)==0?1024:960;c[g>>2]=1}else n=h;switch(m|0){case 0:{i=k+1|0;j=1;h=l;f=rj(H,g+288|0,e,0)|0;y=38;break}case 1:{i=k;j=1;h=l;f=Jn(H,e,g)|0;y=38;break}case 2:{i=k;h=l;f=Ie(H,e,g)|0;y=38;break}case 3:{i=k;j=1;h=l;f=rj(H,g+288|0,e,0)|0;y=38;break}case 4:{i=k;h=l;f=sD(H,e)|0;y=38;break}case 5:{h=(l|0)==0;if(!(h|($Q(H)|0)!=0)){y=29;break b}i=gp(a,r,z,e,t)|0;do if((i|0)>=0){if(!h){AD(a,16,196095,A);hC(H);h=l;break}f=$i(H,z,i,1,1)|0;if(!f){c[x>>2]=0;h=1;f=0}else h=1}else{h=l;f=i}while(0);i=k;y=38;break}case 6:{if((i|0)==15)f=(HG(e,8)|0)+14|0;else f=i;if((a$(e)|0)<(f<<3|0)){y=34;break b}while(1){if((f|0)<=0)break;f=f-(zk(H,e,f,p,q)|0)|0}i=l;h=o?g:p;f=o?6:q;break}default:{f=-558323010;y=59;break a}}if((y|0)==38){y=0;if(!f){k=i;i=h;h=o?g:p;f=o?m:q}else{y=59;break a}}if((a$(e)|0)<3){y=40;break}else{p=h;q=f;l=i;f=0;h=n}}if((y|0)==14){f=c[s>>2]|0;c[E>>2]=m;c[E+4>>2]=i;AD(f,16,196055,E);f=-1094995529;y=59;break}else if((y|0)==29){f=-1094995529;y=59;break}else if((y|0)==34){AD(a,16,196182,B);f=-1094995529;y=59;break}else if((y|0)==40){AD(a,16,196241,C);f=-1094995529;y=59;break}else if((y|0)==41){if(!(c[v>>2]|0)){c[d>>2]=0;f=0;break}if((c[H+6488>>2]|0)==1)g=(c[H+6500>>2]|0)>(c[H+6480>>2]|0)&1;else g=0;h=h<<g;Ci(H);f=H+6728|0;if((j|0)!=0&(c[f>>2]|0)!=0){c[a+416>>2]=c[H+6480>>2]<<g;c[a+428>>2]=h;c[f>>2]=4}if(g|0)c[(c[a+64>>2]|0)+108>>2]=2;f=c[F>>2]|0;g=(h|0)!=0;if(g&(c[f>>2]|0)==0){AD(a,16,196290,G);f=-1094995529;y=59;break}if(g){c[f+76>>2]=h;c[f+232>>2]=c[a+416>>2]}else jB(f);c[d>>2]=g&1;f=c[H+5672>>2]|0;if(!((k|0)==2&(f|0)!=0)){f=0;break}H=H+6720|0;if(!((c[H>>2]|0)==3&(c[H+4>>2]|0)==0)){f=0;break}switch(f|0){case 1:{c[b+4>>2]=c[b>>2];f=0;break a}case 2:{c[b>>2]=c[b+4>>2];f=0;break a}default:{f=0;break a}}}}else y=59}while(0);if((y|0)==59)hC(H);Mb=I;return f|0}function Zd(f,g,h,i,j,k){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,r=0,s=0,t=0,u=0,v=0,w=0;t=Mb;Mb=Mb+208|0;s=c[21792+(k+-2<<2)>>2]|0;o=t+32|0;l=s>>1;a:do if((k|0)>17){m=g+-2|0;n=k+-11|0;b:do if(n>>>0<15&(k+-12|0)>>>0<13){m=0;while(1){if(m>>>0>16)break;q=g+(m+-1<<1)|0;p=q;q=q+4|0;q=d[q>>0]|d[q+1>>0]<<8|d[q+2>>0]<<16|d[q+3>>0]<<24;r=o+(m<<1)|0;c[r>>2]=d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24;c[r+4>>2]=q;m=m+4|0}m=21936+(n<<2)|0;while(1){if((l|0)>=0){m=o;break b}r=h+(((H(c[m>>2]|0,l)|0)+128>>8)+-1<<1)|0;b[o+(l<<1)>>1]=b[r>>1]|0;l=l+1|0}}while(0);l=0;while(1){if((l|0)==16)break;r=l+1|0;p=H(r,s)|0;o=p>>5;p=p&31;c:do if(!p){o=o+1|0;n=H(l,i)|0;l=0;while(1){if(l>>>0>=16)break c;p=m+(o+l<<1)|0;v=p;v=d[v>>0]|d[v+1>>0]<<8|d[v+2>>0]<<16|d[v+3>>0]<<24;p=p+4|0;p=d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24;q=f+(l+n<<1)|0;u=q;a[u>>0]=v;a[u+1>>0]=v>>8;a[u+2>>0]=v>>16;a[u+3>>0]=v>>24;q=q+4|0;a[q>>0]=p;a[q+1>>0]=p>>8;a[q+2>>0]=p>>16;a[q+3>>0]=p>>24;l=l+4|0}}else{q=32-p|0;n=H(l,i)|0;l=0;while(1){if(l>>>0>=16)break c;v=l+o|0;u=H(q,e[m+(v+1<<1)>>1]|0)|0;v=(u+16+(H(p,e[m+(v+2<<1)>>1]|0)|0)|0)>>>5&65535;b[f+(l+n<<1)>>1]=v;v=l|1;u=v+o|0;w=H(q,e[m+(u+1<<1)>>1]|0)|0;u=(w+16+(H(p,e[m+(u+2<<1)>>1]|0)|0)|0)>>>5&65535;b[f+(v+n<<1)>>1]=u;v=l|2;u=v+o|0;w=H(q,e[m+(u+1<<1)>>1]|0)|0;u=(w+16+(H(p,e[m+(u+2<<1)>>1]|0)|0)|0)>>>5&65535;b[f+(v+n<<1)>>1]=u;v=l|3;u=v+o|0;w=H(q,e[m+(u+1<<1)>>1]|0)|0;u=(w+16+(H(p,e[m+(u+2<<1)>>1]|0)|0)|0)>>>5&65535;b[f+(v+n<<1)>>1]=u;l=l+4|0}}while(0);l=r}if((j|0)==0&(k|0)==26){m=h+-2|0;l=0;while(1){if((l|0)==16)break a;v=((e[h+(l<<1)>>1]|0)-(e[m>>1]|0)>>1)+(e[g>>1]|0)|0;w=f+((H(l,i)|0)<<1)|0;b[w>>1]=v>>>0<4096?v:0-v>>31&4095;l=l+1|0}}}else{m=h+-2|0;n=k+-11|0;d:do if(n>>>0<15&(k+-12|0)>>>0<13){m=0;while(1){if(m>>>0>16)break;v=h+(m+-1<<1)|0;u=v;v=v+4|0;v=d[v>>0]|d[v+1>>0]<<8|d[v+2>>0]<<16|d[v+3>>0]<<24;w=o+(m<<1)|0;c[w>>2]=d[u>>0]|d[u+1>>0]<<8|d[u+2>>0]<<16|d[u+3>>0]<<24;c[w+4>>2]=v;m=m+4|0}m=21936+(n<<2)|0;while(1){if((l|0)>=0){m=o;break d}w=g+(((H(c[m>>2]|0,l)|0)+128>>8)+-1<<1)|0;b[o+(l<<1)>>1]=b[w>>1]|0;l=l+1|0}}while(0);p=0;while(1){if((p|0)==16)break;q=p+1|0;n=H(q,s)|0;r=n>>5;n=n&31;e:do if(!n){l=0;while(1){if((l|0)==16)break e;w=l+1|0;v=f+((H(l,i)|0)+p<<1)|0;b[v>>1]=b[m+(w+r<<1)>>1]|0;l=w}}else{o=32-n|0;l=0;while(1){if((l|0)==16)break e;v=l+r|0;w=H(o,e[m+(v+1<<1)>>1]|0)|0;v=(w+16+(H(n,e[m+(v+2<<1)>>1]|0)|0)|0)>>>5&65535;w=f+((H(l,i)|0)+p<<1)|0;b[w>>1]=v;l=l+1|0}}while(0);p=q}if((j|0)==0&(k|0)==10){m=g+-2|0;l=0;while(1){if(l>>>0>=16)break a;w=((e[g+(l<<1)>>1]|0)-(e[m>>1]|0)>>1)+(e[h>>1]|0)|0;b[f+(l<<1)>>1]=w>>>0<4096?w:0-w>>31&4095;w=l|1;v=((e[g+(w<<1)>>1]|0)-(e[m>>1]|0)>>1)+(e[h>>1]|0)|0;b[f+(w<<1)>>1]=v>>>0<4096?v:0-v>>31&4095;w=l|2;v=((e[g+(w<<1)>>1]|0)-(e[m>>1]|0)>>1)+(e[h>>1]|0)|0;b[f+(w<<1)>>1]=v>>>0<4096?v:0-v>>31&4095;w=l|3;v=((e[g+(w<<1)>>1]|0)-(e[m>>1]|0)>>1)+(e[h>>1]|0)|0;b[f+(w<<1)>>1]=v>>>0<4096?v:0-v>>31&4095;l=l+4|0}}}while(0);Mb=t;return}function _d(f,g,h,i,j,k){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,r=0,s=0,t=0,u=0,v=0,w=0;t=Mb;Mb=Mb+208|0;s=c[21792+(k+-2<<2)>>2]|0;o=t+32|0;l=s>>1;a:do if((k|0)>17){m=g+-2|0;n=k+-11|0;b:do if(n>>>0<15&(k+-12|0)>>>0<13){m=0;while(1){if(m>>>0>16)break;q=g+(m+-1<<1)|0;p=q;q=q+4|0;q=d[q>>0]|d[q+1>>0]<<8|d[q+2>>0]<<16|d[q+3>>0]<<24;r=o+(m<<1)|0;c[r>>2]=d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24;c[r+4>>2]=q;m=m+4|0}m=21936+(n<<2)|0;while(1){if((l|0)>=0){m=o;break b}r=h+(((H(c[m>>2]|0,l)|0)+128>>8)+-1<<1)|0;b[o+(l<<1)>>1]=b[r>>1]|0;l=l+1|0}}while(0);l=0;while(1){if((l|0)==16)break;r=l+1|0;p=H(r,s)|0;o=p>>5;p=p&31;c:do if(!p){o=o+1|0;n=H(l,i)|0;l=0;while(1){if(l>>>0>=16)break c;p=m+(o+l<<1)|0;v=p;v=d[v>>0]|d[v+1>>0]<<8|d[v+2>>0]<<16|d[v+3>>0]<<24;p=p+4|0;p=d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24;q=f+(l+n<<1)|0;u=q;a[u>>0]=v;a[u+1>>0]=v>>8;a[u+2>>0]=v>>16;a[u+3>>0]=v>>24;q=q+4|0;a[q>>0]=p;a[q+1>>0]=p>>8;a[q+2>>0]=p>>16;a[q+3>>0]=p>>24;l=l+4|0}}else{q=32-p|0;n=H(l,i)|0;l=0;while(1){if(l>>>0>=16)break c;v=l+o|0;u=H(q,e[m+(v+1<<1)>>1]|0)|0;v=(u+16+(H(p,e[m+(v+2<<1)>>1]|0)|0)|0)>>>5&65535;b[f+(l+n<<1)>>1]=v;v=l|1;u=v+o|0;w=H(q,e[m+(u+1<<1)>>1]|0)|0;u=(w+16+(H(p,e[m+(u+2<<1)>>1]|0)|0)|0)>>>5&65535;b[f+(v+n<<1)>>1]=u;v=l|2;u=v+o|0;w=H(q,e[m+(u+1<<1)>>1]|0)|0;u=(w+16+(H(p,e[m+(u+2<<1)>>1]|0)|0)|0)>>>5&65535;b[f+(v+n<<1)>>1]=u;v=l|3;u=v+o|0;w=H(q,e[m+(u+1<<1)>>1]|0)|0;u=(w+16+(H(p,e[m+(u+2<<1)>>1]|0)|0)|0)>>>5&65535;b[f+(v+n<<1)>>1]=u;l=l+4|0}}while(0);l=r}if((j|0)==0&(k|0)==26){m=h+-2|0;l=0;while(1){if((l|0)==16)break a;v=((e[h+(l<<1)>>1]|0)-(e[m>>1]|0)>>1)+(e[g>>1]|0)|0;w=f+((H(l,i)|0)<<1)|0;b[w>>1]=v>>>0<1024?v:0-v>>31&1023;l=l+1|0}}}else{m=h+-2|0;n=k+-11|0;d:do if(n>>>0<15&(k+-12|0)>>>0<13){m=0;while(1){if(m>>>0>16)break;v=h+(m+-1<<1)|0;u=v;v=v+4|0;v=d[v>>0]|d[v+1>>0]<<8|d[v+2>>0]<<16|d[v+3>>0]<<24;w=o+(m<<1)|0;c[w>>2]=d[u>>0]|d[u+1>>0]<<8|d[u+2>>0]<<16|d[u+3>>0]<<24;c[w+4>>2]=v;m=m+4|0}m=21936+(n<<2)|0;while(1){if((l|0)>=0){m=o;break d}w=g+(((H(c[m>>2]|0,l)|0)+128>>8)+-1<<1)|0;b[o+(l<<1)>>1]=b[w>>1]|0;l=l+1|0}}while(0);p=0;while(1){if((p|0)==16)break;q=p+1|0;n=H(q,s)|0;r=n>>5;n=n&31;e:do if(!n){l=0;while(1){if((l|0)==16)break e;w=l+1|0;v=f+((H(l,i)|0)+p<<1)|0;b[v>>1]=b[m+(w+r<<1)>>1]|0;l=w}}else{o=32-n|0;l=0;while(1){if((l|0)==16)break e;v=l+r|0;w=H(o,e[m+(v+1<<1)>>1]|0)|0;v=(w+16+(H(n,e[m+(v+2<<1)>>1]|0)|0)|0)>>>5&65535;w=f+((H(l,i)|0)+p<<1)|0;b[w>>1]=v;l=l+1|0}}while(0);p=q}if((j|0)==0&(k|0)==10){m=g+-2|0;l=0;while(1){if(l>>>0>=16)break a;w=((e[g+(l<<1)>>1]|0)-(e[m>>1]|0)>>1)+(e[h>>1]|0)|0;b[f+(l<<1)>>1]=w>>>0<1024?w:0-w>>31&1023;w=l|1;v=((e[g+(w<<1)>>1]|0)-(e[m>>1]|0)>>1)+(e[h>>1]|0)|0;b[f+(w<<1)>>1]=v>>>0<1024?v:0-v>>31&1023;w=l|2;v=((e[g+(w<<1)>>1]|0)-(e[m>>1]|0)>>1)+(e[h>>1]|0)|0;b[f+(w<<1)>>1]=v>>>0<1024?v:0-v>>31&1023;w=l|3;v=((e[g+(w<<1)>>1]|0)-(e[m>>1]|0)>>1)+(e[h>>1]|0)|0;b[f+(w<<1)>>1]=v>>>0<1024?v:0-v>>31&1023;l=l+4|0}}}while(0);Mb=t;return}function $d(f,g,h,i,j,k){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,r=0,s=0,t=0,u=0,v=0,w=0;t=Mb;Mb=Mb+208|0;s=c[21792+(k+-2<<2)>>2]|0;o=t+16|0;l=s>>2;a:do if((k|0)>17){m=g+-2|0;n=k+-11|0;b:do if(n>>>0<15&(k+-12|0)>>>0<13){m=0;while(1){if(m>>>0>8)break;q=g+(m+-1<<1)|0;p=q;q=q+4|0;q=d[q>>0]|d[q+1>>0]<<8|d[q+2>>0]<<16|d[q+3>>0]<<24;r=o+(m<<1)|0;c[r>>2]=d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24;c[r+4>>2]=q;m=m+4|0}m=21936+(n<<2)|0;while(1){if((l|0)>=0){m=o;break b}r=h+(((H(c[m>>2]|0,l)|0)+128>>8)+-1<<1)|0;b[o+(l<<1)>>1]=b[r>>1]|0;l=l+1|0}}while(0);l=0;while(1){if((l|0)==8)break;r=l+1|0;p=H(r,s)|0;o=p>>5;p=p&31;c:do if(!p){o=o+1|0;n=H(l,i)|0;l=0;while(1){if(l>>>0>=8)break c;p=m+(o+l<<1)|0;v=p;v=d[v>>0]|d[v+1>>0]<<8|d[v+2>>0]<<16|d[v+3>>0]<<24;p=p+4|0;p=d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24;q=f+(l+n<<1)|0;u=q;a[u>>0]=v;a[u+1>>0]=v>>8;a[u+2>>0]=v>>16;a[u+3>>0]=v>>24;q=q+4|0;a[q>>0]=p;a[q+1>>0]=p>>8;a[q+2>>0]=p>>16;a[q+3>>0]=p>>24;l=l+4|0}}else{q=32-p|0;n=H(l,i)|0;l=0;while(1){if(l>>>0>=8)break c;v=l+o|0;u=H(q,e[m+(v+1<<1)>>1]|0)|0;v=(u+16+(H(p,e[m+(v+2<<1)>>1]|0)|0)|0)>>>5&65535;b[f+(l+n<<1)>>1]=v;v=l|1;u=v+o|0;w=H(q,e[m+(u+1<<1)>>1]|0)|0;u=(w+16+(H(p,e[m+(u+2<<1)>>1]|0)|0)|0)>>>5&65535;b[f+(v+n<<1)>>1]=u;v=l|2;u=v+o|0;w=H(q,e[m+(u+1<<1)>>1]|0)|0;u=(w+16+(H(p,e[m+(u+2<<1)>>1]|0)|0)|0)>>>5&65535;b[f+(v+n<<1)>>1]=u;v=l|3;u=v+o|0;w=H(q,e[m+(u+1<<1)>>1]|0)|0;u=(w+16+(H(p,e[m+(u+2<<1)>>1]|0)|0)|0)>>>5&65535;b[f+(v+n<<1)>>1]=u;l=l+4|0}}while(0);l=r}if((j|0)==0&(k|0)==26){m=h+-2|0;l=0;while(1){if((l|0)==8)break a;v=((e[h+(l<<1)>>1]|0)-(e[m>>1]|0)>>1)+(e[g>>1]|0)|0;w=f+((H(l,i)|0)<<1)|0;b[w>>1]=v>>>0<4096?v:0-v>>31&4095;l=l+1|0}}}else{m=h+-2|0;n=k+-11|0;d:do if(n>>>0<15&(k+-12|0)>>>0<13){m=0;while(1){if(m>>>0>8)break;v=h+(m+-1<<1)|0;u=v;v=v+4|0;v=d[v>>0]|d[v+1>>0]<<8|d[v+2>>0]<<16|d[v+3>>0]<<24;w=o+(m<<1)|0;c[w>>2]=d[u>>0]|d[u+1>>0]<<8|d[u+2>>0]<<16|d[u+3>>0]<<24;c[w+4>>2]=v;m=m+4|0}m=21936+(n<<2)|0;while(1){if((l|0)>=0){m=o;break d}w=g+(((H(c[m>>2]|0,l)|0)+128>>8)+-1<<1)|0;b[o+(l<<1)>>1]=b[w>>1]|0;l=l+1|0}}while(0);p=0;while(1){if((p|0)==8)break;q=p+1|0;n=H(q,s)|0;r=n>>5;n=n&31;e:do if(!n){l=0;while(1){if((l|0)==8)break e;w=l+1|0;v=f+((H(l,i)|0)+p<<1)|0;b[v>>1]=b[m+(w+r<<1)>>1]|0;l=w}}else{o=32-n|0;l=0;while(1){if((l|0)==8)break e;v=l+r|0;w=H(o,e[m+(v+1<<1)>>1]|0)|0;v=(w+16+(H(n,e[m+(v+2<<1)>>1]|0)|0)|0)>>>5&65535;w=f+((H(l,i)|0)+p<<1)|0;b[w>>1]=v;l=l+1|0}}while(0);p=q}if((j|0)==0&(k|0)==10){m=g+-2|0;l=0;while(1){if(l>>>0>=8)break a;w=((e[g+(l<<1)>>1]|0)-(e[m>>1]|0)>>1)+(e[h>>1]|0)|0;b[f+(l<<1)>>1]=w>>>0<4096?w:0-w>>31&4095;w=l|1;v=((e[g+(w<<1)>>1]|0)-(e[m>>1]|0)>>1)+(e[h>>1]|0)|0;b[f+(w<<1)>>1]=v>>>0<4096?v:0-v>>31&4095;w=l|2;v=((e[g+(w<<1)>>1]|0)-(e[m>>1]|0)>>1)+(e[h>>1]|0)|0;b[f+(w<<1)>>1]=v>>>0<4096?v:0-v>>31&4095;w=l|3;v=((e[g+(w<<1)>>1]|0)-(e[m>>1]|0)>>1)+(e[h>>1]|0)|0;b[f+(w<<1)>>1]=v>>>0<4096?v:0-v>>31&4095;l=l+4|0}}}while(0);Mb=t;return}function ae(f,g,h,i,j,k){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,r=0,s=0,t=0,u=0,v=0,w=0;t=Mb;Mb=Mb+208|0;s=c[21792+(k+-2<<2)>>2]|0;o=t+16|0;l=s>>2;a:do if((k|0)>17){m=g+-2|0;n=k+-11|0;b:do if(n>>>0<15&(k+-12|0)>>>0<13){m=0;while(1){if(m>>>0>8)break;q=g+(m+-1<<1)|0;p=q;q=q+4|0;q=d[q>>0]|d[q+1>>0]<<8|d[q+2>>0]<<16|d[q+3>>0]<<24;r=o+(m<<1)|0;c[r>>2]=d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24;c[r+4>>2]=q;m=m+4|0}m=21936+(n<<2)|0;while(1){if((l|0)>=0){m=o;break b}r=h+(((H(c[m>>2]|0,l)|0)+128>>8)+-1<<1)|0;b[o+(l<<1)>>1]=b[r>>1]|0;l=l+1|0}}while(0);l=0;while(1){if((l|0)==8)break;r=l+1|0;p=H(r,s)|0;o=p>>5;p=p&31;c:do if(!p){o=o+1|0;n=H(l,i)|0;l=0;while(1){if(l>>>0>=8)break c;p=m+(o+l<<1)|0;v=p;v=d[v>>0]|d[v+1>>0]<<8|d[v+2>>0]<<16|d[v+3>>0]<<24;p=p+4|0;p=d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24;q=f+(l+n<<1)|0;u=q;a[u>>0]=v;a[u+1>>0]=v>>8;a[u+2>>0]=v>>16;a[u+3>>0]=v>>24;q=q+4|0;a[q>>0]=p;a[q+1>>0]=p>>8;a[q+2>>0]=p>>16;a[q+3>>0]=p>>24;l=l+4|0}}else{q=32-p|0;n=H(l,i)|0;l=0;while(1){if(l>>>0>=8)break c;v=l+o|0;u=H(q,e[m+(v+1<<1)>>1]|0)|0;v=(u+16+(H(p,e[m+(v+2<<1)>>1]|0)|0)|0)>>>5&65535;b[f+(l+n<<1)>>1]=v;v=l|1;u=v+o|0;w=H(q,e[m+(u+1<<1)>>1]|0)|0;u=(w+16+(H(p,e[m+(u+2<<1)>>1]|0)|0)|0)>>>5&65535;b[f+(v+n<<1)>>1]=u;v=l|2;u=v+o|0;w=H(q,e[m+(u+1<<1)>>1]|0)|0;u=(w+16+(H(p,e[m+(u+2<<1)>>1]|0)|0)|0)>>>5&65535;b[f+(v+n<<1)>>1]=u;v=l|3;u=v+o|0;w=H(q,e[m+(u+1<<1)>>1]|0)|0;u=(w+16+(H(p,e[m+(u+2<<1)>>1]|0)|0)|0)>>>5&65535;b[f+(v+n<<1)>>1]=u;l=l+4|0}}while(0);l=r}if((j|0)==0&(k|0)==26){m=h+-2|0;l=0;while(1){if((l|0)==8)break a;v=((e[h+(l<<1)>>1]|0)-(e[m>>1]|0)>>1)+(e[g>>1]|0)|0;w=f+((H(l,i)|0)<<1)|0;b[w>>1]=v>>>0<1024?v:0-v>>31&1023;l=l+1|0}}}else{m=h+-2|0;n=k+-11|0;d:do if(n>>>0<15&(k+-12|0)>>>0<13){m=0;while(1){if(m>>>0>8)break;v=h+(m+-1<<1)|0;u=v;v=v+4|0;v=d[v>>0]|d[v+1>>0]<<8|d[v+2>>0]<<16|d[v+3>>0]<<24;w=o+(m<<1)|0;c[w>>2]=d[u>>0]|d[u+1>>0]<<8|d[u+2>>0]<<16|d[u+3>>0]<<24;c[w+4>>2]=v;m=m+4|0}m=21936+(n<<2)|0;while(1){if((l|0)>=0){m=o;break d}w=g+(((H(c[m>>2]|0,l)|0)+128>>8)+-1<<1)|0;b[o+(l<<1)>>1]=b[w>>1]|0;l=l+1|0}}while(0);p=0;while(1){if((p|0)==8)break;q=p+1|0;n=H(q,s)|0;r=n>>5;n=n&31;e:do if(!n){l=0;while(1){if((l|0)==8)break e;w=l+1|0;v=f+((H(l,i)|0)+p<<1)|0;b[v>>1]=b[m+(w+r<<1)>>1]|0;l=w}}else{o=32-n|0;l=0;while(1){if((l|0)==8)break e;v=l+r|0;w=H(o,e[m+(v+1<<1)>>1]|0)|0;v=(w+16+(H(n,e[m+(v+2<<1)>>1]|0)|0)|0)>>>5&65535;w=f+((H(l,i)|0)+p<<1)|0;b[w>>1]=v;l=l+1|0}}while(0);p=q}if((j|0)==0&(k|0)==10){m=g+-2|0;l=0;while(1){if(l>>>0>=8)break a;w=((e[g+(l<<1)>>1]|0)-(e[m>>1]|0)>>1)+(e[h>>1]|0)|0;b[f+(l<<1)>>1]=w>>>0<1024?w:0-w>>31&1023;w=l|1;v=((e[g+(w<<1)>>1]|0)-(e[m>>1]|0)>>1)+(e[h>>1]|0)|0;b[f+(w<<1)>>1]=v>>>0<1024?v:0-v>>31&1023;w=l|2;v=((e[g+(w<<1)>>1]|0)-(e[m>>1]|0)>>1)+(e[h>>1]|0)|0;b[f+(w<<1)>>1]=v>>>0<1024?v:0-v>>31&1023;w=l|3;v=((e[g+(w<<1)>>1]|0)-(e[m>>1]|0)>>1)+(e[h>>1]|0)|0;b[f+(w<<1)>>1]=v>>>0<1024?v:0-v>>31&1023;l=l+4|0}}}while(0);Mb=t;return}function be(f,g,h,i,j,k){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,r=0,s=0,t=0,u=0,v=0,w=0;t=Mb;Mb=Mb+208|0;s=c[21792+(k+-2<<2)>>2]|0;o=t+32|0;l=s>>1;a:do if((k|0)>17){m=g+-2|0;n=k+-11|0;b:do if(n>>>0<15&(k+-12|0)>>>0<13){m=0;while(1){if(m>>>0>16)break;q=g+(m+-1<<1)|0;p=q;q=q+4|0;q=d[q>>0]|d[q+1>>0]<<8|d[q+2>>0]<<16|d[q+3>>0]<<24;r=o+(m<<1)|0;c[r>>2]=d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24;c[r+4>>2]=q;m=m+4|0}m=21936+(n<<2)|0;while(1){if((l|0)>=0){m=o;break b}r=h+(((H(c[m>>2]|0,l)|0)+128>>8)+-1<<1)|0;b[o+(l<<1)>>1]=b[r>>1]|0;l=l+1|0}}while(0);l=0;while(1){if((l|0)==16)break;r=l+1|0;p=H(r,s)|0;o=p>>5;p=p&31;c:do if(!p){o=o+1|0;n=H(l,i)|0;l=0;while(1){if(l>>>0>=16)break c;p=m+(o+l<<1)|0;v=p;v=d[v>>0]|d[v+1>>0]<<8|d[v+2>>0]<<16|d[v+3>>0]<<24;p=p+4|0;p=d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24;q=f+(l+n<<1)|0;u=q;a[u>>0]=v;a[u+1>>0]=v>>8;a[u+2>>0]=v>>16;a[u+3>>0]=v>>24;q=q+4|0;a[q>>0]=p;a[q+1>>0]=p>>8;a[q+2>>0]=p>>16;a[q+3>>0]=p>>24;l=l+4|0}}else{q=32-p|0;n=H(l,i)|0;l=0;while(1){if(l>>>0>=16)break c;v=l+o|0;u=H(q,e[m+(v+1<<1)>>1]|0)|0;v=(u+16+(H(p,e[m+(v+2<<1)>>1]|0)|0)|0)>>>5&65535;b[f+(l+n<<1)>>1]=v;v=l|1;u=v+o|0;w=H(q,e[m+(u+1<<1)>>1]|0)|0;u=(w+16+(H(p,e[m+(u+2<<1)>>1]|0)|0)|0)>>>5&65535;b[f+(v+n<<1)>>1]=u;v=l|2;u=v+o|0;w=H(q,e[m+(u+1<<1)>>1]|0)|0;u=(w+16+(H(p,e[m+(u+2<<1)>>1]|0)|0)|0)>>>5&65535;b[f+(v+n<<1)>>1]=u;v=l|3;u=v+o|0;w=H(q,e[m+(u+1<<1)>>1]|0)|0;u=(w+16+(H(p,e[m+(u+2<<1)>>1]|0)|0)|0)>>>5&65535;b[f+(v+n<<1)>>1]=u;l=l+4|0}}while(0);l=r}if((j|0)==0&(k|0)==26){m=h+-2|0;l=0;while(1){if((l|0)==16)break a;v=((e[h+(l<<1)>>1]|0)-(e[m>>1]|0)>>1)+(e[g>>1]|0)|0;w=f+((H(l,i)|0)<<1)|0;b[w>>1]=v>>>0<512?v:0-v>>31&511;l=l+1|0}}}else{m=h+-2|0;n=k+-11|0;d:do if(n>>>0<15&(k+-12|0)>>>0<13){m=0;while(1){if(m>>>0>16)break;v=h+(m+-1<<1)|0;u=v;v=v+4|0;v=d[v>>0]|d[v+1>>0]<<8|d[v+2>>0]<<16|d[v+3>>0]<<24;w=o+(m<<1)|0;c[w>>2]=d[u>>0]|d[u+1>>0]<<8|d[u+2>>0]<<16|d[u+3>>0]<<24;c[w+4>>2]=v;m=m+4|0}m=21936+(n<<2)|0;while(1){if((l|0)>=0){m=o;break d}w=g+(((H(c[m>>2]|0,l)|0)+128>>8)+-1<<1)|0;b[o+(l<<1)>>1]=b[w>>1]|0;l=l+1|0}}while(0);p=0;while(1){if((p|0)==16)break;q=p+1|0;n=H(q,s)|0;r=n>>5;n=n&31;e:do if(!n){l=0;while(1){if((l|0)==16)break e;w=l+1|0;v=f+((H(l,i)|0)+p<<1)|0;b[v>>1]=b[m+(w+r<<1)>>1]|0;l=w}}else{o=32-n|0;l=0;while(1){if((l|0)==16)break e;v=l+r|0;w=H(o,e[m+(v+1<<1)>>1]|0)|0;v=(w+16+(H(n,e[m+(v+2<<1)>>1]|0)|0)|0)>>>5&65535;w=f+((H(l,i)|0)+p<<1)|0;b[w>>1]=v;l=l+1|0}}while(0);p=q}if((j|0)==0&(k|0)==10){m=g+-2|0;l=0;while(1){if(l>>>0>=16)break a;w=((e[g+(l<<1)>>1]|0)-(e[m>>1]|0)>>1)+(e[h>>1]|0)|0;b[f+(l<<1)>>1]=w>>>0<512?w:0-w>>31&511;w=l|1;v=((e[g+(w<<1)>>1]|0)-(e[m>>1]|0)>>1)+(e[h>>1]|0)|0;b[f+(w<<1)>>1]=v>>>0<512?v:0-v>>31&511;w=l|2;v=((e[g+(w<<1)>>1]|0)-(e[m>>1]|0)>>1)+(e[h>>1]|0)|0;b[f+(w<<1)>>1]=v>>>0<512?v:0-v>>31&511;w=l|3;v=((e[g+(w<<1)>>1]|0)-(e[m>>1]|0)>>1)+(e[h>>1]|0)|0;b[f+(w<<1)>>1]=v>>>0<512?v:0-v>>31&511;l=l+4|0}}}while(0);Mb=t;return}function ce(f,g,h,i,j,k){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,r=0,s=0,t=0,u=0,v=0,w=0;t=Mb;Mb=Mb+208|0;s=c[21792+(k+-2<<2)>>2]|0;o=t+16|0;l=s>>2;a:do if((k|0)>17){m=g+-2|0;n=k+-11|0;b:do if(n>>>0<15&(k+-12|0)>>>0<13){m=0;while(1){if(m>>>0>8)break;q=g+(m+-1<<1)|0;p=q;q=q+4|0;q=d[q>>0]|d[q+1>>0]<<8|d[q+2>>0]<<16|d[q+3>>0]<<24;r=o+(m<<1)|0;c[r>>2]=d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24;c[r+4>>2]=q;m=m+4|0}m=21936+(n<<2)|0;while(1){if((l|0)>=0){m=o;break b}r=h+(((H(c[m>>2]|0,l)|0)+128>>8)+-1<<1)|0;b[o+(l<<1)>>1]=b[r>>1]|0;l=l+1|0}}while(0);l=0;while(1){if((l|0)==8)break;r=l+1|0;p=H(r,s)|0;o=p>>5;p=p&31;c:do if(!p){o=o+1|0;n=H(l,i)|0;l=0;while(1){if(l>>>0>=8)break c;p=m+(o+l<<1)|0;v=p;v=d[v>>0]|d[v+1>>0]<<8|d[v+2>>0]<<16|d[v+3>>0]<<24;p=p+4|0;p=d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24;q=f+(l+n<<1)|0;u=q;a[u>>0]=v;a[u+1>>0]=v>>8;a[u+2>>0]=v>>16;a[u+3>>0]=v>>24;q=q+4|0;a[q>>0]=p;a[q+1>>0]=p>>8;a[q+2>>0]=p>>16;a[q+3>>0]=p>>24;l=l+4|0}}else{q=32-p|0;n=H(l,i)|0;l=0;while(1){if(l>>>0>=8)break c;v=l+o|0;u=H(q,e[m+(v+1<<1)>>1]|0)|0;v=(u+16+(H(p,e[m+(v+2<<1)>>1]|0)|0)|0)>>>5&65535;b[f+(l+n<<1)>>1]=v;v=l|1;u=v+o|0;w=H(q,e[m+(u+1<<1)>>1]|0)|0;u=(w+16+(H(p,e[m+(u+2<<1)>>1]|0)|0)|0)>>>5&65535;b[f+(v+n<<1)>>1]=u;v=l|2;u=v+o|0;w=H(q,e[m+(u+1<<1)>>1]|0)|0;u=(w+16+(H(p,e[m+(u+2<<1)>>1]|0)|0)|0)>>>5&65535;b[f+(v+n<<1)>>1]=u;v=l|3;u=v+o|0;w=H(q,e[m+(u+1<<1)>>1]|0)|0;u=(w+16+(H(p,e[m+(u+2<<1)>>1]|0)|0)|0)>>>5&65535;b[f+(v+n<<1)>>1]=u;l=l+4|0}}while(0);l=r}if((j|0)==0&(k|0)==26){m=h+-2|0;l=0;while(1){if((l|0)==8)break a;v=((e[h+(l<<1)>>1]|0)-(e[m>>1]|0)>>1)+(e[g>>1]|0)|0;w=f+((H(l,i)|0)<<1)|0;b[w>>1]=v>>>0<512?v:0-v>>31&511;l=l+1|0}}}else{m=h+-2|0;n=k+-11|0;d:do if(n>>>0<15&(k+-12|0)>>>0<13){m=0;while(1){if(m>>>0>8)break;v=h+(m+-1<<1)|0;u=v;v=v+4|0;v=d[v>>0]|d[v+1>>0]<<8|d[v+2>>0]<<16|d[v+3>>0]<<24;w=o+(m<<1)|0;c[w>>2]=d[u>>0]|d[u+1>>0]<<8|d[u+2>>0]<<16|d[u+3>>0]<<24;c[w+4>>2]=v;m=m+4|0}m=21936+(n<<2)|0;while(1){if((l|0)>=0){m=o;break d}w=g+(((H(c[m>>2]|0,l)|0)+128>>8)+-1<<1)|0;b[o+(l<<1)>>1]=b[w>>1]|0;l=l+1|0}}while(0);p=0;while(1){if((p|0)==8)break;q=p+1|0;n=H(q,s)|0;r=n>>5;n=n&31;e:do if(!n){l=0;while(1){if((l|0)==8)break e;w=l+1|0;v=f+((H(l,i)|0)+p<<1)|0;b[v>>1]=b[m+(w+r<<1)>>1]|0;l=w}}else{o=32-n|0;l=0;while(1){if((l|0)==8)break e;v=l+r|0;w=H(o,e[m+(v+1<<1)>>1]|0)|0;v=(w+16+(H(n,e[m+(v+2<<1)>>1]|0)|0)|0)>>>5&65535;w=f+((H(l,i)|0)+p<<1)|0;b[w>>1]=v;l=l+1|0}}while(0);p=q}if((j|0)==0&(k|0)==10){m=g+-2|0;l=0;while(1){if(l>>>0>=8)break a;w=((e[g+(l<<1)>>1]|0)-(e[m>>1]|0)>>1)+(e[h>>1]|0)|0;b[f+(l<<1)>>1]=w>>>0<512?w:0-w>>31&511;w=l|1;v=((e[g+(w<<1)>>1]|0)-(e[m>>1]|0)>>1)+(e[h>>1]|0)|0;b[f+(w<<1)>>1]=v>>>0<512?v:0-v>>31&511;w=l|2;v=((e[g+(w<<1)>>1]|0)-(e[m>>1]|0)>>1)+(e[h>>1]|0)|0;b[f+(w<<1)>>1]=v>>>0<512?v:0-v>>31&511;w=l|3;v=((e[g+(w<<1)>>1]|0)-(e[m>>1]|0)>>1)+(e[h>>1]|0)|0;b[f+(w<<1)>>1]=v>>>0<512?v:0-v>>31&511;l=l+4|0}}}while(0);Mb=t;return}function de(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,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;w=Mb;Mb=Mb+224|0;q=w+160|0;r=w+96|0;s=w+64|0;t=w+32|0;u=w+16|0;v=w;p=(e|0)<32;l=e+4|0;m=u+4|0;n=u+8|0;o=u+12|0;j=0;k=d;l=(l|0)<32?l:32;while(1){if((j|0)==32)break;f=r;g=f+64|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));f=0;while(1){if((f|0)==16)break;h=r+(f<<2)|0;g=1;while(1){if((g|0)>=(l|0))break;i=H(b[k+(g<<5<<1)>>1]|0,a[20768+(g<<5)+f>>0]|0)|0;c[h>>2]=i+(c[h>>2]|0);g=g+2|0}f=f+1|0}c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+12>>2]=0;c[t+16>>2]=0;c[t+20>>2]=0;c[t+24>>2]=0;c[t+28>>2]=0;h=(l|0)/2|0;g=0;while(1){if((g|0)==8)break;i=t+(g<<2)|0;f=1;while(1){if((f|0)>=(h|0))break;x=H(b[k+(f<<6<<1)>>1]|0,a[20768+(f<<1<<5)+g>>0]|0)|0;c[i>>2]=x+(c[i>>2]|0);f=f+2|0}g=g+1|0}c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;c[v+12>>2]=0;g=0;while(1){if((g|0)==4)break;h=v+(g<<2)|0;f=1;while(1){if(f>>>0>=8)break;x=H(b[k+(f<<7<<1)>>1]|0,a[20768+(f<<2<<5)+g>>0]|0)|0;c[h>>2]=x+(c[h>>2]|0);f=f+2|0}g=g+1|0}i=b[k>>1]<<6;h=b[k+1024>>1]<<6;x=h+i|0;h=i-h|0;i=b[k+512>>1]|0;g=b[k+1536>>1]|0;f=(g*36|0)+(i*83|0)|0;i=(H(g,-83)|0)+(i*36|0)|0;c[u>>2]=f+x;c[m>>2]=i+h;c[n>>2]=h-i;c[o>>2]=x-f;f=0;while(1){if((f|0)==4)break;i=c[u+(f<<2)>>2]|0;x=c[v+(f<<2)>>2]|0;c[s+(f<<2)>>2]=x+i;c[s+(7-f<<2)>>2]=i-x;f=f+1|0}f=0;while(1){if((f|0)==8)break;i=c[s+(f<<2)>>2]|0;x=c[t+(f<<2)>>2]|0;c[q+(f<<2)>>2]=x+i;c[q+(15-f<<2)>>2]=i-x;f=f+1|0}f=0;while(1){if((f|0)==16)break;i=c[q+(f<<2)>>2]|0;h=c[r+(f<<2)>>2]|0;y=i+64+h|0;g=y>>7;x=f<<5;b[k+(x<<1)>>1]=(g+32768|0)>>>0>65535?y>>31^32767:g;h=i-h+64|0;i=h>>7;b[k+(992-x<<1)>>1]=(i+32768|0)>>>0>65535?h>>31^32767:i;f=f+1|0}y=(l|0)<32&((j|0)!=0&(j&3|0)==0)?l+-4|0:l;j=j+1|0;k=k+2|0;l=y}k=p?e:32;l=(k|0)/2|0;e=u+4|0;m=u+8|0;n=u+12|0;i=d;j=0;while(1){if((j|0)==32)break;f=r;g=f+64|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));g=0;while(1){if((g|0)==16)break;h=r+(g<<2)|0;f=1;while(1){if((f|0)>=(k|0))break;y=H(b[i+(f<<1)>>1]|0,a[20768+(f<<5)+g>>0]|0)|0;c[h>>2]=y+(c[h>>2]|0);f=f+2|0}g=g+1|0}c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+12>>2]=0;c[t+16>>2]=0;c[t+20>>2]=0;c[t+24>>2]=0;c[t+28>>2]=0;g=0;while(1){if((g|0)==8)break;h=t+(g<<2)|0;f=1;while(1){if((f|0)>=(l|0))break;y=f<<1;y=H(b[i+(y<<1)>>1]|0,a[20768+(y<<5)+g>>0]|0)|0;c[h>>2]=y+(c[h>>2]|0);f=f+2|0}g=g+1|0}c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;c[v+12>>2]=0;g=0;while(1){if((g|0)==4)break;h=v+(g<<2)|0;f=1;while(1){if(f>>>0>=8)break;y=f<<2;y=H(b[i+(y<<1)>>1]|0,a[20768+(y<<5)+g>>0]|0)|0;c[h>>2]=y+(c[h>>2]|0);f=f+2|0}g=g+1|0}x=b[i>>1]<<6;d=b[i+32>>1]<<6;y=d+x|0;d=x-d|0;x=b[i+16>>1]|0;p=b[i+48>>1]|0;f=(p*36|0)+(x*83|0)|0;x=(H(p,-83)|0)+(x*36|0)|0;c[u>>2]=f+y;c[e>>2]=x+d;c[m>>2]=d-x;c[n>>2]=y-f;f=0;while(1){if((f|0)==4)break;x=c[u+(f<<2)>>2]|0;y=c[v+(f<<2)>>2]|0;c[s+(f<<2)>>2]=y+x;c[s+(7-f<<2)>>2]=x-y;f=f+1|0}f=0;while(1){if((f|0)==8)break;x=c[s+(f<<2)>>2]|0;y=c[t+(f<<2)>>2]|0;c[q+(f<<2)>>2]=y+x;c[q+(15-f<<2)>>2]=x-y;f=f+1|0}f=0;while(1){if((f|0)==16)break;y=c[q+(f<<2)>>2]|0;x=c[r+(f<<2)>>2]|0;p=y+1024+x|0;d=p>>11;b[i+(f<<1)>>1]=(d+32768|0)>>>0>65535?p>>31^32767:d;x=y-x+1024|0;y=x>>11;b[i+(31-f<<1)>>1]=(y+32768|0)>>>0>65535?x>>31^32767:y;f=f+1|0}i=i+64|0;j=j+1|0}Mb=w;return}function ee(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,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;w=Mb;Mb=Mb+224|0;q=w+160|0;r=w+96|0;s=w+64|0;t=w+32|0;u=w+16|0;v=w;p=(e|0)<32;l=e+4|0;m=u+4|0;n=u+8|0;o=u+12|0;j=0;k=d;l=(l|0)<32?l:32;while(1){if((j|0)==32)break;f=r;g=f+64|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));f=0;while(1){if((f|0)==16)break;h=r+(f<<2)|0;g=1;while(1){if((g|0)>=(l|0))break;i=H(b[k+(g<<5<<1)>>1]|0,a[20768+(g<<5)+f>>0]|0)|0;c[h>>2]=i+(c[h>>2]|0);g=g+2|0}f=f+1|0}c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+12>>2]=0;c[t+16>>2]=0;c[t+20>>2]=0;c[t+24>>2]=0;c[t+28>>2]=0;h=(l|0)/2|0;g=0;while(1){if((g|0)==8)break;i=t+(g<<2)|0;f=1;while(1){if((f|0)>=(h|0))break;x=H(b[k+(f<<6<<1)>>1]|0,a[20768+(f<<1<<5)+g>>0]|0)|0;c[i>>2]=x+(c[i>>2]|0);f=f+2|0}g=g+1|0}c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;c[v+12>>2]=0;g=0;while(1){if((g|0)==4)break;h=v+(g<<2)|0;f=1;while(1){if(f>>>0>=8)break;x=H(b[k+(f<<7<<1)>>1]|0,a[20768+(f<<2<<5)+g>>0]|0)|0;c[h>>2]=x+(c[h>>2]|0);f=f+2|0}g=g+1|0}i=b[k>>1]<<6;h=b[k+1024>>1]<<6;x=h+i|0;h=i-h|0;i=b[k+512>>1]|0;g=b[k+1536>>1]|0;f=(g*36|0)+(i*83|0)|0;i=(H(g,-83)|0)+(i*36|0)|0;c[u>>2]=f+x;c[m>>2]=i+h;c[n>>2]=h-i;c[o>>2]=x-f;f=0;while(1){if((f|0)==4)break;i=c[u+(f<<2)>>2]|0;x=c[v+(f<<2)>>2]|0;c[s+(f<<2)>>2]=x+i;c[s+(7-f<<2)>>2]=i-x;f=f+1|0}f=0;while(1){if((f|0)==8)break;i=c[s+(f<<2)>>2]|0;x=c[t+(f<<2)>>2]|0;c[q+(f<<2)>>2]=x+i;c[q+(15-f<<2)>>2]=i-x;f=f+1|0}f=0;while(1){if((f|0)==16)break;i=c[q+(f<<2)>>2]|0;h=c[r+(f<<2)>>2]|0;y=i+64+h|0;g=y>>7;x=f<<5;b[k+(x<<1)>>1]=(g+32768|0)>>>0>65535?y>>31^32767:g;h=i-h+64|0;i=h>>7;b[k+(992-x<<1)>>1]=(i+32768|0)>>>0>65535?h>>31^32767:i;f=f+1|0}y=(l|0)<32&((j|0)!=0&(j&3|0)==0)?l+-4|0:l;j=j+1|0;k=k+2|0;l=y}k=p?e:32;l=(k|0)/2|0;e=u+4|0;m=u+8|0;n=u+12|0;i=d;j=0;while(1){if((j|0)==32)break;f=r;g=f+64|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));g=0;while(1){if((g|0)==16)break;h=r+(g<<2)|0;f=1;while(1){if((f|0)>=(k|0))break;y=H(b[i+(f<<1)>>1]|0,a[20768+(f<<5)+g>>0]|0)|0;c[h>>2]=y+(c[h>>2]|0);f=f+2|0}g=g+1|0}c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+12>>2]=0;c[t+16>>2]=0;c[t+20>>2]=0;c[t+24>>2]=0;c[t+28>>2]=0;g=0;while(1){if((g|0)==8)break;h=t+(g<<2)|0;f=1;while(1){if((f|0)>=(l|0))break;y=f<<1;y=H(b[i+(y<<1)>>1]|0,a[20768+(y<<5)+g>>0]|0)|0;c[h>>2]=y+(c[h>>2]|0);f=f+2|0}g=g+1|0}c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;c[v+12>>2]=0;g=0;while(1){if((g|0)==4)break;h=v+(g<<2)|0;f=1;while(1){if(f>>>0>=8)break;y=f<<2;y=H(b[i+(y<<1)>>1]|0,a[20768+(y<<5)+g>>0]|0)|0;c[h>>2]=y+(c[h>>2]|0);f=f+2|0}g=g+1|0}x=b[i>>1]<<6;d=b[i+32>>1]<<6;y=d+x|0;d=x-d|0;x=b[i+16>>1]|0;p=b[i+48>>1]|0;f=(p*36|0)+(x*83|0)|0;x=(H(p,-83)|0)+(x*36|0)|0;c[u>>2]=f+y;c[e>>2]=x+d;c[m>>2]=d-x;c[n>>2]=y-f;f=0;while(1){if((f|0)==4)break;x=c[u+(f<<2)>>2]|0;y=c[v+(f<<2)>>2]|0;c[s+(f<<2)>>2]=y+x;c[s+(7-f<<2)>>2]=x-y;f=f+1|0}f=0;while(1){if((f|0)==8)break;x=c[s+(f<<2)>>2]|0;y=c[t+(f<<2)>>2]|0;c[q+(f<<2)>>2]=y+x;c[q+(15-f<<2)>>2]=x-y;f=f+1|0}f=0;while(1){if((f|0)==16)break;y=c[q+(f<<2)>>2]|0;x=c[r+(f<<2)>>2]|0;p=y+2048+x|0;d=p>>12;b[i+(f<<1)>>1]=(d+32768|0)>>>0>65535?p>>31^32767:d;x=y-x+2048|0;y=x>>12;b[i+(31-f<<1)>>1]=(y+32768|0)>>>0>65535?x>>31^32767:y;f=f+1|0}i=i+64|0;j=j+1|0}Mb=w;return}function fe(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,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;w=Mb;Mb=Mb+224|0;q=w+160|0;r=w+96|0;s=w+64|0;t=w+32|0;u=w+16|0;v=w;p=(e|0)<32;l=e+4|0;m=u+4|0;n=u+8|0;o=u+12|0;j=0;k=d;l=(l|0)<32?l:32;while(1){if((j|0)==32)break;f=r;g=f+64|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));f=0;while(1){if((f|0)==16)break;h=r+(f<<2)|0;g=1;while(1){if((g|0)>=(l|0))break;i=H(b[k+(g<<5<<1)>>1]|0,a[20768+(g<<5)+f>>0]|0)|0;c[h>>2]=i+(c[h>>2]|0);g=g+2|0}f=f+1|0}c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+12>>2]=0;c[t+16>>2]=0;c[t+20>>2]=0;c[t+24>>2]=0;c[t+28>>2]=0;h=(l|0)/2|0;g=0;while(1){if((g|0)==8)break;i=t+(g<<2)|0;f=1;while(1){if((f|0)>=(h|0))break;x=H(b[k+(f<<6<<1)>>1]|0,a[20768+(f<<1<<5)+g>>0]|0)|0;c[i>>2]=x+(c[i>>2]|0);f=f+2|0}g=g+1|0}c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;c[v+12>>2]=0;g=0;while(1){if((g|0)==4)break;h=v+(g<<2)|0;f=1;while(1){if(f>>>0>=8)break;x=H(b[k+(f<<7<<1)>>1]|0,a[20768+(f<<2<<5)+g>>0]|0)|0;c[h>>2]=x+(c[h>>2]|0);f=f+2|0}g=g+1|0}i=b[k>>1]<<6;h=b[k+1024>>1]<<6;x=h+i|0;h=i-h|0;i=b[k+512>>1]|0;g=b[k+1536>>1]|0;f=(g*36|0)+(i*83|0)|0;i=(H(g,-83)|0)+(i*36|0)|0;c[u>>2]=f+x;c[m>>2]=i+h;c[n>>2]=h-i;c[o>>2]=x-f;f=0;while(1){if((f|0)==4)break;i=c[u+(f<<2)>>2]|0;x=c[v+(f<<2)>>2]|0;c[s+(f<<2)>>2]=x+i;c[s+(7-f<<2)>>2]=i-x;f=f+1|0}f=0;while(1){if((f|0)==8)break;i=c[s+(f<<2)>>2]|0;x=c[t+(f<<2)>>2]|0;c[q+(f<<2)>>2]=x+i;c[q+(15-f<<2)>>2]=i-x;f=f+1|0}f=0;while(1){if((f|0)==16)break;i=c[q+(f<<2)>>2]|0;h=c[r+(f<<2)>>2]|0;y=i+64+h|0;g=y>>7;x=f<<5;b[k+(x<<1)>>1]=(g+32768|0)>>>0>65535?y>>31^32767:g;h=i-h+64|0;i=h>>7;b[k+(992-x<<1)>>1]=(i+32768|0)>>>0>65535?h>>31^32767:i;f=f+1|0}y=(l|0)<32&((j|0)!=0&(j&3|0)==0)?l+-4|0:l;j=j+1|0;k=k+2|0;l=y}k=p?e:32;l=(k|0)/2|0;e=u+4|0;m=u+8|0;n=u+12|0;i=d;j=0;while(1){if((j|0)==32)break;f=r;g=f+64|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));g=0;while(1){if((g|0)==16)break;h=r+(g<<2)|0;f=1;while(1){if((f|0)>=(k|0))break;y=H(b[i+(f<<1)>>1]|0,a[20768+(f<<5)+g>>0]|0)|0;c[h>>2]=y+(c[h>>2]|0);f=f+2|0}g=g+1|0}c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+12>>2]=0;c[t+16>>2]=0;c[t+20>>2]=0;c[t+24>>2]=0;c[t+28>>2]=0;g=0;while(1){if((g|0)==8)break;h=t+(g<<2)|0;f=1;while(1){if((f|0)>=(l|0))break;y=f<<1;y=H(b[i+(y<<1)>>1]|0,a[20768+(y<<5)+g>>0]|0)|0;c[h>>2]=y+(c[h>>2]|0);f=f+2|0}g=g+1|0}c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;c[v+12>>2]=0;g=0;while(1){if((g|0)==4)break;h=v+(g<<2)|0;f=1;while(1){if(f>>>0>=8)break;y=f<<2;y=H(b[i+(y<<1)>>1]|0,a[20768+(y<<5)+g>>0]|0)|0;c[h>>2]=y+(c[h>>2]|0);f=f+2|0}g=g+1|0}x=b[i>>1]<<6;d=b[i+32>>1]<<6;y=d+x|0;d=x-d|0;x=b[i+16>>1]|0;p=b[i+48>>1]|0;f=(p*36|0)+(x*83|0)|0;x=(H(p,-83)|0)+(x*36|0)|0;c[u>>2]=f+y;c[e>>2]=x+d;c[m>>2]=d-x;c[n>>2]=y-f;f=0;while(1){if((f|0)==4)break;x=c[u+(f<<2)>>2]|0;y=c[v+(f<<2)>>2]|0;c[s+(f<<2)>>2]=y+x;c[s+(7-f<<2)>>2]=x-y;f=f+1|0}f=0;while(1){if((f|0)==8)break;x=c[s+(f<<2)>>2]|0;y=c[t+(f<<2)>>2]|0;c[q+(f<<2)>>2]=y+x;c[q+(15-f<<2)>>2]=x-y;f=f+1|0}f=0;while(1){if((f|0)==16)break;y=c[q+(f<<2)>>2]|0;x=c[r+(f<<2)>>2]|0;p=y+512+x|0;d=p>>10;b[i+(f<<1)>>1]=(d+32768|0)>>>0>65535?p>>31^32767:d;x=y-x+512|0;y=x>>10;b[i+(31-f<<1)>>1]=(y+32768|0)>>>0>65535?x>>31^32767:y;f=f+1|0}i=i+64|0;j=j+1|0}Mb=w;return}function ge(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,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;w=Mb;Mb=Mb+224|0;q=w+160|0;r=w+96|0;s=w+64|0;t=w+32|0;u=w+16|0;v=w;p=(e|0)<32;l=e+4|0;m=u+4|0;n=u+8|0;o=u+12|0;j=0;k=d;l=(l|0)<32?l:32;while(1){if((j|0)==32)break;f=r;g=f+64|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));f=0;while(1){if((f|0)==16)break;h=r+(f<<2)|0;g=1;while(1){if((g|0)>=(l|0))break;i=H(b[k+(g<<5<<1)>>1]|0,a[20768+(g<<5)+f>>0]|0)|0;c[h>>2]=i+(c[h>>2]|0);g=g+2|0}f=f+1|0}c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+12>>2]=0;c[t+16>>2]=0;c[t+20>>2]=0;c[t+24>>2]=0;c[t+28>>2]=0;h=(l|0)/2|0;g=0;while(1){if((g|0)==8)break;i=t+(g<<2)|0;f=1;while(1){if((f|0)>=(h|0))break;x=H(b[k+(f<<6<<1)>>1]|0,a[20768+(f<<1<<5)+g>>0]|0)|0;c[i>>2]=x+(c[i>>2]|0);f=f+2|0}g=g+1|0}c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;c[v+12>>2]=0;g=0;while(1){if((g|0)==4)break;h=v+(g<<2)|0;f=1;while(1){if(f>>>0>=8)break;x=H(b[k+(f<<7<<1)>>1]|0,a[20768+(f<<2<<5)+g>>0]|0)|0;c[h>>2]=x+(c[h>>2]|0);f=f+2|0}g=g+1|0}i=b[k>>1]<<6;h=b[k+1024>>1]<<6;x=h+i|0;h=i-h|0;i=b[k+512>>1]|0;g=b[k+1536>>1]|0;f=(g*36|0)+(i*83|0)|0;i=(H(g,-83)|0)+(i*36|0)|0;c[u>>2]=f+x;c[m>>2]=i+h;c[n>>2]=h-i;c[o>>2]=x-f;f=0;while(1){if((f|0)==4)break;i=c[u+(f<<2)>>2]|0;x=c[v+(f<<2)>>2]|0;c[s+(f<<2)>>2]=x+i;c[s+(7-f<<2)>>2]=i-x;f=f+1|0}f=0;while(1){if((f|0)==8)break;i=c[s+(f<<2)>>2]|0;x=c[t+(f<<2)>>2]|0;c[q+(f<<2)>>2]=x+i;c[q+(15-f<<2)>>2]=i-x;f=f+1|0}f=0;while(1){if((f|0)==16)break;i=c[q+(f<<2)>>2]|0;h=c[r+(f<<2)>>2]|0;y=i+64+h|0;g=y>>7;x=f<<5;b[k+(x<<1)>>1]=(g+32768|0)>>>0>65535?y>>31^32767:g;h=i-h+64|0;i=h>>7;b[k+(992-x<<1)>>1]=(i+32768|0)>>>0>65535?h>>31^32767:i;f=f+1|0}y=(l|0)<32&((j|0)!=0&(j&3|0)==0)?l+-4|0:l;j=j+1|0;k=k+2|0;l=y}k=p?e:32;l=(k|0)/2|0;e=u+4|0;m=u+8|0;n=u+12|0;i=d;j=0;while(1){if((j|0)==32)break;f=r;g=f+64|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));g=0;while(1){if((g|0)==16)break;h=r+(g<<2)|0;f=1;while(1){if((f|0)>=(k|0))break;y=H(b[i+(f<<1)>>1]|0,a[20768+(f<<5)+g>>0]|0)|0;c[h>>2]=y+(c[h>>2]|0);f=f+2|0}g=g+1|0}c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+12>>2]=0;c[t+16>>2]=0;c[t+20>>2]=0;c[t+24>>2]=0;c[t+28>>2]=0;g=0;while(1){if((g|0)==8)break;h=t+(g<<2)|0;f=1;while(1){if((f|0)>=(l|0))break;y=f<<1;y=H(b[i+(y<<1)>>1]|0,a[20768+(y<<5)+g>>0]|0)|0;c[h>>2]=y+(c[h>>2]|0);f=f+2|0}g=g+1|0}c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;c[v+12>>2]=0;g=0;while(1){if((g|0)==4)break;h=v+(g<<2)|0;f=1;while(1){if(f>>>0>=8)break;y=f<<2;y=H(b[i+(y<<1)>>1]|0,a[20768+(y<<5)+g>>0]|0)|0;c[h>>2]=y+(c[h>>2]|0);f=f+2|0}g=g+1|0}x=b[i>>1]<<6;d=b[i+32>>1]<<6;y=d+x|0;d=x-d|0;x=b[i+16>>1]|0;p=b[i+48>>1]|0;f=(p*36|0)+(x*83|0)|0;x=(H(p,-83)|0)+(x*36|0)|0;c[u>>2]=f+y;c[e>>2]=x+d;c[m>>2]=d-x;c[n>>2]=y-f;f=0;while(1){if((f|0)==4)break;x=c[u+(f<<2)>>2]|0;y=c[v+(f<<2)>>2]|0;c[s+(f<<2)>>2]=y+x;c[s+(7-f<<2)>>2]=x-y;f=f+1|0}f=0;while(1){if((f|0)==8)break;x=c[s+(f<<2)>>2]|0;y=c[t+(f<<2)>>2]|0;c[q+(f<<2)>>2]=y+x;c[q+(15-f<<2)>>2]=x-y;f=f+1|0}f=0;while(1){if((f|0)==16)break;y=c[q+(f<<2)>>2]|0;x=c[r+(f<<2)>>2]|0;p=y+128+x|0;d=p>>8;b[i+(f<<1)>>1]=(d+32768|0)>>>0>65535?p>>31^32767:d;x=y-x+128|0;y=x>>8;b[i+(31-f<<1)>>1]=(y+32768|0)>>>0>65535?x>>31^32767:y;f=f+1|0}i=i+64|0;j=j+1|0}Mb=w;return}function he(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;h=c[e+136>>2]|0;z=e+3500|0;A=c[z>>2]|0;B=e+1412|0;y=(H(c[(c[B>>2]|0)+13384>>2]|0,g)|0)+f|0;if((a[e+3052>>0]|0)==0?(a[e+3053>>0]|0)==0:0){h=0;i=0}else{if((f|0)>0?(a[h+308>>0]|0)!=0:0)i=X_(e)|0;else i=0;if(!((g|0)<1|(i|0)!=0))if(!(a[h+309>>0]|0)){h=0;i=0}else{h=X_(e)|0;i=0}else h=0}s=e+1416|0;t=A+(y*148|0)+143|0;u=A+(y*148|0)+144|0;v=A+(y*148|0)+104|0;w=A+(y*148|0)+108|0;x=(h|0)==0;r=(i|h|0)==0;n=(i|0)==0;o=f+-1|0;p=g+-1|0;m=0;while(1){h=c[B>>2]|0;if(m>>>0>=((c[h+4>>2]|0)==0?1:3)>>>0)break;q=c[s>>2]|0;q=d[((m|0)==0?q+1646|0:q+1647|0)>>0]|0;a:do if(a[e+3052+m>>0]|0){j=(m|0)==2;do if(!j){if(r){h=(nR(e)|0)&255;l=A+(y*148|0)+142+m|0;a[l>>0]=h;break}if(!n){h=(c[z>>2]|0)+((o+(H(c[h+13384>>2]|0,g)|0)|0)*148|0)+142+m|0;h=a[h>>0]|0;l=A+(y*148|0)+142+m|0;a[l>>0]=h;break}if(x){a[A+(y*148|0)+142+m>>0]=0;break a}else{h=(c[z>>2]|0)+(((H(c[h+13384>>2]|0,p)|0)+f|0)*148|0)+142+m|0;h=a[h>>0]|0;l=A+(y*148|0)+142+m|0;a[l>>0]=h;break}}else{h=a[t>>0]|0;a[u>>0]=h;c[w>>2]=c[v>>2];l=u}while(0);if(h<<24>>24){h=0;while(1){if((h|0)==4)break;do if(!r){if(!n){i=(c[z>>2]|0)+((o+(H(c[(c[B>>2]|0)+13384>>2]|0,g)|0)|0)*148|0)+(m<<4)+(h<<2)|0;i=c[i>>2]|0;break}if(x)i=0;else{i=(c[z>>2]|0)+(((H(c[(c[B>>2]|0)+13384>>2]|0,p)|0)+f|0)*148|0)+(m<<4)+(h<<2)|0;i=c[i>>2]|0}}else i=fL(e)|0;while(0);c[A+(y*148|0)+(m<<4)+(h<<2)>>2]=i;h=h+1|0}do if((a[l>>0]|0)==1){h=0;while(1){if((h|0)==4)break;do if(c[A+(y*148|0)+(m<<4)+(h<<2)>>2]|0){if(r){i=r$(e)|0;break}if(!n){i=(c[z>>2]|0)+((o+(H(c[(c[B>>2]|0)+13384>>2]|0,g)|0)|0)*148|0)+48+(m<<4)+(h<<2)|0;i=c[i>>2]|0;break}if(!x){i=(c[z>>2]|0)+(((H(c[(c[B>>2]|0)+13384>>2]|0,p)|0)+f|0)*148|0)+48+(m<<4)+(h<<2)|0;i=c[i>>2]|0}else i=0}else i=0;while(0);c[A+(y*148|0)+48+(m<<4)+(h<<2)>>2]=i;h=h+1|0}if(r){k=(gQ(e)|0)&255;a[A+(y*148|0)+96+m>>0]=k;break}if(!n){k=(c[z>>2]|0)+((o+(H(c[(c[B>>2]|0)+13384>>2]|0,g)|0)|0)*148|0)+96+m|0;a[A+(y*148|0)+96+m>>0]=a[k>>0]|0;break}if(x){a[A+(y*148|0)+96+m>>0]=0;break}else{k=(c[z>>2]|0)+(((H(c[(c[B>>2]|0)+13384>>2]|0,p)|0)+f|0)*148|0)+96+m|0;a[A+(y*148|0)+96+m>>0]=a[k>>0]|0;break}}else if(!j){if(r){k=pV(e)|0;c[A+(y*148|0)+100+(m<<2)>>2]=k;break}if(!n){k=(c[z>>2]|0)+((o+(H(c[(c[B>>2]|0)+13384>>2]|0,g)|0)|0)*148|0)+100+(m<<2)|0;c[A+(y*148|0)+100+(m<<2)>>2]=c[k>>2];break}if(x){c[A+(y*148|0)+100+(m<<2)>>2]=0;break}else{k=(c[z>>2]|0)+(((H(c[(c[B>>2]|0)+13384>>2]|0,p)|0)+f|0)*148|0)+100+(m<<2)|0;c[A+(y*148|0)+100+(m<<2)>>2]=c[k>>2];break}}while(0);b[A+(y*148|0)+112+(m*10|0)>>1]=0;i=0;while(1){if((i|0)==4)break a;h=c[A+(y*148|0)+(m<<4)+(i<<2)>>2]|0;j=i+1|0;k=A+(y*148|0)+112+(m*10|0)+(j<<1)|0;b[k>>1]=h;if((a[l>>0]|0)==2){if(i>>>0>1){h=0-h|0;b[k>>1]=h}}else if(c[A+(y*148|0)+48+(m<<4)+(i<<2)>>2]|0){h=0-h|0;b[k>>1]=h}b[k>>1]=h<<16>>16<<q;i=j}}}else a[A+(y*148|0)+142+m>>0]=0;while(0);m=m+1|0}return}function ie(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;q=Mb;Mb=Mb+144|0;m=q+132|0;n=q+88|0;o=q+44|0;p=q;g=n;h=g+44|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));i=b;c[i>>2]=0;c[i+4>>2]=-2147483648;i=(e|0)!=0;a:do if(i){h=(a[d>>0]|0)==45;g=h?d+1|0:d;h=h&1;f=Kh(g,215044,n)|0;if(!f){f=Kh(g,215053,n)|0;e=n+8|0;c[e>>2]=0;if(!f){f=KY(g,p,10)|0;c[n>>2]=f;f=c[p>>2]|0;if((f|0)==(g|0)){e=-22;break}else{c[n+4>>2]=0;c[e>>2]=0;e=h;g=0;k=20;break}}else{l=h;d=0;k=21}}else{l=h;d=0;k=21}}else{e=oJ()|0;f=M()|0;l=xA(e|0,f|0,1e6,0)|0;M()|0;c[m>>2]=l;if(!(_F(d,215040)|0)){c[b>>2]=e;c[b+4>>2]=f;e=0;break}f=0;while(1){if(f>>>0>=2){e=0;break}e=Kh(d,c[167256+(f<<2)>>2]|0,n)|0;if(!e)f=f+1|0;else break}l=(e|0)==0;h=l?d:e;d=l&1;e=a[h>>0]|0;b:do switch(e<<24>>24){case 116:case 84:{g=h+1|0;break}default:{g=h;while(1){f=g+1|0;if(!(UW(e<<24>>24)|0))break b;g=f;e=a[f>>0]|0}}}while(0);e=0;f=h;while(1){if(e>>>0>=2){e=0;g=d;k=20;break a}f=Kh(g,c[167264+(e<<2)>>2]|0,n)|0;if(!f){e=e+1|0;f=0}else{l=0;k=21;break}}}while(0);if((k|0)==20)if(!f)e=-22;else{l=e;d=g;k=21}c:do if((k|0)==21){g=a[f>>0]|0;if(g<<24>>24==46){g=1e5;h=0;while(1){f=f+1|0;if(!g)break;e=a[f>>0]|0;if(!(n1(e)|0))break;j=(H(e+-48|0,g)|0)+h|0;g=(g>>>0)/10|0;h=j}while(1){g=a[f>>0]|0;if(!(n1(g<<24>>24)|0)){j=h;break}else f=f+1|0}}else j=0;if(i){f=((c[n+4>>2]|0)*60|0)+((c[n+8>>2]|0)*3600|0)+(c[n>>2]|0)|0;e=f;f=((f|0)<0)<<31>>31}else{h=(g|32)<<24>>24==122;e=h&1;f=f+e|0;i=(d|0)!=0;d:do if(i|h){d=e;g=0;h=0}else{switch(a[f>>0]|0){case 45:case 43:break;default:{d=e;g=0;h=0;break d}}g=p;h=g+44|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));h=(a[f>>0]|0)==43;g=f+1|0;e=g;f=0;while(1){if(f>>>0>=3){k=35;break}e=Kh(g,c[167272+(f<<2)>>2]|0,p)|0;if(!e){e=0;f=f+1|0}else break}if((k|0)==35)if(!e){e=-22;break c}h=H(h?-60:60,((c[p+8>>2]|0)*60|0)+(c[p+4>>2]|0)|0)|0;d=1;f=e;g=h;h=((h|0)<0)<<31>>31}while(0);if(i){if(!d){o=(sb(m|0,o|0)|0)+12|0;c[p>>2]=c[o>>2];c[p+4>>2]=c[o+4>>2];c[p+8>>2]=c[o+8>>2];c[p+12>>2]=c[o+12>>2];c[p+16>>2]=c[o+16>>2];c[p+20>>2]=c[o+20>>2];c[p+24>>2]=c[o+24>>2];c[p+28>>2]=c[o+28>>2]}else{o=(nb(m|0,o|0)|0)+12|0;c[p>>2]=c[o>>2];c[p+4>>2]=c[o+4>>2];c[p+8>>2]=c[o+8>>2];c[p+12>>2]=c[o+12>>2];c[p+16>>2]=c[o+16>>2];c[p+20>>2]=c[o+20>>2];c[p+24>>2]=c[o+24>>2];c[p+28>>2]=c[o+28>>2]}o=n+12|0;c[o>>2]=c[p>>2];c[o+4>>2]=c[p+4>>2];c[o+8>>2]=c[p+8>>2];c[o+12>>2]=c[p+12>>2];c[o+16>>2]=c[p+16>>2];c[o+20>>2]=c[p+20>>2];c[o+24>>2]=c[p+24>>2];c[o+28>>2]=c[p+28>>2]}p=(d|0)!=0;c[n+32>>2]=(p^1)<<31>>31;if(p)e=jE(n)|0;else e=ub(n|0)|0;e=aX(g|0,h|0,e|0,((e|0)<0)<<31>>31|0)|0;p=M()|0;g=a[f>>0]|0;f=p}e=MR(e|0,f|0,1e6,0)|0;e=aX(e|0,M()|0,j|0,((j|0)<0)<<31>>31|0)|0;f=M()|0;if(!(g<<24>>24)){o=(l|0)==0;n=_W(0,0,e|0,f|0)|0;p=M()|0;c[b>>2]=o?e:n;c[b+4>>2]=o?f:p;e=0}else e=-22}while(0);Mb=q;return e|0}function je(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=Mb;Mb=Mb+34832|0;u=w+34824|0;t=w+34816|0;s=w+34808|0;r=w+34800|0;n=w+34784|0;l=w+34776|0;i=w+34768|0;j=w;m=a+25628|0;g=c[m>>2]|0;v=a+25636|0;h=c[v>>2]|0;e=g+(h*34768|0)|0;if(!h)p=(c[a+29544>>2]|0)==0;else p=0;q=p&1;d=g+(h*34768|0)+4|0;x=b+28|0;c[d>>2]=c[x>>2];c[d+4>>2]=c[x+4>>2];c[d+8>>2]=c[x+8>>2];c[d+12>>2]=c[x+12>>2];c[d+16>>2]=c[x+16>>2];d=Qd(a,e,b)|0;a:do if((d|0)>=0){if((c[g+(h*34768|0)+21836>>2]|0)>0){c[g+(h*34768|0)+23408>>2]=0;c[g+(h*34768|0)+23404>>2]=0;d=0;break}d=(c[g+(h*34768|0)+21808>>2]|0)==0;if(!d?(f=c[a+29544>>2]|0,(f|0)!=0):0){g=e;e=0}else k=8;do if((k|0)==8){if(c[a+29572>>2]|0){AD(c[a+4>>2]|0,16,207529,i);d=-1094995529;break a}h=a+29544|0;if(d){do if(c[h>>2]|0){if(c[v>>2]|0){d=Dg(a)|0;if((d|0)<0?c[(c[a+4>>2]|0)+688>>2]&8|0:0)break a;x=c[m>>2]|0;Mn(j|0,x|0,34768)|0;Mn(x|0,e|0,34768)|0;Mn(e|0,j|0,34768)|0;e=c[m>>2]|0}f=a+24312|0;if(!(c[f>>2]|0)){d=-1094995529;break a}g=a+26368|0;d=(c[g>>2]|0)==0;if((c[a+26364>>2]|0)!=3){if(d){d=-1094995529;break a}d=Au(a,c[m>>2]|0,1)|0;if((d|0)<0)break a;else{d=g;break}}if(!d){d=-1094995529;break a}if((c[a+27012>>2]|0)!=5){d=-1094995529;break a}AD(a,24,207546,l);d=Au(a,c[m>>2]|0,1)|0;Dy((c[f>>2]|0)+4|0,2147483647,0);Dy((c[f>>2]|0)+4|0,2147483647,1);c[f>>2]=0;if((d|0)<0)break a;else d=g}else d=a+26368|0;while(0);if(!(c[d>>2]|0)){d=a+24312|0;f=c[d>>2]|0;if(f|0?(c[a+25672>>2]|0)==0:0)Dy(f+4|0,2147483647,(c[a+26364>>2]|0)==2&1);c[d>>2]=0}}d=c[h>>2]|0;if(!d){if((e|0)!=(c[m>>2]|0)){c[n>>2]=207572;c[n+4>>2]=207591;c[n+8>>2]=2094;AD(0,0,222515,n);ba()}if((c[a+26368>>2]|0)==0?(o=c[(c[a+4>>2]|0)+844>>2]|0,(o|0)>7):0){if(!(c[a+27008>>2]|0)){d=0;break a}if((o|0)>15){d=c[e+840>>2]|0;if((d|0)==3){d=0;break a}if((o|0)>23){if((d|0)!=1){d=0;break a}if((o|0)>31)if((c[a+27012>>2]|0)==5)if((o|0)>47){d=0;break a}else{g=e;f=0;e=1;break}else if((o|0)>47|(c[a+29700>>2]|0)<0){d=0;break a}else{g=e;f=0;e=1;break}else{g=e;f=0;e=1}}else{g=e;f=0;e=1}}else{g=e;f=0;e=1}}else{g=e;f=0;e=1}}else{g=e;f=d;e=0}}while(0);do if(!p){x=c[(c[a+27164+(c[g+27776>>2]<<2)>>2]|0)+4>>2]|0;p=c[a+28196>>2]|0;d=c[p>>2]|0;if((d|0)==(c[x>>2]|0)?(c[p+64>>2]|0)==(c[x+64>>2]|0):0){if((c[a+28200>>2]|0)==(c[(c[a+27036+(d<<2)>>2]|0)+4>>2]|0))break;AD(c[a+4>>2]|0,16,207643,s);d=-1094995529;break a}AD(c[a+4>>2]|0,16,207615,r);d=-1094995529;break a}while(0);do if(e){d=Ad(a,g,b,q)|0;if((d|0)<0)break a}else{d=c[a+26364>>2]|0;e=c[g+21824>>2]|0;if((d|0)==(e|0)?(c[a+25672>>2]|0)==((c[b+68>>2]|0)==0|0):0){if(c[a+24312>>2]|0)break;d=c[a+4>>2]|0;c[u>>2]=f+1;AD(d,16,207745,u);d=-1094995529;break a}x=c[a+4>>2]|0;c[t>>2]=d;c[t+4>>2]=e;AD(x,16,207683,t);d=-1094995529;break a}while(0);d=Id(a,g,b)|0;if((d|0)>=0){c[v>>2]=(c[v>>2]|0)+1;d=0}}while(0);Mb=w;return d|0}function ke(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,m=0,n=0,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=Mb;Mb=Mb+80|0;s=t+72|0;q=t;if(!(a[b+241>>0]|0))e=1;else{n=A$()|0;c[s>>2]=n;o=oJ()|0;p=M()|0;rK(n,f)|0;c[n+28>>2]=f;m=n+8|0;c[m>>2]=g;c[m+4>>2]=0;m=n+16|0;c[m>>2]=h;c[m+4>>2]=0;c[n+36>>2]=i;Mn(c[n+24>>2]|0,e|0,f|0)|0;n=b+280|0;f=n;e=c[f>>2]|0;f=c[f+4>>2]|0;if((e|0)==0&(f|0)==0){e=n;c[e>>2]=o;c[e+4>>2]=p;e=o;f=p}l=_W(o|0,p|0,e|0,f|0)|0;j=M()|0;e=b+272|0;m=e;k=c[m+4>>2]|0;if((j|0)>(k|0)|((j|0)==(k|0)?l>>>0>(c[m>>2]|0)>>>0:0)){m=b+192|0;g=(c[m>>2]|0)+16|0;f=c[g>>2]|0;g=c[g+4>>2]|0;j=(c[b+196>>2]|0)+16|0;h=c[j>>2]|0;j=c[j+4>>2]|0;l=b+224|0;k=c[l>>2]|0;l=c[l+4>>2]|0;w=XO(m)|0;u=((w|0)<0)<<31>>31;v=XO(m)|0;z=((v|0)<0)<<31>>31;x=(u|0)>(z|0)|(u|0)==(z|0)&w>>>0>v>>>0;z=x?u:z;u=c[b+4>>2]|0;y=((u|0)<0)<<31>>31;do if((z|0)>(y|0)|(z|0)==(y|0)&(x?w:v)>>>0>u>>>0){if(!(a[b+245>>0]|0)){c[e>>2]=1e7;c[e+4>>2]=0;e=b+156|0;f=b+152|0;while(1){h=(c[f>>2]|0)+16|0;g=c[h>>2]|0;h=c[h+4>>2]|0;if(!((h|0)>0|(h|0)==0&g>>>0>0))break;z=(c[e>>2]|0)+16|0;z=_W(c[z>>2]|0,c[z+4>>2]|0,g|0,h|0)|0;y=M()|0;if(!((y|0)>0|(y|0)==0&z>>>0>200))break;it(f,q)|0;BX(q)}x=b+256|0;c[x>>2]=g;c[x+4>>2]=h;x=xA(o|0,p|0,1e3,0)|0;y=M()|0;z=b+264|0;c[z>>2]=x;c[z+4>>2]=y;break}z=_W(h|0,j|0,k|0,l|0)|0;y=M()|0;if(((f|0)!=(k|0)|(g|0)!=(l|0))&((k|0)!=0|(l|0)!=0)&((y|0)>0|(y|0)==0&z>>>0>199)){z=e;c[z>>2]=1e7;c[z+4>>2]=0;while(1){y=(c[m>>2]|0)+16|0;z=c[y>>2]|0;y=c[y+4>>2]|0;if(!(((y|0)>0|(y|0)==0&z>>>0>0)&((y|0)<(l|0)|(y|0)==(l|0)&z>>>0<k>>>0)))break;it(m,q)|0;BX(q)}e=b+152|0;while(1){y=(c[e>>2]|0)+16|0;z=c[y>>2]|0;y=c[y+4>>2]|0;g=(c[m>>2]|0)+16|0;f=c[g>>2]|0;g=c[g+4>>2]|0;if(!(((y|0)>0|(y|0)==0&z>>>0>0)&((y|0)<(g|0)|(y|0)==(g|0)&z>>>0<f>>>0)))break;it(e,q)|0;BX(q)}x=b+256|0;c[x>>2]=f;c[x+4>>2]=g;x=xA(o|0,p|0,1e3,0)|0;y=M()|0;z=b+264|0;c[z>>2]=x;c[z+4>>2]=y}}while(0);z=n;c[z>>2]=o;c[z+4>>2]=p}switch(d|0){case 112:{f=65543;e=8e3;r=35;break}case 128:{f=65542;e=8e3;r=35;break}case 64:{f=86050;e=16e3;r=35;break}case 80:{f=86050;e=8e3;r=35;break}case 96:{f=86050;e=c[17472+(i<<2)>>2]|0;r=35;break}case 160:{f=86018;r=36;break}case 7:{f=28;r=27;break}case 12:{f=174;r=27;break}default:nY(s)}if((r|0)==27){g=b+148|0;e=c[g>>2]|0;if((i|0)!=0&(e|0)==-1){e=b+249|0;do if(a[e>>0]|0){z=Us(b,f)|0;c[b+236>>2]=z;if(!z){a[e>>0]=0;break}else{y=b+140|0;z=c[y>>2]|0;c[y>>2]=z+1;c[g>>2]=z;$X(b+192|0)|0;break}}while(0);e=c[g>>2]|0}if((e|0)>-1){z=c[s>>2]|0;c[z+32>>2]=e;VX(b+192|0,z)|0}}else if((r|0)==35){c[b+136>>2]=e;r=36}if((r|0)==36){g=b+144|0;e=c[g>>2]|0;if((e|0)==-1){e=b+248|0;do if(a[e>>0]|0){z=Us(b,f)|0;c[b+232>>2]=z;if(!z){a[e>>0]=0;break}else{y=b+140|0;z=c[y>>2]|0;c[y>>2]=z+1;c[g>>2]=z;$X(b+152|0)|0;break}}while(0);e=c[g>>2]|0}if((e|0)>-1){z=c[s>>2]|0;c[z+32>>2]=e;VX(b+152|0,z)|0}}e=0}Mb=t;return e|0}function le(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=Mb;Mb=Mb+48|0;r=u+40|0;o=u+32|0;n=u+16|0;k=u+8|0;i=u;p=g+8|0;t=c[p>>2]|0;a[g+12>>0]=a[g+12+t>>0]|0;j=g+92|0;c[j>>2]=c[e+28>>2];q=g+87932|0;a[g+87940>>0]=a[g+87932+t>>0]|0;s=HG(f,2)|0;a:do switch(s|0){case 0:{e=HG(f,2)|0;h=1<<e;if((h|0)>4){e=c[b+4>>2]|0;c[i>>2]=h;AD(e,16,198930,i);e=-1;break a}c[p>>2]=h;i=h+-1|0;if(!e)c[j>>2]=0;a[q>>0]=0;a[g+87932+h>>0]=16;h=c[p>>2]|0;h=(((h>>>1)+16|0)>>>0)/(h>>>0)|0;e=0;while(1){if((e|0)>=(i|0))break;o=e+1|0;a[g+87932+o>>0]=h+(d[g+87932+e>>0]|0);e=o}h=(mT(f)|0)&255;i=g+13|0;a[i>>0]=h;h=c[p>>2]|0;e=1;while(1){if(e>>>0>=h>>>0){m=36;break a}p=e+1|0;a[g+12+p>>0]=a[i>>0]|0;e=p}}case 1:{m=(HG(f,2)|0)+16|0;h=HG(f,2)|0;e=h+1|0;c[p>>2]=e;a[q>>0]=0;a[g+87932+e>>0]=m;e=0;while(1){i=c[p>>2]|0;if((e|0)>=(h|0))break;m=d[i-e+(g+87932)>>0]|0;m=m+254-((HG(f,2)|0)<<1)&255;a[(c[p>>2]|0)+~e+(g+87932)>>0]=m;e=e+1|0}e=HG(f,a[199002+i>>0]|0)|0;h=0;while(1){if(h>>>0>=(c[p>>2]|0)>>>0){m=37;break a}m=(mT(f)|0)&255;a[(c[p>>2]|0)-h+(g+12)>>0]=m;h=h+1|0}}case 2:{j=(HG(f,2)|0)&255;a[q>>0]=j;j=HG(f,2)|0;i=j+1|0;c[p>>2]=i;e=0;h=16;while(1){a[g+87932+i>>0]=h;if((e|0)>=(j|0))break;h=d[g+87932+e>>0]|0;i=e+1|0;e=i;h=h+2+((HG(f,2)|0)<<1)&255}e=HG(f,a[199002+(c[p>>2]|0)>>0]|0)|0;i=g+13|0;j=c[p>>2]|0;h=0;while(1){if((h|0)>=(j|0)){m=37;break a}m=(mT(f)|0)&255;a[i+h>>0]=m;h=h+1|0}}case 3:{h=(HG(f,2)|0)&255;a[q>>0]=h;h=HG(f,2)|0;j=HG(f,2)|0;l=HG(f,2)|0;i=l+j|0;e=i+1|0;if((i|0)>4){t=c[b+4>>2]|0;c[k>>2]=e;AD(t,16,199008,k);e=-1;break a}c[p>>2]=e;i=0;h=h+16|0;while(1){a[g+87932+e>>0]=h;if((i|0)>=(j|0))break;h=d[g+87932+i>>0]|0;e=i+1|0;i=e;h=h+2+((HG(f,2)|0)<<1)|0}e=0;while(1){h=c[p>>2]|0;if((e|0)>=(l|0))break;m=d[h-e+(g+87932)>>0]|0;m=m+254-((HG(f,2)|0)<<1)&255;a[(c[p>>2]|0)+~e+(g+87932)>>0]=m;e=e+1|0}e=HG(f,a[199002+h>>0]|0)|0;i=g+13|0;j=c[p>>2]|0;h=0;while(1){if((h|0)>=(j|0)){m=37;break a}m=(mT(f)|0)&255;a[i+h>>0]=m;h=h+1|0}}default:{h=c[p>>2]|0;m=36}}while(0);if((m|0)==36){c[g>>2]=s;i=0;m=41}else if((m|0)==37){c[g>>2]=s;if((e|0)<=-1){c[n>>2]=199080;c[n+4>>2]=199096;c[n+8>>2]=719;AD(0,0,222515,n);ba()}h=c[p>>2]|0;if(e>>>0>(h+1|0)>>>0){t=c[b+4>>2]|0;c[o>>2]=e;AD(t,16,199125,o);e=-1}else{i=e;m=41}}do if((m|0)==41){e=1;while(1){if(e>>>0>h>>>0)break;if((d[e+-1+(g+87932)>>0]|0)<(d[g+87932+e>>0]|0))e=e+1|0;else{m=44;break}}if((m|0)==44){AD(c[b+4>>2]|0,16,199223,r);e=-1;break}r=h>>>0>1;b=r?2:1;c[g+20>>2]=b;a[g+87941>>0]=a[q>>0]|0;a[g+87941+b>>0]=a[g+87932+h>>0]|0;if(r){b:do if(!s)e=h>>>1;else{if(s&1|0){e=i+-1|0;e=h-((e|0)>1?e:1)|0;break}switch(i|0){case 0:{e=1;break b}case 1:{e=h+-1|0;break b}default:{e=i+-1|0;break b}}}while(0);a[g+87942>>0]=a[g+87932+e>>0]|0}e=g+14568|0;c[g+14564>>2]=((c[e>>2]|0)!=(t|0))<<31>>31;c[e>>2]=-1;if((i|0)!=0&(s&1|0)!=0){c[e>>2]=1-i+h;e=0;break}if((i|0)>1&(s|0)==2){c[e>>2]=i+-1;e=0}else e=0}while(0);Mb=u;return e|0}function me(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;m=Mb;Mb=Mb+48|0;j=m+16|0;l=m+8|0;i=m;f=m+32|0;h=m+24|0;g=jn(a,b,0,0,e,f)|0;f=c[f>>2]|0;a:do if((g|0)!=0&(f|0)!=0){e=(d|0)!=0;b:do if(!e){b=c[g+12>>2]|0;if((b|0)<1146442272)if((b|0)<1128811585)if((b|0)<1112493900)switch(b|0){case 5:break b;default:{b=-22;break a}}else switch(b|0){case 1112493900:break b;default:{b=-22;break a}}else if((b|0)<1129270354)switch(b|0){case 1128811585:break b;default:{b=-22;break a}}else switch(b|0){case 1129270354:break b;default:{b=-22;break a}}if((b|0)<1397116244)if((b|0)<1346784596)switch(b|0){case 1146442272:break b;default:{b=-22;break a}}else switch(b|0){case 1346784596:break b;default:{b=-22;break a}}if((b|0)<1397316165)switch(b|0){case 1397116244:break b;default:{b=-22;break a}}if((b|0)<1448231252)switch(b|0){case 1397316165:break b;default:{b=-22;break a}}else switch(b|0){case 1448231252:break b;default:{b=-22;break a}}}while(0);if(!(c[g+40>>2]&128)){k=f+(c[g+8>>2]|0)|0;b=c[g+12>>2]|0;c:do if((b|0)<9)switch(b|0){case 6:case 3:case 4:case 2:case 1:case 0:{e=9;break c}case 5:{b=xY(d,k)|0;break a}case 7:{b=Yu(d,k)|0;break a}default:{e=27;break c}}else{if((b|0)<1146442272){if((b|0)<1128811585){if((b|0)<1112493900)switch(b|0){case 9:{e=9;break c}default:{e=27;break c}}switch(b|0){case 1112493900:break;default:{e=27;break c}}b=Iu(a,g,d,k)|0;break a}if((b|0)>=1129270354){switch(b|0){case 1129270354:break;default:{e=27;break c}}b=ZO(a,d,k)|0;break a}switch(b|0){case 1128811585:break;default:{e=27;break c}}if(e?PF(d,221851)|0:0){e=EA(d)|0;f=M()|0;if((e|0)==0&(f|0)==0){c[l>>2]=d;AD(a,16,212342,l);b=-22}else b=0;a=k;c[a>>2]=e;c[a+4>>2]=f;break a}e=k;c[e>>2]=0;c[e+4>>2]=0;e=27;break}if((b|0)<1397116244){if((b|0)>=1346784596){switch(b|0){case 1346784596:break;default:{e=27;break c}}b=lY(a,g,d,k)|0;break a}switch(b|0){case 1146442272:break;default:{e=27;break c}}if(!e){b=k;c[b>>2]=0;c[b+4>>2]=0;b=0;break a}b=ie(k,d,1)|0;if((b|0)>=0)break a;c[i>>2]=d;AD(a,16,212295,i);break a}if((b|0)<1397316165){switch(b|0){case 1397116244:break;default:{e=27;break c}}b=kY(a,g,d,k)|0;break a}if((b|0)<1448231252){switch(b|0){case 1397316165:break;default:{e=27;break c}}b=$F(a,d,k)|0;break a}switch(b|0){case 1448231252:break;default:{e=27;break c}}b=sK(a,d,h)|0;if((b|0)>=0){b=c[h>>2]|0;b=Pe(a,g,k,1.0,c[h+4>>2]|0,b,((b|0)<0)<<31>>31)|0}break a}while(0);if((e|0)==9){b=Je(a,f,g,d,k)|0;break}else if((e|0)==27){AD(a,16,212395,j);b=-22;break}}else b=-22}else b=-1414549496;while(0);Mb=m;return b|0}function ne(e,h,i,j,k){e=e|0;h=h|0;i=i|0;j=j|0;k=k|0;var 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,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0;J=Mb;Mb=Mb+32|0;o=J+16|0;n=J;l=c[e+83184>>2]|0;a:do if(!l){I=e+83180|0;if((c[I>>2]|0)==0?(c[e+83172>>2]|0)==0:0){F=0;G=0}else{G=j&-16;F=H(c[h+264>>2]|0,G)|0}m=e+32|0;l=c[m>>2]|0;m=c[m+4>>2]|0;if(!((l|0)==0&(m|0)==0)?(E=c[h+260>>2]|0,(E|0)!=(DD(l,m)|0)):0){c[n>>2]=222335;c[n+4>>2]=222251;c[n+8>>2]=503;AD(0,0,222515,n);ba()}m=e+24|0;l=c[m>>2]|0;m=c[m+4>>2]|0;E=i+260|0;if(!((l|0)==0&(m|0)==0)?(D=c[E>>2]|0,(D|0)!=(DD(l,m)|0)):0){c[o>>2]=222425;c[o+4>>2]=222251;c[o+8>>2]=504;AD(0,0,222515,o);ba()}C=h+260|0;D=e+16|0;s=(k|0)==0;t=(G|0)!=0;u=e+83172|0;v=e+62620|0;w=(G|0)==(j|0);x=e+83176|0;y=e+62608|0;z=h+264|0;A=j-G|0;B=e+83168|0;r=0;while(1){if((r|0)>=(c[C>>2]|0))break a;q=e+79008+(r*65|0)|0;b:do switch(a[q>>0]|0){case 0:{if(!s){q=c[h+(r<<2)>>2]|0;jv(q|0,0,H(jY(c[D>>2]|0)|0,j)|0)|0}break}case 1:{l=d[e+79008+(r*65|0)+1>>0]|0;if(!(+g[e+13456+(r<<9)+(l<<3)>>3]!=1.0))if(s){c[h+(r<<2)>>2]=c[i+(l<<2)>>2];break b}else{Mn(c[h+(r<<2)>>2]|0,c[i+(l<<2)>>2]|0,H(c[z>>2]|0,j)|0)|0;break b}m=c[u>>2]|0;if(t&(m|0)!=0){q=(H(c[E>>2]|0,r)|0)+l|0;jc[m&255](c[h+(r<<2)>>2]|0,c[i+(l<<2)>>2]|0,c[v>>2]|0,q,G)}if(!w){q=(H(c[E>>2]|0,r)|0)+l|0;jc[c[B>>2]&255]((c[h+(r<<2)>>2]|0)+F|0,(c[i+(l<<2)>>2]|0)+F|0,c[y>>2]|0,q,A)}break}case 2:{l=d[e+79008+(r*65|0)+1>>0]|0;m=d[e+79008+(r*65|0)+2>>0]|0;n=c[I>>2]|0;if(t&(n|0)!=0){q=H(c[E>>2]|0,r)|0;mc[n&63](c[h+(r<<2)>>2]|0,c[i+(l<<2)>>2]|0,c[i+(m<<2)>>2]|0,c[v>>2]|0,q+l|0,q+m|0,G)}else{q=H(c[E>>2]|0,r)|0;mc[c[x>>2]&63](c[h+(r<<2)>>2]|0,c[i+(l<<2)>>2]|0,c[i+(m<<2)>>2]|0,c[y>>2]|0,q+l|0,q+m|0,G)}if(!w){q=H(c[E>>2]|0,r)|0;mc[c[x>>2]&63]((c[h+(r<<2)>>2]|0)+F|0,(c[i+(l<<2)>>2]|0)+F|0,(c[i+(m<<2)>>2]|0)+F|0,c[y>>2]|0,q+l|0,q+m|0,A)}break}default:switch(c[D>>2]|0){case 8:{n=h+(r<<2)|0;m=0;while(1){if((m|0)>=(j|0))break b;o=d[q>>0]|0;p=0.0;l=0;while(1){if((l|0)==(o|0))break;k=l+1|0;K=d[e+79008+(r*65|0)+k>>0]|0;p=p+ +f[(c[i+(K<<2)>>2]|0)+(m<<2)>>2]*+f[e+46224+(r<<8)+(K<<2)>>2];l=k}f[(c[n>>2]|0)+(m<<2)>>2]=p;m=m+1|0}}case 9:{n=h+(r<<2)|0;m=0;while(1){if((m|0)>=(j|0))break b;o=d[q>>0]|0;p=0.0;l=0;while(1){if((l|0)==(o|0))break;K=l+1|0;k=d[e+79008+(r*65|0)+K>>0]|0;p=p+ +g[(c[i+(k<<2)>>2]|0)+(m<<3)>>3]*+g[e+13456+(r<<9)+(k<<3)>>3];l=K}g[(c[n>>2]|0)+(m<<3)>>3]=p;m=m+1|0}}default:{o=h+(r<<2)|0;n=0;while(1){if((n|0)>=(j|0))break b;k=d[q>>0]|0;l=0;m=0;while(1){if((m|0)==(k|0))break;K=m+1|0;L=d[e+79008+(r*65|0)+K>>0]|0;l=(H(c[e+62624+(r<<8)+(L<<2)>>2]|0,b[(c[i+(L<<2)>>2]|0)+(n<<1)>>1]|0)|0)+l|0;m=K}b[(c[o>>2]|0)+(n<<1)>>1]=(l+16384|0)>>>15;n=n+1|0}}}}while(0);r=r+1|0}}else hc[l&255](h,i,c[e+62608>>2]|0,j);while(0);Mb=J;return 0}function oe(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=Mb;Mb=Mb+1072|0;p=r+1040|0;q=r;h=r+1059|0;l=r+1054|0;m=r+1049|0;n=r+1044|0;o=r+1024|0;jv(q|0,0,1024)|0;if(((d>>>0<=64?(c[p>>2]=0,f=ly(b,d,1,p)|0,(f|0)>=0):0)?(g=ly(b,d,2,p)|0,(g|0)>=0):0)?(e=ly(b,d,3,p)|0,(e|0)>=0):0){i=(g|0)==0&(e|0)>3;k=i?e+-2|0:e;i=i?2:g;c[p>>2]=0;if(!(f&1))e=0;else{e=a[b+1>>0]|0;g=q;c[g>>2]=4;c[g+4>>2]=0;a[q+8>>0]=0;a[q+9>>0]=e;a[q+10>>0]=1;e=q+11|0;a[e>>0]=a[h>>0]|0;a[e+1>>0]=a[h+1>>0]|0;a[e+2>>0]=a[h+2>>0]|0;a[e+3>>0]=a[h+3>>0]|0;a[e+4>>0]=a[h+4>>0]|0;c[p>>2]=1;f=f+-1|0;e=1}if((f|0)<=3)if((f|0)>1){g=q;j=10}else h=q;else{e=Em(q,b,e,64,0,128,0,1)|0;e=(c[p>>2]|0)+e|0;c[p>>2]=e;f=f+-2|0;g=q;j=10}if((j|0)==10){e=Em(g,b,e,1,0,2,0,1)|0;e=(c[p>>2]|0)+e|0;c[p>>2]=e;f=f+-2|0;h=g}while(1){if((f|0)<=1)break;j=Em(h,b,e,-1,-1,-1,-1,1)|0;j=(c[p>>2]|0)+j|0;c[p>>2]=j;f=f+-2|0;e=j}if((i|0)>1){e=Em(h,b,e,512,0,1024,0,1)|0;e=(c[p>>2]|0)+e|0;c[p>>2]=e;f=i+-2|0}else f=i;while(1){if((f|0)<=1)break;j=Em(h,b,e,-1,-1,-1,-1,2)|0;j=(c[p>>2]|0)+j|0;c[p>>2]=j;f=f+-2|0;e=j}g=~k;g=k+((g|0)>-4?g:-4)+2&-2;f=k;while(1){if((f|0)<=3)break;j=Em(h,b,e,-1,-1,-1,-1,3)|0;j=(c[p>>2]|0)+j|0;c[p>>2]=j;f=f+-2|0;e=j}f=k-g|0;if((f|0)>1){e=Em(h,b,e,16,0,32,0,3)|0;e=(c[p>>2]|0)+e|0;c[p>>2]=e;f=f+-2|0}if(f){k=q+(e<<4)|0;j=a[b+(e*3|0)+1>>0]|0;i=k;c[i>>2]=256;c[i+4>>2]=0;a[q+(e<<4)+8>>0]=0;a[q+(e<<4)+9>>0]=j;a[q+(e<<4)+10>>0]=3;k=k+11|0;a[k>>0]=a[l>>0]|0;a[k+1>>0]=a[l+1>>0]|0;a[k+2>>0]=a[l+2>>0]|0;a[k+3>>0]=a[l+3>>0]|0;a[k+4>>0]=a[l+4>>0]|0;e=e+1|0;c[p>>2]=e}if((e|0)<(d|0)?(a[b+(e*3|0)+2>>0]|0)==4:0){l=q+(e<<4)|0;k=a[b+(e*3|0)+1>>0]|0;j=l;c[j>>2]=8;c[j+4>>2]=0;a[q+(e<<4)+8>>0]=3;a[q+(e<<4)+9>>0]=k;a[q+(e<<4)+10>>0]=4;l=l+11|0;a[l>>0]=a[m>>0]|0;a[l+1>>0]=a[m+1>>0]|0;a[l+2>>0]=a[m+2>>0]|0;a[l+3>>0]=a[m+3>>0]|0;a[l+4>>0]=a[m+4>>0]|0;e=e+1|0;c[p>>2]=e}i=e;while(1){if((i|0)>=(d|0))break;if((a[b+(i*3|0)+2>>0]|0)!=4)break;m=q+(i<<4)|0;l=a[b+(i*3|0)+1>>0]|0;k=m;c[k>>2]=-1;c[k+4>>2]=-1;a[q+(i<<4)+8>>0]=3;a[q+(i<<4)+9>>0]=l;a[q+(i<<4)+10>>0]=4;m=m+11|0;a[m>>0]=a[n>>0]|0;a[m+1>>0]=a[n+1>>0]|0;a[m+2>>0]=a[n+2>>0]|0;a[m+3>>0]=a[n+3>>0]|0;a[m+4>>0]=a[n+4>>0]|0;m=i+1|0;c[p>>2]=m;i=m}g=i;while(1){e=0;h=1;while(1){if((h|0)>=(g|0))break;f=h+-1|0;n=q+(f<<4)|0;l=c[n+4>>2]|0;d=q+(h<<4)|0;m=c[d+4>>2]|0;if(l>>>0>m>>>0|((l|0)==(m|0)?(c[n>>2]|0)>>>0>(c[d>>2]|0)>>>0:0)){d=q+(h<<4)|0;c[o>>2]=c[d>>2];c[o+4>>2]=c[d+4>>2];c[o+8>>2]=c[d+8>>2];c[o+12>>2]=c[d+12>>2];e=q+(f<<4)|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];c[e>>2]=c[o>>2];c[e+4>>2]=c[o+4>>2];c[e+8>>2]=c[o+8>>2];c[e+12>>2]=c[o+12>>2];e=h}h=h+1|0}if((e|0)>0)g=e;else break}c[p>>2]=h;e=0;f=0;g=0;while(1){if((g|0)>=(i|0))break;a[b+(g*3|0)>>0]=a[q+(g<<4)+8>>0]|0;a[b+(g*3|0)+1>>0]=a[q+(g<<4)+9>>0]|0;a[b+(g*3|0)+2>>0]=a[q+(g<<4)+10>>0]|0;o=q+(g<<4)|0;n=c[o>>2]|0;o=c[o+4>>2]|0;d=(n|0)==-1&(o|0)==-1;e=(d?0:n)|e;f=(d?0:o)|f;g=g+1|0}c[p>>2]=g}else{f=0;e=0}L(f|0);Mb=r;return e|0}function pe(a){a=a|0;var b=0,d=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,s=0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0,C=0,D=0;s=Mb;Mb=Mb+112|0;j=s+96|0;o=s+88|0;n=s+80|0;l=s+64|0;k=s;r=c[c[a+3516>>2]>>2]|0;if(((c[a+7704>>2]|0)!=0?(f=a+7708|0,((c[f>>2]|0)+-3|0)>>>0<3):0)?(b=a+7712|0,((c[b>>2]|0)+-1|0)>>>0<2):0){d=LE(r)|0;if(d){a:do switch(c[f>>2]|0){case 3:if(!(c[a+7716>>2]|0)){c[d>>2]=1;break a}else{c[d>>2]=5;break a}case 4:{c[d>>2]=2;break}case 5:{c[d>>2]=3;break}default:{}}while(0);if((c[b>>2]|0)==2){c[d+4>>2]=1;h=13}else h=13}else b=-12}else h=13;b:do if((h|0)==13){do if(c[a+7720>>2]|0){b=c[a+7724>>2]|0;if(((b|0)==0?(c[a+7728>>2]|0)==0:0)?(c[a+7732>>2]|0)==0:0)break;d=JY(r,6,36)|0;if(!d){b=-12;break b}h=d+4|0;kD(c[h>>2]|0,+(b*360|0)*.0000152587890625);wB(c[h>>2]|0,c[a+7728>>2]|0,c[a+7732>>2]|0)}while(0);d=a+7748|0;b=c[d>>2]|0;if((b|0)>0)if((c[a+3508>>2]&-8|0)==16?(i=b+-1|0,(c[a+5732>>2]|0)!=0):0){c[d>>2]=i;b=i;h=23}else h=24;else h=23;if((h|0)==23?b|0:0)h=24;if((h|0)==24){d=IM(r)|0;if(!d){b=-12;break}b=0;while(1){if((b|0)==3)break;i=c[166208+(b<<2)>>2]|0;c[d+(b<<4)>>2]=e[a+7752+(i<<2)>>1];c[d+(b<<4)+4>>2]=5e4;c[d+(b<<4)+8>>2]=e[a+7752+(i<<2)+2>>1];c[d+(b<<4)+12>>2]=5e4;b=b+1|0}C=d+48|0;c[C>>2]=e[a+7764>>1];c[d+52>>2]=5e4;B=d+56|0;c[B>>2]=e[a+7766>>1];c[d+60>>2]=5e4;i=d+72|0;c[i>>2]=c[a+7768>>2];c[d+76>>2]=1e4;h=d+64|0;c[h>>2]=c[a+7772>>2];c[d+68>>2]=1e4;c[d+84>>2]=1;c[d+80>>2]=1;f=a+4|0;AD(c[f>>2]|0,48,179698,j);b=c[f>>2]|0;c[j>>2]=c[d>>2];c[j+4>>2]=c[d+4>>2];A=+A0(j);D=d+8|0;c[j>>2]=c[D>>2];c[j+4>>2]=c[D+4>>2];z=+A0(j);D=d+16|0;c[j>>2]=c[D>>2];c[j+4>>2]=c[D+4>>2];y=+A0(j);D=d+24|0;c[j>>2]=c[D>>2];c[j+4>>2]=c[D+4>>2];x=+A0(j);D=d+32|0;c[j>>2]=c[D>>2];c[j+4>>2]=c[D+4>>2];w=+A0(j);d=d+40|0;c[j>>2]=c[d>>2];c[j+4>>2]=c[d+4>>2];v=+A0(j);c[j>>2]=c[C>>2];c[j+4>>2]=c[C+4>>2];t=+A0(j);c[j>>2]=c[B>>2];c[j+4>>2]=c[B+4>>2];u=+A0(j);g[k>>3]=A;g[k+8>>3]=z;g[k+16>>3]=y;g[k+24>>3]=x;g[k+32>>3]=w;g[k+40>>3]=v;g[k+48>>3]=t;g[k+56>>3]=u;AD(b,48,179727,k);k=c[f>>2]|0;c[j>>2]=c[h>>2];c[j+4>>2]=c[h+4>>2];u=+A0(j);c[j>>2]=c[i>>2];c[j+4>>2]=c[i+4>>2];t=+A0(j);g[l>>3]=u;g[l+8>>3]=t;AD(k,48,179790,l)}d=a+7776|0;b=c[d>>2]|0;if((b|0)>0)if((c[a+3508>>2]&-8|0)==16?(m=b+-1|0,(c[a+5732>>2]|0)!=0):0){c[d>>2]=m;b=m;h=33}else h=34;else h=33;if((h|0)==33?b|0:0)h=34;if((h|0)==34){b=oE(r)|0;if(!b){b=-12;break}c[b>>2]=e[a+7780>>1];C=b+4|0;c[C>>2]=e[a+7782>>1];D=a+4|0;AD(c[D>>2]|0,48,179826,n);D=c[D>>2]|0;C=c[C>>2]|0;c[o>>2]=c[b>>2];c[o+4>>2]=C;AD(D,48,179857,o)}b=a+7744|0;if(c[b>>2]|0){d=a+7740|0;f=JY(r,1,c[d>>2]|0)|0;if(f|0)Mn(c[f+4>>2]|0,c[b>>2]|0,c[d>>2]|0)|0;bU(b);c[d>>2]=0;D=(c[a+4>>2]|0)+964|0;c[D>>2]=c[D>>2]|2}if(((c[a+7788>>2]|0)!=0?(p=a+7792|0,(HY(c[p>>2]|0)|0)!=0):0)?(q=c[p>>2]|0,(q|0)!=2):0){c[r+308>>2]=q;c[(c[a+4>>2]|0)+392>>2]=q;b=0}else b=0}while(0);Mb=s;return b|0}function qe(b,e){b=b|0;e=e|0;var i=0.0,j=0,k=0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0,t=0,u=0,v=0,w=0,x=0;x=Mb;Mb=Mb+32|0;u=x+24|0;v=x+8|0;t=x;e=(e|0)==1;a:do if(e?(c[b+48>>2]|0)!=0:0){q=b+188|0;r=(c[q>>2]|0)==0?24:12;o=b+104|0;n=1;while(1){if(n>>>0>(c[o>>2]|0)>>>0)break;p=b+108+n|0;m=0;while(1){if(m>>>0>=(c[b+310112+((d[p>>0]|0)<<2)>>2]|0)>>>0)break;j=a[b+86512+(n*48|0)+m>>0]|0;e=j&255;do if(c[q>>2]|0){if((e+133|0)>>>0<255)i=(c[h>>2]=(e<<23)+1124073472,+f[h>>2]);else i=s;e=r-(d[b+174480+(n*48|0)+m>>0]|0)|0;if((e+126|0)>>>0<255){l=(c[h>>2]=(e<<23)+1065353216,+f[h>>2]);break}if((e|0)>128)l=s;else l=(e|0)>-150?(c[h>>2]=1<<e+149,+f[h>>2]):0.0}else{e=e>>>1;if((e+133|0)>>>0<255)i=(c[h>>2]=(e<<23)+1124073472,+f[h>>2]);else i=s;i=+g[53296+((j&1)<<3)>>3]*i;k=a[b+174480+(n*48|0)+m>>0]|0;e=r-(k&255)|0;j=e>>1;if((j+126|0)>>>0>=255)if((e|0)>257)l=s;else l=(e|0)>-299?(c[h>>2]=1<<j+149,+f[h>>2]):0.0;else l=(c[h>>2]=(j<<23)+1065353216,+f[h>>2]);l=+g[53296+((k&1)<<3)>>3]*l}while(0);if(i>1.0e20){AD(0,16,199965,t);i=1.0}i=i/(l+1.0);f[b+86800+(n*192|0)+(m<<2)>>2]=i;f[b+174768+(n*192|0)+(m<<2)>>2]=l*i;m=m+1|0}n=n+1|0}o=b+310120|0;m=c[b+116>>2]|0;k=1;b:while(1){if(k>>>0>m>>>0)break a;n=c[o>>2]|0;j=0;while(1){if(j>>>0>=n>>>0)break;e=6-(d[b+87952+(k*5|0)+j>>0]|0)|0;if((e+127|0)>>>0>=255)if((e|0)>127)l=s;else l=(e|0)>-151?(c[h>>2]=1<<e+150,+f[h>>2]):0.0;else l=(c[h>>2]=(e<<23)+1073741824,+f[h>>2]);e=12-(d[b+175920+(k*5|0)+j>>0]|0)|0;if((e+126|0)>>>0>=255)if((e|0)>128)i=s;else i=(e|0)>-150?(c[h>>2]=1<<e+149,+f[h>>2]):0.0;else i=(c[h>>2]=(e<<23)+1065353216,+f[h>>2]);if(!(l<=1.0e20))break b;l=l/(i+1.0);f[b+87968+(k*20|0)+(j<<2)>>2]=l;f[b+175936+(k*20|0)+(j<<2)>>2]=i*l;j=j+1|0}k=k+1|0}c[v>>2]=200007;c[v+4>>2]=200021;c[v+8>>2]=107;AD(0,0,222515,v);ba()}else w=41;while(0);c:do if((w|0)==41){r=e?2:1;t=b+310120|0;q=0;while(1){if((q|0)==(r|0))break c;n=b+96+(q*87968|0)+8|0;o=b+96+(q*87968|0)+92|0;m=1;while(1){if(m>>>0>(c[n>>2]|0)>>>0)break;p=b+96+(q*87968|0)+12+m|0;k=0;while(1){if(k>>>0>=(c[b+310112+((d[p>>0]|0)<<2)>>2]|0)>>>0)break;j=a[b+96+(q*87968|0)+86416+(m*48|0)+k>>0]|0;e=j&255;if(!(c[o>>2]|0)){e=e>>>1;if((e+132|0)>>>0<255)i=(c[h>>2]=(e<<23)+1115684864,+f[h>>2]);else i=s;i=+g[53296+((j&1)<<3)>>3]*i;e=b+96+(q*87968|0)+86704+(m*192|0)+(k<<2)|0;f[e>>2]=i}else{if((e+132|0)>>>0<255)i=(c[h>>2]=(e<<23)+1115684864,+f[h>>2]);else i=s;e=b+96+(q*87968|0)+86704+(m*192|0)+(k<<2)|0;f[e>>2]=i}if(i>1.0e20){AD(0,16,199965,u);f[e>>2]=1.0}k=k+1|0}m=m+1|0}m=(c[b+96+(q*87968|0)+20>>2]|0)+1|0;k=1;while(1){if((k|0)==(m|0))break;n=c[t>>2]|0;j=0;while(1){if((j|0)==(n|0))break;e=6-(d[b+96+(q*87968|0)+87856+(k*5|0)+j>>0]|0)|0;if((e+126|0)>>>0>=255)if((e|0)>128)i=s;else i=(e|0)>-150?(c[h>>2]=1<<e+149,+f[h>>2]):0.0;else i=(c[h>>2]=(e<<23)+1065353216,+f[h>>2]);f[b+96+(q*87968|0)+87872+(k*20|0)+(j<<2)>>2]=i;j=j+1|0}k=k+1|0}q=q+1|0}}while(0);Mb=x;return}function re(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;q=8-g|0;p=8-h|0;s=H(p,q)|0;p=H(p,g)|0;q=H(q,h)|0;o=H(h,g)|0;r=d>>1;a:do if(!o){o=p+q|0;if(!o){g=0;while(1){if((g|0)>=(f|0))break a;q=((H(s,e[c>>1]|0)|0)+32|0)>>>6&65535;b[a>>1]=q;q=((H(s,e[c+2>>1]|0)|0)+32|0)>>>6&65535;b[a+2>>1]=q;q=((H(s,e[c+4>>1]|0)|0)+32|0)>>>6&65535;b[a+4>>1]=q;q=((H(s,e[c+6>>1]|0)|0)+32|0)>>>6&65535;b[a+6>>1]=q;q=((H(s,e[c+8>>1]|0)|0)+32|0)>>>6&65535;b[a+8>>1]=q;q=((H(s,e[c+10>>1]|0)|0)+32|0)>>>6&65535;b[a+10>>1]=q;q=((H(s,e[c+12>>1]|0)|0)+32|0)>>>6&65535;b[a+12>>1]=q;q=((H(s,e[c+14>>1]|0)|0)+32|0)>>>6&65535;b[a+14>>1]=q;a=a+(r<<1)|0;g=g+1|0;c=c+(r<<1)|0}}else{h=(q|0)==0?1:r;d=h+1|0;i=h+2|0;j=h+3|0;k=h+4|0;l=h+5|0;m=h+6|0;n=h+7|0;g=0;while(1){if((g|0)>=(f|0))break a;q=H(s,e[c>>1]|0)|0;q=(q+32+(H(o,e[c+(h<<1)>>1]|0)|0)|0)>>>6&65535;b[a>>1]=q;q=H(s,e[c+2>>1]|0)|0;q=(q+32+(H(o,e[c+(d<<1)>>1]|0)|0)|0)>>>6&65535;b[a+2>>1]=q;q=H(s,e[c+4>>1]|0)|0;q=(q+32+(H(o,e[c+(i<<1)>>1]|0)|0)|0)>>>6&65535;b[a+4>>1]=q;q=H(s,e[c+6>>1]|0)|0;q=(q+32+(H(o,e[c+(j<<1)>>1]|0)|0)|0)>>>6&65535;b[a+6>>1]=q;q=H(s,e[c+8>>1]|0)|0;q=(q+32+(H(o,e[c+(k<<1)>>1]|0)|0)|0)>>>6&65535;b[a+8>>1]=q;q=H(s,e[c+10>>1]|0)|0;q=(q+32+(H(o,e[c+(l<<1)>>1]|0)|0)|0)>>>6&65535;b[a+10>>1]=q;q=H(s,e[c+12>>1]|0)|0;q=(q+32+(H(o,e[c+(m<<1)>>1]|0)|0)|0)>>>6&65535;b[a+12>>1]=q;q=H(s,e[c+14>>1]|0)|0;q=(q+32+(H(o,e[c+(n<<1)>>1]|0)|0)|0)>>>6&65535;b[a+14>>1]=q;a=a+(r<<1)|0;g=g+1|0;c=c+(r<<1)|0}}}else{h=r+1|0;d=r+2|0;i=r+3|0;j=r+4|0;k=r+5|0;l=r+6|0;m=r+7|0;n=r+8|0;g=0;while(1){if((g|0)>=(f|0))break a;v=H(s,e[c>>1]|0)|0;u=c+2|0;x=H(p,e[u>>1]|0)|0;t=c+(r<<1)|0;y=H(q,e[t>>1]|0)|0;w=c+(h<<1)|0;y=(v+32+x+y+(H(o,e[w>>1]|0)|0)|0)>>>6&65535;b[a>>1]=y;u=H(s,e[u>>1]|0)|0;y=c+4|0;x=H(p,e[y>>1]|0)|0;w=H(q,e[w>>1]|0)|0;v=c+(d<<1)|0;w=(u+32+x+w+(H(o,e[v>>1]|0)|0)|0)>>>6&65535;b[a+2>>1]=w;y=H(s,e[y>>1]|0)|0;w=c+6|0;x=H(p,e[w>>1]|0)|0;v=H(q,e[v>>1]|0)|0;u=c+(i<<1)|0;v=(y+32+x+v+(H(o,e[u>>1]|0)|0)|0)>>>6&65535;b[a+4>>1]=v;w=H(s,e[w>>1]|0)|0;v=c+8|0;x=H(p,e[v>>1]|0)|0;u=H(q,e[u>>1]|0)|0;y=c+(j<<1)|0;u=(w+32+x+u+(H(o,e[y>>1]|0)|0)|0)>>>6&65535;b[a+6>>1]=u;v=H(s,e[v>>1]|0)|0;u=c+10|0;x=H(p,e[u>>1]|0)|0;y=H(q,e[y>>1]|0)|0;w=c+(k<<1)|0;y=(v+32+x+y+(H(o,e[w>>1]|0)|0)|0)>>>6&65535;b[a+8>>1]=y;u=H(s,e[u>>1]|0)|0;y=c+12|0;x=H(p,e[y>>1]|0)|0;w=H(q,e[w>>1]|0)|0;v=c+(l<<1)|0;w=(u+32+x+w+(H(o,e[v>>1]|0)|0)|0)>>>6&65535;b[a+10>>1]=w;y=H(s,e[y>>1]|0)|0;w=c+14|0;x=H(p,e[w>>1]|0)|0;v=H(q,e[v>>1]|0)|0;u=c+(m<<1)|0;v=(y+32+x+v+(H(o,e[u>>1]|0)|0)|0)>>>6&65535;b[a+12>>1]=v;w=H(s,e[w>>1]|0)|0;v=H(p,e[c+16>>1]|0)|0;u=H(q,e[u>>1]|0)|0;u=(w+32+v+u+(H(o,e[c+(n<<1)>>1]|0)|0)|0)>>>6&65535;b[a+14>>1]=u;a=a+(r<<1)|0;g=g+1|0;c=t}}while(0);return}function se(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0.0,i=0,j=0,k=0.0,l=0,m=0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=a+4|0;i=c[y>>2]|0;x=a+104|0;if(i>>>0<(c[x>>2]|0)>>>0){c[y>>2]=i+1;i=d[i>>0]|0}else i=Uo(a)|0;j=0;a:while(1){switch(i|0){case 46:{w=10;break a}case 48:break;default:{p=0;m=j;l=0;j=0;break a}}i=c[y>>2]|0;if(i>>>0<(c[x>>2]|0)>>>0){c[y>>2]=i+1;i=d[i>>0]|0}else i=Uo(a)|0;j=1}if((w|0)==10){i=c[y>>2]|0;if(i>>>0<(c[x>>2]|0)>>>0){c[y>>2]=i+1;i=d[i>>0]|0}else i=Uo(a)|0;if((i|0)==48){l=0;j=0;do{i=c[y>>2]|0;if(i>>>0<(c[x>>2]|0)>>>0){c[y>>2]=i+1;i=d[i>>0]|0}else i=Uo(a)|0;l=aX(l|0,j|0,-1,-1)|0;j=M()|0}while((i|0)==48);p=1;m=1}else{p=1;m=j;l=0;j=0}}o=0;n=1.0;h=0.0;v=0;s=p;t=m;u=0;m=0;while(1){q=i+-48|0;p=i|32;if(q>>>0>=10){r=(i|0)==46;if(!(r|(p+-97|0)>>>0<6))break;if(r)if(!s){s=1;k=n;q=v;r=t;l=m;j=u;p=u}else{i=46;break}else w=24}else w=24;if((w|0)==24){w=0;i=(i|0)>57?p+-87|0:q;do if(!((u|0)<0|(u|0)==0&m>>>0<8))if((u|0)<0|(u|0)==0&m>>>0<14){n=n*.0625;k=n;h=h+n*+(i|0);i=v;break}else{i=(o|0)!=0|(i|0)==0;o=i?o:1;k=n;h=i?h:h+n*.5;i=v;break}else{k=n;i=i+(v<<4)|0}while(0);m=aX(m|0,u|0,1,0)|0;q=i;r=1;p=M()|0}i=c[y>>2]|0;if(i>>>0<(c[x>>2]|0)>>>0){c[y>>2]=i+1;i=d[i>>0]|0}else i=Uo(a)|0;n=k;v=q;t=r;u=p}do if(!t){i=(c[x>>2]|0)==0;if(!i)c[y>>2]=(c[y>>2]|0)+-1;if(g){if(!i?(c[y>>2]=(c[y>>2]|0)+-1,!((s|0)==0|i)):0)c[y>>2]=(c[y>>2]|0)+-1}else sC(a,0,0);h=+(f|0)*0.0}else{o=(s|0)==0;p=o?m:l;o=o?u:j;if((u|0)<0|(u|0)==0&m>>>0<8){j=v;l=u;do{j=j<<4;w=m;m=aX(m|0,l|0,1,0)|0;v=l;l=M()|0}while((v|0)<0|(v|0)==0&w>>>0<7);m=j}else m=v;if((i|32|0)==112){j=Ii(a,g)|0;i=M()|0;if((j|0)==0&(i|0)==-2147483648){if(!g){sC(a,0,0);h=0.0;break}if(!(c[x>>2]|0)){j=0;i=0}else{c[y>>2]=(c[y>>2]|0)+-1;j=0;i=0}}}else if(!(c[x>>2]|0)){j=0;i=0}else{c[y>>2]=(c[y>>2]|0)+-1;j=0;i=0}l=_U(p|0,o|0,2)|0;l=aX(l|0,M()|0,-32,-1)|0;l=aX(l|0,M()|0,j|0,i|0)|0;i=M()|0;if(!m){h=+(f|0)*0.0;break}y=0-e|0;g=((y|0)<0)<<31>>31;if((i|0)>(g|0)|(i|0)==(g|0)&l>>>0>y>>>0){b=j2()|0;c[b>>2]=34;h=+(f|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}y=e+-106|0;g=((y|0)<0)<<31>>31;if((i|0)<(g|0)|(i|0)==(g|0)&l>>>0<y>>>0){b=j2()|0;c[b>>2]=34;h=+(f|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if((m|0)>-1){j=m;do{y=!(h>=.5);j=j<<1|(y^1)&1;h=h+(y?h:h+-1.0);l=aX(l|0,i|0,-1,-1)|0;i=M()|0}while((j|0)>-1);n=h;m=j}else n=h;y=((b|0)<0)<<31>>31;e=_W(32,0,e|0,((e|0)<0)<<31>>31|0)|0;i=aX(e|0,M()|0,l|0,i|0)|0;e=M()|0;if((e|0)<(y|0)|(e|0)==(y|0)&i>>>0<b>>>0)if((i|0)>0)w=65;else{j=0;i=84;w=67}else{i=b;w=65}if((w|0)==65)if((i|0)<53){j=i;i=84-i|0;w=67}else{k=0.0;h=+(f|0)}if((w|0)==67){h=+(f|0);k=+g1(+aA(1.0,i),h);i=j}f=(m&1|0)==0&(n!=0.0&(i|0)<32);h=(f?0.0:n)*h+(k+h*+((m+(f&1)|0)>>>0))-k;if(!(h!=0.0)){f=j2()|0;c[f>>2]=34}h=+h1(h,l)}while(0);return +h}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,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;D=Mb;Mb=Mb+128|0;C=D+56|0;o=D+48|0;n=D+40|0;l=D+32|0;m=D+24|0;k=D+16|0;i=D+8|0;f=D;x=D+116|0;B=au(a)|0;a:do if(B>>>0<=255){f=TW(173836)|0;c[x>>2]=f;A=f;if(!f)f=-12;else{z=c[f+4>>2]|0;g=c[a>>2]|0;f=(c[a+4>>2]|0)-g|0;h=z+4824|0;c[h>>2]=f;if(f>>>0>4096){c[i>>2]=f;c[i+4>>2]=4096;AD(b,24,173586,i);c[h>>2]=4096;g=c[a>>2]|0;f=4096}Mn(z+728|0,g|0,f|0)|0;f=JE(a)|0;c[z>>2]=f;b:do if(f>>>0<=31?(j=c[d+(f<<2)>>2]|0,(j|0)!=0):0){v=c[j+4>>2]|0;w=v+1184|0;f=c[w>>2]|0;if((f|0)>14){c[m>>2]=f;AD(b,16,173631,m);f=-1094995529;break}switch(f|0){case 13:case 11:{c[l>>2]=f;sU(b,173658,l);f=-1163346256;break b}default:{}}s=mT(a)|0;t=z+4|0;c[t>>2]=s;s=mT(a)|0;c[z+8>>2]=s;s=au(a)|0;u=z+12|0;c[u>>2]=s+1;if((s|0)>0){s=au(a)|0;c[z+16>>2]=s;AD(b,16,173690,n)}q=(au(a)|0)+1|0;r=z+20|0;c[r>>2]=q;q=au(a)|0;s=z+24|0;c[s>>2]=q+1;if(((c[r>>2]|0)+-1|q)>>>0>31){AD(b,16,173709,o);f=-1094995529;break}q=(c[w>>2]|0)*6|0;m=mT(a)|0;k=z+28|0;c[k>>2]=m;m=HG(a,2)|0;c[z+32>>2]=m;q=q+-22|0;m=q+($t(a)|0)|0;l=z+36|0;c[l>>2]=m;q=q+($t(a)|0)|0;m=z+40|0;c[m>>2]=q;q=$t(a)|0;j=z+44|0;c[j>>2]=q;if((q+12|0)>>>0>24)f=-1094995529;else{q=mT(a)|0;n=z+52|0;c[n>>2]=q;q=mT(a)|0;o=z+56|0;c[o>>2]=q;q=mT(a)|0;p=z+60|0;c[p>>2]=q;q=z+64|0;c[q>>2]=0;i=z+68|0;f=i;g=v+672|0;h=f+96|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(h|0));f=z+164|0;Mn(f|0,v+768|0,384)|0;if((l1(a)|0)<(e|0)?(eL(v,b)|0)!=0:0){e=mT(a)|0;c[q>>2]=e;f=_p(a,v,z,0,i,f)|0;if((f|0)<0)break;a=$t(a)|0;h=z+48|0;c[h>>2]=a;if((a+12|0)>>>0>24){f=-1094995529;break}f=c[j>>2]|0}else{f=c[j>>2]|0;h=z+48|0;c[h>>2]=f}UF(z,0,f,c[w>>2]|0);UF(z,1,c[h>>2]|0,c[w>>2]|0);ju(z,v);g=c[j>>2]|0;f=c[h>>2]|0;if((g|0)!=(f|0))c[z+724>>2]=1;if(c[b+680>>2]&1|0){h=c[z>>2]|0;i=(c[t>>2]|0)==0?173735:173741;j=c[u>>2]|0;t=c[r>>2]|0;u=c[s>>2]|0;v=(c[k>>2]|0)==0?1113148:173747;w=c[l>>2]|0;e=c[m>>2]|0;a=(c[n>>2]|0)==0?1113148:173756;x=(c[o>>2]|0)==0?1113148:173761;y=(c[p>>2]|0)==0?1113148:173768;z=(c[q>>2]|0)==0?1113148:173773;c[C>>2]=B;c[C+4>>2]=h;c[C+8>>2]=i;c[C+12>>2]=j;c[C+16>>2]=t;c[C+20>>2]=u;c[C+24>>2]=v;c[C+28>>2]=w;c[C+32>>2]=e;c[C+36>>2]=g;c[C+40>>2]=f;c[C+44>>2]=a;c[C+48>>2]=x;c[C+52>>2]=y;c[C+56>>2]=z;AD(b,48,173780,C)}d0(d,B);c[d+128+(B<<2)>>2]=A;f=0;break a}}else y=8;while(0);if((y|0)==8){c[k>>2]=f;AD(b,16,172783,k);f=-1094995529}F$(x)}}else{c[f>>2]=B;AD(b,16,209079,f);f=-1094995529}while(0);Mb=D;return f|0}function ue(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=Mb;Mb=Mb+64|0;G=I+48|0;H=I+40|0;C=I+32|0;B=I+16|0;A=I+8|0;z=I;u=I+60|0;Dx(b);ay(b);Nf(b,d);D=d+23412|0;v=d+34752|0;x=d+34756|0;E=b+4|0;y=b+29540|0;F=b+26364|0;s=0;a:while(1){e=c[D>>2]|0;if(s>>>0>=e>>>0){q=3;break}n=d+27768+(s<<2)|0;r=d+23404+(s<<2)|0;m=0;e=c[v>>2]|0;while(1){if((m|0)>=(c[n>>2]|0))break;f=a[d+27256+(s<<8)+(m<<3)>>0]|0;i=c[d+27256+(s<<8)+(m<<3)+4>>2]|0;b:do switch(f<<24>>24){case 1:case 0:{g=i+1|0;h=c[x>>2]|0;if(g>>>0>h>>>0){q=13;break a}e=h+-1&(f<<24>>24==0?~i:g)+e;h=AR(b,e,u)|0;i=c[u>>2]|0;f=c[y>>2]|0;while(1){g=f+-1|0;if((f|0)<=0){q=21;break b}f=c[b+28332+(g<<2)>>2]|0;if((c[f+88>>2]|0)==(h|0)?i&c[f+640>>2]|0:0)break;f=g}c[f+96>>2]=e;l=f;j=f+96|0;k=i;q=22;break}case 2:{f=AR(b,i,u)|0;if(f>>>0>31){q=18;break a}f=c[b+28460+(f<<2)>>2]|0;if((f|0)!=0?(w=c[u>>2]|0,(w&c[f+640>>2]|0)!=0):0){j=f+96|0;c[j>>2]=i;l=f;k=w;q=22}else q=21;break}default:{q=19;break a}}while(0);if((q|0)==21){AD(c[E>>2]|0,16,206364,C);f=d+23416+(s*1920|0)+(m*40|0)|0;p=f+40|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(p|0))}else if((q|0)==22){g=c[r>>2]|0;h=l+100|0;f=m;while(1){i=f+1|0;if(i>>>0>=g>>>0)break;q=c[d+23416+(s*1920|0)+(f*40|0)+36>>2]|0;if((q|0?(c[h>>2]|0)==(c[q+100>>2]|0):0)?(c[j>>2]|0)==(c[d+23416+(s*1920|0)+(f*40|0)+32>>2]|0):0)break;f=i}while(1){if((f|0)<=(m|0))break;g=f+-1|0;f=d+23416+(s*1920|0)+(f*40|0)|0;o=d+23416+(s*1920|0)+(g*40|0)|0;p=f+40|0;do{c[f>>2]=c[o>>2];f=f+4|0;o=o+4|0}while((f|0)<(p|0));f=g}f=d+23416+(s*1920|0)+(m*40|0)|0;RB(f,l);if((c[F>>2]|0)!=3)zD(f,k)}m=m+1|0}s=s+1|0}c:do if((q|0)==3){n=0;d:while(1){if(n>>>0>=e>>>0)break;i=d+23404+(n<<2)|0;j=b+28252+(n*40|0)|0;k=b+28252+(n*40|0)+28|0;l=b+28252+(n*40|0)+36|0;m=b+28252+(n*40|0)+24|0;h=0;while(1){if(h>>>0>=(c[i>>2]|0)>>>0)break;f=d+23416+(n*1920|0)+(h*40|0)|0;g=d+23416+(n*1920|0)+(h*40|0)+36|0;e=c[g>>2]|0;if(e){if((c[F>>2]|0)==3?(c[d+23416+(n*1920|0)+(h*40|0)+24>>2]&3|0)!=3:0)q=41}else q=41;if((q|0)==41){q=0;e=c[E>>2]|0;c[H>>2]=c[k>>2];AD(e,16,206406,H);e=0;while(1){if((e|0)==16)break;c[b+28660+(e<<2)>>2]=-2147483648;e=e+1|0}if(!(c[l>>2]|0)){t=-1;break c}if((c[F>>2]|0)==3?(c[m>>2]&3|0)!=3:0){t=-1;break c}o=j;p=f+40|0;do{c[f>>2]=c[o>>2];f=f+4|0;o=o+4|0}while((f|0)<(p|0));e=c[g>>2]|0}if((v0(c[(c[e>>2]|0)+248>>2]|0)|0)>0)h=h+1|0;else{q=49;break d}}n=n+1|0;e=c[D>>2]|0}if((q|0)==49){c[G>>2]=206448;c[G+4>>2]=206341;c[G+8>>2]=411;AD(0,0,222515,G);ba()}if(!(c[b+26360>>2]|0))t=0;else{Eo(d);t=0}}else if((q|0)==13){AD(c[E>>2]|0,16,206286,z);t=-1094995529}else if((q|0)==18){AD(c[E>>2]|0,16,206313,A);t=-1094995529}else if((q|0)==19){c[B>>2]=222636;c[B+4>>2]=206341;c[B+8>>2]=373;AD(0,0,222515,B);ba()}while(0);Mb=I;return t|0}function ve(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;d=zc(32)|0;a:do if(d){k=d+4|0;l=d+8|0;m=d+12|0;n=d+16|0;o=d+20|0;h=d+24|0;i=d+28|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;c[d+24>>2]=0;c[d+28>>2]=0;g=FY(b,58)|0;if(!g){vP(d);d=0;break}f=g-b|0;e=0;while(1){if((e|0)>=(f|0))break;if(!(IT(a[b+e>>0]|0)|0)){j=7;break}else e=e+1|0}if((j|0)==7){vP(d);d=0;break}e=zc(f+1|0)|0;c[d>>2]=e;if(!e){vP(d);d=0;break}S$(e,b,f)|0;a[(c[d>>2]|0)+f>>0]=0;e=0;while(1){if((e|0)>=(f|0))break;b=(c[d>>2]|0)+e|0;p=(Z$(a[b>>0]|0)|0)&255;a[b>>0]=p;e=e+1|0}e=0;while(1){g=g+1|0;if(e>>>0>=2)break;if((a[g>>0]|0)!=47){j=17;break}else e=e+1|0}if((j|0)==17){vP(d);d=0;break}e=g;b:while(1){switch(a[e>>0]|0){case 47:case 0:break b;case 64:{j=19;break b}default:{}}e=e+1|0}do if((j|0)==19){b=g;c:while(1){switch(a[b>>0]|0){case 64:case 58:case 0:break c;default:{}}b=b+1|0}e=b-g|0;f=zc(e+1|0)|0;c[h>>2]=f;if(!f){vP(d);d=0;break a}S$(f,g,e)|0;a[(c[h>>2]|0)+e>>0]=0;e=a[b>>0]|0;do if(e<<24>>24==58){e=b+1|0;g=e;while(1)if((a[g>>0]|64)<<24>>24==64)break;else g=g+1|0;b=g-e|0;f=zc(b+1|0)|0;c[i>>2]=f;if(!f){vP(d);d=0;break a}else{S$(f,e,b)|0;a[(c[i>>2]|0)+b>>0]=0;b=g;e=a[g>>0]|0;break}}while(0);if(e<<24>>24==64){g=b+1|0;break}else{vP(d);d=0;break a}}while(0);f=a[g>>0]|0;e=f<<24>>24==91;b=g;d:while(1){if(!(f<<24>>24))break;if(e&f<<24>>24==93){j=37;break}if(!e)switch(f<<24>>24){case 47:case 58:break d;default:{}}f=b+1|0;b=f;f=a[f>>0]|0}if((j|0)==37)b=b+1|0;e=b-g|0;f=zc(e+1|0)|0;c[k>>2]=f;if((f|0)==0|(e|0)<1){vP(d);d=0;break}S$(f,g,e)|0;a[(c[k>>2]|0)+e>>0]=0;e=a[b>>0]|0;do if(e<<24>>24==58){e=b+1|0;g=e;e:while(1){switch(a[g>>0]|0){case 0:case 47:break e;default:{}}g=g+1|0}b=g-e|0;f=zc(b+1|0)|0;c[l>>2]=f;if(!f){vP(d);d=0;break a}else{S$(f,e,b)|0;a[(c[l>>2]|0)+b>>0]=0;b=g;e=a[g>>0]|0;break}}while(0);switch(e<<24>>24){case 0:break a;case 47:break;default:{vP(d);d=0;break a}}g=b+1|0;b=g;f:while(1){switch(a[b>>0]|0){case 63:case 35:case 0:break f;default:{}}b=b+1|0}e=b-g|0;f=zc(e+1|0)|0;c[m>>2]=f;if(!f){vP(d);d=0;break}S$(f,g,e)|0;a[(c[m>>2]|0)+e>>0]=0;e=a[b>>0]|0;do if(e<<24>>24==63){e=b+1|0;g=e;g:while(1){switch(a[g>>0]|0){case 0:case 35:break g;default:{}}g=g+1|0}b=g-e|0;f=zc(b+1|0)|0;c[n>>2]=f;if(!f){vP(d);d=0;break a}else{S$(f,e,b)|0;a[(c[n>>2]|0)+b>>0]=0;b=g;e=a[g>>0]|0;break}}while(0);if(e<<24>>24==35){f=b+1|0;e=f;while(1)if(!(a[e>>0]|0))break;else e=e+1|0;e=e-f|0;b=zc(e+1|0)|0;c[o>>2]=b;if(!b){vP(d);d=0;break}else{S$(b,f,e)|0;a[(c[o>>2]|0)+e>>0]=0;break}}}else d=0;while(0);return d|0}function we(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,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=Mb;Mb=Mb+304|0;t=A;u=A+256|0;w=f+32860|0;s=u+4|0;c[s>>2]=c[w>>2];x=f+32856|0;c[u>>2]=c[x>>2];y=f+32872|0;z=u+16|0;c[z>>2]=c[y>>2];n=c[f+21828>>2]|0;o=(c[91856+(n*56|0)+(h<<2)>>2]|0)+(f+32904)|0;p=(c[91968+(n*56|0)+(h<<2)>>2]|0)+(f+32904)|0;r=(c[92112+(h<<2)>>2]|0)+(f+32904)|0;q=(l|0)==64;a:do if(q){m=0;l=0;while(1){if(m>>>0>=63)break;if(BA(u,o+(d[92176+(n*63|0)+m>>0]|0)|0)|0){B=p+(d[63504+m>>0]|0)|0;h=l+1|0;c[t+(l<<2)>>2]=m;if(!(BA(u,B)|0))l=h;else{l=h;break a}}m=m+1|0}if((m|0)==63){c[t+(l<<2)>>2]=63;l=l+1|0}}else{n=l+-1|0;m=0;l=0;while(1){if((m|0)>=(n|0))break;if(BA(u,o+m|0)|0){h=l+1|0;c[t+(l<<2)>>2]=m;if(!(BA(u,p+m|0)|0))l=h;else{l=h;break a}}m=m+1|0}if((m|0)==(n|0)){c[t+(l<<2)>>2]=n;l=l+1|0}}while(0);if(q){B=(d[91792+i>>0]|0)+(f+27824)|0;i=l*257&65535;b[B>>1]=i;b[B+8>>1]=i}else a[(d[91792+i>>0]|0)+(f+27824)>>0]=l;if(!(c[e+25652>>2]|0)){o=l;h=0;while(1){o=o+-1|0;p=d[j+(c[t+(o<<2)>>2]|0)>>0]|0;if(!(BA(u,r+(d[210498+h>>0]|0)|0)|0)){l=d[92080+h>>0]|0;m=0-(c[k+(p<<2)>>2]|0)|0;B=c[u>>2]|0;h=B<<1;c[u>>2]=h;if(!(B&32767)){yU(u);h=c[u>>2]|0}B=c[s>>2]|0;n=B<<17;f=h-n|0;i=f>>31;h=(i&n)+f|0;c[u>>2]=h;n=l;m=(f>>>31|32)+(i^m)|0;l=B}else{l=r+(d[92096+h>>0]|0)|0;n=d[92088+h>>0]|0;h=2;while(1){if(h>>>0>=15){v=46;break}if(!(BA(u,l)|0))break;h=h+1|0}if((v|0)==46){v=0;h=0;while(1)if(h>>>0<30&(zP(u)|0)!=0)h=h+1|0;else break;l=1;while(1){if(!h)break;h=h+-1|0;l=(zP(u)|0)+(l<<1)|0}h=l+14|0}B=c[u>>2]|0;l=B<<1;c[u>>2]=l;if(!(B&32767)){yU(u);l=c[u>>2]|0}B=c[s>>2]|0;i=B<<17;l=l-i|0;m=l>>31;l=(m&i)+l|0;c[u>>2]=l;m=(H((m^0-h)-m|0,c[k+(p<<2)>>2]|0)|0)+32|0;h=l;l=B}b[g+(p<<1)>>1]=m>>>6;if(!o)break;else h=n}}else{h=0;o=l;while(1){o=o+-1|0;p=d[j+(c[t+(o<<2)>>2]|0)>>0]|0;if(!(BA(u,r+(d[210498+h>>0]|0)|0)|0)){l=d[92080+h>>0]|0;m=0-(c[k+(p<<2)>>2]|0)|0;B=c[u>>2]|0;h=B<<1;c[u>>2]=h;if(!(B&32767)){yU(u);h=c[u>>2]|0}B=c[s>>2]|0;n=B<<17;f=h-n|0;i=f>>31;h=(i&n)+f|0;c[u>>2]=h;n=l;m=(f>>>31|32)+(i^m)|0;l=B}else{l=r+(d[92096+h>>0]|0)|0;n=d[92088+h>>0]|0;h=2;while(1){if(h>>>0>=15){v=28;break}if(!(BA(u,l)|0))break;h=h+1|0}if((v|0)==28){v=0;h=0;while(1)if(h>>>0<30&(zP(u)|0)!=0)h=h+1|0;else break;l=1;while(1){if(!h)break;h=h+-1|0;l=(zP(u)|0)+(l<<1)|0}h=l+14|0}B=c[u>>2]|0;l=B<<1;c[u>>2]=l;if(!(B&32767)){yU(u);l=c[u>>2]|0}B=c[s>>2]|0;i=B<<17;l=l-i|0;m=l>>31;l=(m&i)+l|0;c[u>>2]=l;m=(H((m^0-h)-m|0,c[k+(p<<2)>>2]|0)|0)+32|0;h=l;l=B}c[g+(p<<2)>>2]=m>>6;if(!o)break;else h=n}}c[w>>2]=l;c[x>>2]=h;c[y>>2]=c[z>>2];Mb=A;return}function xe(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;r=8-g|0;q=8-h|0;s=H(q,r)|0;q=H(q,g)|0;r=H(r,h)|0;h=H(h,g)|0;a:do if(!h){p=q+r|0;if(!p){g=0;while(1){if((g|0)>=(f|0))break a;r=((H(s,d[c>>0]|0)|0)+32|0)>>>6&255;a[b>>0]=r;r=((H(s,d[c+1>>0]|0)|0)+32|0)>>>6&255;a[b+1>>0]=r;r=((H(s,d[c+2>>0]|0)|0)+32|0)>>>6&255;a[b+2>>0]=r;r=((H(s,d[c+3>>0]|0)|0)+32|0)>>>6&255;a[b+3>>0]=r;r=((H(s,d[c+4>>0]|0)|0)+32|0)>>>6&255;a[b+4>>0]=r;r=((H(s,d[c+5>>0]|0)|0)+32|0)>>>6&255;a[b+5>>0]=r;r=((H(s,d[c+6>>0]|0)|0)+32|0)>>>6&255;a[b+6>>0]=r;r=((H(s,d[c+7>>0]|0)|0)+32|0)>>>6&255;a[b+7>>0]=r;b=b+e|0;g=g+1|0;c=c+e|0}}else{h=(r|0)==0?1:e;i=h+1|0;j=h+2|0;k=h+3|0;l=h+4|0;m=h+5|0;n=h+6|0;o=h+7|0;g=0;while(1){if((g|0)>=(f|0))break a;r=H(s,d[c>>0]|0)|0;r=(r+32+(H(p,d[c+h>>0]|0)|0)|0)>>>6&255;a[b>>0]=r;r=H(s,d[c+1>>0]|0)|0;r=(r+32+(H(p,d[c+i>>0]|0)|0)|0)>>>6&255;a[b+1>>0]=r;r=H(s,d[c+2>>0]|0)|0;r=(r+32+(H(p,d[c+j>>0]|0)|0)|0)>>>6&255;a[b+2>>0]=r;r=H(s,d[c+3>>0]|0)|0;r=(r+32+(H(p,d[c+k>>0]|0)|0)|0)>>>6&255;a[b+3>>0]=r;r=H(s,d[c+4>>0]|0)|0;r=(r+32+(H(p,d[c+l>>0]|0)|0)|0)>>>6&255;a[b+4>>0]=r;r=H(s,d[c+5>>0]|0)|0;r=(r+32+(H(p,d[c+m>>0]|0)|0)|0)>>>6&255;a[b+5>>0]=r;r=H(s,d[c+6>>0]|0)|0;r=(r+32+(H(p,d[c+n>>0]|0)|0)|0)>>>6&255;a[b+6>>0]=r;r=H(s,d[c+7>>0]|0)|0;r=(r+32+(H(p,d[c+o>>0]|0)|0)|0)>>>6&255;a[b+7>>0]=r;b=b+e|0;g=g+1|0;c=c+e|0}}}else{i=e+1|0;j=e+2|0;k=e+3|0;l=e+4|0;m=e+5|0;n=e+6|0;o=e+7|0;p=e+8|0;g=0;while(1){if((g|0)>=(f|0))break a;v=H(s,d[c>>0]|0)|0;u=c+1|0;x=H(q,d[u>>0]|0)|0;t=c+e|0;y=H(r,d[t>>0]|0)|0;w=c+i|0;y=(v+32+x+y+(H(h,d[w>>0]|0)|0)|0)>>>6&255;a[b>>0]=y;u=H(s,d[u>>0]|0)|0;y=c+2|0;x=H(q,d[y>>0]|0)|0;w=H(r,d[w>>0]|0)|0;v=c+j|0;w=(u+32+x+w+(H(h,d[v>>0]|0)|0)|0)>>>6&255;a[b+1>>0]=w;y=H(s,d[y>>0]|0)|0;w=c+3|0;x=H(q,d[w>>0]|0)|0;v=H(r,d[v>>0]|0)|0;u=c+k|0;v=(y+32+x+v+(H(h,d[u>>0]|0)|0)|0)>>>6&255;a[b+2>>0]=v;w=H(s,d[w>>0]|0)|0;v=c+4|0;x=H(q,d[v>>0]|0)|0;u=H(r,d[u>>0]|0)|0;y=c+l|0;u=(w+32+x+u+(H(h,d[y>>0]|0)|0)|0)>>>6&255;a[b+3>>0]=u;v=H(s,d[v>>0]|0)|0;u=c+5|0;x=H(q,d[u>>0]|0)|0;y=H(r,d[y>>0]|0)|0;w=c+m|0;y=(v+32+x+y+(H(h,d[w>>0]|0)|0)|0)>>>6&255;a[b+4>>0]=y;u=H(s,d[u>>0]|0)|0;y=c+6|0;x=H(q,d[y>>0]|0)|0;w=H(r,d[w>>0]|0)|0;v=c+n|0;w=(u+32+x+w+(H(h,d[v>>0]|0)|0)|0)>>>6&255;a[b+5>>0]=w;y=H(s,d[y>>0]|0)|0;w=c+7|0;x=H(q,d[w>>0]|0)|0;v=H(r,d[v>>0]|0)|0;u=c+o|0;v=(y+32+x+v+(H(h,d[u>>0]|0)|0)|0)>>>6&255;a[b+6>>0]=v;w=H(s,d[w>>0]|0)|0;v=H(q,d[c+8>>0]|0)|0;u=H(r,d[u>>0]|0)|0;u=(w+32+v+u+(H(h,d[c+p>>0]|0)|0)|0)>>>6&255;a[b+7>>0]=u;b=b+e|0;g=g+1|0;c=t}}while(0);return}function ye(a,d,e,h,i,j,k,l,m){a=a|0;d=d|0;e=+e;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=+m;var n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0,w=0.0,z=0,A=0.0,B=0.0,C=0.0,D=0,E=0.0,F=0,G=0,I=0,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0;P=Mb;Mb=Mb+32|0;O=P+16|0;n=P;G=(j&1|0)!=0;if(G)J=j;else J=((j|0)/2|0)+1|0;I=iZ(h+1|0)|0;K=iZ(J)|0;L=h+-1|0;N=(L|0)/2|0;a:do if((I|0)!=0&(K|0)!=0){if(!((h|0)==1|(h&1|0)==0)){c[n>>2]=222599;c[n+4>>2]=222574;c[n+8>>2]=158;AD(0,0,222515,n);ba()}C=e>1.0?1.0:e;D=C==1.0;E=+(j|0);b:do if(D){e=+((N<<1&2)+-1|0);n=0;while(1){if((n|0)>=(J|0))break b;B=+y(+(+(n|0)*3.141592653589793/E))*e;g[K+(n<<3)>>3]=B;n=n+1|0}}while(0);A=C*+(h|0);B=A*3.141592653589793;z=a+80|0;w=+(k|0);e=0.0;t=0;c:while(1){if((t|0)>=(J|0)){F=0;break a}s=+(t|0)/E;a=(t|0)==0;n=0;r=+g[K+(t<<3)>>3];while(1){if((n|0)>=(h|0))break;p=+(n-N|0)-s;q=C*(p*3.141592653589793);do if(!(q==0.0))if(D){o=r/q;break}else{o=+y(+q)/q;break}else o=1.0;while(0);d:do switch(l|0){case 0:{o=C*p;p=+u(+o);if(p<1.0){o=o*o;o=1.0-p*(p*3.0)+p*(p*(p*2.0))-(o*p-o)*.5;break d}else{o=(o*o*p+(p*8.0+-4.0-p*(p*5.0)))*-.5;break d}}case 1:{p=+x(+(q*2.0/A));q=-p;o=(p*.4891775+.3635819+(p*-2.0*q+-1.0)*.1365995-(p*3.0+p*-4.0*q*q)*.0106411)*o;break}case 2:{q=q*2.0/B;q=1.0-q*q;o=o*+eF(+v(+(q>0.0?q:0.0))*m);break}default:break c}while(0);g[I+(n<<3)>>3]=o;n=n+1|0;r=-r;e=a?e+o:e}e:do switch(c[z>>2]|0){case 6:{k=H(t,i)|0;n=0;while(1){if((n|0)>=(h|0))break;a=Q1(+g[I+(n<<3)>>3]*w/e)|0;b[d+(n+k<<1)>>1]=(a+32768|0)>>>0>65535?a>>31^32767:a;n=n+1|0}if(!G){a=L+(H(j-t|0,i)|0)|0;n=0;while(1){if((n|0)>=(h|0))break e;b[d+(a-n<<1)>>1]=b[d+(n+k<<1)>>1]|0;n=n+1|0}}break}case 7:{k=H(t,i)|0;n=0;while(1){if((n|0)>=(h|0))break;a=LU(+g[I+(n<<3)>>3]*w/e)|0;Q=M()|0;R=aX(a|0,Q|0,-2147483648,0)|0;S=M()|0;Q=BU(a|0,Q|0,63)|0;M()|0;c[d+(n+k<<2)>>2]=S>>>0>0|(S|0)==0&R>>>0>4294967295?Q^2147483647:a;n=n+1|0}if(!G){a=L+(H(j-t|0,i)|0)|0;n=0;while(1){if((n|0)>=(h|0))break e;c[d+(a-n<<2)>>2]=c[d+(n+k<<2)>>2];n=n+1|0}}break}case 8:{k=H(t,i)|0;n=0;while(1){if((n|0)>=(h|0))break;f[d+(n+k<<2)>>2]=+g[I+(n<<3)>>3]*w/e;n=n+1|0}if(!G){a=L+(H(j-t|0,i)|0)|0;n=0;while(1){if((n|0)>=(h|0))break e;c[d+(a-n<<2)>>2]=c[d+(n+k<<2)>>2];n=n+1|0}}break}case 9:{k=H(t,i)|0;n=0;while(1){if((n|0)>=(h|0))break;g[d+(n+k<<3)>>3]=+g[I+(n<<3)>>3]*w/e;n=n+1|0}if(!G){a=L+(H(j-t|0,i)|0)|0;n=0;while(1){if((n|0)>=(h|0))break e;g[d+(a-n<<3)>>3]=+g[d+(n+k<<3)>>3];n=n+1|0}}break}default:{}}while(0);t=t+1|0}c[O>>2]=222636;c[O+4>>2]=222574;c[O+8>>2]=194;AD(0,0,222515,O);ba()}else F=-12;while(0);$1(I);$1(K);Mb=P;return F|0}function ze(d,f,g,h,i,j,k){d=d|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,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0;_=f>>>1;Z=g>>>1;Y=h<<4;V=H(_,-3)|0;W=H(_,-2)|0;X=0-_|0;F=f&-2;G=Z*3|0;I=G+V|0;J=G+W|0;K=G-_|0;L=G+F|0;M=G+_|0;N=Y>>3;O=Y>>2;P=H(_,-4)|0;Q=_*3|0;R=Z<<2;S=(Y>>1)+Y>>3;T=G+P|0;U=G+Q|0;E=0;while(1){if((E|0)==2)break;g=e[d+(X<<1)>>1]|0;r=(e[d+(V<<1)>>1]|0)-((e[d+(W<<1)>>1]|0)<<1)+g|0;r=(r|0)>-1?r:0-r|0;h=e[d>>1]|0;t=(e[d+(F<<1)>>1]|0)-((e[d+(_<<1)>>1]|0)<<1)+h|0;t=(t|0)>-1?t:0-t|0;f=e[d+(K<<1)>>1]|0;s=(e[d+(I<<1)>>1]|0)-((e[d+(J<<1)>>1]|0)<<1)+f|0;s=(s|0)>-1?s:0-s|0;l=e[d+(G<<1)>>1]|0;u=(e[d+(L<<1)>>1]|0)-((e[d+(M<<1)>>1]|0)<<1)+l|0;u=(u|0)>-1?u:0-u|0;m=t+r|0;n=u+s|0;p=c[i+(E<<2)>>2]|0;D=p<<4;q=a[j+E>>0]|0;v=a[k+E>>0]|0;a:do if((n+m|0)<(Y|0)){o=p*80>>1;C=(e[d+(P<<1)>>1]|0)-g|0;B=(e[d+(Q<<1)>>1]|0)-h|0;if((((((B|0)>-1?B:0-B|0)+((C|0)>-1?C:0-C|0)|0)<(N|0)?(C=g-h|0,(((C|0)>-1?C:0-C|0)|0)<(o|0)):0)?(C=(e[d+(T<<1)>>1]|0)-f|0,B=(e[d+(U<<1)>>1]|0)-l|0,(((B|0)>-1?B:0-B|0)+((C|0)>-1?C:0-C|0)|0)<(N|0)):0)?(C=f-l|0,((m<<1|0)<(O|0)?(((C|0)>-1?C:0-C|0)|0)<(o|0):0)&(n<<1|0)<(O|0)):0){z=p<<5;x=q<<24>>24==0;y=0-z|0;f=v<<24>>24==0;g=0;h=d;while(1){if((g|0)==4)break a;l=h+(V<<1)|0;m=e[l>>1]|0;n=h+(W<<1)|0;o=e[n>>1]|0;p=h+(X<<1)|0;q=e[p>>1]|0;r=e[h>>1]|0;s=h+(_<<1)|0;t=e[s>>1]|0;u=h+(F<<1)|0;v=e[u>>1]|0;w=e[h+(Q<<1)>>1]|0;if(x){D=e[h+(P<<1)>>1]|0;C=r+q|0;B=((t+4+m+(C+o<<1)|0)>>>3)-q|0;b[p>>1]=((B|0)<(y|0)?y:(B|0)>(z|0)?z:B)+q;B=((C+2+m+o|0)>>>2)-o|0;b[n>>1]=((B|0)<(y|0)?y:(B|0)>(z|0)?z:B)+o;D=((C+4+(m*3|0)+o+(D<<1)|0)>>>3)-m|0;b[l>>1]=((D|0)<(y|0)?y:(D|0)>(z|0)?z:D)+m}if(f){D=r+q|0;C=((o+4+v+(D+t<<1)|0)>>>3)-r|0;b[h>>1]=((C|0)<(y|0)?y:(C|0)>(z|0)?z:C)+r;C=((D+2+t+v|0)>>>2)-t|0;b[s>>1]=((C|0)<(y|0)?y:(C|0)>(z|0)?z:C)+t;D=((D+4+t+(v*3|0)+(w<<1)|0)>>>3)-v|0;b[u>>1]=((D|0)<(y|0)?y:(D|0)>(z|0)?z:D)+v}g=g+1|0;h=h+(Z<<1)|0}}C=D>>1;A=p*160|0;B=0-D|0;z=q<<24>>24==0;y=v<<24>>24==0;x=z&(s+r|0)<(S|0);w=0-C|0;v=y&(u+t|0)<(S|0);l=0;m=d;while(1){if((l|0)==4)break a;n=e[m+(V<<1)>>1]|0;o=m+(W<<1)|0;p=e[o>>1]|0;f=m+(X<<1)|0;q=e[f>>1]|0;r=e[m>>1]|0;s=m+(_<<1)|0;t=e[s>>1]|0;u=e[m+(F<<1)>>1]|0;g=((r-q|0)*9|0)+8+(H(t-p|0,-3)|0)>>4;if((((g|0)>-1?g:0-g|0)|0)<(A|0)){h=(g|0)<(B|0)?B:(g|0)>(D|0)?D:g;g=h+q|0;if(z)b[f>>1]=g>>>0<4096?g:0-g>>31&4095;g=r-h|0;if(y)b[m>>1]=g>>>0<4096?g:0-g>>31&4095;if(x){q=((n+1+q|0)>>>1)-p+h>>1;q=((q|0)<(w|0)?w:(q|0)>(C|0)?C:q)+p|0;b[o>>1]=q>>>0<4096?q:0-q>>31&4095}if(v){u=((r+1+u|0)>>>1)-t-h>>1;u=((u|0)<(w|0)?w:(u|0)>(C|0)?C:u)+t|0;b[s>>1]=u>>>0<4096?u:0-u>>31&4095}}l=l+1|0;m=m+(Z<<1)|0}}while(0);E=E+1|0;d=d+(R<<1)|0}return}function Ae(d,f,g,h,i,j,k){d=d|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,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0;_=f>>>1;Z=g>>>1;Y=h<<2;V=H(_,-3)|0;W=H(_,-2)|0;X=0-_|0;F=f&-2;G=Z*3|0;I=G+V|0;J=G+W|0;K=G-_|0;L=G+F|0;M=G+_|0;N=Y>>3;O=Y>>2;P=H(_,-4)|0;Q=_*3|0;R=Z<<2;S=(Y>>1)+Y>>3;T=G+P|0;U=G+Q|0;E=0;while(1){if((E|0)==2)break;g=e[d+(X<<1)>>1]|0;r=(e[d+(V<<1)>>1]|0)-((e[d+(W<<1)>>1]|0)<<1)+g|0;r=(r|0)>-1?r:0-r|0;h=e[d>>1]|0;t=(e[d+(F<<1)>>1]|0)-((e[d+(_<<1)>>1]|0)<<1)+h|0;t=(t|0)>-1?t:0-t|0;f=e[d+(K<<1)>>1]|0;s=(e[d+(I<<1)>>1]|0)-((e[d+(J<<1)>>1]|0)<<1)+f|0;s=(s|0)>-1?s:0-s|0;l=e[d+(G<<1)>>1]|0;u=(e[d+(L<<1)>>1]|0)-((e[d+(M<<1)>>1]|0)<<1)+l|0;u=(u|0)>-1?u:0-u|0;m=t+r|0;n=u+s|0;p=c[i+(E<<2)>>2]|0;D=p<<2;q=a[j+E>>0]|0;v=a[k+E>>0]|0;a:do if((n+m|0)<(Y|0)){o=p*20>>1;C=(e[d+(P<<1)>>1]|0)-g|0;B=(e[d+(Q<<1)>>1]|0)-h|0;if((((((B|0)>-1?B:0-B|0)+((C|0)>-1?C:0-C|0)|0)<(N|0)?(C=g-h|0,(((C|0)>-1?C:0-C|0)|0)<(o|0)):0)?(C=(e[d+(T<<1)>>1]|0)-f|0,B=(e[d+(U<<1)>>1]|0)-l|0,(((B|0)>-1?B:0-B|0)+((C|0)>-1?C:0-C|0)|0)<(N|0)):0)?(C=f-l|0,((m<<1|0)<(O|0)?(((C|0)>-1?C:0-C|0)|0)<(o|0):0)&(n<<1|0)<(O|0)):0){z=p<<3;x=q<<24>>24==0;y=0-z|0;f=v<<24>>24==0;g=0;h=d;while(1){if((g|0)==4)break a;l=h+(V<<1)|0;m=e[l>>1]|0;n=h+(W<<1)|0;o=e[n>>1]|0;p=h+(X<<1)|0;q=e[p>>1]|0;r=e[h>>1]|0;s=h+(_<<1)|0;t=e[s>>1]|0;u=h+(F<<1)|0;v=e[u>>1]|0;w=e[h+(Q<<1)>>1]|0;if(x){D=e[h+(P<<1)>>1]|0;C=r+q|0;B=((t+4+m+(C+o<<1)|0)>>>3)-q|0;b[p>>1]=((B|0)<(y|0)?y:(B|0)>(z|0)?z:B)+q;B=((C+2+m+o|0)>>>2)-o|0;b[n>>1]=((B|0)<(y|0)?y:(B|0)>(z|0)?z:B)+o;D=((C+4+(m*3|0)+o+(D<<1)|0)>>>3)-m|0;b[l>>1]=((D|0)<(y|0)?y:(D|0)>(z|0)?z:D)+m}if(f){D=r+q|0;C=((o+4+v+(D+t<<1)|0)>>>3)-r|0;b[h>>1]=((C|0)<(y|0)?y:(C|0)>(z|0)?z:C)+r;C=((D+2+t+v|0)>>>2)-t|0;b[s>>1]=((C|0)<(y|0)?y:(C|0)>(z|0)?z:C)+t;D=((D+4+t+(v*3|0)+(w<<1)|0)>>>3)-v|0;b[u>>1]=((D|0)<(y|0)?y:(D|0)>(z|0)?z:D)+v}g=g+1|0;h=h+(Z<<1)|0}}C=D>>1;A=p*40|0;B=0-D|0;z=q<<24>>24==0;y=v<<24>>24==0;x=z&(s+r|0)<(S|0);w=0-C|0;v=y&(u+t|0)<(S|0);l=0;m=d;while(1){if((l|0)==4)break a;n=e[m+(V<<1)>>1]|0;o=m+(W<<1)|0;p=e[o>>1]|0;f=m+(X<<1)|0;q=e[f>>1]|0;r=e[m>>1]|0;s=m+(_<<1)|0;t=e[s>>1]|0;u=e[m+(F<<1)>>1]|0;g=((r-q|0)*9|0)+8+(H(t-p|0,-3)|0)>>4;if((((g|0)>-1?g:0-g|0)|0)<(A|0)){h=(g|0)<(B|0)?B:(g|0)>(D|0)?D:g;g=h+q|0;if(z)b[f>>1]=g>>>0<1024?g:0-g>>31&1023;g=r-h|0;if(y)b[m>>1]=g>>>0<1024?g:0-g>>31&1023;if(x){q=((n+1+q|0)>>>1)-p+h>>1;q=((q|0)<(w|0)?w:(q|0)>(C|0)?C:q)+p|0;b[o>>1]=q>>>0<1024?q:0-q>>31&1023}if(v){u=((r+1+u|0)>>>1)-t-h>>1;u=((u|0)<(w|0)?w:(u|0)>(C|0)?C:u)+t|0;b[s>>1]=u>>>0<1024?u:0-u>>31&1023}}l=l+1|0;m=m+(Z<<1)|0}}while(0);E=E+1|0;d=d+(R<<1)|0}return}function Be(d,f,g,h,i,j,k){d=d|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,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0;_=f>>>1;Z=g>>>1;Y=h<<1;V=H(_,-3)|0;W=H(_,-2)|0;X=0-_|0;F=f&-2;G=Z*3|0;I=G+V|0;J=G+W|0;K=G-_|0;L=G+F|0;M=G+_|0;N=Y>>3;O=Y>>2;P=H(_,-4)|0;Q=_*3|0;R=Z<<2;S=(Y>>1)+Y>>3;T=G+P|0;U=G+Q|0;E=0;while(1){if((E|0)==2)break;g=e[d+(X<<1)>>1]|0;r=(e[d+(V<<1)>>1]|0)-((e[d+(W<<1)>>1]|0)<<1)+g|0;r=(r|0)>-1?r:0-r|0;h=e[d>>1]|0;t=(e[d+(F<<1)>>1]|0)-((e[d+(_<<1)>>1]|0)<<1)+h|0;t=(t|0)>-1?t:0-t|0;f=e[d+(K<<1)>>1]|0;s=(e[d+(I<<1)>>1]|0)-((e[d+(J<<1)>>1]|0)<<1)+f|0;s=(s|0)>-1?s:0-s|0;l=e[d+(G<<1)>>1]|0;u=(e[d+(L<<1)>>1]|0)-((e[d+(M<<1)>>1]|0)<<1)+l|0;u=(u|0)>-1?u:0-u|0;m=t+r|0;n=u+s|0;p=c[i+(E<<2)>>2]|0;D=p<<1;q=a[j+E>>0]|0;v=a[k+E>>0]|0;a:do if((n+m|0)<(Y|0)){o=p*10>>1;C=(e[d+(P<<1)>>1]|0)-g|0;B=(e[d+(Q<<1)>>1]|0)-h|0;if((((((B|0)>-1?B:0-B|0)+((C|0)>-1?C:0-C|0)|0)<(N|0)?(C=g-h|0,(((C|0)>-1?C:0-C|0)|0)<(o|0)):0)?(C=(e[d+(T<<1)>>1]|0)-f|0,B=(e[d+(U<<1)>>1]|0)-l|0,(((B|0)>-1?B:0-B|0)+((C|0)>-1?C:0-C|0)|0)<(N|0)):0)?(C=f-l|0,((m<<1|0)<(O|0)?(((C|0)>-1?C:0-C|0)|0)<(o|0):0)&(n<<1|0)<(O|0)):0){z=p<<2;x=q<<24>>24==0;y=0-z|0;f=v<<24>>24==0;g=0;h=d;while(1){if((g|0)==4)break a;l=h+(V<<1)|0;m=e[l>>1]|0;n=h+(W<<1)|0;o=e[n>>1]|0;p=h+(X<<1)|0;q=e[p>>1]|0;r=e[h>>1]|0;s=h+(_<<1)|0;t=e[s>>1]|0;u=h+(F<<1)|0;v=e[u>>1]|0;w=e[h+(Q<<1)>>1]|0;if(x){D=e[h+(P<<1)>>1]|0;C=r+q|0;B=((t+4+m+(C+o<<1)|0)>>>3)-q|0;b[p>>1]=((B|0)<(y|0)?y:(B|0)>(z|0)?z:B)+q;B=((C+2+m+o|0)>>>2)-o|0;b[n>>1]=((B|0)<(y|0)?y:(B|0)>(z|0)?z:B)+o;D=((C+4+(m*3|0)+o+(D<<1)|0)>>>3)-m|0;b[l>>1]=((D|0)<(y|0)?y:(D|0)>(z|0)?z:D)+m}if(f){D=r+q|0;C=((o+4+v+(D+t<<1)|0)>>>3)-r|0;b[h>>1]=((C|0)<(y|0)?y:(C|0)>(z|0)?z:C)+r;C=((D+2+t+v|0)>>>2)-t|0;b[s>>1]=((C|0)<(y|0)?y:(C|0)>(z|0)?z:C)+t;D=((D+4+t+(v*3|0)+(w<<1)|0)>>>3)-v|0;b[u>>1]=((D|0)<(y|0)?y:(D|0)>(z|0)?z:D)+v}g=g+1|0;h=h+(Z<<1)|0}}C=D>>1;A=p*20|0;B=0-D|0;z=q<<24>>24==0;y=v<<24>>24==0;x=z&(s+r|0)<(S|0);w=0-C|0;v=y&(u+t|0)<(S|0);l=0;m=d;while(1){if((l|0)==4)break a;n=e[m+(V<<1)>>1]|0;o=m+(W<<1)|0;p=e[o>>1]|0;f=m+(X<<1)|0;q=e[f>>1]|0;r=e[m>>1]|0;s=m+(_<<1)|0;t=e[s>>1]|0;u=e[m+(F<<1)>>1]|0;g=((r-q|0)*9|0)+8+(H(t-p|0,-3)|0)>>4;if((((g|0)>-1?g:0-g|0)|0)<(A|0)){h=(g|0)<(B|0)?B:(g|0)>(D|0)?D:g;g=h+q|0;if(z)b[f>>1]=g>>>0<512?g:0-g>>31&511;g=r-h|0;if(y)b[m>>1]=g>>>0<512?g:0-g>>31&511;if(x){q=((n+1+q|0)>>>1)-p+h>>1;q=((q|0)<(w|0)?w:(q|0)>(C|0)?C:q)+p|0;b[o>>1]=q>>>0<512?q:0-q>>31&511}if(v){u=((r+1+u|0)>>>1)-t-h>>1;u=((u|0)<(w|0)?w:(u|0)>(C|0)?C:u)+t|0;b[s>>1]=u>>>0<512?u:0-u>>31&511}}l=l+1|0;m=m+(Z<<1)|0}}while(0);E=E+1|0;d=d+(R<<1)|0}return}function Ce(f,g,h,i,j,k){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,r=0,s=0,t=0,u=0,v=0;t=Mb;Mb=Mb+208|0;s=c[21792+(k+-2<<2)>>2]|0;o=t+8|0;l=s>>3;a:do if((k|0)>17){m=g+-2|0;n=k+-11|0;b:do if(n>>>0<15&(k+-13|0)>>>0<11){m=0;while(1){if(m>>>0>4)break;q=g+(m+-1<<1)|0;p=q;q=q+4|0;q=d[q>>0]|d[q+1>>0]<<8|d[q+2>>0]<<16|d[q+3>>0]<<24;r=o+(m<<1)|0;c[r>>2]=d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24;c[r+4>>2]=q;m=m+4|0}m=21936+(n<<2)|0;while(1){if((l|0)>=0){m=o;break b}r=h+(((H(c[m>>2]|0,l)|0)+128>>8)+-1<<1)|0;b[o+(l<<1)>>1]=b[r>>1]|0;l=l+1|0}}while(0);l=0;while(1){if((l|0)==4)break;n=l+1|0;p=H(n,s)|0;o=p>>5;p=p&31;if(!p){r=f+((H(l,i)|0)<<1)|0;q=m+(o+1<<1)|0;o=q;o=d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24;q=q+4|0;q=d[q>>0]|d[q+1>>0]<<8|d[q+2>>0]<<16|d[q+3>>0]<<24;p=r;a[p>>0]=o;a[p+1>>0]=o>>8;a[p+2>>0]=o>>16;a[p+3>>0]=o>>24;r=r+4|0;a[r>>0]=q;a[r+1>>0]=q>>8;a[r+2>>0]=q>>16;a[r+3>>0]=q>>24}else{q=32-p|0;r=H(l,i)|0;l=H(q,e[m+(o+1<<1)>>1]|0)|0;l=(l+16+(H(p,e[m+(o+2<<1)>>1]|0)|0)|0)>>>5&65535;b[f+(r<<1)>>1]=l;l=H(q,e[m+(o+2<<1)>>1]|0)|0;l=(l+16+(H(p,e[m+(o+3<<1)>>1]|0)|0)|0)>>>5&65535;b[f+(r+1<<1)>>1]=l;l=H(q,e[m+(o+3<<1)>>1]|0)|0;l=(l+16+(H(p,e[m+(o+4<<1)>>1]|0)|0)|0)>>>5&65535;b[f+(r+2<<1)>>1]=l;q=H(q,e[m+(o+4<<1)>>1]|0)|0;q=(q+16+(H(p,e[m+(o+5<<1)>>1]|0)|0)|0)>>>5&65535;b[f+(r+3<<1)>>1]=q}l=n}if((j|0)==0&(k|0)==26){m=h+-2|0;l=0;while(1){if((l|0)==4)break a;k=((e[h+(l<<1)>>1]|0)-(e[m>>1]|0)>>1)+(e[g>>1]|0)|0;s=f+((H(l,i)|0)<<1)|0;b[s>>1]=k>>>0<4096?k:0-k>>31&4095;l=l+1|0}}}else{m=h+-2|0;n=k+-11|0;c:do if(n>>>0<15&(k+-13|0)>>>0<11){m=0;while(1){if(m>>>0>4)break;q=h+(m+-1<<1)|0;p=q;q=q+4|0;q=d[q>>0]|d[q+1>>0]<<8|d[q+2>>0]<<16|d[q+3>>0]<<24;r=o+(m<<1)|0;c[r>>2]=d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24;c[r+4>>2]=q;m=m+4|0}m=21936+(n<<2)|0;while(1){if((l|0)>=0){m=o;break c}r=g+(((H(c[m>>2]|0,l)|0)+128>>8)+-1<<1)|0;b[o+(l<<1)>>1]=b[r>>1]|0;l=l+1|0}}while(0);p=0;while(1){if((p|0)==4)break;q=p+1|0;n=H(q,s)|0;r=n>>5;n=n&31;d:do if(!n){l=0;while(1){if((l|0)==4)break d;o=l+1|0;n=f+((H(l,i)|0)+p<<1)|0;b[n>>1]=b[m+(o+r<<1)>>1]|0;l=o}}else{o=32-n|0;l=0;while(1){if((l|0)==4)break d;v=l+r|0;u=H(o,e[m+(v+1<<1)>>1]|0)|0;v=(u+16+(H(n,e[m+(v+2<<1)>>1]|0)|0)|0)>>>5&65535;u=f+((H(l,i)|0)+p<<1)|0;b[u>>1]=v;l=l+1|0}}while(0);p=q}if((j|0)==0&(k|0)==10){v=g+-2|0;u=((e[g>>1]|0)-(e[v>>1]|0)>>1)+(e[h>>1]|0)|0;b[f>>1]=u>>>0<4096?u:0-u>>31&4095;u=((e[g+2>>1]|0)-(e[v>>1]|0)>>1)+(e[h>>1]|0)|0;b[f+2>>1]=u>>>0<4096?u:0-u>>31&4095;u=((e[g+4>>1]|0)-(e[v>>1]|0)>>1)+(e[h>>1]|0)|0;b[f+4>>1]=u>>>0<4096?u:0-u>>31&4095;v=((e[g+6>>1]|0)-(e[v>>1]|0)>>1)+(e[h>>1]|0)|0;b[f+6>>1]=v>>>0<4096?v:0-v>>31&4095}}while(0);Mb=t;return}function De(f,g,h,i,j,k){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,r=0,s=0,t=0,u=0,v=0;t=Mb;Mb=Mb+208|0;s=c[21792+(k+-2<<2)>>2]|0;o=t+8|0;l=s>>3;a:do if((k|0)>17){m=g+-2|0;n=k+-11|0;b:do if(n>>>0<15&(k+-13|0)>>>0<11){m=0;while(1){if(m>>>0>4)break;q=g+(m+-1<<1)|0;p=q;q=q+4|0;q=d[q>>0]|d[q+1>>0]<<8|d[q+2>>0]<<16|d[q+3>>0]<<24;r=o+(m<<1)|0;c[r>>2]=d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24;c[r+4>>2]=q;m=m+4|0}m=21936+(n<<2)|0;while(1){if((l|0)>=0){m=o;break b}r=h+(((H(c[m>>2]|0,l)|0)+128>>8)+-1<<1)|0;b[o+(l<<1)>>1]=b[r>>1]|0;l=l+1|0}}while(0);l=0;while(1){if((l|0)==4)break;n=l+1|0;p=H(n,s)|0;o=p>>5;p=p&31;if(!p){r=f+((H(l,i)|0)<<1)|0;q=m+(o+1<<1)|0;o=q;o=d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24;q=q+4|0;q=d[q>>0]|d[q+1>>0]<<8|d[q+2>>0]<<16|d[q+3>>0]<<24;p=r;a[p>>0]=o;a[p+1>>0]=o>>8;a[p+2>>0]=o>>16;a[p+3>>0]=o>>24;r=r+4|0;a[r>>0]=q;a[r+1>>0]=q>>8;a[r+2>>0]=q>>16;a[r+3>>0]=q>>24}else{q=32-p|0;r=H(l,i)|0;l=H(q,e[m+(o+1<<1)>>1]|0)|0;l=(l+16+(H(p,e[m+(o+2<<1)>>1]|0)|0)|0)>>>5&65535;b[f+(r<<1)>>1]=l;l=H(q,e[m+(o+2<<1)>>1]|0)|0;l=(l+16+(H(p,e[m+(o+3<<1)>>1]|0)|0)|0)>>>5&65535;b[f+(r+1<<1)>>1]=l;l=H(q,e[m+(o+3<<1)>>1]|0)|0;l=(l+16+(H(p,e[m+(o+4<<1)>>1]|0)|0)|0)>>>5&65535;b[f+(r+2<<1)>>1]=l;q=H(q,e[m+(o+4<<1)>>1]|0)|0;q=(q+16+(H(p,e[m+(o+5<<1)>>1]|0)|0)|0)>>>5&65535;b[f+(r+3<<1)>>1]=q}l=n}if((j|0)==0&(k|0)==26){m=h+-2|0;l=0;while(1){if((l|0)==4)break a;k=((e[h+(l<<1)>>1]|0)-(e[m>>1]|0)>>1)+(e[g>>1]|0)|0;s=f+((H(l,i)|0)<<1)|0;b[s>>1]=k>>>0<1024?k:0-k>>31&1023;l=l+1|0}}}else{m=h+-2|0;n=k+-11|0;c:do if(n>>>0<15&(k+-13|0)>>>0<11){m=0;while(1){if(m>>>0>4)break;q=h+(m+-1<<1)|0;p=q;q=q+4|0;q=d[q>>0]|d[q+1>>0]<<8|d[q+2>>0]<<16|d[q+3>>0]<<24;r=o+(m<<1)|0;c[r>>2]=d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24;c[r+4>>2]=q;m=m+4|0}m=21936+(n<<2)|0;while(1){if((l|0)>=0){m=o;break c}r=g+(((H(c[m>>2]|0,l)|0)+128>>8)+-1<<1)|0;b[o+(l<<1)>>1]=b[r>>1]|0;l=l+1|0}}while(0);p=0;while(1){if((p|0)==4)break;q=p+1|0;n=H(q,s)|0;r=n>>5;n=n&31;d:do if(!n){l=0;while(1){if((l|0)==4)break d;o=l+1|0;n=f+((H(l,i)|0)+p<<1)|0;b[n>>1]=b[m+(o+r<<1)>>1]|0;l=o}}else{o=32-n|0;l=0;while(1){if((l|0)==4)break d;v=l+r|0;u=H(o,e[m+(v+1<<1)>>1]|0)|0;v=(u+16+(H(n,e[m+(v+2<<1)>>1]|0)|0)|0)>>>5&65535;u=f+((H(l,i)|0)+p<<1)|0;b[u>>1]=v;l=l+1|0}}while(0);p=q}if((j|0)==0&(k|0)==10){v=g+-2|0;u=((e[g>>1]|0)-(e[v>>1]|0)>>1)+(e[h>>1]|0)|0;b[f>>1]=u>>>0<1024?u:0-u>>31&1023;u=((e[g+2>>1]|0)-(e[v>>1]|0)>>1)+(e[h>>1]|0)|0;b[f+2>>1]=u>>>0<1024?u:0-u>>31&1023;u=((e[g+4>>1]|0)-(e[v>>1]|0)>>1)+(e[h>>1]|0)|0;b[f+4>>1]=u>>>0<1024?u:0-u>>31&1023;v=((e[g+6>>1]|0)-(e[v>>1]|0)>>1)+(e[h>>1]|0)|0;b[f+6>>1]=v>>>0<1024?v:0-v>>31&1023}}while(0);Mb=t;return}function Ee(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,E=0;B=Mb;Mb=Mb+32|0;w=B+16|0;k=B;u=c[e+12>>2]|0;v=c[e+8>>2]|0;l=c[b+136>>2]|0;y=b+3104|0;z=SV((c[y>>2]|0)+1|0,4)|0;A=SV((c[y>>2]|0)+1|0,4)|0;if((z|0)!=0&(A|0)!=0){f=c[b+3496>>2]|0;g=c[y>>2]|0;i=c[b+1412>>2]|0;h=c[i+13384>>2]|0;t=(H(h,g)|0)+f|0;i=c[i+13388>>2]|0;t=(t|0)<(H(i,h)|0);x=b+4|0;j=c[x>>2]|0;a:do if(t){Io(j,g+1|0)|0;b:do if(!(c[b+12>>2]|0)){g=b+141|0;f=1;while(1){if(f>>>0>=(d[g>>0]|0)>>>0)break b;s=RD(7796)|0;t=b+8+(f<<2)|0;c[t>>2]=s;Mn(s|0,b|0,7796)|0;s=EZ(31328)|0;c[b+72+(f<<2)>>2]=s;c[(c[t>>2]|0)+136>>2]=s;f=f+1|0}}while(0);l=c[l+212>>2]>>3;m=((l|0)<0)<<31>>31;t=c[b+3092>>2]|0;h=aX(c[t>>2]|0,0,l|0,m|0)|0;g=M()|0;s=e+56|0;i=c[s>>2]|0;r=e+64|0;f=0;j=0;k=0;while(1){if((f|0)>=(i|0))break;q=c[(c[r>>2]|0)+(f<<2)>>2]|0;p=((q|0)<0)<<31>>31;q=(q|0)>=(l|0)&((g|0)>(p|0)|(g|0)==(p|0)&h>>>0>q>>>0);p=q<<31>>31;p=aX(h|0,g|0,p|0,((p|0)<0)<<31>>31|0)|0;o=M()|0;q=aX(j|0,k|0,q&1|0,0)|0;f=f+1|0;g=o;h=p;j=q;k=M()|0}p=b+3100|0;q=b+3096|0;o=1;i=l;h=m;while(1){f=c[y>>2]|0;if((o|0)>=(f|0))break;n=o+-1|0;g=_W(c[t+(n<<2)>>2]|0,0,j|0,k|0)|0;i=aX(g|0,M()|0,i|0,h|0)|0;h=M()|0;g=c[t+(o<<2)>>2]|0;m=aX(i|0,h|0,g|0,0)|0;e=M()|0;l=c[s>>2]|0;f=0;j=0;k=0;while(1){if((f|0)>=(l|0))break;C=c[(c[r>>2]|0)+(f<<2)>>2]|0;D=((C|0)<0)<<31>>31;C=((h|0)<(D|0)|(h|0)==(D|0)&i>>>0<=C>>>0)&((e|0)>(D|0)|(e|0)==(D|0)&m>>>0>C>>>0);D=C<<31>>31;D=aX(m|0,e|0,D|0,((D|0)<0)<<31>>31|0)|0;E=M()|0;C=aX(j|0,k|0,C&1|0,0)|0;f=f+1|0;e=E;m=D;j=C;k=M()|0}c[(c[p>>2]|0)+(n<<2)>>2]=g-j;c[(c[q>>2]|0)+(n<<2)>>2]=i;o=o+1|0}do if(f|0){g=f+-1|0;f=_W(c[t+(g<<2)>>2]|0,0,j|0,k|0)|0;f=aX(f|0,M()|0,i|0,h|0)|0;D=M()|0;E=((v|0)<0)<<31>>31;if((D|0)>(E|0)|(D|0)==(E|0)&f>>>0>v>>>0){AD(c[x>>2]|0,16,179624,w);f=-1094995529;break a}else{c[(c[p>>2]|0)+(g<<2)>>2]=v-f;c[(c[q>>2]|0)+((c[y>>2]|0)+-1<<2)>>2]=f;break}}while(0);c[b+7608>>2]=u;g=b+141|0;h=b+8|0;f=1;while(1){if(f>>>0>=(d[g>>0]|0)>>>0)break;E=b+8+(f<<2)|0;D=c[E>>2]|0;C=c[D+136>>2]|0;a[C+203>>0]=1;a[C+272>>0]=a[(c[(c[h>>2]|0)+136>>2]|0)+272>>0]|0;Mn(D|0,b|0,7796)|0;c[(c[E>>2]|0)+136>>2]=c[b+72+(f<<2)>>2];f=f+1|0}c[b+7604>>2]=0;zX(c[x>>2]|0);h=c[y>>2]|0;f=0;while(1){if((f|0)>(h|0))break;c[A+(f<<2)>>2]=f;c[z+(f<<2)>>2]=0;f=f+1|0}if(a[(c[b+1416>>2]|0)+43>>0]|0){E=c[x>>2]|0;_b[c[E+820>>2]&63](E,7,A,z,h+1|0)|0;h=c[y>>2]|0}f=0;g=0;while(1){if((g|0)>(h|0))break a;f=(c[z+(g<<2)>>2]|0)+f|0;g=g+1|0}}else{c[k>>2]=f;c[k+4>>2]=g;c[k+8>>2]=h;c[k+12>>2]=i;AD(j,16,179581,k);f=-1094995529}while(0);$1(z);$1(A)}else{$1(z);$1(A);f=-12}Mb=B;return f|0}function Fe(f,g,h,i,j,k){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,r=0,s=0,t=0,u=0,v=0;t=Mb;Mb=Mb+208|0;s=c[21792+(k+-2<<2)>>2]|0;o=t+8|0;l=s>>3;a:do if((k|0)>17){m=g+-2|0;n=k+-11|0;b:do if(n>>>0<15&(k+-13|0)>>>0<11){m=0;while(1){if(m>>>0>4)break;q=g+(m+-1<<1)|0;p=q;q=q+4|0;q=d[q>>0]|d[q+1>>0]<<8|d[q+2>>0]<<16|d[q+3>>0]<<24;r=o+(m<<1)|0;c[r>>2]=d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24;c[r+4>>2]=q;m=m+4|0}m=21936+(n<<2)|0;while(1){if((l|0)>=0){m=o;break b}r=h+(((H(c[m>>2]|0,l)|0)+128>>8)+-1<<1)|0;b[o+(l<<1)>>1]=b[r>>1]|0;l=l+1|0}}while(0);l=0;while(1){if((l|0)==4)break;n=l+1|0;p=H(n,s)|0;o=p>>5;p=p&31;if(!p){r=f+((H(l,i)|0)<<1)|0;q=m+(o+1<<1)|0;o=q;o=d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24;q=q+4|0;q=d[q>>0]|d[q+1>>0]<<8|d[q+2>>0]<<16|d[q+3>>0]<<24;p=r;a[p>>0]=o;a[p+1>>0]=o>>8;a[p+2>>0]=o>>16;a[p+3>>0]=o>>24;r=r+4|0;a[r>>0]=q;a[r+1>>0]=q>>8;a[r+2>>0]=q>>16;a[r+3>>0]=q>>24}else{q=32-p|0;r=H(l,i)|0;l=H(q,e[m+(o+1<<1)>>1]|0)|0;l=(l+16+(H(p,e[m+(o+2<<1)>>1]|0)|0)|0)>>>5&65535;b[f+(r<<1)>>1]=l;l=H(q,e[m+(o+2<<1)>>1]|0)|0;l=(l+16+(H(p,e[m+(o+3<<1)>>1]|0)|0)|0)>>>5&65535;b[f+(r+1<<1)>>1]=l;l=H(q,e[m+(o+3<<1)>>1]|0)|0;l=(l+16+(H(p,e[m+(o+4<<1)>>1]|0)|0)|0)>>>5&65535;b[f+(r+2<<1)>>1]=l;q=H(q,e[m+(o+4<<1)>>1]|0)|0;q=(q+16+(H(p,e[m+(o+5<<1)>>1]|0)|0)|0)>>>5&65535;b[f+(r+3<<1)>>1]=q}l=n}if((j|0)==0&(k|0)==26){m=h+-2|0;l=0;while(1){if((l|0)==4)break a;k=((e[h+(l<<1)>>1]|0)-(e[m>>1]|0)>>1)+(e[g>>1]|0)|0;s=f+((H(l,i)|0)<<1)|0;b[s>>1]=k>>>0<512?k:0-k>>31&511;l=l+1|0}}}else{m=h+-2|0;n=k+-11|0;c:do if(n>>>0<15&(k+-13|0)>>>0<11){m=0;while(1){if(m>>>0>4)break;q=h+(m+-1<<1)|0;p=q;q=q+4|0;q=d[q>>0]|d[q+1>>0]<<8|d[q+2>>0]<<16|d[q+3>>0]<<24;r=o+(m<<1)|0;c[r>>2]=d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24;c[r+4>>2]=q;m=m+4|0}m=21936+(n<<2)|0;while(1){if((l|0)>=0){m=o;break c}r=g+(((H(c[m>>2]|0,l)|0)+128>>8)+-1<<1)|0;b[o+(l<<1)>>1]=b[r>>1]|0;l=l+1|0}}while(0);p=0;while(1){if((p|0)==4)break;q=p+1|0;n=H(q,s)|0;r=n>>5;n=n&31;d:do if(!n){l=0;while(1){if((l|0)==4)break d;o=l+1|0;n=f+((H(l,i)|0)+p<<1)|0;b[n>>1]=b[m+(o+r<<1)>>1]|0;l=o}}else{o=32-n|0;l=0;while(1){if((l|0)==4)break d;v=l+r|0;u=H(o,e[m+(v+1<<1)>>1]|0)|0;v=(u+16+(H(n,e[m+(v+2<<1)>>1]|0)|0)|0)>>>5&65535;u=f+((H(l,i)|0)+p<<1)|0;b[u>>1]=v;l=l+1|0}}while(0);p=q}if((j|0)==0&(k|0)==10){v=g+-2|0;u=((e[g>>1]|0)-(e[v>>1]|0)>>1)+(e[h>>1]|0)|0;b[f>>1]=u>>>0<512?u:0-u>>31&511;u=((e[g+2>>1]|0)-(e[v>>1]|0)>>1)+(e[h>>1]|0)|0;b[f+2>>1]=u>>>0<512?u:0-u>>31&511;u=((e[g+4>>1]|0)-(e[v>>1]|0)>>1)+(e[h>>1]|0)|0;b[f+4>>1]=u>>>0<512?u:0-u>>31&511;v=((e[g+6>>1]|0)-(e[v>>1]|0)>>1)+(e[h>>1]|0)|0;b[f+6>>1]=v>>>0<512?v:0-v>>31&511}}while(0);Mb=t;return}function Ge(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;y=Mb;Mb=Mb+16|0;x=y;k=c[d+136>>2]|0;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;s=d+1412|0;m=c[s>>2]|0;o=c[m+13412>>2]|0;q=c[d+3516>>2]|0;p=c[q+20>>2]|0;q=c[q+24>>2]|0;t=d+160|0;l=c[t>>2]|0;u=H(f>>c[m+13436>>2],c[l+32>>2]|0)|0;n=c[m+52>>2]|0;u=(c[l>>2]|0)+((e>>c[m+13424>>2]<<n)+u)|0;v=H(f>>c[m+13440>>2],c[l+36>>2]|0)|0;v=(c[l+4>>2]|0)+((e>>c[m+13428>>2]<<n)+v)|0;w=H(f>>c[m+13444>>2],c[l+40>>2]|0)|0;w=(c[l+8>>2]|0)+((e>>c[m+13432>>2]<<n)+w)|0;n=c[m+13320>>2]|0;n=(c[d+7564>>2]|0)+((H(f>>n,c[m+13396>>2]|0)|0)+(e>>n))|0;if((a[n>>0]|0)==0?(n=(G_(d)|0)&255,a[k+31272>>0]=n,n<<24>>24==0):0)no(d,e,f,g,h,i,j,x);else{if((c[d+3088>>2]|0)>>>0>1)k=uE(d)|0;else k=0;bv(d,e,f,g,h,i,j,k,x)}k=c[(c[s>>2]|0)+13340>>2]|0;l=e>>k;m=f>>k;j=0;while(1){if((j|0)>=(h>>k|0))break;n=(H(j+m|0,o)|0)+l|0;i=0;while(1){if((i|0)>=(g>>k|0))break;k=p+((n+i|0)*12|0)|0;c[k>>2]=c[x>>2];c[k+4>>2]=c[x+4>>2];c[k+8>>2]=c[x+8>>2];i=i+1|0;k=c[(c[s>>2]|0)+13340>>2]|0}j=j+1|0}j=x+10|0;i=a[j>>0]|0;if(i&1){k=c[q+(a[x+8>>0]<<2)>>2]|0;if(k|0){GR(d,k,x,f,h);n=k;i=a[j>>0]|0;r=16}}else{n=0;r=16}a:do if((r|0)==16){if(!(i&2))k=0;else{k=c[q+196+(a[x+9>>0]<<2)>>2]|0;if(!k)break;GR(d,k,x+4|0,f,h);i=a[j>>0]|0}switch(i<<24>>24){case 1:{l=c[s>>2]|0;j=c[l+13428>>2]|0;k=e>>j;l=c[l+13440>>2]|0;i=f>>l;j=g>>j;l=h>>l;m=x+8|0;r=a[m>>0]|0;Rm(d,u,c[(c[t>>2]|0)+32>>2]|0,c[n>>2]|0,x,e,f,g,h,b[d+3112+(r<<1)>>1]|0,b[d+3304+(r<<1)>>1]|0);if(!(c[(c[s>>2]|0)+4>>2]|0))break a;u=c[n>>2]|0;h=a[m>>0]|0;fm(d,v,c[(c[t>>2]|0)+36>>2]|0,c[u+4>>2]|0,c[u+36>>2]|0,0,k,i,j,l,x,b[d+3144+(h<<2)>>1]|0,b[d+3336+(h<<2)>>1]|0);h=c[n>>2]|0;v=a[m>>0]|0;fm(d,w,c[(c[t>>2]|0)+40>>2]|0,c[h+8>>2]|0,c[h+40>>2]|0,0,k,i,j,l,x,b[d+3144+(v<<2)+2>>1]|0,b[d+3336+(v<<2)+2>>1]|0);break a}case 2:{m=c[s>>2]|0;l=c[m+13428>>2]|0;i=e>>l;m=c[m+13440>>2]|0;j=f>>m;l=g>>l;m=h>>m;n=x+9|0;r=a[n>>0]|0;Rm(d,u,c[(c[t>>2]|0)+32>>2]|0,c[k>>2]|0,x+4|0,e,f,g,h,b[d+3272+(r<<1)>>1]|0,b[d+3400+(r<<1)>>1]|0);if(!(c[(c[s>>2]|0)+4>>2]|0))break a;u=c[k>>2]|0;h=a[n>>0]|0;fm(d,v,c[(c[t>>2]|0)+36>>2]|0,c[u+4>>2]|0,c[u+36>>2]|0,1,i,j,l,m,x,b[d+3208+(h<<2)>>1]|0,b[d+3432+(h<<2)>>1]|0);h=c[k>>2]|0;v=a[n>>0]|0;fm(d,w,c[(c[t>>2]|0)+40>>2]|0,c[h+8>>2]|0,c[h+40>>2]|0,1,i,j,l,m,x,b[d+3208+(v<<2)+2>>1]|0,b[d+3432+(v<<2)+2>>1]|0);break a}case 3:{m=c[s>>2]|0;l=c[m+13428>>2]|0;i=e>>l;m=c[m+13440>>2]|0;j=f>>m;l=g>>l;m=h>>m;Eh(d,u,c[(c[t>>2]|0)+32>>2]|0,c[n>>2]|0,x,e,f,g,h,c[k>>2]|0,x+4|0,x);if(!(c[(c[s>>2]|0)+4>>2]|0))break a;Sg(d,v,c[n>>2]|0,c[k>>2]|0,i,j,l,m,x,0);Sg(d,w,c[n>>2]|0,c[k>>2]|0,i,j,l,m,x,1);break a}default:break a}}while(0);Mb=y;return}function He(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;z=Mb;Mb=Mb+96|0;t=z+80|0;s=z+72|0;p=z+64|0;n=z+56|0;m=z+48|0;l=z+40|0;k=z+32|0;j=z+24|0;i=z+16|0;g=z+8|0;x=z+84|0;v=TW(4568)|0;c[x>>2]=v;y=v;a:do if(!v)f=-12;else{w=v+4|0;r=c[w>>2]|0;AD(d,48,175616,z);f=(c[b+4>>2]|0)-(c[b>>2]|0)|0;if(f>>>0>4096){c[g>>2]=f;c[g+4>>2]=4096;AD(d,24,175630,g);f=4096}c[r+4564>>2]=f;Mn(r+468|0,c[b>>2]|0,f|0)|0;u=HG(b,4)|0;b:do if((u|0)<=15){if((HG(b,2)|0)!=3){AD(d,16,175700,j);break}j=(HG(b,6)|0)+1|0;c[r+4>>2]=j;j=(HG(b,3)|0)+1|0;q=r+8|0;c[q>>2]=j;j=(mT(b)|0)&255;a[r>>0]=j;if((HG(b,16)|0)!=65535){AD(d,16,175739,k);break}f=c[q>>2]|0;if((f|0)>7){c[l>>2]=f;AD(d,16,175779,l);break}if((Yn(b,d,r+12|0,f)|0)>=0){l=mT(b)|0;c[r+348>>2]=l;if(!l)f=(c[q>>2]|0)+-1|0;else f=0;j=d+688|0;while(1){if((f|0)>=(c[q>>2]|0))break;l=(CL(b)|0)+1|0;i=r+352+(f<<2)|0;c[i>>2]=l;l=CL(b)|0;g=r+380+(f<<2)|0;c[g>>2]=l;l=(CL(b)|0)+-1|0;c[r+408+(f<<2)>>2]=l;i=(c[i>>2]|0)+-1|0;if(i>>>0>15){o=18;break}g=c[g>>2]|0;if(g>>>0>i>>>0?(c[n>>2]=g,AD(d,24,175867,n),c[j>>2]&8|0):0)break b;f=f+1|0}if((o|0)==18){c[m>>2]=i;AD(d,16,175816,m);break}o=HG(b,6)|0;j=r+436|0;c[j>>2]=o;o=CL(b)|0;f=o+1|0;k=r+440|0;c[k>>2]=f;if(o>>>0<=1023?(l=aX(f|0,((f|0)<0)<<31>>31|0,-1,-1)|0,n=M()|0,h=c[j>>2]|0,o=aX(h|0,((h|0)<0)<<31>>31|0,1,0)|0,n=MR(o|0,M()|0,l|0,n|0)|0,l=M()|0,o=a$(b)|0,m=((o|0)<0)<<31>>31,!((l|0)>(m|0)|(l|0)==(m|0)&n>>>0>o>>>0)):0){i=1;while(1){if((i|0)>=(f|0))break;g=0;f=h;while(1){if((g|0)>(f|0))break;eW(b,1);g=g+1|0;f=c[j>>2]|0}i=i+1|0;h=f;f=c[k>>2]|0}p=(mT(b)|0)&255;a[r+444>>0]=p;c:do if(p<<24>>24){p=rO(b,32)|0;c[r+448>>2]=p;p=rO(b,32)|0;c[r+452>>2]=p;p=(mT(b)|0)&255;a[r+456>>0]=p;if(p<<24>>24){p=(CL(b)|0)+1|0;c[r+460>>2]=p}f=CL(b)|0;h=r+464|0;c[h>>2]=f;if(f>>>0>(c[k>>2]|0)>>>0){c[s>>2]=f;AD(d,16,175944,s);break b}g=0;while(1){if((g|0)>=(f|0))break c;CL(b)|0;if(!g)f=1;else f=mT(b)|0;wq(b,f,c[q>>2]|0);g=g+1|0;f=c[h>>2]|0}}while(0);mT(b)|0;f=a$(b)|0;if((f|0)<0){c[t>>2]=0-f;AD(d,16,175982,t);f=e+(u<<2)|0;if(c[f>>2]|0)break}else{f=e+(u<<2)|0;g=c[f>>2]|0;if((g|0)!=0?(AE(c[g+4>>2]|0,c[w>>2]|0,c[v+8>>2]|0)|0)==0:0){F$(x);f=0;break a}}YB(e,u);c[f>>2]=y;f=0;break a}AD(d,16,175910,p)}}else{c[i>>2]=u;AD(d,16,175675,i)}while(0);F$(x);f=-1094995529}while(0);Mb=z;return f|0}function Ie(a,e,g){a=a|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0.0,E=0,F=0,G=0,H=0;h=(mT(e)|0)<<1;F=g+148704|0;c[F>>2]=h;h=HG(e,3)|0;k=g+148708|0;c[k>>2]=h;E=0;j=0;while(1){if((j|0)>(h|0))break;h=E+1|0;B=(mT(e)|0)!=0&1;C=g+148712+(j<<2)|0;c[C>>2]=B;B=HG(e,4)|0;c[g+148744+(j<<2)>>2]=B;if((c[C>>2]|0)==1){i=HG(e,2)|0;h=(i|0)==3?E+2|0:h}else i=2;c[g+148776+(j<<2)>>2]=i;E=h;j=j+1|0;h=c[k>>2]|0}C=g+288|0;i=(mT(e)|0)!=0;h=c[F>>2]|0;c[F>>2]=h+((h>>>0>1|i)&1);i=HG(e,1)|0;h=45280+((HG(e,2)|0)<<2)|0;D=+f[h>>2];h=rj(a,C,e,0)|0;a:do if(!h){z=g+304|0;A=e+8|0;B=e+16|0;x=(i|0)==0;y=(x^1)&1;v=0;while(1){if((v|0)>=(E|0)){h=0;break a}if(!v){l=1.0;i=0;h=1}else{if((c[F>>2]|0)!=3){h=mT(e)|0;if(!h){i=0;h=0}else G=12}else{h=1;G=12}if((G|0)==12){G=0;n=c[278111]|0;i=c[A>>2]|0;o=c[B>>2]|0;a=c[e>>2]|0;u=a+(i>>>3)|0;u=(W_(d[u>>0]|d[u+1>>0]<<8|d[u+2>>0]<<16|d[u+3>>0]<<24|0)|0)<<(i&7)>>>25;j=b[n+(u<<2)>>1]|0;u=b[n+(u<<2)+2>>1]|0;m=u<<16>>16;if(u<<16>>16<0){i=i+7|0;i=o>>>0>i>>>0?i:o;u=a+(i>>>3)|0;u=((W_(d[u>>0]|d[u+1>>0]<<8|d[u+2>>0]<<16|d[u+3>>0]<<24|0)|0)<<(i&7)>>>(m+32|0))+j|0;j=b[n+(u<<2)>>1]|0;u=b[n+(u<<2)+2>>1]|0;k=u<<16>>16;if(u<<16>>16<0){i=i-m|0;i=o>>>0>i>>>0?i:o;u=a+(i>>>3)|0;j=((W_(d[u>>0]|d[u+1>>0]<<8|d[u+2>>0]<<16|d[u+3>>0]<<24|0)|0)<<(i&7)>>>(k+32|0))+j|0;k=b[n+(j<<2)+2>>1]|0;j=b[n+(j<<2)>>1]|0}}else k=m;i=k+i|0;c[A>>2]=o>>>0>i>>>0?i:o;i=j+-60|0}l=+w(+D,+(+(0-i|0)))}b:do if((c[F>>2]|0)==3)f[g+148808+(v*480|0)>>2]=l;else{u=(h|0)==0;t=c[z>>2]|0;h=0;s=0;while(1){if((s|0)>=(t|0))break b;r=d[C>>0]|0;q=0;p=h;while(1){if(q>>>0>=r>>>0)break;if(c[g+6160+(p<<2)>>2]|0){if(u){n=c[278111]|0;h=c[A>>2]|0;o=c[B>>2]|0;a=c[e>>2]|0;k=a+(h>>>3)|0;k=(W_(d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24|0)|0)<<(h&7)>>>25;j=b[n+(k<<2)>>1]|0;k=b[n+(k<<2)+2>>1]|0;m=k<<16>>16;if(k<<16>>16<0){h=h+7|0;h=o>>>0>h>>>0?h:o;H=a+(h>>>3)|0;H=((W_(d[H>>0]|d[H+1>>0]<<8|d[H+2>>0]<<16|d[H+3>>0]<<24|0)|0)<<(h&7)>>>(m+32|0))+j|0;j=b[n+(H<<2)>>1]|0;H=b[n+(H<<2)+2>>1]|0;k=H<<16>>16;if(H<<16>>16<0){h=h-m|0;h=o>>>0>h>>>0?h:o;H=a+(h>>>3)|0;j=((W_(d[H>>0]|d[H+1>>0]<<8|d[H+2>>0]<<16|d[H+3>>0]<<24|0)|0)<<(h&7)>>>(k+32|0))+j|0;k=b[n+(j<<2)+2>>1]|0;j=b[n+(j<<2)>>1]|0}}else k=m;h=k+h|0;c[A>>2]=o>>>0>h>>>0?h:o;h=j+-60|0;if(h){i=h+i|0;l=+w(+D,+(+(0-(i>>y)|0)));l=l*(x?1.0:+(1-(i<<1&2)|0))}}f[g+148808+(v*480|0)+(p<<2)>>2]=l}q=q+1|0;p=p+1|0}h=p;s=s+1|0}}while(0);v=v+1|0}}while(0);return h|0}function Je(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0,l=0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,H=0,J=0,K=0;K=Mb;Mb=Mb+1072|0;J=K+1048|0;H=K+1040|0;F=K+768|0;j=K+1056|0;k=K+1052|0;D=K+1032|0;E=K+1024|0;A=K+256|0;B=K;c[F>>2]=j;c[F+4>>2]=k;c[F+8>>2]=K+1060;if(!((gV(f,212812,F)|0)==2?(i=c[j>>2]|0,i=Pe(b,e,h,1.0,c[k>>2]|0,i,((i|0)<0)<<31>>31)|0,(i|0)>-1):0)){s=e+12|0;v=e+44|0;w=e+16|0;x=e+32|0;y=e+24|0;z=e+16|0;i=0;while(1){r=E;c[r>>2]=1;c[r+4>>2]=0;if(!(c[s>>2]|0)){j=a[f>>0]|0;switch(j<<24>>24){case 45:case 43:{l=j<<24>>24;j=f+1|0;break}default:{l=0;j=f}}f=0;a:while(1){if(f>>>0>=255)break;k=a[j+f>>0]|0;switch(k<<24>>24){case 45:case 43:case 0:break a;default:{}}a[F+f>>0]=k;f=f+1|0}a[F+f>>0]=0;r=f}else{l=0;r=0;j=f}q=(r|0)!=0;o=q?F:j;k=wY(d,o,c[v>>2]|0,0,0)|0;if((k|0)!=0?(c[k+12>>2]|0)==128:0){p=k+16|0;g[D>>3]=+((c[p>>2]|0)>>>0)+4294967296.0*+(c[p+4>>2]|0);p=33}else p=15;do if((p|0)==15){f=c[v>>2]|0;do if(f){n=0;k=0;b:while(1){do{k=aJ(d,k)|0;if(!k){p=26;break b}}while(!(((c[k+12>>2]|0)==128?(C=c[k+44>>2]|0,C|0):0)?(PF(C,f)|0)==0:0));if((n+6|0)>>>0>63){p=24;break}c[B+(n<<2)>>2]=c[k>>2];p=k+16|0;g[A+(n<<3)>>3]=+((c[p>>2]|0)>>>0)+4294967296.0*+(c[p+4>>2]|0);n=n+1|0}if((p|0)==24){p=0;c[H>>2]=f;AD(b,16,212826,H);i=-1163346256;break}else if((p|0)==26){f=n;k=B+(n<<2)|0;p=27;break}}else{f=0;k=B;p=27}while(0);if((p|0)==27){p=0;c[k>>2]=212863;switch(c[s>>2]|0){case 1:case 0:case 128:case 9:case 2:{n=z;m=+((c[n>>2]|0)>>>0)+4294967296.0*+(c[n+4>>2]|0);break}default:m=+g[w>>3]}k=f+1|0;g[A+(f<<3)>>3]=m;c[B+(k<<2)>>2]=217669;n=f+2|0;g[A+(k<<3)>>3]=+g[x>>3];c[B+(n<<2)>>2]=217673;k=f+3|0;g[A+(n<<3)>>3]=+g[y>>3];c[B+(k<<2)>>2]=221851;n=f+4|0;g[A+(k<<3)>>3]=0.0;c[B+(n<<2)>>2]=212871;k=f+5|0;g[A+(n<<3)>>3]=-1.0;c[B+(k<<2)>>2]=0;g[A+(k<<3)>>3]=0.0;k=Ey(D,o,B,A,0,0,0,0,0,0,b)|0;if((k|0)>=0){p=33;break}c[J>>2]=j;AD(b,16,212875,J);i=k}f=1}while(0);if((p|0)==33){c:do if(!(c[s>>2]|0)){si(e,h,0,0,E)|0;switch(l|0){case 43:{p=E;m=+g[D>>3];m=+((c[p>>2]|~~m>>>0)>>>0)+4294967296.0*+(c[p+4>>2]|(+u(m)>=1.0?(m>0.0?~~+I(+t(m/4294967296.0),4294967295.0)>>>0:~~+G((m-+(~~m>>>0))/4294967296.0)>>>0):0)|0);g[D>>3]=m;break c}case 45:{p=E;m=+g[D>>3];m=+((c[p>>2]&~(~~m>>>0))>>>0)+4294967296.0*+(c[p+4>>2]&~(+u(m)>=1.0?(m>0.0?~~+I(+t(m/4294967296.0),4294967295.0)>>>0:~~+G((m-+(~~m>>>0))/4294967296.0)>>>0):0)|0);g[D>>3]=m;break c}default:break c}}while(0);k=Pe(b,e,h,+g[D>>3],1,1,0)|0;if((k|0)>=0){j=j+r|0;if(q){r=(a[j>>0]|0)==0;f=r&1;i=r?0:i}else{f=1;i=0}}else{f=1;i=k}}if(!f)f=j;else break}}Mb=K;return i|0}function Ke(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;r=Mb;Mb=Mb+112|0;q=c[21792+(i+-2<<2)>>2]|0;m=r+16|0;j=q>>1;a:do if((i|0)>17){k=e+-1|0;l=i+-11|0;b:do if(l>>>0<15&(i+-12|0)>>>0<13){k=0;while(1){if(k>>>0>16)break;p=e+(k+-1)|0;c[m+k>>2]=d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24;k=k+4|0}k=21936+(l<<2)|0;while(1){if((j|0)>=0){k=m;break b}p=f+(((H(c[k>>2]|0,j)|0)+128>>8)+-1)|0;a[m+j>>0]=a[p>>0]|0;j=j+1|0}}while(0);j=0;while(1){if((j|0)==16)break;p=j+1|0;n=H(p,q)|0;m=n>>5;n=n&31;c:do if(!n){m=m+1|0;l=H(j,g)|0;j=0;while(1){if(j>>>0>=16)break c;n=k+(m+j)|0;n=d[n>>0]|d[n+1>>0]<<8|d[n+2>>0]<<16|d[n+3>>0]<<24;o=b+(j+l)|0;a[o>>0]=n;a[o+1>>0]=n>>8;a[o+2>>0]=n>>16;a[o+3>>0]=n>>24;j=j+4|0}}else{o=32-n|0;l=H(j,g)|0;j=0;while(1){if(j>>>0>=16)break c;s=j+m|0;t=H(o,d[k+(s+1)>>0]|0)|0;s=(t+16+(H(n,d[k+(s+2)>>0]|0)|0)|0)>>>5&255;a[b+(j+l)>>0]=s;s=j|1;t=s+m|0;u=H(o,d[k+(t+1)>>0]|0)|0;t=(u+16+(H(n,d[k+(t+2)>>0]|0)|0)|0)>>>5&255;a[b+(s+l)>>0]=t;s=j|2;t=s+m|0;u=H(o,d[k+(t+1)>>0]|0)|0;t=(u+16+(H(n,d[k+(t+2)>>0]|0)|0)|0)>>>5&255;a[b+(s+l)>>0]=t;s=j|3;t=s+m|0;u=H(o,d[k+(t+1)>>0]|0)|0;t=(u+16+(H(n,d[k+(t+2)>>0]|0)|0)|0)>>>5&255;a[b+(s+l)>>0]=t;j=j+4|0}}while(0);j=p}if((h|0)==0&(i|0)==26){k=f+-1|0;j=0;while(1){if((j|0)==16)break a;t=((d[f+j>>0]|0)-(d[k>>0]|0)>>1)+(d[e>>0]|0)|0;u=b+(H(j,g)|0)|0;a[u>>0]=t>>>0>255?0-t>>31:t;j=j+1|0}}}else{k=f+-1|0;l=i+-11|0;d:do if(l>>>0<15&(i+-12|0)>>>0<13){k=0;while(1){if(k>>>0>16)break;u=f+(k+-1)|0;c[m+k>>2]=d[u>>0]|d[u+1>>0]<<8|d[u+2>>0]<<16|d[u+3>>0]<<24;k=k+4|0}k=21936+(l<<2)|0;while(1){if((j|0)>=0){k=m;break d}u=e+(((H(c[k>>2]|0,j)|0)+128>>8)+-1)|0;a[m+j>>0]=a[u>>0]|0;j=j+1|0}}while(0);n=0;while(1){if((n|0)==16)break;o=n+1|0;l=H(o,q)|0;p=l>>5;l=l&31;e:do if(!l){j=0;while(1){if((j|0)==16)break e;u=j+1|0;t=b+((H(j,g)|0)+n)|0;a[t>>0]=a[k+(u+p)>>0]|0;j=u}}else{m=32-l|0;j=0;while(1){if((j|0)==16)break e;t=j+p|0;u=H(m,d[k+(t+1)>>0]|0)|0;t=(u+16+(H(l,d[k+(t+2)>>0]|0)|0)|0)>>>5&255;u=b+((H(j,g)|0)+n)|0;a[u>>0]=t;j=j+1|0}}while(0);n=o}if((h|0)==0&(i|0)==10){k=e+-1|0;j=0;while(1){if(j>>>0>=16)break a;u=((d[e+j>>0]|0)-(d[k>>0]|0)>>1)+(d[f>>0]|0)|0;a[b+j>>0]=u>>>0>255?0-u>>31:u;u=j|1;t=((d[e+u>>0]|0)-(d[k>>0]|0)>>1)+(d[f>>0]|0)|0;a[b+u>>0]=t>>>0>255?0-t>>31:t;u=j|2;t=((d[e+u>>0]|0)-(d[k>>0]|0)>>1)+(d[f>>0]|0)|0;a[b+u>>0]=t>>>0>255?0-t>>31:t;u=j|3;t=((d[e+u>>0]|0)-(d[k>>0]|0)>>1)+(d[f>>0]|0)|0;a[b+u>>0]=t>>>0>255?0-t>>31:t;j=j+4|0}}}while(0);Mb=r;return}function Le(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;k=h>>1;A=g*13|0;i=c;j=0;d=d+(0-(h&-2)<<1)|0;while(1){if((j|0)==13)break;x=d+2|0;y=d+-2|0;w=d+4|0;u=H((e[w>>1]|0)+(e[y>>1]|0)|0,-5)|0;v=d+6|0;b[i>>1]=(((e[x>>1]|0)+(e[d>>1]|0)|0)*20|0)+55306+(e[d+-4>>1]|0)+u+(e[v>>1]|0);u=H((e[v>>1]|0)+(e[d>>1]|0)|0,-5)|0;t=d+8|0;b[i+2>>1]=(((e[w>>1]|0)+(e[x>>1]|0)|0)*20|0)+55306+(e[y>>1]|0)+u+(e[t>>1]|0);u=H((e[t>>1]|0)+(e[x>>1]|0)|0,-5)|0;y=d+10|0;b[i+4>>1]=(((e[v>>1]|0)+(e[w>>1]|0)|0)*20|0)+55306+(e[d>>1]|0)+u+(e[y>>1]|0);u=H((e[y>>1]|0)+(e[w>>1]|0)|0,-5)|0;z=d+12|0;b[i+6>>1]=(((e[t>>1]|0)+(e[v>>1]|0)|0)*20|0)+55306+(e[x>>1]|0)+u+(e[z>>1]|0);u=H((e[z>>1]|0)+(e[v>>1]|0)|0,-5)|0;x=d+14|0;b[i+8>>1]=(((e[y>>1]|0)+(e[t>>1]|0)|0)*20|0)+55306+(e[w>>1]|0)+u+(e[x>>1]|0);u=H((e[x>>1]|0)+(e[t>>1]|0)|0,-5)|0;w=d+16|0;b[i+10>>1]=(((e[z>>1]|0)+(e[y>>1]|0)|0)*20|0)+55306+(e[v>>1]|0)+u+(e[w>>1]|0);u=H((e[w>>1]|0)+(e[y>>1]|0)|0,-5)|0;v=d+18|0;b[i+12>>1]=(((e[x>>1]|0)+(e[z>>1]|0)|0)*20|0)+55306+(e[t>>1]|0)+u+(e[v>>1]|0);z=H((e[v>>1]|0)+(e[z>>1]|0)|0,-5)|0;b[i+14>>1]=(((e[w>>1]|0)+(e[x>>1]|0)|0)*20|0)+55306+(e[y>>1]|0)+z+(e[d+20>>1]|0);i=i+(g<<1)|0;j=j+1|0;d=d+(k<<1)|0}o=f>>1;p=H(g,-2)|0;q=0-g|0;r=g<<1;s=g*3|0;t=g<<2;u=g*5|0;v=g*6|0;w=g*7|0;x=g<<3;y=g*9|0;z=g*10|0;j=f&-2;k=o*3|0;f=o<<2;l=o*5|0;m=o*6|0;n=o*7|0;i=a;d=c+(A<<1)+((H(g,-11)|0)<<1)|0;h=0;while(1){if((h|0)==8)break;Q=(b[d+(q<<1)>>1]|0)+10230|0;P=(b[d>>1]|0)+10230|0;N=b[d+(g<<1)>>1]|0;O=N+10230|0;L=b[d+(r<<1)>>1]|0;M=L+10230|0;J=b[d+(s<<1)>>1]|0;K=J+10230|0;G=b[d+(t<<1)>>1]|0;I=G+10230|0;E=b[d+(u<<1)>>1]|0;F=E+10230|0;c=(b[d+(v<<1)>>1]|0)+10230|0;B=(b[d+(w<<1)>>1]|0)+10230|0;C=(b[d+(x<<1)>>1]|0)+10230|0;a=(b[d+(y<<1)>>1]|0)+10230|0;D=b[d+(z<<1)>>1]|0;A=(b[d+(p<<1)>>1]|0)+10742+K+((O+P|0)*20|0)+(H(M+Q|0,-5)|0)>>10;b[i>>1]=((e[i>>1]|0)+1+(A>>>0<1024?A:0-A>>31&1023)|0)>>>1;A=i+(o<<1)|0;G=G+10742|0;Q=G+Q+((M+O|0)*20|0)+(H(K+P|0,-5)|0)>>10;b[A>>1]=((Q>>>0<1024?Q:0-Q>>31&1023)+1+(e[A>>1]|0)|0)>>>1;A=i+(j<<1)|0;O=E+10742+P+((K+M|0)*20|0)+(H(I+O|0,-5)|0)>>10;b[A>>1]=((O>>>0<1024?O:0-O>>31&1023)+1+(e[A>>1]|0)|0)>>>1;A=i+(k<<1)|0;M=N+10742+c+((I+K|0)*20|0)+(H(F+M|0,-5)|0)>>10;b[A>>1]=((M>>>0<1024?M:0-M>>31&1023)+1+(e[A>>1]|0)|0)>>>1;A=i+(f<<1)|0;K=L+10742+B+((F+I|0)*20|0)+(H(c+K|0,-5)|0)>>10;b[A>>1]=((K>>>0<1024?K:0-K>>31&1023)+1+(e[A>>1]|0)|0)>>>1;A=i+(l<<1)|0;I=J+10742+C+((c+F|0)*20|0)+(H(B+I|0,-5)|0)>>10;b[A>>1]=((I>>>0<1024?I:0-I>>31&1023)+1+(e[A>>1]|0)|0)>>>1;A=i+(m<<1)|0;F=G+a+((B+c|0)*20|0)+(H(C+F|0,-5)|0)>>10;b[A>>1]=((F>>>0<1024?F:0-F>>31&1023)+1+(e[A>>1]|0)|0)>>>1;A=i+(n<<1)|0;c=E+20972+D+((C+B|0)*20|0)+(H(a+c|0,-5)|0)>>10;b[A>>1]=((c>>>0<1024?c:0-c>>31&1023)+1+(e[A>>1]|0)|0)>>>1;i=i+2|0;d=d+2|0;h=h+1|0}return}function Me(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;r=Mb;Mb=Mb+112|0;q=c[21792+(i+-2<<2)>>2]|0;m=r+8|0;j=q>>2;a:do if((i|0)>17){k=e+-1|0;l=i+-11|0;b:do if(l>>>0<15&(i+-12|0)>>>0<13){k=0;while(1){if(k>>>0>8)break;p=e+(k+-1)|0;c[m+k>>2]=d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24;k=k+4|0}k=21936+(l<<2)|0;while(1){if((j|0)>=0){k=m;break b}p=f+(((H(c[k>>2]|0,j)|0)+128>>8)+-1)|0;a[m+j>>0]=a[p>>0]|0;j=j+1|0}}while(0);j=0;while(1){if((j|0)==8)break;p=j+1|0;n=H(p,q)|0;m=n>>5;n=n&31;c:do if(!n){m=m+1|0;l=H(j,g)|0;j=0;while(1){if(j>>>0>=8)break c;n=k+(m+j)|0;n=d[n>>0]|d[n+1>>0]<<8|d[n+2>>0]<<16|d[n+3>>0]<<24;o=b+(j+l)|0;a[o>>0]=n;a[o+1>>0]=n>>8;a[o+2>>0]=n>>16;a[o+3>>0]=n>>24;j=j+4|0}}else{o=32-n|0;l=H(j,g)|0;j=0;while(1){if(j>>>0>=8)break c;s=j+m|0;t=H(o,d[k+(s+1)>>0]|0)|0;s=(t+16+(H(n,d[k+(s+2)>>0]|0)|0)|0)>>>5&255;a[b+(j+l)>>0]=s;s=j|1;t=s+m|0;u=H(o,d[k+(t+1)>>0]|0)|0;t=(u+16+(H(n,d[k+(t+2)>>0]|0)|0)|0)>>>5&255;a[b+(s+l)>>0]=t;s=j|2;t=s+m|0;u=H(o,d[k+(t+1)>>0]|0)|0;t=(u+16+(H(n,d[k+(t+2)>>0]|0)|0)|0)>>>5&255;a[b+(s+l)>>0]=t;s=j|3;t=s+m|0;u=H(o,d[k+(t+1)>>0]|0)|0;t=(u+16+(H(n,d[k+(t+2)>>0]|0)|0)|0)>>>5&255;a[b+(s+l)>>0]=t;j=j+4|0}}while(0);j=p}if((h|0)==0&(i|0)==26){k=f+-1|0;j=0;while(1){if((j|0)==8)break a;t=((d[f+j>>0]|0)-(d[k>>0]|0)>>1)+(d[e>>0]|0)|0;u=b+(H(j,g)|0)|0;a[u>>0]=t>>>0>255?0-t>>31:t;j=j+1|0}}}else{k=f+-1|0;l=i+-11|0;d:do if(l>>>0<15&(i+-12|0)>>>0<13){k=0;while(1){if(k>>>0>8)break;u=f+(k+-1)|0;c[m+k>>2]=d[u>>0]|d[u+1>>0]<<8|d[u+2>>0]<<16|d[u+3>>0]<<24;k=k+4|0}k=21936+(l<<2)|0;while(1){if((j|0)>=0){k=m;break d}u=e+(((H(c[k>>2]|0,j)|0)+128>>8)+-1)|0;a[m+j>>0]=a[u>>0]|0;j=j+1|0}}while(0);n=0;while(1){if((n|0)==8)break;o=n+1|0;l=H(o,q)|0;p=l>>5;l=l&31;e:do if(!l){j=0;while(1){if((j|0)==8)break e;u=j+1|0;t=b+((H(j,g)|0)+n)|0;a[t>>0]=a[k+(u+p)>>0]|0;j=u}}else{m=32-l|0;j=0;while(1){if((j|0)==8)break e;t=j+p|0;u=H(m,d[k+(t+1)>>0]|0)|0;t=(u+16+(H(l,d[k+(t+2)>>0]|0)|0)|0)>>>5&255;u=b+((H(j,g)|0)+n)|0;a[u>>0]=t;j=j+1|0}}while(0);n=o}if((h|0)==0&(i|0)==10){k=e+-1|0;j=0;while(1){if(j>>>0>=8)break a;u=((d[e+j>>0]|0)-(d[k>>0]|0)>>1)+(d[f>>0]|0)|0;a[b+j>>0]=u>>>0>255?0-u>>31:u;u=j|1;t=((d[e+u>>0]|0)-(d[k>>0]|0)>>1)+(d[f>>0]|0)|0;a[b+u>>0]=t>>>0>255?0-t>>31:t;u=j|2;t=((d[e+u>>0]|0)-(d[k>>0]|0)>>1)+(d[f>>0]|0)|0;a[b+u>>0]=t>>>0>255?0-t>>31:t;u=j|3;t=((d[e+u>>0]|0)-(d[k>>0]|0)>>1)+(d[f>>0]|0)|0;a[b+u>>0]=t>>>0>255?0-t>>31:t;j=j+4|0}}}while(0);Mb=r;return}function Ne(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;r=f>>1;m=(c|0)!=0;c=0-r|0;if(m){g=e[a+(c<<1)>>1]|0;c=e[a+(~r<<1)>>1]|0}else{c=e[a+(c<<1)>>1]|0;g=c}j=e[a+(1-r<<1)>>1]|0;k=j+2|0;q=(k+c+(g<<1)|0)>>>2;l=e[a+(2-r<<1)>>1]|0;i=g+2|0;j=(i+(j<<1)+l|0)>>>2;n=e[a+(3-r<<1)>>1]|0;k=(k+(l<<1)+n|0)>>>2;o=e[a+(4-r<<1)>>1]|0;l=(l+2+(n<<1)+o|0)>>>2;p=e[a+(5-r<<1)>>1]|0;n=(n+2+(o<<1)+p|0)>>>2;g=e[a+(6-r<<1)>>1]|0;o=(o+2+(p<<1)+g|0)>>>2;h=e[a+(7-r<<1)>>1]|0;p=(p+2+(g<<1)+h|0)>>>2;if(!d)c=h;else c=e[a+(8-r<<1)>>1]|0;d=(g+2+(h<<1)+c|0)>>>2;if(m){h=e[a+(~r<<1)>>1]|0;c=e[a+-2>>1]|0;g=h}else{h=e[a+-2>>1]|0;c=h;g=e[a+(~r<<1)>>1]|0}y=e[a+(r+-1<<1)>>1]|0;x=y+2|0;w=(x+h+(c<<1)|0)>>>2;m=f&-2;A=e[a+(m+-1<<1)>>1]|0;y=(c+2+(y<<1)+A|0)>>>2;h=r*3|0;z=e[a+(h+-1<<1)>>1]|0;x=(x+(A<<1)+z|0)>>>2;s=r<<2;C=e[a+(s+-1<<1)>>1]|0;A=(A+2+(z<<1)+C|0)>>>2;t=r*5|0;D=e[a+(t+-1<<1)>>1]|0;z=(z+2+(C<<1)+D|0)>>>2;u=r*6|0;B=e[a+(u+-1<<1)>>1]|0;C=(C+2+(D<<1)+B|0)>>>2;v=r*7|0;B=(D+2+(B<<1)+(e[a+(v+-1<<1)>>1]|0)|0)>>>2;c=(i+c+(g<<1)|0)>>>2;b[a+(u<<1)>>1]=(A+2+(z<<1)+C|0)>>>2;b[a+(v<<1)>>1]=(z+2+(C<<1)+B|0)>>>2;i=y+2|0;g=(i+(x<<1)+A|0)>>>2&65535;b[a+((u|1)<<1)>>1]=g;b[a+(s<<1)>>1]=g;g=(x+2+(A<<1)+z|0)>>>2&65535;b[a+(v+1<<1)>>1]=g;b[a+(t<<1)>>1]=g;i=(i+(w<<1)+c|0)>>>2&65535;b[a+(u+2<<1)>>1]=i;b[a+((s|1)<<1)>>1]=i;b[a+(m<<1)>>1]=i;i=(w+2+(y<<1)+x|0)>>>2&65535;b[a+(v+2<<1)>>1]=i;b[a+(t+1<<1)>>1]=i;b[a+(h<<1)>>1]=i;i=q+2|0;g=(i+w+(c<<1)|0)>>>2&65535;b[a+(v+3<<1)>>1]=g;b[a+(t+2<<1)>>1]=g;b[a+(h+1<<1)>>1]=g;b[a+(r<<1)>>1]=g;g=q+1|0;w=(g+c|0)>>>1&65535;b[a+(u+3<<1)>>1]=w;b[a+((s|2)<<1)>>1]=w;b[a+((f|1)<<1)>>1]=w;b[a>>1]=w;f=j+2|0;q=(f+(q<<1)+c|0)>>>2&65535;b[a+(v+4<<1)>>1]=q;b[a+(t+3<<1)>>1]=q;b[a+(h+2<<1)>>1]=q;b[a+(r+1<<1)>>1]=q;q=(g+j|0)>>>1&65535;b[a+(u+4<<1)>>1]=q;b[a+((s|3)<<1)>>1]=q;b[a+(m+2<<1)>>1]=q;b[a+2>>1]=q;q=(i+(j<<1)+k|0)>>>2&65535;b[a+(v+5<<1)>>1]=q;b[a+(t+4<<1)>>1]=q;b[a+(h+3<<1)>>1]=q;b[a+(r+2<<1)>>1]=q;q=(j+1+k|0)>>>1&65535;b[a+(u+5<<1)>>1]=q;b[a+(s+4<<1)>>1]=q;b[a+(m+3<<1)>>1]=q;b[a+4>>1]=q;f=(f+(k<<1)+l|0)>>>2&65535;b[a+(v+6<<1)>>1]=f;b[a+(t+5<<1)>>1]=f;b[a+(h+4<<1)>>1]=f;b[a+(r+3<<1)>>1]=f;f=(k+1+l|0)>>>1&65535;b[a+(u+6<<1)>>1]=f;b[a+(s+5<<1)>>1]=f;b[a+(m+4<<1)>>1]=f;b[a+6>>1]=f;f=(k+2+(l<<1)+n|0)>>>2&65535;b[a+(v+7<<1)>>1]=f;b[a+(t+6<<1)>>1]=f;b[a+(h+5<<1)>>1]=f;b[a+(r+4<<1)>>1]=f;f=(l+1+n|0)>>>1&65535;b[a+(u+7<<1)>>1]=f;b[a+(s+6<<1)>>1]=f;b[a+(m+5<<1)>>1]=f;b[a+8>>1]=f;f=(l+2+(n<<1)+o|0)>>>2&65535;b[a+(t+7<<1)>>1]=f;b[a+(h+6<<1)>>1]=f;b[a+(r+5<<1)>>1]=f;f=(n+1+o|0)>>>1&65535;b[a+(s+7<<1)>>1]=f;b[a+(m+6<<1)>>1]=f;b[a+10>>1]=f;f=(n+2+(o<<1)+p|0)>>>2&65535;b[a+(h+7<<1)>>1]=f;b[a+(r+6<<1)>>1]=f;f=(o+1+p|0)>>>1&65535;b[a+(m+7<<1)>>1]=f;b[a+12>>1]=f;b[a+(r+7<<1)>>1]=(o+2+(p<<1)+d|0)>>>2;b[a+14>>1]=(p+1+d|0)>>>1;return}function Oe(b,e,f,g,h,i,j){b=b|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,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;X=H(e,-3)|0;Y=H(e,-2)|0;Z=0-e|0;I=e<<1;J=f*3|0;K=J+X|0;L=J+Y|0;M=J-e|0;N=J+I|0;O=J+e|0;P=g>>3;Q=g>>2;R=H(e,-4)|0;S=e*3|0;T=f<<2;U=(g>>1)+g>>3;V=J+R|0;W=J+S|0;G=0;while(1){if((G|0)==2)break;k=d[b+Z>>0]|0;s=(d[b+X>>0]|0)-((d[b+Y>>0]|0)<<1)+k|0;s=(s|0)>-1?s:0-s|0;l=d[b>>0]|0;u=(d[b+I>>0]|0)-((d[b+e>>0]|0)<<1)+l|0;u=(u|0)>-1?u:0-u|0;m=d[b+M>>0]|0;t=(d[b+K>>0]|0)-((d[b+L>>0]|0)<<1)+m|0;t=(t|0)>-1?t:0-t|0;n=d[b+J>>0]|0;v=(d[b+N>>0]|0)-((d[b+O>>0]|0)<<1)+n|0;v=(v|0)>-1?v:0-v|0;o=u+s|0;p=v+t|0;F=c[h+(G<<2)>>2]|0;r=a[i+G>>0]|0;w=a[j+G>>0]|0;a:do if((p+o|0)<(g|0)){q=(F*5|0)+1>>1;E=(d[b+R>>0]|0)-k|0;D=(d[b+S>>0]|0)-l|0;if((((((D|0)>-1?D:0-D|0)+((E|0)>-1?E:0-E|0)|0)<(P|0)?(E=k-l|0,(((E|0)>-1?E:0-E|0)|0)<(q|0)):0)?(E=(d[b+V>>0]|0)-m|0,D=(d[b+W>>0]|0)-n|0,(((D|0)>-1?D:0-D|0)+((E|0)>-1?E:0-E|0)|0)<(P|0)):0)?(E=m-n|0,((o<<1|0)<(Q|0)?(((E|0)>-1?E:0-E|0)|0)<(q|0):0)&(p<<1|0)<(Q|0)):0){B=F<<1;z=r<<24>>24==0;A=0-B|0;m=w<<24>>24==0;k=0;l=b;while(1){if((k|0)==4)break a;n=l+X|0;o=d[n>>0]|0;p=l+Y|0;q=d[p>>0]|0;r=l+Z|0;s=d[r>>0]|0;t=d[l>>0]|0;u=l+e|0;v=d[u>>0]|0;w=l+I|0;x=d[w>>0]|0;y=d[l+S>>0]|0;if(z){F=d[l+R>>0]|0;E=t+s|0;D=((v+4+o+(E+q<<1)|0)>>>3)-s|0;a[r>>0]=((D|0)<(A|0)?A:(D|0)>(B|0)?B:D)+s;D=((E+2+o+q|0)>>>2)-q|0;a[p>>0]=((D|0)<(A|0)?A:(D|0)>(B|0)?B:D)+q;F=((E+4+(o*3|0)+q+(F<<1)|0)>>>3)-o|0;a[n>>0]=((F|0)<(A|0)?A:(F|0)>(B|0)?B:F)+o}if(m){F=t+s|0;E=((q+4+x+(F+v<<1)|0)>>>3)-t|0;a[l>>0]=((E|0)<(A|0)?A:(E|0)>(B|0)?B:E)+t;E=((F+2+v+x|0)>>>2)-v|0;a[u>>0]=((E|0)<(A|0)?A:(E|0)>(B|0)?B:E)+v;F=((F+4+v+(x*3|0)+(y<<1)|0)>>>3)-x|0;a[w>>0]=((F|0)<(A|0)?A:(F|0)>(B|0)?B:F)+x}k=k+1|0;l=l+f|0}}C=F>>1;D=F*10|0;E=0-F|0;B=r<<24>>24==0;A=w<<24>>24==0;z=B&(t+s|0)<(U|0);y=0-C|0;x=A&(v+u|0)<(U|0);n=0;o=b;while(1){if((n|0)==4)break a;p=d[o+X>>0]|0;q=o+Y|0;r=d[q>>0]|0;m=o+Z|0;s=d[m>>0]|0;t=d[o>>0]|0;u=o+e|0;v=d[u>>0]|0;w=d[o+I>>0]|0;k=((t-s|0)*9|0)+8+(H(v-r|0,-3)|0)>>4;if((((k|0)>-1?k:0-k|0)|0)<(D|0)){l=(k|0)<(E|0)?E:(k|0)>(F|0)?F:k;k=l+s|0;if(B)a[m>>0]=k>>>0>255?0-k>>31:k;k=t-l|0;if(A)a[o>>0]=k>>>0>255?0-k>>31:k;if(z){s=((p+1+s|0)>>>1)-r+l>>1;s=((s|0)<(y|0)?y:(s|0)>(C|0)?C:s)+r|0;a[q>>0]=s>>>0>255?0-s>>31:s}if(x){w=((t+1+w|0)>>>1)-v-l>>1;w=((w|0)<(y|0)?y:(w|0)>(C|0)?C:w)+v|0;a[u>>0]=w>>>0>255?0-w>>31:w}}n=n+1|0;o=o+f|0}}while(0);G=G+1|0;b=b+T|0}return}function Pe(a,b,d,e,h,i,j){a=a|0;b=b|0;d=d|0;e=+e;h=h|0;i=i|0;j=j|0;var k=0,l=0.0,m=0.0,n=0.0,o=0,p=0,q=0,t=0,u=0;u=Mb;Mb=Mb+64|0;k=u+40|0;q=u+8|0;o=u;p=c[b+12>>2]|0;a:do if(!p){l=+(h|0);m=(+(i>>>0)+4294967296.0*+(j|0))*e/l;if(!(m<-1.5|m>4294967295.5)?(q=LU(m*256.0)|0,M()|0,(q&255|0)==0&0==0):0){t=14;break}j=c[b>>2]|0;g[k>>3]=m;c[k+8>>2]=j;AD(a,16,212643,k);k=-34}else{if(!h){m=e!=0.0&((i|0)!=0|(j|0)!=0)?s:r;l=+g[b+32>>3]}else{n=+g[b+32>>3];l=+(h|0);m=(+(i>>>0)+4294967296.0*+(j|0))*e;if(!(n*l<m)?!(+g[b+24>>3]*l>m):0){b:do if((p|0)<1112493900)switch(p|0){case 1:{t=14;break a}case 2:{t=15;break b}case 6:{t=25;break b}case 9:{l=e/l;if((i|0)==1&(j|0)==0&l==18446744073709551616.0){k=d;c[k>>2]=-1;c[k+4>>2]=-1;k=0;break a}if(l>9223372036854775808.0){k=LU(l+-9223372036854775808.0)|0;i=MR(k|0,(M()|0)^-2147483648|0,i|0,j|0)|0;j=M()|0;k=d;c[k>>2]=i;c[k+4>>2]=j;k=0;break a}else{k=LU(l)|0;i=MR(k|0,M()|0,i|0,j|0)|0;j=M()|0;k=d;c[k>>2]=i;c[k+4>>2]=j;k=0;break a}}case 4:{f[d>>2]=m/l;k=0;break a}case 3:{g[d>>3]=m/l;k=0;break a}default:{k=-22;break a}}else{if((p|0)<1346784596){if((p|0)<1128811585)switch(p|0){case 1112493900:{t=14;break a}default:{k=-22;break a}}if((p|0)<1146442272)switch(p|0){case 1128811585:{t=15;break b}default:{k=-22;break a}}else switch(p|0){case 1146442272:{t=15;break b}default:{k=-22;break a}}}if((p|0)<1397116244){switch(p|0){case 1346784596:break;default:{k=-22;break a}}k=LU(e/l)|0;k=MR(k|0,M()|0,i|0,j|0)|0;M()|0;c[d>>2]=k;k=0;break a}if((p|0)>=1448231252)switch(p|0){case 1448231252:{t=25;break b}default:{k=-22;break a}}switch(p|0){case 1397116244:break;default:{k=-22;break a}}k=LU(e/l)|0;k=MR(k|0,M()|0,i|0,j|0)|0;M()|0;c[d>>2]=k;k=0;break a}while(0);if((t|0)==15){l=e/l;if((i|0)==1&(j|0)==0&l==9223372036854775808.0){k=d;c[k>>2]=-1;c[k+4>>2]=2147483647;k=0;break}else{k=LU(l)|0;i=MR(k|0,M()|0,i|0,j|0)|0;j=M()|0;k=d;c[k>>2]=i;c[k+4>>2]=j;k=0;break}}else if((t|0)==25)if(+(~~e|0)==e){c[d>>2]=~~m;c[d+4>>2]=h;k=0;break}else{xp(o,m/l,16777216);i=o;j=c[i+4>>2]|0;k=d;c[k>>2]=c[i>>2];c[k+4>>2]=j;k=0;break}}m=m/l;l=n}k=c[b>>2]|0;e=+g[b+24>>3];g[q>>3]=m;c[q+8>>2]=k;g[q+16>>3]=e;g[q+24>>3]=l;AD(a,16,212591,q);k=-34}while(0);if((t|0)==14){k=LU(e/l)|0;k=MR(k|0,M()|0,i|0,j|0)|0;M()|0;c[d>>2]=k;k=0}Mb=u;return k|0}function Qe(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;p=f>>1;g=(c|0)!=0;d=0-p|0;if(g){c=e[a+(d<<1)>>1]|0;d=e[a+(~p<<1)>>1]|0}else{d=e[a+(d<<1)>>1]|0;c=d}i=e[a+(1-p<<1)>>1]|0;j=i+2|0;o=(j+d+(c<<1)|0)>>>2;k=e[a+(2-p<<1)>>1]|0;h=c+2|0;i=(h+(i<<1)+k|0)>>>2;l=e[a+(3-p<<1)>>1]|0;j=(j+(k<<1)+l|0)>>>2;m=e[a+(4-p<<1)>>1]|0;k=(k+2+(l<<1)+m|0)>>>2;c=e[a+(5-p<<1)>>1]|0;l=(l+2+(m<<1)+c|0)>>>2;n=e[a+(6-p<<1)>>1]|0;m=(m+2+(c<<1)+n|0)>>>2;n=(c+2+(n<<1)+(e[a+(7-p<<1)>>1]|0)|0)>>>2;if(g){g=e[a+(~p<<1)>>1]|0;d=e[a+-2>>1]|0;c=g}else{g=e[a+-2>>1]|0;d=g;c=e[a+(~p<<1)>>1]|0}t=e[a+(p+-1<<1)>>1]|0;v=t+2|0;r=(v+g+(d<<1)|0)>>>2;g=f&-2;x=e[a+(g+-1<<1)>>1]|0;t=(d+2+(t<<1)+x|0)>>>2;q=p*3|0;z=e[a+(q+-1<<1)>>1]|0;v=(v+(x<<1)+z|0)>>>2;s=p<<2;A=e[a+(s+-1<<1)>>1]|0;x=(x+2+(z<<1)+A|0)>>>2;u=p*5|0;B=e[a+(u+-1<<1)>>1]|0;z=(z+2+(A<<1)+B|0)>>>2;w=p*6|0;D=e[a+(w+-1<<1)>>1]|0;A=(A+2+(B<<1)+D|0)>>>2;y=p*7|0;C=e[a+(y+-1<<1)>>1]|0;B=(B+2+(D<<1)+C|0)>>>2;C=(D+2+(C*3|0)|0)>>>2;c=(h+d+(c<<1)|0)>>>2;b[a+(y<<1)>>1]=(B+1+C|0)>>>1;b[a+(y+1<<1)>>1]=(A+2+C+(B<<1)|0)>>>2;d=(A+1+B|0)>>>1&65535;b[a+(y+2<<1)>>1]=d;b[a+(w<<1)>>1]=d;d=(z+2+(A<<1)+B|0)>>>2&65535;b[a+(y+3<<1)>>1]=d;b[a+((w|1)<<1)>>1]=d;d=(z+1+A|0)>>>1&65535;b[a+(y+4<<1)>>1]=d;b[a+(w+2<<1)>>1]=d;b[a+(u<<1)>>1]=d;d=(x+2+(z<<1)+A|0)>>>2&65535;b[a+(y+5<<1)>>1]=d;b[a+(w+3<<1)>>1]=d;b[a+(u+1<<1)>>1]=d;d=(x+1+z|0)>>>1&65535;b[a+(y+6<<1)>>1]=d;b[a+(w+4<<1)>>1]=d;b[a+(u+2<<1)>>1]=d;b[a+(s<<1)>>1]=d;d=(v+2+(x<<1)+z|0)>>>2&65535;b[a+(y+7<<1)>>1]=d;b[a+(w+5<<1)>>1]=d;b[a+(u+3<<1)>>1]=d;b[a+((s|1)<<1)>>1]=d;d=(v+1+x|0)>>>1&65535;b[a+(w+6<<1)>>1]=d;b[a+(u+4<<1)>>1]=d;b[a+((s|2)<<1)>>1]=d;b[a+(q<<1)>>1]=d;d=t+2|0;h=(d+(v<<1)+x|0)>>>2&65535;b[a+(w+7<<1)>>1]=h;b[a+(u+5<<1)>>1]=h;b[a+((s|3)<<1)>>1]=h;b[a+(q+1<<1)>>1]=h;h=(t+1+v|0)>>>1&65535;b[a+(u+6<<1)>>1]=h;b[a+(s+4<<1)>>1]=h;b[a+(q+2<<1)>>1]=h;b[a+(g<<1)>>1]=h;h=(r+2+(t<<1)+v|0)>>>2&65535;b[a+(u+7<<1)>>1]=h;b[a+(s+5<<1)>>1]=h;b[a+(q+3<<1)>>1]=h;b[a+((f|1)<<1)>>1]=h;h=r+1|0;f=(h+t|0)>>>1&65535;b[a+(s+6<<1)>>1]=f;b[a+(q+4<<1)>>1]=f;b[a+(g+2<<1)>>1]=f;b[a+(p<<1)>>1]=f;f=(d+(r<<1)+c|0)>>>2&65535;b[a+(s+7<<1)>>1]=f;b[a+(q+5<<1)>>1]=f;b[a+(g+3<<1)>>1]=f;b[a+(p+1<<1)>>1]=f;h=(h+c|0)>>>1&65535;b[a+(q+6<<1)>>1]=h;b[a+(g+4<<1)>>1]=h;b[a+(p+2<<1)>>1]=h;b[a>>1]=h;h=o+2|0;f=(h+r+(c<<1)|0)>>>2&65535;b[a+(q+7<<1)>>1]=f;b[a+(g+5<<1)>>1]=f;b[a+(p+3<<1)>>1]=f;b[a+2>>1]=f;f=i+2|0;o=(f+(o<<1)+c|0)>>>2&65535;b[a+(g+6<<1)>>1]=o;b[a+(p+4<<1)>>1]=o;b[a+4>>1]=o;o=(h+(i<<1)+j|0)>>>2&65535;b[a+(g+7<<1)>>1]=o;b[a+(p+5<<1)>>1]=o;b[a+6>>1]=o;f=(f+(j<<1)+k|0)>>>2&65535;b[a+(p+6<<1)>>1]=f;b[a+8>>1]=f;f=(j+2+(k<<1)+l|0)>>>2&65535;b[a+(p+7<<1)>>1]=f;b[a+10>>1]=f;b[a+12>>1]=(k+2+(l<<1)+m|0)>>>2;b[a+14>>1]=(l+2+(m<<1)+n|0)>>>2;return}function Re(d,f,g,h,i,j,k,l,m,n,o,p){d=d|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;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;q=i+112+(m*10|0)|0;u=c[i+100+(m<<2)>>2]|0;D=g>>>1;C=h>>>1;B=(u|0)!=1;if(B){a:do if(!(c[j>>2]|0))h=0;else{m=b[q>>1]|0;i=0;while(1){if((i|0)>=(l|0)){h=1;break a}z=f+((H(i,C)|0)<<1)|0;z=(e[z>>1]|0)+m|0;A=d+((H(i,D)|0)<<1)|0;b[A>>1]=z>>>0<4096?z:0-z>>31&4095;i=i+1|0}}while(0);b:do if(!(c[j+8>>2]|0))i=k;else{g=b[q>>1]|0;i=k+-1|0;m=0;while(1){if((m|0)>=(l|0))break b;z=f+((H(m,C)|0)+i<<1)|0;z=(e[z>>1]|0)+g|0;A=d+((H(m,D)|0)+i<<1)|0;b[A>>1]=z>>>0<4096?z:0-z>>31&4095;m=m+1|0}}while(0);if(!u){m=h;g=0;k=0;h=0;v=21}else v=11}else{i=k;h=0;v=11}do if((v|0)==11){t=c[j+4>>2]|0;s=(t|0)==0;c:do if(s)g=0;else{g=b[q>>1]|0;m=h;while(1){if((m|0)>=(i|0)){g=1;break c}A=(e[f+(m<<1)>>1]|0)+g|0;b[d+(m<<1)>>1]=A>>>0<4096?A:0-A>>31&4095;m=m+1|0}}while(0);d:do if(c[j+12>>2]|0){r=b[q>>1]|0;l=l+-1|0;k=H(l,D)|0;q=H(l,C)|0;m=h;while(1){if((m|0)>=(i|0))break d;A=(e[f+(m+q<<1)>>1]|0)+r|0;b[d+(m+k<<1)>>1]=A>>>0<4096?A:0-A>>31&4095;m=m+1|0}}while(0);k=(u|0)==2;if(k&(a[p>>0]|0)==0){m=h;k=1;h=(c[j>>2]|t|0)==0&1;v=21;break}q=p+1|0;m=(u|0)==3;if(m&(a[q>>0]|0)==0)if(s){A=l;y=h;z=k;x=1;h=0;s=(c[j+8>>2]|0)==0&1;u=1}else{A=l;y=h;z=k;x=1;h=0;s=0;u=1}else{A=l;y=h;z=k;x=m;h=0;s=0;u=1}}while(0);if((v|0)==21){A=l;y=m;z=k;x=0;s=0;u=k;q=p+1|0}v=p+2|0;if(z&(a[v>>0]|0)==0?(c[j+8>>2]|0)==0:0)r=(c[j+12>>2]|0)==0&1;else r=0;w=p+3|0;if(x&(a[w>>0]|0)==0?(c[j>>2]|0)==0:0)t=(c[j+12>>2]|0)==0&1;else t=0;e:do if(B&(a[n>>0]|0)!=0){l=A-t|0;m=g+h|0;while(1){if((m|0)>=(l|0))break e;k=f+((H(m,C)|0)<<1)|0;j=d+((H(m,D)|0)<<1)|0;b[j>>1]=b[k>>1]|0;m=m+1|0}}while(0);f:do if(B&(a[n+1>>0]|0)!=0){l=A-r|0;k=i+-1|0;m=s+g|0;while(1){if((m|0)>=(l|0))break f;j=f+(k+(H(m,C)|0)<<1)|0;n=d+(k+(H(m,D)|0)<<1)|0;b[n>>1]=b[j>>1]|0;m=m+1|0}}while(0);g:do if(u&(a[o>>0]|0)!=0){g=i-s|0;m=y+h|0;while(1){if((m|0)>=(g|0))break g;b[d+(m<<1)>>1]=b[f+(m<<1)>>1]|0;m=m+1|0}}while(0);h:do if(u&(a[o+1>>0]|0)!=0){g=i-r|0;l=A+-1|0;h=H(l,C)|0;l=H(l,D)|0;m=t+y|0;while(1){if((m|0)>=(g|0))break h;b[d+(m+l<<1)>>1]=b[f+(m+h<<1)>>1]|0;m=m+1|0}}while(0);if(z&(a[p>>0]|0)!=0)b[d>>1]=b[f>>1]|0;m=i+-1|0;if(x&(a[q>>0]|0)!=0)b[d+(m<<1)>>1]=b[f+(m<<1)>>1]|0;i=A+-1|0;if(z&(a[v>>0]|0)!=0){o=f+(m+(H(i,C)|0)<<1)|0;p=d+(m+(H(i,D)|0)<<1)|0;b[p>>1]=b[o>>1]|0}if(x&(a[w>>0]|0)!=0){d=d+((H(i,D)|0)<<1)|0;f=f+((H(i,C)|0)<<1)|0;b[d>>1]=b[f>>1]|0}return}function Se(d,f,g,h,i,j,k,l,m,n,o,p){d=d|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;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;q=i+112+(m*10|0)|0;u=c[i+100+(m<<2)>>2]|0;D=g>>>1;C=h>>>1;B=(u|0)!=1;if(B){a:do if(!(c[j>>2]|0))h=0;else{m=b[q>>1]|0;i=0;while(1){if((i|0)>=(l|0)){h=1;break a}z=f+((H(i,C)|0)<<1)|0;z=(e[z>>1]|0)+m|0;A=d+((H(i,D)|0)<<1)|0;b[A>>1]=z>>>0<1024?z:0-z>>31&1023;i=i+1|0}}while(0);b:do if(!(c[j+8>>2]|0))i=k;else{g=b[q>>1]|0;i=k+-1|0;m=0;while(1){if((m|0)>=(l|0))break b;z=f+((H(m,C)|0)+i<<1)|0;z=(e[z>>1]|0)+g|0;A=d+((H(m,D)|0)+i<<1)|0;b[A>>1]=z>>>0<1024?z:0-z>>31&1023;m=m+1|0}}while(0);if(!u){m=h;g=0;k=0;h=0;v=21}else v=11}else{i=k;h=0;v=11}do if((v|0)==11){t=c[j+4>>2]|0;s=(t|0)==0;c:do if(s)g=0;else{g=b[q>>1]|0;m=h;while(1){if((m|0)>=(i|0)){g=1;break c}A=(e[f+(m<<1)>>1]|0)+g|0;b[d+(m<<1)>>1]=A>>>0<1024?A:0-A>>31&1023;m=m+1|0}}while(0);d:do if(c[j+12>>2]|0){r=b[q>>1]|0;l=l+-1|0;k=H(l,D)|0;q=H(l,C)|0;m=h;while(1){if((m|0)>=(i|0))break d;A=(e[f+(m+q<<1)>>1]|0)+r|0;b[d+(m+k<<1)>>1]=A>>>0<1024?A:0-A>>31&1023;m=m+1|0}}while(0);k=(u|0)==2;if(k&(a[p>>0]|0)==0){m=h;k=1;h=(c[j>>2]|t|0)==0&1;v=21;break}q=p+1|0;m=(u|0)==3;if(m&(a[q>>0]|0)==0)if(s){A=l;y=h;z=k;x=1;h=0;s=(c[j+8>>2]|0)==0&1;u=1}else{A=l;y=h;z=k;x=1;h=0;s=0;u=1}else{A=l;y=h;z=k;x=m;h=0;s=0;u=1}}while(0);if((v|0)==21){A=l;y=m;z=k;x=0;s=0;u=k;q=p+1|0}v=p+2|0;if(z&(a[v>>0]|0)==0?(c[j+8>>2]|0)==0:0)r=(c[j+12>>2]|0)==0&1;else r=0;w=p+3|0;if(x&(a[w>>0]|0)==0?(c[j>>2]|0)==0:0)t=(c[j+12>>2]|0)==0&1;else t=0;e:do if(B&(a[n>>0]|0)!=0){l=A-t|0;m=g+h|0;while(1){if((m|0)>=(l|0))break e;k=f+((H(m,C)|0)<<1)|0;j=d+((H(m,D)|0)<<1)|0;b[j>>1]=b[k>>1]|0;m=m+1|0}}while(0);f:do if(B&(a[n+1>>0]|0)!=0){l=A-r|0;k=i+-1|0;m=s+g|0;while(1){if((m|0)>=(l|0))break f;j=f+(k+(H(m,C)|0)<<1)|0;n=d+(k+(H(m,D)|0)<<1)|0;b[n>>1]=b[j>>1]|0;m=m+1|0}}while(0);g:do if(u&(a[o>>0]|0)!=0){g=i-s|0;m=y+h|0;while(1){if((m|0)>=(g|0))break g;b[d+(m<<1)>>1]=b[f+(m<<1)>>1]|0;m=m+1|0}}while(0);h:do if(u&(a[o+1>>0]|0)!=0){g=i-r|0;l=A+-1|0;h=H(l,C)|0;l=H(l,D)|0;m=t+y|0;while(1){if((m|0)>=(g|0))break h;b[d+(m+l<<1)>>1]=b[f+(m+h<<1)>>1]|0;m=m+1|0}}while(0);if(z&(a[p>>0]|0)!=0)b[d>>1]=b[f>>1]|0;m=i+-1|0;if(x&(a[q>>0]|0)!=0)b[d+(m<<1)>>1]=b[f+(m<<1)>>1]|0;i=A+-1|0;if(z&(a[v>>0]|0)!=0){o=f+(m+(H(i,C)|0)<<1)|0;p=d+(m+(H(i,D)|0)<<1)|0;b[p>>1]=b[o>>1]|0}if(x&(a[w>>0]|0)!=0){d=d+((H(i,D)|0)<<1)|0;f=f+((H(i,C)|0)<<1)|0;b[d>>1]=b[f>>1]|0}return}function Te(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;t=f>>1;m=(c|0)!=0;c=0-t|0;if(m){g=e[a+(c<<1)>>1]|0;c=e[a+(~t<<1)>>1]|0}else{c=e[a+(c<<1)>>1]|0;g=c}j=e[a+(1-t<<1)>>1]|0;k=j+2|0;s=(k+c+(g<<1)|0)>>>2;l=e[a+(2-t<<1)>>1]|0;i=g+2|0;j=(i+(j<<1)+l|0)>>>2;n=e[a+(3-t<<1)>>1]|0;k=(k+(l<<1)+n|0)>>>2;p=e[a+(4-t<<1)>>1]|0;l=(l+2+(n<<1)+p|0)>>>2;r=e[a+(5-t<<1)>>1]|0;n=(n+2+(p<<1)+r|0)>>>2;o=e[a+(6-t<<1)>>1]|0;p=(p+2+(r<<1)+o|0)>>>2;q=e[a+(7-t<<1)>>1]|0;r=(r+2+(o<<1)+q|0)>>>2;if(!d)h=q;else h=e[a+(8-t<<1)>>1]|0;if(m){d=e[a+(~t<<1)>>1]|0;c=e[a+-2>>1]|0;g=d}else{d=e[a+-2>>1]|0;c=d;g=e[a+(~t<<1)>>1]|0}A=e[a+(t+-1<<1)>>1]|0;z=A+2|0;y=(z+d+(c<<1)|0)>>>2;m=f&-2;B=e[a+(m+-1<<1)>>1]|0;A=(c+2+(A<<1)+B|0)>>>2;d=t*3|0;C=e[a+(d+-1<<1)>>1]|0;z=(z+(B<<1)+C|0)>>>2;u=t<<2;D=e[a+(u+-1<<1)>>1]|0;B=(B+2+(C<<1)+D|0)>>>2;v=t*5|0;E=e[a+(v+-1<<1)>>1]|0;C=(C+2+(D<<1)+E|0)>>>2;w=t*6|0;G=e[a+(w+-1<<1)>>1]|0;D=(D+2+(E<<1)+G|0)>>>2;x=t*7|0;F=e[a+(x+-1<<1)>>1]|0;E=(E+2+(G<<1)+F|0)>>>2;g=(i+c+(g<<1)|0)>>>2;b[a+(x<<1)>>1]=(D+2+((G+2+(F*3|0)|0)>>>2)+(E<<1)|0)>>>2;i=(C+2+(D<<1)+E|0)>>>2&65535;b[a+(x+1<<1)>>1]=i;b[a+(w<<1)>>1]=i;i=(B+2+(C<<1)+D|0)>>>2&65535;b[a+(x+2<<1)>>1]=i;b[a+((w|1)<<1)>>1]=i;b[a+(v<<1)>>1]=i;i=(z+2+(B<<1)+C|0)>>>2&65535;b[a+(x+3<<1)>>1]=i;b[a+(w+2<<1)>>1]=i;b[a+(v+1<<1)>>1]=i;b[a+(u<<1)>>1]=i;i=A+2|0;c=(i+(z<<1)+B|0)>>>2&65535;b[a+(x+4<<1)>>1]=c;b[a+(w+3<<1)>>1]=c;b[a+(v+2<<1)>>1]=c;b[a+((u|1)<<1)>>1]=c;b[a+(d<<1)>>1]=c;c=(y+2+(A<<1)+z|0)>>>2&65535;b[a+(x+5<<1)>>1]=c;b[a+(w+4<<1)>>1]=c;b[a+(v+3<<1)>>1]=c;b[a+((u|2)<<1)>>1]=c;b[a+(d+1<<1)>>1]=c;b[a+(m<<1)>>1]=c;i=(i+(y<<1)+g|0)>>>2&65535;b[a+(x+6<<1)>>1]=i;b[a+(w+5<<1)>>1]=i;b[a+(v+4<<1)>>1]=i;b[a+((u|3)<<1)>>1]=i;b[a+(d+2<<1)>>1]=i;b[a+((f|1)<<1)>>1]=i;b[a+(t<<1)>>1]=i;i=s+2|0;f=(i+y+(g<<1)|0)>>>2&65535;b[a+(x+7<<1)>>1]=f;b[a+(w+6<<1)>>1]=f;b[a+(v+5<<1)>>1]=f;b[a+(u+4<<1)>>1]=f;b[a+(d+3<<1)>>1]=f;b[a+(m+2<<1)>>1]=f;b[a+(t+1<<1)>>1]=f;b[a>>1]=f;f=j+2|0;s=(f+(s<<1)+g|0)>>>2&65535;b[a+(w+7<<1)>>1]=s;b[a+(v+6<<1)>>1]=s;b[a+(u+5<<1)>>1]=s;b[a+(d+4<<1)>>1]=s;b[a+(m+3<<1)>>1]=s;b[a+(t+2<<1)>>1]=s;b[a+2>>1]=s;s=(i+(j<<1)+k|0)>>>2&65535;b[a+(v+7<<1)>>1]=s;b[a+(u+6<<1)>>1]=s;b[a+(d+5<<1)>>1]=s;b[a+(m+4<<1)>>1]=s;b[a+(t+3<<1)>>1]=s;b[a+4>>1]=s;f=(f+(k<<1)+l|0)>>>2&65535;b[a+(u+7<<1)>>1]=f;b[a+(d+6<<1)>>1]=f;b[a+(m+5<<1)>>1]=f;b[a+(t+4<<1)>>1]=f;b[a+6>>1]=f;f=(k+2+(l<<1)+n|0)>>>2&65535;b[a+(d+7<<1)>>1]=f;b[a+(m+6<<1)>>1]=f;b[a+(t+5<<1)>>1]=f;b[a+8>>1]=f;f=(l+2+(n<<1)+p|0)>>>2&65535;b[a+(m+7<<1)>>1]=f;b[a+(t+6<<1)>>1]=f;b[a+10>>1]=f;f=(n+2+(p<<1)+r|0)>>>2&65535;b[a+(t+7<<1)>>1]=f;b[a+12>>1]=f;b[a+14>>1]=(p+2+(r<<1)+((o+2+(q<<1)+h|0)>>>2)|0)>>>2;return}function Ue(d,f,g,h,i,j,k,l,m,n,o,p){d=d|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;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;q=i+112+(m*10|0)|0;u=c[i+100+(m<<2)>>2]|0;D=g>>>1;C=h>>>1;B=(u|0)!=1;if(B){a:do if(!(c[j>>2]|0))h=0;else{m=b[q>>1]|0;i=0;while(1){if((i|0)>=(l|0)){h=1;break a}z=f+((H(i,C)|0)<<1)|0;z=(e[z>>1]|0)+m|0;A=d+((H(i,D)|0)<<1)|0;b[A>>1]=z>>>0<512?z:0-z>>31&511;i=i+1|0}}while(0);b:do if(!(c[j+8>>2]|0))i=k;else{g=b[q>>1]|0;i=k+-1|0;m=0;while(1){if((m|0)>=(l|0))break b;z=f+((H(m,C)|0)+i<<1)|0;z=(e[z>>1]|0)+g|0;A=d+((H(m,D)|0)+i<<1)|0;b[A>>1]=z>>>0<512?z:0-z>>31&511;m=m+1|0}}while(0);if(!u){m=h;g=0;k=0;h=0;v=21}else v=11}else{i=k;h=0;v=11}do if((v|0)==11){t=c[j+4>>2]|0;s=(t|0)==0;c:do if(s)g=0;else{g=b[q>>1]|0;m=h;while(1){if((m|0)>=(i|0)){g=1;break c}A=(e[f+(m<<1)>>1]|0)+g|0;b[d+(m<<1)>>1]=A>>>0<512?A:0-A>>31&511;m=m+1|0}}while(0);d:do if(c[j+12>>2]|0){r=b[q>>1]|0;l=l+-1|0;k=H(l,D)|0;q=H(l,C)|0;m=h;while(1){if((m|0)>=(i|0))break d;A=(e[f+(m+q<<1)>>1]|0)+r|0;b[d+(m+k<<1)>>1]=A>>>0<512?A:0-A>>31&511;m=m+1|0}}while(0);k=(u|0)==2;if(k&(a[p>>0]|0)==0){m=h;k=1;h=(c[j>>2]|t|0)==0&1;v=21;break}q=p+1|0;m=(u|0)==3;if(m&(a[q>>0]|0)==0)if(s){A=l;y=h;z=k;x=1;h=0;s=(c[j+8>>2]|0)==0&1;u=1}else{A=l;y=h;z=k;x=1;h=0;s=0;u=1}else{A=l;y=h;z=k;x=m;h=0;s=0;u=1}}while(0);if((v|0)==21){A=l;y=m;z=k;x=0;s=0;u=k;q=p+1|0}v=p+2|0;if(z&(a[v>>0]|0)==0?(c[j+8>>2]|0)==0:0)r=(c[j+12>>2]|0)==0&1;else r=0;w=p+3|0;if(x&(a[w>>0]|0)==0?(c[j>>2]|0)==0:0)t=(c[j+12>>2]|0)==0&1;else t=0;e:do if(B&(a[n>>0]|0)!=0){l=A-t|0;m=g+h|0;while(1){if((m|0)>=(l|0))break e;k=f+((H(m,C)|0)<<1)|0;j=d+((H(m,D)|0)<<1)|0;b[j>>1]=b[k>>1]|0;m=m+1|0}}while(0);f:do if(B&(a[n+1>>0]|0)!=0){l=A-r|0;k=i+-1|0;m=s+g|0;while(1){if((m|0)>=(l|0))break f;j=f+(k+(H(m,C)|0)<<1)|0;n=d+(k+(H(m,D)|0)<<1)|0;b[n>>1]=b[j>>1]|0;m=m+1|0}}while(0);g:do if(u&(a[o>>0]|0)!=0){g=i-s|0;m=y+h|0;while(1){if((m|0)>=(g|0))break g;b[d+(m<<1)>>1]=b[f+(m<<1)>>1]|0;m=m+1|0}}while(0);h:do if(u&(a[o+1>>0]|0)!=0){g=i-r|0;l=A+-1|0;h=H(l,C)|0;l=H(l,D)|0;m=t+y|0;while(1){if((m|0)>=(g|0))break h;b[d+(m+l<<1)>>1]=b[f+(m+h<<1)>>1]|0;m=m+1|0}}while(0);if(z&(a[p>>0]|0)!=0)b[d>>1]=b[f>>1]|0;m=i+-1|0;if(x&(a[q>>0]|0)!=0)b[d+(m<<1)>>1]=b[f+(m<<1)>>1]|0;i=A+-1|0;if(z&(a[v>>0]|0)!=0){o=f+(m+(H(i,C)|0)<<1)|0;p=d+(m+(H(i,D)|0)<<1)|0;b[p>>1]=b[o>>1]|0}if(x&(a[w>>0]|0)!=0){d=d+((H(i,D)|0)<<1)|0;f=f+((H(i,C)|0)<<1)|0;b[d>>1]=b[f>>1]|0}return}function Ve(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=Mb;Mb=Mb+16|0;f=g;h=(b+-9|0)>>>0<8;c[a+128>>2]=h?1:2;c[a+124>>2]=h?3:4;a:do switch(b|0){case 9:{c[a+84>>2]=5;c[a+88>>2]=6;c[a+92>>2]=7;c[a+96>>2]=8;c[a+100>>2]=37;c[a+104>>2]=38;e=(d|0)<2;c[a+108>>2]=e?39:40;c[a+112>>2]=41;c[a+116>>2]=9;c[a+120>>2]=e?1:2;c[a>>2]=1;c[a+4>>2]=2;c[a+8>>2]=3;c[a+12>>2]=4;c[a+16>>2]=1;c[a+20>>2]=2;c[a+24>>2]=3;c[a+28>>2]=4;c[a+32>>2]=42;c[a+36>>2]=43;c[a+40>>2]=44;c[a+44>>2]=1;c[a+48>>2]=2;c[a+52>>2]=3;c[a+56>>2]=45;c[a+60>>2]=e?46:47;c[a+64>>2]=e?48:49;c[a+68>>2]=4;c[a+72>>2]=e?5:6;e=e?7:8;break}case 10:{c[a+84>>2]=10;c[a+88>>2]=11;c[a+92>>2]=12;c[a+96>>2]=13;c[a+100>>2]=50;c[a+104>>2]=51;e=(d|0)<2;c[a+108>>2]=e?52:53;c[a+112>>2]=54;c[a+116>>2]=14;c[a+120>>2]=e?3:4;c[a>>2]=5;c[a+4>>2]=6;c[a+8>>2]=7;c[a+12>>2]=8;c[a+16>>2]=5;c[a+20>>2]=6;c[a+24>>2]=7;c[a+28>>2]=8;c[a+32>>2]=55;c[a+36>>2]=56;c[a+40>>2]=57;c[a+44>>2]=9;c[a+48>>2]=10;c[a+52>>2]=11;c[a+56>>2]=58;c[a+60>>2]=e?59:60;c[a+64>>2]=e?61:62;c[a+68>>2]=12;c[a+72>>2]=e?13:14;e=e?15:16;break}case 12:{c[a+84>>2]=15;c[a+88>>2]=16;c[a+92>>2]=17;c[a+96>>2]=18;c[a+100>>2]=63;c[a+104>>2]=64;e=(d|0)<2;c[a+108>>2]=e?65:66;c[a+112>>2]=67;c[a+116>>2]=19;c[a+120>>2]=e?5:6;c[a>>2]=9;c[a+4>>2]=10;c[a+8>>2]=11;c[a+12>>2]=12;c[a+16>>2]=9;c[a+20>>2]=10;c[a+24>>2]=11;c[a+28>>2]=12;c[a+32>>2]=68;c[a+36>>2]=69;c[a+40>>2]=70;c[a+44>>2]=17;c[a+48>>2]=18;c[a+52>>2]=19;c[a+56>>2]=71;c[a+60>>2]=e?72:73;c[a+64>>2]=e?74:75;c[a+68>>2]=20;c[a+72>>2]=e?21:22;e=e?23:24;break}case 14:{c[a+84>>2]=20;c[a+88>>2]=21;c[a+92>>2]=22;c[a+96>>2]=23;c[a+100>>2]=76;c[a+104>>2]=77;e=(d|0)<2;c[a+108>>2]=e?78:79;c[a+112>>2]=80;c[a+116>>2]=24;c[a+120>>2]=e?7:8;c[a>>2]=13;c[a+4>>2]=14;c[a+8>>2]=15;c[a+12>>2]=16;c[a+16>>2]=13;c[a+20>>2]=14;c[a+24>>2]=15;c[a+28>>2]=16;c[a+32>>2]=81;c[a+36>>2]=82;c[a+40>>2]=83;c[a+44>>2]=25;c[a+48>>2]=26;c[a+52>>2]=27;c[a+56>>2]=84;c[a+60>>2]=e?85:86;c[a+64>>2]=e?87:88;c[a+68>>2]=28;c[a+72>>2]=e?29:30;e=e?31:32;break}default:if((b|0)<9){c[a+84>>2]=25;c[a+88>>2]=26;c[a+92>>2]=27;c[a+96>>2]=28;c[a+100>>2]=89;c[a+104>>2]=90;e=(d|0)<2;c[a+108>>2]=e?91:92;c[a+112>>2]=93;c[a+116>>2]=29;c[a+120>>2]=e?9:10;c[a>>2]=17;c[a+4>>2]=18;c[a+8>>2]=19;c[a+12>>2]=20;c[a+16>>2]=17;c[a+20>>2]=18;c[a+24>>2]=19;c[a+28>>2]=20;c[a+32>>2]=94;c[a+36>>2]=95;c[a+40>>2]=96;c[a+44>>2]=33;c[a+48>>2]=34;c[a+52>>2]=35;c[a+56>>2]=97;c[a+60>>2]=e?98:99;c[a+64>>2]=e?100:101;c[a+68>>2]=36;c[a+72>>2]=e?37:38;e=e?39:40;break a}else{c[f>>2]=209429;c[f+4>>2]=175345;c[f+8>>2]=150;AD(0,0,222515,f);ba()}}while(0);c[a+76>>2]=e;c[a+80>>2]=0;c[a+132>>2]=7;Mb=g;return}function We(b,e,f){b=b|0;e=e|0;f=f|0;var g=0.0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;switch(e|0){case 0:{l=-149;m=24;j=4;break}case 1:{l=-1074;m=53;j=4;break}case 2:{l=-1074;m=53;j=4;break}default:g=0.0}a:do if((j|0)==4){o=b+4|0;n=b+104|0;do{e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;e=d[e>>0]|0}else e=Uo(b)|0}while((H0(e)|0)!=0);b:do switch(e|0){case 43:case 45:{i=1-(((e|0)==45&1)<<1)|0;e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;h=d[e>>0]|0;break b}else{h=Uo(b)|0;break b}}default:{h=e;i=1}}while(0);e=0;while(1){if((h|32|0)!=(a[222700+e>>0]|0))break;do if(e>>>0<7){h=c[o>>2]|0;if(h>>>0<(c[n>>2]|0)>>>0){c[o>>2]=h+1;h=d[h>>0]|0;break}else{h=Uo(b)|0;break}}while(0);e=e+1|0;if(e>>>0>=8){e=8;break}}c:do switch(e&2147483647|0){case 8:break;case 3:{j=23;break}default:{k=(f|0)!=0;if(k&e>>>0>3)if((e|0)==8)break c;else{j=23;break c}d:do if(!e){e=0;while(1){if((h|32|0)!=(a[222762+e>>0]|0))break d;do if(e>>>0<2){h=c[o>>2]|0;if(h>>>0<(c[n>>2]|0)>>>0){c[o>>2]=h+1;h=d[h>>0]|0;break}else{h=Uo(b)|0;break}}while(0);e=e+1|0;if(e>>>0>=3){e=3;break}}}while(0);switch(e|0){case 3:{e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;e=d[e>>0]|0}else e=Uo(b)|0;if((e|0)!=40){if(!(c[n>>2]|0)){g=r;break a}c[o>>2]=(c[o>>2]|0)+-1;g=r;break a}e=1;while(1){h=c[o>>2]|0;if(h>>>0<(c[n>>2]|0)>>>0){c[o>>2]=h+1;h=d[h>>0]|0}else h=Uo(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=r;break a}h=(c[n>>2]|0)==0;if(!h)c[o>>2]=(c[o>>2]|0)+-1;if(!k){o=j2()|0;c[o>>2]=22;sC(b,0,0);g=0.0;break a}if(!e){g=r;break a}while(1){e=e+-1|0;if(!h)c[o>>2]=(c[o>>2]|0)+-1;if(!e){g=r;break a}}}case 0:{if((h|0)==48){e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;e=d[e>>0]|0}else e=Uo(b)|0;if((e|32|0)==120){g=+se(b,m,l,i,f);break a}if(!(c[n>>2]|0))e=48;else{c[o>>2]=(c[o>>2]|0)+-1;e=48}}else e=h;g=+vd(b,e,m,l,i,f);break a}default:{if(c[n>>2]|0)c[o>>2]=(c[o>>2]|0)+-1;o=j2()|0;c[o>>2]=22;sC(b,0,0);g=0.0;break a}}}}while(0);if((j|0)==23){h=(c[n>>2]|0)==0;if(!h)c[o>>2]=(c[o>>2]|0)+-1;if((f|0)!=0&e>>>0>3)do{if(!h)c[o>>2]=(c[o>>2]|0)+-1;e=e+-1|0}while(e>>>0>3)}g=+(i|0)*s}while(0);return +g}function Xe(e,f,g,h,i,j,k,l,m,n,o,p){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;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;s=i+112+(m*10|0)|0;w=c[i+100+(m<<2)>>2]|0;D=(w|0)!=1;if(D){a:do if(!(c[j>>2]|0))r=0;else{m=b[s>>1]|0;i=0;while(1){if((i|0)>=(l|0)){r=1;break a}B=f+(H(i,h)|0)|0;B=(d[B>>0]|0)+m|0;C=e+(H(i,g)|0)|0;a[C>>0]=B>>>0>255?0-B>>31:B;i=i+1|0}}while(0);b:do if(!(c[j+8>>2]|0))i=k;else{q=b[s>>1]|0;i=k+-1|0;m=0;while(1){if((m|0)>=(l|0))break b;B=f+((H(m,h)|0)+i)|0;B=(d[B>>0]|0)+q|0;C=e+((H(m,g)|0)+i)|0;a[C>>0]=B>>>0>255?0-B>>31:B;m=m+1|0}}while(0);if(!w){k=l;m=r;q=0;s=0;r=0;x=22}else{u=r;x=11}}else{i=k;u=0;x=11}do if((x|0)==11){v=j+4|0;c:do if(!(c[v>>2]|0))q=0;else{q=b[s>>1]|0;m=u;while(1){if((m|0)>=(i|0)){q=1;break c}C=(d[f+m>>0]|0)+q|0;a[e+m>>0]=C>>>0>255?0-C>>31:C;m=m+1|0}}while(0);d:do if(!(c[j+12>>2]|0))k=l;else{t=b[s>>1]|0;k=l+-1|0;r=H(k,g)|0;s=H(k,h)|0;m=u;while(1){if((m|0)>=(i|0))break d;C=(d[f+(m+s)>>0]|0)+t|0;a[e+(m+r)>>0]=C>>>0>255?0-C>>31:C;m=m+1|0}}while(0);m=(w|0)==2;if(m&(a[p>>0]|0)==0){if(c[j>>2]|0){m=u;s=1;r=0;x=22;break}m=u;s=1;r=(c[v>>2]|0)==0&1;x=22;break}s=p+1|0;r=(w|0)==3;if(r&(a[s>>0]|0)==0)if(!(c[v>>2]|0)){C=k;B=m;A=1;r=0;l=(c[j+8>>2]|0)==0&1;w=1;z=s}else{C=k;B=m;A=1;r=0;l=0;w=1;z=s}else{C=k;B=m;A=r;r=0;l=0;w=1;z=s}}while(0);if((x|0)==22){C=k;u=m;B=s;A=0;l=0;w=s;z=p+1|0}x=p+2|0;if(B&(a[x>>0]|0)==0?(c[j+8>>2]|0)==0:0)t=(c[j+12>>2]|0)==0&1;else t=0;y=p+3|0;if(A&(a[y>>0]|0)==0?(c[j>>2]|0)==0:0)v=(c[j+12>>2]|0)==0&1;else v=0;e:do if(D&(a[n>>0]|0)!=0){k=C-v|0;m=q+r|0;while(1){if((m|0)>=(k|0))break e;s=f+(H(m,h)|0)|0;j=e+(H(m,g)|0)|0;a[j>>0]=a[s>>0]|0;m=m+1|0}}while(0);f:do if(D&(a[n+1>>0]|0)!=0){k=C-t|0;s=i+-1|0;m=l+q|0;while(1){if((m|0)>=(k|0))break f;D=f+(s+(H(m,h)|0))|0;n=e+(s+(H(m,g)|0))|0;a[n>>0]=a[D>>0]|0;m=m+1|0}}while(0);g:do if(w&(a[o>>0]|0)!=0){q=i-l|0;m=u+r|0;while(1){if((m|0)>=(q|0))break g;a[e+m>>0]=a[f+m>>0]|0;m=m+1|0}}while(0);h:do if(w&(a[o+1>>0]|0)!=0){q=i-t|0;r=C+-1|0;k=H(r,h)|0;r=H(r,g)|0;m=v+u|0;while(1){if((m|0)>=(q|0))break h;a[e+(m+r)>>0]=a[f+(m+k)>>0]|0;m=m+1|0}}while(0);if(B&(a[p>>0]|0)!=0)a[e>>0]=a[f>>0]|0;m=i+-1|0;if(A&(a[z>>0]|0)!=0)a[e+m>>0]=a[f+m>>0]|0;i=C+-1|0;if(B&(a[x>>0]|0)!=0){p=e+(m+(H(i,g)|0))|0;o=f+(m+(H(i,h)|0))|0;a[p>>0]=a[o>>0]|0}if(A&(a[y>>0]|0)!=0){g=e+(H(i,g)|0)|0;h=f+(H(i,h)|0)|0;a[g>>0]=a[h>>0]|0}return}function Ye(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0;k=h>>1;A=g*13|0;i=c;j=0;d=d+(0-(h&-2)<<1)|0;while(1){if((j|0)==13)break;x=d+2|0;y=d+-2|0;w=d+4|0;u=H((e[w>>1]|0)+(e[y>>1]|0)|0,-5)|0;v=d+6|0;b[i>>1]=(((e[x>>1]|0)+(e[d>>1]|0)|0)*20|0)+(e[d+-4>>1]|0)+u+(e[v>>1]|0);u=H((e[v>>1]|0)+(e[d>>1]|0)|0,-5)|0;t=d+8|0;b[i+2>>1]=(((e[w>>1]|0)+(e[x>>1]|0)|0)*20|0)+(e[y>>1]|0)+u+(e[t>>1]|0);u=H((e[t>>1]|0)+(e[x>>1]|0)|0,-5)|0;y=d+10|0;b[i+4>>1]=(((e[v>>1]|0)+(e[w>>1]|0)|0)*20|0)+(e[d>>1]|0)+u+(e[y>>1]|0);u=H((e[y>>1]|0)+(e[w>>1]|0)|0,-5)|0;z=d+12|0;b[i+6>>1]=(((e[t>>1]|0)+(e[v>>1]|0)|0)*20|0)+(e[x>>1]|0)+u+(e[z>>1]|0);u=H((e[z>>1]|0)+(e[v>>1]|0)|0,-5)|0;x=d+14|0;b[i+8>>1]=(((e[y>>1]|0)+(e[t>>1]|0)|0)*20|0)+(e[w>>1]|0)+u+(e[x>>1]|0);u=H((e[x>>1]|0)+(e[t>>1]|0)|0,-5)|0;w=d+16|0;b[i+10>>1]=(((e[z>>1]|0)+(e[y>>1]|0)|0)*20|0)+(e[v>>1]|0)+u+(e[w>>1]|0);u=H((e[w>>1]|0)+(e[y>>1]|0)|0,-5)|0;v=d+18|0;b[i+12>>1]=(((e[x>>1]|0)+(e[z>>1]|0)|0)*20|0)+(e[t>>1]|0)+u+(e[v>>1]|0);z=H((e[v>>1]|0)+(e[z>>1]|0)|0,-5)|0;b[i+14>>1]=(((e[w>>1]|0)+(e[x>>1]|0)|0)*20|0)+(e[y>>1]|0)+z+(e[d+20>>1]|0);i=i+(g<<1)|0;j=j+1|0;d=d+(k<<1)|0}o=f>>1;p=H(g,-2)|0;q=0-g|0;r=g<<1;s=g*3|0;t=g<<2;u=g*5|0;v=g*6|0;w=g*7|0;x=g<<3;y=g*9|0;z=g*10|0;j=f&-2;k=o*3|0;f=o<<2;l=o*5|0;m=o*6|0;n=o*7|0;i=a;d=c+(A<<1)+((H(g,-11)|0)<<1)|0;h=0;while(1){if((h|0)==8)break;E=b[d+(q<<1)>>1]|0;N=b[d>>1]|0;M=b[d+(g<<1)>>1]|0;L=b[d+(r<<1)>>1]|0;K=b[d+(s<<1)>>1]|0;I=b[d+(t<<1)>>1]|0;F=b[d+(u<<1)>>1]|0;c=b[d+(v<<1)>>1]|0;B=b[d+(w<<1)>>1]|0;C=b[d+(x<<1)>>1]|0;a=b[d+(y<<1)>>1]|0;D=b[d+(z<<1)>>1]|0;J=K+512|0;A=J+(b[d+(p<<1)>>1]|0)+((M+N|0)*20|0)+(H(L+E|0,-5)|0)>>10;b[i>>1]=((A>>>0<512?A:0-A>>31&511)+1+(e[i>>1]|0)|0)>>>1;A=i+(o<<1)|0;G=I+512|0;E=G+E+((L+M|0)*20|0)+(H(K+N|0,-5)|0)>>10;b[A>>1]=((E>>>0<512?E:0-E>>31&511)+1+(e[A>>1]|0)|0)>>>1;A=i+(j<<1)|0;E=F+512|0;N=E+N+((K+L|0)*20|0)+(H(I+M|0,-5)|0)>>10;b[A>>1]=((N>>>0<512?N:0-N>>31&511)+1+(e[A>>1]|0)|0)>>>1;A=i+(k<<1)|0;M=M+512+c+((I+K|0)*20|0)+(H(F+L|0,-5)|0)>>10;b[A>>1]=((M>>>0<512?M:0-M>>31&511)+1+(e[A>>1]|0)|0)>>>1;A=i+(f<<1)|0;K=L+512+B+((F+I|0)*20|0)+(H(c+K|0,-5)|0)>>10;b[A>>1]=((K>>>0<512?K:0-K>>31&511)+1+(e[A>>1]|0)|0)>>>1;A=i+(l<<1)|0;I=J+C+((c+F|0)*20|0)+(H(B+I|0,-5)|0)>>10;b[A>>1]=((I>>>0<512?I:0-I>>31&511)+1+(e[A>>1]|0)|0)>>>1;A=i+(m<<1)|0;F=G+a+((B+c|0)*20|0)+(H(C+F|0,-5)|0)>>10;b[A>>1]=((F>>>0<512?F:0-F>>31&511)+1+(e[A>>1]|0)|0)>>>1;A=i+(n<<1)|0;c=E+D+((C+B|0)*20|0)+(H(a+c|0,-5)|0)>>10;b[A>>1]=((c>>>0<512?c:0-c>>31&511)+1+(e[A>>1]|0)|0)>>>1;i=i+2|0;d=d+2|0;h=h+1|0}return}function Ze(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;s=Mb;Mb=Mb+240|0;p=s+216|0;n=s+208|0;l=s+200|0;g=s+192|0;i=s;j=s+224|0;k=b+6484|0;h=c[k>>2]|0;a:do if(h){r=b+1004|0;f=c[r>>2]|0;o=(d|0)==1;do if((h|0)==1&(o&(f|0)==0)){$Q(b)|0;m=b+4|0;AD(c[m>>2]|0,48,197817,g);if((Zz(c[m>>2]|0,i,j,2)|0)>=0?($i(b,i,c[j>>2]|0,2,1)|0)>=0:0){c[k>>2]=2;c[b+6512>>2]=0;f=c[r>>2]|0;h=2;break}f=0;break a}while(0);m=(d|0)==0;b:do if(!((f|d|0)==0&(h|0)==2)){switch(h|0){case 1:{q=15;break b}case 7:case 12:{f=c[r>>2]|0;if(o&(f|0)==3){c[r>>2]=4;f=c[b+564>>2]|0;c[b+812+(e<<2)>>2]=f;break a}else q=21;break}case 11:{f=c[r>>2]|0;q=21;break}case 6:{f=c[r>>2]|0;q=23;break}case 5:{f=c[r>>2]|0;q=29;break}case 4:{f=c[r>>2]|0;q=32;break}case 2:case 3:break;default:{f=0;break a}}if((q|0)==21)if(m&(h|0)==11&(f|0)==2){c[r>>2]=3;f=c[b+496>>2]|0;c[b+748+(e<<2)>>2]=f;break a}else q=23;c:do if((q|0)==23)if((f|0)==((a[45488+h>>0]|0)+-1|0)){switch(d|0){case 0:case 3:break;default:{q=29;break c}}g=b+1008|0;if((c[g>>2]|0)==0?(d|0)!=3|(e|0)!=0:0){f=c[b+4>>2]|0;c[n>>2]=m?197849:210593;c[n+4>>2]=e;AD(f,24,197853,n);c[g>>2]=(c[g>>2]|0)+1;f=c[r>>2]|0}c[r>>2]=f+1;f=c[b+684>>2]|0;c[b+748+(d<<6)+(e<<2)>>2]=f;break a}else q=29;while(0);if((q|0)==29)if(o&(f|0)==2){c[r>>2]=3;f=c[b+560>>2]|0;c[b+812+(e<<2)>>2]=f;break a}else q=32;if((q|0)==32){d:do if((f|0)==((a[45488+h>>0]|0)+-1|0)){switch(d|0){case 0:case 3:break;default:break d}g=b+1008|0;if((c[g>>2]|0)==0?(d|0)!=0|(e|0)!=1:0){f=c[b+4>>2]|0;c[p>>2]=m?197849:210593;c[p+4>>2]=e;AD(f,24,197940,p);c[g>>2]=(c[g>>2]|0)+1;f=c[r>>2]|0}c[r>>2]=f+1;f=c[b+496>>2]|0;c[b+748+(d<<6)+(e<<2)>>2]=f;break a}while(0);if(m&(h|0)==4&(f|0)==2){c[r>>2]=3;f=c[b+496>>2]|0;c[b+748+(e<<2)>>2]=f;break a}}f=c[r>>2]|0;if(!(o&(f|0)==((h|0)!=2|0)))if((h|0)==2){f=0;break a}else break;else{c[r>>2]=f+1;f=c[b+556>>2]|0;c[b+812+(e<<2)>>2]=f;break a}}else{$Q(b)|0;q=b+4|0;AD(c[q>>2]|0,48,197832,l);if((Zz(c[q>>2]|0,i,j,1)|0)<0){f=0;break a}if(($i(b,i,c[j>>2]|0,2,1)|0)<0){f=0;break a}c[k>>2]=1;if(c[b+6488>>2]|0)c[b+6512>>2]=-1;q=15}while(0);if((q|0)==15)f=c[r>>2]|0;if(!(f|d)){c[r>>2]=f+1;f=c[b+492>>2]|0;c[b+748+(e<<2)>>2]=f}else f=0}else f=c[b+748+(d<<6)+(e<<2)>>2]|0;while(0);Mb=s;return f|0}function _e(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,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=f>>1;g=0-y|0;if(!c){q=e[a+(g<<1)>>1]|0;o=q}else{o=e[a+(g<<1)>>1]|0;q=e[a+(~y<<1)>>1]|0}r=e[a+(1-y<<1)>>1]|0;p=r+2|0;s=e[a+(2-y<<1)>>1]|0;t=s+2|0;r=(t+o+(r<<1)|0)>>>2;u=e[a+(3-y<<1)>>1]|0;s=(p+(s<<1)+u|0)>>>2;w=e[a+(4-y<<1)>>1]|0;t=(t+(u<<1)+w|0)>>>2;x=e[a+(5-y<<1)>>1]|0;u=(u+2+(w<<1)+x|0)>>>2;v=e[a+(6-y<<1)>>1]|0;w=(w+2+(x<<1)+v|0)>>>2;c=e[a+(7-y<<1)>>1]|0;x=(x+2+(v<<1)+c|0)>>>2;if(!d){g=c*3|0;d=c;h=c;i=c;j=c;k=c;l=c;m=c;n=c;c=g}else{z=e[a+(8-y<<1)>>1]|0;n=e[a+(9-y<<1)>>1]|0;A=e[a+(10-y<<1)>>1]|0;m=A+2|0;l=e[a+(11-y<<1)>>1]|0;k=e[a+(12-y<<1)>>1]|0;j=e[a+(13-y<<1)>>1]|0;i=e[a+(14-y<<1)>>1]|0;h=e[a+(15-y<<1)>>1]|0;g=(i+2+(h*3|0)|0)>>>2;d=g;h=(j+2+(i<<1)+h|0)>>>2;i=(k+2+(j<<1)+i|0)>>>2;j=(l+2+(k<<1)+j|0)>>>2;k=(m+(l<<1)+k|0)>>>2;l=(n+2+(A<<1)+l|0)>>>2;m=(m+z+(n<<1)|0)>>>2;n=(c+2+(z<<1)+n|0)>>>2;c=(c<<1)+z|0;g=g*3|0}A=(v+2+c|0)>>>2;v=s+2|0;b[a>>1]=(v+((p+q+(o<<1)|0)>>>2)+(r<<1)|0)>>>2;z=t+2|0;s=(z+r+(s<<1)|0)>>>2&65535;b[a+2>>1]=s;b[a+(y<<1)>>1]=s;t=(v+(t<<1)+u|0)>>>2&65535;b[a+4>>1]=t;b[a+(y+1<<1)>>1]=t;s=f&-2;b[a+(s<<1)>>1]=t;z=(z+(u<<1)+w|0)>>>2&65535;b[a+6>>1]=z;b[a+(y+2<<1)>>1]=z;b[a+((f|1)<<1)>>1]=z;t=y*3|0;b[a+(t<<1)>>1]=z;z=(u+2+(w<<1)+x|0)>>>2&65535;b[a+8>>1]=z;b[a+(y+3<<1)>>1]=z;b[a+(s+2<<1)>>1]=z;b[a+(t+1<<1)>>1]=z;v=y<<2;b[a+(v<<1)>>1]=z;z=(w+2+(x<<1)+A|0)>>>2&65535;b[a+10>>1]=z;b[a+(y+4<<1)>>1]=z;b[a+(s+3<<1)>>1]=z;b[a+(t+2<<1)>>1]=z;b[a+((v|1)<<1)>>1]=z;w=y*5|0;b[a+(w<<1)>>1]=z;z=(x+2+n+(A<<1)|0)>>>2&65535;b[a+12>>1]=z;b[a+(y+5<<1)>>1]=z;b[a+(s+4<<1)>>1]=z;b[a+(t+3<<1)>>1]=z;b[a+((v|2)<<1)>>1]=z;b[a+(w+1<<1)>>1]=z;f=y*6|0;b[a+(f<<1)>>1]=z;z=m+2|0;x=(z+A+(n<<1)|0)>>>2&65535;b[a+14>>1]=x;b[a+(y+6<<1)>>1]=x;b[a+(s+5<<1)>>1]=x;b[a+(t+4<<1)>>1]=x;b[a+((v|3)<<1)>>1]=x;b[a+(w+2<<1)>>1]=x;b[a+((f|1)<<1)>>1]=x;A=y*7|0;b[a+(A<<1)>>1]=x;x=(n+2+(m<<1)+l|0)>>>2&65535;b[a+(y+7<<1)>>1]=x;b[a+(s+6<<1)>>1]=x;b[a+(t+5<<1)>>1]=x;b[a+(v+4<<1)>>1]=x;b[a+(w+3<<1)>>1]=x;b[a+(f+2<<1)>>1]=x;b[a+(A+1<<1)>>1]=x;z=(z+(l<<1)+k|0)>>>2&65535;b[a+(s+7<<1)>>1]=z;b[a+(t+6<<1)>>1]=z;b[a+(v+5<<1)>>1]=z;b[a+(w+4<<1)>>1]=z;b[a+(f+3<<1)>>1]=z;b[a+(A+2<<1)>>1]=z;z=(l+2+(k<<1)+j|0)>>>2&65535;b[a+(t+7<<1)>>1]=z;b[a+(v+6<<1)>>1]=z;b[a+(w+5<<1)>>1]=z;b[a+(f+4<<1)>>1]=z;b[a+(A+3<<1)>>1]=z;z=(k+2+(j<<1)+i|0)>>>2&65535;b[a+(v+7<<1)>>1]=z;b[a+(w+6<<1)>>1]=z;b[a+(f+5<<1)>>1]=z;b[a+(A+4<<1)>>1]=z;z=(j+2+(i<<1)+h|0)>>>2&65535;b[a+(w+7<<1)>>1]=z;b[a+(f+6<<1)>>1]=z;b[a+(A+5<<1)>>1]=z;z=(i+2+(h<<1)+d|0)>>>2&65535;b[a+(f+7<<1)>>1]=z;b[a+(A+6<<1)>>1]=z;b[a+(A+7<<1)>>1]=(h+2+g|0)>>>2;return}function $e(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0;v=c[b+136>>2]|0;B=b+3516|0;i=c[B>>2]|0;E=c[i+20>>2]|0;w=b+1412|0;g=c[w>>2]|0;C=c[g+13340>>2]|0;x=c[g+13328>>2]|0;D=c[g+13412>>2]|0;y=c[g+13404>>2]|0;u=H(D,e>>C)|0;z=d>>C;A=(a[E+((u+z|0)*12|0)+10>>0]|0)==0;a:do if((e|0)>0&(e&7|0)==0){if(((a[b+3058>>0]|0)==0?c[v+31308>>2]&4|0:0)?((e|0)%(1<<c[g+13336>>2]|0)|0|0)==0:0)break;h=c[v+31308>>2]|0;if(!((h&8|0)==0?1:(a[(c[b+1416>>2]|0)+53>>0]|0)!=0)?((e|0)%(1<<c[g+13336>>2]|0)|0|0)==0:0)break;if(!(h&4)){g=e+-1|0;t=c[i+24>>2]|0}else{t=e+-1|0;g=t;t=zK(b,i,d,t)|0}q=1<<f;r=H(D,g>>>C)|0;s=b+7576|0;l=H(y,g>>>x)|0;m=H(y,e>>>x)|0;n=b+7552|0;o=b+5720|0;k=0;while(1){if((k|0)>=(q|0))break a;p=k+d|0;G=p>>C;j=p>>x;F=G+r|0;g=E+(F*12|0)|0;G=G+u|0;h=E+(G*12|0)|0;I=c[s>>2]|0;i=a[I+(j+l)>>0]|0;j=a[I+(j+m)>>0]|0;if((a[E+(G*12|0)+10>>0]|0)!=0?(a[E+(F*12|0)+10>>0]|0)!=0:0)if(!((j|i)<<24>>24))g=bg(b,h,g,t)|0;else g=1;else g=2;I=(c[n>>2]|0)+((H(c[o>>2]|0,e)|0)+p>>2)|0;a[I>>0]=g;k=k+4|0}}while(0);b:do if((d|0)>0&(d&7|0)==0){if(((a[b+3058>>0]|0)==0?c[v+31308>>2]&1|0:0)?((d|0)%(1<<c[(c[w>>2]|0)+13336>>2]|0)|0|0)==0:0)break;g=c[v+31308>>2]|0;if(!((g&2|0)==0?1:(a[(c[b+1416>>2]|0)+53>>0]|0)!=0)?((d|0)%(1<<c[(c[w>>2]|0)+13336>>2]|0)|0|0)==0:0)break;h=c[B>>2]|0;if(!(g&1)){g=d+-1|0;t=c[h+24>>2]|0}else{t=d+-1|0;g=t;t=zK(b,h,t,e)|0}s=g>>>C;l=g>>>x;m=d>>>x;n=1<<f;o=b+7576|0;p=b+7556|0;q=b+5720|0;k=0;while(1){if((k|0)>=(n|0))break b;r=k+e|0;G=H(r>>C,D)|0;I=G+s|0;g=E+(I*12|0)|0;G=G+z|0;h=E+(G*12|0)|0;F=c[o>>2]|0;j=H(r>>x,y)|0;i=a[F+(j+l)>>0]|0;j=a[F+(j+m)>>0]|0;if((a[E+(G*12|0)+10>>0]|0)!=0?(a[E+(I*12|0)+10>>0]|0)!=0:0)if(!((j|i)<<24>>24))g=bg(b,h,g,t)|0;else g=1;else g=2;I=(c[p>>2]|0)+((H(c[q>>2]|0,r)|0)+d>>2)|0;a[I>>0]=g;k=k+4|0}}while(0);c:do if(!((C|0)>=(f|0)|A)){o=c[(c[B>>2]|0)+24>>2]|0;m=1<<f;i=b+7552|0;n=b+5720|0;g=8;while(1){if((g|0)>=(m|0))break;j=g+e|0;k=H(j+-1>>C,D)|0;l=H(j>>C,D)|0;h=0;while(1){if((h|0)>=(m|0))break;I=h+d|0;G=I>>C;G=(bg(b,E+((G+l|0)*12|0)|0,E+((G+k|0)*12|0)|0,o)|0)&255;I=(c[i>>2]|0)+((H(c[n>>2]|0,j)|0)+I>>2)|0;a[I>>0]=G;h=h+4|0}g=g+8|0}i=b+7556|0;g=0;while(1){if((g|0)>=(m|0))break c;j=g+e|0;k=H(j>>C,D)|0;h=8;while(1){if((h|0)>=(m|0))break;I=h+d|0;G=(bg(b,E+(((I>>C)+k|0)*12|0)|0,E+(((I+-1>>C)+k|0)*12|0)|0,o)|0)&255;I=(c[i>>2]|0)+((H(c[n>>2]|0,j)|0)+I>>2)|0;a[I>>0]=G;h=h+8|0}g=g+4|0}}while(0);return}function af(d,f,g,h,i,j,k,l,m,n,o){d=d|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,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;D=c[(c[d+24364>>2]|0)+(c[f+21796>>2]<<2)>>2]|0;if(c[(c[d+4>>2]|0)+808>>2]&1|0)Rg(d,f);G=d+25652|0;p=c[G>>2]|0;q=a[f+28284>>0]|0;if(q<<24>>24>-1){B=q<<24>>24;y=f+21788|0;x=c[y>>2]|0;A=(x<<4|8)+(b[f+28e3>>1]>>2)|0;C=(b[f+28002>>1]>>2)+(c[f+21792>>2]<<4)|0;x=(A<<p)+(64<<p)+(H(C+(x<<2&12)|0,c[f+21780>>2]|0)|0)|0;z=d+12|0;gc[c[z>>2]&1023]((c[f+23416+(B*40|0)>>2]|0)+x|0,c[f+21772>>2]|0,4);A=(H((c[y>>2]&7)+(C>>1)|0,c[f+21776>>2]|0)|0)+((A>>1)+64<<p)|0;C=c[f+23416+(B*40|0)+4>>2]|0;gc[c[z>>2]&1023](C+A|0,(c[f+23416+(B*40|0)+8>>2]|0)-C|0,2)}a:do if(!(D&8)){if(D&16|0){B=j+64|0;C=l+64|0;gd(d,f,0,0,8,8<<c[G>>2],g,h,i,0,0,B,c[k>>2]|0,C,c[m>>2]|0,n,o,D&4096,D&16384);gd(d,f,8,0,8,8<<c[G>>2],g,h,i,0,4,B,c[k>>2]|0,C,c[m>>2]|0,n,o,D&8192,D&32768);break}if(D&32|0){w=f+21780|0;x=j+64|0;y=k+4|0;z=l+64|0;A=m+4|0;B=n+4|0;C=o+4|0;gd(d,f,0,0,16,c[w>>2]<<3,g,h,i,0,0,x,c[y>>2]|0,z,c[A>>2]|0,B,C,D&4096,D&16384);gd(d,f,4,0,16,c[w>>2]<<3,g,h,i,4,0,x,c[y>>2]|0,z,c[A>>2]|0,B,C,D&8192,D&32768);break}x=j+64|0;y=k+4|0;z=l+64|0;A=m+4|0;B=n+4|0;C=o+4|0;w=j+128|0;v=l+128|0;u=k+8|0;t=m+8|0;s=n+8|0;l=o+8|0;k=f+21780|0;j=0;while(1){if((j|0)==4)break a;p=e[f+28552+(j<<1)>>1]|0;m=j<<2;n=m&4;o=j<<1&4;b:do if(!(p&8)){if(p&16|0){q=p&4096;r=p&16384;gd(d,f,m,0,4,4<<c[G>>2],g,h,i,n,o,w,c[y>>2]|0,v,c[A>>2]|0,B,C,q,r);gd(d,f,m|2,0,4,4<<c[G>>2],g,h,i,n,o|2,w,c[y>>2]|0,v,c[A>>2]|0,B,C,q,r);break}if(p&32|0){q=p&4096;r=p&16384;gd(d,f,m,0,8,c[k>>2]<<2,g,h,i,n,o,w,c[u>>2]|0,v,c[t>>2]|0,s,l,q,r);gd(d,f,m|1,0,8,c[k>>2]<<2,g,h,i,n|2,o,w,c[u>>2]|0,v,c[t>>2]|0,s,l,q,r);break}r=p&4096;q=p&16384;p=0;while(1){if((p|0)==4)break b;gd(d,f,p+m|0,1,4,0,g,h,i,p<<1&2|n,p&2|o,w,c[u>>2]|0,v,c[t>>2]|0,s,l,r,q);p=p+1|0}}else gd(d,f,m,1,8,0,g,h,i,n,o,x,c[y>>2]|0,z,c[A>>2]|0,B,C,p&4096,p&16384);while(0);j=j+1|0}}else gd(d,f,0,1,16,0,g,h,i,0,0,j,c[k>>2]|0,l,c[m>>2]|0,n,o,D&4096,D&16384);while(0);if(D&49152|0?(E=c[G>>2]|0,F=a[f+28324>>0]|0,F<<24>>24>-1):0){h=F<<24>>24;F=f+21788|0;D=c[F>>2]|0;G=(D<<4|8)+(b[f+28160>>1]>>2)|0;i=(b[f+28162>>1]>>2)+(c[f+21792>>2]<<4)|0;D=(G<<E)+(64<<E)+(H(i+(D<<2&12)|0,c[f+21780>>2]|0)|0)|0;g=d+12|0;gc[c[g>>2]&1023]((c[f+25336+(h*40|0)>>2]|0)+D|0,c[f+21772>>2]|0,4);G=(H((c[F>>2]&7)+(i>>1)|0,c[f+21776>>2]|0)|0)+((G>>1)+64<<E)|0;i=c[f+25336+(h*40|0)+4>>2]|0;gc[c[g>>2]&1023](i+G|0,(c[f+25336+(h*40|0)+8>>2]|0)-i|0,2)}return}function bf(d,f,g,h,i,j,k,l,m,n,o){d=d|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,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;D=c[(c[d+24364>>2]|0)+(c[f+21796>>2]<<2)>>2]|0;if(c[(c[d+4>>2]|0)+808>>2]&1|0)Rg(d,f);G=d+25652|0;p=c[G>>2]|0;q=a[f+28284>>0]|0;if(q<<24>>24>-1){B=q<<24>>24;y=f+21788|0;x=c[y>>2]|0;A=(x<<4|8)+(b[f+28e3>>1]>>2)|0;C=(b[f+28002>>1]>>2)+(c[f+21792>>2]<<4)|0;x=(A<<p)+(64<<p)+(H(C+(x<<2&12)|0,c[f+21780>>2]|0)|0)|0;z=d+12|0;gc[c[z>>2]&1023]((c[f+23416+(B*40|0)>>2]|0)+x|0,c[f+21772>>2]|0,4);A=(H((c[y>>2]&7)+(C>>1)|0,c[f+21776>>2]|0)|0)+((A>>1)+64<<p)|0;C=c[f+23416+(B*40|0)+4>>2]|0;gc[c[z>>2]&1023](C+A|0,(c[f+23416+(B*40|0)+8>>2]|0)-C|0,2)}a:do if(!(D&8)){if(D&16|0){B=j+64|0;C=l+64|0;$c(d,f,0,0,8,8<<c[G>>2],g,h,i,0,0,B,c[k>>2]|0,C,c[m>>2]|0,n,o,D&4096,D&16384);$c(d,f,8,0,8,8<<c[G>>2],g,h,i,0,4,B,c[k>>2]|0,C,c[m>>2]|0,n,o,D&8192,D&32768);break}if(D&32|0){w=f+21780|0;x=j+64|0;y=k+4|0;z=l+64|0;A=m+4|0;B=n+4|0;C=o+4|0;$c(d,f,0,0,16,c[w>>2]<<3,g,h,i,0,0,x,c[y>>2]|0,z,c[A>>2]|0,B,C,D&4096,D&16384);$c(d,f,4,0,16,c[w>>2]<<3,g,h,i,4,0,x,c[y>>2]|0,z,c[A>>2]|0,B,C,D&8192,D&32768);break}x=j+64|0;y=k+4|0;z=l+64|0;A=m+4|0;B=n+4|0;C=o+4|0;w=j+128|0;v=l+128|0;u=k+8|0;t=m+8|0;s=n+8|0;l=o+8|0;k=f+21780|0;j=0;while(1){if((j|0)==4)break a;p=e[f+28552+(j<<1)>>1]|0;m=j<<2;n=m&4;o=j<<1&4;b:do if(!(p&8)){if(p&16|0){q=p&4096;r=p&16384;$c(d,f,m,0,4,4<<c[G>>2],g,h,i,n,o,w,c[y>>2]|0,v,c[A>>2]|0,B,C,q,r);$c(d,f,m|2,0,4,4<<c[G>>2],g,h,i,n,o|2,w,c[y>>2]|0,v,c[A>>2]|0,B,C,q,r);break}if(p&32|0){q=p&4096;r=p&16384;$c(d,f,m,0,8,c[k>>2]<<2,g,h,i,n,o,w,c[u>>2]|0,v,c[t>>2]|0,s,l,q,r);$c(d,f,m|1,0,8,c[k>>2]<<2,g,h,i,n|2,o,w,c[u>>2]|0,v,c[t>>2]|0,s,l,q,r);break}r=p&4096;q=p&16384;p=0;while(1){if((p|0)==4)break b;$c(d,f,p+m|0,1,4,0,g,h,i,p<<1&2|n,p&2|o,w,c[u>>2]|0,v,c[t>>2]|0,s,l,r,q);p=p+1|0}}else $c(d,f,m,1,8,0,g,h,i,n,o,x,c[y>>2]|0,z,c[A>>2]|0,B,C,p&4096,p&16384);while(0);j=j+1|0}}else $c(d,f,0,1,16,0,g,h,i,0,0,j,c[k>>2]|0,l,c[m>>2]|0,n,o,D&4096,D&16384);while(0);if(D&49152|0?(E=c[G>>2]|0,F=a[f+28324>>0]|0,F<<24>>24>-1):0){h=F<<24>>24;F=f+21788|0;D=c[F>>2]|0;G=(D<<4|8)+(b[f+28160>>1]>>2)|0;i=(b[f+28162>>1]>>2)+(c[f+21792>>2]<<4)|0;D=(G<<E)+(64<<E)+(H(i+(D<<2&12)|0,c[f+21780>>2]|0)|0)|0;g=d+12|0;gc[c[g>>2]&1023]((c[f+25336+(h*40|0)>>2]|0)+D|0,c[f+21772>>2]|0,4);G=(H((c[F>>2]&7)+(i>>1)|0,c[f+21776>>2]|0)|0)+((G>>1)+64<<E)|0;i=c[f+25336+(h*40|0)+4>>2]|0;gc[c[g>>2]&1023](i+G|0,(c[f+25336+(h*40|0)+8>>2]|0)-i|0,2)}return}function cf(f,g,h,i,j,k){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,r=0,s=0;p=Mb;Mb=Mb+208|0;o=c[21792+(k+-2<<2)>>2]|0;l=p+64|0;a:do if((k|0)>17){j=g+-2|0;k=k+-11|0;b:do if(k>>>0<15){j=0;while(1){if(j>>>0>32)break;m=g+(j+-1<<1)|0;q=m;m=m+4|0;m=d[m>>0]|d[m+1>>0]<<8|d[m+2>>0]<<16|d[m+3>>0]<<24;n=l+(j<<1)|0;c[n>>2]=d[q>>0]|d[q+1>>0]<<8|d[q+2>>0]<<16|d[q+3>>0]<<24;c[n+4>>2]=m;j=j+4|0}k=21936+(k<<2)|0;j=o;while(1){if((j|0)>=0)break b;q=h+(((H(c[k>>2]|0,j)|0)+128>>8)+-1<<1)|0;b[l+(j<<1)>>1]=b[q>>1]|0;j=j+1|0}}else l=j;while(0);j=0;while(1){if((j|0)==32)break a;n=j+1|0;h=H(n,o)|0;g=h>>5;h=h&31;c:do if(!h){g=g+1|0;k=H(j,i)|0;j=0;while(1){if(j>>>0>=32)break c;m=l+(g+j<<1)|0;r=m;r=d[r>>0]|d[r+1>>0]<<8|d[r+2>>0]<<16|d[r+3>>0]<<24;m=m+4|0;m=d[m>>0]|d[m+1>>0]<<8|d[m+2>>0]<<16|d[m+3>>0]<<24;q=f+(j+k<<1)|0;h=q;a[h>>0]=r;a[h+1>>0]=r>>8;a[h+2>>0]=r>>16;a[h+3>>0]=r>>24;q=q+4|0;a[q>>0]=m;a[q+1>>0]=m>>8;a[q+2>>0]=m>>16;a[q+3>>0]=m>>24;j=j+4|0}}else{m=32-h|0;k=H(j,i)|0;j=0;while(1){if(j>>>0>=32)break c;r=j+g|0;q=H(m,e[l+(r+1<<1)>>1]|0)|0;r=(q+16+(H(h,e[l+(r+2<<1)>>1]|0)|0)|0)>>>5&65535;b[f+(j+k<<1)>>1]=r;r=j|1;q=r+g|0;s=H(m,e[l+(q+1<<1)>>1]|0)|0;q=(s+16+(H(h,e[l+(q+2<<1)>>1]|0)|0)|0)>>>5&65535;b[f+(r+k<<1)>>1]=q;r=j|2;q=r+g|0;s=H(m,e[l+(q+1<<1)>>1]|0)|0;q=(s+16+(H(h,e[l+(q+2<<1)>>1]|0)|0)|0)>>>5&65535;b[f+(r+k<<1)>>1]=q;r=j|3;q=r+g|0;s=H(m,e[l+(q+1<<1)>>1]|0)|0;q=(s+16+(H(h,e[l+(q+2<<1)>>1]|0)|0)|0)>>>5&65535;b[f+(r+k<<1)>>1]=q;j=j+4|0}}while(0);j=n}}else{j=h+-2|0;k=k+-11|0;d:do if(k>>>0<15){j=0;while(1){if(j>>>0>32)break;r=h+(j+-1<<1)|0;q=r;r=r+4|0;r=d[r>>0]|d[r+1>>0]<<8|d[r+2>>0]<<16|d[r+3>>0]<<24;s=l+(j<<1)|0;c[s>>2]=d[q>>0]|d[q+1>>0]<<8|d[q+2>>0]<<16|d[q+3>>0]<<24;c[s+4>>2]=r;j=j+4|0}k=21936+(k<<2)|0;j=o;while(1){if((j|0)>=0)break d;s=g+(((H(c[k>>2]|0,j)|0)+128>>8)+-1<<1)|0;b[l+(j<<1)>>1]=b[s>>1]|0;j=j+1|0}}else l=j;while(0);h=0;while(1){if((h|0)==32)break a;m=h+1|0;k=H(m,o)|0;n=k>>5;k=k&31;e:do if(!k){j=0;while(1){if((j|0)==32)break e;s=j+1|0;r=f+((H(j,i)|0)+h<<1)|0;b[r>>1]=b[l+(s+n<<1)>>1]|0;j=s}}else{g=32-k|0;j=0;while(1){if((j|0)==32)break e;r=j+n|0;s=H(g,e[l+(r+1<<1)>>1]|0)|0;r=(s+16+(H(k,e[l+(r+2<<1)>>1]|0)|0)|0)>>>5&65535;s=f+((H(j,i)|0)+h<<1)|0;b[s>>1]=r;j=j+1|0}}while(0);h=m}}while(0);Mb=p;return}function df(c,e,f,g,h,i){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;B=h*13|0;j=e;k=0;f=f+(0-(i<<1))|0;while(1){if((k|0)==13)break;y=f+1|0;z=f+-1|0;x=f+2|0;v=H((d[x>>0]|0)+(d[z>>0]|0)|0,-5)|0;w=f+3|0;b[j>>1]=(((d[y>>0]|0)+(d[f>>0]|0)|0)*20|0)+(d[f+-2>>0]|0)+v+(d[w>>0]|0);v=H((d[w>>0]|0)+(d[f>>0]|0)|0,-5)|0;u=f+4|0;b[j+2>>1]=(((d[x>>0]|0)+(d[y>>0]|0)|0)*20|0)+(d[z>>0]|0)+v+(d[u>>0]|0);v=H((d[u>>0]|0)+(d[y>>0]|0)|0,-5)|0;z=f+5|0;b[j+4>>1]=(((d[w>>0]|0)+(d[x>>0]|0)|0)*20|0)+(d[f>>0]|0)+v+(d[z>>0]|0);v=H((d[z>>0]|0)+(d[x>>0]|0)|0,-5)|0;A=f+6|0;b[j+6>>1]=(((d[u>>0]|0)+(d[w>>0]|0)|0)*20|0)+(d[y>>0]|0)+v+(d[A>>0]|0);v=H((d[A>>0]|0)+(d[w>>0]|0)|0,-5)|0;y=f+7|0;b[j+8>>1]=(((d[z>>0]|0)+(d[u>>0]|0)|0)*20|0)+(d[x>>0]|0)+v+(d[y>>0]|0);v=H((d[y>>0]|0)+(d[u>>0]|0)|0,-5)|0;x=f+8|0;b[j+10>>1]=(((d[A>>0]|0)+(d[z>>0]|0)|0)*20|0)+(d[w>>0]|0)+v+(d[x>>0]|0);v=H((d[x>>0]|0)+(d[z>>0]|0)|0,-5)|0;w=f+9|0;b[j+12>>1]=(((d[y>>0]|0)+(d[A>>0]|0)|0)*20|0)+(d[u>>0]|0)+v+(d[w>>0]|0);A=H((d[w>>0]|0)+(d[A>>0]|0)|0,-5)|0;b[j+14>>1]=(((d[x>>0]|0)+(d[y>>0]|0)|0)*20|0)+(d[z>>0]|0)+A+(d[f+10>>0]|0);j=j+(h<<1)|0;k=k+1|0;f=f+i|0}i=H(h,-2)|0;l=0-h|0;m=h<<1;n=h*3|0;o=h<<2;p=h*5|0;q=h*6|0;r=h*7|0;s=h<<3;t=h*9|0;u=h*10|0;v=g<<1;w=g*3|0;x=g<<2;y=g*5|0;z=g*6|0;A=g*7|0;k=c;f=e+(B<<1)+((H(h,-11)|0)<<1)|0;j=0;while(1){if((j|0)==8)break;F=b[f+(l<<1)>>1]|0;O=b[f>>1]|0;N=b[f+(h<<1)>>1]|0;M=b[f+(m<<1)>>1]|0;L=b[f+(n<<1)>>1]|0;J=b[f+(o<<1)>>1]|0;G=b[f+(p<<1)>>1]|0;e=b[f+(q<<1)>>1]|0;C=b[f+(r<<1)>>1]|0;D=b[f+(s<<1)>>1]|0;c=b[f+(t<<1)>>1]|0;E=b[f+(u<<1)>>1]|0;K=L+512|0;B=K+(b[f+(i<<1)>>1]|0)+((N+O|0)*20|0)+(H(M+F|0,-5)|0)>>10;a[k>>0]=(((B>>>0>255?0-B>>31:B)&255)+1+(d[k>>0]|0)|0)>>>1;B=k+g|0;I=J+512|0;F=I+F+((M+N|0)*20|0)+(H(L+O|0,-5)|0)>>10;a[B>>0]=(((F>>>0>255?0-F>>31:F)&255)+1+(d[B>>0]|0)|0)>>>1;B=k+v|0;F=G+512|0;O=F+O+((L+M|0)*20|0)+(H(J+N|0,-5)|0)>>10;a[B>>0]=(((O>>>0>255?0-O>>31:O)&255)+1+(d[B>>0]|0)|0)>>>1;B=k+w|0;N=N+512+e+((J+L|0)*20|0)+(H(G+M|0,-5)|0)>>10;a[B>>0]=(((N>>>0>255?0-N>>31:N)&255)+1+(d[B>>0]|0)|0)>>>1;B=k+x|0;L=M+512+C+((G+J|0)*20|0)+(H(e+L|0,-5)|0)>>10;a[B>>0]=(((L>>>0>255?0-L>>31:L)&255)+1+(d[B>>0]|0)|0)>>>1;B=k+y|0;J=K+D+((e+G|0)*20|0)+(H(C+J|0,-5)|0)>>10;a[B>>0]=(((J>>>0>255?0-J>>31:J)&255)+1+(d[B>>0]|0)|0)>>>1;B=k+z|0;G=I+c+((C+e|0)*20|0)+(H(D+G|0,-5)|0)>>10;a[B>>0]=(((G>>>0>255?0-G>>31:G)&255)+1+(d[B>>0]|0)|0)>>>1;B=k+A|0;e=F+E+((D+C|0)*20|0)+(H(c+e|0,-5)|0)>>10;a[B>>0]=(((e>>>0>255?0-e>>31:e)&255)+1+(d[B>>0]|0)|0)>>>1;k=k+1|0;f=f+2|0;j=j+1|0}return}function ef(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;k=h>>1;A=g*13|0;i=c;j=0;d=d+(0-(h&-2)<<1)|0;while(1){if((j|0)==13)break;x=d+2|0;y=d+-2|0;w=d+4|0;u=H((e[w>>1]|0)+(e[y>>1]|0)|0,-5)|0;v=d+6|0;b[i>>1]=(((e[x>>1]|0)+(e[d>>1]|0)|0)*20|0)+55306+(e[d+-4>>1]|0)+u+(e[v>>1]|0);u=H((e[v>>1]|0)+(e[d>>1]|0)|0,-5)|0;t=d+8|0;b[i+2>>1]=(((e[w>>1]|0)+(e[x>>1]|0)|0)*20|0)+55306+(e[y>>1]|0)+u+(e[t>>1]|0);u=H((e[t>>1]|0)+(e[x>>1]|0)|0,-5)|0;y=d+10|0;b[i+4>>1]=(((e[v>>1]|0)+(e[w>>1]|0)|0)*20|0)+55306+(e[d>>1]|0)+u+(e[y>>1]|0);u=H((e[y>>1]|0)+(e[w>>1]|0)|0,-5)|0;z=d+12|0;b[i+6>>1]=(((e[t>>1]|0)+(e[v>>1]|0)|0)*20|0)+55306+(e[x>>1]|0)+u+(e[z>>1]|0);u=H((e[z>>1]|0)+(e[v>>1]|0)|0,-5)|0;x=d+14|0;b[i+8>>1]=(((e[y>>1]|0)+(e[t>>1]|0)|0)*20|0)+55306+(e[w>>1]|0)+u+(e[x>>1]|0);u=H((e[x>>1]|0)+(e[t>>1]|0)|0,-5)|0;w=d+16|0;b[i+10>>1]=(((e[z>>1]|0)+(e[y>>1]|0)|0)*20|0)+55306+(e[v>>1]|0)+u+(e[w>>1]|0);u=H((e[w>>1]|0)+(e[y>>1]|0)|0,-5)|0;v=d+18|0;b[i+12>>1]=(((e[x>>1]|0)+(e[z>>1]|0)|0)*20|0)+55306+(e[t>>1]|0)+u+(e[v>>1]|0);z=H((e[v>>1]|0)+(e[z>>1]|0)|0,-5)|0;b[i+14>>1]=(((e[w>>1]|0)+(e[x>>1]|0)|0)*20|0)+55306+(e[y>>1]|0)+z+(e[d+20>>1]|0);i=i+(g<<1)|0;j=j+1|0;d=d+(k<<1)|0}o=f>>1;p=H(g,-2)|0;q=0-g|0;r=g<<1;s=g*3|0;t=g<<2;u=g*5|0;v=g*6|0;w=g*7|0;x=g<<3;y=g*9|0;z=g*10|0;j=f&-2;k=o*3|0;f=o<<2;l=o*5|0;m=o*6|0;n=o*7|0;i=a;d=c+(A<<1)+((H(g,-11)|0)<<1)|0;h=0;while(1){if((h|0)==8)break;P=(b[d+(q<<1)>>1]|0)+10230|0;O=(b[d>>1]|0)+10230|0;M=b[d+(g<<1)>>1]|0;N=M+10230|0;K=b[d+(r<<1)>>1]|0;L=K+10230|0;I=b[d+(s<<1)>>1]|0;J=I+10230|0;F=b[d+(t<<1)>>1]|0;G=F+10230|0;D=b[d+(u<<1)>>1]|0;E=D+10230|0;A=(b[d+(v<<1)>>1]|0)+10230|0;a=(b[d+(w<<1)>>1]|0)+10230|0;B=(b[d+(x<<1)>>1]|0)+10230|0;c=(b[d+(y<<1)>>1]|0)+10230|0;C=b[d+(z<<1)>>1]|0;Q=(b[d+(p<<1)>>1]|0)+10742+J+((N+O|0)*20|0)+(H(L+P|0,-5)|0)>>10;b[i>>1]=Q>>>0<1024?Q:0-Q>>31&1023;F=F+10742|0;P=F+P+((L+N|0)*20|0)+(H(J+O|0,-5)|0)>>10;b[i+(o<<1)>>1]=P>>>0<1024?P:0-P>>31&1023;N=D+10742+O+((J+L|0)*20|0)+(H(G+N|0,-5)|0)>>10;b[i+(j<<1)>>1]=N>>>0<1024?N:0-N>>31&1023;L=M+10742+A+((G+J|0)*20|0)+(H(E+L|0,-5)|0)>>10;b[i+(k<<1)>>1]=L>>>0<1024?L:0-L>>31&1023;J=K+10742+a+((E+G|0)*20|0)+(H(A+J|0,-5)|0)>>10;b[i+(f<<1)>>1]=J>>>0<1024?J:0-J>>31&1023;G=I+10742+B+((A+E|0)*20|0)+(H(a+G|0,-5)|0)>>10;b[i+(l<<1)>>1]=G>>>0<1024?G:0-G>>31&1023;E=F+c+((a+A|0)*20|0)+(H(B+E|0,-5)|0)>>10;b[i+(m<<1)>>1]=E>>>0<1024?E:0-E>>31&1023;A=D+20972+C+((B+a|0)*20|0)+(H(c+A|0,-5)|0)>>10;b[i+(n<<1)>>1]=A>>>0<1024?A:0-A>>31&1023;i=i+2|0;d=d+2|0;h=h+1|0}return}function ff(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;s=f>>1;g=0-s|0;if(!c){c=e[a+(g<<1)>>1]|0;g=c}else{g=e[a+(g<<1)>>1]|0;c=e[a+(~s<<1)>>1]|0}k=e[a+(1-s<<1)>>1]|0;p=k+2|0;r=(p+c+(g<<1)|0)>>>2;l=e[a+(2-s<<1)>>1]|0;m=l+2|0;k=(m+g+(k<<1)|0)>>>2;n=e[a+(3-s<<1)>>1]|0;l=(p+(l<<1)+n|0)>>>2;p=e[a+(4-s<<1)>>1]|0;m=(m+(n<<1)+p|0)>>>2;q=e[a+(5-s<<1)>>1]|0;n=(n+2+(p<<1)+q|0)>>>2;o=e[a+(6-s<<1)>>1]|0;p=(p+2+(q<<1)+o|0)>>>2;c=e[a+(7-s<<1)>>1]|0;q=(q+2+(o<<1)+c|0)>>>2;if(!d){g=c;d=c;h=c;i=c;j=c;c=c*3|0}else{t=e[a+(8-s<<1)>>1]|0;j=e[a+(9-s<<1)>>1]|0;u=e[a+(10-s<<1)>>1]|0;i=u+2|0;h=e[a+(11-s<<1)>>1]|0;d=e[a+(12-s<<1)>>1]|0;g=(h+2+(d<<1)+(e[a+(13-s<<1)>>1]|0)|0)>>>2;d=(i+(h<<1)+d|0)>>>2;h=(j+2+(u<<1)+h|0)>>>2;i=(i+t+(j<<1)|0)>>>2;j=(c+2+(t<<1)+j|0)>>>2;c=(c<<1)+t|0}v=(o+2+c|0)>>>2;c=k+1|0;b[a>>1]=(c+r|0)>>>1;u=l+2|0;b[a+(s<<1)>>1]=(u+r+(k<<1)|0)>>>2;r=(c+l|0)>>>1&65535;b[a+2>>1]=r;c=f&-2;b[a+(c<<1)>>1]=r;r=m+2|0;t=(r+k+(l<<1)|0)>>>2&65535;b[a+(s+1<<1)>>1]=t;k=s*3|0;b[a+(k<<1)>>1]=t;t=(l+1+m|0)>>>1&65535;b[a+4>>1]=t;b[a+((f|1)<<1)>>1]=t;o=s<<2;b[a+(o<<1)>>1]=t;u=(u+(m<<1)+n|0)>>>2&65535;b[a+(s+2<<1)>>1]=u;b[a+(k+1<<1)>>1]=u;f=s*5|0;b[a+(f<<1)>>1]=u;u=(m+1+n|0)>>>1&65535;b[a+6>>1]=u;b[a+(c+2<<1)>>1]=u;b[a+((o|1)<<1)>>1]=u;t=s*6|0;b[a+(t<<1)>>1]=u;r=(r+(n<<1)+p|0)>>>2&65535;b[a+(s+3<<1)>>1]=r;b[a+(k+2<<1)>>1]=r;b[a+(f+1<<1)>>1]=r;u=s*7|0;b[a+(u<<1)>>1]=r;r=(n+1+p|0)>>>1&65535;b[a+8>>1]=r;b[a+(c+3<<1)>>1]=r;b[a+((o|2)<<1)>>1]=r;b[a+((t|1)<<1)>>1]=r;r=(n+2+(p<<1)+q|0)>>>2&65535;b[a+(s+4<<1)>>1]=r;b[a+(k+3<<1)>>1]=r;b[a+(f+2<<1)>>1]=r;b[a+(u+1<<1)>>1]=r;r=(p+1+q|0)>>>1&65535;b[a+10>>1]=r;b[a+(c+4<<1)>>1]=r;b[a+((o|3)<<1)>>1]=r;b[a+(t+2<<1)>>1]=r;r=(p+2+(q<<1)+v|0)>>>2&65535;b[a+(s+5<<1)>>1]=r;b[a+(k+4<<1)>>1]=r;b[a+(f+3<<1)>>1]=r;b[a+(u+2<<1)>>1]=r;r=(q+1+v|0)>>>1&65535;b[a+12>>1]=r;b[a+(c+5<<1)>>1]=r;b[a+(o+4<<1)>>1]=r;b[a+(t+3<<1)>>1]=r;q=(q+2+j+(v<<1)|0)>>>2&65535;b[a+(s+6<<1)>>1]=q;b[a+(k+5<<1)>>1]=q;b[a+(f+4<<1)>>1]=q;b[a+(u+3<<1)>>1]=q;q=j+1|0;r=(q+v|0)>>>1&65535;b[a+14>>1]=r;b[a+(c+6<<1)>>1]=r;b[a+(o+5<<1)>>1]=r;b[a+(t+4<<1)>>1]=r;r=i+2|0;p=(r+v+(j<<1)|0)>>>2&65535;b[a+(s+7<<1)>>1]=p;b[a+(k+6<<1)>>1]=p;b[a+(f+5<<1)>>1]=p;b[a+(u+4<<1)>>1]=p;s=(q+i|0)>>>1&65535;b[a+(c+7<<1)>>1]=s;b[a+(o+6<<1)>>1]=s;b[a+(t+5<<1)>>1]=s;s=(j+2+(i<<1)+h|0)>>>2&65535;b[a+(k+7<<1)>>1]=s;b[a+(f+6<<1)>>1]=s;b[a+(u+5<<1)>>1]=s;s=(i+1+h|0)>>>1&65535;b[a+(o+7<<1)>>1]=s;b[a+(t+6<<1)>>1]=s;s=(r+(h<<1)+d|0)>>>2&65535;b[a+(f+7<<1)>>1]=s;b[a+(u+6<<1)>>1]=s;b[a+(t+7<<1)>>1]=(h+1+d|0)>>>1;b[a+(u+7<<1)>>1]=(h+2+(d<<1)+g|0)>>>2;return}function gf(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;y_()|0;q=a+48|0;s=c[q>>2]|0;s=xA(-1,1073741823,s|0,((s|0)<0)<<31>>31|0)|0;p=M()|0;r=a+40|0;i=c[r>>2]|0;i=xA(s|0,p|0,i|0,((i|0)<0)<<31>>31|0)|0;p=M()|0;s=a+44|0;j=c[s>>2]|0;j=(j|0)==0?d:(j|0)<(d|0)?j:d;d=((f|0)<0)<<31>>31;o=(p|0)<(d|0)|(p|0)==(d|0)&i>>>0<f>>>0;i=o?i:f;c[g>>2]=0;d=c[a+8>>2]|0;f=c[q>>2]|0;a:do if((d|0)==1&(f|0)==1){l=a+36|0;h=c[l>>2]|0;t=c[r>>2]|0;f=((t|0)<0)<<31>>31;o=xA(0,h|0,t|0,f|0)|0;n=M()|0;m=a+32|0;n=aX(0,c[m>>2]|0,o|0,n|0)|0;o=M()|0;k=c[a+20>>2]|0;d=((k|0)<0)<<31>>31;p=xA(0,k|0,t|0,f|0)|0;q=M()|0;i=MR(t|0,f|0,i|0,((i|0)<0)<<31>>31|0)|0;i=aX(i|0,M()|0,~h|0,~(((h|0)<0)<<31>>31)|0)|0;i=aX(i|0,M()|0,k|0,d|0)|0;d=xA(i|0,M()|0,k|0,d|0)|0;M()|0;d=(j|0)>(d|0)?d:j;k=(d|0)>0;d=k?d:0;if(k){h=b+260|0;i=a+96|0;j=a+24|0;k=a+28|0;f=0;while(1){if((f|0)>=(c[h>>2]|0))break a;mc[c[i>>2]&63](c[b+(f<<2)>>2]|0,c[e+(f<<2)>>2]|0,d,n,o,p,q);f=f+1|0;if((f|0)==(c[h>>2]|0)){u=H(c[j>>2]|0,d)|0;u=(c[m>>2]|0)+u|0;w=c[l>>2]|0;t=c[k>>2]|0;t=MR(t|0,((t|0)<0)<<31>>31|0,d|0,0)|0;w=aX(t|0,M()|0,w|0,((w|0)<0)<<31>>31|0)|0;t=M()|0;v=c[r>>2]|0;v=xA(w|0,t|0,v|0,((v|0)<0)<<31>>31|0)|0;M()|0;c[g>>2]=u+v;v=c[l>>2]|0;u=c[k>>2]|0;u=MR(u|0,((u|0)<0)<<31>>31|0,d|0,0)|0;v=aX(u|0,M()|0,v|0,((v|0)<0)<<31>>31|0)|0;u=M()|0;t=c[r>>2]|0;t=my(v|0,u|0,t|0,((t|0)<0)<<31>>31|0)|0;M()|0;c[l>>2]=t;c[m>>2]=0}}}else d=0}else{t=aX(i|0,((i|0)<0)<<31>>31|0,1,0)|0;t=_W(t|0,M()|0,d|0,((d|0)<0)<<31>>31|0)|0;t=MR(t|0,M()|0,f|0,((f|0)<0)<<31>>31|0)|0;u=M()|0;f=c[a+32>>2]|0;f=_W(t|0,u|0,f|0,((f|0)<0)<<31>>31|0)|0;u=M()|0;t=c[r>>2]|0;t=MR(f|0,u|0,t|0,((t|0)<0)<<31>>31|0)|0;u=M()|0;f=c[a+36>>2]|0;w=c[a+20>>2]|0;d=((w|0)<0)<<31>>31;v=~f;v=aX(t|0,u|0,v|0,((v|0)<0)<<31>>31|0)|0;v=aX(v|0,M()|0,w|0,d|0)|0;d=xA(v|0,M()|0,w|0,d|0)|0;M()|0;d=(j|0)>(d|0)?d:j;w=(d|0)>0;d=w?d:0;if(w){do if(!(c[a+52>>2]|0))h=13;else{if((f|0)==0?(c[a+28>>2]|0)==0:0){h=13;break}f=a+104|0}while(0);if((h|0)==13)f=a+100|0;h=c[f>>2]|0;i=b+260|0;f=0;while(1){j=c[i>>2]|0;if((f|0)>=(j|0))break a;w=f+1|0;v=_b[h&63](a,c[b+(f<<2)>>2]|0,c[e+(f<<2)>>2]|0,d,(w|0)==(j|0)&1)|0;c[g>>2]=v;f=w}}else d=0}while(0);f=c[s>>2]|0;if(f|0?(w=f-d|0,c[s>>2]=w,(w|0)==0):0){u=c[a+16>>2]|0;c[a+20>>2]=u;w=c[r>>2]|0;v=(u|0)/(w|0)|0;c[a+24>>2]=v;w=u-(H(v,w)|0)|0;c[a+28>>2]=w}return d|0}function hf(e,f){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;t=Mb;Mb=Mb+80|0;g=t+64|0;m=t+48|0;n=t+32|0;r=t+16|0;s=t;h=PL(f)|0;i=h>>>0>7;if(i){q=c[e+4>>2]|0;c[g>>2]=h;AD(q,16,180596,g)}q=e+3109|0;a[q>>0]=i?0-h>>31&7:h;l=e+1412|0;if(c[(c[l>>2]|0)+4>>2]|0){p=$t(f)|0;p=p+(d[q>>0]|0)|0;b[e+3110>>1]=p>>>0>7?0-p>>31&7:p}k=e+3044|0;g=0;while(1){i=c[k>>2]|0;if(g>>>0>=i>>>0)break;p=(mT(f)|0)&255;a[m+g>>0]=p;if(!(p<<24>>24)){b[e+3112+(g<<1)>>1]=1<<d[q>>0];b[e+3304+(g<<1)>>1]=0}g=g+1|0}a:do if(!(c[(c[l>>2]|0)+4>>2]|0)){g=0;while(1){if((g|0)==(i|0)){g=i;break a}a[n+g>>0]=0;g=g+1|0}}else{h=0;g=i;while(1){if(h>>>0>=g>>>0)break a;g=(mT(f)|0)&255;a[n+h>>0]=g;h=h+1|0;g=c[k>>2]|0}}while(0);p=e+3110|0;j=0;b:while(1){if(j>>>0>=g>>>0){o=28;break}if(a[m+j>>0]|0){i=$t(f)|0;b[e+3112+(j<<1)>>1]=(1<<d[q>>0])+i;i=($t(f)|0)&65535;b[e+3304+(j<<1)>>1]=i}c:do if(!(a[n+j>>0]|0)){i=1<<b[p>>1]&65535;b[e+3144+(j<<2)>>1]=i;b[e+3336+(j<<2)>>1]=0;b[e+3144+(j<<2)+2>>1]=i;b[e+3336+(j<<2)+2>>1]=0}else{g=0;while(1){if(g>>>0>=2)break c;h=$t(f)|0;i=$t(f)|0;if((i+131072|0)>>>0>262144|(h<<24>>24|0)!=(h|0)){g=-1094995529;break b}u=b[p>>1]|0;h=(1<<u)+h|0;b[e+3144+(j<<2)+(g<<1)>>1]=h;i=i-(h<<16>>9>>u)+128|0;i=(i|0)<127?i:127;b[e+3336+(j<<2)+(g<<1)>>1]=(i|0)>-128?i:-128;g=g+1|0}}while(0);j=j+1|0;g=c[k>>2]|0}d:do if((o|0)==28)if(!(c[e+2420>>2]|0)){k=e+3048|0;g=0;while(1){i=c[k>>2]|0;if(g>>>0>=i>>>0)break;u=(mT(f)|0)&255;a[r+g>>0]=u;if(!(u<<24>>24)){b[e+3272+(g<<1)>>1]=1<<d[q>>0];b[e+3400+(g<<1)>>1]=0}g=g+1|0}e:do if(!(c[(c[l>>2]|0)+4>>2]|0)){g=0;while(1){if((g|0)==(i|0)){g=i;break e}a[s+g>>0]=0;g=g+1|0}}else{h=0;g=i;while(1){if(h>>>0>=g>>>0)break e;g=(mT(f)|0)&255;a[s+h>>0]=g;h=h+1|0;g=c[k>>2]|0}}while(0);j=0;while(1){if(j>>>0>=g>>>0){g=0;break d}if(a[r+j>>0]|0){u=$t(f)|0;b[e+3272+(j<<1)>>1]=(1<<d[q>>0])+u;u=($t(f)|0)&65535;b[e+3400+(j<<1)>>1]=u}f:do if(!(a[s+j>>0]|0)){u=1<<b[p>>1]&65535;b[e+3208+(j<<2)>>1]=u;b[e+3432+(j<<2)>>1]=0;b[e+3208+(j<<2)+2>>1]=u;b[e+3432+(j<<2)+2>>1]=0}else{g=0;while(1){if(g>>>0>=2)break f;h=$t(f)|0;i=$t(f)|0;if((i+131072|0)>>>0>262144|(h<<24>>24|0)!=(h|0)){g=-1094995529;break d}u=b[p>>1]|0;o=(1<<u)+h|0;b[e+3208+(j<<2)+(g<<1)>>1]=o;u=i-(o<<16>>9>>u)+128|0;u=(u|0)<127?u:127;b[e+3432+(j<<2)+(g<<1)>>1]=(u|0)>-128?u:-128;g=g+1|0}}while(0);j=j+1|0;g=c[k>>2]|0}}else g=0;while(0);Mb=t;return g|0}function jf(d,f,g,h,i,j,k,l,m,n,o){d=d|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,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;D=c[(c[d+24364>>2]|0)+(c[f+21796>>2]<<2)>>2]|0;if(c[(c[d+4>>2]|0)+808>>2]&1|0)Rg(d,f);G=d+25652|0;p=c[G>>2]|0;q=a[f+28284>>0]|0;if(q<<24>>24>-1){A=q<<24>>24;B=c[f+21788>>2]|0;B=((B<<4|8)+(b[f+28e3>>1]>>2)<<p)+(64<<p)+(H((c[f+21792>>2]<<4|B<<2&12)+(b[f+28002>>1]>>2)|0,c[f+21780>>2]|0)|0)|0;z=d+12|0;C=f+21772|0;gc[c[z>>2]&1023]((c[f+23416+(A*40|0)>>2]|0)+B|0,c[C>>2]|0,4);gc[c[z>>2]&1023]((c[f+23416+(A*40|0)+4>>2]|0)+B|0,c[C>>2]|0,4);gc[c[z>>2]&1023]((c[f+23416+(A*40|0)+8>>2]|0)+B|0,c[C>>2]|0,4)}a:do if(!(D&8)){if(D&16|0){B=j+64|0;C=l+64|0;bd(d,f,0,0,8,8<<c[G>>2],g,h,i,0,0,B,c[k>>2]|0,C,c[m>>2]|0,n,o,D&4096,D&16384);bd(d,f,8,0,8,8<<c[G>>2],g,h,i,0,4,B,c[k>>2]|0,C,c[m>>2]|0,n,o,D&8192,D&32768);break}if(D&32|0){w=f+21780|0;x=j+64|0;y=k+4|0;z=l+64|0;A=m+4|0;B=n+4|0;C=o+4|0;bd(d,f,0,0,16,c[w>>2]<<3,g,h,i,0,0,x,c[y>>2]|0,z,c[A>>2]|0,B,C,D&4096,D&16384);bd(d,f,4,0,16,c[w>>2]<<3,g,h,i,4,0,x,c[y>>2]|0,z,c[A>>2]|0,B,C,D&8192,D&32768);break}x=j+64|0;y=k+4|0;z=l+64|0;A=m+4|0;B=n+4|0;C=o+4|0;w=j+128|0;v=l+128|0;u=k+8|0;t=m+8|0;s=n+8|0;l=o+8|0;k=f+21780|0;j=0;while(1){if((j|0)==4)break a;p=e[f+28552+(j<<1)>>1]|0;m=j<<2;n=m&4;o=j<<1&4;b:do if(!(p&8)){if(p&16|0){q=p&4096;r=p&16384;bd(d,f,m,0,4,4<<c[G>>2],g,h,i,n,o,w,c[y>>2]|0,v,c[A>>2]|0,B,C,q,r);bd(d,f,m|2,0,4,4<<c[G>>2],g,h,i,n,o|2,w,c[y>>2]|0,v,c[A>>2]|0,B,C,q,r);break}if(p&32|0){q=p&4096;r=p&16384;bd(d,f,m,0,8,c[k>>2]<<2,g,h,i,n,o,w,c[u>>2]|0,v,c[t>>2]|0,s,l,q,r);bd(d,f,m|1,0,8,c[k>>2]<<2,g,h,i,n|2,o,w,c[u>>2]|0,v,c[t>>2]|0,s,l,q,r);break}r=p&4096;q=p&16384;p=0;while(1){if((p|0)==4)break b;bd(d,f,p+m|0,1,4,0,g,h,i,p<<1&2|n,p&2|o,w,c[u>>2]|0,v,c[t>>2]|0,s,l,r,q);p=p+1|0}}else bd(d,f,m,1,8,0,g,h,i,n,o,x,c[y>>2]|0,z,c[A>>2]|0,B,C,p&4096,p&16384);while(0);j=j+1|0}}else bd(d,f,0,1,16,0,g,h,i,0,0,j,c[k>>2]|0,l,c[m>>2]|0,n,o,D&4096,D&16384);while(0);if(D&49152|0?(E=c[G>>2]|0,F=a[f+28324>>0]|0,F<<24>>24>-1):0){G=F<<24>>24;h=c[f+21788>>2]|0;h=((h<<4|8)+(b[f+28160>>1]>>2)<<E)+(64<<E)+(H((c[f+21792>>2]<<4|h<<2&12)+(b[f+28162>>1]>>2)|0,c[f+21780>>2]|0)|0)|0;g=d+12|0;i=f+21772|0;gc[c[g>>2]&1023]((c[f+25336+(G*40|0)>>2]|0)+h|0,c[i>>2]|0,4);gc[c[g>>2]&1023]((c[f+25336+(G*40|0)+4>>2]|0)+h|0,c[i>>2]|0,4);gc[c[g>>2]&1023]((c[f+25336+(G*40|0)+8>>2]|0)+h|0,c[i>>2]|0,4)}return}function kf(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;l=Mb;Mb=Mb+112|0;i=l+24|0;j=l;e=l+96|0;k=l+92|0;h=l+48|0;c[e>>2]=0;f=CX()|0;c[k>>2]=f;g=c[d+32>>2]|0;if((g|0)==(c[b+144>>2]|0)){i=b+304|0;c[i>>2]=(c[i>>2]|0)+(c[d+28>>2]|0);i=(lZ(c[b+232>>2]|0,f,e,d)|0)>-1;if(i&(c[e>>2]|0)!=0){h=b+244|0;if(!(a[h>>0]|0)){i=c[k>>2]|0;e=c[i+232>>2]|0;g=b+136|0;if((e|0)<=0)e=c[g>>2]|0;c[g>>2]=e;e=c[i+352>>2]|0;f=b+132|0;if((e|0)<=0)e=c[f>>2]|0;c[f>>2]=e;n=b+128|0;c[n>>2]=c[i+76>>2];e=CX()|0;i=b+108|0;c[i>>2]=e;c[e+80>>2]=3;q=e+240|0;c[q>>2]=4;c[q+4>>2]=0;q=c[(c[k>>2]|0)+76>>2]|0;m=b+96|0;p=c[c[m>>2]>>2]|0;o=c[g>>2]|0;o=gg(q,((q|0)<0)<<31>>31,p,((p|0)<0)<<31>>31,o,((o|0)<0)<<31>>31,3)|0;M()|0;c[e+76>>2]=o;PB(e,0)|0;m=c[c[m>>2]>>2]|0;e=hK(c[f>>2]|0)|0;o=M()|0;o=kp(0,4,0,3,m,e,o,c[(c[k>>2]|0)+80>>2]|0,c[g>>2]|0,0,0)|0;e=b+104|0;c[e>>2]=o;jd(o)|0;a[h>>0]=1;o=c[g>>2]|0;n=c[n>>2]|0;m=c[(c[k>>2]|0)+80>>2]|0;h=c[(c[i>>2]|0)+76>>2]|0;c[j>>2]=c[f>>2];c[j+4>>2]=o;c[j+8>>2]=n;c[j+12>>2]=m;c[j+16>>2]=h;jV(168086,j)|0;d=d+16|0;j=c[d+4>>2]|0;h=b+256|0;c[h>>2]=c[d>>2];c[h+4>>2]=j;h=oJ()|0;h=xA(h|0,M()|0,1e3,0)|0;j=M()|0;d=b+264|0;c[d>>2]=h;c[d+4>>2]=j;ia(3,b|0,c[g>>2]|0,c[f>>2]|0)|0;f=i}else{e=b+104|0;f=b+108|0}p=c[f>>2]|0;q=c[k>>2]|0;e=of(c[e>>2]|0,p,c[p+76>>2]|0,q,c[q+76>>2]|0)|0;if((e|0)>0)Aw(c[b+100>>2]|0,c[f>>2]|0,e)|0}}else if((g|0)==(c[b+148>>2]|0)?(q=b+296|0,c[q>>2]=(c[q>>2]|0)+1,q=b+300|0,c[q>>2]=(c[q>>2]|0)+(c[d+28>>2]|0),q=(lZ(c[b+236>>2]|0,f,e,d)|0)>-1,q&(c[e>>2]|0)!=0):0){e=b+245|0;if(!(a[e>>0]|0)){m=c[k>>2]|0;n=c[m+72>>2]|0;q=c[m+80>>2]|0;p=d+8|0;o=c[p>>2]|0;p=c[p+4>>2]|0;c[i>>2]=c[m+68>>2];c[i+4>>2]=n;c[i+8>>2]=q;q=i+16|0;c[q>>2]=o;c[q+4>>2]=p;jV(168204,i)|0;q=c[k>>2]|0;c[b+120>>2]=c[q+68>>2];c[b+124>>2]=c[q+72>>2];q=d+16|0;p=c[q+4>>2]|0;o=b+256|0;c[o>>2]=c[q>>2];c[o+4>>2]=p;o=oJ()|0;o=xA(o|0,M()|0,1e3,0)|0;p=M()|0;q=b+264|0;c[q>>2]=o;c[q+4>>2]=p;a[e>>0]=1;q=c[k>>2]|0;ia(4,b|0,c[q+68>>2]|0,c[q+72>>2]|0)|0}Ca(c[b+92>>2]|0)|0;q=c[k>>2]|0;c[h>>2]=c[q+68>>2];p=c[q+72>>2]|0;c[h+4>>2]=p;c[h+8>>2]=c[q+32>>2];c[h+12>>2]=c[q+36>>2];c[h+16>>2]=c[q+40>>2];c[h+20>>2]=p;p=(p|0)/2|0;c[h+24>>2]=p;c[h+28>>2]=p;c[h+32>>2]=c[q>>2];c[h+36>>2]=c[q+4>>2];c[h+40>>2]=c[q+8>>2];qn(c[b+88>>2]|0,c[b>>2]|0,h)|0}rY(k);Mb=l;return}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,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=Mb;Mb=Mb+32|0;u=y+24|0;s=y+16|0;j=y+8|0;i=y;w=c[b>>2]|0;t=e+28|0;v=(mT(t)|0)&255;p=w+1448|0;a[p>>0]=v;v=c[w+1368>>2]|0;c[b+312>>2]=v;c[b+308>>2]=v;v=e+48|0;if((c[v>>2]&-8|0)==16){c[b+224>>2]=1;r=(mT(t)|0)&255;a[w+2062>>0]=r}g=au(t)|0;c[w+1428>>2]=g;a:do if(g>>>0<=255?(h=c[w+244+(g<<2)>>2]|0,(h|0)!=0):0){g=c[h+4>>2]|0;r=w+1276|0;c[r>>2]=g;g=c[g>>2]|0;if(g>>>0<=31?(k=c[w+116+(g<<2)>>2]|0,k|0):0){q=w+1272|0;h=c[q>>2]|0;g=c[k+4>>2]|0;if((h|0)==(g|0)){g=h;h=c[w+1268>>2]|0}else{c[q>>2]=g;h=c[(c[w+52+(c[g>>2]<<2)>>2]|0)+4>>2]|0;c[w+1268>>2]=h}j=c[g+13376>>2]|0;c[b+328>>2]=j;k=c[g+13380>>2]|0;c[b+332>>2]=k;c[b+320>>2]=j-(c[g+12>>2]|0)-(c[g+16>>2]|0);c[b+324>>2]=k-(c[g+20>>2]|0)-(c[g+24>>2]|0);c[b+336>>2]=c[g+56>>2];c[f+828>>2]=d[g+302>>0];c[f+832>>2]=d[g+335>>0];if(!(a[h+444>>0]|0)){if(c[g+240>>2]|0){m=g+248|0;o=g+244|0;x=16}}else{m=h+452|0;o=h+448|0;x=16}if((x|0)==16?(l=c[m>>2]|0,n=c[o>>2]|0,(n|0)!=0&(l|0)!=0):0)ih(f+884|0,f+880|0,n,((n|0)<0)<<31>>31,l,((l|0)<0)<<31>>31,1073741824,0)|0;do if(!(a[p>>0]|0)){if(!(a[(c[r>>2]|0)+41>>0]|0))g=0;else g=(mT(t)|0)&255;k=w+1449|0;a[k>>0]=g;h=c[q>>2]|0;i=c[h+13384>>2]|0;h=c[h+13388>>2]|0;g=(H(i<<1,h)|0)+-2|0;o=g>>>0>65535;g=o?g>>>16:g;o=o?16:0;p=(g&65280|0)==0;g=(p?o:o|8)+(d[94448+(p?g:g>>>8)>>0]|0)|0;if(!g){j=0;g=i}else{j=HG(t,g)|0;g=c[q>>2]|0;h=c[g+13388>>2]|0;g=c[g+13384>>2]|0}c[w+1432>>2]=j;if(j>>>0<(H(h,g)|0)>>>0)if(!(a[k>>0]|0))break;else{g=0;break a}else{c[s>>2]=j;AD(f,16,179934,s);g=-1094995529;break a}}else a[w+1449>>0]=0;while(0);g=0;while(1){if((g|0)>=(c[(c[r>>2]|0)+1624>>2]|0))break;DW(t);g=g+1|0}g=au(t)|0;c[w+1440>>2]=g;if(g>>>0>=3){c[u>>2]=g;AD(f,16,179970,u);g=-1094995529;break}c[b+32>>2]=(g|0)==0?3:(g|0)==1?2:1;if(a[(c[r>>2]|0)+39>>0]|0){u=(mT(t)|0)&255;a[w+1450>>0]=u}if(a[(c[q>>2]|0)+8>>0]|0){u=(HG(t,2)|0)&255;a[w+1451>>0]=u}if(((c[v>>2]|0)+-19|0)>>>0<2)g=0;else{g=HG(t,c[(c[q>>2]|0)+60>>2]|0)|0;c[w+1444>>2]=g;g=BF(c[q>>2]|0,c[w+2528>>2]|0,g,c[v>>2]|0)|0}h=w+2524|0;c[h>>2]=g;c[b+316>>2]=g;if(c[e+52>>2]|0){g=1;break}switch(c[v>>2]|0){case 9:case 7:case 8:case 6:case 4:case 2:case 0:{g=1;break a}default:{}}c[w+2528>>2]=c[h>>2];g=1;break}c[j>>2]=g;AD(f,16,176434,j);g=-1094995529}else x=5;while(0);if((x|0)==5){c[i>>2]=g;AD(f,16,179880,i);g=-1094995529}Mb=y;return g|0}function mf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=Mb;Mb=Mb+64|0;m=r+56|0;l=r+48|0;q=r+40|0;p=r+24|0;o=r;k=(d|0)!=0;if(k){i=a+28188|0;F$(i);f=a+28196|0;c[f>>2]=0;d=FP(c[a+27164+(c[b+27776>>2]<<2)>>2]|0)|0;c[i>>2]=d;if(!d)d=-12;else{d=c[d+4>>2]|0;c[f>>2]=d;g=5}}else{d=a+28196|0;f=d;d=c[d>>2]|0;g=5}a:do if((g|0)==5){h=a+28200|0;g=c[h>>2]|0;do if((g|0)==(c[(c[a+27036+(c[d>>2]<<2)>>2]|0)+4>>2]|0))d=0;else{i=a+28192|0;F$(i);c[h>>2]=0;d=FP(c[a+27036+(c[c[f>>2]>>2]<<2)>>2]|0)|0;c[i>>2]=d;if(!d){d=-12;break a}g=c[d+4>>2]|0;c[h>>2]=g;if((((c[a+26996>>2]|0)==(c[g+56>>2]|0)?(c[a+26992>>2]|0)==(c[g+60>>2]|0):0)?(e=c[a+29580>>2]|0,(e|0)==(c[g+1184>>2]|0)):0)?(c[a+29576>>2]|0)==(c[g+12>>2]|0):0)d=0;else{d=1;e=c[g+1184>>2]|0}if((c[a+27028>>2]|0)==(e|0)?(c[a+27032>>2]|0)==(c[g+12>>2]|0):0)break;d=1}while(0);i=a+25680|0;if(c[i>>2]|0){f=c[g+56>>2]|0;h=a+4|0;e=c[h>>2]|0;if(((((f<<4|0)==(c[e+132>>2]|0)?(j=c[g+60>>2]|0,(j<<4|0)==(c[e+136>>2]|0)):0)?(c[a+29580>>2]|0)==(c[g+1184>>2]|0):0)?(c[a+29576>>2]|0)==(c[g+12>>2]|0):0)?(c[a+26996>>2]|0)==(f|0):0)f=(c[a+26992>>2]|0)!=(j|0)&1;else f=1}else{e=a+4|0;h=e;f=0;e=c[e>>2]|0}e=c[e+144>>2]|0;if(!((e|0)!=-1?(j=AW(e)|0,(j|0)==(AW(ki(a,0)|0)|0)):0))f=1;if(k){j=g+100|0;k=(c[h>>2]|0)+228|0;c[l>>2]=c[j>>2];c[l+4>>2]=c[j+4>>2];c[m>>2]=c[k>>2];c[m+4>>2]=c[k+4>>2];m=(kw(l,m)|0)==0;f=m?f:1}if(((c[a+29572>>2]|0)==0?(m=oP(g)|0,l=c[h>>2]|0,c[l+828>>2]=m,c[l+832>>2]=c[g+8>>2],c[l+368>>2]=c[g+48>>2],l=c[g+56>>2]|0,c[a+26996>>2]=l,m=c[g+60>>2]|0,c[a+26992>>2]=m,k=H(m,l)|0,c[a+27004>>2]=k,c[a+27e3>>2]=l+1,c[a+26352>>2]=l<<2,c[a+25668>>2]=(c[g+12>>2]|0)<2&1,c[a+25656>>2]=l<<4,c[a+25660>>2]=m<<4,fp(a),(c[g+108>>2]|0)!=0):0)?(n=c[h>>2]|0,c[n+400>>2]=(c[g+112>>2]|0)>0?2:1,(c[g+116>>2]|0)!=0):0){m=n+396|0;l=c[g+128>>2]|0;d=(c[m>>2]|0)==(l|0)?d:1;c[n+388>>2]=c[g+120>>2];c[n+392>>2]=c[g+124>>2];c[m>>2]=l}e=(c[i>>2]|0)==0;if((d|f|0)!=0|e){c[i>>2]=0;if((c[a+25628>>2]|0)!=(b|0)){d=c[h>>2]|0;n=c[d+132>>2]|0;b=c[a+25660>>2]|0;p=c[d+136>>2]|0;q=(c[a+29544>>2]|0)+1|0;c[o>>2]=c[a+25656>>2];c[o+4>>2]=n;c[o+8>>2]=b;c[o+12>>2]=p;c[o+16>>2]=q;AD(d,16,208424,o);d=-1094995529;break}if(!e)qy(a);d=ki(a,1)|0;if((d|0)>=0){o=c[h>>2]|0;c[o+144>>2]=d;n=c[a+25656>>2]|0;b=c[a+25660>>2]|0;d=BY(d)|0;c[p>>2]=n;c[p+4>>2]=b;c[p+8>>2]=d;AD(o,40,208479,p);d=yg(a)|0;if((d|0)<0)AD(c[h>>2]|0,16,208517,q);else d=0}}else d=0}while(0);Mb=r;return d|0}function nf(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;l=(c|0)!=0;c=0-f|0;if(l){g=d[b+c>>0]|0;c=d[b+~f>>0]|0}else{c=d[b+c>>0]|0;g=c}j=d[b+(1-f)>>0]|0;k=j+2|0;q=(k+c+(g<<1)|0)>>>2;m=d[b+(2-f)>>0]|0;i=g+2|0;j=(i+(j<<1)+m|0)>>>2;n=d[b+(3-f)>>0]|0;k=(k+(m<<1)+n|0)>>>2;o=d[b+(4-f)>>0]|0;m=(m+2+(n<<1)+o|0)>>>2;p=d[b+(5-f)>>0]|0;n=(n+2+(o<<1)+p|0)>>>2;g=d[b+(6-f)>>0]|0;o=(o+2+(p<<1)+g|0)>>>2;h=d[b+(7-f)>>0]|0;p=(p+2+(g<<1)+h|0)>>>2;if(!e)c=h;else c=d[b+(8-f)>>0]|0;e=(g+2+(h<<1)+c|0)>>>2;if(l){h=d[b+~f>>0]|0;c=d[b+-1>>0]|0;g=h}else{h=d[b+-1>>0]|0;c=h;g=d[b+~f>>0]|0}y=d[b+(f+-1)>>0]|0;x=y+2|0;w=(x+h+(c<<1)|0)>>>2;l=f<<1;A=d[b+(l+-1)>>0]|0;y=(c+2+(y<<1)+A|0)>>>2;h=f*3|0;z=d[b+(h+-1)>>0]|0;x=(x+(A<<1)+z|0)>>>2;r=f<<2;C=d[b+(r+-1)>>0]|0;A=(A+2+(z<<1)+C|0)>>>2;s=f*5|0;v=d[b+(s+-1)>>0]|0;z=(z+2+(C<<1)+v|0)>>>2;t=f*6|0;B=d[b+(t+-1)>>0]|0;C=(C+2+(v<<1)+B|0)>>>2;u=f*7|0;B=(v+2+(B<<1)+(d[b+(u+-1)>>0]|0)|0)>>>2;v=(i+c+(g<<1)|0)>>>2;a[b+t>>0]=(A+2+(z<<1)+C|0)>>>2;a[b+u>>0]=(z+2+(C<<1)+B|0)>>>2;g=y+2|0;c=(g+(x<<1)+A|0)>>>2&255;a[b+(t|1)>>0]=c;a[b+r>>0]=c;c=(x+2+(A<<1)+z|0)>>>2&255;a[b+(u+1)>>0]=c;a[b+s>>0]=c;g=(g+(w<<1)+v|0)>>>2&255;a[b+(t+2)>>0]=g;a[b+(r|1)>>0]=g;a[b+l>>0]=g;g=(w+2+(y<<1)+x|0)>>>2&255;a[b+(u+2)>>0]=g;a[b+(s+1)>>0]=g;a[b+h>>0]=g;g=q+2|0;c=(g+w+(v<<1)|0)>>>2&255;a[b+(u+3)>>0]=c;a[b+(s+2)>>0]=c;a[b+(h+1)>>0]=c;a[b+f>>0]=c;c=q+1|0;i=(c+v|0)>>>1&255;a[b+(t+3)>>0]=i;a[b+(r|2)>>0]=i;a[b+(l|1)>>0]=i;a[b>>0]=i;i=j+2|0;q=(i+(q<<1)+v|0)>>>2&255;a[b+(u+4)>>0]=q;a[b+(s+3)>>0]=q;a[b+(h+2)>>0]=q;a[b+(f+1)>>0]=q;q=(c+j|0)>>>1&255;a[b+(t+4)>>0]=q;a[b+(r|3)>>0]=q;a[b+(l+2)>>0]=q;a[b+1>>0]=q;q=(g+(j<<1)+k|0)>>>2&255;a[b+(u+5)>>0]=q;a[b+(s+4)>>0]=q;a[b+(h+3)>>0]=q;a[b+(f+2)>>0]=q;q=(j+1+k|0)>>>1&255;a[b+(t+5)>>0]=q;a[b+(r+4)>>0]=q;a[b+(l+3)>>0]=q;a[b+2>>0]=q;q=(i+(k<<1)+m|0)>>>2&255;a[b+(u+6)>>0]=q;a[b+(s+5)>>0]=q;a[b+(h+4)>>0]=q;a[b+(f+3)>>0]=q;q=(k+1+m|0)>>>1&255;a[b+(t+6)>>0]=q;a[b+(r+5)>>0]=q;a[b+(l+4)>>0]=q;a[b+3>>0]=q;q=(k+2+(m<<1)+n|0)>>>2&255;a[b+(u+7)>>0]=q;a[b+(s+6)>>0]=q;a[b+(h+5)>>0]=q;a[b+(f+4)>>0]=q;q=(m+1+n|0)>>>1&255;a[b+(t+7)>>0]=q;a[b+(r+6)>>0]=q;a[b+(l+5)>>0]=q;a[b+4>>0]=q;q=(m+2+(n<<1)+o|0)>>>2&255;a[b+(s+7)>>0]=q;a[b+(h+6)>>0]=q;a[b+(f+5)>>0]=q;q=(n+1+o|0)>>>1&255;a[b+(r+7)>>0]=q;a[b+(l+6)>>0]=q;a[b+5>>0]=q;q=(n+2+(o<<1)+p|0)>>>2&255;a[b+(h+7)>>0]=q;a[b+(f+6)>>0]=q;q=(o+1+p|0)>>>1&255;a[b+(l+7)>>0]=q;a[b+6>>0]=q;a[b+(f+7)>>0]=(o+2+(p<<1)+e|0)>>>2;a[b+7>>0]=(p+1+e|0)>>>1;return}function of(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;r=Mb;Mb=Mb+304|0;l=r+288|0;o=r;p=a+11140|0;n=a+12260|0;a:do if(!(J0(a)|0)){AD(a,16,218876,r+280|0);g=-22}else{q=a+13416|0;j=a+13100|0;k=(b|0)!=0;h=c[q>>2]|0;while(1){if((h|0)<=0){m=11;break}h=nm(j,(h|0)<16384?h:16384)|0;if((h|0)<0){g=h;break}qK(j,o);h=c[q>>2]|0;c[q>>2]=0-h;f=of(a,o,(h|0)<16384?h:16384,e,f)|0;h=c[q>>2]|0;i=0-h|0;c[q>>2]=i;if((f|0)<=0){m=7;break}h=i-f|0;c[q>>2]=h;if(!(k|(h|0)!=0)){g=0;break a}else f=0}if((m|0)==7)if(!h){c[l>>2]=218910;c[l+4>>2]=218528;c[l+8>>2]=739;AD(0,0,222515,l);ba()}else g=0;else if((m|0)==11){do if(!e){g=a+13444|0;if(!(c[g>>2]|0))if(!(c[a+13384>>2]|0)){g=0;break a}else break;h=a+13392|0;if(!(c[h>>2]|0))Vb[c[(c[a+13448>>2]|0)+12>>2]&31](a)|0;c[a+13388>>2]=0;c[h>>2]=1}else{Rz(p,e);g=a+13444|0}while(0);Rz(n,b);if(c[g>>2]|0){g=Hd(a,n,d,p,f)|0;if((g|0)<=0)break;if(c[q>>2]|0)break;n=c[a+40>>2]|0;n=MR(n|0,((n|0)<0)<<31>>31|0,g|0,((g|0)<0)<<31>>31|0)|0;o=M()|0;q=a+13400|0;p=q;p=aX(n|0,o|0,c[p>>2]|0,c[p+4>>2]|0)|0;a=M()|0;c[q>>2]=p;c[q+4>>2]=a;break}Mn(o|0,p|0,280)|0;b=a+13384|0;h=c[b>>2]|0;g=(h|0)<(d|0)?h:d;if(g){j=a+13380|0;_y(o,a+12540|0,c[j>>2]|0);g=Hd(a,n,g,o,g)|0;if((g|0)>=0){c[b>>2]=(c[b>>2]|0)-g;c[j>>2]=(c[j>>2]|0)+g;_y(n,n,g);h=d-g|0;i=c[b>>2]|0;if(!i){c[j>>2]=0;d=h;h=0;m=26}else{d=h;h=i;m=26}}}else{g=0;m=26}b:do if((m|0)==26){do if(f){l=a+13380|0;k=c[l>>2]|0;h=h+f-d|0;i=h+k|0;e=(f|0)>(d|0);do if(e){j=a+12540|0;if((h|0)>(k|0)?1:(i|0)<=(c[a+12808>>2]|0)){h=nm(j,i)|0;if((h|0)<0){g=h;break b}else break}else{_y(o,j,k);Fr(j,o,c[b>>2]|0);c[l>>2]=0;break}}while(0);if(d){h=e?d:f;h=Hd(a,n,h,p,h)|0;if((h|0)<0){g=h;break b}_y(p,p,h);f=f-h|0;g=h+g|0;if(!f)break}_y(o,a+12540|0,(c[b>>2]|0)+(c[l>>2]|0)|0);Fr(o,p,f);c[b>>2]=(c[b>>2]|0)+f}while(0);if((g|0)>0?(c[q>>2]|0)==0:0){n=c[a+40>>2]|0;n=MR(n|0,((n|0)<0)<<31>>31|0,g|0,((g|0)<0)<<31>>31|0)|0;o=M()|0;q=a+13400|0;p=q;p=aX(n|0,o|0,c[p>>2]|0,c[p+4>>2]|0)|0;a=M()|0;c[q>>2]=p;c[q+4>>2]=a}}while(0);break}}while(0);Mb=r;return g|0}function pf(f,g,h,i,j,k,l){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,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=Mb;Mb=Mb+304|0;t=A;u=A+256|0;z=g+32860|0;r=u+4|0;c[r>>2]=c[z>>2];w=g+32856|0;c[u>>2]=c[w>>2];x=g+32872|0;y=u+16|0;c[y>>2]=c[x>>2];q=c[g+21828>>2]|0;p=(c[91856+(q*56|0)+(i<<2)>>2]|0)+(g+32904)|0;q=(c[91968+(q*56|0)+(i<<2)>>2]|0)+(g+32904)|0;s=(c[92112+(i<<2)>>2]|0)+(g+32904)|0;o=l+-1|0;n=0;m=0;while(1){if((n|0)>=(o|0)){v=6;break}if(BA(u,p+n|0)|0){l=m+1|0;c[t+(m<<2)>>2]=n;if(!(BA(u,q+n|0)|0))m=l;else{m=l;break}}n=n+1|0}if((v|0)==6)if((n|0)==(o|0)){c[t+(m<<2)>>2]=o;m=m+1|0}q=(i|0)==3;i=(c[f+26376>>2]|0)+(c[g+21796>>2]<<1)|0;b[i>>1]=(q?64:256)<<(q?-49:-48)+j|(e[i>>1]|0);a[(d[91792+j>>0]|0)+(g+27824)>>0]=m;if(!(c[f+25652>>2]|0)){q=m;l=0;while(1){q=q+-1|0;f=d[k+(c[t+(q<<2)>>2]|0)>>0]|0;if(!(BA(u,s+(d[210498+l>>0]|0)|0)|0)){m=d[92080+l>>0]|0;j=c[u>>2]|0;l=j<<1;c[u>>2]=l;if(!(j&32767)){yU(u);l=c[u>>2]|0}j=c[r>>2]|0;p=j<<17;l=l-p|0;o=l>>31;l=(o&p)+l|0;c[u>>2]=l;p=m;n=o^65535;m=j}else{m=s+(d[92096+l>>0]|0)|0;p=d[92088+l>>0]|0;l=2;while(1){if(l>>>0>=15){v=35;break}if(!(BA(u,m)|0))break;l=l+1|0}if((v|0)==35){v=0;l=0;while(1)if(l>>>0<30&(zP(u)|0)!=0)l=l+1|0;else break;m=1;while(1){if(!l)break;l=l+-1|0;m=(zP(u)|0)+(m<<1)|0}l=m+14|0}j=c[u>>2]|0;m=j<<1;c[u>>2]=m;if(!(j&32767)){yU(u);m=c[u>>2]|0}j=c[r>>2]|0;n=j<<17;m=m-n|0;o=m>>31;m=(o&n)+m|0;c[u>>2]=m;n=o^0-l;l=m;m=j}b[h+(f<<1)>>1]=n-o;if(!q)break;else l=p}}else{l=0;q=m;while(1){q=q+-1|0;f=d[k+(c[t+(q<<2)>>2]|0)>>0]|0;if(!(BA(u,s+(d[210498+l>>0]|0)|0)|0)){m=d[92080+l>>0]|0;j=c[u>>2]|0;l=j<<1;c[u>>2]=l;if(!(j&32767)){yU(u);l=c[u>>2]|0}j=c[r>>2]|0;p=j<<17;l=l-p|0;o=l>>31;l=(o&p)+l|0;c[u>>2]=l;p=m;n=~o;m=j}else{m=s+(d[92096+l>>0]|0)|0;p=d[92088+l>>0]|0;l=2;while(1){if(l>>>0>=15){v=17;break}if(!(BA(u,m)|0))break;l=l+1|0}if((v|0)==17){v=0;l=0;while(1)if(l>>>0<30&(zP(u)|0)!=0)l=l+1|0;else break;m=1;while(1){if(!l)break;l=l+-1|0;m=(zP(u)|0)+(m<<1)|0}l=m+14|0}j=c[u>>2]|0;m=j<<1;c[u>>2]=m;if(!(j&32767)){yU(u);m=c[u>>2]|0}j=c[r>>2]|0;n=j<<17;m=m-n|0;o=m>>31;m=(o&n)+m|0;c[u>>2]=m;n=o^0-l;l=m;m=j}c[h+(f<<2)>>2]=n-o;if(!q)break;else l=p}}c[z>>2]=m;c[w>>2]=l;c[x>>2]=c[y>>2];Mb=A;return}function qf(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;r=Mb;Mb=Mb+48|0;q=r+32|0;n=r+16|0;k=r+8|0;h=r;b=c[a+28200>>2]|0;m=c[a+24312>>2]|0;j=a+29528|0;i=m+92|0;c[i>>2]=c[j>>2];c[j>>2]=0;j=b+660|0;l=c[a+4>>2]|0;if(!((c[j>>2]|0)==0?(c[l+672>>2]|0)<=0:0)){o=l+180|0;f=c[o>>2]|0;g=c[b+664>>2]|0;c[o>>2]=(f|0)>(g|0)?f:g}g=m+84|0;b=0;while(1){f=c[g>>2]|0;if((b|0)==16){b=16;o=8;break}d=c[a+28660+(b<<2)>>2]|0;e=(b|0)==0;if((f|0)<(d|0)){o=7;break}if(!e)c[a+28660+(b+-1<<2)>>2]=d;b=b+1|0}if((o|0)==7)if(e)b=0;else o=8;if((o|0)==8)c[a+28660+(b+-1<<2)>>2]=f;d=16-b|0;if((c[(c[m>>2]|0)+88>>2]|0)==3)if((d|0)>1)o=17;else o=16;else{o=c[a+28716>>2]|0;if((o|0)!=-2147483648?!((d|0)>1?1:((c[a+28720>>2]|0)-o|0)<3):0)o=16;else o=17}if((o|0)==16){d=1;b=a+4|0;o=22}else if((o|0)==17){e=a+4|0;if(!b){d=a+28660|0;b=c[d>>2]|0;c[h>>2]=c[g>>2];c[h+4>>2]=b;AD(l,40,208222,h);b=1;while(1){if((b|0)==16)break;c[a+28660+(b<<2)>>2]=-2147483648;b=b+1|0}c[d>>2]=c[g>>2];c[i>>2]=1;g=e}else{b=e;o=22}}if((o|0)==22)if((c[l+180>>2]|0)<(d|0)?(c[j>>2]|0)==0:0){g=(c[l+432>>2]|0)>1?24:40;c[k>>2]=d;AD(l,g,208241,k);c[(c[b>>2]|0)+180>>2]=d;g=b}else g=b;k=0;while(1){b=a+28588+(k<<2)|0;if(!(c[b>>2]|0))break;else k=k+1|0}if(k>>>0>=17){c[n>>2]=208274;c[n+4>>2]=207591;c[n+8>>2]=1343;AD(0,0,222515,n);ba()}c[b>>2]=m;b=m+640|0;if(!(c[b>>2]|0))c[b>>2]=4;j=a+28588|0;f=c[j>>2]|0;l=f;i=0;b=1;while(1){d=c[a+28588+(b<<2)>>2]|0;if(!d)break;if(c[(c[d>>2]|0)+84>>2]|0)break;if(c[d+92>>2]|0)break;o=(c[d+84>>2]|0)<(c[l+84>>2]|0);l=o?d:l;i=o?b:i;b=b+1|0}b=c[g>>2]|0;e=c[b+180>>2]|0;do if(!e){if((c[(c[f>>2]|0)+84>>2]|0)==0?(c[f+92>>2]|0)==0:0)break;c[a+28728>>2]=-2147483648}while(0);d=c[l+84>>2]|0;h=a+28728|0;f=(d|0)<(c[h>>2]|0);do if(!((k|0)<(e|0)&(f^1))){b=l+640|0;c[b>>2]=c[b>>2]&-5;b=i;e=c[a+28588+(i<<2)>>2]|0;while(1){if(!e)break;o=b+1|0;e=c[a+28588+(o<<2)>>2]|0;c[a+28588+(b<<2)>>2]=e;b=o}if(f){b=c[g>>2]|0;o=61;break}else{e=c[g>>2]|0;b=e;e=c[e+180>>2]|0;o=47;break}}else o=47;while(0);do if((o|0)==47){if((k|0)<(e|0)){o=61;break}g=a+28724|0;c[g>>2]=l;if((i|0)==0?(p=c[j>>2]|0,(p|0)!=0):0)if((c[(c[p>>2]|0)+84>>2]|0)==0?(c[p+92>>2]|0)==0:0)o=53;else d=-2147483648;else o=53;c[h>>2]=d;e=l+644|0;f=c[e>>2]|0;d=a+29560|0;if(f|0)c[d>>2]=c[d>>2]|2;a=(c[d>>2]|0)>>>1&1|f;c[e>>2]=a;if(!a){if((c[b+92>>2]&8|0)==0?(c[b+96>>2]&4194304|0)==0:0){c[g>>2]=0;break}a=(c[l>>2]|0)+296|0;c[a>>2]=c[a>>2]|1}}while(0);if((o|0)==61){c[q>>2]=f?208285:1113148;AD(b,48,208289,q)}Mb=r;return}function rf(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,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;t=Mb;Mb=Mb+96|0;p=t+64|0;q=t+32|0;r=t+16|0;s=t;o=(e|0)<16;k=e+4|0;l=r+4|0;m=r+8|0;n=r+12|0;i=0;j=d;k=(k|0)<16?k:16;while(1){if((i|0)==16)break;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0;c[q+16>>2]=0;c[q+20>>2]=0;c[q+24>>2]=0;c[q+28>>2]=0;f=0;while(1){if((f|0)==8)break;h=q+(f<<2)|0;g=1;while(1){if((g|0)>=(k|0))break;u=H(b[j+(g<<4<<1)>>1]|0,a[20768+(g<<1<<5)+f>>0]|0)|0;c[h>>2]=u+(c[h>>2]|0);g=g+2|0}f=f+1|0}c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;c[s+12>>2]=0;g=0;while(1){if((g|0)==4)break;h=s+(g<<2)|0;f=1;while(1){if(f>>>0>=8)break;u=H(b[j+(f<<5<<1)>>1]|0,a[20768+(f<<2<<5)+g>>0]|0)|0;c[h>>2]=u+(c[h>>2]|0);f=f+2|0}g=g+1|0}h=b[j>>1]<<6;g=b[j+256>>1]<<6;u=g+h|0;g=h-g|0;h=b[j+128>>1]|0;v=b[j+384>>1]|0;f=(v*36|0)+(h*83|0)|0;h=(H(v,-83)|0)+(h*36|0)|0;c[r>>2]=f+u;c[l>>2]=h+g;c[m>>2]=g-h;c[n>>2]=u-f;f=0;while(1){if((f|0)==4)break;u=c[r+(f<<2)>>2]|0;v=c[s+(f<<2)>>2]|0;c[p+(f<<2)>>2]=v+u;c[p+(7-f<<2)>>2]=u-v;f=f+1|0}f=0;while(1){if((f|0)==8)break;u=c[p+(f<<2)>>2]|0;h=c[q+(f<<2)>>2]|0;w=u+64+h|0;g=w>>7;v=f<<4;b[j+(v<<1)>>1]=(g+32768|0)>>>0>65535?w>>31^32767:g;h=u-h+64|0;u=h>>7;b[j+(240-v<<1)>>1]=(u+32768|0)>>>0>65535?h>>31^32767:u;f=f+1|0}w=(k|0)<16&((i|0)!=0&(i&3|0)==0)?k+-4|0:k;i=i+1|0;j=j+2|0;k=w}j=o?e:16;k=r+4|0;e=r+8|0;l=r+12|0;i=0;while(1){if((i|0)==16)break;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0;c[q+16>>2]=0;c[q+20>>2]=0;c[q+24>>2]=0;c[q+28>>2]=0;g=0;while(1){if((g|0)==8)break;h=q+(g<<2)|0;f=1;while(1){if((f|0)>=(j|0))break;w=H(b[d+(f<<1)>>1]|0,a[20768+(f<<1<<5)+g>>0]|0)|0;c[h>>2]=w+(c[h>>2]|0);f=f+2|0}g=g+1|0}c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;c[s+12>>2]=0;g=0;while(1){if((g|0)==4)break;h=s+(g<<2)|0;f=1;while(1){if(f>>>0>=8)break;w=H(b[d+(f<<1<<1)>>1]|0,a[20768+(f<<2<<5)+g>>0]|0)|0;c[h>>2]=w+(c[h>>2]|0);f=f+2|0}g=g+1|0}v=b[d>>1]<<6;u=b[d+16>>1]<<6;w=u+v|0;u=v-u|0;v=b[d+8>>1]|0;o=b[d+24>>1]|0;f=(o*36|0)+(v*83|0)|0;v=(H(o,-83)|0)+(v*36|0)|0;c[r>>2]=f+w;c[k>>2]=v+u;c[e>>2]=u-v;c[l>>2]=w-f;f=0;while(1){if((f|0)==4)break;v=c[r+(f<<2)>>2]|0;w=c[s+(f<<2)>>2]|0;c[p+(f<<2)>>2]=w+v;c[p+(7-f<<2)>>2]=v-w;f=f+1|0}f=0;while(1){if((f|0)==8)break;w=c[p+(f<<2)>>2]|0;v=c[q+(f<<2)>>2]|0;o=w+1024+v|0;u=o>>11;b[d+(f<<1)>>1]=(u+32768|0)>>>0>65535?o>>31^32767:u;v=w-v+1024|0;w=v>>11;b[d+(15-f<<1)>>1]=(w+32768|0)>>>0>65535?v>>31^32767:w;f=f+1|0}d=d+32|0;i=i+1|0}Mb=t;return}function sf(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,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;t=Mb;Mb=Mb+96|0;p=t+64|0;q=t+32|0;r=t+16|0;s=t;o=(e|0)<16;k=e+4|0;l=r+4|0;m=r+8|0;n=r+12|0;i=0;j=d;k=(k|0)<16?k:16;while(1){if((i|0)==16)break;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0;c[q+16>>2]=0;c[q+20>>2]=0;c[q+24>>2]=0;c[q+28>>2]=0;f=0;while(1){if((f|0)==8)break;h=q+(f<<2)|0;g=1;while(1){if((g|0)>=(k|0))break;u=H(b[j+(g<<4<<1)>>1]|0,a[20768+(g<<1<<5)+f>>0]|0)|0;c[h>>2]=u+(c[h>>2]|0);g=g+2|0}f=f+1|0}c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;c[s+12>>2]=0;g=0;while(1){if((g|0)==4)break;h=s+(g<<2)|0;f=1;while(1){if(f>>>0>=8)break;u=H(b[j+(f<<5<<1)>>1]|0,a[20768+(f<<2<<5)+g>>0]|0)|0;c[h>>2]=u+(c[h>>2]|0);f=f+2|0}g=g+1|0}h=b[j>>1]<<6;g=b[j+256>>1]<<6;u=g+h|0;g=h-g|0;h=b[j+128>>1]|0;v=b[j+384>>1]|0;f=(v*36|0)+(h*83|0)|0;h=(H(v,-83)|0)+(h*36|0)|0;c[r>>2]=f+u;c[l>>2]=h+g;c[m>>2]=g-h;c[n>>2]=u-f;f=0;while(1){if((f|0)==4)break;u=c[r+(f<<2)>>2]|0;v=c[s+(f<<2)>>2]|0;c[p+(f<<2)>>2]=v+u;c[p+(7-f<<2)>>2]=u-v;f=f+1|0}f=0;while(1){if((f|0)==8)break;u=c[p+(f<<2)>>2]|0;h=c[q+(f<<2)>>2]|0;w=u+64+h|0;g=w>>7;v=f<<4;b[j+(v<<1)>>1]=(g+32768|0)>>>0>65535?w>>31^32767:g;h=u-h+64|0;u=h>>7;b[j+(240-v<<1)>>1]=(u+32768|0)>>>0>65535?h>>31^32767:u;f=f+1|0}w=(k|0)<16&((i|0)!=0&(i&3|0)==0)?k+-4|0:k;i=i+1|0;j=j+2|0;k=w}j=o?e:16;k=r+4|0;e=r+8|0;l=r+12|0;i=0;while(1){if((i|0)==16)break;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0;c[q+16>>2]=0;c[q+20>>2]=0;c[q+24>>2]=0;c[q+28>>2]=0;g=0;while(1){if((g|0)==8)break;h=q+(g<<2)|0;f=1;while(1){if((f|0)>=(j|0))break;w=H(b[d+(f<<1)>>1]|0,a[20768+(f<<1<<5)+g>>0]|0)|0;c[h>>2]=w+(c[h>>2]|0);f=f+2|0}g=g+1|0}c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;c[s+12>>2]=0;g=0;while(1){if((g|0)==4)break;h=s+(g<<2)|0;f=1;while(1){if(f>>>0>=8)break;w=H(b[d+(f<<1<<1)>>1]|0,a[20768+(f<<2<<5)+g>>0]|0)|0;c[h>>2]=w+(c[h>>2]|0);f=f+2|0}g=g+1|0}v=b[d>>1]<<6;u=b[d+16>>1]<<6;w=u+v|0;u=v-u|0;v=b[d+8>>1]|0;o=b[d+24>>1]|0;f=(o*36|0)+(v*83|0)|0;v=(H(o,-83)|0)+(v*36|0)|0;c[r>>2]=f+w;c[k>>2]=v+u;c[e>>2]=u-v;c[l>>2]=w-f;f=0;while(1){if((f|0)==4)break;v=c[r+(f<<2)>>2]|0;w=c[s+(f<<2)>>2]|0;c[p+(f<<2)>>2]=w+v;c[p+(7-f<<2)>>2]=v-w;f=f+1|0}f=0;while(1){if((f|0)==8)break;w=c[p+(f<<2)>>2]|0;v=c[q+(f<<2)>>2]|0;o=w+2048+v|0;u=o>>12;b[d+(f<<1)>>1]=(u+32768|0)>>>0>65535?o>>31^32767:u;v=w-v+2048|0;w=v>>12;b[d+(15-f<<1)>>1]=(w+32768|0)>>>0>65535?v>>31^32767:w;f=f+1|0}d=d+32|0;i=i+1|0}Mb=t;return}function tf(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,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;t=Mb;Mb=Mb+96|0;p=t+64|0;q=t+32|0;r=t+16|0;s=t;o=(e|0)<16;k=e+4|0;l=r+4|0;m=r+8|0;n=r+12|0;i=0;j=d;k=(k|0)<16?k:16;while(1){if((i|0)==16)break;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0;c[q+16>>2]=0;c[q+20>>2]=0;c[q+24>>2]=0;c[q+28>>2]=0;f=0;while(1){if((f|0)==8)break;h=q+(f<<2)|0;g=1;while(1){if((g|0)>=(k|0))break;u=H(b[j+(g<<4<<1)>>1]|0,a[20768+(g<<1<<5)+f>>0]|0)|0;c[h>>2]=u+(c[h>>2]|0);g=g+2|0}f=f+1|0}c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;c[s+12>>2]=0;g=0;while(1){if((g|0)==4)break;h=s+(g<<2)|0;f=1;while(1){if(f>>>0>=8)break;u=H(b[j+(f<<5<<1)>>1]|0,a[20768+(f<<2<<5)+g>>0]|0)|0;c[h>>2]=u+(c[h>>2]|0);f=f+2|0}g=g+1|0}h=b[j>>1]<<6;g=b[j+256>>1]<<6;u=g+h|0;g=h-g|0;h=b[j+128>>1]|0;v=b[j+384>>1]|0;f=(v*36|0)+(h*83|0)|0;h=(H(v,-83)|0)+(h*36|0)|0;c[r>>2]=f+u;c[l>>2]=h+g;c[m>>2]=g-h;c[n>>2]=u-f;f=0;while(1){if((f|0)==4)break;u=c[r+(f<<2)>>2]|0;v=c[s+(f<<2)>>2]|0;c[p+(f<<2)>>2]=v+u;c[p+(7-f<<2)>>2]=u-v;f=f+1|0}f=0;while(1){if((f|0)==8)break;u=c[p+(f<<2)>>2]|0;h=c[q+(f<<2)>>2]|0;w=u+64+h|0;g=w>>7;v=f<<4;b[j+(v<<1)>>1]=(g+32768|0)>>>0>65535?w>>31^32767:g;h=u-h+64|0;u=h>>7;b[j+(240-v<<1)>>1]=(u+32768|0)>>>0>65535?h>>31^32767:u;f=f+1|0}w=(k|0)<16&((i|0)!=0&(i&3|0)==0)?k+-4|0:k;i=i+1|0;j=j+2|0;k=w}j=o?e:16;k=r+4|0;e=r+8|0;l=r+12|0;i=0;while(1){if((i|0)==16)break;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0;c[q+16>>2]=0;c[q+20>>2]=0;c[q+24>>2]=0;c[q+28>>2]=0;g=0;while(1){if((g|0)==8)break;h=q+(g<<2)|0;f=1;while(1){if((f|0)>=(j|0))break;w=H(b[d+(f<<1)>>1]|0,a[20768+(f<<1<<5)+g>>0]|0)|0;c[h>>2]=w+(c[h>>2]|0);f=f+2|0}g=g+1|0}c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;c[s+12>>2]=0;g=0;while(1){if((g|0)==4)break;h=s+(g<<2)|0;f=1;while(1){if(f>>>0>=8)break;w=H(b[d+(f<<1<<1)>>1]|0,a[20768+(f<<2<<5)+g>>0]|0)|0;c[h>>2]=w+(c[h>>2]|0);f=f+2|0}g=g+1|0}v=b[d>>1]<<6;u=b[d+16>>1]<<6;w=u+v|0;u=v-u|0;v=b[d+8>>1]|0;o=b[d+24>>1]|0;f=(o*36|0)+(v*83|0)|0;v=(H(o,-83)|0)+(v*36|0)|0;c[r>>2]=f+w;c[k>>2]=v+u;c[e>>2]=u-v;c[l>>2]=w-f;f=0;while(1){if((f|0)==4)break;v=c[r+(f<<2)>>2]|0;w=c[s+(f<<2)>>2]|0;c[p+(f<<2)>>2]=w+v;c[p+(7-f<<2)>>2]=v-w;f=f+1|0}f=0;while(1){if((f|0)==8)break;w=c[p+(f<<2)>>2]|0;v=c[q+(f<<2)>>2]|0;o=w+512+v|0;u=o>>10;b[d+(f<<1)>>1]=(u+32768|0)>>>0>65535?o>>31^32767:u;v=w-v+512|0;w=v>>10;b[d+(15-f<<1)>>1]=(w+32768|0)>>>0>65535?v>>31^32767:w;f=f+1|0}d=d+32|0;i=i+1|0}Mb=t;return}function uf(a){a=a|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0,x=0,y=0;y=Mb;Mb=Mb+528|0;x=y+512|0;u=y;e=c[a+32>>2]|0;if(!e){b[a+310386>>1]=b[a+310226>>1]|0;b[a+310388>>1]=b[a+310226+(c[a+310112>>2]<<1)>>1]|0;c[a+310124>>2]=1}else{w=+f[166868+(e+-1<<2)>>2];g=a+310386|0;i=c[a+76>>2]|0;b[x>>1]=i;k=a+310448|0;h=(c[k>>2]|0)+1|0;e=1;while(1){if((e|0)==(h|0))break;t=(i&65535)+(d[e+-1+(a+310452)>>0]|0)|0;b[x+(e<<1)>>1]=t;e=e+1|0;i=t}e=a+310388|0;h=a+310112|0;i=c[h>>2]|0;Mn(g|0,a+310226|0,(i<<1)+2|0)|0;j=c[k>>2]|0;if(j>>>0>1){Mn(a+310386+(i<<1)+2|0,x+2|0,(j<<1)+-2|0)|0;i=c[h>>2]|0;j=c[k>>2]|0}c[u>>2]=g;t=i+j|0;c[u+4>>2]=a+310386+(t<<1)+-2;h=1;while(1){if(!h)break;h=h+-1|0;k=c[u+(h<<3)>>2]|0;i=c[u+(h<<3)+4>>2]|0;while(1){if(k>>>0>=i>>>0)break;p=i+-2|0;if(k>>>0>=p>>>0){v=40;break}m=i+-4|0;n=k+2|0;r=i;s=k;q=k+(r-s>>2<<1)|0;if((I_(k,i)|0)<=0)if((I_(k,q)|0)>0){l=q;v=15}else l=1;else{l=(I_(i,q)|0)>0;l=l?q:i;v=15}if((v|0)==15){v=0;o=b[l>>1]|0;b[l>>1]=b[k>>1]|0;b[k>>1]=o;l=0}if((I_(q,i)|0)>0){l=b[i>>1]|0;b[i>>1]=b[q>>1]|0;b[q>>1]=l;l=0}if((k|0)==(m|0))break;o=b[q>>1]|0;b[q>>1]=b[p>>1]|0;b[p>>1]=o;o=m;while(1){if(n>>>0>o>>>0)break;while(1){if(n>>>0>o>>>0)break;if((I_(n,p)|0)>=0)break;n=n+2|0}m=o;while(1){if(n>>>0>m>>>0)break;if((I_(m,p)|0)<=0){v=29;break}m=m+-2|0}if((v|0)==29){v=0;o=b[m>>1]|0;b[m>>1]=b[n>>1]|0;b[n>>1]=o;m=m+-2|0;n=n+2|0}o=m}m=b[n>>1]|0;b[n>>1]=b[p>>1]|0;b[p>>1]=m;if(l|0?(q|0)==(n|0)|(q|0)==(n+-2|0):0){l=k;while(1){if(l>>>0>=i>>>0)break;m=l+2|0;if((I_(l,m)|0)<1)l=m;else break}if((l|0)==(i|0))break}q=n;if((r-q|0)<(q-s|0)){c[u+(h<<3)>>2]=k;c[u+(h<<3)+4>>2]=o;k=n+2|0}else{c[u+(h<<3)>>2]=n+2;c[u+(h<<3)+4>>2]=i;i=o}h=h+1|0}if((v|0)==40?(v=0,(I_(k,i)|0)>0):0){s=b[i>>1]|0;b[i>>1]=b[k>>1]|0;b[k>>1]=s}}m=a+310124|0;h=t+-1|0;a:while(1){c[m>>2]=h;l=a+310386+(h<<1)|0;while(1){if(g>>>0>=l>>>0)break a;k=b[e>>1]|0;i=b[g>>1]|0;if(!(w*+(i&65535)<=+(k&65535))){if(k<<16>>16==i<<16>>16){v=51;break}if(!(cR(x,j,k)|0)){v=51;break}e=e+2|0;if(!(cR(x,j,i)|0)){v=54;break}g=g+2|0;b[g>>1]=k}else{g=g+2|0;b[g>>1]=k;e=e+2|0}}if((v|0)==51){e=e+2|0;h=h+-1|0}else if((v|0)==54){b[g>>1]=k;h=h+-1|0}}}Mb=y;return}function vf(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,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;t=Mb;Mb=Mb+96|0;p=t+64|0;q=t+32|0;r=t+16|0;s=t;o=(e|0)<16;k=e+4|0;l=r+4|0;m=r+8|0;n=r+12|0;i=0;j=d;k=(k|0)<16?k:16;while(1){if((i|0)==16)break;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0;c[q+16>>2]=0;c[q+20>>2]=0;c[q+24>>2]=0;c[q+28>>2]=0;f=0;while(1){if((f|0)==8)break;h=q+(f<<2)|0;g=1;while(1){if((g|0)>=(k|0))break;u=H(b[j+(g<<4<<1)>>1]|0,a[20768+(g<<1<<5)+f>>0]|0)|0;c[h>>2]=u+(c[h>>2]|0);g=g+2|0}f=f+1|0}c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;c[s+12>>2]=0;g=0;while(1){if((g|0)==4)break;h=s+(g<<2)|0;f=1;while(1){if(f>>>0>=8)break;u=H(b[j+(f<<5<<1)>>1]|0,a[20768+(f<<2<<5)+g>>0]|0)|0;c[h>>2]=u+(c[h>>2]|0);f=f+2|0}g=g+1|0}h=b[j>>1]<<6;g=b[j+256>>1]<<6;u=g+h|0;g=h-g|0;h=b[j+128>>1]|0;v=b[j+384>>1]|0;f=(v*36|0)+(h*83|0)|0;h=(H(v,-83)|0)+(h*36|0)|0;c[r>>2]=f+u;c[l>>2]=h+g;c[m>>2]=g-h;c[n>>2]=u-f;f=0;while(1){if((f|0)==4)break;u=c[r+(f<<2)>>2]|0;v=c[s+(f<<2)>>2]|0;c[p+(f<<2)>>2]=v+u;c[p+(7-f<<2)>>2]=u-v;f=f+1|0}f=0;while(1){if((f|0)==8)break;u=c[p+(f<<2)>>2]|0;h=c[q+(f<<2)>>2]|0;w=u+64+h|0;g=w>>7;v=f<<4;b[j+(v<<1)>>1]=(g+32768|0)>>>0>65535?w>>31^32767:g;h=u-h+64|0;u=h>>7;b[j+(240-v<<1)>>1]=(u+32768|0)>>>0>65535?h>>31^32767:u;f=f+1|0}w=(k|0)<16&((i|0)!=0&(i&3|0)==0)?k+-4|0:k;i=i+1|0;j=j+2|0;k=w}j=o?e:16;k=r+4|0;e=r+8|0;l=r+12|0;i=0;while(1){if((i|0)==16)break;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0;c[q+16>>2]=0;c[q+20>>2]=0;c[q+24>>2]=0;c[q+28>>2]=0;g=0;while(1){if((g|0)==8)break;h=q+(g<<2)|0;f=1;while(1){if((f|0)>=(j|0))break;w=H(b[d+(f<<1)>>1]|0,a[20768+(f<<1<<5)+g>>0]|0)|0;c[h>>2]=w+(c[h>>2]|0);f=f+2|0}g=g+1|0}c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;c[s+12>>2]=0;g=0;while(1){if((g|0)==4)break;h=s+(g<<2)|0;f=1;while(1){if(f>>>0>=8)break;w=H(b[d+(f<<1<<1)>>1]|0,a[20768+(f<<2<<5)+g>>0]|0)|0;c[h>>2]=w+(c[h>>2]|0);f=f+2|0}g=g+1|0}v=b[d>>1]<<6;u=b[d+16>>1]<<6;w=u+v|0;u=v-u|0;v=b[d+8>>1]|0;o=b[d+24>>1]|0;f=(o*36|0)+(v*83|0)|0;v=(H(o,-83)|0)+(v*36|0)|0;c[r>>2]=f+w;c[k>>2]=v+u;c[e>>2]=u-v;c[l>>2]=w-f;f=0;while(1){if((f|0)==4)break;v=c[r+(f<<2)>>2]|0;w=c[s+(f<<2)>>2]|0;c[p+(f<<2)>>2]=w+v;c[p+(7-f<<2)>>2]=v-w;f=f+1|0}f=0;while(1){if((f|0)==8)break;w=c[p+(f<<2)>>2]|0;v=c[q+(f<<2)>>2]|0;o=w+128+v|0;u=o>>8;b[d+(f<<1)>>1]=(u+32768|0)>>>0>65535?o>>31^32767:u;v=w-v+128|0;w=v>>8;b[d+(15-f<<1)>>1]=(w+32768|0)>>>0>65535?v>>31^32767:w;f=f+1|0}d=d+32|0;i=i+1|0}Mb=t;return}function wf(a,b,e,g,h){a=a|0;b=b|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0.0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0.0,Q=0.0,R=0;O=Mb;Mb=Mb+384|0;K=O+192|0;L=O;M=(c[e+44>>2]|0)==0;F=(M&1)<<2;G=c[e+76>>2]|0;H=c[e+84>>2]|0;I=g+87944|0;r=c[I>>2]|0;J=g+87948|0;s=c[J>>2]|0;a:do if(!(c[e+16>>2]|0)){if(M){j=g+87932|0;k=g+87940|0;i=0;while(1){if((i|0)==4)break a;Mn(g+69904+((((d[j>>0]|0)<<1)+i|0)*192|0)|0,g+69904+((((d[k>>0]|0)<<1)+i|0)*192|0)|0,192)|0;Mn(g+77968+((((d[j>>0]|0)<<1)+i|0)*192|0)|0,g+77968+((((d[k>>0]|0)<<1)+i|0)*192|0)|0,192)|0;i=i+1|0}}}else{j=g+87932|0;k=e+388176|0;l=H<<2;m=e+385488|0;i=0;while(1){if((i|0)==(F|0))break a;Mn(g+69904+((((d[j>>0]|0)<<1)+i|0)*192|0)|0,k|0,l|0)|0;Mn(g+77968+((((d[j>>0]|0)<<1)+i|0)*192|0)|0,m|0,l|0)|0;i=i+1|0}}while(0);E=g+8|0;j=H<<2;q=c[E>>2]|0;i=0;while(1){if(i>>>0>=q>>>0)break;k=i+1|0;l=g+87932+k|0;m=e+388176+(i*192|0)|0;n=e+385488+(i*192|0)|0;i=(d[g+87932+i>>0]|0)<<1;while(1){if(i>>>0>=(d[l>>0]|0)<<1>>>0)break;D=i+F|0;Mn(g+69904+(D*192|0)|0,m|0,j|0)|0;Mn(g+77968+(D*192|0)|0,n|0,j|0)|0;i=i+1|0}i=k}D=e+390988|0;w=b+(G*320|0)|0;x=h+4|0;y=G&1;z=(H&1|0)==0;A=F|1;B=((H|0)>1?H:1)&2147483646;C=B<<1;k=r;j=s;v=0;i=q;while(1){if(v>>>0>=i>>>0)break;r=v+1|0;s=g+87932+r|0;t=e+386832+(v*192|0)|0;u=e+386832+(v*192|0)+(B<<2)|0;q=(d[g+87932+v>>0]|0)<<1;while(1){if(q>>>0>=(d[s>>0]|0)<<1>>>0)break;b:do if((M?(v|0)!=(c[h>>2]|0):0)?(v|0)!=(c[x>>2]|0):0){m=q+F|0;l=0;while(1){if((l|0)>=(H|0)){i=L;l=K;break b}n=K+(l<<2)|0;f[n>>2]=0.0;b=L+(l<<2)|0;f[b>>2]=0.0;i=0;o=0.0;p=0.0;while(1){if((i|0)==(A|0))break;R=m-i|0;P=+f[53136+(i<<2)>>2];Q=o+ +f[g+69904+(R*192|0)+(l<<2)>>2]*P;f[n>>2]=Q;P=p+P*+f[g+77968+(R*192|0)+(l<<2)>>2];f[b>>2]=P;i=i+1|0;o=Q;p=P}l=l+1|0}}else N=28;while(0);if((N|0)==28){N=0;i=g+77968+(q*192|0)|0;l=g+69904+((q+F|0)*192|0)|0}m=a+(q<<9)+(G<<3)|0;jc[c[D>>2]&255](m,w,l,H,q+2|0);if((v|0)!=(c[h>>2]|0)?(v|0)!=(c[x>>2]|0):0)kc[c[e+390992+(j<<2)>>2]&127](m,t,i,k,G,H);else{i=j&1;R=1-(j+y&2)|0;l=a+(q<<9)+(G<<3)+(i<<2)|0;o=+(R|0);p=+((R^0-i)+i|0);i=0;while(1){m=i|1;if((m|0)>=(H|0))break;R=i<<1;b=l+(R<<2)|0;f[b>>2]=+f[b>>2]+ +f[e+386832+(v*192|0)+(i<<2)>>2]*o;R=l+((R|2)<<2)|0;f[R>>2]=+f[R>>2]+ +f[e+386832+(v*192|0)+(m<<2)>>2]*p;i=i+2|0}if(!z){R=l+(C<<2)|0;f[R>>2]=+f[R>>2]+ +f[u>>2]*o}}k=k+H&511;j=j+1&3;q=q+1|0}v=r;i=c[E>>2]|0}c[I>>2]=k;c[J>>2]=j;Mb=O;return}function xf(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;g=(c|0)!=0;c=0-f|0;if(g){e=d[b+c>>0]|0;c=d[b+~f>>0]|0}else{c=d[b+c>>0]|0;e=c}i=d[b+(1-f)>>0]|0;j=i+2|0;o=(j+c+(e<<1)|0)>>>2;k=d[b+(2-f)>>0]|0;h=e+2|0;i=(h+(i<<1)+k|0)>>>2;l=d[b+(3-f)>>0]|0;j=(j+(k<<1)+l|0)>>>2;m=d[b+(4-f)>>0]|0;k=(k+2+(l<<1)+m|0)>>>2;e=d[b+(5-f)>>0]|0;l=(l+2+(m<<1)+e|0)>>>2;n=d[b+(6-f)>>0]|0;m=(m+2+(e<<1)+n|0)>>>2;n=(e+2+(n<<1)+(d[b+(7-f)>>0]|0)|0)>>>2;if(g){g=d[b+~f>>0]|0;c=d[b+-1>>0]|0;e=g}else{g=d[b+-1>>0]|0;c=g;e=d[b+~f>>0]|0}s=d[b+(f+-1)>>0]|0;u=s+2|0;q=(u+g+(c<<1)|0)>>>2;g=f<<1;w=d[b+(g+-1)>>0]|0;s=(c+2+(s<<1)+w|0)>>>2;p=f*3|0;y=d[b+(p+-1)>>0]|0;u=(u+(w<<1)+y|0)>>>2;r=f<<2;z=d[b+(r+-1)>>0]|0;w=(w+2+(y<<1)+z|0)>>>2;t=f*5|0;A=d[b+(t+-1)>>0]|0;y=(y+2+(z<<1)+A|0)>>>2;v=f*6|0;C=d[b+(v+-1)>>0]|0;z=(z+2+(A<<1)+C|0)>>>2;x=f*7|0;B=d[b+(x+-1)>>0]|0;A=(A+2+(C<<1)+B|0)>>>2;B=(C+2+(B*3|0)|0)>>>2;c=(h+c+(e<<1)|0)>>>2;a[b+x>>0]=(A+1+B|0)>>>1;a[b+(x+1)>>0]=(z+2+B+(A<<1)|0)>>>2;h=(z+1+A|0)>>>1&255;a[b+(x+2)>>0]=h;a[b+v>>0]=h;h=(y+2+(z<<1)+A|0)>>>2&255;a[b+(x+3)>>0]=h;a[b+(v|1)>>0]=h;h=(y+1+z|0)>>>1&255;a[b+(x+4)>>0]=h;a[b+(v+2)>>0]=h;a[b+t>>0]=h;h=(w+2+(y<<1)+z|0)>>>2&255;a[b+(x+5)>>0]=h;a[b+(v+3)>>0]=h;a[b+(t+1)>>0]=h;h=(w+1+y|0)>>>1&255;a[b+(x+6)>>0]=h;a[b+(v+4)>>0]=h;a[b+(t+2)>>0]=h;a[b+r>>0]=h;h=(u+2+(w<<1)+y|0)>>>2&255;a[b+(x+7)>>0]=h;a[b+(v+5)>>0]=h;a[b+(t+3)>>0]=h;a[b+(r|1)>>0]=h;h=(u+1+w|0)>>>1&255;a[b+(v+6)>>0]=h;a[b+(t+4)>>0]=h;a[b+(r|2)>>0]=h;a[b+p>>0]=h;h=s+2|0;e=(h+(u<<1)+w|0)>>>2&255;a[b+(v+7)>>0]=e;a[b+(t+5)>>0]=e;a[b+(r|3)>>0]=e;a[b+(p+1)>>0]=e;e=(s+1+u|0)>>>1&255;a[b+(t+6)>>0]=e;a[b+(r+4)>>0]=e;a[b+(p+2)>>0]=e;a[b+g>>0]=e;e=(q+2+(s<<1)+u|0)>>>2&255;a[b+(t+7)>>0]=e;a[b+(r+5)>>0]=e;a[b+(p+3)>>0]=e;a[b+(g|1)>>0]=e;e=q+1|0;s=(e+s|0)>>>1&255;a[b+(r+6)>>0]=s;a[b+(p+4)>>0]=s;a[b+(g+2)>>0]=s;a[b+f>>0]=s;h=(h+(q<<1)+c|0)>>>2&255;a[b+(r+7)>>0]=h;a[b+(p+5)>>0]=h;a[b+(g+3)>>0]=h;a[b+(f+1)>>0]=h;e=(e+c|0)>>>1&255;a[b+(p+6)>>0]=e;a[b+(g+4)>>0]=e;a[b+(f+2)>>0]=e;a[b>>0]=e;e=o+2|0;h=(e+q+(c<<1)|0)>>>2&255;a[b+(p+7)>>0]=h;a[b+(g+5)>>0]=h;a[b+(f+3)>>0]=h;a[b+1>>0]=h;h=i+2|0;o=(h+(o<<1)+c|0)>>>2&255;a[b+(g+6)>>0]=o;a[b+(f+4)>>0]=o;a[b+2>>0]=o;o=(e+(i<<1)+j|0)>>>2&255;a[b+(g+7)>>0]=o;a[b+(f+5)>>0]=o;a[b+3>>0]=o;o=(h+(j<<1)+k|0)>>>2&255;a[b+(f+6)>>0]=o;a[b+4>>0]=o;o=(j+2+(k<<1)+l|0)>>>2&255;a[b+(f+7)>>0]=o;a[b+5>>0]=o;a[b+6>>0]=(k+2+(l<<1)+m|0)>>>2;a[b+7>>0]=(l+2+(m<<1)+n|0)>>>2;return}function yf(e,f){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;s=Mb;Mb=Mb+32|0;g=s+24|0;n=s+16|0;m=s+8|0;h=s;j=(c[e+136>>2]|0)+204|0;i=f+28|0;c[j>>2]=c[i>>2];c[j+4>>2]=c[i+4>>2];c[j+8>>2]=c[i+8>>2];c[j+12>>2]=c[i+12>>2];c[j+16>>2]=c[i+16>>2];i=c[f+48>>2]|0;k=e+3508|0;c[k>>2]=i;c[e+3512>>2]=c[f+52>>2];a:do switch(i|0){case 32:{h=e+4|0;g=He(j,c[h>>2]|0,e+192|0)|0;if((g|0)<0)r=40;else g=0;break}case 33:{h=e+4|0;g=wn(j,c[h>>2]|0,e+192|0,c[e+7636>>2]|0)|0;if((g|0)<0)r=40;else g=0;break}case 34:{h=e+4|0;g=Gd(j,c[h>>2]|0,e+192|0)|0;if((g|0)<0)r=40;else g=0;break}case 40:case 39:{h=e+4|0;g=qQ(j,c[h>>2]|0,e+7648|0,e+192|0,i)|0;if((g|0)<0)r=40;else g=0;break}case 9:case 8:case 7:case 6:case 21:case 20:case 19:case 18:case 17:case 16:case 5:case 4:case 3:case 2:case 0:case 1:{g=Tc(e)|0;if((g|0)>=0){j=e+2428|0;if(!(a[j>>0]|0)){if(!(c[e+3516>>2]|0)){r=e+4|0;AD(c[r>>2]|0,16,179255,h);h=r;r=40;break a}}else{h=e+5716|0;g=c[h>>2]|0;i=c[k>>2]|0;b:do if((g|0)==2147483647)switch(i|0){case 18:case 16:case 17:case 21:{g=c[e+5696>>2]|0;c[h>>2]=g;break b}case 20:case 19:{c[h>>2]=-2147483648;g=-2147483648;break b}default:{g=2147483647;break b}}while(0);if((i&-2|0)==8){if((c[e+5696>>2]|0)<=(g|0)){c[e+5728>>2]=0;g=0;break a}if((i|0)==9)c[h>>2]=-2147483648}g=cj(e)|0;if((g|0)<0)break a}g=c[k>>2]|0;h=c[e+7624>>2]|0;if((g|0)!=(h|0)){e=c[e+4>>2]|0;c[m>>2]=h;c[m+4>>2]=g;AD(e,16,179288,m);g=-1094995529;break a}if(((a[e+2429>>0]|0)==0?(c[e+2420>>2]|0)!=2:0)?(l=Zg(e)|0,(l|0)<0):0){h=e+4|0;AD(c[h>>2]|0,24,179336,n);g=l;r=40;break a}h=e+4|0;if((a[j>>0]|0?(o=c[h>>2]|0,p=c[o+704>>2]|0,p|0):0)?(q=Yb[c[p+28>>2]&15](o,0,0)|0,(q|0)<0):0){g=q;r=40;break a}g=c[h>>2]|0;i=c[g+704>>2]|0;if(i|0){g=Yb[c[i+32>>2]&15](g,c[f+24>>2]|0,c[f+20>>2]|0)|0;if((g|0)<0){r=40;break a}else{g=0;break a}}if((d[e+141>>0]|0)>1?(c[e+3104>>2]|0)>0:0)g=Ee(e,f)|0;else g=JP(e)|0;f=c[e+1412>>2]|0;if((g|0)>=(H(c[f+13388>>2]|0,c[f+13384>>2]|0)|0))c[e+5728>>2]=1;if((g|0)<0)r=40;else g=0}break}case 37:case 36:{g=e+7596|0;b[g>>1]=(b[g>>1]|0)+1&255;c[e+5716>>2]=2147483647;g=0;break}case 38:case 35:{g=0;break}default:{e=c[e+4>>2]|0;c[g>>2]=i;AD(e,32,179399,g);g=0}}while(0);if((r|0)==40)g=(c[(c[h>>2]|0)+688>>2]&8|0)==0?0:g;Mb=s;return g|0}function zf(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0;k=h>>1;A=g*13|0;i=c;j=0;d=d+(0-(h&-2)<<1)|0;while(1){if((j|0)==13)break;x=d+2|0;y=d+-2|0;w=d+4|0;u=H((e[w>>1]|0)+(e[y>>1]|0)|0,-5)|0;v=d+6|0;b[i>>1]=(((e[x>>1]|0)+(e[d>>1]|0)|0)*20|0)+(e[d+-4>>1]|0)+u+(e[v>>1]|0);u=H((e[v>>1]|0)+(e[d>>1]|0)|0,-5)|0;t=d+8|0;b[i+2>>1]=(((e[w>>1]|0)+(e[x>>1]|0)|0)*20|0)+(e[y>>1]|0)+u+(e[t>>1]|0);u=H((e[t>>1]|0)+(e[x>>1]|0)|0,-5)|0;y=d+10|0;b[i+4>>1]=(((e[v>>1]|0)+(e[w>>1]|0)|0)*20|0)+(e[d>>1]|0)+u+(e[y>>1]|0);u=H((e[y>>1]|0)+(e[w>>1]|0)|0,-5)|0;z=d+12|0;b[i+6>>1]=(((e[t>>1]|0)+(e[v>>1]|0)|0)*20|0)+(e[x>>1]|0)+u+(e[z>>1]|0);u=H((e[z>>1]|0)+(e[v>>1]|0)|0,-5)|0;x=d+14|0;b[i+8>>1]=(((e[y>>1]|0)+(e[t>>1]|0)|0)*20|0)+(e[w>>1]|0)+u+(e[x>>1]|0);u=H((e[x>>1]|0)+(e[t>>1]|0)|0,-5)|0;w=d+16|0;b[i+10>>1]=(((e[z>>1]|0)+(e[y>>1]|0)|0)*20|0)+(e[v>>1]|0)+u+(e[w>>1]|0);u=H((e[w>>1]|0)+(e[y>>1]|0)|0,-5)|0;v=d+18|0;b[i+12>>1]=(((e[x>>1]|0)+(e[z>>1]|0)|0)*20|0)+(e[t>>1]|0)+u+(e[v>>1]|0);z=H((e[v>>1]|0)+(e[z>>1]|0)|0,-5)|0;b[i+14>>1]=(((e[w>>1]|0)+(e[x>>1]|0)|0)*20|0)+(e[y>>1]|0)+z+(e[d+20>>1]|0);i=i+(g<<1)|0;j=j+1|0;d=d+(k<<1)|0}o=f>>1;p=H(g,-2)|0;q=0-g|0;r=g<<1;s=g*3|0;t=g<<2;u=g*5|0;v=g*6|0;w=g*7|0;x=g<<3;y=g*9|0;z=g*10|0;j=f&-2;k=o*3|0;f=o<<2;l=o*5|0;m=o*6|0;n=o*7|0;i=a;d=c+(A<<1)+((H(g,-11)|0)<<1)|0;h=0;while(1){if((h|0)==8)break;D=b[d+(q<<1)>>1]|0;M=b[d>>1]|0;L=b[d+(g<<1)>>1]|0;K=b[d+(r<<1)>>1]|0;J=b[d+(s<<1)>>1]|0;G=b[d+(t<<1)>>1]|0;E=b[d+(u<<1)>>1]|0;A=b[d+(v<<1)>>1]|0;a=b[d+(w<<1)>>1]|0;B=b[d+(x<<1)>>1]|0;c=b[d+(y<<1)>>1]|0;C=b[d+(z<<1)>>1]|0;I=J+512|0;F=I+(b[d+(p<<1)>>1]|0)+((L+M|0)*20|0)+(H(K+D|0,-5)|0)>>10;b[i>>1]=F>>>0<512?F:0-F>>31&511;F=G+512|0;D=F+D+((K+L|0)*20|0)+(H(J+M|0,-5)|0)>>10;b[i+(o<<1)>>1]=D>>>0<512?D:0-D>>31&511;D=E+512|0;M=D+M+((J+K|0)*20|0)+(H(G+L|0,-5)|0)>>10;b[i+(j<<1)>>1]=M>>>0<512?M:0-M>>31&511;L=L+512+A+((G+J|0)*20|0)+(H(E+K|0,-5)|0)>>10;b[i+(k<<1)>>1]=L>>>0<512?L:0-L>>31&511;J=K+512+a+((E+G|0)*20|0)+(H(A+J|0,-5)|0)>>10;b[i+(f<<1)>>1]=J>>>0<512?J:0-J>>31&511;G=I+B+((A+E|0)*20|0)+(H(a+G|0,-5)|0)>>10;b[i+(l<<1)>>1]=G>>>0<512?G:0-G>>31&511;E=F+c+((a+A|0)*20|0)+(H(B+E|0,-5)|0)>>10;b[i+(m<<1)>>1]=E>>>0<512?E:0-E>>31&511;A=D+C+((B+a|0)*20|0)+(H(c+A|0,-5)|0)>>10;b[i+(n<<1)>>1]=A>>>0<512?A:0-A>>31&511;i=i+2|0;d=d+2|0;h=h+1|0}return}function Af(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=Mb;Mb=Mb+112|0;q=c[21792+(i+-2<<2)>>2]|0;m=r+4|0;j=q>>3;a:do if((i|0)>17){k=e+-1|0;l=i+-11|0;b:do if(l>>>0<15&(i+-13|0)>>>0<11){k=0;while(1){if(k>>>0>4)break;p=e+(k+-1)|0;c[m+k>>2]=d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24;k=k+4|0}k=21936+(l<<2)|0;while(1){if((j|0)>=0){k=m;break b}p=f+(((H(c[k>>2]|0,j)|0)+128>>8)+-1)|0;a[m+j>>0]=a[p>>0]|0;j=j+1|0}}while(0);j=0;while(1){if((j|0)==4)break;l=j+1|0;n=H(l,q)|0;m=n>>5;n=n&31;if(!n){o=k+(m+1)|0;p=b+(H(j,g)|0)|0;o=d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24;a[p>>0]=o;a[p+1>>0]=o>>8;a[p+2>>0]=o>>16;a[p+3>>0]=o>>24}else{o=32-n|0;p=H(j,g)|0;j=H(o,d[k+(m+1)>>0]|0)|0;j=(j+16+(H(n,d[k+(m+2)>>0]|0)|0)|0)>>>5&255;a[b+p>>0]=j;j=H(o,d[k+(m+2)>>0]|0)|0;j=(j+16+(H(n,d[k+(m+3)>>0]|0)|0)|0)>>>5&255;a[b+(p+1)>>0]=j;j=H(o,d[k+(m+3)>>0]|0)|0;j=(j+16+(H(n,d[k+(m+4)>>0]|0)|0)|0)>>>5&255;a[b+(p+2)>>0]=j;o=H(o,d[k+(m+4)>>0]|0)|0;o=(o+16+(H(n,d[k+(m+5)>>0]|0)|0)|0)>>>5&255;a[b+(p+3)>>0]=o}j=l}if((h|0)==0&(i|0)==26){k=f+-1|0;j=0;while(1){if((j|0)==4)break a;i=((d[f+j>>0]|0)-(d[k>>0]|0)>>1)+(d[e>>0]|0)|0;q=b+(H(j,g)|0)|0;a[q>>0]=i>>>0>255?0-i>>31:i;j=j+1|0}}}else{k=f+-1|0;l=i+-11|0;c:do if(l>>>0<15&(i+-13|0)>>>0<11){k=0;while(1){if(k>>>0>4)break;p=f+(k+-1)|0;c[m+k>>2]=d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24;k=k+4|0}k=21936+(l<<2)|0;while(1){if((j|0)>=0){k=m;break c}p=e+(((H(c[k>>2]|0,j)|0)+128>>8)+-1)|0;a[m+j>>0]=a[p>>0]|0;j=j+1|0}}while(0);n=0;while(1){if((n|0)==4)break;o=n+1|0;l=H(o,q)|0;p=l>>5;l=l&31;d:do if(!l){j=0;while(1){if((j|0)==4)break d;m=j+1|0;l=b+((H(j,g)|0)+n)|0;a[l>>0]=a[k+(m+p)>>0]|0;j=m}}else{m=32-l|0;j=0;while(1){if((j|0)==4)break d;t=j+p|0;s=H(m,d[k+(t+1)>>0]|0)|0;t=(s+16+(H(l,d[k+(t+2)>>0]|0)|0)|0)>>>5&255;s=b+((H(j,g)|0)+n)|0;a[s>>0]=t;j=j+1|0}}while(0);n=o}if((h|0)==0&(i|0)==10){t=e+-1|0;s=((d[e>>0]|0)-(d[t>>0]|0)>>1)+(d[f>>0]|0)|0;a[b>>0]=s>>>0>255?0-s>>31:s;s=((d[e+1>>0]|0)-(d[t>>0]|0)>>1)+(d[f>>0]|0)|0;a[b+1>>0]=s>>>0>255?0-s>>31:s;s=((d[e+2>>0]|0)-(d[t>>0]|0)>>1)+(d[f>>0]|0)|0;a[b+2>>0]=s>>>0>255?0-s>>31:s;t=((d[e+3>>0]|0)-(d[t>>0]|0)>>1)+(d[f>>0]|0)|0;a[b+3>>0]=t>>>0>255?0-t>>31:t}}while(0);Mb=r;return}function Bf(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;l=(c|0)!=0;c=0-f|0;if(l){g=d[b+c>>0]|0;c=d[b+~f>>0]|0}else{c=d[b+c>>0]|0;g=c}j=d[b+(1-f)>>0]|0;k=j+2|0;s=(k+c+(g<<1)|0)>>>2;m=d[b+(2-f)>>0]|0;i=g+2|0;j=(i+(j<<1)+m|0)>>>2;n=d[b+(3-f)>>0]|0;k=(k+(m<<1)+n|0)>>>2;p=d[b+(4-f)>>0]|0;m=(m+2+(n<<1)+p|0)>>>2;r=d[b+(5-f)>>0]|0;n=(n+2+(p<<1)+r|0)>>>2;o=d[b+(6-f)>>0]|0;p=(p+2+(r<<1)+o|0)>>>2;q=d[b+(7-f)>>0]|0;r=(r+2+(o<<1)+q|0)>>>2;if(!e)h=q;else h=d[b+(8-f)>>0]|0;if(l){e=d[b+~f>>0]|0;c=d[b+-1>>0]|0;g=e}else{e=d[b+-1>>0]|0;c=e;g=d[b+~f>>0]|0}z=d[b+(f+-1)>>0]|0;y=z+2|0;x=(y+e+(c<<1)|0)>>>2;l=f<<1;A=d[b+(l+-1)>>0]|0;z=(c+2+(z<<1)+A|0)>>>2;e=f*3|0;B=d[b+(e+-1)>>0]|0;y=(y+(A<<1)+B|0)>>>2;t=f<<2;C=d[b+(t+-1)>>0]|0;A=(A+2+(B<<1)+C|0)>>>2;u=f*5|0;D=d[b+(u+-1)>>0]|0;B=(B+2+(C<<1)+D|0)>>>2;v=f*6|0;F=d[b+(v+-1)>>0]|0;C=(C+2+(D<<1)+F|0)>>>2;w=f*7|0;E=d[b+(w+-1)>>0]|0;D=(D+2+(F<<1)+E|0)>>>2;c=(i+c+(g<<1)|0)>>>2;a[b+w>>0]=(C+2+((F+2+(E*3|0)|0)>>>2)+(D<<1)|0)>>>2;g=(B+2+(C<<1)+D|0)>>>2&255;a[b+(w+1)>>0]=g;a[b+v>>0]=g;g=(A+2+(B<<1)+C|0)>>>2&255;a[b+(w+2)>>0]=g;a[b+(v|1)>>0]=g;a[b+u>>0]=g;g=(y+2+(A<<1)+B|0)>>>2&255;a[b+(w+3)>>0]=g;a[b+(v+2)>>0]=g;a[b+(u+1)>>0]=g;a[b+t>>0]=g;g=z+2|0;i=(g+(y<<1)+A|0)>>>2&255;a[b+(w+4)>>0]=i;a[b+(v+3)>>0]=i;a[b+(u+2)>>0]=i;a[b+(t|1)>>0]=i;a[b+e>>0]=i;i=(x+2+(z<<1)+y|0)>>>2&255;a[b+(w+5)>>0]=i;a[b+(v+4)>>0]=i;a[b+(u+3)>>0]=i;a[b+(t|2)>>0]=i;a[b+(e+1)>>0]=i;a[b+l>>0]=i;g=(g+(x<<1)+c|0)>>>2&255;a[b+(w+6)>>0]=g;a[b+(v+5)>>0]=g;a[b+(u+4)>>0]=g;a[b+(t|3)>>0]=g;a[b+(e+2)>>0]=g;a[b+(l|1)>>0]=g;a[b+f>>0]=g;g=s+2|0;i=(g+x+(c<<1)|0)>>>2&255;a[b+(w+7)>>0]=i;a[b+(v+6)>>0]=i;a[b+(u+5)>>0]=i;a[b+(t+4)>>0]=i;a[b+(e+3)>>0]=i;a[b+(l+2)>>0]=i;a[b+(f+1)>>0]=i;a[b>>0]=i;i=j+2|0;s=(i+(s<<1)+c|0)>>>2&255;a[b+(v+7)>>0]=s;a[b+(u+6)>>0]=s;a[b+(t+5)>>0]=s;a[b+(e+4)>>0]=s;a[b+(l+3)>>0]=s;a[b+(f+2)>>0]=s;a[b+1>>0]=s;s=(g+(j<<1)+k|0)>>>2&255;a[b+(u+7)>>0]=s;a[b+(t+6)>>0]=s;a[b+(e+5)>>0]=s;a[b+(l+4)>>0]=s;a[b+(f+3)>>0]=s;a[b+2>>0]=s;s=(i+(k<<1)+m|0)>>>2&255;a[b+(t+7)>>0]=s;a[b+(e+6)>>0]=s;a[b+(l+5)>>0]=s;a[b+(f+4)>>0]=s;a[b+3>>0]=s;s=(k+2+(m<<1)+n|0)>>>2&255;a[b+(e+7)>>0]=s;a[b+(l+6)>>0]=s;a[b+(f+5)>>0]=s;a[b+4>>0]=s;s=(m+2+(n<<1)+p|0)>>>2&255;a[b+(l+7)>>0]=s;a[b+(f+6)>>0]=s;a[b+5>>0]=s;s=(n+2+(p<<1)+r|0)>>>2&255;a[b+(f+7)>>0]=s;a[b+6>>0]=s;a[b+7>>0]=(p+2+(r<<1)+((o+2+(q<<1)+h|0)>>>2)|0)>>>2;return}function Cf(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;y=Mb;Mb=Mb+304|0;q=y;r=y+256|0;w=g+32860|0;s=r+4|0;c[s>>2]=c[w>>2];x=g+32856|0;c[r>>2]=c[x>>2];u=g+32872|0;v=r+16|0;c[v>>2]=c[u>>2];o=c[g+21828>>2]|0;n=(c[91856+(o*56|0)+12>>2]|0)+(g+32904)|0;o=(c[91968+(o*56|0)+12>>2]|0)+(g+32904)|0;p=g+33161|0;m=0;k=0;while(1){if(m>>>0>=7){t=6;break}j=d[210491+m>>0]|0;if(BA(r,n+j|0)|0){l=k+1|0;c[q+(k<<2)>>2]=m;if(!(BA(r,o+j|0)|0))k=l;else{k=l;break}}m=m+1|0}if((t|0)==6)if((m|0)==7){c[q+(k<<2)>>2]=7;k=k+1|0}o=(c[f+26376>>2]|0)+(c[g+21796>>2]<<1)|0;b[o>>1]=64<<i+-49|(e[o>>1]|0);a[(d[91792+i>>0]|0)+(g+27824)>>0]=k;if(!(c[f+25652>>2]|0)){o=k;j=0;while(1){o=o+-1|0;f=d[174333+(c[q+(o<<2)>>2]|0)>>0]|0;if(!(BA(r,p+(d[210498+j>>0]|0)|0)|0)){k=d[92080+j>>0]|0;i=c[r>>2]|0;j=i<<1;c[r>>2]=j;if(!(i&32767)){yU(r);j=c[r>>2]|0}i=c[s>>2]|0;n=i<<17;j=j-n|0;m=j>>31;j=(m&n)+j|0;c[r>>2]=j;n=k;l=m^65535;k=i}else{k=p+(d[92104+j>>0]|0)|0;n=d[92088+j>>0]|0;j=2;while(1){if(j>>>0>=15){t=35;break}if(!(BA(r,k)|0))break;j=j+1|0}if((t|0)==35){t=0;j=0;while(1)if(j>>>0<30&(zP(r)|0)!=0)j=j+1|0;else break;k=1;while(1){if(!j)break;j=j+-1|0;k=(zP(r)|0)+(k<<1)|0}j=k+14|0}i=c[r>>2]|0;k=i<<1;c[r>>2]=k;if(!(i&32767)){yU(r);k=c[r>>2]|0}i=c[s>>2]|0;l=i<<17;k=k-l|0;m=k>>31;k=(m&l)+k|0;c[r>>2]=k;l=m^0-j;j=k;k=i}b[h+(f<<1)>>1]=l-m;if(!o)break;else j=n}}else{j=0;o=k;while(1){o=o+-1|0;f=d[174333+(c[q+(o<<2)>>2]|0)>>0]|0;if(!(BA(r,p+(d[210498+j>>0]|0)|0)|0)){k=d[92080+j>>0]|0;i=c[r>>2]|0;j=i<<1;c[r>>2]=j;if(!(i&32767)){yU(r);j=c[r>>2]|0}i=c[s>>2]|0;n=i<<17;j=j-n|0;m=j>>31;j=(m&n)+j|0;c[r>>2]=j;n=k;l=~m;k=i}else{k=p+(d[92104+j>>0]|0)|0;n=d[92088+j>>0]|0;j=2;while(1){if(j>>>0>=15){t=17;break}if(!(BA(r,k)|0))break;j=j+1|0}if((t|0)==17){t=0;j=0;while(1)if(j>>>0<30&(zP(r)|0)!=0)j=j+1|0;else break;k=1;while(1){if(!j)break;j=j+-1|0;k=(zP(r)|0)+(k<<1)|0}j=k+14|0}i=c[r>>2]|0;k=i<<1;c[r>>2]=k;if(!(i&32767)){yU(r);k=c[r>>2]|0}i=c[s>>2]|0;l=i<<17;k=k-l|0;m=k>>31;k=(m&l)+k|0;c[r>>2]=k;l=m^0-j;j=k;k=i}c[h+(f<<2)>>2]=l-m;if(!o)break;else j=n}}c[w>>2]=k;c[x>>2]=j;c[u>>2]=c[v>>2];Mb=y;return}
|
|
function Gc(d,f,g,h){d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=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,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0;fa=Mb;Mb=Mb+576|0;X=fa+432|0;Y=fa+288|0;aa=fa+144|0;Z=fa;r=c[d+136>>2]|0;V=c[d+1412>>2]|0;S=c[V+13424+(h<<2)>>2]|0;R=c[V+13436+(h<<2)>>2]|0;u=32<<S;k=c[V+13328>>2]|0;t=32<<R;l=c[V+13420>>2]|0;m=f>>k&l;n=g>>k&l;s=c[d+1416>>2]|0;o=c[s+1684>>2]|0;p=l+2|0;q=o+((H(n,p)|0)+m<<2)|0;q=c[q>>2]|0;ea=c[d+160>>2]|0;da=(c[ea+32+(h<<2)>>2]|0)>>>1;D=0-da|0;ea=(c[ea+(h<<2)>>2]|0)+(f>>S<<1)+((H(da,g>>R)|0)<<1)|0;T=c[V+13412>>2]|0;W=(h|0)==0;ca=c[(W?r+288|0:r+292|0)>>2]|0;j=X+2|0;i=aa+2|0;$=Y+2|0;ba=Z+2|0;if(!(c[r+31284>>2]|0))v=0;else{v=o+(m+-1+(H(n+(t>>k)&l,p)|0)<<2)|0;v=(q|0)>(c[v>>2]|0)}w=v&1;x=c[r+31288>>2]|0;A=c[r+31296>>2]|0;B=c[r+31292>>2]|0;if(!(c[r+31300>>2]|0))y=0;else{y=o+((H(n+-1|0,p)|0)+(m+(u>>k)&l)<<2)|0;y=(q|0)>(c[y>>2]|0)}k=y&1;K=(t<<1)+g|0;I=V+13380|0;C=c[I>>2]|0;J=t+g|0;K=((K|0)>(C|0)?C:K)-J>>R;C=(u<<1)+f|0;F=V+13376|0;E=c[F>>2]|0;G=u+f|0;C=((C|0)>(E|0)?E:C)-G>>S;E=s+20|0;if((a[E>>0]|0)==1){z=c[V+13340>>2]|0;s=t>>z;u=u>>z;t=(1<<z)+-1|0;r=(t&f|0)==0;t=(t&g|0)==0;u=u+((u|0)==0&1)|0;a:do if(v&r){o=f+-1>>z;p=J>>z;n=(c[V+13416>>2]|0)-p|0;n=(s|0)>(n|0)?n:s;q=d+3516|0;l=0;m=0;while(1){if((l|0)>=(n|0)){w=m;break a}Q=(c[(c[q>>2]|0)+20>>2]|0)+(((H(l+p|0,T)|0)+o|0)*12|0)+10|0;l=l+2|0;m=m|(a[Q>>0]|0)==0}}while(0);b:do if((x|0)==1&r){p=f+-1>>z;q=g>>z;n=(c[V+13416>>2]|0)-q|0;n=(s|0)>(n|0)?n:s;o=d+3516|0;l=0;m=0;while(1){if((m|0)>=(n|0)){r=l;break b}Q=(c[(c[o>>2]|0)+20>>2]|0)+(((H(m+q|0,T)|0)+p|0)*12|0)+10|0;l=l|(a[Q>>0]|0)==0;m=m+2|0}}else r=x;while(0);if((A|0)==1){q=(c[(c[d+3516>>2]|0)+20>>2]|0)+(((H(g+-1>>z,T)|0)+(f+-1>>z)|0)*12|0)+10|0;q=(a[q>>0]|0)==0&1}else q=A;c:do if((B|0)==1&t){p=f>>z;n=T-p|0;n=(u|0)>(n|0)?n:u;o=d+3516|0;p=(H(g+-1>>z,T)|0)+p|0;l=0;m=0;while(1){if((m|0)>=(n|0)){p=l;break c}l=l|(a[(c[(c[o>>2]|0)+20>>2]|0)+((p+m|0)*12|0)+10>>0]|0)==0;m=m+2|0}}else p=B;while(0);d:do if(y&t){m=G>>z;n=T-m|0;n=(u|0)>(n|0)?n:u;o=d+3516|0;m=(H(g+-1>>z,T)|0)+m|0;k=0;l=0;while(1){if((l|0)>=(n|0))break d;k=k|(a[(c[(c[o>>2]|0)+20>>2]|0)+((m+l|0)*12|0)+10>>0]|0)==0;l=l+2|0}}while(0);m=j;n=m+128|0;do{b[m>>1]=32896;m=m+2|0}while((m|0)<(n|0));m=i;n=m+128|0;do{b[m>>1]=32896;m=m+2|0}while((m|0)<(n|0));b[aa>>1]=128;A=q;x=r;B=p;p=k}else p=k;N=(A|0)!=0;if(N){Q=b[ea+(~da<<1)>>1]|0;b[X>>1]=Q;b[aa>>1]=Q}O=(B|0)!=0;if(O){m=i;k=ea+(D<<1)|0;n=m+64|0;do{b[m>>1]=b[k>>1]|0;m=m+2|0;k=k+2|0}while((m|0)<(n|0))}Q=(p|0)!=0;e:do if(Q){l=aa+66|0;m=l;k=ea+(D<<1)+64|0;n=m+64|0;do{b[m>>1]=b[k>>1]|0;m=m+2|0;k=k+2|0}while((m|0)<(n|0));m=MR(e[ea+(31-da+C<<1)>>1]|0,0,65537,65537)|0;n=M()|0;o=32-C|0;l=l+(C<<1)|0;k=0;while(1){if((k|0)>=(o|0))break e;D=l+(k<<1)|0;C=D;b[C>>1]=m;b[C+2>>1]=m>>>16;D=D+4|0;b[D>>1]=n;b[D+2>>1]=n>>>16;k=k+4|0}}while(0);C=(x|0)!=0;f:do if(C){k=0;while(1){if((k|0)==32)break f;D=ea+((H(k,da)|0)+-1<<1)|0;b[j+(k<<1)>>1]=b[D>>1]|0;k=k+1|0}}while(0);z=(w|0)!=0;g:do if(z){l=K+32|0;k=32;while(1){if((k|0)>=(l|0))break;D=ea+((H(k,da)|0)+-1<<1)|0;b[j+(k<<1)>>1]=b[D>>1]|0;k=k+1|0}l=ea+((H(K+31|0,da)|0)+-1<<1)|0;l=MR(e[l>>1]|0,0,65537,65537)|0;m=M()|0;n=32-K|0;o=X+66+(K<<1)|0;k=0;while(1){if((k|0)>=(n|0))break g;D=o+(k<<1)|0;y=D;b[y>>1]=l;b[y+2>>1]=l>>>16;D=D+4|0;b[D>>1]=m;b[D+2>>1]=m>>>16;k=k+4|0}}while(0);h:do if((a[E>>0]|0)==1?(L=w|x,P=(L|0)==0,L=L|A,B|p|L|0):0){F=c[F>>2]|0;y=F-f>>S;I=c[I>>2]|0;w=I-g>>R;y=Q?(((64<<S)+f|0)<(F|0)?64:y):(G|0)<(F|0)?32:y;w=z?(((64<<R)+g|0)<(I|0)?64:w):(J|0)<(I|0)?32:w;do if(!L){m=d+3516|0;n=V+13340|0;o=(-1<<R)+g|0;k=0;while(1){if((k|0)>=(y|0))break;L=c[n>>2]|0;L=(c[(c[m>>2]|0)+20>>2]|0)+(((H(o>>L,T)|0)+((k<<S)+f>>L)|0)*12|0)+10|0;if(!(a[L>>0]|0))break;k=k+1|0}i:do if(k|0){if((f|0)>0)while(1){if((k|0)<=-1)break i;l=k+-1|0;L=c[n>>2]|0;L=(c[(c[m>>2]|0)+20>>2]|0)+(((H(o>>L,T)|0)+((l<<S)+f>>L)|0)*12|0)+10|0;if(a[L>>0]|0)b[aa+(k<<1)>>1]=b[i+(k<<1)>>1]|0;k=l}while(1){if((k|0)<=0)break;l=k+-1|0;L=c[n>>2]|0;L=(c[(c[m>>2]|0)+20>>2]|0)+(((H(o>>L,T)|0)+((l<<S)+f>>L)|0)*12|0)+10|0;if(a[L>>0]|0)b[aa+(k<<1)>>1]=b[i+(k<<1)>>1]|0;k=l}b[aa>>1]=b[i>>1]|0}while(0);q=b[aa>>1]|0;b[X>>1]=q;v=aa;u=X}else{n=c[(c[d+3516>>2]|0)+20>>2]|0;o=c[V+13340>>2]|0;m=(-1<<S)+f>>o;k=z?K+32|0:32;do{L=k;k=k+-1|0;l=H((k<<R)+g>>o,T)|0;if((L|0)<=0)break}while((a[n+((l+m|0)*12|0)+10>>0]|0)!=0);if(!(a[n+((l+(f-(1<<S)>>o)|0)*12|0)+10>>0]|0)){v=aa;u=X;q=b[aa>>1]|0;break}m=H(g-(1<<R)>>o,T)|0;k=0;while(1){if((k|0)>=(y|0))break;if(!(a[n+((((k<<S)+f>>o)+m|0)*12|0)+10>>0]|0))break;k=k+1|0}while(1){if((k|0)<=-1)break;l=k+-1|0;if(a[n+((((l<<S)+f>>o)+m|0)*12|0)+10>>0]|0)b[aa+(k<<1)>>1]=b[i+(k<<1)>>1]|0;k=l}q=b[aa>>1]|0;b[X>>1]=q;v=aa;u=X}while(0);b[u>>1]=q;j:do if(!P){k=MR(q&65535|0,0,65537,65537)|0;n=d+3516|0;o=(-1<<S)+f|0;p=V+13340|0;m=0;l=M()|0;while(1){if((m|0)>=(w|0))break j;P=c[p>>2]|0;P=(c[(c[n>>2]|0)+20>>2]|0)+(((H((m<<R)+g>>P,T)|0)+(o>>P)|0)*12|0)+10|0;if(!(a[P>>0]|0)){k=MR(e[j+((m|3)<<1)>>1]|0,0,65537,65537)|0;l=M()|0}else{P=j+(m<<1)|0;L=P;b[L>>1]=k;b[L+2>>1]=k>>>16;P=P+4|0;b[P>>1]=l;b[P+2>>1]=l>>>16}m=m+4|0}}while(0);k:do if(!C){l=MR(q&65535|0,0,65537,65537)|0;m=M()|0;k=0;while(1){if(k>>>0>=32)break k;P=j+(k<<1)|0;L=P;b[L>>1]=l;b[L+2>>1]=l>>>16;P=P+4|0;b[P>>1]=m;b[P+2>>1]=m>>>16;k=k+4|0}}while(0);l:do if(!z){l=MR(e[X+64>>1]|0,0,65537,65537)|0;m=M()|0;n=X+66|0;k=0;while(1){if(k>>>0>=32)break l;P=n+(k<<1)|0;L=P;b[L>>1]=l;b[L+2>>1]=l>>>16;P=P+4|0;b[P>>1]=m;b[P+2>>1]=m>>>16;k=k+4|0}}while(0);t=(g|0)!=0;m:do if((f|0)!=0&t){o=MR(e[X+(w<<1)>>1]|0,0,65537,65537)|0;l=M()|0;q=(c[d+3516>>2]|0)+20|0;r=(-1<<S)+f|0;s=V+13340|0;p=w+-1|0;while(1){k=c[q>>2]|0;m=c[s>>2]|0;n=r>>m;if((p|0)<=-1)break;L=p+-3|0;P=k+(((H((L<<R)+g>>m,T)|0)+n|0)*12|0)+10|0;k=j+(L<<1)|0;if(!(a[P>>0]|0)){k=MR(e[k>>1]|0,0,65537,65537)|0;l=M()|0}else{P=k;b[P>>1]=o;b[P+2>>1]=o>>>16;k=k+4|0;b[k>>1]=l;b[k+2>>1]=l>>>16;k=o}p=p+-4|0;o=k}P=k+(((H((-1<<R)+g>>m,T)|0)+n|0)*12|0)+10|0;if(a[P>>0]|0)b[u>>1]=b[j>>1]|0}else{if(!f){k=0;while(1){if((k|0)>=(w|0))break m;P=j+(k<<1)|0;L=P;b[L>>1]=0;b[L+2>>1]=0>>>16;P=P+4|0;b[P>>1]=0;b[P+2>>1]=0>>>16;k=k+4|0}}m=MR(e[X+(w<<1)>>1]|0,0,65537,65537)|0;o=d+3516|0;p=(-1<<S)+f|0;q=V+13340|0;n=w+-1|0;l=M()|0;while(1){if((n|0)<=-1)break m;P=c[q>>2]|0;k=n+-3|0;P=(c[(c[o>>2]|0)+20>>2]|0)+(((H((k<<R)+g>>P,T)|0)+(p>>P)|0)*12|0)+10|0;k=j+(k<<1)|0;if(!(a[P>>0]|0)){k=MR(e[k>>1]|0,0,65537,65537)|0;l=M()|0}else{P=k;b[P>>1]=m;b[P+2>>1]=m>>>16;k=k+4|0;b[k>>1]=l;b[k+2>>1]=l>>>16;k=m}n=n+-4|0;m=k}}while(0);k=b[u>>1]|0;b[v>>1]=k;if(t){k=MR(k&65535|0,0,65537,65537)|0;o=d+3516|0;p=V+13340|0;n=(-1<<R)+g|0;m=0;l=M()|0;while(1){if((m|0)>=(y|0))break h;g=c[p>>2]|0;g=(c[(c[o>>2]|0)+20>>2]|0)+(((H(n>>g,T)|0)+((m<<S)+f>>g)|0)*12|0)+10|0;if(!(a[g>>0]|0)){k=MR(e[i+((m|3)<<1)>>1]|0,0,65537,65537)|0;l=M()|0}else{g=i+(m<<1)|0;R=g;b[R>>1]=k;b[R+2>>1]=k>>>16;g=g+4|0;b[g>>1]=l;b[g+2>>1]=l>>>16}m=m+4|0}}}while(0);n:do if(!z){if(C){l=MR(e[X+64>>1]|0,0,65537,65537)|0;m=M()|0;n=X+66|0;k=0;while(1){if(k>>>0>=32){U=147;break n}U=n+(k<<1)|0;T=U;b[T>>1]=l;b[T+2>>1]=l>>>16;U=U+4|0;b[U>>1]=m;b[U+2>>1]=m>>>16;k=k+4|0}}if(N){l=MR(e[X>>1]|0,0,65537,65537)|0;m=M()|0;k=0;while(1){if(k>>>0>=64){U=151;break n}U=j+(k<<1)|0;T=U;b[T>>1]=l;b[T+2>>1]=l>>>16;U=U+4|0;b[U>>1]=m;b[U+2>>1]=m>>>16;k=k+4|0}}if(O){l=b[i>>1]|0;b[X>>1]=l;l=MR(l&65535|0,0,65537,65537)|0;m=M()|0;k=0;while(1){if(k>>>0>=64){U=153;break n}U=j+(k<<1)|0;T=U;b[T>>1]=l;b[T+2>>1]=l>>>16;U=U+4|0;b[U>>1]=m;b[U+2>>1]=m>>>16;k=k+4|0}}if(Q){l=aa+66|0;m=MR(e[l>>1]|0,0,65537,65537)|0;n=M()|0;k=0;while(1){if(k>>>0>=32)break;T=i+(k<<1)|0;S=T;b[S>>1]=m;b[S+2>>1]=m>>>16;T=T+4|0;b[T>>1]=n;b[T+2>>1]=n>>>16;k=k+4|0}l=b[l>>1]|0;b[X>>1]=l;l=MR(l&65535|0,0,65537,65537)|0;m=M()|0;k=0;while(1){if(k>>>0>=64)break n;T=j+(k<<1)|0;S=T;b[S>>1]=l;b[S+2>>1]=l>>>16;T=T+4|0;b[T>>1]=m;b[T+2>>1]=m>>>16;k=k+4|0}}else{b[X>>1]=256;k=0;while(1){if(k>>>0>=64)break;U=i+(k<<1)|0;T=U;b[T>>1]=256;b[T+2>>1]=16777472>>>16;U=U+4|0;b[U>>1]=256;b[U+2>>1]=16777472>>>16;k=k+4|0}k=0;while(1){if(k>>>0>=64){U=147;break n}U=j+(k<<1)|0;T=U;b[T>>1]=256;b[T+2>>1]=16777472>>>16;U=U+4|0;b[U>>1]=256;b[U+2>>1]=16777472>>>16;k=k+4|0}}}else U=147;while(0);o:do if((U|0)==147)if(!x){l=MR(e[X+66>>1]|0,0,65537,65537)|0;m=M()|0;k=0;while(1){if(k>>>0>=32){U=151;break o}U=j+(k<<1)|0;T=U;b[T>>1]=l;b[T+2>>1]=l>>>16;U=U+4|0;b[U>>1]=m;b[U+2>>1]=m>>>16;k=k+4|0}}else U=151;while(0);if((U|0)==151)if(!A){b[X>>1]=b[j>>1]|0;U=153}else U=153;p:do if((U|0)==153?(B|0)==0:0){l=MR(e[X>>1]|0,0,65537,65537)|0;m=M()|0;k=0;while(1){if(k>>>0>=32)break p;U=i+(k<<1)|0;T=U;b[T>>1]=l;b[T+2>>1]=l>>>16;U=U+4|0;b[U>>1]=m;b[U+2>>1]=m>>>16;k=k+4|0}}while(0);q:do if(!Q){l=MR(e[aa+64>>1]|0,0,65537,65537)|0;m=M()|0;n=aa+66|0;k=0;while(1){if(k>>>0>=32)break q;U=n+(k<<1)|0;T=U;b[T>>1]=l;b[T+2>>1]=l>>>16;U=U+4|0;b[U>>1]=m;b[U+2>>1]=m>>>16;k=k+4|0}}while(0);n=b[X>>1]|0;b[aa>>1]=n;r:do if(!(c[V+13368>>2]|0)){if(!W?(c[V+4>>2]|0)!=3:0){U=182;break}if((ca|0)!=1){U=ca+-26|0;U=(U|0)>-1?U:26-ca|0;T=ca+-10|0;T=(T|0)>-1?T:10-ca|0;if((((U|0)>(T|0)?T:U)|0)>0){if(W&(a[V+13317>>0]|0)!=0){m=n&65535;k=b[aa+128>>1]|0;l=k&65535;W=l+m-(e[aa+64>>1]<<1)|0;if((((W|0)>-1?W:0-W|0)|0)<16?(_=X+128|0,W=(e[_>>1]|0)+m-(e[X+64>>1]<<1)|0,(((W|0)>-1?W:0-W|0)|0)<16):0){b[Z>>1]=n;b[Z+128>>1]=k;i=0;while(1){if((i|0)==63)break;aa=i+1|0;$=((H(aa,l)|0)+32+(H(63-i|0,m)|0)|0)>>>6&65535;b[ba+(i<<1)>>1]=$;i=aa}i=0;while(1){if((i|0)==63){i=ba;U=182;break r}aa=i+1|0;$=H(63-i|0,m)|0;$=($+32+(H(aa,e[_>>1]|0)|0)|0)>>>6&65535;b[j+(i<<1)>>1]=$;i=aa}}}else k=b[aa+128>>1]|0;b[Y+128>>1]=b[X+128>>1]|0;b[Z+128>>1]=k;k=62;while(1){if((k|0)<=-1)break;b[$+(k<<1)>>1]=((e[j+(k+1<<1)>>1]|0)+2+(e[j+(k<<1)>>1]<<1)+(e[X+(k<<1)>>1]|0)|0)>>>2;k=k+-1|0}j=(((n&65535)<<1)+2+(e[j>>1]|0)+(e[i>>1]|0)|0)>>>2&65535;b[Y>>1]=j;b[Z>>1]=j;j=62;while(1){if((j|0)<=-1){j=$;i=ba;U=182;break r}b[ba+(j<<1)>>1]=((e[i+(j+1<<1)>>1]|0)+2+(e[i+(j<<1)>>1]<<1)+(e[aa+(j<<1)>>1]|0)|0)>>>2;j=j+-1|0}}else U=182}else U=184}else U=182;while(0);s:do if((U|0)==182)switch(ca|0){case 1:{U=184;break s}case 0:{hc[c[d+5764>>2]&255](ea,i,j,da);break s}default:{kc[c[d+5784>>2]&127](ea,i,j,da,h,ca);break s}}while(0);if((U|0)==184)kc[c[d+5768>>2]&127](ea,i,j,da,5,h);Mb=fa;return}function Hc(d,f,g,h){d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=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,$=0,aa=0,ba=0,ca=0,da=0,ea=0;ea=Mb;Mb=Mb+576|0;X=ea+432|0;Y=ea+288|0;$=ea+144|0;Z=ea;r=c[d+136>>2]|0;V=c[d+1412>>2]|0;S=c[V+13424+(h<<2)>>2]|0;R=c[V+13436+(h<<2)>>2]|0;u=8<<S;k=c[V+13328>>2]|0;t=8<<R;l=c[V+13420>>2]|0;m=f>>k&l;n=g>>k&l;s=c[d+1416>>2]|0;o=c[s+1684>>2]|0;p=l+2|0;q=o+((H(n,p)|0)+m<<2)|0;q=c[q>>2]|0;da=c[d+160>>2]|0;ca=(c[da+32+(h<<2)>>2]|0)>>>1;D=0-ca|0;da=(c[da+(h<<2)>>2]|0)+(f>>S<<1)+((H(ca,g>>R)|0)<<1)|0;T=c[V+13412>>2]|0;W=(h|0)==0;ba=c[(W?r+288|0:r+292|0)>>2]|0;j=X+2|0;i=$+2|0;_=Y+2|0;aa=Z+2|0;if(!(c[r+31284>>2]|0))v=0;else{v=o+(m+-1+(H(n+(t>>k)&l,p)|0)<<2)|0;v=(q|0)>(c[v>>2]|0)}w=v&1;x=c[r+31288>>2]|0;A=c[r+31296>>2]|0;B=c[r+31292>>2]|0;if(!(c[r+31300>>2]|0))y=0;else{y=o+((H(n+-1|0,p)|0)+(m+(u>>k)&l)<<2)|0;y=(q|0)>(c[y>>2]|0)}m=y&1;K=(t<<1)+g|0;I=V+13380|0;C=c[I>>2]|0;J=t+g|0;K=((K|0)>(C|0)?C:K)-J>>R;C=(u<<1)+f|0;F=V+13376|0;E=c[F>>2]|0;G=u+f|0;C=((C|0)>(E|0)?E:C)-G>>S;E=s+20|0;if((a[E>>0]|0)==1){z=c[V+13340>>2]|0;s=t>>z;u=u>>z;t=(1<<z)+-1|0;r=(t&f|0)==0;t=(t&g|0)==0;u=u+((u|0)==0&1)|0;a:do if(v&r){o=f+-1>>z;p=J>>z;n=(c[V+13416>>2]|0)-p|0;n=(s|0)>(n|0)?n:s;q=d+3516|0;k=0;l=0;while(1){if((k|0)>=(n|0)){w=l;break a}Q=(c[(c[q>>2]|0)+20>>2]|0)+(((H(k+p|0,T)|0)+o|0)*12|0)+10|0;k=k+2|0;l=l|(a[Q>>0]|0)==0}}while(0);b:do if((x|0)==1&r){p=f+-1>>z;q=g>>z;n=(c[V+13416>>2]|0)-q|0;n=(s|0)>(n|0)?n:s;o=d+3516|0;k=0;l=0;while(1){if((l|0)>=(n|0)){r=k;break b}Q=(c[(c[o>>2]|0)+20>>2]|0)+(((H(l+q|0,T)|0)+p|0)*12|0)+10|0;k=k|(a[Q>>0]|0)==0;l=l+2|0}}else r=x;while(0);if((A|0)==1){q=(c[(c[d+3516>>2]|0)+20>>2]|0)+(((H(g+-1>>z,T)|0)+(f+-1>>z)|0)*12|0)+10|0;q=(a[q>>0]|0)==0&1}else q=A;c:do if((B|0)==1&t){p=f>>z;n=T-p|0;n=(u|0)>(n|0)?n:u;o=d+3516|0;p=(H(g+-1>>z,T)|0)+p|0;k=0;l=0;while(1){if((l|0)>=(n|0)){p=k;break c}k=k|(a[(c[(c[o>>2]|0)+20>>2]|0)+((p+l|0)*12|0)+10>>0]|0)==0;l=l+2|0}}else p=B;while(0);d:do if(y&t){m=G>>z;n=T-m|0;n=(u|0)>(n|0)?n:u;o=d+3516|0;m=(H(g+-1>>z,T)|0)+m|0;k=0;l=0;while(1){if((l|0)>=(n|0)){m=k;break d}k=k|(a[(c[(c[o>>2]|0)+20>>2]|0)+((m+l|0)*12|0)+10>>0]|0)==0;l=l+2|0}}while(0);k=j;l=k+128|0;do{b[k>>1]=32896;k=k+2|0}while((k|0)<(l|0));k=i;l=k+128|0;do{b[k>>1]=32896;k=k+2|0}while((k|0)<(l|0));b[$>>1]=128;A=q;x=r;B=p}N=(A|0)!=0;if(N){Q=b[da+(~ca<<1)>>1]|0;b[X>>1]=Q;b[$>>1]=Q}O=(B|0)!=0;if(O){Q=da+(D<<1)|0;b[i>>1]=b[Q>>1]|0;b[i+2>>1]=b[Q+2>>1]|0;b[i+4>>1]=b[Q+4>>1]|0;b[i+6>>1]=b[Q+6>>1]|0;b[i+8>>1]=b[Q+8>>1]|0;b[i+10>>1]=b[Q+10>>1]|0;b[i+12>>1]=b[Q+12>>1]|0;b[i+14>>1]=b[Q+14>>1]|0}Q=(m|0)!=0;e:do if(Q){l=$+18|0;n=da+(D<<1)+16|0;b[l>>1]=b[n>>1]|0;b[l+2>>1]=b[n+2>>1]|0;b[l+4>>1]=b[n+4>>1]|0;b[l+6>>1]=b[n+6>>1]|0;b[l+8>>1]=b[n+8>>1]|0;b[l+10>>1]=b[n+10>>1]|0;b[l+12>>1]=b[n+12>>1]|0;b[l+14>>1]=b[n+14>>1]|0;n=MR(e[da+(7-ca+C<<1)>>1]|0,0,65537,65537)|0;o=M()|0;p=8-C|0;l=l+(C<<1)|0;k=0;while(1){if((k|0)>=(p|0))break e;D=l+(k<<1)|0;C=D;b[C>>1]=n;b[C+2>>1]=n>>>16;D=D+4|0;b[D>>1]=o;b[D+2>>1]=o>>>16;k=k+4|0}}while(0);C=(x|0)!=0;f:do if(C){k=0;while(1){if((k|0)==8)break f;D=da+((H(k,ca)|0)+-1<<1)|0;b[j+(k<<1)>>1]=b[D>>1]|0;k=k+1|0}}while(0);z=(w|0)!=0;g:do if(z){l=K+8|0;k=8;while(1){if((k|0)>=(l|0))break;D=da+((H(k,ca)|0)+-1<<1)|0;b[j+(k<<1)>>1]=b[D>>1]|0;k=k+1|0}l=da+((H(K+7|0,ca)|0)+-1<<1)|0;l=MR(e[l>>1]|0,0,65537,65537)|0;n=M()|0;o=8-K|0;p=X+18+(K<<1)|0;k=0;while(1){if((k|0)>=(o|0))break g;D=p+(k<<1)|0;y=D;b[y>>1]=l;b[y+2>>1]=l>>>16;D=D+4|0;b[D>>1]=n;b[D+2>>1]=n>>>16;k=k+4|0}}while(0);h:do if((a[E>>0]|0)==1?(L=w|x,P=(L|0)==0,L=L|A,B|m|L|0):0){F=c[F>>2]|0;y=F-f>>S;I=c[I>>2]|0;w=I-g>>R;y=Q?(((16<<S)+f|0)<(F|0)?16:y):(G|0)<(F|0)?8:y;w=z?(((16<<R)+g|0)<(I|0)?16:w):(J|0)<(I|0)?8:w;do if(!L){m=d+3516|0;n=V+13340|0;o=(-1<<R)+g|0;k=0;while(1){if((k|0)>=(y|0))break;L=c[n>>2]|0;L=(c[(c[m>>2]|0)+20>>2]|0)+(((H(o>>L,T)|0)+((k<<S)+f>>L)|0)*12|0)+10|0;if(!(a[L>>0]|0))break;k=k+1|0}i:do if(k|0){if((f|0)>0)while(1){if((k|0)<=-1)break i;l=k+-1|0;L=c[n>>2]|0;L=(c[(c[m>>2]|0)+20>>2]|0)+(((H(o>>L,T)|0)+((l<<S)+f>>L)|0)*12|0)+10|0;if(a[L>>0]|0)b[$+(k<<1)>>1]=b[i+(k<<1)>>1]|0;k=l}while(1){if((k|0)<=0)break;l=k+-1|0;L=c[n>>2]|0;L=(c[(c[m>>2]|0)+20>>2]|0)+(((H(o>>L,T)|0)+((l<<S)+f>>L)|0)*12|0)+10|0;if(a[L>>0]|0)b[$+(k<<1)>>1]=b[i+(k<<1)>>1]|0;k=l}b[$>>1]=b[i>>1]|0}while(0);q=b[$>>1]|0;b[X>>1]=q;v=$;u=X}else{n=c[(c[d+3516>>2]|0)+20>>2]|0;o=c[V+13340>>2]|0;m=(-1<<S)+f>>o;k=z?K+8|0:8;do{L=k;k=k+-1|0;l=H((k<<R)+g>>o,T)|0;if((L|0)<=0)break}while((a[n+((l+m|0)*12|0)+10>>0]|0)!=0);if(!(a[n+((l+(f-(1<<S)>>o)|0)*12|0)+10>>0]|0)){v=$;u=X;q=b[$>>1]|0;break}m=H(g-(1<<R)>>o,T)|0;k=0;while(1){if((k|0)>=(y|0))break;if(!(a[n+((((k<<S)+f>>o)+m|0)*12|0)+10>>0]|0))break;k=k+1|0}while(1){if((k|0)<=-1)break;l=k+-1|0;if(a[n+((((l<<S)+f>>o)+m|0)*12|0)+10>>0]|0)b[$+(k<<1)>>1]=b[i+(k<<1)>>1]|0;k=l}q=b[$>>1]|0;b[X>>1]=q;v=$;u=X}while(0);b[u>>1]=q;j:do if(!P){k=MR(q&65535|0,0,65537,65537)|0;n=d+3516|0;o=(-1<<S)+f|0;p=V+13340|0;m=0;l=M()|0;while(1){if((m|0)>=(w|0))break j;P=c[p>>2]|0;P=(c[(c[n>>2]|0)+20>>2]|0)+(((H((m<<R)+g>>P,T)|0)+(o>>P)|0)*12|0)+10|0;if(!(a[P>>0]|0)){k=MR(e[j+((m|3)<<1)>>1]|0,0,65537,65537)|0;l=M()|0}else{P=j+(m<<1)|0;L=P;b[L>>1]=k;b[L+2>>1]=k>>>16;P=P+4|0;b[P>>1]=l;b[P+2>>1]=l>>>16}m=m+4|0}}while(0);k:do if(!C){l=MR(q&65535|0,0,65537,65537)|0;m=M()|0;k=0;while(1){if(k>>>0>=8)break k;P=j+(k<<1)|0;L=P;b[L>>1]=l;b[L+2>>1]=l>>>16;P=P+4|0;b[P>>1]=m;b[P+2>>1]=m>>>16;k=k+4|0}}while(0);l:do if(!z){l=MR(e[X+16>>1]|0,0,65537,65537)|0;m=M()|0;n=X+18|0;k=0;while(1){if(k>>>0>=8)break l;P=n+(k<<1)|0;L=P;b[L>>1]=l;b[L+2>>1]=l>>>16;P=P+4|0;b[P>>1]=m;b[P+2>>1]=m>>>16;k=k+4|0}}while(0);t=(g|0)!=0;m:do if((f|0)!=0&t){o=MR(e[X+(w<<1)>>1]|0,0,65537,65537)|0;l=M()|0;q=(c[d+3516>>2]|0)+20|0;r=(-1<<S)+f|0;s=V+13340|0;p=w+-1|0;while(1){k=c[q>>2]|0;m=c[s>>2]|0;n=r>>m;if((p|0)<=-1)break;L=p+-3|0;P=k+(((H((L<<R)+g>>m,T)|0)+n|0)*12|0)+10|0;k=j+(L<<1)|0;if(!(a[P>>0]|0)){k=MR(e[k>>1]|0,0,65537,65537)|0;l=M()|0}else{P=k;b[P>>1]=o;b[P+2>>1]=o>>>16;k=k+4|0;b[k>>1]=l;b[k+2>>1]=l>>>16;k=o}p=p+-4|0;o=k}P=k+(((H((-1<<R)+g>>m,T)|0)+n|0)*12|0)+10|0;if(a[P>>0]|0)b[u>>1]=b[j>>1]|0}else{if(!f){k=0;while(1){if((k|0)>=(w|0))break m;P=j+(k<<1)|0;L=P;b[L>>1]=0;b[L+2>>1]=0>>>16;P=P+4|0;b[P>>1]=0;b[P+2>>1]=0>>>16;k=k+4|0}}m=MR(e[X+(w<<1)>>1]|0,0,65537,65537)|0;o=d+3516|0;p=(-1<<S)+f|0;q=V+13340|0;n=w+-1|0;l=M()|0;while(1){if((n|0)<=-1)break m;P=c[q>>2]|0;k=n+-3|0;P=(c[(c[o>>2]|0)+20>>2]|0)+(((H((k<<R)+g>>P,T)|0)+(p>>P)|0)*12|0)+10|0;k=j+(k<<1)|0;if(!(a[P>>0]|0)){k=MR(e[k>>1]|0,0,65537,65537)|0;l=M()|0}else{P=k;b[P>>1]=m;b[P+2>>1]=m>>>16;k=k+4|0;b[k>>1]=l;b[k+2>>1]=l>>>16;k=m}n=n+-4|0;m=k}}while(0);k=b[u>>1]|0;b[v>>1]=k;if(t){k=MR(k&65535|0,0,65537,65537)|0;o=d+3516|0;p=V+13340|0;n=(-1<<R)+g|0;m=0;l=M()|0;while(1){if((m|0)>=(y|0))break h;g=c[p>>2]|0;g=(c[(c[o>>2]|0)+20>>2]|0)+(((H(n>>g,T)|0)+((m<<S)+f>>g)|0)*12|0)+10|0;if(!(a[g>>0]|0)){k=MR(e[i+((m|3)<<1)>>1]|0,0,65537,65537)|0;l=M()|0}else{g=i+(m<<1)|0;R=g;b[R>>1]=k;b[R+2>>1]=k>>>16;g=g+4|0;b[g>>1]=l;b[g+2>>1]=l>>>16}m=m+4|0}}}while(0);n:do if(!z){if(C){l=MR(e[X+16>>1]|0,0,65537,65537)|0;m=M()|0;n=X+18|0;k=0;while(1){if(k>>>0>=8){U=147;break n}U=n+(k<<1)|0;T=U;b[T>>1]=l;b[T+2>>1]=l>>>16;U=U+4|0;b[U>>1]=m;b[U+2>>1]=m>>>16;k=k+4|0}}if(N){l=MR(e[X>>1]|0,0,65537,65537)|0;m=M()|0;k=0;while(1){if(k>>>0>=16){U=151;break n}U=j+(k<<1)|0;T=U;b[T>>1]=l;b[T+2>>1]=l>>>16;U=U+4|0;b[U>>1]=m;b[U+2>>1]=m>>>16;k=k+4|0}}if(O){l=b[i>>1]|0;b[X>>1]=l;l=MR(l&65535|0,0,65537,65537)|0;m=M()|0;k=0;while(1){if(k>>>0>=16){U=153;break n}U=j+(k<<1)|0;T=U;b[T>>1]=l;b[T+2>>1]=l>>>16;U=U+4|0;b[U>>1]=m;b[U+2>>1]=m>>>16;k=k+4|0}}if(Q){l=$+18|0;m=MR(e[l>>1]|0,0,65537,65537)|0;n=M()|0;k=0;while(1){if(k>>>0>=8)break;T=i+(k<<1)|0;S=T;b[S>>1]=m;b[S+2>>1]=m>>>16;T=T+4|0;b[T>>1]=n;b[T+2>>1]=n>>>16;k=k+4|0}l=b[l>>1]|0;b[X>>1]=l;l=MR(l&65535|0,0,65537,65537)|0;m=M()|0;k=0;while(1){if(k>>>0>=16)break n;T=j+(k<<1)|0;S=T;b[S>>1]=l;b[S+2>>1]=l>>>16;T=T+4|0;b[T>>1]=m;b[T+2>>1]=m>>>16;k=k+4|0}}else{b[X>>1]=2048;k=0;while(1){if(k>>>0>=16)break;U=i+(k<<1)|0;T=U;b[T>>1]=2048;b[T+2>>1]=134219776>>>16;U=U+4|0;b[U>>1]=2048;b[U+2>>1]=134219776>>>16;k=k+4|0}k=0;while(1){if(k>>>0>=16){U=147;break n}U=j+(k<<1)|0;T=U;b[T>>1]=2048;b[T+2>>1]=134219776>>>16;U=U+4|0;b[U>>1]=2048;b[U+2>>1]=134219776>>>16;k=k+4|0}}}else U=147;while(0);o:do if((U|0)==147)if(!x){l=MR(e[X+18>>1]|0,0,65537,65537)|0;m=M()|0;k=0;while(1){if(k>>>0>=8){U=151;break o}U=j+(k<<1)|0;T=U;b[T>>1]=l;b[T+2>>1]=l>>>16;U=U+4|0;b[U>>1]=m;b[U+2>>1]=m>>>16;k=k+4|0}}else U=151;while(0);if((U|0)==151)if(!A){b[X>>1]=b[j>>1]|0;U=153}else U=153;p:do if((U|0)==153?(B|0)==0:0){l=MR(e[X>>1]|0,0,65537,65537)|0;m=M()|0;k=0;while(1){if(k>>>0>=8)break p;U=i+(k<<1)|0;T=U;b[T>>1]=l;b[T+2>>1]=l>>>16;U=U+4|0;b[U>>1]=m;b[U+2>>1]=m>>>16;k=k+4|0}}while(0);q:do if(!Q){l=MR(e[$+16>>1]|0,0,65537,65537)|0;m=M()|0;n=$+18|0;k=0;while(1){if(k>>>0>=8)break q;U=n+(k<<1)|0;T=U;b[T>>1]=l;b[T+2>>1]=l>>>16;U=U+4|0;b[U>>1]=m;b[U+2>>1]=m>>>16;k=k+4|0}}while(0);l=b[X>>1]|0;b[$>>1]=l;r:do if(!(c[V+13368>>2]|0)){if(!W?(c[V+4>>2]|0)!=3:0){U=172;break}if((ba|0)!=1){W=ba+-26|0;W=(W|0)>-1?W:26-ba|0;V=ba+-10|0;V=(V|0)>-1?V:10-ba|0;if((((W|0)>(V|0)?V:W)|0)>7){b[Y+32>>1]=b[X+32>>1]|0;b[Z+32>>1]=b[$+32>>1]|0;k=14;while(1){if((k|0)<=-1)break;b[_+(k<<1)>>1]=((e[j+(k+1<<1)>>1]|0)+2+(e[j+(k<<1)>>1]<<1)+(e[X+(k<<1)>>1]|0)|0)>>>2;k=k+-1|0}j=(((l&65535)<<1)+2+(e[j>>1]|0)+(e[i>>1]|0)|0)>>>2&65535;b[Y>>1]=j;b[Z>>1]=j;j=14;while(1){if((j|0)<=-1){j=_;i=aa;U=172;break r}b[aa+(j<<1)>>1]=((e[i+(j+1<<1)>>1]|0)+2+(e[i+(j<<1)>>1]<<1)+(e[$+(j<<1)>>1]|0)|0)>>>2;j=j+-1|0}}else U=172}else U=174}else U=172;while(0);s:do if((U|0)==172)switch(ba|0){case 1:{U=174;break s}case 0:{hc[c[d+5756>>2]&255](da,i,j,ca);break s}default:{kc[c[d+5776>>2]&127](da,i,j,ca,h,ba);break s}}while(0);if((U|0)==174)kc[c[d+5768>>2]&127](da,i,j,ca,3,h);Mb=ea;return}function Ic(d,f,g,h){d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=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,$=0,aa=0,ba=0,ca=0,da=0,ea=0;ea=Mb;Mb=Mb+576|0;X=ea+432|0;Y=ea+288|0;$=ea+144|0;Z=ea;r=c[d+136>>2]|0;V=c[d+1412>>2]|0;S=c[V+13424+(h<<2)>>2]|0;R=c[V+13436+(h<<2)>>2]|0;u=8<<S;k=c[V+13328>>2]|0;t=8<<R;l=c[V+13420>>2]|0;m=f>>k&l;n=g>>k&l;s=c[d+1416>>2]|0;o=c[s+1684>>2]|0;p=l+2|0;q=o+((H(n,p)|0)+m<<2)|0;q=c[q>>2]|0;da=c[d+160>>2]|0;ca=(c[da+32+(h<<2)>>2]|0)>>>1;D=0-ca|0;da=(c[da+(h<<2)>>2]|0)+(f>>S<<1)+((H(ca,g>>R)|0)<<1)|0;T=c[V+13412>>2]|0;W=(h|0)==0;ba=c[(W?r+288|0:r+292|0)>>2]|0;j=X+2|0;i=$+2|0;_=Y+2|0;aa=Z+2|0;if(!(c[r+31284>>2]|0))v=0;else{v=o+(m+-1+(H(n+(t>>k)&l,p)|0)<<2)|0;v=(q|0)>(c[v>>2]|0)}w=v&1;x=c[r+31288>>2]|0;A=c[r+31296>>2]|0;B=c[r+31292>>2]|0;if(!(c[r+31300>>2]|0))y=0;else{y=o+((H(n+-1|0,p)|0)+(m+(u>>k)&l)<<2)|0;y=(q|0)>(c[y>>2]|0)}m=y&1;K=(t<<1)+g|0;I=V+13380|0;C=c[I>>2]|0;J=t+g|0;K=((K|0)>(C|0)?C:K)-J>>R;C=(u<<1)+f|0;F=V+13376|0;E=c[F>>2]|0;G=u+f|0;C=((C|0)>(E|0)?E:C)-G>>S;E=s+20|0;if((a[E>>0]|0)==1){z=c[V+13340>>2]|0;s=t>>z;u=u>>z;t=(1<<z)+-1|0;r=(t&f|0)==0;t=(t&g|0)==0;u=u+((u|0)==0&1)|0;a:do if(v&r){o=f+-1>>z;p=J>>z;n=(c[V+13416>>2]|0)-p|0;n=(s|0)>(n|0)?n:s;q=d+3516|0;k=0;l=0;while(1){if((k|0)>=(n|0)){w=l;break a}Q=(c[(c[q>>2]|0)+20>>2]|0)+(((H(k+p|0,T)|0)+o|0)*12|0)+10|0;k=k+2|0;l=l|(a[Q>>0]|0)==0}}while(0);b:do if((x|0)==1&r){p=f+-1>>z;q=g>>z;n=(c[V+13416>>2]|0)-q|0;n=(s|0)>(n|0)?n:s;o=d+3516|0;k=0;l=0;while(1){if((l|0)>=(n|0)){r=k;break b}Q=(c[(c[o>>2]|0)+20>>2]|0)+(((H(l+q|0,T)|0)+p|0)*12|0)+10|0;k=k|(a[Q>>0]|0)==0;l=l+2|0}}else r=x;while(0);if((A|0)==1){q=(c[(c[d+3516>>2]|0)+20>>2]|0)+(((H(g+-1>>z,T)|0)+(f+-1>>z)|0)*12|0)+10|0;q=(a[q>>0]|0)==0&1}else q=A;c:do if((B|0)==1&t){p=f>>z;n=T-p|0;n=(u|0)>(n|0)?n:u;o=d+3516|0;p=(H(g+-1>>z,T)|0)+p|0;k=0;l=0;while(1){if((l|0)>=(n|0)){p=k;break c}k=k|(a[(c[(c[o>>2]|0)+20>>2]|0)+((p+l|0)*12|0)+10>>0]|0)==0;l=l+2|0}}else p=B;while(0);d:do if(y&t){m=G>>z;n=T-m|0;n=(u|0)>(n|0)?n:u;o=d+3516|0;m=(H(g+-1>>z,T)|0)+m|0;k=0;l=0;while(1){if((l|0)>=(n|0)){m=k;break d}k=k|(a[(c[(c[o>>2]|0)+20>>2]|0)+((m+l|0)*12|0)+10>>0]|0)==0;l=l+2|0}}while(0);k=j;l=k+128|0;do{b[k>>1]=32896;k=k+2|0}while((k|0)<(l|0));k=i;l=k+128|0;do{b[k>>1]=32896;k=k+2|0}while((k|0)<(l|0));b[$>>1]=128;A=q;x=r;B=p}N=(A|0)!=0;if(N){Q=b[da+(~ca<<1)>>1]|0;b[X>>1]=Q;b[$>>1]=Q}O=(B|0)!=0;if(O){Q=da+(D<<1)|0;b[i>>1]=b[Q>>1]|0;b[i+2>>1]=b[Q+2>>1]|0;b[i+4>>1]=b[Q+4>>1]|0;b[i+6>>1]=b[Q+6>>1]|0;b[i+8>>1]=b[Q+8>>1]|0;b[i+10>>1]=b[Q+10>>1]|0;b[i+12>>1]=b[Q+12>>1]|0;b[i+14>>1]=b[Q+14>>1]|0}Q=(m|0)!=0;e:do if(Q){l=$+18|0;n=da+(D<<1)+16|0;b[l>>1]=b[n>>1]|0;b[l+2>>1]=b[n+2>>1]|0;b[l+4>>1]=b[n+4>>1]|0;b[l+6>>1]=b[n+6>>1]|0;b[l+8>>1]=b[n+8>>1]|0;b[l+10>>1]=b[n+10>>1]|0;b[l+12>>1]=b[n+12>>1]|0;b[l+14>>1]=b[n+14>>1]|0;n=MR(e[da+(7-ca+C<<1)>>1]|0,0,65537,65537)|0;o=M()|0;p=8-C|0;l=l+(C<<1)|0;k=0;while(1){if((k|0)>=(p|0))break e;D=l+(k<<1)|0;C=D;b[C>>1]=n;b[C+2>>1]=n>>>16;D=D+4|0;b[D>>1]=o;b[D+2>>1]=o>>>16;k=k+4|0}}while(0);C=(x|0)!=0;f:do if(C){k=0;while(1){if((k|0)==8)break f;D=da+((H(k,ca)|0)+-1<<1)|0;b[j+(k<<1)>>1]=b[D>>1]|0;k=k+1|0}}while(0);z=(w|0)!=0;g:do if(z){l=K+8|0;k=8;while(1){if((k|0)>=(l|0))break;D=da+((H(k,ca)|0)+-1<<1)|0;b[j+(k<<1)>>1]=b[D>>1]|0;k=k+1|0}l=da+((H(K+7|0,ca)|0)+-1<<1)|0;l=MR(e[l>>1]|0,0,65537,65537)|0;n=M()|0;o=8-K|0;p=X+18+(K<<1)|0;k=0;while(1){if((k|0)>=(o|0))break g;D=p+(k<<1)|0;y=D;b[y>>1]=l;b[y+2>>1]=l>>>16;D=D+4|0;b[D>>1]=n;b[D+2>>1]=n>>>16;k=k+4|0}}while(0);h:do if((a[E>>0]|0)==1?(L=w|x,P=(L|0)==0,L=L|A,B|m|L|0):0){F=c[F>>2]|0;y=F-f>>S;I=c[I>>2]|0;w=I-g>>R;y=Q?(((16<<S)+f|0)<(F|0)?16:y):(G|0)<(F|0)?8:y;w=z?(((16<<R)+g|0)<(I|0)?16:w):(J|0)<(I|0)?8:w;do if(!L){m=d+3516|0;n=V+13340|0;o=(-1<<R)+g|0;k=0;while(1){if((k|0)>=(y|0))break;L=c[n>>2]|0;L=(c[(c[m>>2]|0)+20>>2]|0)+(((H(o>>L,T)|0)+((k<<S)+f>>L)|0)*12|0)+10|0;if(!(a[L>>0]|0))break;k=k+1|0}i:do if(k|0){if((f|0)>0)while(1){if((k|0)<=-1)break i;l=k+-1|0;L=c[n>>2]|0;L=(c[(c[m>>2]|0)+20>>2]|0)+(((H(o>>L,T)|0)+((l<<S)+f>>L)|0)*12|0)+10|0;if(a[L>>0]|0)b[$+(k<<1)>>1]=b[i+(k<<1)>>1]|0;k=l}while(1){if((k|0)<=0)break;l=k+-1|0;L=c[n>>2]|0;L=(c[(c[m>>2]|0)+20>>2]|0)+(((H(o>>L,T)|0)+((l<<S)+f>>L)|0)*12|0)+10|0;if(a[L>>0]|0)b[$+(k<<1)>>1]=b[i+(k<<1)>>1]|0;k=l}b[$>>1]=b[i>>1]|0}while(0);q=b[$>>1]|0;b[X>>1]=q;v=$;u=X}else{n=c[(c[d+3516>>2]|0)+20>>2]|0;o=c[V+13340>>2]|0;m=(-1<<S)+f>>o;k=z?K+8|0:8;do{L=k;k=k+-1|0;l=H((k<<R)+g>>o,T)|0;if((L|0)<=0)break}while((a[n+((l+m|0)*12|0)+10>>0]|0)!=0);if(!(a[n+((l+(f-(1<<S)>>o)|0)*12|0)+10>>0]|0)){v=$;u=X;q=b[$>>1]|0;break}m=H(g-(1<<R)>>o,T)|0;k=0;while(1){if((k|0)>=(y|0))break;if(!(a[n+((((k<<S)+f>>o)+m|0)*12|0)+10>>0]|0))break;k=k+1|0}while(1){if((k|0)<=-1)break;l=k+-1|0;if(a[n+((((l<<S)+f>>o)+m|0)*12|0)+10>>0]|0)b[$+(k<<1)>>1]=b[i+(k<<1)>>1]|0;k=l}q=b[$>>1]|0;b[X>>1]=q;v=$;u=X}while(0);b[u>>1]=q;j:do if(!P){k=MR(q&65535|0,0,65537,65537)|0;n=d+3516|0;o=(-1<<S)+f|0;p=V+13340|0;m=0;l=M()|0;while(1){if((m|0)>=(w|0))break j;P=c[p>>2]|0;P=(c[(c[n>>2]|0)+20>>2]|0)+(((H((m<<R)+g>>P,T)|0)+(o>>P)|0)*12|0)+10|0;if(!(a[P>>0]|0)){k=MR(e[j+((m|3)<<1)>>1]|0,0,65537,65537)|0;l=M()|0}else{P=j+(m<<1)|0;L=P;b[L>>1]=k;b[L+2>>1]=k>>>16;P=P+4|0;b[P>>1]=l;b[P+2>>1]=l>>>16}m=m+4|0}}while(0);k:do if(!C){l=MR(q&65535|0,0,65537,65537)|0;m=M()|0;k=0;while(1){if(k>>>0>=8)break k;P=j+(k<<1)|0;L=P;b[L>>1]=l;b[L+2>>1]=l>>>16;P=P+4|0;b[P>>1]=m;b[P+2>>1]=m>>>16;k=k+4|0}}while(0);l:do if(!z){l=MR(e[X+16>>1]|0,0,65537,65537)|0;m=M()|0;n=X+18|0;k=0;while(1){if(k>>>0>=8)break l;P=n+(k<<1)|0;L=P;b[L>>1]=l;b[L+2>>1]=l>>>16;P=P+4|0;b[P>>1]=m;b[P+2>>1]=m>>>16;k=k+4|0}}while(0);t=(g|0)!=0;m:do if((f|0)!=0&t){o=MR(e[X+(w<<1)>>1]|0,0,65537,65537)|0;l=M()|0;q=(c[d+3516>>2]|0)+20|0;r=(-1<<S)+f|0;s=V+13340|0;p=w+-1|0;while(1){k=c[q>>2]|0;m=c[s>>2]|0;n=r>>m;if((p|0)<=-1)break;L=p+-3|0;P=k+(((H((L<<R)+g>>m,T)|0)+n|0)*12|0)+10|0;k=j+(L<<1)|0;if(!(a[P>>0]|0)){k=MR(e[k>>1]|0,0,65537,65537)|0;l=M()|0}else{P=k;b[P>>1]=o;b[P+2>>1]=o>>>16;k=k+4|0;b[k>>1]=l;b[k+2>>1]=l>>>16;k=o}p=p+-4|0;o=k}P=k+(((H((-1<<R)+g>>m,T)|0)+n|0)*12|0)+10|0;if(a[P>>0]|0)b[u>>1]=b[j>>1]|0}else{if(!f){k=0;while(1){if((k|0)>=(w|0))break m;P=j+(k<<1)|0;L=P;b[L>>1]=0;b[L+2>>1]=0>>>16;P=P+4|0;b[P>>1]=0;b[P+2>>1]=0>>>16;k=k+4|0}}m=MR(e[X+(w<<1)>>1]|0,0,65537,65537)|0;o=d+3516|0;p=(-1<<S)+f|0;q=V+13340|0;n=w+-1|0;l=M()|0;while(1){if((n|0)<=-1)break m;P=c[q>>2]|0;k=n+-3|0;P=(c[(c[o>>2]|0)+20>>2]|0)+(((H((k<<R)+g>>P,T)|0)+(p>>P)|0)*12|0)+10|0;k=j+(k<<1)|0;if(!(a[P>>0]|0)){k=MR(e[k>>1]|0,0,65537,65537)|0;l=M()|0}else{P=k;b[P>>1]=m;b[P+2>>1]=m>>>16;k=k+4|0;b[k>>1]=l;b[k+2>>1]=l>>>16;k=m}n=n+-4|0;m=k}}while(0);k=b[u>>1]|0;b[v>>1]=k;if(t){k=MR(k&65535|0,0,65537,65537)|0;o=d+3516|0;p=V+13340|0;n=(-1<<R)+g|0;m=0;l=M()|0;while(1){if((m|0)>=(y|0))break h;g=c[p>>2]|0;g=(c[(c[o>>2]|0)+20>>2]|0)+(((H(n>>g,T)|0)+((m<<S)+f>>g)|0)*12|0)+10|0;if(!(a[g>>0]|0)){k=MR(e[i+((m|3)<<1)>>1]|0,0,65537,65537)|0;l=M()|0}else{g=i+(m<<1)|0;R=g;b[R>>1]=k;b[R+2>>1]=k>>>16;g=g+4|0;b[g>>1]=l;b[g+2>>1]=l>>>16}m=m+4|0}}}while(0);n:do if(!z){if(C){l=MR(e[X+16>>1]|0,0,65537,65537)|0;m=M()|0;n=X+18|0;k=0;while(1){if(k>>>0>=8){U=147;break n}U=n+(k<<1)|0;T=U;b[T>>1]=l;b[T+2>>1]=l>>>16;U=U+4|0;b[U>>1]=m;b[U+2>>1]=m>>>16;k=k+4|0}}if(N){l=MR(e[X>>1]|0,0,65537,65537)|0;m=M()|0;k=0;while(1){if(k>>>0>=16){U=151;break n}U=j+(k<<1)|0;T=U;b[T>>1]=l;b[T+2>>1]=l>>>16;U=U+4|0;b[U>>1]=m;b[U+2>>1]=m>>>16;k=k+4|0}}if(O){l=b[i>>1]|0;b[X>>1]=l;l=MR(l&65535|0,0,65537,65537)|0;m=M()|0;k=0;while(1){if(k>>>0>=16){U=153;break n}U=j+(k<<1)|0;T=U;b[T>>1]=l;b[T+2>>1]=l>>>16;U=U+4|0;b[U>>1]=m;b[U+2>>1]=m>>>16;k=k+4|0}}if(Q){l=$+18|0;m=MR(e[l>>1]|0,0,65537,65537)|0;n=M()|0;k=0;while(1){if(k>>>0>=8)break;T=i+(k<<1)|0;S=T;b[S>>1]=m;b[S+2>>1]=m>>>16;T=T+4|0;b[T>>1]=n;b[T+2>>1]=n>>>16;k=k+4|0}l=b[l>>1]|0;b[X>>1]=l;l=MR(l&65535|0,0,65537,65537)|0;m=M()|0;k=0;while(1){if(k>>>0>=16)break n;T=j+(k<<1)|0;S=T;b[S>>1]=l;b[S+2>>1]=l>>>16;T=T+4|0;b[T>>1]=m;b[T+2>>1]=m>>>16;k=k+4|0}}else{b[X>>1]=512;k=0;while(1){if(k>>>0>=16)break;U=i+(k<<1)|0;T=U;b[T>>1]=512;b[T+2>>1]=33554944>>>16;U=U+4|0;b[U>>1]=512;b[U+2>>1]=33554944>>>16;k=k+4|0}k=0;while(1){if(k>>>0>=16){U=147;break n}U=j+(k<<1)|0;T=U;b[T>>1]=512;b[T+2>>1]=33554944>>>16;U=U+4|0;b[U>>1]=512;b[U+2>>1]=33554944>>>16;k=k+4|0}}}else U=147;while(0);o:do if((U|0)==147)if(!x){l=MR(e[X+18>>1]|0,0,65537,65537)|0;m=M()|0;k=0;while(1){if(k>>>0>=8){U=151;break o}U=j+(k<<1)|0;T=U;b[T>>1]=l;b[T+2>>1]=l>>>16;U=U+4|0;b[U>>1]=m;b[U+2>>1]=m>>>16;k=k+4|0}}else U=151;while(0);if((U|0)==151)if(!A){b[X>>1]=b[j>>1]|0;U=153}else U=153;p:do if((U|0)==153?(B|0)==0:0){l=MR(e[X>>1]|0,0,65537,65537)|0;m=M()|0;k=0;while(1){if(k>>>0>=8)break p;U=i+(k<<1)|0;T=U;b[T>>1]=l;b[T+2>>1]=l>>>16;U=U+4|0;b[U>>1]=m;b[U+2>>1]=m>>>16;k=k+4|0}}while(0);q:do if(!Q){l=MR(e[$+16>>1]|0,0,65537,65537)|0;m=M()|0;n=$+18|0;k=0;while(1){if(k>>>0>=8)break q;U=n+(k<<1)|0;T=U;b[T>>1]=l;b[T+2>>1]=l>>>16;U=U+4|0;b[U>>1]=m;b[U+2>>1]=m>>>16;k=k+4|0}}while(0);l=b[X>>1]|0;b[$>>1]=l;r:do if(!(c[V+13368>>2]|0)){if(!W?(c[V+4>>2]|0)!=3:0){U=172;break}if((ba|0)!=1){W=ba+-26|0;W=(W|0)>-1?W:26-ba|0;V=ba+-10|0;V=(V|0)>-1?V:10-ba|0;if((((W|0)>(V|0)?V:W)|0)>7){b[Y+32>>1]=b[X+32>>1]|0;b[Z+32>>1]=b[$+32>>1]|0;k=14;while(1){if((k|0)<=-1)break;b[_+(k<<1)>>1]=((e[j+(k+1<<1)>>1]|0)+2+(e[j+(k<<1)>>1]<<1)+(e[X+(k<<1)>>1]|0)|0)>>>2;k=k+-1|0}j=(((l&65535)<<1)+2+(e[j>>1]|0)+(e[i>>1]|0)|0)>>>2&65535;b[Y>>1]=j;b[Z>>1]=j;j=14;while(1){if((j|0)<=-1){j=_;i=aa;U=172;break r}b[aa+(j<<1)>>1]=((e[i+(j+1<<1)>>1]|0)+2+(e[i+(j<<1)>>1]<<1)+(e[$+(j<<1)>>1]|0)|0)>>>2;j=j+-1|0}}else U=172}else U=174}else U=172;while(0);s:do if((U|0)==172)switch(ba|0){case 1:{U=174;break s}case 0:{hc[c[d+5756>>2]&255](da,i,j,ca);break s}default:{kc[c[d+5776>>2]&127](da,i,j,ca,h,ba);break s}}while(0);if((U|0)==174)kc[c[d+5768>>2]&127](da,i,j,ca,3,h);Mb=ea;return}function Jc(d,f,g,h){d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=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,$=0,aa=0,ba=0,ca=0,da=0,ea=0;ea=Mb;Mb=Mb+576|0;X=ea+432|0;Y=ea+288|0;$=ea+144|0;Z=ea;r=c[d+136>>2]|0;V=c[d+1412>>2]|0;S=c[V+13424+(h<<2)>>2]|0;R=c[V+13436+(h<<2)>>2]|0;u=8<<S;k=c[V+13328>>2]|0;t=8<<R;l=c[V+13420>>2]|0;m=f>>k&l;n=g>>k&l;s=c[d+1416>>2]|0;o=c[s+1684>>2]|0;p=l+2|0;q=o+((H(n,p)|0)+m<<2)|0;q=c[q>>2]|0;da=c[d+160>>2]|0;ca=(c[da+32+(h<<2)>>2]|0)>>>1;D=0-ca|0;da=(c[da+(h<<2)>>2]|0)+(f>>S<<1)+((H(ca,g>>R)|0)<<1)|0;T=c[V+13412>>2]|0;W=(h|0)==0;ba=c[(W?r+288|0:r+292|0)>>2]|0;j=X+2|0;i=$+2|0;_=Y+2|0;aa=Z+2|0;if(!(c[r+31284>>2]|0))v=0;else{v=o+(m+-1+(H(n+(t>>k)&l,p)|0)<<2)|0;v=(q|0)>(c[v>>2]|0)}w=v&1;x=c[r+31288>>2]|0;A=c[r+31296>>2]|0;B=c[r+31292>>2]|0;if(!(c[r+31300>>2]|0))y=0;else{y=o+((H(n+-1|0,p)|0)+(m+(u>>k)&l)<<2)|0;y=(q|0)>(c[y>>2]|0)}m=y&1;K=(t<<1)+g|0;I=V+13380|0;C=c[I>>2]|0;J=t+g|0;K=((K|0)>(C|0)?C:K)-J>>R;C=(u<<1)+f|0;F=V+13376|0;E=c[F>>2]|0;G=u+f|0;C=((C|0)>(E|0)?E:C)-G>>S;E=s+20|0;if((a[E>>0]|0)==1){z=c[V+13340>>2]|0;s=t>>z;u=u>>z;t=(1<<z)+-1|0;r=(t&f|0)==0;t=(t&g|0)==0;u=u+((u|0)==0&1)|0;a:do if(v&r){o=f+-1>>z;p=J>>z;n=(c[V+13416>>2]|0)-p|0;n=(s|0)>(n|0)?n:s;q=d+3516|0;k=0;l=0;while(1){if((k|0)>=(n|0)){w=l;break a}Q=(c[(c[q>>2]|0)+20>>2]|0)+(((H(k+p|0,T)|0)+o|0)*12|0)+10|0;k=k+2|0;l=l|(a[Q>>0]|0)==0}}while(0);b:do if((x|0)==1&r){p=f+-1>>z;q=g>>z;n=(c[V+13416>>2]|0)-q|0;n=(s|0)>(n|0)?n:s;o=d+3516|0;k=0;l=0;while(1){if((l|0)>=(n|0)){r=k;break b}Q=(c[(c[o>>2]|0)+20>>2]|0)+(((H(l+q|0,T)|0)+p|0)*12|0)+10|0;k=k|(a[Q>>0]|0)==0;l=l+2|0}}else r=x;while(0);if((A|0)==1){q=(c[(c[d+3516>>2]|0)+20>>2]|0)+(((H(g+-1>>z,T)|0)+(f+-1>>z)|0)*12|0)+10|0;q=(a[q>>0]|0)==0&1}else q=A;c:do if((B|0)==1&t){p=f>>z;n=T-p|0;n=(u|0)>(n|0)?n:u;o=d+3516|0;p=(H(g+-1>>z,T)|0)+p|0;k=0;l=0;while(1){if((l|0)>=(n|0)){p=k;break c}k=k|(a[(c[(c[o>>2]|0)+20>>2]|0)+((p+l|0)*12|0)+10>>0]|0)==0;l=l+2|0}}else p=B;while(0);d:do if(y&t){m=G>>z;n=T-m|0;n=(u|0)>(n|0)?n:u;o=d+3516|0;m=(H(g+-1>>z,T)|0)+m|0;k=0;l=0;while(1){if((l|0)>=(n|0)){m=k;break d}k=k|(a[(c[(c[o>>2]|0)+20>>2]|0)+((m+l|0)*12|0)+10>>0]|0)==0;l=l+2|0}}while(0);k=j;l=k+128|0;do{b[k>>1]=32896;k=k+2|0}while((k|0)<(l|0));k=i;l=k+128|0;do{b[k>>1]=32896;k=k+2|0}while((k|0)<(l|0));b[$>>1]=128;A=q;x=r;B=p}N=(A|0)!=0;if(N){Q=b[da+(~ca<<1)>>1]|0;b[X>>1]=Q;b[$>>1]=Q}O=(B|0)!=0;if(O){Q=da+(D<<1)|0;b[i>>1]=b[Q>>1]|0;b[i+2>>1]=b[Q+2>>1]|0;b[i+4>>1]=b[Q+4>>1]|0;b[i+6>>1]=b[Q+6>>1]|0;b[i+8>>1]=b[Q+8>>1]|0;b[i+10>>1]=b[Q+10>>1]|0;b[i+12>>1]=b[Q+12>>1]|0;b[i+14>>1]=b[Q+14>>1]|0}Q=(m|0)!=0;e:do if(Q){l=$+18|0;n=da+(D<<1)+16|0;b[l>>1]=b[n>>1]|0;b[l+2>>1]=b[n+2>>1]|0;b[l+4>>1]=b[n+4>>1]|0;b[l+6>>1]=b[n+6>>1]|0;b[l+8>>1]=b[n+8>>1]|0;b[l+10>>1]=b[n+10>>1]|0;b[l+12>>1]=b[n+12>>1]|0;b[l+14>>1]=b[n+14>>1]|0;n=MR(e[da+(7-ca+C<<1)>>1]|0,0,65537,65537)|0;o=M()|0;p=8-C|0;l=l+(C<<1)|0;k=0;while(1){if((k|0)>=(p|0))break e;D=l+(k<<1)|0;C=D;b[C>>1]=n;b[C+2>>1]=n>>>16;D=D+4|0;b[D>>1]=o;b[D+2>>1]=o>>>16;k=k+4|0}}while(0);C=(x|0)!=0;f:do if(C){k=0;while(1){if((k|0)==8)break f;D=da+((H(k,ca)|0)+-1<<1)|0;b[j+(k<<1)>>1]=b[D>>1]|0;k=k+1|0}}while(0);z=(w|0)!=0;g:do if(z){l=K+8|0;k=8;while(1){if((k|0)>=(l|0))break;D=da+((H(k,ca)|0)+-1<<1)|0;b[j+(k<<1)>>1]=b[D>>1]|0;k=k+1|0}l=da+((H(K+7|0,ca)|0)+-1<<1)|0;l=MR(e[l>>1]|0,0,65537,65537)|0;n=M()|0;o=8-K|0;p=X+18+(K<<1)|0;k=0;while(1){if((k|0)>=(o|0))break g;D=p+(k<<1)|0;y=D;b[y>>1]=l;b[y+2>>1]=l>>>16;D=D+4|0;b[D>>1]=n;b[D+2>>1]=n>>>16;k=k+4|0}}while(0);h:do if((a[E>>0]|0)==1?(L=w|x,P=(L|0)==0,L=L|A,B|m|L|0):0){F=c[F>>2]|0;y=F-f>>S;I=c[I>>2]|0;w=I-g>>R;y=Q?(((16<<S)+f|0)<(F|0)?16:y):(G|0)<(F|0)?8:y;w=z?(((16<<R)+g|0)<(I|0)?16:w):(J|0)<(I|0)?8:w;do if(!L){m=d+3516|0;n=V+13340|0;o=(-1<<R)+g|0;k=0;while(1){if((k|0)>=(y|0))break;L=c[n>>2]|0;L=(c[(c[m>>2]|0)+20>>2]|0)+(((H(o>>L,T)|0)+((k<<S)+f>>L)|0)*12|0)+10|0;if(!(a[L>>0]|0))break;k=k+1|0}i:do if(k|0){if((f|0)>0)while(1){if((k|0)<=-1)break i;l=k+-1|0;L=c[n>>2]|0;L=(c[(c[m>>2]|0)+20>>2]|0)+(((H(o>>L,T)|0)+((l<<S)+f>>L)|0)*12|0)+10|0;if(a[L>>0]|0)b[$+(k<<1)>>1]=b[i+(k<<1)>>1]|0;k=l}while(1){if((k|0)<=0)break;l=k+-1|0;L=c[n>>2]|0;L=(c[(c[m>>2]|0)+20>>2]|0)+(((H(o>>L,T)|0)+((l<<S)+f>>L)|0)*12|0)+10|0;if(a[L>>0]|0)b[$+(k<<1)>>1]=b[i+(k<<1)>>1]|0;k=l}b[$>>1]=b[i>>1]|0}while(0);q=b[$>>1]|0;b[X>>1]=q;v=$;u=X}else{n=c[(c[d+3516>>2]|0)+20>>2]|0;o=c[V+13340>>2]|0;m=(-1<<S)+f>>o;k=z?K+8|0:8;do{L=k;k=k+-1|0;l=H((k<<R)+g>>o,T)|0;if((L|0)<=0)break}while((a[n+((l+m|0)*12|0)+10>>0]|0)!=0);if(!(a[n+((l+(f-(1<<S)>>o)|0)*12|0)+10>>0]|0)){v=$;u=X;q=b[$>>1]|0;break}m=H(g-(1<<R)>>o,T)|0;k=0;while(1){if((k|0)>=(y|0))break;if(!(a[n+((((k<<S)+f>>o)+m|0)*12|0)+10>>0]|0))break;k=k+1|0}while(1){if((k|0)<=-1)break;l=k+-1|0;if(a[n+((((l<<S)+f>>o)+m|0)*12|0)+10>>0]|0)b[$+(k<<1)>>1]=b[i+(k<<1)>>1]|0;k=l}q=b[$>>1]|0;b[X>>1]=q;v=$;u=X}while(0);b[u>>1]=q;j:do if(!P){k=MR(q&65535|0,0,65537,65537)|0;n=d+3516|0;o=(-1<<S)+f|0;p=V+13340|0;m=0;l=M()|0;while(1){if((m|0)>=(w|0))break j;P=c[p>>2]|0;P=(c[(c[n>>2]|0)+20>>2]|0)+(((H((m<<R)+g>>P,T)|0)+(o>>P)|0)*12|0)+10|0;if(!(a[P>>0]|0)){k=MR(e[j+((m|3)<<1)>>1]|0,0,65537,65537)|0;l=M()|0}else{P=j+(m<<1)|0;L=P;b[L>>1]=k;b[L+2>>1]=k>>>16;P=P+4|0;b[P>>1]=l;b[P+2>>1]=l>>>16}m=m+4|0}}while(0);k:do if(!C){l=MR(q&65535|0,0,65537,65537)|0;m=M()|0;k=0;while(1){if(k>>>0>=8)break k;P=j+(k<<1)|0;L=P;b[L>>1]=l;b[L+2>>1]=l>>>16;P=P+4|0;b[P>>1]=m;b[P+2>>1]=m>>>16;k=k+4|0}}while(0);l:do if(!z){l=MR(e[X+16>>1]|0,0,65537,65537)|0;m=M()|0;n=X+18|0;k=0;while(1){if(k>>>0>=8)break l;P=n+(k<<1)|0;L=P;b[L>>1]=l;b[L+2>>1]=l>>>16;P=P+4|0;b[P>>1]=m;b[P+2>>1]=m>>>16;k=k+4|0}}while(0);t=(g|0)!=0;m:do if((f|0)!=0&t){o=MR(e[X+(w<<1)>>1]|0,0,65537,65537)|0;l=M()|0;q=(c[d+3516>>2]|0)+20|0;r=(-1<<S)+f|0;s=V+13340|0;p=w+-1|0;while(1){k=c[q>>2]|0;m=c[s>>2]|0;n=r>>m;if((p|0)<=-1)break;L=p+-3|0;P=k+(((H((L<<R)+g>>m,T)|0)+n|0)*12|0)+10|0;k=j+(L<<1)|0;if(!(a[P>>0]|0)){k=MR(e[k>>1]|0,0,65537,65537)|0;l=M()|0}else{P=k;b[P>>1]=o;b[P+2>>1]=o>>>16;k=k+4|0;b[k>>1]=l;b[k+2>>1]=l>>>16;k=o}p=p+-4|0;o=k}P=k+(((H((-1<<R)+g>>m,T)|0)+n|0)*12|0)+10|0;if(a[P>>0]|0)b[u>>1]=b[j>>1]|0}else{if(!f){k=0;while(1){if((k|0)>=(w|0))break m;P=j+(k<<1)|0;L=P;b[L>>1]=0;b[L+2>>1]=0>>>16;P=P+4|0;b[P>>1]=0;b[P+2>>1]=0>>>16;k=k+4|0}}m=MR(e[X+(w<<1)>>1]|0,0,65537,65537)|0;o=d+3516|0;p=(-1<<S)+f|0;q=V+13340|0;n=w+-1|0;l=M()|0;while(1){if((n|0)<=-1)break m;P=c[q>>2]|0;k=n+-3|0;P=(c[(c[o>>2]|0)+20>>2]|0)+(((H((k<<R)+g>>P,T)|0)+(p>>P)|0)*12|0)+10|0;k=j+(k<<1)|0;if(!(a[P>>0]|0)){k=MR(e[k>>1]|0,0,65537,65537)|0;l=M()|0}else{P=k;b[P>>1]=m;b[P+2>>1]=m>>>16;k=k+4|0;b[k>>1]=l;b[k+2>>1]=l>>>16;k=m}n=n+-4|0;m=k}}while(0);k=b[u>>1]|0;b[v>>1]=k;if(t){k=MR(k&65535|0,0,65537,65537)|0;o=d+3516|0;p=V+13340|0;n=(-1<<R)+g|0;m=0;l=M()|0;while(1){if((m|0)>=(y|0))break h;g=c[p>>2]|0;g=(c[(c[o>>2]|0)+20>>2]|0)+(((H(n>>g,T)|0)+((m<<S)+f>>g)|0)*12|0)+10|0;if(!(a[g>>0]|0)){k=MR(e[i+((m|3)<<1)>>1]|0,0,65537,65537)|0;l=M()|0}else{g=i+(m<<1)|0;R=g;b[R>>1]=k;b[R+2>>1]=k>>>16;g=g+4|0;b[g>>1]=l;b[g+2>>1]=l>>>16}m=m+4|0}}}while(0);n:do if(!z){if(C){l=MR(e[X+16>>1]|0,0,65537,65537)|0;m=M()|0;n=X+18|0;k=0;while(1){if(k>>>0>=8){U=147;break n}U=n+(k<<1)|0;T=U;b[T>>1]=l;b[T+2>>1]=l>>>16;U=U+4|0;b[U>>1]=m;b[U+2>>1]=m>>>16;k=k+4|0}}if(N){l=MR(e[X>>1]|0,0,65537,65537)|0;m=M()|0;k=0;while(1){if(k>>>0>=16){U=151;break n}U=j+(k<<1)|0;T=U;b[T>>1]=l;b[T+2>>1]=l>>>16;U=U+4|0;b[U>>1]=m;b[U+2>>1]=m>>>16;k=k+4|0}}if(O){l=b[i>>1]|0;b[X>>1]=l;l=MR(l&65535|0,0,65537,65537)|0;m=M()|0;k=0;while(1){if(k>>>0>=16){U=153;break n}U=j+(k<<1)|0;T=U;b[T>>1]=l;b[T+2>>1]=l>>>16;U=U+4|0;b[U>>1]=m;b[U+2>>1]=m>>>16;k=k+4|0}}if(Q){l=$+18|0;m=MR(e[l>>1]|0,0,65537,65537)|0;n=M()|0;k=0;while(1){if(k>>>0>=8)break;T=i+(k<<1)|0;S=T;b[S>>1]=m;b[S+2>>1]=m>>>16;T=T+4|0;b[T>>1]=n;b[T+2>>1]=n>>>16;k=k+4|0}l=b[l>>1]|0;b[X>>1]=l;l=MR(l&65535|0,0,65537,65537)|0;m=M()|0;k=0;while(1){if(k>>>0>=16)break n;T=j+(k<<1)|0;S=T;b[S>>1]=l;b[S+2>>1]=l>>>16;T=T+4|0;b[T>>1]=m;b[T+2>>1]=m>>>16;k=k+4|0}}else{b[X>>1]=256;k=0;while(1){if(k>>>0>=16)break;U=i+(k<<1)|0;T=U;b[T>>1]=256;b[T+2>>1]=16777472>>>16;U=U+4|0;b[U>>1]=256;b[U+2>>1]=16777472>>>16;k=k+4|0}k=0;while(1){if(k>>>0>=16){U=147;break n}U=j+(k<<1)|0;T=U;b[T>>1]=256;b[T+2>>1]=16777472>>>16;U=U+4|0;b[U>>1]=256;b[U+2>>1]=16777472>>>16;k=k+4|0}}}else U=147;while(0);o:do if((U|0)==147)if(!x){l=MR(e[X+18>>1]|0,0,65537,65537)|0;m=M()|0;k=0;while(1){if(k>>>0>=8){U=151;break o}U=j+(k<<1)|0;T=U;b[T>>1]=l;b[T+2>>1]=l>>>16;U=U+4|0;b[U>>1]=m;b[U+2>>1]=m>>>16;k=k+4|0}}else U=151;while(0);if((U|0)==151)if(!A){b[X>>1]=b[j>>1]|0;U=153}else U=153;p:do if((U|0)==153?(B|0)==0:0){l=MR(e[X>>1]|0,0,65537,65537)|0;m=M()|0;k=0;while(1){if(k>>>0>=8)break p;U=i+(k<<1)|0;T=U;b[T>>1]=l;b[T+2>>1]=l>>>16;U=U+4|0;b[U>>1]=m;b[U+2>>1]=m>>>16;k=k+4|0}}while(0);q:do if(!Q){l=MR(e[$+16>>1]|0,0,65537,65537)|0;m=M()|0;n=$+18|0;k=0;while(1){if(k>>>0>=8)break q;U=n+(k<<1)|0;T=U;b[T>>1]=l;b[T+2>>1]=l>>>16;U=U+4|0;b[U>>1]=m;b[U+2>>1]=m>>>16;k=k+4|0}}while(0);l=b[X>>1]|0;b[$>>1]=l;r:do if(!(c[V+13368>>2]|0)){if(!W?(c[V+4>>2]|0)!=3:0){U=172;break}if((ba|0)!=1){W=ba+-26|0;W=(W|0)>-1?W:26-ba|0;V=ba+-10|0;V=(V|0)>-1?V:10-ba|0;if((((W|0)>(V|0)?V:W)|0)>7){b[Y+32>>1]=b[X+32>>1]|0;b[Z+32>>1]=b[$+32>>1]|0;k=14;while(1){if((k|0)<=-1)break;b[_+(k<<1)>>1]=((e[j+(k+1<<1)>>1]|0)+2+(e[j+(k<<1)>>1]<<1)+(e[X+(k<<1)>>1]|0)|0)>>>2;k=k+-1|0}j=(((l&65535)<<1)+2+(e[j>>1]|0)+(e[i>>1]|0)|0)>>>2&65535;b[Y>>1]=j;b[Z>>1]=j;j=14;while(1){if((j|0)<=-1){j=_;i=aa;U=172;break r}b[aa+(j<<1)>>1]=((e[i+(j+1<<1)>>1]|0)+2+(e[i+(j<<1)>>1]<<1)+(e[$+(j<<1)>>1]|0)|0)>>>2;j=j+-1|0}}else U=172}else U=174}else U=172;while(0);s:do if((U|0)==172)switch(ba|0){case 1:{U=174;break s}case 0:{hc[c[d+5756>>2]&255](da,i,j,ca);break s}default:{kc[c[d+5776>>2]&127](da,i,j,ca,h,ba);break s}}while(0);if((U|0)==174)kc[c[d+5768>>2]&127](da,i,j,ca,3,h);Mb=ea;return}function Kc(d,f,g,h){d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=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,$=0,aa=0,ba=0,ca=0,da=0,ea=0;ea=Mb;Mb=Mb+576|0;X=ea+432|0;Y=ea+288|0;$=ea+144|0;Z=ea;r=c[d+136>>2]|0;V=c[d+1412>>2]|0;S=c[V+13424+(h<<2)>>2]|0;R=c[V+13436+(h<<2)>>2]|0;u=16<<S;k=c[V+13328>>2]|0;t=16<<R;l=c[V+13420>>2]|0;m=f>>k&l;n=g>>k&l;s=c[d+1416>>2]|0;o=c[s+1684>>2]|0;p=l+2|0;q=o+((H(n,p)|0)+m<<2)|0;q=c[q>>2]|0;da=c[d+160>>2]|0;ca=(c[da+32+(h<<2)>>2]|0)>>>1;D=0-ca|0;da=(c[da+(h<<2)>>2]|0)+(f>>S<<1)+((H(ca,g>>R)|0)<<1)|0;T=c[V+13412>>2]|0;W=(h|0)==0;ba=c[(W?r+288|0:r+292|0)>>2]|0;j=X+2|0;i=$+2|0;_=Y+2|0;aa=Z+2|0;if(!(c[r+31284>>2]|0))v=0;else{v=o+(m+-1+(H(n+(t>>k)&l,p)|0)<<2)|0;v=(q|0)>(c[v>>2]|0)}w=v&1;x=c[r+31288>>2]|0;A=c[r+31296>>2]|0;B=c[r+31292>>2]|0;if(!(c[r+31300>>2]|0))y=0;else{y=o+((H(n+-1|0,p)|0)+(m+(u>>k)&l)<<2)|0;y=(q|0)>(c[y>>2]|0)}k=y&1;K=(t<<1)+g|0;I=V+13380|0;C=c[I>>2]|0;J=t+g|0;K=((K|0)>(C|0)?C:K)-J>>R;C=(u<<1)+f|0;F=V+13376|0;E=c[F>>2]|0;G=u+f|0;C=((C|0)>(E|0)?E:C)-G>>S;E=s+20|0;if((a[E>>0]|0)==1){z=c[V+13340>>2]|0;s=t>>z;u=u>>z;t=(1<<z)+-1|0;r=(t&f|0)==0;t=(t&g|0)==0;u=u+((u|0)==0&1)|0;a:do if(v&r){o=f+-1>>z;p=J>>z;n=(c[V+13416>>2]|0)-p|0;n=(s|0)>(n|0)?n:s;q=d+3516|0;l=0;m=0;while(1){if((l|0)>=(n|0)){w=m;break a}Q=(c[(c[q>>2]|0)+20>>2]|0)+(((H(l+p|0,T)|0)+o|0)*12|0)+10|0;l=l+2|0;m=m|(a[Q>>0]|0)==0}}while(0);b:do if((x|0)==1&r){p=f+-1>>z;q=g>>z;n=(c[V+13416>>2]|0)-q|0;n=(s|0)>(n|0)?n:s;o=d+3516|0;l=0;m=0;while(1){if((m|0)>=(n|0)){r=l;break b}Q=(c[(c[o>>2]|0)+20>>2]|0)+(((H(m+q|0,T)|0)+p|0)*12|0)+10|0;l=l|(a[Q>>0]|0)==0;m=m+2|0}}else r=x;while(0);if((A|0)==1){q=(c[(c[d+3516>>2]|0)+20>>2]|0)+(((H(g+-1>>z,T)|0)+(f+-1>>z)|0)*12|0)+10|0;q=(a[q>>0]|0)==0&1}else q=A;c:do if((B|0)==1&t){p=f>>z;n=T-p|0;n=(u|0)>(n|0)?n:u;o=d+3516|0;p=(H(g+-1>>z,T)|0)+p|0;l=0;m=0;while(1){if((m|0)>=(n|0)){p=l;break c}l=l|(a[(c[(c[o>>2]|0)+20>>2]|0)+((p+m|0)*12|0)+10>>0]|0)==0;m=m+2|0}}else p=B;while(0);d:do if(y&t){m=G>>z;n=T-m|0;n=(u|0)>(n|0)?n:u;o=d+3516|0;m=(H(g+-1>>z,T)|0)+m|0;k=0;l=0;while(1){if((l|0)>=(n|0))break d;k=k|(a[(c[(c[o>>2]|0)+20>>2]|0)+((m+l|0)*12|0)+10>>0]|0)==0;l=l+2|0}}while(0);m=j;n=m+128|0;do{b[m>>1]=32896;m=m+2|0}while((m|0)<(n|0));m=i;n=m+128|0;do{b[m>>1]=32896;m=m+2|0}while((m|0)<(n|0));b[$>>1]=128;A=q;x=r;B=p;p=k}else p=k;N=(A|0)!=0;if(N){Q=b[da+(~ca<<1)>>1]|0;b[X>>1]=Q;b[$>>1]=Q}O=(B|0)!=0;if(O){m=i;k=da+(D<<1)|0;n=m+32|0;do{b[m>>1]=b[k>>1]|0;m=m+2|0;k=k+2|0}while((m|0)<(n|0))}Q=(p|0)!=0;e:do if(Q){l=$+34|0;m=l;k=da+(D<<1)+32|0;n=m+32|0;do{b[m>>1]=b[k>>1]|0;m=m+2|0;k=k+2|0}while((m|0)<(n|0));m=MR(e[da+(15-ca+C<<1)>>1]|0,0,65537,65537)|0;n=M()|0;o=16-C|0;l=l+(C<<1)|0;k=0;while(1){if((k|0)>=(o|0))break e;D=l+(k<<1)|0;C=D;b[C>>1]=m;b[C+2>>1]=m>>>16;D=D+4|0;b[D>>1]=n;b[D+2>>1]=n>>>16;k=k+4|0}}while(0);C=(x|0)!=0;f:do if(C){k=0;while(1){if((k|0)==16)break f;D=da+((H(k,ca)|0)+-1<<1)|0;b[j+(k<<1)>>1]=b[D>>1]|0;k=k+1|0}}while(0);z=(w|0)!=0;g:do if(z){l=K+16|0;k=16;while(1){if((k|0)>=(l|0))break;D=da+((H(k,ca)|0)+-1<<1)|0;b[j+(k<<1)>>1]=b[D>>1]|0;k=k+1|0}l=da+((H(K+15|0,ca)|0)+-1<<1)|0;l=MR(e[l>>1]|0,0,65537,65537)|0;m=M()|0;n=16-K|0;o=X+34+(K<<1)|0;k=0;while(1){if((k|0)>=(n|0))break g;D=o+(k<<1)|0;y=D;b[y>>1]=l;b[y+2>>1]=l>>>16;D=D+4|0;b[D>>1]=m;b[D+2>>1]=m>>>16;k=k+4|0}}while(0);h:do if((a[E>>0]|0)==1?(L=w|x,P=(L|0)==0,L=L|A,B|p|L|0):0){F=c[F>>2]|0;y=F-f>>S;I=c[I>>2]|0;w=I-g>>R;y=Q?(((32<<S)+f|0)<(F|0)?32:y):(G|0)<(F|0)?16:y;w=z?(((32<<R)+g|0)<(I|0)?32:w):(J|0)<(I|0)?16:w;do if(!L){m=d+3516|0;n=V+13340|0;o=(-1<<R)+g|0;k=0;while(1){if((k|0)>=(y|0))break;L=c[n>>2]|0;L=(c[(c[m>>2]|0)+20>>2]|0)+(((H(o>>L,T)|0)+((k<<S)+f>>L)|0)*12|0)+10|0;if(!(a[L>>0]|0))break;k=k+1|0}i:do if(k|0){if((f|0)>0)while(1){if((k|0)<=-1)break i;l=k+-1|0;L=c[n>>2]|0;L=(c[(c[m>>2]|0)+20>>2]|0)+(((H(o>>L,T)|0)+((l<<S)+f>>L)|0)*12|0)+10|0;if(a[L>>0]|0)b[$+(k<<1)>>1]=b[i+(k<<1)>>1]|0;k=l}while(1){if((k|0)<=0)break;l=k+-1|0;L=c[n>>2]|0;L=(c[(c[m>>2]|0)+20>>2]|0)+(((H(o>>L,T)|0)+((l<<S)+f>>L)|0)*12|0)+10|0;if(a[L>>0]|0)b[$+(k<<1)>>1]=b[i+(k<<1)>>1]|0;k=l}b[$>>1]=b[i>>1]|0}while(0);q=b[$>>1]|0;b[X>>1]=q;v=$;u=X}else{n=c[(c[d+3516>>2]|0)+20>>2]|0;o=c[V+13340>>2]|0;m=(-1<<S)+f>>o;k=z?K+16|0:16;do{L=k;k=k+-1|0;l=H((k<<R)+g>>o,T)|0;if((L|0)<=0)break}while((a[n+((l+m|0)*12|0)+10>>0]|0)!=0);if(!(a[n+((l+(f-(1<<S)>>o)|0)*12|0)+10>>0]|0)){v=$;u=X;q=b[$>>1]|0;break}m=H(g-(1<<R)>>o,T)|0;k=0;while(1){if((k|0)>=(y|0))break;if(!(a[n+((((k<<S)+f>>o)+m|0)*12|0)+10>>0]|0))break;k=k+1|0}while(1){if((k|0)<=-1)break;l=k+-1|0;if(a[n+((((l<<S)+f>>o)+m|0)*12|0)+10>>0]|0)b[$+(k<<1)>>1]=b[i+(k<<1)>>1]|0;k=l}q=b[$>>1]|0;b[X>>1]=q;v=$;u=X}while(0);b[u>>1]=q;j:do if(!P){k=MR(q&65535|0,0,65537,65537)|0;n=d+3516|0;o=(-1<<S)+f|0;p=V+13340|0;m=0;l=M()|0;while(1){if((m|0)>=(w|0))break j;P=c[p>>2]|0;P=(c[(c[n>>2]|0)+20>>2]|0)+(((H((m<<R)+g>>P,T)|0)+(o>>P)|0)*12|0)+10|0;if(!(a[P>>0]|0)){k=MR(e[j+((m|3)<<1)>>1]|0,0,65537,65537)|0;l=M()|0}else{P=j+(m<<1)|0;L=P;b[L>>1]=k;b[L+2>>1]=k>>>16;P=P+4|0;b[P>>1]=l;b[P+2>>1]=l>>>16}m=m+4|0}}while(0);k:do if(!C){l=MR(q&65535|0,0,65537,65537)|0;m=M()|0;k=0;while(1){if(k>>>0>=16)break k;P=j+(k<<1)|0;L=P;b[L>>1]=l;b[L+2>>1]=l>>>16;P=P+4|0;b[P>>1]=m;b[P+2>>1]=m>>>16;k=k+4|0}}while(0);l:do if(!z){l=MR(e[X+32>>1]|0,0,65537,65537)|0;m=M()|0;n=X+34|0;k=0;while(1){if(k>>>0>=16)break l;P=n+(k<<1)|0;L=P;b[L>>1]=l;b[L+2>>1]=l>>>16;P=P+4|0;b[P>>1]=m;b[P+2>>1]=m>>>16;k=k+4|0}}while(0);t=(g|0)!=0;m:do if((f|0)!=0&t){o=MR(e[X+(w<<1)>>1]|0,0,65537,65537)|0;l=M()|0;q=(c[d+3516>>2]|0)+20|0;r=(-1<<S)+f|0;s=V+13340|0;p=w+-1|0;while(1){k=c[q>>2]|0;m=c[s>>2]|0;n=r>>m;if((p|0)<=-1)break;L=p+-3|0;P=k+(((H((L<<R)+g>>m,T)|0)+n|0)*12|0)+10|0;k=j+(L<<1)|0;if(!(a[P>>0]|0)){k=MR(e[k>>1]|0,0,65537,65537)|0;l=M()|0}else{P=k;b[P>>1]=o;b[P+2>>1]=o>>>16;k=k+4|0;b[k>>1]=l;b[k+2>>1]=l>>>16;k=o}p=p+-4|0;o=k}P=k+(((H((-1<<R)+g>>m,T)|0)+n|0)*12|0)+10|0;if(a[P>>0]|0)b[u>>1]=b[j>>1]|0}else{if(!f){k=0;while(1){if((k|0)>=(w|0))break m;P=j+(k<<1)|0;L=P;b[L>>1]=0;b[L+2>>1]=0>>>16;P=P+4|0;b[P>>1]=0;b[P+2>>1]=0>>>16;k=k+4|0}}m=MR(e[X+(w<<1)>>1]|0,0,65537,65537)|0;o=d+3516|0;p=(-1<<S)+f|0;q=V+13340|0;n=w+-1|0;l=M()|0;while(1){if((n|0)<=-1)break m;P=c[q>>2]|0;k=n+-3|0;P=(c[(c[o>>2]|0)+20>>2]|0)+(((H((k<<R)+g>>P,T)|0)+(p>>P)|0)*12|0)+10|0;k=j+(k<<1)|0;if(!(a[P>>0]|0)){k=MR(e[k>>1]|0,0,65537,65537)|0;l=M()|0}else{P=k;b[P>>1]=m;b[P+2>>1]=m>>>16;k=k+4|0;b[k>>1]=l;b[k+2>>1]=l>>>16;k=m}n=n+-4|0;m=k}}while(0);k=b[u>>1]|0;b[v>>1]=k;if(t){k=MR(k&65535|0,0,65537,65537)|0;o=d+3516|0;p=V+13340|0;n=(-1<<R)+g|0;m=0;l=M()|0;while(1){if((m|0)>=(y|0))break h;g=c[p>>2]|0;g=(c[(c[o>>2]|0)+20>>2]|0)+(((H(n>>g,T)|0)+((m<<S)+f>>g)|0)*12|0)+10|0;if(!(a[g>>0]|0)){k=MR(e[i+((m|3)<<1)>>1]|0,0,65537,65537)|0;l=M()|0}else{g=i+(m<<1)|0;R=g;b[R>>1]=k;b[R+2>>1]=k>>>16;g=g+4|0;b[g>>1]=l;b[g+2>>1]=l>>>16}m=m+4|0}}}while(0);n:do if(!z){if(C){l=MR(e[X+32>>1]|0,0,65537,65537)|0;m=M()|0;n=X+34|0;k=0;while(1){if(k>>>0>=16){U=147;break n}U=n+(k<<1)|0;T=U;b[T>>1]=l;b[T+2>>1]=l>>>16;U=U+4|0;b[U>>1]=m;b[U+2>>1]=m>>>16;k=k+4|0}}if(N){l=MR(e[X>>1]|0,0,65537,65537)|0;m=M()|0;k=0;while(1){if(k>>>0>=32){U=151;break n}U=j+(k<<1)|0;T=U;b[T>>1]=l;b[T+2>>1]=l>>>16;U=U+4|0;b[U>>1]=m;b[U+2>>1]=m>>>16;k=k+4|0}}if(O){l=b[i>>1]|0;b[X>>1]=l;l=MR(l&65535|0,0,65537,65537)|0;m=M()|0;k=0;while(1){if(k>>>0>=32){U=153;break n}U=j+(k<<1)|0;T=U;b[T>>1]=l;b[T+2>>1]=l>>>16;U=U+4|0;b[U>>1]=m;b[U+2>>1]=m>>>16;k=k+4|0}}if(Q){l=$+34|0;m=MR(e[l>>1]|0,0,65537,65537)|0;n=M()|0;k=0;while(1){if(k>>>0>=16)break;T=i+(k<<1)|0;S=T;b[S>>1]=m;b[S+2>>1]=m>>>16;T=T+4|0;b[T>>1]=n;b[T+2>>1]=n>>>16;k=k+4|0}l=b[l>>1]|0;b[X>>1]=l;l=MR(l&65535|0,0,65537,65537)|0;m=M()|0;k=0;while(1){if(k>>>0>=32)break n;T=j+(k<<1)|0;S=T;b[S>>1]=l;b[S+2>>1]=l>>>16;T=T+4|0;b[T>>1]=m;b[T+2>>1]=m>>>16;k=k+4|0}}else{b[X>>1]=2048;k=0;while(1){if(k>>>0>=32)break;U=i+(k<<1)|0;T=U;b[T>>1]=2048;b[T+2>>1]=134219776>>>16;U=U+4|0;b[U>>1]=2048;b[U+2>>1]=134219776>>>16;k=k+4|0}k=0;while(1){if(k>>>0>=32){U=147;break n}U=j+(k<<1)|0;T=U;b[T>>1]=2048;b[T+2>>1]=134219776>>>16;U=U+4|0;b[U>>1]=2048;b[U+2>>1]=134219776>>>16;k=k+4|0}}}else U=147;while(0);o:do if((U|0)==147)if(!x){l=MR(e[X+34>>1]|0,0,65537,65537)|0;m=M()|0;k=0;while(1){if(k>>>0>=16){U=151;break o}U=j+(k<<1)|0;T=U;b[T>>1]=l;b[T+2>>1]=l>>>16;U=U+4|0;b[U>>1]=m;b[U+2>>1]=m>>>16;k=k+4|0}}else U=151;while(0);if((U|0)==151)if(!A){b[X>>1]=b[j>>1]|0;U=153}else U=153;p:do if((U|0)==153?(B|0)==0:0){l=MR(e[X>>1]|0,0,65537,65537)|0;m=M()|0;k=0;while(1){if(k>>>0>=16)break p;U=i+(k<<1)|0;T=U;b[T>>1]=l;b[T+2>>1]=l>>>16;U=U+4|0;b[U>>1]=m;b[U+2>>1]=m>>>16;k=k+4|0}}while(0);q:do if(!Q){l=MR(e[$+32>>1]|0,0,65537,65537)|0;m=M()|0;n=$+34|0;k=0;while(1){if(k>>>0>=16)break q;U=n+(k<<1)|0;T=U;b[T>>1]=l;b[T+2>>1]=l>>>16;U=U+4|0;b[U>>1]=m;b[U+2>>1]=m>>>16;k=k+4|0}}while(0);l=b[X>>1]|0;b[$>>1]=l;r:do if(!(c[V+13368>>2]|0)){if(!W?(c[V+4>>2]|0)!=3:0){U=172;break}if((ba|0)!=1){W=ba+-26|0;W=(W|0)>-1?W:26-ba|0;V=ba+-10|0;V=(V|0)>-1?V:10-ba|0;if((((W|0)>(V|0)?V:W)|0)>1){b[Y+64>>1]=b[X+64>>1]|0;b[Z+64>>1]=b[$+64>>1]|0;k=30;while(1){if((k|0)<=-1)break;b[_+(k<<1)>>1]=((e[j+(k+1<<1)>>1]|0)+2+(e[j+(k<<1)>>1]<<1)+(e[X+(k<<1)>>1]|0)|0)>>>2;k=k+-1|0}j=(((l&65535)<<1)+2+(e[j>>1]|0)+(e[i>>1]|0)|0)>>>2&65535;b[Y>>1]=j;b[Z>>1]=j;j=30;while(1){if((j|0)<=-1){j=_;i=aa;U=172;break r}b[aa+(j<<1)>>1]=((e[i+(j+1<<1)>>1]|0)+2+(e[i+(j<<1)>>1]<<1)+(e[$+(j<<1)>>1]|0)|0)>>>2;j=j+-1|0}}else U=172}else U=174}else U=172;while(0);s:do if((U|0)==172)switch(ba|0){case 1:{U=174;break s}case 0:{hc[c[d+5760>>2]&255](da,i,j,ca);break s}default:{kc[c[d+5780>>2]&127](da,i,j,ca,h,ba);break s}}while(0);if((U|0)==174)kc[c[d+5768>>2]&127](da,i,j,ca,4,h);Mb=ea;return}function Lc(d,f,g,h){d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=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,$=0,aa=0,ba=0,ca=0,da=0,ea=0;ea=Mb;Mb=Mb+576|0;X=ea+432|0;Y=ea+288|0;$=ea+144|0;Z=ea;r=c[d+136>>2]|0;V=c[d+1412>>2]|0;S=c[V+13424+(h<<2)>>2]|0;R=c[V+13436+(h<<2)>>2]|0;u=16<<S;k=c[V+13328>>2]|0;t=16<<R;l=c[V+13420>>2]|0;m=f>>k&l;n=g>>k&l;s=c[d+1416>>2]|0;o=c[s+1684>>2]|0;p=l+2|0;q=o+((H(n,p)|0)+m<<2)|0;q=c[q>>2]|0;da=c[d+160>>2]|0;ca=(c[da+32+(h<<2)>>2]|0)>>>1;D=0-ca|0;da=(c[da+(h<<2)>>2]|0)+(f>>S<<1)+((H(ca,g>>R)|0)<<1)|0;T=c[V+13412>>2]|0;W=(h|0)==0;ba=c[(W?r+288|0:r+292|0)>>2]|0;j=X+2|0;i=$+2|0;_=Y+2|0;aa=Z+2|0;if(!(c[r+31284>>2]|0))v=0;else{v=o+(m+-1+(H(n+(t>>k)&l,p)|0)<<2)|0;v=(q|0)>(c[v>>2]|0)}w=v&1;x=c[r+31288>>2]|0;A=c[r+31296>>2]|0;B=c[r+31292>>2]|0;if(!(c[r+31300>>2]|0))y=0;else{y=o+((H(n+-1|0,p)|0)+(m+(u>>k)&l)<<2)|0;y=(q|0)>(c[y>>2]|0)}k=y&1;K=(t<<1)+g|0;I=V+13380|0;C=c[I>>2]|0;J=t+g|0;K=((K|0)>(C|0)?C:K)-J>>R;C=(u<<1)+f|0;F=V+13376|0;E=c[F>>2]|0;G=u+f|0;C=((C|0)>(E|0)?E:C)-G>>S;E=s+20|0;if((a[E>>0]|0)==1){z=c[V+13340>>2]|0;s=t>>z;u=u>>z;t=(1<<z)+-1|0;r=(t&f|0)==0;t=(t&g|0)==0;u=u+((u|0)==0&1)|0;a:do if(v&r){o=f+-1>>z;p=J>>z;n=(c[V+13416>>2]|0)-p|0;n=(s|0)>(n|0)?n:s;q=d+3516|0;l=0;m=0;while(1){if((l|0)>=(n|0)){w=m;break a}Q=(c[(c[q>>2]|0)+20>>2]|0)+(((H(l+p|0,T)|0)+o|0)*12|0)+10|0;l=l+2|0;m=m|(a[Q>>0]|0)==0}}while(0);b:do if((x|0)==1&r){p=f+-1>>z;q=g>>z;n=(c[V+13416>>2]|0)-q|0;n=(s|0)>(n|0)?n:s;o=d+3516|0;l=0;m=0;while(1){if((m|0)>=(n|0)){r=l;break b}Q=(c[(c[o>>2]|0)+20>>2]|0)+(((H(m+q|0,T)|0)+p|0)*12|0)+10|0;l=l|(a[Q>>0]|0)==0;m=m+2|0}}else r=x;while(0);if((A|0)==1){q=(c[(c[d+3516>>2]|0)+20>>2]|0)+(((H(g+-1>>z,T)|0)+(f+-1>>z)|0)*12|0)+10|0;q=(a[q>>0]|0)==0&1}else q=A;c:do if((B|0)==1&t){p=f>>z;n=T-p|0;n=(u|0)>(n|0)?n:u;o=d+3516|0;p=(H(g+-1>>z,T)|0)+p|0;l=0;m=0;while(1){if((m|0)>=(n|0)){p=l;break c}l=l|(a[(c[(c[o>>2]|0)+20>>2]|0)+((p+m|0)*12|0)+10>>0]|0)==0;m=m+2|0}}else p=B;while(0);d:do if(y&t){m=G>>z;n=T-m|0;n=(u|0)>(n|0)?n:u;o=d+3516|0;m=(H(g+-1>>z,T)|0)+m|0;k=0;l=0;while(1){if((l|0)>=(n|0))break d;k=k|(a[(c[(c[o>>2]|0)+20>>2]|0)+((m+l|0)*12|0)+10>>0]|0)==0;l=l+2|0}}while(0);m=j;n=m+128|0;do{b[m>>1]=32896;m=m+2|0}while((m|0)<(n|0));m=i;n=m+128|0;do{b[m>>1]=32896;m=m+2|0}while((m|0)<(n|0));b[$>>1]=128;A=q;x=r;B=p;p=k}else p=k;N=(A|0)!=0;if(N){Q=b[da+(~ca<<1)>>1]|0;b[X>>1]=Q;b[$>>1]=Q}O=(B|0)!=0;if(O){m=i;k=da+(D<<1)|0;n=m+32|0;do{b[m>>1]=b[k>>1]|0;m=m+2|0;k=k+2|0}while((m|0)<(n|0))}Q=(p|0)!=0;e:do if(Q){l=$+34|0;m=l;k=da+(D<<1)+32|0;n=m+32|0;do{b[m>>1]=b[k>>1]|0;m=m+2|0;k=k+2|0}while((m|0)<(n|0));m=MR(e[da+(15-ca+C<<1)>>1]|0,0,65537,65537)|0;n=M()|0;o=16-C|0;l=l+(C<<1)|0;k=0;while(1){if((k|0)>=(o|0))break e;D=l+(k<<1)|0;C=D;b[C>>1]=m;b[C+2>>1]=m>>>16;D=D+4|0;b[D>>1]=n;b[D+2>>1]=n>>>16;k=k+4|0}}while(0);C=(x|0)!=0;f:do if(C){k=0;while(1){if((k|0)==16)break f;D=da+((H(k,ca)|0)+-1<<1)|0;b[j+(k<<1)>>1]=b[D>>1]|0;k=k+1|0}}while(0);z=(w|0)!=0;g:do if(z){l=K+16|0;k=16;while(1){if((k|0)>=(l|0))break;D=da+((H(k,ca)|0)+-1<<1)|0;b[j+(k<<1)>>1]=b[D>>1]|0;k=k+1|0}l=da+((H(K+15|0,ca)|0)+-1<<1)|0;l=MR(e[l>>1]|0,0,65537,65537)|0;m=M()|0;n=16-K|0;o=X+34+(K<<1)|0;k=0;while(1){if((k|0)>=(n|0))break g;D=o+(k<<1)|0;y=D;b[y>>1]=l;b[y+2>>1]=l>>>16;D=D+4|0;b[D>>1]=m;b[D+2>>1]=m>>>16;k=k+4|0}}while(0);h:do if((a[E>>0]|0)==1?(L=w|x,P=(L|0)==0,L=L|A,B|p|L|0):0){F=c[F>>2]|0;y=F-f>>S;I=c[I>>2]|0;w=I-g>>R;y=Q?(((32<<S)+f|0)<(F|0)?32:y):(G|0)<(F|0)?16:y;w=z?(((32<<R)+g|0)<(I|0)?32:w):(J|0)<(I|0)?16:w;do if(!L){m=d+3516|0;n=V+13340|0;o=(-1<<R)+g|0;k=0;while(1){if((k|0)>=(y|0))break;L=c[n>>2]|0;L=(c[(c[m>>2]|0)+20>>2]|0)+(((H(o>>L,T)|0)+((k<<S)+f>>L)|0)*12|0)+10|0;if(!(a[L>>0]|0))break;k=k+1|0}i:do if(k|0){if((f|0)>0)while(1){if((k|0)<=-1)break i;l=k+-1|0;L=c[n>>2]|0;L=(c[(c[m>>2]|0)+20>>2]|0)+(((H(o>>L,T)|0)+((l<<S)+f>>L)|0)*12|0)+10|0;if(a[L>>0]|0)b[$+(k<<1)>>1]=b[i+(k<<1)>>1]|0;k=l}while(1){if((k|0)<=0)break;l=k+-1|0;L=c[n>>2]|0;L=(c[(c[m>>2]|0)+20>>2]|0)+(((H(o>>L,T)|0)+((l<<S)+f>>L)|0)*12|0)+10|0;if(a[L>>0]|0)b[$+(k<<1)>>1]=b[i+(k<<1)>>1]|0;k=l}b[$>>1]=b[i>>1]|0}while(0);q=b[$>>1]|0;b[X>>1]=q;v=$;u=X}else{n=c[(c[d+3516>>2]|0)+20>>2]|0;o=c[V+13340>>2]|0;m=(-1<<S)+f>>o;k=z?K+16|0:16;do{L=k;k=k+-1|0;l=H((k<<R)+g>>o,T)|0;if((L|0)<=0)break}while((a[n+((l+m|0)*12|0)+10>>0]|0)!=0);if(!(a[n+((l+(f-(1<<S)>>o)|0)*12|0)+10>>0]|0)){v=$;u=X;q=b[$>>1]|0;break}m=H(g-(1<<R)>>o,T)|0;k=0;while(1){if((k|0)>=(y|0))break;if(!(a[n+((((k<<S)+f>>o)+m|0)*12|0)+10>>0]|0))break;k=k+1|0}while(1){if((k|0)<=-1)break;l=k+-1|0;if(a[n+((((l<<S)+f>>o)+m|0)*12|0)+10>>0]|0)b[$+(k<<1)>>1]=b[i+(k<<1)>>1]|0;k=l}q=b[$>>1]|0;b[X>>1]=q;v=$;u=X}while(0);b[u>>1]=q;j:do if(!P){k=MR(q&65535|0,0,65537,65537)|0;n=d+3516|0;o=(-1<<S)+f|0;p=V+13340|0;m=0;l=M()|0;while(1){if((m|0)>=(w|0))break j;P=c[p>>2]|0;P=(c[(c[n>>2]|0)+20>>2]|0)+(((H((m<<R)+g>>P,T)|0)+(o>>P)|0)*12|0)+10|0;if(!(a[P>>0]|0)){k=MR(e[j+((m|3)<<1)>>1]|0,0,65537,65537)|0;l=M()|0}else{P=j+(m<<1)|0;L=P;b[L>>1]=k;b[L+2>>1]=k>>>16;P=P+4|0;b[P>>1]=l;b[P+2>>1]=l>>>16}m=m+4|0}}while(0);k:do if(!C){l=MR(q&65535|0,0,65537,65537)|0;m=M()|0;k=0;while(1){if(k>>>0>=16)break k;P=j+(k<<1)|0;L=P;b[L>>1]=l;b[L+2>>1]=l>>>16;P=P+4|0;b[P>>1]=m;b[P+2>>1]=m>>>16;k=k+4|0}}while(0);l:do if(!z){l=MR(e[X+32>>1]|0,0,65537,65537)|0;m=M()|0;n=X+34|0;k=0;while(1){if(k>>>0>=16)break l;P=n+(k<<1)|0;L=P;b[L>>1]=l;b[L+2>>1]=l>>>16;P=P+4|0;b[P>>1]=m;b[P+2>>1]=m>>>16;k=k+4|0}}while(0);t=(g|0)!=0;m:do if((f|0)!=0&t){o=MR(e[X+(w<<1)>>1]|0,0,65537,65537)|0;l=M()|0;q=(c[d+3516>>2]|0)+20|0;r=(-1<<S)+f|0;s=V+13340|0;p=w+-1|0;while(1){k=c[q>>2]|0;m=c[s>>2]|0;n=r>>m;if((p|0)<=-1)break;L=p+-3|0;P=k+(((H((L<<R)+g>>m,T)|0)+n|0)*12|0)+10|0;k=j+(L<<1)|0;if(!(a[P>>0]|0)){k=MR(e[k>>1]|0,0,65537,65537)|0;l=M()|0}else{P=k;b[P>>1]=o;b[P+2>>1]=o>>>16;k=k+4|0;b[k>>1]=l;b[k+2>>1]=l>>>16;k=o}p=p+-4|0;o=k}P=k+(((H((-1<<R)+g>>m,T)|0)+n|0)*12|0)+10|0;if(a[P>>0]|0)b[u>>1]=b[j>>1]|0}else{if(!f){k=0;while(1){if((k|0)>=(w|0))break m;P=j+(k<<1)|0;L=P;b[L>>1]=0;b[L+2>>1]=0>>>16;P=P+4|0;b[P>>1]=0;b[P+2>>1]=0>>>16;k=k+4|0}}m=MR(e[X+(w<<1)>>1]|0,0,65537,65537)|0;o=d+3516|0;p=(-1<<S)+f|0;q=V+13340|0;n=w+-1|0;l=M()|0;while(1){if((n|0)<=-1)break m;P=c[q>>2]|0;k=n+-3|0;P=(c[(c[o>>2]|0)+20>>2]|0)+(((H((k<<R)+g>>P,T)|0)+(p>>P)|0)*12|0)+10|0;k=j+(k<<1)|0;if(!(a[P>>0]|0)){k=MR(e[k>>1]|0,0,65537,65537)|0;l=M()|0}else{P=k;b[P>>1]=m;b[P+2>>1]=m>>>16;k=k+4|0;b[k>>1]=l;b[k+2>>1]=l>>>16;k=m}n=n+-4|0;m=k}}while(0);k=b[u>>1]|0;b[v>>1]=k;if(t){k=MR(k&65535|0,0,65537,65537)|0;o=d+3516|0;p=V+13340|0;n=(-1<<R)+g|0;m=0;l=M()|0;while(1){if((m|0)>=(y|0))break h;g=c[p>>2]|0;g=(c[(c[o>>2]|0)+20>>2]|0)+(((H(n>>g,T)|0)+((m<<S)+f>>g)|0)*12|0)+10|0;if(!(a[g>>0]|0)){k=MR(e[i+((m|3)<<1)>>1]|0,0,65537,65537)|0;l=M()|0}else{g=i+(m<<1)|0;R=g;b[R>>1]=k;b[R+2>>1]=k>>>16;g=g+4|0;b[g>>1]=l;b[g+2>>1]=l>>>16}m=m+4|0}}}while(0);n:do if(!z){if(C){l=MR(e[X+32>>1]|0,0,65537,65537)|0;m=M()|0;n=X+34|0;k=0;while(1){if(k>>>0>=16){U=147;break n}U=n+(k<<1)|0;T=U;b[T>>1]=l;b[T+2>>1]=l>>>16;U=U+4|0;b[U>>1]=m;b[U+2>>1]=m>>>16;k=k+4|0}}if(N){l=MR(e[X>>1]|0,0,65537,65537)|0;m=M()|0;k=0;while(1){if(k>>>0>=32){U=151;break n}U=j+(k<<1)|0;T=U;b[T>>1]=l;b[T+2>>1]=l>>>16;U=U+4|0;b[U>>1]=m;b[U+2>>1]=m>>>16;k=k+4|0}}if(O){l=b[i>>1]|0;b[X>>1]=l;l=MR(l&65535|0,0,65537,65537)|0;m=M()|0;k=0;while(1){if(k>>>0>=32){U=153;break n}U=j+(k<<1)|0;T=U;b[T>>1]=l;b[T+2>>1]=l>>>16;U=U+4|0;b[U>>1]=m;b[U+2>>1]=m>>>16;k=k+4|0}}if(Q){l=$+34|0;m=MR(e[l>>1]|0,0,65537,65537)|0;n=M()|0;k=0;while(1){if(k>>>0>=16)break;T=i+(k<<1)|0;S=T;b[S>>1]=m;b[S+2>>1]=m>>>16;T=T+4|0;b[T>>1]=n;b[T+2>>1]=n>>>16;k=k+4|0}l=b[l>>1]|0;b[X>>1]=l;l=MR(l&65535|0,0,65537,65537)|0;m=M()|0;k=0;while(1){if(k>>>0>=32)break n;T=j+(k<<1)|0;S=T;b[S>>1]=l;b[S+2>>1]=l>>>16;T=T+4|0;b[T>>1]=m;b[T+2>>1]=m>>>16;k=k+4|0}}else{b[X>>1]=512;k=0;while(1){if(k>>>0>=32)break;U=i+(k<<1)|0;T=U;b[T>>1]=512;b[T+2>>1]=33554944>>>16;U=U+4|0;b[U>>1]=512;b[U+2>>1]=33554944>>>16;k=k+4|0}k=0;while(1){if(k>>>0>=32){U=147;break n}U=j+(k<<1)|0;T=U;b[T>>1]=512;b[T+2>>1]=33554944>>>16;U=U+4|0;b[U>>1]=512;b[U+2>>1]=33554944>>>16;k=k+4|0}}}else U=147;while(0);o:do if((U|0)==147)if(!x){l=MR(e[X+34>>1]|0,0,65537,65537)|0;m=M()|0;k=0;while(1){if(k>>>0>=16){U=151;break o}U=j+(k<<1)|0;T=U;b[T>>1]=l;b[T+2>>1]=l>>>16;U=U+4|0;b[U>>1]=m;b[U+2>>1]=m>>>16;k=k+4|0}}else U=151;while(0);if((U|0)==151)if(!A){b[X>>1]=b[j>>1]|0;U=153}else U=153;p:do if((U|0)==153?(B|0)==0:0){l=MR(e[X>>1]|0,0,65537,65537)|0;m=M()|0;k=0;while(1){if(k>>>0>=16)break p;U=i+(k<<1)|0;T=U;b[T>>1]=l;b[T+2>>1]=l>>>16;U=U+4|0;b[U>>1]=m;b[U+2>>1]=m>>>16;k=k+4|0}}while(0);q:do if(!Q){l=MR(e[$+32>>1]|0,0,65537,65537)|0;m=M()|0;n=$+34|0;k=0;while(1){if(k>>>0>=16)break q;U=n+(k<<1)|0;T=U;b[T>>1]=l;b[T+2>>1]=l>>>16;U=U+4|0;b[U>>1]=m;b[U+2>>1]=m>>>16;k=k+4|0}}while(0);l=b[X>>1]|0;b[$>>1]=l;r:do if(!(c[V+13368>>2]|0)){if(!W?(c[V+4>>2]|0)!=3:0){U=172;break}if((ba|0)!=1){W=ba+-26|0;W=(W|0)>-1?W:26-ba|0;V=ba+-10|0;V=(V|0)>-1?V:10-ba|0;if((((W|0)>(V|0)?V:W)|0)>1){b[Y+64>>1]=b[X+64>>1]|0;b[Z+64>>1]=b[$+64>>1]|0;k=30;while(1){if((k|0)<=-1)break;b[_+(k<<1)>>1]=((e[j+(k+1<<1)>>1]|0)+2+(e[j+(k<<1)>>1]<<1)+(e[X+(k<<1)>>1]|0)|0)>>>2;k=k+-1|0}j=(((l&65535)<<1)+2+(e[j>>1]|0)+(e[i>>1]|0)|0)>>>2&65535;b[Y>>1]=j;b[Z>>1]=j;j=30;while(1){if((j|0)<=-1){j=_;i=aa;U=172;break r}b[aa+(j<<1)>>1]=((e[i+(j+1<<1)>>1]|0)+2+(e[i+(j<<1)>>1]<<1)+(e[$+(j<<1)>>1]|0)|0)>>>2;j=j+-1|0}}else U=172}else U=174}else U=172;while(0);s:do if((U|0)==172)switch(ba|0){case 1:{U=174;break s}case 0:{hc[c[d+5760>>2]&255](da,i,j,ca);break s}default:{kc[c[d+5780>>2]&127](da,i,j,ca,h,ba);break s}}while(0);if((U|0)==174)kc[c[d+5768>>2]&127](da,i,j,ca,4,h);Mb=ea;return}function Mc(d,f,g,h){d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=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,$=0,aa=0,ba=0,ca=0,da=0,ea=0;ea=Mb;Mb=Mb+576|0;X=ea+432|0;Y=ea+288|0;$=ea+144|0;Z=ea;r=c[d+136>>2]|0;V=c[d+1412>>2]|0;S=c[V+13424+(h<<2)>>2]|0;R=c[V+13436+(h<<2)>>2]|0;u=16<<S;k=c[V+13328>>2]|0;t=16<<R;l=c[V+13420>>2]|0;m=f>>k&l;n=g>>k&l;s=c[d+1416>>2]|0;o=c[s+1684>>2]|0;p=l+2|0;q=o+((H(n,p)|0)+m<<2)|0;q=c[q>>2]|0;da=c[d+160>>2]|0;ca=(c[da+32+(h<<2)>>2]|0)>>>1;D=0-ca|0;da=(c[da+(h<<2)>>2]|0)+(f>>S<<1)+((H(ca,g>>R)|0)<<1)|0;T=c[V+13412>>2]|0;W=(h|0)==0;ba=c[(W?r+288|0:r+292|0)>>2]|0;j=X+2|0;i=$+2|0;_=Y+2|0;aa=Z+2|0;if(!(c[r+31284>>2]|0))v=0;else{v=o+(m+-1+(H(n+(t>>k)&l,p)|0)<<2)|0;v=(q|0)>(c[v>>2]|0)}w=v&1;x=c[r+31288>>2]|0;A=c[r+31296>>2]|0;B=c[r+31292>>2]|0;if(!(c[r+31300>>2]|0))y=0;else{y=o+((H(n+-1|0,p)|0)+(m+(u>>k)&l)<<2)|0;y=(q|0)>(c[y>>2]|0)}k=y&1;K=(t<<1)+g|0;I=V+13380|0;C=c[I>>2]|0;J=t+g|0;K=((K|0)>(C|0)?C:K)-J>>R;C=(u<<1)+f|0;F=V+13376|0;E=c[F>>2]|0;G=u+f|0;C=((C|0)>(E|0)?E:C)-G>>S;E=s+20|0;if((a[E>>0]|0)==1){z=c[V+13340>>2]|0;s=t>>z;u=u>>z;t=(1<<z)+-1|0;r=(t&f|0)==0;t=(t&g|0)==0;u=u+((u|0)==0&1)|0;a:do if(v&r){o=f+-1>>z;p=J>>z;n=(c[V+13416>>2]|0)-p|0;n=(s|0)>(n|0)?n:s;q=d+3516|0;l=0;m=0;while(1){if((l|0)>=(n|0)){w=m;break a}Q=(c[(c[q>>2]|0)+20>>2]|0)+(((H(l+p|0,T)|0)+o|0)*12|0)+10|0;l=l+2|0;m=m|(a[Q>>0]|0)==0}}while(0);b:do if((x|0)==1&r){p=f+-1>>z;q=g>>z;n=(c[V+13416>>2]|0)-q|0;n=(s|0)>(n|0)?n:s;o=d+3516|0;l=0;m=0;while(1){if((m|0)>=(n|0)){r=l;break b}Q=(c[(c[o>>2]|0)+20>>2]|0)+(((H(m+q|0,T)|0)+p|0)*12|0)+10|0;l=l|(a[Q>>0]|0)==0;m=m+2|0}}else r=x;while(0);if((A|0)==1){q=(c[(c[d+3516>>2]|0)+20>>2]|0)+(((H(g+-1>>z,T)|0)+(f+-1>>z)|0)*12|0)+10|0;q=(a[q>>0]|0)==0&1}else q=A;c:do if((B|0)==1&t){p=f>>z;n=T-p|0;n=(u|0)>(n|0)?n:u;o=d+3516|0;p=(H(g+-1>>z,T)|0)+p|0;l=0;m=0;while(1){if((m|0)>=(n|0)){p=l;break c}l=l|(a[(c[(c[o>>2]|0)+20>>2]|0)+((p+m|0)*12|0)+10>>0]|0)==0;m=m+2|0}}else p=B;while(0);d:do if(y&t){m=G>>z;n=T-m|0;n=(u|0)>(n|0)?n:u;o=d+3516|0;m=(H(g+-1>>z,T)|0)+m|0;k=0;l=0;while(1){if((l|0)>=(n|0))break d;k=k|(a[(c[(c[o>>2]|0)+20>>2]|0)+((m+l|0)*12|0)+10>>0]|0)==0;l=l+2|0}}while(0);m=j;n=m+128|0;do{b[m>>1]=32896;m=m+2|0}while((m|0)<(n|0));m=i;n=m+128|0;do{b[m>>1]=32896;m=m+2|0}while((m|0)<(n|0));b[$>>1]=128;A=q;x=r;B=p;p=k}else p=k;N=(A|0)!=0;if(N){Q=b[da+(~ca<<1)>>1]|0;b[X>>1]=Q;b[$>>1]=Q}O=(B|0)!=0;if(O){m=i;k=da+(D<<1)|0;n=m+32|0;do{b[m>>1]=b[k>>1]|0;m=m+2|0;k=k+2|0}while((m|0)<(n|0))}Q=(p|0)!=0;e:do if(Q){l=$+34|0;m=l;k=da+(D<<1)+32|0;n=m+32|0;do{b[m>>1]=b[k>>1]|0;m=m+2|0;k=k+2|0}while((m|0)<(n|0));m=MR(e[da+(15-ca+C<<1)>>1]|0,0,65537,65537)|0;n=M()|0;o=16-C|0;l=l+(C<<1)|0;k=0;while(1){if((k|0)>=(o|0))break e;D=l+(k<<1)|0;C=D;b[C>>1]=m;b[C+2>>1]=m>>>16;D=D+4|0;b[D>>1]=n;b[D+2>>1]=n>>>16;k=k+4|0}}while(0);C=(x|0)!=0;f:do if(C){k=0;while(1){if((k|0)==16)break f;D=da+((H(k,ca)|0)+-1<<1)|0;b[j+(k<<1)>>1]=b[D>>1]|0;k=k+1|0}}while(0);z=(w|0)!=0;g:do if(z){l=K+16|0;k=16;while(1){if((k|0)>=(l|0))break;D=da+((H(k,ca)|0)+-1<<1)|0;b[j+(k<<1)>>1]=b[D>>1]|0;k=k+1|0}l=da+((H(K+15|0,ca)|0)+-1<<1)|0;l=MR(e[l>>1]|0,0,65537,65537)|0;m=M()|0;n=16-K|0;o=X+34+(K<<1)|0;k=0;while(1){if((k|0)>=(n|0))break g;D=o+(k<<1)|0;y=D;b[y>>1]=l;b[y+2>>1]=l>>>16;D=D+4|0;b[D>>1]=m;b[D+2>>1]=m>>>16;k=k+4|0}}while(0);h:do if((a[E>>0]|0)==1?(L=w|x,P=(L|0)==0,L=L|A,B|p|L|0):0){F=c[F>>2]|0;y=F-f>>S;I=c[I>>2]|0;w=I-g>>R;y=Q?(((32<<S)+f|0)<(F|0)?32:y):(G|0)<(F|0)?16:y;w=z?(((32<<R)+g|0)<(I|0)?32:w):(J|0)<(I|0)?16:w;do if(!L){m=d+3516|0;n=V+13340|0;o=(-1<<R)+g|0;k=0;while(1){if((k|0)>=(y|0))break;L=c[n>>2]|0;L=(c[(c[m>>2]|0)+20>>2]|0)+(((H(o>>L,T)|0)+((k<<S)+f>>L)|0)*12|0)+10|0;if(!(a[L>>0]|0))break;k=k+1|0}i:do if(k|0){if((f|0)>0)while(1){if((k|0)<=-1)break i;l=k+-1|0;L=c[n>>2]|0;L=(c[(c[m>>2]|0)+20>>2]|0)+(((H(o>>L,T)|0)+((l<<S)+f>>L)|0)*12|0)+10|0;if(a[L>>0]|0)b[$+(k<<1)>>1]=b[i+(k<<1)>>1]|0;k=l}while(1){if((k|0)<=0)break;l=k+-1|0;L=c[n>>2]|0;L=(c[(c[m>>2]|0)+20>>2]|0)+(((H(o>>L,T)|0)+((l<<S)+f>>L)|0)*12|0)+10|0;if(a[L>>0]|0)b[$+(k<<1)>>1]=b[i+(k<<1)>>1]|0;k=l}b[$>>1]=b[i>>1]|0}while(0);q=b[$>>1]|0;b[X>>1]=q;v=$;u=X}else{n=c[(c[d+3516>>2]|0)+20>>2]|0;o=c[V+13340>>2]|0;m=(-1<<S)+f>>o;k=z?K+16|0:16;do{L=k;k=k+-1|0;l=H((k<<R)+g>>o,T)|0;if((L|0)<=0)break}while((a[n+((l+m|0)*12|0)+10>>0]|0)!=0);if(!(a[n+((l+(f-(1<<S)>>o)|0)*12|0)+10>>0]|0)){v=$;u=X;q=b[$>>1]|0;break}m=H(g-(1<<R)>>o,T)|0;k=0;while(1){if((k|0)>=(y|0))break;if(!(a[n+((((k<<S)+f>>o)+m|0)*12|0)+10>>0]|0))break;k=k+1|0}while(1){if((k|0)<=-1)break;l=k+-1|0;if(a[n+((((l<<S)+f>>o)+m|0)*12|0)+10>>0]|0)b[$+(k<<1)>>1]=b[i+(k<<1)>>1]|0;k=l}q=b[$>>1]|0;b[X>>1]=q;v=$;u=X}while(0);b[u>>1]=q;j:do if(!P){k=MR(q&65535|0,0,65537,65537)|0;n=d+3516|0;o=(-1<<S)+f|0;p=V+13340|0;m=0;l=M()|0;while(1){if((m|0)>=(w|0))break j;P=c[p>>2]|0;P=(c[(c[n>>2]|0)+20>>2]|0)+(((H((m<<R)+g>>P,T)|0)+(o>>P)|0)*12|0)+10|0;if(!(a[P>>0]|0)){k=MR(e[j+((m|3)<<1)>>1]|0,0,65537,65537)|0;l=M()|0}else{P=j+(m<<1)|0;L=P;b[L>>1]=k;b[L+2>>1]=k>>>16;P=P+4|0;b[P>>1]=l;b[P+2>>1]=l>>>16}m=m+4|0}}while(0);k:do if(!C){l=MR(q&65535|0,0,65537,65537)|0;m=M()|0;k=0;while(1){if(k>>>0>=16)break k;P=j+(k<<1)|0;L=P;b[L>>1]=l;b[L+2>>1]=l>>>16;P=P+4|0;b[P>>1]=m;b[P+2>>1]=m>>>16;k=k+4|0}}while(0);l:do if(!z){l=MR(e[X+32>>1]|0,0,65537,65537)|0;m=M()|0;n=X+34|0;k=0;while(1){if(k>>>0>=16)break l;P=n+(k<<1)|0;L=P;b[L>>1]=l;b[L+2>>1]=l>>>16;P=P+4|0;b[P>>1]=m;b[P+2>>1]=m>>>16;k=k+4|0}}while(0);t=(g|0)!=0;m:do if((f|0)!=0&t){o=MR(e[X+(w<<1)>>1]|0,0,65537,65537)|0;l=M()|0;q=(c[d+3516>>2]|0)+20|0;r=(-1<<S)+f|0;s=V+13340|0;p=w+-1|0;while(1){k=c[q>>2]|0;m=c[s>>2]|0;n=r>>m;if((p|0)<=-1)break;L=p+-3|0;P=k+(((H((L<<R)+g>>m,T)|0)+n|0)*12|0)+10|0;k=j+(L<<1)|0;if(!(a[P>>0]|0)){k=MR(e[k>>1]|0,0,65537,65537)|0;l=M()|0}else{P=k;b[P>>1]=o;b[P+2>>1]=o>>>16;k=k+4|0;b[k>>1]=l;b[k+2>>1]=l>>>16;k=o}p=p+-4|0;o=k}P=k+(((H((-1<<R)+g>>m,T)|0)+n|0)*12|0)+10|0;if(a[P>>0]|0)b[u>>1]=b[j>>1]|0}else{if(!f){k=0;while(1){if((k|0)>=(w|0))break m;P=j+(k<<1)|0;L=P;b[L>>1]=0;b[L+2>>1]=0>>>16;P=P+4|0;b[P>>1]=0;b[P+2>>1]=0>>>16;k=k+4|0}}m=MR(e[X+(w<<1)>>1]|0,0,65537,65537)|0;o=d+3516|0;p=(-1<<S)+f|0;q=V+13340|0;n=w+-1|0;l=M()|0;while(1){if((n|0)<=-1)break m;P=c[q>>2]|0;k=n+-3|0;P=(c[(c[o>>2]|0)+20>>2]|0)+(((H((k<<R)+g>>P,T)|0)+(p>>P)|0)*12|0)+10|0;k=j+(k<<1)|0;if(!(a[P>>0]|0)){k=MR(e[k>>1]|0,0,65537,65537)|0;l=M()|0}else{P=k;b[P>>1]=m;b[P+2>>1]=m>>>16;k=k+4|0;b[k>>1]=l;b[k+2>>1]=l>>>16;k=m}n=n+-4|0;m=k}}while(0);k=b[u>>1]|0;b[v>>1]=k;if(t){k=MR(k&65535|0,0,65537,65537)|0;o=d+3516|0;p=V+13340|0;n=(-1<<R)+g|0;m=0;l=M()|0;while(1){if((m|0)>=(y|0))break h;g=c[p>>2]|0;g=(c[(c[o>>2]|0)+20>>2]|0)+(((H(n>>g,T)|0)+((m<<S)+f>>g)|0)*12|0)+10|0;if(!(a[g>>0]|0)){k=MR(e[i+((m|3)<<1)>>1]|0,0,65537,65537)|0;l=M()|0}else{g=i+(m<<1)|0;R=g;b[R>>1]=k;b[R+2>>1]=k>>>16;g=g+4|0;b[g>>1]=l;b[g+2>>1]=l>>>16}m=m+4|0}}}while(0);n:do if(!z){if(C){l=MR(e[X+32>>1]|0,0,65537,65537)|0;m=M()|0;n=X+34|0;k=0;while(1){if(k>>>0>=16){U=147;break n}U=n+(k<<1)|0;T=U;b[T>>1]=l;b[T+2>>1]=l>>>16;U=U+4|0;b[U>>1]=m;b[U+2>>1]=m>>>16;k=k+4|0}}if(N){l=MR(e[X>>1]|0,0,65537,65537)|0;m=M()|0;k=0;while(1){if(k>>>0>=32){U=151;break n}U=j+(k<<1)|0;T=U;b[T>>1]=l;b[T+2>>1]=l>>>16;U=U+4|0;b[U>>1]=m;b[U+2>>1]=m>>>16;k=k+4|0}}if(O){l=b[i>>1]|0;b[X>>1]=l;l=MR(l&65535|0,0,65537,65537)|0;m=M()|0;k=0;while(1){if(k>>>0>=32){U=153;break n}U=j+(k<<1)|0;T=U;b[T>>1]=l;b[T+2>>1]=l>>>16;U=U+4|0;b[U>>1]=m;b[U+2>>1]=m>>>16;k=k+4|0}}if(Q){l=$+34|0;m=MR(e[l>>1]|0,0,65537,65537)|0;n=M()|0;k=0;while(1){if(k>>>0>=16)break;T=i+(k<<1)|0;S=T;b[S>>1]=m;b[S+2>>1]=m>>>16;T=T+4|0;b[T>>1]=n;b[T+2>>1]=n>>>16;k=k+4|0}l=b[l>>1]|0;b[X>>1]=l;l=MR(l&65535|0,0,65537,65537)|0;m=M()|0;k=0;while(1){if(k>>>0>=32)break n;T=j+(k<<1)|0;S=T;b[S>>1]=l;b[S+2>>1]=l>>>16;T=T+4|0;b[T>>1]=m;b[T+2>>1]=m>>>16;k=k+4|0}}else{b[X>>1]=256;k=0;while(1){if(k>>>0>=32)break;U=i+(k<<1)|0;T=U;b[T>>1]=256;b[T+2>>1]=16777472>>>16;U=U+4|0;b[U>>1]=256;b[U+2>>1]=16777472>>>16;k=k+4|0}k=0;while(1){if(k>>>0>=32){U=147;break n}U=j+(k<<1)|0;T=U;b[T>>1]=256;b[T+2>>1]=16777472>>>16;U=U+4|0;b[U>>1]=256;b[U+2>>1]=16777472>>>16;k=k+4|0}}}else U=147;while(0);o:do if((U|0)==147)if(!x){l=MR(e[X+34>>1]|0,0,65537,65537)|0;m=M()|0;k=0;while(1){if(k>>>0>=16){U=151;break o}U=j+(k<<1)|0;T=U;b[T>>1]=l;b[T+2>>1]=l>>>16;U=U+4|0;b[U>>1]=m;b[U+2>>1]=m>>>16;k=k+4|0}}else U=151;while(0);if((U|0)==151)if(!A){b[X>>1]=b[j>>1]|0;U=153}else U=153;p:do if((U|0)==153?(B|0)==0:0){l=MR(e[X>>1]|0,0,65537,65537)|0;m=M()|0;k=0;while(1){if(k>>>0>=16)break p;U=i+(k<<1)|0;T=U;b[T>>1]=l;b[T+2>>1]=l>>>16;U=U+4|0;b[U>>1]=m;b[U+2>>1]=m>>>16;k=k+4|0}}while(0);q:do if(!Q){l=MR(e[$+32>>1]|0,0,65537,65537)|0;m=M()|0;n=$+34|0;k=0;while(1){if(k>>>0>=16)break q;U=n+(k<<1)|0;T=U;b[T>>1]=l;b[T+2>>1]=l>>>16;U=U+4|0;b[U>>1]=m;b[U+2>>1]=m>>>16;k=k+4|0}}while(0);l=b[X>>1]|0;b[$>>1]=l;r:do if(!(c[V+13368>>2]|0)){if(!W?(c[V+4>>2]|0)!=3:0){U=172;break}if((ba|0)!=1){W=ba+-26|0;W=(W|0)>-1?W:26-ba|0;V=ba+-10|0;V=(V|0)>-1?V:10-ba|0;if((((W|0)>(V|0)?V:W)|0)>1){b[Y+64>>1]=b[X+64>>1]|0;b[Z+64>>1]=b[$+64>>1]|0;k=30;while(1){if((k|0)<=-1)break;b[_+(k<<1)>>1]=((e[j+(k+1<<1)>>1]|0)+2+(e[j+(k<<1)>>1]<<1)+(e[X+(k<<1)>>1]|0)|0)>>>2;k=k+-1|0}j=(((l&65535)<<1)+2+(e[j>>1]|0)+(e[i>>1]|0)|0)>>>2&65535;b[Y>>1]=j;b[Z>>1]=j;j=30;while(1){if((j|0)<=-1){j=_;i=aa;U=172;break r}b[aa+(j<<1)>>1]=((e[i+(j+1<<1)>>1]|0)+2+(e[i+(j<<1)>>1]<<1)+(e[$+(j<<1)>>1]|0)|0)>>>2;j=j+-1|0}}else U=172}else U=174}else U=172;while(0);s:do if((U|0)==172)switch(ba|0){case 1:{U=174;break s}case 0:{hc[c[d+5760>>2]&255](da,i,j,ca);break s}default:{kc[c[d+5780>>2]&127](da,i,j,ca,h,ba);break s}}while(0);if((U|0)==174)kc[c[d+5768>>2]&127](da,i,j,ca,4,h);Mb=ea;return}function Nc(f,g,h,i,j,k){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,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=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,$=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;Ra=Mb;Mb=Mb+112|0;Ia=Ra+88|0;Ha=Ra+80|0;Da=Ra+16|0;Ea=Ra;Fa=Ra+96|0;Ga=f+136|0;Ma=c[Ga>>2]|0;Oa=c[f+160>>2]|0;Qa=c[Oa+32+(k<<2)>>2]|0;Ka=f+1412|0;w=c[Ka>>2]|0;Na=H(h>>c[w+13436+(k<<2)>>2],Qa)|0;Na=(c[Oa+(k<<2)>>2]|0)+((g>>c[w+13424+(k<<2)>>2]<<c[w+52>>2])+Na)|0;w=(k|0)!=0;Oa=Ma+320|0;Pa=w?Ma+11680|0:Oa;g=Da;h=g+64|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));v=1<<i;Aa=(k|0)==0;Ca=c[(Aa?Ma+288|0:Ma+292|0)>>2]|0;La=v<<i;jv(Pa|0,0,La<<1|0)|0;Ba=Ma+31254|0;if(!(a[Ba>>0]|0)){l=a[Ma+272>>0]|0;n=f+1416|0;za=c[n>>2]|0;if((a[za+21>>0]|0)!=0?(d[za+1629>>0]|0)>=(i|0):0)p=yX(f,k)|0;else p=0;if(Aa){za=c[Ka>>2]|0;g=(c[za+13448>>2]|0)+l|0;l=za}else{g=c[n>>2]|0;if((k|0)==1){g=(c[f+3068>>2]|0)+(c[g+28>>2]|0)|0;h=Ma+302|0}else{g=(c[f+3072>>2]|0)+(c[g+32>>2]|0)|0;h=Ma+303|0}g=g+(a[h>>0]|0)+l|0;l=c[Ka>>2]|0;h=c[l+13448>>2]|0;za=0-h|0;g=(g|0)<(za|0)?za:(g|0)<57?g:57;do if((c[l+4>>2]|0)==1){if((g|0)>=30)if((g|0)>43){g=g+-6|0;break}else{g=c[80752+(g+-30<<2)>>2]|0;break}}else g=(g|0)<51?g:51;while(0);g=g+h|0}m=(c[l+44>>2]|0)+i|0;h=m+-5|0;m=1<<m+-6;g=d[209484+(d[80048+g>>0]|0)>>0]<<d[80128+g>>0];if((a[l+634>>0]|0)!=0?!((i|0)>2&(p|0)!=0):0){n=c[n>>2]|0;n=(a[n+68>>0]|0)==0?l+635|0:n+69|0;o=((c[Ma+31244>>2]|0)==1?0:3)+k|0;l=n+((i+-2|0)*384|0)+(o<<6)|0;if((i|0)>3){za=g;u=p;x=a[n+1536+((i+-4|0)*6|0)+o>>0]|0}else{za=g;u=p;x=16}}else{za=g;u=p;l=0;x=16}}else{h=0;m=0;za=0;u=0;l=0;x=0}ya=Ma+31244|0;do if((c[ya>>2]|0)==0?(c[(c[Ka>>2]|0)+13364>>2]|0)!=0:0){if((u|0)==0?(a[Ba>>0]|0)==0:0){g=0;xa=0;break}g=IX(f,k)|0;if(g)xa=AX(f,k)|0;else{g=0;xa=0}}else{g=0;xa=0}while(0);q=(i<<1)+-1|0;if(Aa){p=i+1>>2;n=(i*3|0)+-6+(i+-1>>2)|0}else{p=i+-2|0;n=15}o=n+52|0;r=0;while(1){if((r|0)>=(q|0))break;wa=c[Ga>>2]|0;if(!(LA(wa+224|0,wa+(o+(r>>>p))|0)|0))break;r=r+1|0}n=n+70|0;s=0;while(1){if((s|0)>=(q|0))break;wa=c[Ga>>2]|0;if(!(LA(wa+224|0,wa+(n+(s>>>p))|0)|0))break;s=s+1|0}if(r>>>0>3){p=(r>>>1)+-1|0;n=MP((c[Ga>>2]|0)+224|0)|0;o=1;while(1){if((o|0)>=(p|0))break;n=MP((c[Ga>>2]|0)+224|0)|0|n<<1;o=o+1|0}r=n+((r&1|2)<<p)|0}if(s>>>0>3){p=(s>>>1)+-1|0;n=MP((c[Ga>>2]|0)+224|0)|0;o=1;while(1){if((o|0)>=(p|0))break;n=MP((c[Ga>>2]|0)+224|0)|0|n<<1;o=o+1|0}s=n+((s&1|2)<<p)|0}a:do if((j|0)==2){p=r;q=s;t=r>>2;o=s>>2;Ja=56}else{o=r>>2;t=s>>2;switch(j|0){case 0:break;case 1:{va=80352;wa=80368;n=d[80288+(s<<3)+r>>0]|0;ta=209494;ua=209498;break a}default:{p=s;q=r;Ja=56;break a}}n=d[(r&3)+(80208+((s&3)<<2))>>0]|0;switch(i|0){case 2:{va=80464;wa=80480;ta=1113148;ua=1113148;break a}case 3:{va=80464;wa=80480;n=(d[209490+(t<<1)+o>>0]<<4)+n|0;ta=209498;ua=209494;break a}case 4:{va=80464;wa=80480;n=(d[80208+(t<<2)+o>>0]<<4)+n|0;ta=80464;ua=80480;break a}default:{va=80464;wa=80480;n=(d[80224+(t<<3)+o>>0]<<4)+n|0;ta=80496;ua=80560;break a}}}while(0);if((Ja|0)==56){va=80368;wa=80352;n=d[80288+(q<<3)+p>>0]|0;ta=209498;ua=209494;s=p;r=q}ra=n+1|0;pa=n>>4;sa=i+-2|0;qa=(1<<sa)+-1|0;oa=v+-1>>2;la=(k|0)>0;ma=la?90:88;ka=w?27:0;ea=(i|0)==2;fa=(u|0)==0;da=Aa?40:41;ga=ka+3|0;ha=(i|0)==3;ia=(Aa&1)<<1;ja=ia|1;ba=(j|0)==0?9:15;$=Aa?0:27;_=Aa?42:43;Y=(u|0)!=0;aa=(g|0)==0;Z=f+1416|0;na=(Ca|16|0)==26;ca=(g|0)!=0;W=na|ca;S=f+4|0;T=((za|0)<0)<<31>>31;U=((m|0)<0)<<31>>31;X=(i|0)>2&Y;V=(i|0)<4;R=x&255;Q=ka+(ha?9:12)|0;p=1;P=pa;n=0;g=16;while(1){if((P|0)<=-1)break;u=P<<4;k=a[ta+P>>0]|0;A=k&255;x=a[ua+P>>0]|0;B=x&255;z=(P|0)!=0;if((P|0)<(pa|0)&z){if((qa|0)>(A|0))q=d[Da+(A+1<<3)+B>>0]|0;else q=0;if((qa|0)>(B|0))q=q+(d[B+1+(Da+(A<<3))>>0]|0)|0;v=c[Ga>>2]|0;y=1;v=(LA(v+224|0,v+(((q|0)<1?q:1)+ma)|0)|0)&255}else{y=0;v=((x|k)<<24>>24==0|(o|0)==(A|0)&(t|0)==(B|0))&1}a[Da+(A<<3)+B>>0]=v;q=ra-u|0;if((P|0)==(pa|0)){a[Ea>>0]=q+255;j=q+-2|0;u=1}else{j=15;u=0}if((oa|0)>(A|0))q=(a[Da+(A+1<<3)+B>>0]|0)!=0&1;else q=0;if((oa|0)>(B|0))q=((a[B+1+(Da+(A<<3))>>0]|0)!=0&1)<<1|q;do if((j|0)>-1&v<<24>>24!=0){if(!(c[(c[Ka>>2]|0)+13356>>2]|0))if(ea){v=80384;k=ka}else Ja=77;else if(fa){w=(a[Ba>>0]|0)!=0;if(w|ea){v=w?80448:80384;k=w?da:ka}else Ja=77}else{v=80448;k=da}do if((Ja|0)==77){Ja=0;v=80384+((q<<4)+16)|0;if(Aa){q=(x|k)<<24>>24==0?ka:ga;if(ha){k=q+ba|0;break}else{k=q+21|0;break}}else k=Q}while(0);x=k+92|0;w=j;q=y;while(1){if((w|0)<=0)break;O=c[Ga>>2]|0;if(LA(O+224|0,O+(x+(d[v+((d[wa+w>>0]<<2)+(d[va+w>>0]|0))>>0]|0))|0)|0){a[Ea+(u&255)>>0]=w;u=u+1<<24>>24;q=0}w=w+-1|0}if(q|0){a[Ea+(u&255)>>0]=0;u=u+1<<24>>24;break}if(c[(c[Ka>>2]|0)+13356>>2]|0)if(fa?(a[Ba>>0]|0)==0:0)Ja=90;else q=_;else Ja=90;if((Ja|0)==90){Ja=0;q=(P|0)==0?$:k+2|0}O=c[Ga>>2]|0;if((LA(O+224|0,O+(q+92)|0)|0)==1){a[Ea+(u&255)>>0]=0;u=u+1<<24>>24}}while(0);O=u&255;if(u<<24>>24){q=Aa&z?2:0;if(!(c[(c[Ka>>2]|0)+13372>>2]|0))y=0;else{if(fa?(a[Ba>>0]|0)==0:0)n=ia;else n=ja;y=(d[Ma+199+n>>0]|0)>>>2&255}j=q|(P|0)!=(pa|0)&(p|0)==0&1;w=a[Ea>>0]|0;k=O>>>0<8?O:8;x=j<<2;N=-1;v=0;p=1;while(1){if(v>>>0>=k>>>0)break;L=p+x|0;K=c[Ga>>2]|0;L=(LA(K+224|0,K+((la?L+16|0:L)+136)|0)|0)&255;a[Fa+v>>0]=L;if(!(L<<24>>24)){q=N;p=p+((p+-1|0)>>>0<2&1)|0}else{q=(N|0)==-1?v:N;p=0}N=q;v=v+1|0}q=w&255;L=a[Ea+(O+-1)>>0]|0;v=L&255;b:do if(!(a[Ba>>0]|0)){do if((c[ya>>2]|0)==1){if(!(Y&(c[(c[Ka>>2]|0)+13360>>2]|0)!=0)){Ja=110;break}if(W){q=0;break b}}else Ja=110;while(0);if((Ja|0)==110?(Ja=0,!aa):0){q=0;break}q=(q-v|0)>3&1}else q=0;while(0);if((N|0)!=-1){J=c[Ga>>2]|0;J=LA(J+224|0,J+((la?j|4:j)|160)|0)|0;K=Fa+N|0;a[K>>0]=J+(d[K>>0]|0)}K=(q|0)!=0;c:do if(K&(a[(c[Z>>2]|0)+4>>0]|0)!=0){v=u+-1&255;q=0;u=0;while(1){if((u|0)==(v|0)){u=17;break c}q=MP((c[Ga>>2]|0)+224|0)|0|q<<1;u=u+1|0}}else{q=0;u=0;while(1){if((u|0)==(O|0)){u=16;break c}q=MP((c[Ga>>2]|0)+224|0)|0|q<<1;u=u+1|0}}while(0);J=A<<2;G=B<<2;I=Ma+199+n|0;B=0;z=0;C=q<<u-O;x=y;F=0;while(1){if((F|0)==(O|0))break;A=a[Ea+F>>0]|0;E=A&255;D=J+(d[va+E>>0]|0)|0;E=G+(d[wa+E>>0]|0)|0;do if(F>>>0<8){y=(d[Fa+F>>0]|0)+1|0;j=(F|0)==(N|0);if(!(((j?3:2)|0)==(y|0)&((j?0:0)|0)==0)){j=z;k=x;q=y;u=0;break}q=0;while(1){if(q>>>0>=31){Ja=135;break}if(!(MP((c[Ga>>2]|0)+224|0)|0)){Ja=130;break}q=q+1|0}do if((Ja|0)==130){Ja=0;if(q>>>0>=3){Ja=136;break}u=0;v=0;while(1){if((u|0)>=(x|0))break;u=u+1|0;v=MP((c[Ga>>2]|0)+224|0)|0|v<<1}j=v+(q<<x)|0}else if((Ja|0)==135)if((q|0)==31){q=31;Ja=141}else Ja=136;while(0);do if((Ja|0)==136){Ja=0;v=q+-3|0;w=v+x|0;if((w|0)>30){Ja=141;break}q=0;u=0;while(1){if((q|0)>=(w|0))break;q=q+1|0;u=MP((c[Ga>>2]|0)+224|0)|0|u<<1}j=u+((1<<v)+2<<x)|0}while(0);if((Ja|0)==141){Ja=0;j=c[S>>2]|0;c[Ha>>2]=q;AD(j,16,209464,Ha);j=0}q=aX(j|0,((j|0)<0)<<31>>31|0,y|0,0)|0;u=M()|0;y=3<<x;k=((y|0)<0)<<31>>31;v=c[(c[Ka>>2]|0)+13372>>2]|0;if((u|0)>(k|0)|(u|0)==(k|0)&q>>>0>y>>>0){k=x+1|0;k=(v|0)==0?((k|0)<4?k:4):k}else k=x;if((z|0)!=0|(v|0)==0){j=z;break}v=a[I>>0]|0;w=(v&255)>>>2;if((j|0)>=(3<<w|0)){a[I>>0]=v+1<<24>>24;j=1;break}if(v<<24>>24==0|(j<<1|0)>=(1<<w|0)){j=1;break}a[I>>0]=v+-1<<24>>24;j=1}else{q=0;while(1){if(q>>>0>=31){Ja=157;break}if(!(MP((c[Ga>>2]|0)+224|0)|0)){Ja=152;break}q=q+1|0}do if((Ja|0)==152){Ja=0;if(q>>>0>=3){Ja=158;break}u=0;v=0;while(1){if((u|0)>=(x|0))break;u=u+1|0;v=MP((c[Ga>>2]|0)+224|0)|0|v<<1}k=v+(q<<x)|0}else if((Ja|0)==157)if((q|0)==31){q=31;Ja=163}else Ja=158;while(0);do if((Ja|0)==158){Ja=0;v=q+-3|0;w=v+x|0;if((w|0)>30){Ja=163;break}q=0;u=0;while(1){if((q|0)>=(w|0))break;q=q+1|0;u=MP((c[Ga>>2]|0)+224|0)|0|u<<1}k=u+((1<<v)+2<<x)|0}while(0);if((Ja|0)==163){Ja=0;k=c[S>>2]|0;c[Ia>>2]=q;AD(k,16,209464,Ia);k=0}q=k+1|0;u=((q|0)<0)<<31>>31;v=c[(c[Ka>>2]|0)+13372>>2]|0;if((k|0)>=(3<<x|0)){x=x+1|0;x=(v|0)==0?((x|0)<4?x:4):x}if((z|0)!=0|(v|0)==0){j=z;k=x;break}v=a[I>>0]|0;w=(v&255)>>>2;if((k|0)>=(3<<w|0)){a[I>>0]=v+1<<24>>24;j=1;k=x;break}if(v<<24>>24==0|(k<<1|0)>=(1<<w|0)){j=1;k=x;break}a[I>>0]=v+-1<<24>>24;j=1;k=x}while(0);if(K&(a[(c[Z>>2]|0)+4>>0]|0)!=0){x=B+q|0;A=(x&1|0)==0?1:A<<24>>24!=L<<24>>24;z=_W(0,0,q|0,u|0)|0;B=M()|0;q=A?q:z;u=A?u:B}else x=B;B=(C&32768|0)==0;v=_W(0,0,q|0,u|0)|0;w=M()|0;v=B?q:v;u=B?u:w;w=C<<1&131070;q=v&65535;do if(!(a[Ba>>0]|0)){do if(!((a[(c[Ka>>2]|0)+634>>0]|0)==0|X)){if(!(V|(E|D|0)!=0)){g=R;break}switch(i|0){case 3:{g=(E<<3)+D|0;break}case 4:{g=(E>>>1<<3)+(D>>>1)|0;break}case 5:{g=(E>>>2<<3)+(D>>>2)|0;break}default:g=(E<<2)+D|0}g=d[l+g>>0]|0}while(0);q=MR(v|0,u|0,za|0,T|0)|0;q=MR(q|0,M()|0,g|0,((g|0)<0)<<31>>31|0)|0;q=aX(q|0,M()|0,m|0,U|0)|0;q=BU(q|0,M()|0,h|0)|0;u=M()|0;if((u|0)<0){q=(q&-32768|0)==-32768&(u&268435455|0)==268435455?q&65535:-32768;break}else{C=u>>>0<0|(u|0)==0&q>>>0<32767;q=C?q:32767;q=q&65535;break}}while(0);b[Pa+((E<<i)+D<<1)>>1]=q;B=x;z=j;C=w;x=k;F=F+1|0}}P=P+-1|0}do if(a[Ba>>0]|0){g=c[(c[Ka>>2]|0)+13360>>2]|0;if(na&(g|0)!=0|aa^1)gc[c[f+5812>>2]&1023](Pa,i&65535,(g|0)==0?xa:(Ca|0)==26&1)}else{if(!fa){d:do if(ea&(c[(c[Ka>>2]|0)+13352>>2]|0)!=0?(c[ya>>2]|0)==1:0){g=0;while(1){if((g|0)==8)break d;Ha=Pa+(15-g<<1)|0;Ia=b[Ha>>1]|0;Ja=Pa+(g<<1)|0;b[Ha>>1]=b[Ja>>1]|0;b[Ja>>1]=Ia;g=g+1|0}}while(0);g=i&65535;ec[c[f+5808>>2]&255](Pa,g);if(!ca){if(!(c[(c[Ka>>2]|0)+13360>>2]|0))break;if(!(na&(c[ya>>2]|0)==1))break}gc[c[f+5812>>2]&1023](Pa,g,ca?xa:(Ca|0)==26&1);break}if(ea&(Aa&(c[ya>>2]|0)==1)){dc[c[f+5816>>2]&63](Pa);break}h=(r|0)>(s|0)?r:s;if(!h){dc[c[f+5836+(sa<<2)>>2]&63](Pa);break}g=s+4+r|0;do if((h|0)>=4)if((h|0)<8){g=(g|0)<8?g:8;break}else{g=(h|0)<12?((g|0)<24?g:24):g;break}else g=(g|0)<4?g:4;while(0);ec[c[f+5820+(sa<<2)>>2]&255](Pa,g)}while(0);e:do if(a[Ma+304>>0]|0){h=Ma+284|0;g=0;while(1){if((g|0)>=(La|0))break e;Ma=Pa+(g<<1)|0;i=((H(c[h>>2]|0,b[Oa+(g<<1)>>1]|0)|0)>>>3)+(e[Ma>>1]|0)&65535;b[Ma>>1]=i;g=g+1|0}}while(0);gc[c[f+5792+(sa<<2)>>2]&1023](Na,Pa,Qa);Mb=Ra;return}function Oc(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0;ca=Mb;Mb=Mb+320|0;U=ca+240|0;V=ca+160|0;Z=ca+80|0;X=ca;q=c[b+136>>2]|0;S=c[b+1412>>2]|0;P=c[S+13424+(g<<2)>>2]|0;O=c[S+13436+(g<<2)>>2]|0;t=32<<P;j=c[S+13328>>2]|0;s=32<<O;k=c[S+13420>>2]|0;l=e>>j&k;m=f>>j&k;r=c[b+1416>>2]|0;n=c[r+1684>>2]|0;o=k+2|0;p=n+((H(m,o)|0)+l<<2)|0;p=c[p>>2]|0;ba=c[b+160>>2]|0;aa=c[ba+32+(g<<2)>>2]|0;C=0-aa|0;ba=(c[ba+(g<<2)>>2]|0)+(e>>P)+(H(aa,f>>O)|0)|0;Q=c[S+13412>>2]|0;T=(g|0)==0;$=c[(T?q+288|0:q+292|0)>>2]|0;i=U+1|0;h=Z+1|0;Y=V+1|0;_=X+1|0;if(!(c[q+31284>>2]|0))u=0;else{u=n+(l+-1+(H(m+(s>>j)&k,o)|0)<<2)|0;u=(p|0)>(c[u>>2]|0)}v=u&1;w=c[q+31288>>2]|0;z=c[q+31296>>2]|0;A=c[q+31292>>2]|0;if(!(c[q+31300>>2]|0))x=0;else{x=n+((H(m+-1|0,o)|0)+(l+(t>>j)&k)<<2)|0;x=(p|0)>(c[x>>2]|0)}j=x&1;J=(s<<1)+f|0;G=S+13380|0;B=c[G>>2]|0;I=s+f|0;J=((J|0)>(B|0)?B:J)-I>>O;B=(t<<1)+e|0;E=S+13376|0;D=c[E>>2]|0;F=t+e|0;B=((B|0)>(D|0)?D:B)-F>>P;D=r+20|0;if((a[D>>0]|0)==1){y=c[S+13340>>2]|0;r=s>>y;t=t>>y;s=(1<<y)+-1|0;q=(s&e|0)==0;s=(s&f|0)==0;t=t+((t|0)==0&1)|0;a:do if(u&q){n=e+-1>>y;o=I>>y;m=(c[S+13416>>2]|0)-o|0;m=(r|0)>(m|0)?m:r;p=b+3516|0;k=0;l=0;while(1){if((k|0)>=(m|0)){v=l;break a}N=(c[(c[p>>2]|0)+20>>2]|0)+(((H(k+o|0,Q)|0)+n|0)*12|0)+10|0;k=k+2|0;l=l|(a[N>>0]|0)==0}}while(0);b:do if((w|0)==1&q){o=e+-1>>y;p=f>>y;m=(c[S+13416>>2]|0)-p|0;m=(r|0)>(m|0)?m:r;n=b+3516|0;k=0;l=0;while(1){if((l|0)>=(m|0)){q=k;break b}N=(c[(c[n>>2]|0)+20>>2]|0)+(((H(l+p|0,Q)|0)+o|0)*12|0)+10|0;k=k|(a[N>>0]|0)==0;l=l+2|0}}else q=w;while(0);if((z|0)==1){p=(c[(c[b+3516>>2]|0)+20>>2]|0)+(((H(f+-1>>y,Q)|0)+(e+-1>>y)|0)*12|0)+10|0;p=(a[p>>0]|0)==0&1}else p=z;c:do if((A|0)==1&s){o=e>>y;m=Q-o|0;m=(t|0)>(m|0)?m:t;n=b+3516|0;o=(H(f+-1>>y,Q)|0)+o|0;k=0;l=0;while(1){if((l|0)>=(m|0)){o=k;break c}k=k|(a[(c[(c[n>>2]|0)+20>>2]|0)+((o+l|0)*12|0)+10>>0]|0)==0;l=l+2|0}}else o=A;while(0);d:do if(x&s){l=F>>y;m=Q-l|0;m=(t|0)>(m|0)?m:t;n=b+3516|0;l=(H(f+-1>>y,Q)|0)+l|0;j=0;k=0;while(1){if((k|0)>=(m|0))break d;j=j|(a[(c[(c[n>>2]|0)+20>>2]|0)+((l+k|0)*12|0)+10>>0]|0)==0;k=k+2|0}}while(0);l=i;m=l+64|0;do{a[l>>0]=128;l=l+1|0}while((l|0)<(m|0));l=Z;m=l+64|0;do{c[l>>2]=-2139062144;l=l+4|0}while((l|0)<(m|0));a[Z+64>>0]=128;z=p;w=q;A=o;n=j}else n=j;y=(z|0)!=0;if(y){N=a[ba+~aa>>0]|0;a[U>>0]=N;a[Z>>0]=N}L=(A|0)!=0;if(L){l=h;j=ba+C|0;m=l+32|0;do{a[l>>0]=a[j>>0]|0;l=l+1|0;j=j+1|0}while((l|0)<(m|0))}N=(n|0)!=0;e:do if(N){k=Z+33|0;l=k;j=ba+C+32|0;m=l+32|0;do{a[l>>0]=a[j>>0]|0;l=l+1|0;j=j+1|0}while((l|0)<(m|0));l=H(d[ba+(31-aa+B)>>0]|0,16843009)|0;m=32-B|0;k=k+B|0;j=0;while(1){if((j|0)>=(m|0))break e;C=k+j|0;a[C>>0]=l;a[C+1>>0]=l>>8;a[C+2>>0]=l>>16;a[C+3>>0]=l>>24;j=j+4|0}}while(0);x=(w|0)!=0;f:do if(x){j=0;while(1){if((j|0)==32)break f;C=ba+((H(j,aa)|0)+-1)|0;a[i+j>>0]=a[C>>0]|0;j=j+1|0}}while(0);u=(v|0)!=0;g:do if(u){k=J+32|0;j=32;while(1){if((j|0)>=(k|0))break;C=ba+((H(j,aa)|0)+-1)|0;a[i+j>>0]=a[C>>0]|0;j=j+1|0}k=ba+((H(J+31|0,aa)|0)+-1)|0;k=H(d[k>>0]|0,16843009)|0;l=32-J|0;m=U+33+J|0;j=0;while(1){if((j|0)>=(l|0))break g;C=m+j|0;a[C>>0]=k;a[C+1>>0]=k>>8;a[C+2>>0]=k>>16;a[C+3>>0]=k>>24;j=j+4|0}}while(0);h:do if((a[D>>0]|0)==1?(K=v|w,M=(K|0)==0,K=K|z,A|n|K|0):0){E=c[E>>2]|0;t=E-e>>P;G=c[G>>2]|0;s=G-f>>O;t=N?(((64<<P)+e|0)<(E|0)?64:t):(F|0)<(E|0)?32:t;s=u?(((64<<O)+f|0)<(G|0)?64:s):(I|0)<(G|0)?32:s;do if(!K){l=b+3516|0;m=S+13340|0;n=(-1<<O)+f|0;j=0;while(1){if((j|0)>=(t|0))break;K=c[m>>2]|0;K=(c[(c[l>>2]|0)+20>>2]|0)+(((H(n>>K,Q)|0)+((j<<P)+e>>K)|0)*12|0)+10|0;if(!(a[K>>0]|0))break;j=j+1|0}i:do if(j|0){if((e|0)>0)while(1){if((j|0)<=-1)break i;k=j+-1|0;K=c[m>>2]|0;K=(c[(c[l>>2]|0)+20>>2]|0)+(((H(n>>K,Q)|0)+((k<<P)+e>>K)|0)*12|0)+10|0;if(a[K>>0]|0)a[Z+j>>0]=a[h+j>>0]|0;j=k}while(1){if((j|0)<=0)break;k=j+-1|0;K=c[m>>2]|0;K=(c[(c[l>>2]|0)+20>>2]|0)+(((H(n>>K,Q)|0)+((k<<P)+e>>K)|0)*12|0)+10|0;if(a[K>>0]|0)a[Z+j>>0]=a[h+j>>0]|0;j=k}a[Z>>0]=a[h>>0]|0}while(0);o=a[Z>>0]|0;a[U>>0]=o}else{o=S+13340|0;p=(c[b+3516>>2]|0)+20|0;m=c[p>>2]|0;n=c[o>>2]|0;l=(-1<<P)+e>>n;j=u?J+32|0:32;do{K=j;j=j+-1|0;k=H((j<<O)+f>>n,Q)|0;if((K|0)<=0)break}while((a[m+((k+l|0)*12|0)+10>>0]|0)!=0);if(!(a[m+((k+(e-(1<<P)>>n)|0)*12|0)+10>>0]|0)){o=a[Z>>0]|0;break}l=f-(1<<O)|0;k=H(l>>n,Q)|0;j=0;while(1){if((j|0)>=(t|0))break;if(!(a[m+((((j<<P)+e>>n)+k|0)*12|0)+10>>0]|0))break;j=j+1|0}while(1){if((j|0)<=-1)break;k=j+-1|0;K=c[o>>2]|0;K=(c[p>>2]|0)+(((H(l>>K,Q)|0)+((k<<P)+e>>K)|0)*12|0)+10|0;if(a[K>>0]|0)a[Z+j>>0]=a[h+j>>0]|0;j=k}o=a[Z>>0]|0;a[U>>0]=o}while(0);a[U>>0]=o;j:do if(!M){l=b+3516|0;m=(-1<<P)+e|0;n=S+13340|0;j=H(o&255,16843009)|0;k=0;while(1){if((k|0)>=(s|0))break j;M=c[n>>2]|0;M=(c[(c[l>>2]|0)+20>>2]|0)+(((H((k<<O)+f>>M,Q)|0)+(m>>M)|0)*12|0)+10|0;if(!(a[M>>0]|0))j=H(d[i+(k|3)>>0]|0,16843009)|0;else{M=i+k|0;a[M>>0]=j;a[M+1>>0]=j>>8;a[M+2>>0]=j>>16;a[M+3>>0]=j>>24}k=k+4|0}}while(0);k:do if(!x){k=H(o&255,16843009)|0;j=0;while(1){if(j>>>0>=32)break k;M=i+j|0;a[M>>0]=k;a[M+1>>0]=k>>8;a[M+2>>0]=k>>16;a[M+3>>0]=k>>24;j=j+4|0}}while(0);l:do if(!u){k=H(d[U+32>>0]|0,16843009)|0;l=U+33|0;j=0;while(1){if(j>>>0>=32)break l;M=l+j|0;a[M>>0]=k;a[M+1>>0]=k>>8;a[M+2>>0]=k>>16;a[M+3>>0]=k>>24;j=j+4|0}}while(0);r=(f|0)!=0;m:do if((e|0)!=0&r){j=H(d[U+s>>0]|0,16843009)|0;o=(c[b+3516>>2]|0)+20|0;p=(-1<<P)+e|0;q=S+13340|0;n=s+-1|0;while(1){k=c[o>>2]|0;l=c[q>>2]|0;m=p>>l;if((n|0)<=-1)break;K=n+-3|0;M=k+(((H((K<<O)+f>>l,Q)|0)+m|0)*12|0)+10|0;k=i+K|0;if(!(a[M>>0]|0))j=H(d[k>>0]|0,16843009)|0;else{a[k>>0]=j;a[k+1>>0]=j>>8;a[k+2>>0]=j>>16;a[k+3>>0]=j>>24}n=n+-4|0}M=k+(((H((-1<<O)+f>>l,Q)|0)+m|0)*12|0)+10|0;if(a[M>>0]|0)a[U>>0]=a[i>>0]|0}else{if(!e){j=0;while(1){if((j|0)>=(s|0))break m;M=i+j|0;a[M>>0]=0;a[M+1>>0]=0;a[M+2>>0]=0;a[M+3>>0]=0;j=j+4|0}}m=b+3516|0;n=(-1<<P)+e|0;o=S+13340|0;l=s+-1|0;j=H(d[U+s>>0]|0,16843009)|0;while(1){if((l|0)<=-1)break m;M=c[o>>2]|0;k=l+-3|0;M=(c[(c[m>>2]|0)+20>>2]|0)+(((H((k<<O)+f>>M,Q)|0)+(n>>M)|0)*12|0)+10|0;k=i+k|0;if(!(a[M>>0]|0))j=H(d[k>>0]|0,16843009)|0;else{a[k>>0]=j;a[k+1>>0]=j>>8;a[k+2>>0]=j>>16;a[k+3>>0]=j>>24}l=l+-4|0}}while(0);j=a[U>>0]|0;a[Z>>0]=j;if(r){m=b+3516|0;n=S+13340|0;l=(-1<<O)+f|0;k=0;j=H(j&255,16843009)|0;while(1){if((k|0)>=(t|0))break h;f=c[n>>2]|0;f=(c[(c[m>>2]|0)+20>>2]|0)+(((H(l>>f,Q)|0)+((k<<P)+e>>f)|0)*12|0)+10|0;if(!(a[f>>0]|0))j=H(d[h+(k|3)>>0]|0,16843009)|0;else{f=h+k|0;a[f>>0]=j;a[f+1>>0]=j>>8;a[f+2>>0]=j>>16;a[f+3>>0]=j>>24}k=k+4|0}}}while(0);n:do if(!u){if(x){k=H(d[U+32>>0]|0,16843009)|0;l=U+33|0;j=0;while(1){if(j>>>0>=32){R=147;break n}R=l+j|0;a[R>>0]=k;a[R+1>>0]=k>>8;a[R+2>>0]=k>>16;a[R+3>>0]=k>>24;j=j+4|0}}if(y){k=H(d[U>>0]|0,16843009)|0;j=0;while(1){if(j>>>0>=64){R=151;break n}R=i+j|0;a[R>>0]=k;a[R+1>>0]=k>>8;a[R+2>>0]=k>>16;a[R+3>>0]=k>>24;j=j+4|0}}if(L){k=a[h>>0]|0;a[U>>0]=k;k=H(k&255,16843009)|0;j=0;while(1){if(j>>>0>=64){R=153;break n}R=i+j|0;a[R>>0]=k;a[R+1>>0]=k>>8;a[R+2>>0]=k>>16;a[R+3>>0]=k>>24;j=j+4|0}}if(N){k=Z+33|0;l=H(d[k>>0]|0,16843009)|0;j=0;while(1){if(j>>>0>=32)break;Q=h+j|0;a[Q>>0]=l;a[Q+1>>0]=l>>8;a[Q+2>>0]=l>>16;a[Q+3>>0]=l>>24;j=j+4|0}k=a[k>>0]|0;a[U>>0]=k;k=H(k&255,16843009)|0;j=0;while(1){if(j>>>0>=64)break n;Q=i+j|0;a[Q>>0]=k;a[Q+1>>0]=k>>8;a[Q+2>>0]=k>>16;a[Q+3>>0]=k>>24;j=j+4|0}}else{a[U>>0]=-128;j=0;while(1){if(j>>>0>=64)break;R=h+j|0;a[R>>0]=-2139062144;a[R+1>>0]=-2139062144>>8;a[R+2>>0]=-2139062144>>16;a[R+3>>0]=-2139062144>>24;j=j+4|0}j=0;while(1){if(j>>>0>=64){R=147;break n}R=i+j|0;a[R>>0]=-2139062144;a[R+1>>0]=-2139062144>>8;a[R+2>>0]=-2139062144>>16;a[R+3>>0]=-2139062144>>24;j=j+4|0}}}else R=147;while(0);o:do if((R|0)==147)if(!w){k=H(d[U+33>>0]|0,16843009)|0;j=0;while(1){if(j>>>0>=32){R=151;break o}R=i+j|0;a[R>>0]=k;a[R+1>>0]=k>>8;a[R+2>>0]=k>>16;a[R+3>>0]=k>>24;j=j+4|0}}else R=151;while(0);if((R|0)==151)if(!z){a[U>>0]=a[i>>0]|0;R=153}else R=153;p:do if((R|0)==153?(A|0)==0:0){k=H(d[U>>0]|0,16843009)|0;j=0;while(1){if(j>>>0>=32)break p;R=h+j|0;a[R>>0]=k;a[R+1>>0]=k>>8;a[R+2>>0]=k>>16;a[R+3>>0]=k>>24;j=j+4|0}}while(0);q:do if(!N){k=H(d[Z+32>>0]|0,16843009)|0;l=Z+33|0;j=0;while(1){if(j>>>0>=32)break q;R=l+j|0;a[R>>0]=k;a[R+1>>0]=k>>8;a[R+2>>0]=k>>16;a[R+3>>0]=k>>24;j=j+4|0}}while(0);m=a[U>>0]|0;a[Z>>0]=m;r:do if(!(c[S+13368>>2]|0)){if(!T?(c[S+4>>2]|0)!=3:0){R=182;break}if(($|0)!=1){R=$+-26|0;R=(R|0)>-1?R:26-$|0;Q=$+-10|0;Q=(Q|0)>-1?Q:10-$|0;if((((R|0)>(Q|0)?Q:R)|0)>0){if(T&(a[S+13317>>0]|0)!=0){l=m&255;j=a[Z+64>>0]|0;k=j&255;T=k+l-(d[Z+32>>0]<<1)|0;if((((T|0)>-1?T:0-T|0)|0)<8?(W=U+64|0,T=(d[W>>0]|0)+l-(d[U+32>>0]<<1)|0,(((T|0)>-1?T:0-T|0)|0)<8):0){a[X>>0]=m;a[X+64>>0]=j;h=0;while(1){if((h|0)==63)break;Z=h+1|0;Y=((H(Z,k)|0)+32+(H(63-h|0,l)|0)|0)>>>6&255;a[_+h>>0]=Y;h=Z}h=0;while(1){if((h|0)==63){h=_;R=182;break r}Z=h+1|0;Y=H(63-h|0,l)|0;Y=(Y+32+(H(Z,d[W>>0]|0)|0)|0)>>>6&255;a[i+h>>0]=Y;h=Z}}}else j=a[Z+64>>0]|0;a[V+64>>0]=a[U+64>>0]|0;a[X+64>>0]=j;j=62;while(1){if((j|0)<=-1)break;a[Y+j>>0]=((d[i+(j+1)>>0]|0)+2+(d[i+j>>0]<<1)+(d[U+j>>0]|0)|0)>>>2;j=j+-1|0}i=(((m&255)<<1)+2+(d[i>>0]|0)+(d[h>>0]|0)|0)>>>2&255;a[V>>0]=i;a[X>>0]=i;i=62;while(1){if((i|0)<=-1){i=Y;h=_;R=182;break r}a[_+i>>0]=((d[h+(i+1)>>0]|0)+2+(d[h+i>>0]<<1)+(d[Z+i>>0]|0)|0)>>>2;i=i+-1|0}}else R=182}else R=184}else R=182;while(0);s:do if((R|0)==182)switch($|0){case 1:{R=184;break s}case 0:{hc[c[b+5764>>2]&255](ba,h,i,aa);break s}default:{kc[c[b+5784>>2]&127](ba,h,i,aa,g,$);break s}}while(0);if((R|0)==184)kc[c[b+5768>>2]&127](ba,h,i,aa,5,g);Mb=ca;return}function Pc(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0;ba=Mb;Mb=Mb+320|0;U=ba+240|0;V=ba+160|0;Y=ba+80|0;W=ba;q=c[b+136>>2]|0;S=c[b+1412>>2]|0;P=c[S+13424+(g<<2)>>2]|0;O=c[S+13436+(g<<2)>>2]|0;t=8<<P;j=c[S+13328>>2]|0;s=8<<O;k=c[S+13420>>2]|0;l=e>>j&k;m=f>>j&k;r=c[b+1416>>2]|0;n=c[r+1684>>2]|0;o=k+2|0;p=n+((H(m,o)|0)+l<<2)|0;p=c[p>>2]|0;aa=c[b+160>>2]|0;$=c[aa+32+(g<<2)>>2]|0;C=0-$|0;aa=(c[aa+(g<<2)>>2]|0)+(e>>P)+(H($,f>>O)|0)|0;Q=c[S+13412>>2]|0;T=(g|0)==0;_=c[(T?q+288|0:q+292|0)>>2]|0;i=U+1|0;h=Y+1|0;X=V+1|0;Z=W+1|0;if(!(c[q+31284>>2]|0))u=0;else{u=n+(l+-1+(H(m+(s>>j)&k,o)|0)<<2)|0;u=(p|0)>(c[u>>2]|0)}v=u&1;w=c[q+31288>>2]|0;z=c[q+31296>>2]|0;A=c[q+31292>>2]|0;if(!(c[q+31300>>2]|0))x=0;else{x=n+((H(m+-1|0,o)|0)+(l+(t>>j)&k)<<2)|0;x=(p|0)>(c[x>>2]|0)}l=x&1;J=(s<<1)+f|0;G=S+13380|0;B=c[G>>2]|0;I=s+f|0;J=((J|0)>(B|0)?B:J)-I>>O;B=(t<<1)+e|0;E=S+13376|0;D=c[E>>2]|0;F=t+e|0;B=((B|0)>(D|0)?D:B)-F>>P;D=r+20|0;if((a[D>>0]|0)==1){y=c[S+13340>>2]|0;r=s>>y;t=t>>y;s=(1<<y)+-1|0;q=(s&e|0)==0;s=(s&f|0)==0;t=t+((t|0)==0&1)|0;a:do if(u&q){n=e+-1>>y;o=I>>y;m=(c[S+13416>>2]|0)-o|0;m=(r|0)>(m|0)?m:r;p=b+3516|0;j=0;k=0;while(1){if((j|0)>=(m|0)){v=k;break a}N=(c[(c[p>>2]|0)+20>>2]|0)+(((H(j+o|0,Q)|0)+n|0)*12|0)+10|0;j=j+2|0;k=k|(a[N>>0]|0)==0}}while(0);b:do if((w|0)==1&q){o=e+-1>>y;p=f>>y;m=(c[S+13416>>2]|0)-p|0;m=(r|0)>(m|0)?m:r;n=b+3516|0;j=0;k=0;while(1){if((k|0)>=(m|0)){q=j;break b}N=(c[(c[n>>2]|0)+20>>2]|0)+(((H(k+p|0,Q)|0)+o|0)*12|0)+10|0;j=j|(a[N>>0]|0)==0;k=k+2|0}}else q=w;while(0);if((z|0)==1){p=(c[(c[b+3516>>2]|0)+20>>2]|0)+(((H(f+-1>>y,Q)|0)+(e+-1>>y)|0)*12|0)+10|0;p=(a[p>>0]|0)==0&1}else p=z;c:do if((A|0)==1&s){o=e>>y;m=Q-o|0;m=(t|0)>(m|0)?m:t;n=b+3516|0;o=(H(f+-1>>y,Q)|0)+o|0;j=0;k=0;while(1){if((k|0)>=(m|0)){o=j;break c}j=j|(a[(c[(c[n>>2]|0)+20>>2]|0)+((o+k|0)*12|0)+10>>0]|0)==0;k=k+2|0}}else o=A;while(0);d:do if(x&s){l=F>>y;m=Q-l|0;m=(t|0)>(m|0)?m:t;n=b+3516|0;l=(H(f+-1>>y,Q)|0)+l|0;j=0;k=0;while(1){if((k|0)>=(m|0)){l=j;break d}j=j|(a[(c[(c[n>>2]|0)+20>>2]|0)+((l+k|0)*12|0)+10>>0]|0)==0;k=k+2|0}}while(0);j=i;k=j+64|0;do{a[j>>0]=128;j=j+1|0}while((j|0)<(k|0));j=Y;k=j+64|0;do{c[j>>2]=-2139062144;j=j+4|0}while((j|0)<(k|0));a[Y+64>>0]=128;z=p;w=q;A=o}y=(z|0)!=0;if(y){N=a[aa+~$>>0]|0;a[U>>0]=N;a[Y>>0]=N}L=(A|0)!=0;if(L){x=aa+C|0;t=x;t=d[t>>0]|d[t+1>>0]<<8|d[t+2>>0]<<16|d[t+3>>0]<<24;x=x+4|0;x=d[x>>0]|d[x+1>>0]<<8|d[x+2>>0]<<16|d[x+3>>0]<<24;N=h;u=N;a[u>>0]=t;a[u+1>>0]=t>>8;a[u+2>>0]=t>>16;a[u+3>>0]=t>>24;N=N+4|0;a[N>>0]=x;a[N+1>>0]=x>>8;a[N+2>>0]=x>>16;a[N+3>>0]=x>>24}N=(l|0)!=0;e:do if(N){k=Y+9|0;n=aa+C+8|0;C=n;C=d[C>>0]|d[C+1>>0]<<8|d[C+2>>0]<<16|d[C+3>>0]<<24;n=n+4|0;n=d[n>>0]|d[n+1>>0]<<8|d[n+2>>0]<<16|d[n+3>>0]<<24;m=k;j=m;a[j>>0]=C;a[j+1>>0]=C>>8;a[j+2>>0]=C>>16;a[j+3>>0]=C>>24;m=m+4|0;a[m>>0]=n;a[m+1>>0]=n>>8;a[m+2>>0]=n>>16;a[m+3>>0]=n>>24;m=H(d[aa+(7-$+B)>>0]|0,16843009)|0;n=8-B|0;k=k+B|0;j=0;while(1){if((j|0)>=(n|0))break e;C=k+j|0;a[C>>0]=m;a[C+1>>0]=m>>8;a[C+2>>0]=m>>16;a[C+3>>0]=m>>24;j=j+4|0}}while(0);x=(w|0)!=0;f:do if(x){j=0;while(1){if((j|0)==8)break f;C=aa+((H(j,$)|0)+-1)|0;a[i+j>>0]=a[C>>0]|0;j=j+1|0}}while(0);u=(v|0)!=0;g:do if(u){k=J+8|0;j=8;while(1){if((j|0)>=(k|0))break;C=aa+((H(j,$)|0)+-1)|0;a[i+j>>0]=a[C>>0]|0;j=j+1|0}k=aa+((H(J+7|0,$)|0)+-1)|0;k=H(d[k>>0]|0,16843009)|0;m=8-J|0;n=U+9+J|0;j=0;while(1){if((j|0)>=(m|0))break g;C=n+j|0;a[C>>0]=k;a[C+1>>0]=k>>8;a[C+2>>0]=k>>16;a[C+3>>0]=k>>24;j=j+4|0}}while(0);h:do if((a[D>>0]|0)==1?(K=v|w,M=(K|0)==0,K=K|z,A|l|K|0):0){E=c[E>>2]|0;t=E-e>>P;G=c[G>>2]|0;s=G-f>>O;t=N?(((16<<P)+e|0)<(E|0)?16:t):(F|0)<(E|0)?8:t;s=u?(((16<<O)+f|0)<(G|0)?16:s):(I|0)<(G|0)?8:s;do if(!K){l=b+3516|0;m=S+13340|0;n=(-1<<O)+f|0;j=0;while(1){if((j|0)>=(t|0))break;K=c[m>>2]|0;K=(c[(c[l>>2]|0)+20>>2]|0)+(((H(n>>K,Q)|0)+((j<<P)+e>>K)|0)*12|0)+10|0;if(!(a[K>>0]|0))break;j=j+1|0}i:do if(j|0){if((e|0)>0)while(1){if((j|0)<=-1)break i;k=j+-1|0;K=c[m>>2]|0;K=(c[(c[l>>2]|0)+20>>2]|0)+(((H(n>>K,Q)|0)+((k<<P)+e>>K)|0)*12|0)+10|0;if(a[K>>0]|0)a[Y+j>>0]=a[h+j>>0]|0;j=k}while(1){if((j|0)<=0)break;k=j+-1|0;K=c[m>>2]|0;K=(c[(c[l>>2]|0)+20>>2]|0)+(((H(n>>K,Q)|0)+((k<<P)+e>>K)|0)*12|0)+10|0;if(a[K>>0]|0)a[Y+j>>0]=a[h+j>>0]|0;j=k}a[Y>>0]=a[h>>0]|0}while(0);o=a[Y>>0]|0;a[U>>0]=o}else{o=S+13340|0;p=(c[b+3516>>2]|0)+20|0;m=c[p>>2]|0;n=c[o>>2]|0;l=(-1<<P)+e>>n;j=u?J+8|0:8;do{K=j;j=j+-1|0;k=H((j<<O)+f>>n,Q)|0;if((K|0)<=0)break}while((a[m+((k+l|0)*12|0)+10>>0]|0)!=0);if(!(a[m+((k+(e-(1<<P)>>n)|0)*12|0)+10>>0]|0)){o=a[Y>>0]|0;break}l=f-(1<<O)|0;k=H(l>>n,Q)|0;j=0;while(1){if((j|0)>=(t|0))break;if(!(a[m+((((j<<P)+e>>n)+k|0)*12|0)+10>>0]|0))break;j=j+1|0}while(1){if((j|0)<=-1)break;k=j+-1|0;K=c[o>>2]|0;K=(c[p>>2]|0)+(((H(l>>K,Q)|0)+((k<<P)+e>>K)|0)*12|0)+10|0;if(a[K>>0]|0)a[Y+j>>0]=a[h+j>>0]|0;j=k}o=a[Y>>0]|0;a[U>>0]=o}while(0);a[U>>0]=o;j:do if(!M){l=b+3516|0;m=(-1<<P)+e|0;n=S+13340|0;j=H(o&255,16843009)|0;k=0;while(1){if((k|0)>=(s|0))break j;M=c[n>>2]|0;M=(c[(c[l>>2]|0)+20>>2]|0)+(((H((k<<O)+f>>M,Q)|0)+(m>>M)|0)*12|0)+10|0;if(!(a[M>>0]|0))j=H(d[i+(k|3)>>0]|0,16843009)|0;else{M=i+k|0;a[M>>0]=j;a[M+1>>0]=j>>8;a[M+2>>0]=j>>16;a[M+3>>0]=j>>24}k=k+4|0}}while(0);k:do if(!x){k=H(o&255,16843009)|0;j=0;while(1){if(j>>>0>=8)break k;M=i+j|0;a[M>>0]=k;a[M+1>>0]=k>>8;a[M+2>>0]=k>>16;a[M+3>>0]=k>>24;j=j+4|0}}while(0);l:do if(!u){k=H(d[U+8>>0]|0,16843009)|0;l=U+9|0;j=0;while(1){if(j>>>0>=8)break l;M=l+j|0;a[M>>0]=k;a[M+1>>0]=k>>8;a[M+2>>0]=k>>16;a[M+3>>0]=k>>24;j=j+4|0}}while(0);r=(f|0)!=0;m:do if((e|0)!=0&r){j=H(d[U+s>>0]|0,16843009)|0;o=(c[b+3516>>2]|0)+20|0;p=(-1<<P)+e|0;q=S+13340|0;n=s+-1|0;while(1){k=c[o>>2]|0;l=c[q>>2]|0;m=p>>l;if((n|0)<=-1)break;K=n+-3|0;M=k+(((H((K<<O)+f>>l,Q)|0)+m|0)*12|0)+10|0;k=i+K|0;if(!(a[M>>0]|0))j=H(d[k>>0]|0,16843009)|0;else{a[k>>0]=j;a[k+1>>0]=j>>8;a[k+2>>0]=j>>16;a[k+3>>0]=j>>24}n=n+-4|0}M=k+(((H((-1<<O)+f>>l,Q)|0)+m|0)*12|0)+10|0;if(a[M>>0]|0)a[U>>0]=a[i>>0]|0}else{if(!e){j=0;while(1){if((j|0)>=(s|0))break m;M=i+j|0;a[M>>0]=0;a[M+1>>0]=0;a[M+2>>0]=0;a[M+3>>0]=0;j=j+4|0}}m=b+3516|0;n=(-1<<P)+e|0;o=S+13340|0;l=s+-1|0;j=H(d[U+s>>0]|0,16843009)|0;while(1){if((l|0)<=-1)break m;M=c[o>>2]|0;k=l+-3|0;M=(c[(c[m>>2]|0)+20>>2]|0)+(((H((k<<O)+f>>M,Q)|0)+(n>>M)|0)*12|0)+10|0;k=i+k|0;if(!(a[M>>0]|0))j=H(d[k>>0]|0,16843009)|0;else{a[k>>0]=j;a[k+1>>0]=j>>8;a[k+2>>0]=j>>16;a[k+3>>0]=j>>24}l=l+-4|0}}while(0);j=a[U>>0]|0;a[Y>>0]=j;if(r){m=b+3516|0;n=S+13340|0;l=(-1<<O)+f|0;k=0;j=H(j&255,16843009)|0;while(1){if((k|0)>=(t|0))break h;f=c[n>>2]|0;f=(c[(c[m>>2]|0)+20>>2]|0)+(((H(l>>f,Q)|0)+((k<<P)+e>>f)|0)*12|0)+10|0;if(!(a[f>>0]|0))j=H(d[h+(k|3)>>0]|0,16843009)|0;else{f=h+k|0;a[f>>0]=j;a[f+1>>0]=j>>8;a[f+2>>0]=j>>16;a[f+3>>0]=j>>24}k=k+4|0}}}while(0);n:do if(!u){if(x){k=H(d[U+8>>0]|0,16843009)|0;l=U+9|0;j=0;while(1){if(j>>>0>=8){R=147;break n}R=l+j|0;a[R>>0]=k;a[R+1>>0]=k>>8;a[R+2>>0]=k>>16;a[R+3>>0]=k>>24;j=j+4|0}}if(y){k=H(d[U>>0]|0,16843009)|0;j=0;while(1){if(j>>>0>=16){R=151;break n}R=i+j|0;a[R>>0]=k;a[R+1>>0]=k>>8;a[R+2>>0]=k>>16;a[R+3>>0]=k>>24;j=j+4|0}}if(L){k=a[h>>0]|0;a[U>>0]=k;k=H(k&255,16843009)|0;j=0;while(1){if(j>>>0>=16){R=153;break n}R=i+j|0;a[R>>0]=k;a[R+1>>0]=k>>8;a[R+2>>0]=k>>16;a[R+3>>0]=k>>24;j=j+4|0}}if(N){k=Y+9|0;l=H(d[k>>0]|0,16843009)|0;j=0;while(1){if(j>>>0>=8)break;Q=h+j|0;a[Q>>0]=l;a[Q+1>>0]=l>>8;a[Q+2>>0]=l>>16;a[Q+3>>0]=l>>24;j=j+4|0}k=a[k>>0]|0;a[U>>0]=k;k=H(k&255,16843009)|0;j=0;while(1){if(j>>>0>=16)break n;Q=i+j|0;a[Q>>0]=k;a[Q+1>>0]=k>>8;a[Q+2>>0]=k>>16;a[Q+3>>0]=k>>24;j=j+4|0}}else{a[U>>0]=-128;j=0;while(1){if(j>>>0>=16)break;R=h+j|0;a[R>>0]=-2139062144;a[R+1>>0]=-2139062144>>8;a[R+2>>0]=-2139062144>>16;a[R+3>>0]=-2139062144>>24;j=j+4|0}j=0;while(1){if(j>>>0>=16){R=147;break n}R=i+j|0;a[R>>0]=-2139062144;a[R+1>>0]=-2139062144>>8;a[R+2>>0]=-2139062144>>16;a[R+3>>0]=-2139062144>>24;j=j+4|0}}}else R=147;while(0);o:do if((R|0)==147)if(!w){k=H(d[U+9>>0]|0,16843009)|0;j=0;while(1){if(j>>>0>=8){R=151;break o}R=i+j|0;a[R>>0]=k;a[R+1>>0]=k>>8;a[R+2>>0]=k>>16;a[R+3>>0]=k>>24;j=j+4|0}}else R=151;while(0);if((R|0)==151)if(!z){a[U>>0]=a[i>>0]|0;R=153}else R=153;p:do if((R|0)==153?(A|0)==0:0){k=H(d[U>>0]|0,16843009)|0;j=0;while(1){if(j>>>0>=8)break p;R=h+j|0;a[R>>0]=k;a[R+1>>0]=k>>8;a[R+2>>0]=k>>16;a[R+3>>0]=k>>24;j=j+4|0}}while(0);q:do if(!N){k=H(d[Y+8>>0]|0,16843009)|0;l=Y+9|0;j=0;while(1){if(j>>>0>=8)break q;R=l+j|0;a[R>>0]=k;a[R+1>>0]=k>>8;a[R+2>>0]=k>>16;a[R+3>>0]=k>>24;j=j+4|0}}while(0);k=a[U>>0]|0;a[Y>>0]=k;r:do if(!(c[S+13368>>2]|0)){if(!T?(c[S+4>>2]|0)!=3:0){R=172;break}if((_|0)!=1){T=_+-26|0;T=(T|0)>-1?T:26-_|0;S=_+-10|0;S=(S|0)>-1?S:10-_|0;if((((T|0)>(S|0)?S:T)|0)>7){a[V+16>>0]=a[U+16>>0]|0;a[W+16>>0]=a[Y+16>>0]|0;j=14;while(1){if((j|0)<=-1)break;a[X+j>>0]=((d[i+(j+1)>>0]|0)+2+(d[i+j>>0]<<1)+(d[U+j>>0]|0)|0)>>>2;j=j+-1|0}i=(((k&255)<<1)+2+(d[i>>0]|0)+(d[h>>0]|0)|0)>>>2&255;a[V>>0]=i;a[W>>0]=i;i=14;while(1){if((i|0)<=-1){i=X;h=Z;R=172;break r}a[Z+i>>0]=((d[h+(i+1)>>0]|0)+2+(d[h+i>>0]<<1)+(d[Y+i>>0]|0)|0)>>>2;i=i+-1|0}}else R=172}else R=174}else R=172;while(0);s:do if((R|0)==172)switch(_|0){case 1:{R=174;break s}case 0:{hc[c[b+5756>>2]&255](aa,h,i,$);break s}default:{kc[c[b+5776>>2]&127](aa,h,i,$,g,_);break s}}while(0);if((R|0)==174)kc[c[b+5768>>2]&127](aa,h,i,$,3,g);Mb=ba;return}function Qc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=Mb;Mb=Mb+16|0;f=i;switch(d|0){case 9:{if((b|0)!=70){h=(b|0)==140;d=(b|0)==180|h;switch(b|0){case 140:case 180:{f=153;g=152;break}default:{f=68;g=67}}c[a>>2]=g;c[a+4>>2]=f;c[a+8>>2]=53;c[a+12>>2]=(b|0)==24?54:55;c[a+16>>2]=56;c[a+20>>2]=57;c[a+24>>2]=58;c[a+28>>2]=d?59:60;c[a+32>>2]=61;d=a+36|0;switch(b|0){case 140:case 180:{c[d>>2]=64;c[a+48>>2]=65;c[a+52>>2]=66;c[a+40>>2]=67;c[a+56>>2]=68;break}default:{c[d>>2]=62;c[a+40>>2]=63}}if(!h)c[a+44>>2]=69}else{c[a>>2]=67;c[a+4>>2]=68;c[a+8>>2]=53;c[a+12>>2]=70;c[a+16>>2]=56;c[a+20>>2]=57;c[a+24>>2]=58;c[a+28>>2]=71;c[a+32>>2]=72;c[a+36>>2]=62;c[a+40>>2]=63;c[a+44>>2]=69;c[a+48>>2]=73;c[a+52>>2]=74;c[a+56>>2]=75}c[a+60>>2]=77;c[a+64>>2]=78;c[a+68>>2]=79;c[a+72>>2]=80;c[a+76>>2]=81;c[a+80>>2]=82;c[a+84>>2]=83;c[a+88>>2]=84;c[a+92>>2]=85;c[a+96>>2]=86;c[a+100>>2]=87;c[a+104>>2]=88;g=(e|0)<2;d=a+108|0;c[a+116>>2]=g?38:39;c[a+112>>2]=g?40:41;a:do switch(b|0){case 140:case 180:{c[a+120>>2]=44;break}default:{f=a+120|0;if(g){c[f>>2]=42;break a}else{c[f>>2]=43;break a}}}while(0);b:do switch(b|0){case 70:case 140:case 180:{c[d>>2]=59;c[a+124>>2]=60;c[a+128>>2]=61;switch(b|0){case 140:case 180:break;default:break b}c[a+136>>2]=62;c[a+140>>2]=63;break}default:if(g){c[d>>2]=45;c[a+124>>2]=46;c[a+128>>2]=47;c[a+136>>2]=48;c[a+140>>2]=49;c[a+144>>2]=50;c[a+148>>2]=51;break b}else{c[d>>2]=52;c[a+124>>2]=53;c[a+128>>2]=54;c[a+136>>2]=55;c[a+140>>2]=56;c[a+144>>2]=57;c[a+148>>2]=58;break b}}while(0);c[a+132>>2]=g?64:65;c[a+152>>2]=66;c[a+160>>2]=67;c[a+156>>2]=68;switch(b|0){case 24:{c[a+164>>2]=69;break}case 70:{c[a+164>>2]=70;break}case 140:case 180:{c[a+164>>2]=71;c[a+180>>2]=72;c[a+184>>2]=73;break}default:c[a+164>>2]=74}c[a+168>>2]=75;c[a+172>>2]=76;c[a+176>>2]=77;c[a+188>>2]=76;c[a+192>>2]=77;c[a+196>>2]=78;c[a+200>>2]=79;c[a+204>>2]=113;c[a+208>>2]=114;f=158;h=157;e=g?89:90;d=g?91:92;break}case 10:{if((b|0)!=70){h=(b|0)==140;d=(b|0)==180|h;switch(b|0){case 140:case 180:{f=153;g=152;break}default:{f=92;g=91}}c[a>>2]=g;c[a+4>>2]=f;c[a+8>>2]=80;c[a+12>>2]=(b|0)==24?54:81;c[a+16>>2]=82;c[a+20>>2]=83;c[a+24>>2]=84;c[a+28>>2]=d?59:85;c[a+32>>2]=86;d=a+36|0;switch(b|0){case 140:case 180:{c[d>>2]=64;c[a+48>>2]=89;c[a+52>>2]=90;c[a+40>>2]=91;c[a+56>>2]=92;break}default:{c[d>>2]=87;c[a+40>>2]=88}}if(!h)c[a+44>>2]=93}else{c[a>>2]=91;c[a+4>>2]=92;c[a+8>>2]=80;c[a+12>>2]=70;c[a+16>>2]=82;c[a+20>>2]=83;c[a+24>>2]=84;c[a+28>>2]=71;c[a+32>>2]=72;c[a+36>>2]=87;c[a+40>>2]=88;c[a+44>>2]=93;c[a+48>>2]=73;c[a+52>>2]=74;c[a+56>>2]=75}c[a+60>>2]=93;c[a+64>>2]=94;c[a+68>>2]=95;c[a+72>>2]=96;c[a+76>>2]=97;c[a+80>>2]=98;c[a+84>>2]=99;c[a+88>>2]=100;c[a+92>>2]=101;c[a+96>>2]=102;c[a+100>>2]=103;c[a+104>>2]=104;g=(e|0)<2;d=a+108|0;c[a+116>>2]=g?78:79;c[a+112>>2]=g?80:81;c:do switch(b|0){case 140:case 180:{c[a+120>>2]=44;break}default:{f=a+120|0;if(g){c[f>>2]=82;break c}else{c[f>>2]=83;break c}}}while(0);d:do switch(b|0){case 70:case 140:case 180:{c[d>>2]=59;c[a+124>>2]=60;c[a+128>>2]=61;switch(b|0){case 140:case 180:break;default:break d}c[a+136>>2]=98;c[a+140>>2]=99;break}default:if(g){c[d>>2]=84;c[a+124>>2]=85;c[a+128>>2]=86;c[a+136>>2]=87;c[a+140>>2]=88;c[a+144>>2]=89;c[a+148>>2]=90;break d}else{c[d>>2]=91;c[a+124>>2]=92;c[a+128>>2]=93;c[a+136>>2]=94;c[a+140>>2]=95;c[a+144>>2]=96;c[a+148>>2]=97;break d}}while(0);c[a+132>>2]=g?100:101;c[a+152>>2]=102;c[a+160>>2]=103;c[a+156>>2]=104;switch(b|0){case 24:{c[a+164>>2]=69;break}case 70:{c[a+164>>2]=70;break}case 140:case 180:{c[a+164>>2]=71;c[a+180>>2]=105;c[a+184>>2]=106;break}default:c[a+164>>2]=107}c[a+168>>2]=108;c[a+172>>2]=109;c[a+176>>2]=110;c[a+188>>2]=94;c[a+192>>2]=95;c[a+196>>2]=96;c[a+200>>2]=97;c[a+204>>2]=115;c[a+208>>2]=116;f=160;h=159;e=g?105:106;d=g?107:108;break}case 12:{if((b|0)!=70){h=(b|0)==140;d=(b|0)==180|h;switch(b|0){case 140:case 180:{f=153;g=152;break}default:{f=110;g=109}}c[a>>2]=g;c[a+4>>2]=f;c[a+8>>2]=98;c[a+12>>2]=(b|0)==24?54:99;c[a+16>>2]=100;c[a+20>>2]=101;c[a+24>>2]=102;c[a+28>>2]=d?59:103;c[a+32>>2]=104;d=a+36|0;switch(b|0){case 140:case 180:{c[d>>2]=64;c[a+48>>2]=107;c[a+52>>2]=108;c[a+40>>2]=109;c[a+56>>2]=110;break}default:{c[d>>2]=105;c[a+40>>2]=106}}if(!h)c[a+44>>2]=111}else{c[a>>2]=109;c[a+4>>2]=110;c[a+8>>2]=98;c[a+12>>2]=70;c[a+16>>2]=100;c[a+20>>2]=101;c[a+24>>2]=102;c[a+28>>2]=71;c[a+32>>2]=72;c[a+36>>2]=105;c[a+40>>2]=106;c[a+44>>2]=111;c[a+48>>2]=73;c[a+52>>2]=74;c[a+56>>2]=75}c[a+60>>2]=109;c[a+64>>2]=110;c[a+68>>2]=111;c[a+72>>2]=112;c[a+76>>2]=113;c[a+80>>2]=114;c[a+84>>2]=115;c[a+88>>2]=116;c[a+92>>2]=117;c[a+96>>2]=118;c[a+100>>2]=119;c[a+104>>2]=120;g=(e|0)<2;d=a+108|0;c[a+116>>2]=g?111:112;c[a+112>>2]=g?113:114;e:do switch(b|0){case 140:case 180:{c[a+120>>2]=44;break}default:{f=a+120|0;if(g){c[f>>2]=115;break e}else{c[f>>2]=116;break e}}}while(0);f:do switch(b|0){case 70:case 140:case 180:{c[d>>2]=59;c[a+124>>2]=60;c[a+128>>2]=61;switch(b|0){case 140:case 180:break;default:break f}c[a+136>>2]=131;c[a+140>>2]=132;break}default:if(g){c[d>>2]=117;c[a+124>>2]=118;c[a+128>>2]=119;c[a+136>>2]=120;c[a+140>>2]=121;c[a+144>>2]=122;c[a+148>>2]=123;break f}else{c[d>>2]=124;c[a+124>>2]=125;c[a+128>>2]=126;c[a+136>>2]=127;c[a+140>>2]=128;c[a+144>>2]=129;c[a+148>>2]=130;break f}}while(0);c[a+132>>2]=g?133:134;c[a+152>>2]=135;c[a+160>>2]=136;c[a+156>>2]=137;switch(b|0){case 24:{c[a+164>>2]=69;break}case 70:{c[a+164>>2]=70;break}case 140:case 180:{c[a+164>>2]=71;c[a+180>>2]=138;c[a+184>>2]=139;break}default:c[a+164>>2]=140}c[a+168>>2]=141;c[a+172>>2]=142;c[a+176>>2]=143;c[a+188>>2]=112;c[a+192>>2]=113;c[a+196>>2]=114;c[a+200>>2]=115;c[a+204>>2]=117;c[a+208>>2]=118;f=162;h=161;e=g?121:122;d=g?123:124;break}case 14:{if((b|0)!=70){h=(b|0)==140;d=(b|0)==180|h;switch(b|0){case 140:case 180:{f=153;g=152;break}default:{f=128;g=127}}c[a>>2]=g;c[a+4>>2]=f;c[a+8>>2]=116;c[a+12>>2]=(b|0)==24?54:117;c[a+16>>2]=118;c[a+20>>2]=119;c[a+24>>2]=120;c[a+28>>2]=d?59:121;c[a+32>>2]=122;d=a+36|0;switch(b|0){case 140:case 180:{c[d>>2]=64;c[a+48>>2]=125;c[a+52>>2]=126;c[a+40>>2]=127;c[a+56>>2]=128;break}default:{c[d>>2]=123;c[a+40>>2]=124}}if(!h)c[a+44>>2]=129}else{c[a>>2]=127;c[a+4>>2]=128;c[a+8>>2]=116;c[a+12>>2]=70;c[a+16>>2]=118;c[a+20>>2]=119;c[a+24>>2]=120;c[a+28>>2]=71;c[a+32>>2]=72;c[a+36>>2]=123;c[a+40>>2]=124;c[a+44>>2]=129;c[a+48>>2]=73;c[a+52>>2]=74;c[a+56>>2]=75}c[a+60>>2]=125;c[a+64>>2]=126;c[a+68>>2]=127;c[a+72>>2]=128;c[a+76>>2]=129;c[a+80>>2]=130;c[a+84>>2]=131;c[a+88>>2]=132;c[a+92>>2]=133;c[a+96>>2]=134;c[a+100>>2]=135;c[a+104>>2]=136;g=(e|0)<2;d=a+108|0;c[a+116>>2]=g?144:145;c[a+112>>2]=g?146:147;g:do switch(b|0){case 140:case 180:{c[a+120>>2]=44;break}default:{f=a+120|0;if(g){c[f>>2]=148;break g}else{c[f>>2]=149;break g}}}while(0);h:do switch(b|0){case 70:case 140:case 180:{c[d>>2]=59;c[a+124>>2]=60;c[a+128>>2]=61;switch(b|0){case 140:case 180:break;default:break h}c[a+136>>2]=164;c[a+140>>2]=165;break}default:if(g){c[d>>2]=150;c[a+124>>2]=151;c[a+128>>2]=152;c[a+136>>2]=153;c[a+140>>2]=154;c[a+144>>2]=155;c[a+148>>2]=156;break h}else{c[d>>2]=157;c[a+124>>2]=158;c[a+128>>2]=159;c[a+136>>2]=160;c[a+140>>2]=161;c[a+144>>2]=162;c[a+148>>2]=163;break h}}while(0);c[a+132>>2]=g?166:167;c[a+152>>2]=168;c[a+160>>2]=169;c[a+156>>2]=170;switch(b|0){case 24:{c[a+164>>2]=69;break}case 70:{c[a+164>>2]=70;break}case 140:case 180:{c[a+164>>2]=71;c[a+180>>2]=171;c[a+184>>2]=172;break}default:c[a+164>>2]=173}c[a+168>>2]=174;c[a+172>>2]=175;c[a+176>>2]=176;c[a+188>>2]=130;c[a+192>>2]=131;c[a+196>>2]=132;c[a+200>>2]=133;c[a+204>>2]=119;c[a+208>>2]=120;f=164;h=163;e=g?137:138;d=g?139:140;break}default:{if((d|0)>=9){c[f>>2]=209429;c[f+4>>2]=209442;c[f+8>>2]=590;AD(0,0,222515,f);ba()}if((b|0)!=70){h=(b|0)==140;d=(b|0)==180|h;switch(b|0){case 140:case 180:{f=153;g=152;break}default:{f=146;g=145}}c[a>>2]=g;c[a+4>>2]=f;c[a+8>>2]=134;c[a+12>>2]=(b|0)==24?54:135;c[a+16>>2]=136;c[a+20>>2]=137;c[a+24>>2]=138;c[a+28>>2]=d?59:139;c[a+32>>2]=140;d=a+36|0;switch(b|0){case 140:case 180:{c[d>>2]=64;c[a+48>>2]=143;c[a+52>>2]=144;c[a+40>>2]=145;c[a+56>>2]=146;break}default:{c[d>>2]=141;c[a+40>>2]=142}}if(!h)c[a+44>>2]=147}else{c[a>>2]=145;c[a+4>>2]=146;c[a+8>>2]=134;c[a+12>>2]=70;c[a+16>>2]=136;c[a+20>>2]=137;c[a+24>>2]=138;c[a+28>>2]=71;c[a+32>>2]=72;c[a+36>>2]=141;c[a+40>>2]=142;c[a+44>>2]=147;c[a+48>>2]=73;c[a+52>>2]=74;c[a+56>>2]=75}c[a+60>>2]=141;c[a+64>>2]=142;c[a+68>>2]=143;c[a+72>>2]=144;c[a+76>>2]=145;c[a+80>>2]=146;c[a+84>>2]=147;c[a+88>>2]=148;c[a+92>>2]=149;c[a+96>>2]=150;c[a+100>>2]=151;c[a+104>>2]=152;g=(e|0)<2;d=a+108|0;c[a+116>>2]=g?177:178;c[a+112>>2]=g?179:180;i:do switch(b|0){case 140:case 180:{c[a+120>>2]=44;break}default:{f=a+120|0;if(g){c[f>>2]=181;break i}else{c[f>>2]=182;break i}}}while(0);j:do switch(b|0){case 70:case 140:case 180:{c[d>>2]=59;c[a+124>>2]=60;c[a+128>>2]=61;switch(b|0){case 140:case 180:break;default:break j}c[a+136>>2]=197;c[a+140>>2]=198;break}default:if(g){c[d>>2]=183;c[a+124>>2]=184;c[a+128>>2]=185;c[a+136>>2]=186;c[a+140>>2]=187;c[a+144>>2]=188;c[a+148>>2]=189;break j}else{c[d>>2]=190;c[a+124>>2]=191;c[a+128>>2]=192;c[a+136>>2]=193;c[a+140>>2]=194;c[a+144>>2]=195;c[a+148>>2]=196;break j}}while(0);c[a+132>>2]=g?199:200;c[a+152>>2]=201;c[a+160>>2]=202;c[a+156>>2]=203;switch(b|0){case 24:{c[a+164>>2]=69;break}case 70:{c[a+164>>2]=70;break}case 140:case 180:{c[a+164>>2]=71;c[a+180>>2]=204;c[a+184>>2]=205;break}default:c[a+164>>2]=206}c[a+168>>2]=207;c[a+172>>2]=208;c[a+176>>2]=209;c[a+188>>2]=148;c[a+192>>2]=149;c[a+196>>2]=150;c[a+200>>2]=151;c[a+204>>2]=121;c[a+208>>2]=122;f=166;h=165;e=g?153:154;d=g?155:156}}c[a+220>>2]=e;c[a+216>>2]=d;c[a+232>>2]=h;c[a+228>>2]=f;Mb=i;return}function Rc(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0;ba=Mb;Mb=Mb+320|0;U=ba+240|0;V=ba+160|0;Y=ba+80|0;W=ba;q=c[b+136>>2]|0;S=c[b+1412>>2]|0;P=c[S+13424+(g<<2)>>2]|0;O=c[S+13436+(g<<2)>>2]|0;t=16<<P;j=c[S+13328>>2]|0;s=16<<O;k=c[S+13420>>2]|0;l=e>>j&k;m=f>>j&k;r=c[b+1416>>2]|0;n=c[r+1684>>2]|0;o=k+2|0;p=n+((H(m,o)|0)+l<<2)|0;p=c[p>>2]|0;aa=c[b+160>>2]|0;$=c[aa+32+(g<<2)>>2]|0;C=0-$|0;aa=(c[aa+(g<<2)>>2]|0)+(e>>P)+(H($,f>>O)|0)|0;Q=c[S+13412>>2]|0;T=(g|0)==0;_=c[(T?q+288|0:q+292|0)>>2]|0;i=U+1|0;h=Y+1|0;X=V+1|0;Z=W+1|0;if(!(c[q+31284>>2]|0))u=0;else{u=n+(l+-1+(H(m+(s>>j)&k,o)|0)<<2)|0;u=(p|0)>(c[u>>2]|0)}v=u&1;w=c[q+31288>>2]|0;z=c[q+31296>>2]|0;A=c[q+31292>>2]|0;if(!(c[q+31300>>2]|0))x=0;else{x=n+((H(m+-1|0,o)|0)+(l+(t>>j)&k)<<2)|0;x=(p|0)>(c[x>>2]|0)}j=x&1;J=(s<<1)+f|0;G=S+13380|0;B=c[G>>2]|0;I=s+f|0;J=((J|0)>(B|0)?B:J)-I>>O;B=(t<<1)+e|0;E=S+13376|0;D=c[E>>2]|0;F=t+e|0;B=((B|0)>(D|0)?D:B)-F>>P;D=r+20|0;if((a[D>>0]|0)==1){y=c[S+13340>>2]|0;r=s>>y;t=t>>y;s=(1<<y)+-1|0;q=(s&e|0)==0;s=(s&f|0)==0;t=t+((t|0)==0&1)|0;a:do if(u&q){n=e+-1>>y;o=I>>y;m=(c[S+13416>>2]|0)-o|0;m=(r|0)>(m|0)?m:r;p=b+3516|0;k=0;l=0;while(1){if((k|0)>=(m|0)){v=l;break a}N=(c[(c[p>>2]|0)+20>>2]|0)+(((H(k+o|0,Q)|0)+n|0)*12|0)+10|0;k=k+2|0;l=l|(a[N>>0]|0)==0}}while(0);b:do if((w|0)==1&q){o=e+-1>>y;p=f>>y;m=(c[S+13416>>2]|0)-p|0;m=(r|0)>(m|0)?m:r;n=b+3516|0;k=0;l=0;while(1){if((l|0)>=(m|0)){q=k;break b}N=(c[(c[n>>2]|0)+20>>2]|0)+(((H(l+p|0,Q)|0)+o|0)*12|0)+10|0;k=k|(a[N>>0]|0)==0;l=l+2|0}}else q=w;while(0);if((z|0)==1){p=(c[(c[b+3516>>2]|0)+20>>2]|0)+(((H(f+-1>>y,Q)|0)+(e+-1>>y)|0)*12|0)+10|0;p=(a[p>>0]|0)==0&1}else p=z;c:do if((A|0)==1&s){o=e>>y;m=Q-o|0;m=(t|0)>(m|0)?m:t;n=b+3516|0;o=(H(f+-1>>y,Q)|0)+o|0;k=0;l=0;while(1){if((l|0)>=(m|0)){o=k;break c}k=k|(a[(c[(c[n>>2]|0)+20>>2]|0)+((o+l|0)*12|0)+10>>0]|0)==0;l=l+2|0}}else o=A;while(0);d:do if(x&s){l=F>>y;m=Q-l|0;m=(t|0)>(m|0)?m:t;n=b+3516|0;l=(H(f+-1>>y,Q)|0)+l|0;j=0;k=0;while(1){if((k|0)>=(m|0))break d;j=j|(a[(c[(c[n>>2]|0)+20>>2]|0)+((l+k|0)*12|0)+10>>0]|0)==0;k=k+2|0}}while(0);l=i;m=l+64|0;do{a[l>>0]=128;l=l+1|0}while((l|0)<(m|0));l=Y;m=l+64|0;do{c[l>>2]=-2139062144;l=l+4|0}while((l|0)<(m|0));a[Y+64>>0]=128;z=p;w=q;A=o;n=j}else n=j;y=(z|0)!=0;if(y){N=a[aa+~$>>0]|0;a[U>>0]=N;a[Y>>0]=N}L=(A|0)!=0;if(L){l=h;j=aa+C|0;m=l+16|0;do{a[l>>0]=a[j>>0]|0;l=l+1|0;j=j+1|0}while((l|0)<(m|0))}N=(n|0)!=0;e:do if(N){k=Y+17|0;l=k;j=aa+C+16|0;m=l+16|0;do{a[l>>0]=a[j>>0]|0;l=l+1|0;j=j+1|0}while((l|0)<(m|0));l=H(d[aa+(15-$+B)>>0]|0,16843009)|0;m=16-B|0;k=k+B|0;j=0;while(1){if((j|0)>=(m|0))break e;C=k+j|0;a[C>>0]=l;a[C+1>>0]=l>>8;a[C+2>>0]=l>>16;a[C+3>>0]=l>>24;j=j+4|0}}while(0);x=(w|0)!=0;f:do if(x){j=0;while(1){if((j|0)==16)break f;C=aa+((H(j,$)|0)+-1)|0;a[i+j>>0]=a[C>>0]|0;j=j+1|0}}while(0);u=(v|0)!=0;g:do if(u){k=J+16|0;j=16;while(1){if((j|0)>=(k|0))break;C=aa+((H(j,$)|0)+-1)|0;a[i+j>>0]=a[C>>0]|0;j=j+1|0}k=aa+((H(J+15|0,$)|0)+-1)|0;k=H(d[k>>0]|0,16843009)|0;l=16-J|0;m=U+17+J|0;j=0;while(1){if((j|0)>=(l|0))break g;C=m+j|0;a[C>>0]=k;a[C+1>>0]=k>>8;a[C+2>>0]=k>>16;a[C+3>>0]=k>>24;j=j+4|0}}while(0);h:do if((a[D>>0]|0)==1?(K=v|w,M=(K|0)==0,K=K|z,A|n|K|0):0){E=c[E>>2]|0;t=E-e>>P;G=c[G>>2]|0;s=G-f>>O;t=N?(((32<<P)+e|0)<(E|0)?32:t):(F|0)<(E|0)?16:t;s=u?(((32<<O)+f|0)<(G|0)?32:s):(I|0)<(G|0)?16:s;do if(!K){l=b+3516|0;m=S+13340|0;n=(-1<<O)+f|0;j=0;while(1){if((j|0)>=(t|0))break;K=c[m>>2]|0;K=(c[(c[l>>2]|0)+20>>2]|0)+(((H(n>>K,Q)|0)+((j<<P)+e>>K)|0)*12|0)+10|0;if(!(a[K>>0]|0))break;j=j+1|0}i:do if(j|0){if((e|0)>0)while(1){if((j|0)<=-1)break i;k=j+-1|0;K=c[m>>2]|0;K=(c[(c[l>>2]|0)+20>>2]|0)+(((H(n>>K,Q)|0)+((k<<P)+e>>K)|0)*12|0)+10|0;if(a[K>>0]|0)a[Y+j>>0]=a[h+j>>0]|0;j=k}while(1){if((j|0)<=0)break;k=j+-1|0;K=c[m>>2]|0;K=(c[(c[l>>2]|0)+20>>2]|0)+(((H(n>>K,Q)|0)+((k<<P)+e>>K)|0)*12|0)+10|0;if(a[K>>0]|0)a[Y+j>>0]=a[h+j>>0]|0;j=k}a[Y>>0]=a[h>>0]|0}while(0);o=a[Y>>0]|0;a[U>>0]=o}else{o=S+13340|0;p=(c[b+3516>>2]|0)+20|0;m=c[p>>2]|0;n=c[o>>2]|0;l=(-1<<P)+e>>n;j=u?J+16|0:16;do{K=j;j=j+-1|0;k=H((j<<O)+f>>n,Q)|0;if((K|0)<=0)break}while((a[m+((k+l|0)*12|0)+10>>0]|0)!=0);if(!(a[m+((k+(e-(1<<P)>>n)|0)*12|0)+10>>0]|0)){o=a[Y>>0]|0;break}l=f-(1<<O)|0;k=H(l>>n,Q)|0;j=0;while(1){if((j|0)>=(t|0))break;if(!(a[m+((((j<<P)+e>>n)+k|0)*12|0)+10>>0]|0))break;j=j+1|0}while(1){if((j|0)<=-1)break;k=j+-1|0;K=c[o>>2]|0;K=(c[p>>2]|0)+(((H(l>>K,Q)|0)+((k<<P)+e>>K)|0)*12|0)+10|0;if(a[K>>0]|0)a[Y+j>>0]=a[h+j>>0]|0;j=k}o=a[Y>>0]|0;a[U>>0]=o}while(0);a[U>>0]=o;j:do if(!M){l=b+3516|0;m=(-1<<P)+e|0;n=S+13340|0;j=H(o&255,16843009)|0;k=0;while(1){if((k|0)>=(s|0))break j;M=c[n>>2]|0;M=(c[(c[l>>2]|0)+20>>2]|0)+(((H((k<<O)+f>>M,Q)|0)+(m>>M)|0)*12|0)+10|0;if(!(a[M>>0]|0))j=H(d[i+(k|3)>>0]|0,16843009)|0;else{M=i+k|0;a[M>>0]=j;a[M+1>>0]=j>>8;a[M+2>>0]=j>>16;a[M+3>>0]=j>>24}k=k+4|0}}while(0);k:do if(!x){k=H(o&255,16843009)|0;j=0;while(1){if(j>>>0>=16)break k;M=i+j|0;a[M>>0]=k;a[M+1>>0]=k>>8;a[M+2>>0]=k>>16;a[M+3>>0]=k>>24;j=j+4|0}}while(0);l:do if(!u){k=H(d[U+16>>0]|0,16843009)|0;l=U+17|0;j=0;while(1){if(j>>>0>=16)break l;M=l+j|0;a[M>>0]=k;a[M+1>>0]=k>>8;a[M+2>>0]=k>>16;a[M+3>>0]=k>>24;j=j+4|0}}while(0);r=(f|0)!=0;m:do if((e|0)!=0&r){j=H(d[U+s>>0]|0,16843009)|0;o=(c[b+3516>>2]|0)+20|0;p=(-1<<P)+e|0;q=S+13340|0;n=s+-1|0;while(1){k=c[o>>2]|0;l=c[q>>2]|0;m=p>>l;if((n|0)<=-1)break;K=n+-3|0;M=k+(((H((K<<O)+f>>l,Q)|0)+m|0)*12|0)+10|0;k=i+K|0;if(!(a[M>>0]|0))j=H(d[k>>0]|0,16843009)|0;else{a[k>>0]=j;a[k+1>>0]=j>>8;a[k+2>>0]=j>>16;a[k+3>>0]=j>>24}n=n+-4|0}M=k+(((H((-1<<O)+f>>l,Q)|0)+m|0)*12|0)+10|0;if(a[M>>0]|0)a[U>>0]=a[i>>0]|0}else{if(!e){j=0;while(1){if((j|0)>=(s|0))break m;M=i+j|0;a[M>>0]=0;a[M+1>>0]=0;a[M+2>>0]=0;a[M+3>>0]=0;j=j+4|0}}m=b+3516|0;n=(-1<<P)+e|0;o=S+13340|0;l=s+-1|0;j=H(d[U+s>>0]|0,16843009)|0;while(1){if((l|0)<=-1)break m;M=c[o>>2]|0;k=l+-3|0;M=(c[(c[m>>2]|0)+20>>2]|0)+(((H((k<<O)+f>>M,Q)|0)+(n>>M)|0)*12|0)+10|0;k=i+k|0;if(!(a[M>>0]|0))j=H(d[k>>0]|0,16843009)|0;else{a[k>>0]=j;a[k+1>>0]=j>>8;a[k+2>>0]=j>>16;a[k+3>>0]=j>>24}l=l+-4|0}}while(0);j=a[U>>0]|0;a[Y>>0]=j;if(r){m=b+3516|0;n=S+13340|0;l=(-1<<O)+f|0;k=0;j=H(j&255,16843009)|0;while(1){if((k|0)>=(t|0))break h;f=c[n>>2]|0;f=(c[(c[m>>2]|0)+20>>2]|0)+(((H(l>>f,Q)|0)+((k<<P)+e>>f)|0)*12|0)+10|0;if(!(a[f>>0]|0))j=H(d[h+(k|3)>>0]|0,16843009)|0;else{f=h+k|0;a[f>>0]=j;a[f+1>>0]=j>>8;a[f+2>>0]=j>>16;a[f+3>>0]=j>>24}k=k+4|0}}}while(0);n:do if(!u){if(x){k=H(d[U+16>>0]|0,16843009)|0;l=U+17|0;j=0;while(1){if(j>>>0>=16){R=147;break n}R=l+j|0;a[R>>0]=k;a[R+1>>0]=k>>8;a[R+2>>0]=k>>16;a[R+3>>0]=k>>24;j=j+4|0}}if(y){k=H(d[U>>0]|0,16843009)|0;j=0;while(1){if(j>>>0>=32){R=151;break n}R=i+j|0;a[R>>0]=k;a[R+1>>0]=k>>8;a[R+2>>0]=k>>16;a[R+3>>0]=k>>24;j=j+4|0}}if(L){k=a[h>>0]|0;a[U>>0]=k;k=H(k&255,16843009)|0;j=0;while(1){if(j>>>0>=32){R=153;break n}R=i+j|0;a[R>>0]=k;a[R+1>>0]=k>>8;a[R+2>>0]=k>>16;a[R+3>>0]=k>>24;j=j+4|0}}if(N){k=Y+17|0;l=H(d[k>>0]|0,16843009)|0;j=0;while(1){if(j>>>0>=16)break;Q=h+j|0;a[Q>>0]=l;a[Q+1>>0]=l>>8;a[Q+2>>0]=l>>16;a[Q+3>>0]=l>>24;j=j+4|0}k=a[k>>0]|0;a[U>>0]=k;k=H(k&255,16843009)|0;j=0;while(1){if(j>>>0>=32)break n;Q=i+j|0;a[Q>>0]=k;a[Q+1>>0]=k>>8;a[Q+2>>0]=k>>16;a[Q+3>>0]=k>>24;j=j+4|0}}else{a[U>>0]=-128;j=0;while(1){if(j>>>0>=32)break;R=h+j|0;a[R>>0]=-2139062144;a[R+1>>0]=-2139062144>>8;a[R+2>>0]=-2139062144>>16;a[R+3>>0]=-2139062144>>24;j=j+4|0}j=0;while(1){if(j>>>0>=32){R=147;break n}R=i+j|0;a[R>>0]=-2139062144;a[R+1>>0]=-2139062144>>8;a[R+2>>0]=-2139062144>>16;a[R+3>>0]=-2139062144>>24;j=j+4|0}}}else R=147;while(0);o:do if((R|0)==147)if(!w){k=H(d[U+17>>0]|0,16843009)|0;j=0;while(1){if(j>>>0>=16){R=151;break o}R=i+j|0;a[R>>0]=k;a[R+1>>0]=k>>8;a[R+2>>0]=k>>16;a[R+3>>0]=k>>24;j=j+4|0}}else R=151;while(0);if((R|0)==151)if(!z){a[U>>0]=a[i>>0]|0;R=153}else R=153;p:do if((R|0)==153?(A|0)==0:0){k=H(d[U>>0]|0,16843009)|0;j=0;while(1){if(j>>>0>=16)break p;R=h+j|0;a[R>>0]=k;a[R+1>>0]=k>>8;a[R+2>>0]=k>>16;a[R+3>>0]=k>>24;j=j+4|0}}while(0);q:do if(!N){k=H(d[Y+16>>0]|0,16843009)|0;l=Y+17|0;j=0;while(1){if(j>>>0>=16)break q;R=l+j|0;a[R>>0]=k;a[R+1>>0]=k>>8;a[R+2>>0]=k>>16;a[R+3>>0]=k>>24;j=j+4|0}}while(0);k=a[U>>0]|0;a[Y>>0]=k;r:do if(!(c[S+13368>>2]|0)){if(!T?(c[S+4>>2]|0)!=3:0){R=172;break}if((_|0)!=1){T=_+-26|0;T=(T|0)>-1?T:26-_|0;S=_+-10|0;S=(S|0)>-1?S:10-_|0;if((((T|0)>(S|0)?S:T)|0)>1){a[V+32>>0]=a[U+32>>0]|0;a[W+32>>0]=a[Y+32>>0]|0;j=30;while(1){if((j|0)<=-1)break;a[X+j>>0]=((d[i+(j+1)>>0]|0)+2+(d[i+j>>0]<<1)+(d[U+j>>0]|0)|0)>>>2;j=j+-1|0}i=(((k&255)<<1)+2+(d[i>>0]|0)+(d[h>>0]|0)|0)>>>2&255;a[V>>0]=i;a[W>>0]=i;i=30;while(1){if((i|0)<=-1){i=X;h=Z;R=172;break r}a[Z+i>>0]=((d[h+(i+1)>>0]|0)+2+(d[h+i>>0]<<1)+(d[Y+i>>0]|0)|0)>>>2;i=i+-1|0}}else R=172}else R=174}else R=172;while(0);s:do if((R|0)==172)switch(_|0){case 1:{R=174;break s}case 0:{hc[c[b+5760>>2]&255](aa,h,i,$);break s}default:{kc[c[b+5780>>2]&127](aa,h,i,$,g,_);break s}}while(0);if((R|0)==174)kc[c[b+5768>>2]&127](aa,h,i,$,4,g);Mb=ba;return}function Sc(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0;ha=Mb;Mb=Mb+16|0;Z=ha+8|0;_=ha;ca=c[f+21748>>2]|0;ga=c[f+21708>>2]|0;S=c[f+21712>>2]|0;T=c[f+21716>>2]|0;U=c[f+21720>>2]|0;c[Z>>2]=U;c[Z+4>>2]=c[f+21724>>2];V=c[f+21728>>2]|0;W=c[f+21732>>2]|0;X=c[f+21736>>2]|0;Y=c[f+21740>>2]|0;c[_>>2]=Y;r=c[f+21744>>2]|0;c[_+4>>2]=r;a:do if(!(g&2048)){b:do if(g&7|0){o=(c[(c[e+28196>>2]|0)+56>>2]|0)==0?-1:7;j=f+21768|0;c[j>>2]=65535;h=f+21760|0;c[h>>2]=65535;l=f+21756|0;c[l>>2]=65535;m=f+21764|0;c[m>>2]=61162;n=(o&W|0)!=0;if(n){h=65535;k=60138}else{c[l>>2]=46079;c[h>>2]=13311;c[m>>2]=9962;h=46079;k=8938}i=g&128;do if((i|0)==(Y&128|0)){if(!(o&Y)){h=h&57183;c[l>>2]=h;c[j>>2]=24415}}else{if(!i){if(!((o&Y|0)==0?1:(c[(c[e+24364>>2]|0)+((c[e+27e3>>2]|0)+U<<2)>>2]&o|0)==0))break;h=h&57183;c[l>>2]=h;c[j>>2]=24415;break}if(!(o&Y)){h=h&57343;c[l>>2]=h;c[j>>2]=24575;i=24415}else i=65375;if(!(o&r)){h=h&65375;c[l>>2]=h;c[j>>2]=i}}while(0);if(!(o&V))c[l>>2]=h&32767;if(!(o&X))c[m>>2]=k;if(g&1|0){if(!(W&1)){jv(f+21668|0,(n?2:-1)|0,4)|0;k=f+21704|0;l=e+26348|0}else{k=f+21704|0;l=e+26348|0;c[f+21668>>2]=c[(c[k>>2]|0)+(c[(c[l>>2]|0)+(S<<2)>>2]|0)>>2]}j=0;while(1){if((j|0)==2)break b;h=c[_+(j<<2)>>2]|0;if(!(h&1)){h=(h&o|0)==0?-1:2;i=j<<4;a[i+19+(f+21664)>>0]=h;i=i|11}else{R=(c[k>>2]|0)+(c[(c[l>>2]|0)+(c[Z+(j<<2)>>2]<<2)>>2]|0)|0;h=j<<1;i=j<<4;a[(i|11)+(f+21664)>>0]=a[R+(6-(d[ca+h>>0]|0))>>0]|0;h=a[R+(6-(d[ca+(h|1)>>0]|0))>>0]|0;i=i+19|0}a[f+21664+i>>0]=h;j=j+1|0}}}while(0);do if(W){h=e+25956|0;i=c[h>>2]|0;c[f+27828>>2]=c[i+(S*48|0)+12>>2];if(!(c[e+25668>>2]|0)){c[f+27868>>2]=c[i+(S*48|0)+28>>2];c[f+27908>>2]=c[i+(S*48|0)+44>>2];break}else{c[f+27868>>2]=c[i+(S*48|0)+20>>2];c[f+27908>>2]=c[i+(S*48|0)+36>>2];break}}else{c[f+27828>>2]=1077952576;c[f+27868>>2]=1077952576;c[f+27908>>2]=1077952576;h=e+25956|0}while(0);p=e+28200|0;o=0;while(1){if((o|0)==2)break a;c:do if(!(c[_+(o<<2)>>2]|0)){i=o<<4;a[i+99+(f+27824)>>0]=64;a[i+91+(f+27824)>>0]=64;a[i+59+(f+27824)>>0]=64;a[i+51+(f+27824)>>0]=64;a[i+19+(f+27824)>>0]=64;j=64;i=i|11}else{i=c[h>>2]|0;j=c[Z+(o<<2)>>2]|0;k=o<<1;l=ca+(k+8)|0;n=o<<4;a[(n|11)+(f+27824)>>0]=a[(d[l>>0]|0)+(i+(j*48|0))>>0]|0;m=ca+(k+9)|0;a[n+19+(f+27824)>>0]=a[(d[m>>0]|0)+(i+(j*48|0))>>0]|0;switch(c[(c[p>>2]|0)+12>>2]|0){case 3:{a[n+51+(f+27824)>>0]=a[(d[l>>0]|0)+16+(i+(j*48|0))>>0]|0;a[n+59+(f+27824)>>0]=a[(d[m>>0]|0)+16+(i+(j*48|0))>>0]|0;a[n+91+(f+27824)>>0]=a[(d[l>>0]|0)+32+(i+(j*48|0))>>0]|0;j=a[(d[m>>0]|0)+32+(i+(j*48|0))>>0]|0;i=n+99|0;break c}case 2:{a[n+51+(f+27824)>>0]=a[(d[l>>0]|0)+14+(i+(j*48|0))>>0]|0;a[n+59+(f+27824)>>0]=a[(d[m>>0]|0)+14+(i+(j*48|0))>>0]|0;a[n+91+(f+27824)>>0]=a[(d[l>>0]|0)+30+(i+(j*48|0))>>0]|0;j=a[(d[m>>0]|0)+30+(i+(j*48|0))>>0]|0;i=n+99|0;break c}default:{R=o<<3;a[R+51+(f+27824)>>0]=a[(d[ca+(k+12)>>0]|0)+(i+(j*48|0))>>0]|0;j=a[(d[ca+(k+13)>>0]|0)+(i+(j*48|0))>>0]|0;i=R+91|0;break c}}}while(0);a[f+27824+i>>0]=j;o=o+1|0}}while(0);if(!(g&120)){if(g&256|0?c[f+21844>>2]|0:0)q=46}else q=46;d:do if((q|0)==46){u=c[e+26352>>2]|0;v=(W|0)==0?-16843010:-1;w=(g&80|0)==0;x=e+26344|0;y=u*3|0;A=S<<2;z=A|2;A=A|3;B=(Y|0)==0?-2:-1;C=U<<2|1;D=(X|0)==0?-2:-1;E=T<<2|2;F=(g&2304|0)==0;G=(V|0)==0?-2:-1;I=f+21752|0;J=u<<1;K=u+3|0;L=ga<<2;M=e+26360|0;N=f+21828|0;O=(V&128|0)!=0;P=(W&128|0)==0;Q=(X&128|0)==0;R=(Y&128|0)==0;t=(r&128|0)==0;s=c[f+23412>>2]|0;r=0;while(1){if(r>>>0>=s>>>0)break d;m=f+28272+(r*40|0)+12|0;o=c[e+24384+(r<<2)>>2]|0;n=f+27952+(r*160|0)+48|0;p=c[e+24352+(r<<2)>>2]|0;q=12288<<(r<<1);do if(q&g|0){if(!(q&W)){l=f+27952+(r*160|0)+16|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;c[f+28272+(r*40|0)+4>>2]=v}else{j=(c[(c[x>>2]|0)+(S<<2)>>2]|0)+y|0;i=p+(j<<2)|0;l=c[i+4>>2]|0;k=f+27952+(r*160|0)+16|0;c[k>>2]=c[i>>2];c[k+4>>2]=l;j=p+(j<<2)+8|0;k=c[j+4>>2]|0;l=f+27952+(r*160|0)+24|0;c[l>>2]=c[j>>2];c[l+4>>2]=k;l=a[o+z>>0]|0;a[f+28272+(r*40|0)+5>>0]=l;a[f+28272+(r*40|0)+4>>0]=l;l=a[o+A>>0]|0;a[f+28272+(r*40|0)+7>>0]=l;a[f+28272+(r*40|0)+6>>0]=l}e:do if(w){if(!(q&Y)){c[f+27952+(r*160|0)+44>>2]=0;h=B}else{h=p+((c[(c[x>>2]|0)+(U<<2)>>2]|0)+3+(H(u,d[ca>>0]|0)|0)<<2)|0;c[f+27952+(r*160|0)+44>>2]=c[h>>2];h=a[o+(C+(a[ca>>0]&-2&255))>>0]|0}a[f+28272+(r*40|0)+11>>0]=h}else{l=0;while(1){if((l|0)==2)break e;i=l<<1;j=l<<4;h=j+-1|0;k=c[_+(l<<2)>>2]|0;if(!(k&q)){c[n+(h<<2)>>2]=0;j=j|7;c[n+(j<<2)>>2]=0;i=(k|0)==0?-2:-1;a[m+j>>0]=i}else{ia=c[Z+(l<<2)>>2]|0;ka=(c[(c[x>>2]|0)+(ia<<2)>>2]|0)+3|0;ia=ia<<2|1;ja=ca+i|0;k=p+((H(u,d[ja>>0]|0)|0)+ka<<2)|0;c[n+(h<<2)>>2]=c[k>>2];i=ca+(i|1)|0;ka=p+((H(u,d[i>>0]|0)|0)+ka<<2)|0;k=j|7;c[n+(k<<2)>>2]=c[ka>>2];a[m+h>>0]=a[o+(ia+(a[ja>>0]&-2&255))>>0]|0;i=a[o+(ia+(a[i>>0]&-2&255))>>0]|0;h=k}a[m+h>>0]=i;l=l+1|0}}while(0);if(!(q&X)){c[f+27952+(r*160|0)+32>>2]=0;h=D}else{c[f+27952+(r*160|0)+32>>2]=c[p+((c[(c[x>>2]|0)+(T<<2)>>2]|0)+y<<2)>>2];h=a[o+E>>0]|0}k=f+28272+(r*40|0)+8|0;a[k>>0]=h;j=f+28272+(r*40|0)+6|0;if((a[j>>0]|h)<<24>>24<0){if(!(q&V)){c[f+27952+(r*160|0)+12>>2]=0;h=G}else{h=c[I>>2]|0;c[f+27952+(r*160|0)+12>>2]=c[p+(K+(c[(c[x>>2]|0)+(ga<<2)>>2]|0)+(h&J)<<2)>>2];h=a[o+(L|h&2|1)>>0]|0}a[f+28272+(r*40|0)+3>>0]=h}if(F){a[f+28272+(r*40|0)+30>>0]=-2;a[f+28272+(r*40|0)+14>>0]=-2;c[f+27952+(r*160|0)+56>>2]=0;c[f+27952+(r*160|0)+120>>2]=0;if(!(c[M>>2]|0))break}else if(!(c[M>>2]|0))break;if(!(c[N>>2]|0)){if(O?(da=f+28272+(r*40|0)+3|0,ea=a[da>>0]|0,ea<<24>>24>-1):0){a[da>>0]=ea<<24>>24>>1;ka=f+27952+(r*160|0)+14|0;b[ka>>1]=b[ka>>1]<<1;ka=f+28352+(r*80|0)+7|0;a[ka>>0]=d[ka>>0]<<1}do if(!P){h=f+28272+(r*40|0)+4|0;i=a[h>>0]|0;if(i<<24>>24>-1){a[h>>0]=i<<24>>24>>1;ka=f+27952+(r*160|0)+18|0;b[ka>>1]=b[ka>>1]<<1;ka=f+28352+(r*80|0)+9|0;a[ka>>0]=d[ka>>0]<<1}h=f+28272+(r*40|0)+5|0;i=a[h>>0]|0;if(i<<24>>24>-1){a[h>>0]=i<<24>>24>>1;ka=f+27952+(r*160|0)+22|0;b[ka>>1]=b[ka>>1]<<1;ka=f+28352+(r*80|0)+11|0;a[ka>>0]=d[ka>>0]<<1}h=a[j>>0]|0;if(h<<24>>24>-1){a[j>>0]=h<<24>>24>>1;ka=f+27952+(r*160|0)+26|0;b[ka>>1]=b[ka>>1]<<1;ka=f+28352+(r*80|0)+13|0;a[ka>>0]=d[ka>>0]<<1}h=f+28272+(r*40|0)+7|0;i=a[h>>0]|0;if(i<<24>>24<=-1)break;a[h>>0]=i<<24>>24>>1;ka=f+27952+(r*160|0)+30|0;b[ka>>1]=b[ka>>1]<<1;ka=f+28352+(r*80|0)+15|0;a[ka>>0]=d[ka>>0]<<1}while(0);if(!Q?(fa=a[k>>0]|0,fa<<24>>24>-1):0){a[k>>0]=fa<<24>>24>>1;ka=f+27952+(r*160|0)+34|0;b[ka>>1]=b[ka>>1]<<1;ka=f+28352+(r*80|0)+17|0;a[ka>>0]=d[ka>>0]<<1}do if(!R){h=f+28272+(r*40|0)+11|0;i=a[h>>0]|0;if(i<<24>>24>-1){a[h>>0]=i<<24>>24>>1;ka=f+27952+(r*160|0)+46|0;b[ka>>1]=b[ka>>1]<<1;ka=f+28352+(r*80|0)+23|0;a[ka>>0]=d[ka>>0]<<1}h=f+28272+(r*40|0)+19|0;i=a[h>>0]|0;if(i<<24>>24<=-1)break;a[h>>0]=i<<24>>24>>1;ka=f+27952+(r*160|0)+78|0;b[ka>>1]=b[ka>>1]<<1;ka=f+28352+(r*80|0)+39|0;a[ka>>0]=d[ka>>0]<<1}while(0);if(t)break;h=f+28272+(r*40|0)+27|0;i=a[h>>0]|0;if(i<<24>>24>-1){a[h>>0]=i<<24>>24>>1;ka=f+27952+(r*160|0)+110|0;b[ka>>1]=b[ka>>1]<<1;ka=f+28352+(r*80|0)+55|0;a[ka>>0]=d[ka>>0]<<1}h=f+28272+(r*40|0)+35|0;i=a[h>>0]|0;if(i<<24>>24<=-1)break;a[h>>0]=i<<24>>24>>1;ka=f+27952+(r*160|0)+142|0;b[ka>>1]=b[ka>>1]<<1;ka=f+28352+(r*80|0)+71|0;a[ka>>0]=d[ka>>0]<<1;break}else{if(!O?($=f+28272+(r*40|0)+3|0,aa=a[$>>0]|0,aa<<24>>24>-1):0){a[$>>0]=aa<<24>>24<<1;ka=f+27952+(r*160|0)+14|0;b[ka>>1]=(b[ka>>1]|0)/2|0;ka=f+28352+(r*80|0)+7|0;a[ka>>0]=(d[ka>>0]|0)>>>1}do if(P){h=f+28272+(r*40|0)+4|0;i=a[h>>0]|0;if(i<<24>>24>-1){a[h>>0]=i<<24>>24<<1;ka=f+27952+(r*160|0)+18|0;b[ka>>1]=(b[ka>>1]|0)/2|0;ka=f+28352+(r*80|0)+9|0;a[ka>>0]=(d[ka>>0]|0)>>>1}h=f+28272+(r*40|0)+5|0;i=a[h>>0]|0;if(i<<24>>24>-1){a[h>>0]=i<<24>>24<<1;ka=f+27952+(r*160|0)+22|0;b[ka>>1]=(b[ka>>1]|0)/2|0;ka=f+28352+(r*80|0)+11|0;a[ka>>0]=(d[ka>>0]|0)>>>1}h=a[j>>0]|0;if(h<<24>>24>-1){a[j>>0]=h<<24>>24<<1;ka=f+27952+(r*160|0)+26|0;b[ka>>1]=(b[ka>>1]|0)/2|0;ka=f+28352+(r*80|0)+13|0;a[ka>>0]=(d[ka>>0]|0)>>>1}h=f+28272+(r*40|0)+7|0;i=a[h>>0]|0;if(i<<24>>24<=-1)break;a[h>>0]=i<<24>>24<<1;ka=f+27952+(r*160|0)+30|0;b[ka>>1]=(b[ka>>1]|0)/2|0;ka=f+28352+(r*80|0)+15|0;a[ka>>0]=(d[ka>>0]|0)>>>1}while(0);if(Q?(ba=a[k>>0]|0,ba<<24>>24>-1):0){a[k>>0]=ba<<24>>24<<1;ka=f+27952+(r*160|0)+34|0;b[ka>>1]=(b[ka>>1]|0)/2|0;ka=f+28352+(r*80|0)+17|0;a[ka>>0]=(d[ka>>0]|0)>>>1}do if(R){h=f+28272+(r*40|0)+11|0;i=a[h>>0]|0;if(i<<24>>24>-1){a[h>>0]=i<<24>>24<<1;ka=f+27952+(r*160|0)+46|0;b[ka>>1]=(b[ka>>1]|0)/2|0;ka=f+28352+(r*80|0)+23|0;a[ka>>0]=(d[ka>>0]|0)>>>1}h=f+28272+(r*40|0)+19|0;i=a[h>>0]|0;if(i<<24>>24<=-1)break;a[h>>0]=i<<24>>24<<1;ka=f+27952+(r*160|0)+78|0;b[ka>>1]=(b[ka>>1]|0)/2|0;ka=f+28352+(r*80|0)+39|0;a[ka>>0]=(d[ka>>0]|0)>>>1}while(0);if(!t)break;h=f+28272+(r*40|0)+27|0;i=a[h>>0]|0;if(i<<24>>24>-1){a[h>>0]=i<<24>>24<<1;ka=f+27952+(r*160|0)+110|0;b[ka>>1]=(b[ka>>1]|0)/2|0;ka=f+28352+(r*80|0)+55|0;a[ka>>0]=(d[ka>>0]|0)>>>1}h=f+28272+(r*40|0)+35|0;i=a[h>>0]|0;if(i<<24>>24<=-1)break;a[h>>0]=i<<24>>24<<1;ka=f+27952+(r*160|0)+142|0;b[ka>>1]=(b[ka>>1]|0)/2|0;ka=f+28352+(r*80|0)+71|0;a[ka>>0]=(d[ka>>0]|0)>>>1;break}}while(0);r=r+1|0}}while(0);c[f+21840>>2]=(Y>>>24&1)+(W>>>24&1);Mb=ha;return}function Tc(e){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,E=0,F=0,G=0,I=0,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0;R=Mb;Mb=Mb+176|0;O=R+160|0;L=R+152|0;Q=R+144|0;J=R+136|0;G=R+128|0;F=R+120|0;D=R+112|0;m=R+104|0;B=R+96|0;A=R+88|0;y=R+80|0;x=R+72|0;w=R+64|0;u=R+56|0;r=R+48|0;q=R+40|0;o=R+32|0;n=R+24|0;l=R+16|0;i=R+8|0;g=R;N=e+136|0;K=(c[N>>2]|0)+204|0;I=(mT(K)|0)&255;s=e+2428|0;a[s>>0]=I;t=e+3508|0;f=c[t>>2]|0;if(!(I<<24>>24==0|(f+-16|0)>>>0>4)?(I=e+7596|0,b[I>>1]=(b[I>>1]|0)+1&255,c[e+5716>>2]=2147483647,(f+-19|0)>>>0<2):0){wW(e);f=c[t>>2]|0}k=e+3042|0;a[k>>0]=0;if((f&-8|0)==16){I=(mT(K)|0)&255;a[k>>0]=I}f=PL(K)|0;c[e+2408>>2]=f;a:do if(f>>>0<=255?(h=c[e+384+(f<<2)>>2]|0,(h|0)!=0):0){f=a[s>>0]|0;do if(!(f<<24>>24)){g=e+1416|0;h=c[h+4>>2]|0;if((c[g>>2]|0)==(h|0)){E=g;break}else{AD(c[e+4>>2]|0,16,179905,i);f=-1094995529;break a}}else{E=e+1416|0;h=c[h+4>>2]|0}while(0);c[E>>2]=h;i=c[t>>2]|0;j=(i|0)==21;if(j?(c[e+5712>>2]|0)==1:0)a[k>>0]=1;I=e+1412|0;g=c[I>>2]|0;h=c[(c[e+256+(c[h>>2]<<2)>>2]|0)+4>>2]|0;if((g|0)!=(h|0)){do if(g|0?!(j|(i&-8|0)!=16):0){if(((c[h+13376>>2]|0)==(c[g+13376>>2]|0)?(c[h+13380>>2]|0)==(c[g+13380>>2]|0):0)?(c[h+72+(((c[h+68>>2]|0)+-1|0)*12|0)>>2]|0)==(c[g+72+(((c[g+68>>2]|0)+-1|0)*12|0)>>2]|0):0)break;a[k>>0]=0}while(0);wW(e);f=HR(e,h)|0;if((f|0)<0)break;f=Bm(e,h,f)|0;if((f|0)<0)break;f=e+7596|0;b[f>>1]=(b[f>>1]|0)+1&255;c[e+5716>>2]=2147483647;f=a[s>>0]|0}C=e+2429|0;a[C>>0]=0;do if(!(f<<24>>24)){if(a[(c[E>>2]|0)+41>>0]|0){v=(mT(K)|0)&255;a[C>>0]=v}g=c[I>>2]|0;i=c[g+13384>>2]|0;g=c[g+13388>>2]|0;f=(H(i<<1,g)|0)+-2|0;k=f>>>0>65535;f=k?f>>>16:f;k=k?16:0;v=(f&65280|0)==0;f=(v?k:k|8)+(d[94448+(v?f:f>>>8)>>0]|0)|0;if(!f){h=0;f=i}else{h=HG(K,f)|0;f=c[I>>2]|0;g=c[f+13388>>2]|0;f=c[f+13384>>2]|0}c[e+2412>>2]=h;if(h>>>0>=(H(g,f)|0)>>>0){f=c[e+4>>2]|0;c[l>>2]=h;AD(f,16,179934,l);f=-1094995529;break a}if(!(a[C>>0]|0)){c[e+2416>>2]=h;v=e+5704|0;c[v>>2]=(c[v>>2]|0)+1;v=e+156|0;P=37;break}f=e+156|0;if(!(a[f>>0]|0)){AD(c[e+4>>2]|0,16,180309,m);f=-1094995529;break a}else j=f}else{c[e+2416>>2]=0;c[e+2412>>2]=0;c[e+5704>>2]=0;v=e+156|0;a[v>>0]=0;P=37}while(0);if((P|0)==37){a[v>>0]=0;f=0;while(1){if((f|0)>=(c[(c[E>>2]|0)+1624>>2]|0))break;eW(K,1);f=f+1|0}f=PL(K)|0;m=e+2420|0;c[m>>2]=f;if(f>>>0>=3){e=c[e+4>>2]|0;c[n>>2]=f;AD(e,16,179970,n);f=-1094995529;break}if(!((f|0)==2?1:(c[t>>2]&-8|0)!=16)){AD(c[e+4>>2]|0,16,179995,o);f=-1094995529;break}f=e+2430|0;a[f>>0]=1;if(a[(c[E>>2]|0)+39>>0]|0){o=(mT(K)|0)&255;a[f>>0]=o}if(a[(c[I>>2]|0)+8>>0]|0){o=(HG(K,2)|0)&255;a[e+2431>>0]=o}do if(((c[t>>2]|0)+-19|0)>>>0>=2){f=HG(K,c[(c[I>>2]|0)+60>>2]|0)|0;c[e+2424>>2]=f;f=BF(c[I>>2]|0,c[e+5700>>2]|0,f,c[t>>2]|0)|0;g=e+5696|0;if((a[s>>0]|0)==0?(p=c[g>>2]|0,(f|0)!=(p|0)):0){o=e+4|0;n=c[o>>2]|0;c[q>>2]=p;c[q+4>>2]=f;AD(n,24,180027,q);if(c[(c[o>>2]|0)+688>>2]&8|0){f=-1094995529;break a}f=c[g>>2]|0}c[g>>2]=f;q=mT(K)|0;c[e+2432>>2]=q;h=a$(K)|0;if(!q){g=e+2440|0;f=Hf(K,c[e+4>>2]|0,g,c[I>>2]|0,1)|0;if((f|0)<0)break a;else f=g}else{g=c[I>>2]|0;f=c[g+2184>>2]|0;if(!f){AD(c[e+4>>2]|0,16,180073,r);f=-1094995529;break a}f=(f<<1)+-2|0;q=f>>>0>65535;f=q?f>>>16:f;q=q?16:0;r=(f&65280|0)==0;f=(r?q:q|8)+(d[94448+(r?f:f>>>8)>>0]|0)|0;if(!f){f=g;g=0}else{g=HG(K,f)|0;f=c[I>>2]|0}f=f+2188+(g*172|0)|0}c[e+2612>>2]=f;f=h-(a$(K)|0)|0;c[e+2436>>2]=f;f=a$(K)|0;if((Zi(e,e+2620|0,K)|0)<0?(r=e+4|0,AD(c[r>>2]|0,24,180099,u),c[(c[r>>2]|0)+688>>2]&8|0):0){f=-1094995529;break a}u=f-(a$(K)|0)|0;c[e+2616>>2]=u;if(!(a[(c[I>>2]|0)+13316>>0]|0)){a[e+3043>>0]=0;break}else{u=(mT(K)|0)&255;a[e+3043>>0]=u;break}}else{c[e+2612>>2]=0;c[e+5696>>2]=0}while(0);b:do if(a[s>>0]|0?(c[e+3512>>2]|0)==0:0){switch(c[t>>2]|0){case 9:case 8:case 7:case 6:case 4:case 2:case 0:break b;default:{}}c[e+5700>>2]=c[e+5696>>2]}while(0);if(a[(c[I>>2]|0)+13197>>0]|0){u=(mT(K)|0)&255;a[e+3052>>0]=u;if(c[(c[I>>2]|0)+4>>2]|0){u=(mT(K)|0)&255;a[e+3054>>0]=u;a[e+3053>>0]=u}}else{a[e+3052>>0]=0;a[e+3053>>0]=0;a[e+3054>>0]=0}l=e+3048|0;c[l>>2]=0;k=e+3044|0;c[k>>2]=0;f=c[m>>2]|0;do if(f>>>0<2){g=c[E>>2]|0;c[k>>2]=c[g+8>>2];if(!f)c[l>>2]=c[g+12>>2];do if(!(mT(K)|0))P=80;else{f=(PL(K)|0)+1|0;c[k>>2]=f;if(c[m>>2]|0)break;P=(PL(K)|0)+1|0;c[l>>2]=P;P=80}while(0);if((P|0)==80)f=c[k>>2]|0;g=c[l>>2]|0;if(f>>>0>16|g>>>0>16){e=c[e+4>>2]|0;c[w>>2]=f;c[w+4>>2]=g;AD(e,16,180123,w);f=-1094995529;break a}f=e+3040|0;a[f>>0]=0;i=e+3041|0;a[i>>0]=0;j=ky(e)|0;if(!j){AD(c[e+4>>2]|0,16,180146,x);f=-1094995529;break a}c:do if((j|0)>1?(a[(c[E>>2]|0)+1617>>0]|0)!=0:0){x=(mT(K)|0)&255;a[f>>0]=x;d:do if(x<<24>>24){h=(j<<1)+-2|0;f=h>>>0>65535;h=f?h>>>16:h;f=f?16:0;g=(h&65280|0)==0;f=g?f:f|8;h=94448+(g?h:h>>>8)|0;g=0;while(1){if(g>>>0>=(c[k>>2]|0)>>>0)break d;x=HG(K,f+(d[h>>0]|0)|0)|0;c[e+2784+(g<<2)>>2]=x;g=g+1|0}}while(0);if(c[m>>2]|0)break;P=mT(K)|0;a[i>>0]=P;if((P&255|0)!=1){P=95;break}h=(j<<1)+-2|0;f=h>>>0>65535;h=f?h>>>16:h;f=f?16:0;g=(h&65280|0)==0;f=g?f:f|8;h=94448+(g?h:h>>>8)|0;g=0;while(1){if(g>>>0>=(c[l>>2]|0)>>>0){P=95;break c}P=HG(K,f+(d[h>>0]|0)|0)|0;c[e+2912+(g<<2)>>2]=P;g=g+1|0}}else P=95;while(0);do if((P|0)==95){if(c[m>>2]|0)break;x=(mT(K)|0)&255;a[e+3055>>0]=x}while(0);if(!(a[(c[E>>2]|0)+5>>0]|0))f=0;else f=(mT(K)|0)&255;a[e+3056>>0]=f;g=e+3060|0;c[g>>2]=0;do if(a[e+3043>>0]|0){h=e+3059|0;a[h>>0]=0;if(!(c[m>>2]|0)){f=(mT(K)|0)==0&1;a[h>>0]=f}else f=0;if((c[e+3044+((f&255)<<2)>>2]|0)>>>0<=1)break;f=PL(K)|0;c[g>>2]=f;if(f>>>0<(c[e+3044+(d[h>>0]<<2)>>2]|0)>>>0)break;e=c[e+4>>2]|0;c[y>>2]=f;AD(e,16,180189,y);f=-1094995529;break a}while(0);f=c[E>>2]|0;if((a[f+37>>0]|0)!=0?(c[m>>2]|0)==1:0)P=109;else P=107;do if((P|0)==107){if(!(a[f+38>>0]|0))break;if(!(c[m>>2]|0))P=109}while(0);if((P|0)==109?(z=hf(e,K)|0,(z|0)<=-1):0){f=z;break a}f=5-(PL(K)|0)|0;c[e+3088>>2]=f;if((f+-1|0)>>>0<=4)break;e=c[e+4>>2]|0;c[A>>2]=f;AD(e,16,180222,A);f=-1094995529;break a}while(0);f=$t(K)|0;c[e+3064>>2]=f;f=c[E>>2]|0;if(!(a[f+36>>0]|0)){c[e+3068>>2]=0;g=0}else{g=$t(K)|0;c[e+3068>>2]=g;g=$t(K)|0;f=c[E>>2]|0}c[e+3072>>2]=g;if(!(a[f+1631>>0]|0))g=0;else{g=(mT(K)|0)&255;f=c[E>>2]|0}a[e+3076>>0]=g;e:do if(!(a[f+55>>0]|0)){a[e+3057>>0]=0;c[e+3080>>2]=0;f=0;P=127}else{do if(a[f+56>>0]|0){if(!(mT(K)|0)){f=c[E>>2]|0;break}A=(mT(K)|0)&255;a[e+3057>>0]=A;if(A<<24>>24)break e;f=$t(K)|0;g=$t(K)|0;if((f+6|0)>>>0>12|(g+6|0)>>>0>12){e=c[e+4>>2]|0;c[B>>2]=f;c[B+4>>2]=g;AD(e,16,180269,B);f=-1094995529;break a}else{c[e+3080>>2]=f<<1;f=g<<1;P=127;break e}}while(0);a[e+3057>>0]=a[f+57>>0]|0;c[e+3080>>2]=c[f+60>>2];f=c[f+64>>2]|0;P=127}while(0);if((P|0)==127)c[e+3084>>2]=f;f=a[(c[E>>2]|0)+54>>0]|0;f:do if(f<<24>>24){do if(!(a[e+3052>>0]|0)){if(a[e+3053>>0]|0)break;if(a[e+3057>>0]|0)break f}while(0);f=(mT(K)|0)&255}while(0);a[e+3058>>0]=f;j=v}i=e+3104|0;c[i>>2]=0;B=c[E>>2]|0;if(!((a[B+42>>0]|0)==0?!(a[B+43>>0]|0):0))P=138;g:do if((P|0)==138){f=PL(K)|0;if(f>>>0>(a$(K)|0)>>>0){e=c[e+4>>2]|0;c[D>>2]=f;AD(e,16,180345,D);f=-1094995529;break a}c[i>>2]=f;if((f|0)<=0){c[e+7600>>2]=0;break}D=PL(K)|0;h=D+1|0;if(D>>>0>31){c[i>>2]=0;f=c[e+4>>2]|0;c[F>>2]=h;AD(f,16,180384,F);f=-1094995529;break a}g=e+3092|0;bU(g);F=e+3096|0;bU(F);B=e+3100|0;bU(B);D=SV(c[i>>2]|0,4)|0;c[g>>2]=D;D=SV(c[i>>2]|0,4)|0;c[F>>2]=D;D=SV(c[i>>2]|0,4)|0;c[B>>2]=D;if(c[g>>2]|0?!((D|0)==0|(c[F>>2]|0)==0):0){f=0;while(1){if((f|0)>=(c[i>>2]|0))break;G=(rO(K,h)|0)+1|0;c[(c[g>>2]|0)+(f<<2)>>2]=G;f=f+1|0}f=e+141|0;do if((d[f>>0]|0)>1){G=c[E>>2]|0;if((c[G+48>>2]|0)<=1?(c[G+44>>2]|0)<=1:0)break;c[e+7600>>2]=0;a[f>>0]=1;break g}while(0);c[e+7600>>2]=0;break}c[i>>2]=0;AD(c[e+4>>2]|0,16,180410,G);f=-12;break a}while(0);f=c[E>>2]|0;if(!(a[f+1628>>0]|0))h=f;else{g=PL(K)|0;F=_U(g|0,0,3)|0;B=M()|0;G=a$(K)|0;D=((G|0)<0)<<31>>31;if((B|0)>(D|0)|(B|0)==(D|0)&F>>>0>G>>>0){AD(c[e+4>>2]|0,16,180437,J);f=-1094995529;break}f=0;while(1){if((f|0)==(g|0))break;eW(K,8);f=f+1|0}h=c[E>>2]|0}f=(c[h+16>>2]|0)+26+(c[e+3064>>2]|0)|0;i=f&255;a[e+3108>>0]=i;g=f<<24;if((g|0)<=855638016){g=g>>24;f=0-(c[(c[I>>2]|0)+13448>>2]|0)|0;if((g|0)>=(f|0)){Q=c[e+2412>>2]|0;c[e+3496>>2]=Q;if((Q|0)==0?a[C>>0]|0:0){AD(c[e+4>>2]|0,16,180535,L);f=-1094995529;break}f=a$(K)|0;if((f|0)<0){e=c[e+4>>2]|0;c[O>>2]=0-f;AD(e,16,180562,O);f=-1094995529;break}f=c[N>>2]|0;a[f+203>>0]=(a[C>>0]|0)==0&1;if(!(a[h+22>>0]|0))a[f+272>>0]=i;a[j>>0]=1;a[f+302>>0]=0;a[f+303>>0]=0;f=0;break}}else{g=f&255;f=0-(c[(c[I>>2]|0)+13448>>2]|0)|0}e=c[e+4>>2]|0;c[Q>>2]=g;c[Q+4>>2]=f;AD(e,16,180481,Q);f=-1094995529}else P=8;while(0);if((P|0)==8){e=c[e+4>>2]|0;c[g>>2]=f;AD(e,16,179880,g);f=-1094995529}Mb=R;return f|0}function Uc(f){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,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0;_=Mb;Mb=Mb+80|0;B=_+64|0;w=_+48|0;v=_+40|0;u=_+32|0;t=_+24|0;s=_+16|0;p=_+8|0;n=_;S=f+568|0;q=c[S>>2]|0;V=f+560|0;r=c[V>>2]|0;o=c[f>>2]|0;a:do if((((c[o+676>>2]|0?(m=f+572|0,c[m>>2]|0):0)?(c[o+792>>2]|0)==0:0)?HL(f)|0:0)?(U=f+556|0,i=c[U>>2]|0,j=i*3|0,k=(c[o+336>>2]|0)+(c[o+332>>2]|0)|0,(c[m>>2]|0)!=(H(k,j)|0)):0){g=f+672|0;C=c[g>>2]|0;W=C+32|0;Z=f+580|0;l=r+-1|0;X=f+564|0;h=0;while(1){if((h|0)>=(i|0))break;Q=(c[Z>>2]|0)+((H(c[X>>2]|0,l)|0)+h)|0;if((a[Q>>0]|0)!=127)break;h=h+1|0}if((((h|0)==(i|0)?(c[o+48>>2]|0)==2:0)?(c[o+128>>2]|0)+15&16|0:0)?(c[m>>2]|0)==(H(k+1|0,j)|0):0){AD(o,48,204189,n);break}A=f+704|0;h=c[A>>2]|0;do if(h|0){if(((c[h+68>>2]|0)==(c[C+68>>2]|0)?(c[h+72>>2]|0)==(c[C+72>>2]|0):0)?(c[h+80>>2]|0)==(c[C+80>>2]|0):0)break;AD(o,24,204218,p);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;c[A+24>>2]=0;c[A+28>>2]=0}while(0);z=f+736|0;h=c[z>>2]|0;do if(h|0){Q=c[g>>2]|0;if(((c[h+68>>2]|0)==(c[Q+68>>2]|0)?(c[h+72>>2]|0)==(c[Q+72>>2]|0):0)?(c[h+80>>2]|0)==(c[Q+80>>2]|0):0)break;AD(c[f>>2]|0,24,204268,s);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}while(0);if(!((c[f+680>>2]|0)!=0?(c[f+688>>2]|0)!=0:0))T=27;b:do if((T|0)==27){AD(c[f>>2]|0,16,204314,t);i=(H(q<<3,r)|0)+16|0;h=0;while(1){if(h>>>0>=2)break b;j=TW(H(c[X>>2]<<2,c[V>>2]|0)|0)|0;k=f+768+(h<<2)|0;c[k>>2]=j;j=TW(i)|0;c[f+776+(h<<2)>>2]=j;k=c[k>>2]|0;if((j|0)==0|(k|0)==0)break;c[f+688+(h<<2)>>2]=c[k+4>>2];c[f+680+(h<<2)>>2]=(c[j+4>>2]|0)+16;h=h+1|0}g=0;while(1){if((g|0)==2)break a;F$(f+768+(g<<2)|0);F$(f+776+(g<<2)|0);c[f+688+(g<<2)>>2]=0;c[f+680+(g<<2)>>2]=0;g=g+1|0}}while(0);c:do if(c[(c[f>>2]|0)+680>>2]&1024|0){h=0;while(1){if((h|0)>=(c[V>>2]|0))break c;i=0;while(1){if((i|0)>=(c[U>>2]|0))break;P=(c[Z>>2]|0)+((H(c[X>>2]|0,h)|0)+i)|0;Q=c[f>>2]|0;c[u>>2]=d[P>>0];AD(Q,48,204341,u);i=i+1|0}AD(c[f>>2]|0,48,222312,v);h=h+1|0}}while(0);P=f+552|0;Q=f+548|0;l=1;while(1){if((l|0)==4)break;n=9<<l;o=1<<l;i=0;h=c[P>>2]|0;while(1){m=h+-1|0;if((h|0)<=0)break;j=(c[Z>>2]|0)+(c[(c[Q>>2]|0)+(m<<2)>>2]|0)|0;k=d[j>>0]|0;h=(n&k|0)==0?i:1;if(!h)a[j>>0]=o|k;i=(k&1|0)==0?h:0;h=m}l=l+1|0}O=f+792|0;d:do if(c[O>>2]|0){i=0;h=c[P>>2]|0;while(1){m=h+-1|0;if((h|0)<=0)break d;j=(c[Z>>2]|0)+(c[(c[Q>>2]|0)+(m<<2)>>2]|0)|0;k=a[j>>0]|0;l=k&255;h=(l&98|0)==0?((l&16|0)==0?i:0):1;if(!h)a[j>>0]=k|2;i=(l&1|0)==0?h:0;h=m}}while(0);e:do if(c[(c[f>>2]|0)+688>>2]&8|0){h=1;k=(c[P>>2]|0)+-2|0;while(1){if((k|0)<((c[U>>2]|0)+100|0))break e;N=c[Q>>2]|0;M=c[Z>>2]|0;i=M+(c[N+(k<<2)>>2]|0)|0;j=a[i>>0]|0;L=j&255;h=(L&1|0)==0?h:1;if((h|0)==0|((L&112|0)==0|(j<<24>>24==127?1:(a[M+(c[N+(k+1<<2)>>2]|0)>>0]|0)!=127))^1){a[i>>0]=j|14;h=0}k=k+-1|0}}while(0);N=f+600|0;h=9999999;l=1;while(1){if((l|0)==4)break;m=1<<l;n=75728+(l+-1<<2)|0;i=c[P>>2]|0;while(1){k=i+-1|0;if((i|0)<=0)break;M=c[(c[Q>>2]|0)+(k<<2)>>2]|0;i=(c[Z>>2]|0)+M|0;j=d[i>>0]|0;L=c[N>>2]|0;if(!((L|0)!=0?(a[L+M>>0]|0)!=0:0))h=h+1|0;h=(m&j|0)==0?h:0;do if(!(c[O>>2]|0)){if((h|0)>=50)break;a[i>>0]=m|j}else{if((h|0)>=(c[n>>2]|0))break;a[i>>0]=m|j}while(0);h=(j&1|0)==0?h:9999999;i=k}l=l+1|0}h=0;l=0;while(1){j=c[P>>2]|0;if((l|0)>=(j|0))break;i=(c[Z>>2]|0)+(c[(c[Q>>2]|0)+(l<<2)>>2]|0)|0;j=d[i>>0]|0;k=j&14;if(!(j&1)){a[i>>0]=h|j;h=k|h}else h=k;l=l+1|0}f:do if(!(c[O>>2]|0)){i=0;h=j;while(1){if((i|0)>=(h|0))break f;h=(c[Z>>2]|0)+(c[(c[Q>>2]|0)+(i<<2)>>2]|0)|0;M=d[h>>0]|0;a[h>>0]=(M&14|0)==0?M:M|14;i=i+1|0;h=c[P>>2]|0}}else h=j;while(0);i=0;j=0;k=0;l=0;while(1){if((l|0)>=(h|0))break;M=d[(c[Z>>2]|0)+(c[(c[Q>>2]|0)+(l<<2)>>2]|0)>>0]|0;i=(M>>>2&1)+i|0;j=(M>>>3&1)+j|0;k=(M>>>1&1)+k|0;l=l+1|0}M=c[f>>2]|0;L=(pL(c[(c[g>>2]|0)+88>>2]|0)|0)<<24>>24;c[w>>2]=i;c[w+4>>2]=k;c[w+8>>2]=j;c[w+12>>2]=L;AD(M,32,204346,w);i=(ij(f)|0)==0;i=i?12296:1;M=f+696|0;j=0;while(1){h=c[P>>2]|0;if((j|0)>=(h|0))break;h=c[(c[Q>>2]|0)+(j<<2)>>2]|0;if((a[(c[Z>>2]|0)+h>>0]&12)==12)c[(c[M>>2]|0)+(h<<2)>>2]=i;j=j+1|0}L=c[A>>2]|0;if(!((L|0)!=0?(c[L>>2]|0)!=0:0))T=94;g:do if((T|0)==94){L=c[z>>2]|0;if(L|0?c[L>>2]|0:0)break;j=0;while(1){if((j|0)>=(h|0))break g;i=(c[M>>2]|0)+(c[(c[Q>>2]|0)+(j<<2)>>2]<<2)|0;if(!(c[i>>2]&7)){c[i>>2]=1;h=c[P>>2]|0}j=j+1|0}}while(0);u=f+608|0;v=f+612|0;w=f+800|0;x=f+804|0;y=f+608|0;o=0;while(1){h=c[V>>2]|0;if((o|0)>=(h|0))break;n=o<<1;m=0;while(1){if((m|0)>=(c[U>>2]|0))break;i=(H(c[X>>2]|0,o)|0)+m|0;j=c[(c[M>>2]|0)+(i<<2)>>2]|0;h=c[A>>2]|0;if(!h){h=1;l=2}else{l=(c[h>>2]|0)!=0;h=(l^1)&1;l=l?1:2}L=d[(c[Z>>2]|0)+i>>0]|0;if(!((L&2|0)==0|(L&8|j&7|0)!=0)){h:do if(!(j&64)){L=c[f+680+(h<<2)>>2]|0;h=(H(n,c[S>>2]|0)|0)+(m<<1)|0;c[u>>2]=b[L+(h<<2)>>1];c[v>>2]=b[L+(h<<2)+2>>1];h=0}else{j=c[S>>2]|0;k=(H(j,o)|0)+m<<1;i=f+680+(h<<2)|0;h=0;while(1){if((h|0)==4){h=1;break h}K=c[i>>2]|0;L=(h&1|k)+(H(h>>>1,j)|0)|0;c[f+608+(h<<3)>>2]=b[K+(L<<2)>>1];c[f+608+(h<<3)+4>>2]=b[K+(L<<2)+2>>1];h=h+1|0}}while(0);oc[c[w>>2]&31](c[x>>2]|0,0,l,h,y,m,o,0,0)}m=m+1|0}o=o+1|0}i:do if((c[(c[g>>2]|0)+88>>2]|0)==3){o=f+784|0;p=f+640|0;q=f+644|0;r=f+786|0;s=f+740|0;t=f+744|0;n=0;j:while(1){if((n|0)>=(h|0)){R=h;break i}m=n<<1;l=0;while(1){if((l|0)>=(c[U>>2]|0))break;k=(H(m,c[S>>2]|0)|0)+(l<<1)|0;L=(H(c[X>>2]|0,n)|0)+l|0;if(!((a[(c[Z>>2]|0)+L>>0]&10)!=10?1:(c[(c[M>>2]|0)+(L<<2)>>2]&7|0)!=0)){L=c[A>>2]|0;if((L|0)!=0?(c[L>>2]|0)!=0:0)h=3;else h=2;L=c[z>>2]|0;if(!((L|0)!=0?(c[L>>2]|0)!=0:0))h=h&1;i=b[o>>1]|0;if(!(i<<16>>16)){c[u>>2]=0;c[v>>2]=0;c[p>>2]=0;i=0}else{i=i&65535;j=e[r>>1]|0;if((c[(c[f>>2]|0)+48>>2]|0)==28)break j;Yw(c[s>>2]|0,n,0);L=c[t>>2]|0;J=b[L+(k<<2)>>1]|0;K=(H(J,j)|0)/(i|0)|0;c[u>>2]=K;L=b[L+(k<<2)+2>>1]|0;K=(H(L,j)|0)/(i|0)|0;c[v>>2]=K;K=j-i|0;J=(H(K,J)|0)/(i|0)|0;c[p>>2]=J;i=(H(K,L)|0)/(i|0)|0}c[q>>2]=i;oc[c[w>>2]&31](c[x>>2]|0,0,h,0,y,l,n,0,0)}l=l+1|0}n=n+1|0;h=c[V>>2]|0}c[B>>2]=204397;c[B+4>>2]=204436;c[B+8>>2]=1216;AD(0,0,222515,B);ba()}else{ad(f);R=c[V>>2]|0}while(0);L=C+36|0;K=C+40|0;B=f+588|0;C=f+592|0;D=f+596|0;y=0;while(1){if((y|0)>=(R|0))break;E=y<<4;F=y<<3;A=c[U>>2]|0;z=0;while(1){if((z|0)>=(A|0))break;G=(H(c[X>>2]|0,y)|0)+z|0;if(!((c[(c[M>>2]|0)+(G<<2)>>2]&7|0)!=0?(c[O>>2]|0)!=0:0))T=143;do if((T|0)==143){T=0;x=c[g>>2]|0;l=c[W>>2]|0;m=(c[x>>2]|0)+(z<<4)+(H(E,l)|0)|0;n=c[x+4>>2]|0;v=z<<3;I=c[L>>2]|0;o=H(I,F)|0;x=c[x+8>>2]|0;J=c[K>>2]|0;w=H(J,F)|0;p=c[S>>2]|0;q=(c[B>>2]|0)+((H(p,y)|0)+z<<1<<1)|0;j=0;while(1){if((j|0)==4)break;r=j<<3&8;s=j>>>1;t=s<<3;k=0;h=0;while(1){if((k|0)==8)break;u=(H(k+t|0,l)|0)+r|0;i=0;while(1){if((i|0)==8)break;$=h+(d[m+(u+i)>>0]|0)|0;i=i+1|0;h=$}k=k+1|0}$=q+((H(s,p)|0)+(j&1)<<1)|0;b[$>>1]=(h+4|0)>>>3;j=j+1|0}o=n+v+o|0;n=x+v+w|0;if(!x)break;h=0;i=0;k=0;while(1){if((k|0)==8)break;l=H(k,I)|0;m=H(k,J)|0;j=0;while(1){if((j|0)==8)break;$=i+(d[o+(j+l)>>0]|0)|0;x=h+(d[n+(j+m)>>0]|0)|0;j=j+1|0;h=x;i=$}k=k+1|0}b[(c[C>>2]|0)+(G<<1)>>1]=(i+4|0)>>>3;b[(c[D>>2]|0)+(G<<1)>>1]=(h+4|0)>>>3}while(0);z=z+1|0}y=y+1|0}Ef(f,c[B>>2]|0,c[U>>2]<<1,R<<1,c[S>>2]|0,1);Ef(f,c[C>>2]|0,c[U>>2]|0,c[V>>2]|0,c[X>>2]|0,0);Ef(f,c[D>>2]|0,c[U>>2]|0,c[V>>2]|0,c[X>>2]|0,0);Ot(c[B>>2]|0,c[U>>2]<<1,c[V>>2]<<1,c[S>>2]|0);l=0;while(1){h=c[V>>2]|0;if((l|0)>=(h|0))break;i=l<<4;j=l<<3;h=0;while(1){if((h|0)>=(c[U>>2]|0))break;k=(H(c[X>>2]|0,l)|0)+h|0;do if(!(c[(c[M>>2]|0)+(k<<2)>>2]&120)){if(!(a[(c[Z>>2]|0)+k>>0]&2))break;T=c[g>>2]|0;R=(c[T>>2]|0)+(h<<4)+(H(i,c[W>>2]|0)|0)|0;$=h<<3;S=(c[T+4>>2]|0)+$+(H(c[L>>2]|0,j)|0)|0;T=c[T+8>>2]|0;$=T+$+(H(c[K>>2]|0,j)|0)|0;T=(T|0)==0;Fm(f,R,T?0:S,T?0:$,h,l)}while(0);h=h+1|0}l=l+1|0}if(c[(c[f>>2]|0)+676>>2]&2|0?(Jg(f,c[c[g>>2]>>2]|0,c[U>>2]<<1,h<<1,c[W>>2]|0,1),Bg(f,c[c[g>>2]>>2]|0,c[U>>2]<<1,c[V>>2]<<1,c[W>>2]|0,1),Y=c[g>>2]|0,c[Y+8>>2]|0):0){Jg(f,c[Y+4>>2]|0,c[U>>2]|0,c[V>>2]|0,c[L>>2]|0,0);Jg(f,c[(c[g>>2]|0)+8>>2]|0,c[U>>2]|0,c[V>>2]|0,c[K>>2]|0,0);Bg(f,c[(c[g>>2]|0)+4>>2]|0,c[U>>2]|0,c[V>>2]|0,c[L>>2]|0,0);Bg(f,c[(c[g>>2]|0)+8>>2]|0,c[U>>2]|0,c[V>>2]|0,c[K>>2]|0,0)}j=f+604|0;i=0;while(1){if((i|0)>=(c[P>>2]|0))break;k=c[(c[Q>>2]|0)+(i<<2)>>2]|0;h=c[N>>2]|0;do if(h|0){if((a[(c[Z>>2]|0)+k>>0]&14)==0?1:(c[(c[g>>2]|0)+88>>2]|0)==3)break;a[h+k>>0]=0}while(0);h=c[j>>2]|0;if(h|0)a[h+k>>0]=1;i=i+1|0}h=0;while(1){if((h|0)==2)break;F$(f+768+(h<<2)|0);F$(f+776+(h<<2)|0);c[f+688+(h<<2)>>2]=0;c[f+680+(h<<2)>>2]=0;h=h+1|0}h=g+96|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0))}while(0);Mb=_;return}function Vc(d,f,g,h){d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=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,$=0;$=Mb;Mb=Mb+288|0;U=$+144|0;X=$;p=c[d+136>>2]|0;P=c[d+1412>>2]|0;R=c[P+13424+(h<<2)>>2]|0;Q=c[P+13436+(h<<2)>>2]|0;s=4<<R;i=c[P+13328>>2]|0;r=4<<Q;j=c[P+13420>>2]|0;k=f>>i&j;l=g>>i&j;q=c[d+1416>>2]|0;m=c[q+1684>>2]|0;n=j+2|0;o=m+((H(l,n)|0)+k<<2)|0;o=c[o>>2]|0;W=c[d+160>>2]|0;V=(c[W+32+(h<<2)>>2]|0)>>>1;B=0-V|0;W=(c[W+(h<<2)>>2]|0)+(f>>R<<1)+((H(V,g>>Q)|0)<<1)|0;S=c[P+13412>>2]|0;Y=c[((h|0)==0?p+288|0:p+292|0)>>2]|0;Z=U+2|0;_=X+2|0;if(!(c[p+31284>>2]|0))t=0;else{t=m+(k+-1+(H(l+(r>>i)&j,n)|0)<<2)|0;t=(o|0)>(c[t>>2]|0)}u=t&1;v=c[p+31288>>2]|0;y=c[p+31296>>2]|0;z=c[p+31292>>2]|0;if(!(c[p+31300>>2]|0))w=0;else{w=m+((H(l+-1|0,n)|0)+(k+(s>>i)&j)<<2)|0;w=(o|0)>(c[w>>2]|0)}k=w&1;I=(r<<1)+g|0;E=P+13380|0;A=c[E>>2]|0;G=r+g|0;I=((I|0)>(A|0)?A:I)-G>>Q;A=(s<<1)+f|0;F=P+13376|0;C=c[F>>2]|0;D=s+f|0;A=((A|0)>(C|0)?C:A)-D>>R;C=q+20|0;if((a[C>>0]|0)==1){x=c[P+13340>>2]|0;q=r>>x;s=s>>x;r=(1<<x)+-1|0;p=(r&f|0)==0;r=(r&g|0)==0;s=s+((s|0)==0&1)|0;a:do if(t&p){m=f+-1>>x;n=G>>x;l=(c[P+13416>>2]|0)-n|0;l=(q|0)>(l|0)?l:q;o=d+3516|0;i=0;j=0;while(1){if((i|0)>=(l|0)){u=j;break a}N=(c[(c[o>>2]|0)+20>>2]|0)+(((H(i+n|0,S)|0)+m|0)*12|0)+10|0;i=i+2|0;j=j|(a[N>>0]|0)==0}}while(0);b:do if((v|0)==1&p){n=f+-1>>x;o=g>>x;l=(c[P+13416>>2]|0)-o|0;l=(q|0)>(l|0)?l:q;m=d+3516|0;i=0;j=0;while(1){if((j|0)>=(l|0)){p=i;break b}N=(c[(c[m>>2]|0)+20>>2]|0)+(((H(j+o|0,S)|0)+n|0)*12|0)+10|0;i=i|(a[N>>0]|0)==0;j=j+2|0}}else p=v;while(0);if((y|0)==1){o=(c[(c[d+3516>>2]|0)+20>>2]|0)+(((H(g+-1>>x,S)|0)+(f+-1>>x)|0)*12|0)+10|0;o=(a[o>>0]|0)==0&1}else o=y;c:do if((z|0)==1&r){n=f>>x;l=S-n|0;l=(s|0)>(l|0)?l:s;m=d+3516|0;n=(H(g+-1>>x,S)|0)+n|0;i=0;j=0;while(1){if((j|0)>=(l|0)){n=i;break c}i=i|(a[(c[(c[m>>2]|0)+20>>2]|0)+((n+j|0)*12|0)+10>>0]|0)==0;j=j+2|0}}else n=z;while(0);d:do if(w&r){k=D>>x;l=S-k|0;l=(s|0)>(l|0)?l:s;m=d+3516|0;k=(H(g+-1>>x,S)|0)+k|0;i=0;j=0;while(1){if((j|0)>=(l|0)){k=i;break d}i=i|(a[(c[(c[m>>2]|0)+20>>2]|0)+((k+j|0)*12|0)+10>>0]|0)==0;j=j+2|0}}while(0);i=Z;j=i+128|0;do{b[i>>1]=32896;i=i+2|0}while((i|0)<(j|0));i=_;j=i+128|0;do{b[i>>1]=32896;i=i+2|0}while((i|0)<(j|0));b[X>>1]=128;y=o;v=p;z=n}K=(y|0)!=0;if(K){N=b[W+(~V<<1)>>1]|0;b[U>>1]=N;b[X>>1]=N}L=(z|0)!=0;if(L){x=W+(B<<1)|0;t=x;t=e[t>>1]|e[t+2>>1]<<16;x=x+4|0;x=e[x>>1]|e[x+2>>1]<<16;N=_;w=N;b[w>>1]=t;b[w+2>>1]=t>>>16;N=N+4|0;b[N>>1]=x;b[N+2>>1]=x>>>16}N=(k|0)!=0;e:do if(N){j=X+10|0;m=W+(B<<1)+8|0;i=m;i=e[i>>1]|e[i+2>>1]<<16;m=m+4|0;m=e[m>>1]|e[m+2>>1]<<16;l=j;n=l;b[n>>1]=i;b[n+2>>1]=i>>>16;l=l+4|0;b[l>>1]=m;b[l+2>>1]=m>>>16;l=MR(e[W+(3-V+A<<1)>>1]|0,0,65537,65537)|0;m=M()|0;n=4-A|0;j=j+(A<<1)|0;i=0;while(1){if((i|0)>=(n|0))break e;B=j+(i<<1)|0;A=B;b[A>>1]=l;b[A+2>>1]=l>>>16;B=B+4|0;b[B>>1]=m;b[B+2>>1]=m>>>16;i=i+4|0}}while(0);A=(v|0)!=0;f:do if(A){i=0;while(1){if((i|0)==4)break f;B=W+((H(i,V)|0)+-1<<1)|0;b[Z+(i<<1)>>1]=b[B>>1]|0;i=i+1|0}}while(0);x=(u|0)!=0;g:do if(x){j=I+4|0;i=4;while(1){if((i|0)>=(j|0))break;B=W+((H(i,V)|0)+-1<<1)|0;b[Z+(i<<1)>>1]=b[B>>1]|0;i=i+1|0}j=W+((H(I+3|0,V)|0)+-1<<1)|0;j=MR(e[j>>1]|0,0,65537,65537)|0;l=M()|0;m=4-I|0;n=U+10+(I<<1)|0;i=0;while(1){if((i|0)>=(m|0))break g;B=n+(i<<1)|0;w=B;b[w>>1]=j;b[w+2>>1]=j>>>16;B=B+4|0;b[B>>1]=l;b[B+2>>1]=l>>>16;i=i+4|0}}while(0);h:do if((a[C>>0]|0)==1?(J=u|v,O=(J|0)==0,J=J|y,z|k|J|0):0){C=c[F>>2]|0;w=C-f>>R;F=c[E>>2]|0;u=F-g>>Q;w=N?(((8<<R)+f|0)<(C|0)?8:w):(D|0)<(C|0)?4:w;u=x?(((8<<Q)+g|0)<(F|0)?8:u):(G|0)<(F|0)?4:u;do if(!J){k=d+3516|0;l=P+13340|0;m=(-1<<Q)+g|0;i=0;while(1){if((i|0)>=(w|0))break;J=c[l>>2]|0;J=(c[(c[k>>2]|0)+20>>2]|0)+(((H(m>>J,S)|0)+((i<<R)+f>>J)|0)*12|0)+10|0;if(!(a[J>>0]|0))break;i=i+1|0}i:do if(i|0){if((f|0)>0)while(1){if((i|0)<=-1)break i;j=i+-1|0;J=c[l>>2]|0;J=(c[(c[k>>2]|0)+20>>2]|0)+(((H(m>>J,S)|0)+((j<<R)+f>>J)|0)*12|0)+10|0;if(a[J>>0]|0)b[X+(i<<1)>>1]=b[_+(i<<1)>>1]|0;i=j}while(1){if((i|0)<=0)break;j=i+-1|0;J=c[l>>2]|0;J=(c[(c[k>>2]|0)+20>>2]|0)+(((H(m>>J,S)|0)+((j<<R)+f>>J)|0)*12|0)+10|0;if(a[J>>0]|0)b[X+(i<<1)>>1]=b[_+(i<<1)>>1]|0;i=j}b[X>>1]=b[_>>1]|0}while(0);o=b[X>>1]|0;b[U>>1]=o;t=X;s=U}else{l=c[(c[d+3516>>2]|0)+20>>2]|0;m=c[P+13340>>2]|0;k=(-1<<R)+f>>m;i=x?I+4|0:4;do{J=i;i=i+-1|0;j=H((i<<Q)+g>>m,S)|0;if((J|0)<=0)break}while((a[l+((j+k|0)*12|0)+10>>0]|0)!=0);if(!(a[l+((j+(f-(1<<R)>>m)|0)*12|0)+10>>0]|0)){t=X;s=U;o=b[X>>1]|0;break}k=H(g-(1<<Q)>>m,S)|0;i=0;while(1){if((i|0)>=(w|0))break;if(!(a[l+((((i<<R)+f>>m)+k|0)*12|0)+10>>0]|0))break;i=i+1|0}while(1){if((i|0)<=-1)break;j=i+-1|0;if(a[l+((((j<<R)+f>>m)+k|0)*12|0)+10>>0]|0)b[X+(i<<1)>>1]=b[_+(i<<1)>>1]|0;i=j}o=b[X>>1]|0;b[U>>1]=o;t=X;s=U}while(0);b[s>>1]=o;j:do if(!O){i=MR(o&65535|0,0,65537,65537)|0;l=d+3516|0;m=(-1<<R)+f|0;n=P+13340|0;k=0;j=M()|0;while(1){if((k|0)>=(u|0))break j;O=c[n>>2]|0;O=(c[(c[l>>2]|0)+20>>2]|0)+(((H((k<<Q)+g>>O,S)|0)+(m>>O)|0)*12|0)+10|0;if(!(a[O>>0]|0)){i=MR(e[Z+((k|3)<<1)>>1]|0,0,65537,65537)|0;j=M()|0}else{O=Z+(k<<1)|0;J=O;b[J>>1]=i;b[J+2>>1]=i>>>16;O=O+4|0;b[O>>1]=j;b[O+2>>1]=j>>>16}k=k+4|0}}while(0);if(!A){G=MR(o&65535|0,0,65537,65537)|0;J=M()|0;O=Z;I=O;b[I>>1]=G;b[I+2>>1]=G>>>16;O=O+4|0;b[O>>1]=J;b[O+2>>1]=J>>>16}if(!x){G=MR(e[U+8>>1]|0,0,65537,65537)|0;J=M()|0;O=U+10|0;I=O;b[I>>1]=G;b[I+2>>1]=G>>>16;O=O+4|0;b[O>>1]=J;b[O+2>>1]=J>>>16}r=(g|0)!=0;k:do if((f|0)!=0&r){m=MR(e[U+(u<<1)>>1]|0,0,65537,65537)|0;j=M()|0;o=(c[d+3516>>2]|0)+20|0;p=(-1<<R)+f|0;q=P+13340|0;n=u+-1|0;while(1){i=c[o>>2]|0;k=c[q>>2]|0;l=p>>k;if((n|0)<=-1)break;J=n+-3|0;O=i+(((H((J<<Q)+g>>k,S)|0)+l|0)*12|0)+10|0;i=Z+(J<<1)|0;if(!(a[O>>0]|0)){i=MR(e[i>>1]|0,0,65537,65537)|0;j=M()|0}else{O=i;b[O>>1]=m;b[O+2>>1]=m>>>16;i=i+4|0;b[i>>1]=j;b[i+2>>1]=j>>>16;i=m}n=n+-4|0;m=i}O=i+(((H((-1<<Q)+g>>k,S)|0)+l|0)*12|0)+10|0;if(a[O>>0]|0)b[s>>1]=b[Z>>1]|0}else{if(!f){i=0;while(1){if((i|0)>=(u|0))break k;O=Z+(i<<1)|0;J=O;b[J>>1]=0;b[J+2>>1]=0>>>16;O=O+4|0;b[O>>1]=0;b[O+2>>1]=0>>>16;i=i+4|0}}k=MR(e[U+(u<<1)>>1]|0,0,65537,65537)|0;m=d+3516|0;n=(-1<<R)+f|0;o=P+13340|0;l=u+-1|0;j=M()|0;while(1){if((l|0)<=-1)break k;O=c[o>>2]|0;i=l+-3|0;O=(c[(c[m>>2]|0)+20>>2]|0)+(((H((i<<Q)+g>>O,S)|0)+(n>>O)|0)*12|0)+10|0;i=Z+(i<<1)|0;if(!(a[O>>0]|0)){i=MR(e[i>>1]|0,0,65537,65537)|0;j=M()|0}else{O=i;b[O>>1]=k;b[O+2>>1]=k>>>16;i=i+4|0;b[i>>1]=j;b[i+2>>1]=j>>>16;i=k}l=l+-4|0;k=i}}while(0);i=b[s>>1]|0;b[t>>1]=i;if(r){i=MR(i&65535|0,0,65537,65537)|0;n=d+3516|0;m=P+13340|0;l=(-1<<Q)+g|0;k=0;j=M()|0;while(1){if((k|0)>=(w|0))break h;g=c[m>>2]|0;g=(c[(c[n>>2]|0)+20>>2]|0)+(((H(l>>g,S)|0)+((k<<R)+f>>g)|0)*12|0)+10|0;if(!(a[g>>0]|0)){i=MR(e[_+((k|3)<<1)>>1]|0,0,65537,65537)|0;j=M()|0}else{g=_+(k<<1)|0;Q=g;b[Q>>1]=i;b[Q+2>>1]=i>>>16;g=g+4|0;b[g>>1]=j;b[g+2>>1]=j>>>16}k=k+4|0}}}while(0);l:do if(x)T=138;else{if(A){f=MR(e[U+8>>1]|0,0,65537,65537)|0;S=M()|0;T=U+10|0;R=T;b[R>>1]=f;b[R+2>>1]=f>>>16;T=T+4|0;b[T>>1]=S;b[T+2>>1]=S>>>16;T=138;break}if(K){j=MR(e[U>>1]|0,0,65537,65537)|0;k=M()|0;i=0;while(1){if(i>>>0>=8){T=140;break l}T=Z+(i<<1)|0;S=T;b[S>>1]=j;b[S+2>>1]=j>>>16;T=T+4|0;b[T>>1]=k;b[T+2>>1]=k>>>16;i=i+4|0}}if(L){j=b[_>>1]|0;b[U>>1]=j;j=MR(j&65535|0,0,65537,65537)|0;k=M()|0;i=0;while(1){if(i>>>0>=8){T=142;break l}T=Z+(i<<1)|0;S=T;b[S>>1]=j;b[S+2>>1]=j>>>16;T=T+4|0;b[T>>1]=k;b[T+2>>1]=k>>>16;i=i+4|0}}if(N){i=b[X+10>>1]|0;j=MR(i&65535|0,0,65537,65537)|0;k=M()|0;S=_;R=S;b[R>>1]=j;b[R+2>>1]=j>>>16;S=S+4|0;b[S>>1]=k;b[S+2>>1]=k>>>16;b[U>>1]=i;i=0;while(1){if(i>>>0>=8)break l;S=Z+(i<<1)|0;R=S;b[R>>1]=j;b[R+2>>1]=j>>>16;S=S+4|0;b[S>>1]=k;b[S+2>>1]=k>>>16;i=i+4|0}}b[U>>1]=2048;i=0;while(1){if(i>>>0>=8)break;T=_+(i<<1)|0;S=T;b[S>>1]=2048;b[S+2>>1]=134219776>>>16;T=T+4|0;b[T>>1]=2048;b[T+2>>1]=134219776>>>16;i=i+4|0}i=0;while(1){if(i>>>0>=8){T=138;break l}T=Z+(i<<1)|0;S=T;b[S>>1]=2048;b[S+2>>1]=134219776>>>16;T=T+4|0;b[T>>1]=2048;b[T+2>>1]=134219776>>>16;i=i+4|0}}while(0);if((T|0)==138)if(!v){f=MR(e[U+10>>1]|0,0,65537,65537)|0;S=M()|0;T=Z;R=T;b[R>>1]=f;b[R+2>>1]=f>>>16;T=T+4|0;b[T>>1]=S;b[T+2>>1]=S>>>16;T=140}else T=140;if((T|0)==140)if(!y){b[U>>1]=b[Z>>1]|0;T=142}else T=142;if((T|0)==142?(z|0)==0:0){f=MR(e[U>>1]|0,0,65537,65537)|0;S=M()|0;T=_;R=T;b[R>>1]=f;b[R+2>>1]=f>>>16;T=T+4|0;b[T>>1]=S;b[T+2>>1]=S>>>16}if(!N){f=MR(e[X+8>>1]|0,0,65537,65537)|0;S=M()|0;T=X+10|0;R=T;b[R>>1]=f;b[R+2>>1]=f>>>16;T=T+4|0;b[T>>1]=S;b[T+2>>1]=S>>>16}b[X>>1]=b[U>>1]|0;switch(Y|0){case 0:{hc[c[d+5752>>2]&255](W,_,Z,V);break}case 1:{kc[c[d+5768>>2]&127](W,_,Z,V,2,h);break}default:kc[c[d+5772>>2]&127](W,_,Z,V,h,Y)}Mb=$;return}function Wc(d,f,g,h){d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=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,$=0;$=Mb;Mb=Mb+288|0;U=$+144|0;X=$;p=c[d+136>>2]|0;P=c[d+1412>>2]|0;R=c[P+13424+(h<<2)>>2]|0;Q=c[P+13436+(h<<2)>>2]|0;s=4<<R;i=c[P+13328>>2]|0;r=4<<Q;j=c[P+13420>>2]|0;k=f>>i&j;l=g>>i&j;q=c[d+1416>>2]|0;m=c[q+1684>>2]|0;n=j+2|0;o=m+((H(l,n)|0)+k<<2)|0;o=c[o>>2]|0;W=c[d+160>>2]|0;V=(c[W+32+(h<<2)>>2]|0)>>>1;B=0-V|0;W=(c[W+(h<<2)>>2]|0)+(f>>R<<1)+((H(V,g>>Q)|0)<<1)|0;S=c[P+13412>>2]|0;Y=c[((h|0)==0?p+288|0:p+292|0)>>2]|0;Z=U+2|0;_=X+2|0;if(!(c[p+31284>>2]|0))t=0;else{t=m+(k+-1+(H(l+(r>>i)&j,n)|0)<<2)|0;t=(o|0)>(c[t>>2]|0)}u=t&1;v=c[p+31288>>2]|0;y=c[p+31296>>2]|0;z=c[p+31292>>2]|0;if(!(c[p+31300>>2]|0))w=0;else{w=m+((H(l+-1|0,n)|0)+(k+(s>>i)&j)<<2)|0;w=(o|0)>(c[w>>2]|0)}k=w&1;I=(r<<1)+g|0;E=P+13380|0;A=c[E>>2]|0;G=r+g|0;I=((I|0)>(A|0)?A:I)-G>>Q;A=(s<<1)+f|0;F=P+13376|0;C=c[F>>2]|0;D=s+f|0;A=((A|0)>(C|0)?C:A)-D>>R;C=q+20|0;if((a[C>>0]|0)==1){x=c[P+13340>>2]|0;q=r>>x;s=s>>x;r=(1<<x)+-1|0;p=(r&f|0)==0;r=(r&g|0)==0;s=s+((s|0)==0&1)|0;a:do if(t&p){m=f+-1>>x;n=G>>x;l=(c[P+13416>>2]|0)-n|0;l=(q|0)>(l|0)?l:q;o=d+3516|0;i=0;j=0;while(1){if((i|0)>=(l|0)){u=j;break a}N=(c[(c[o>>2]|0)+20>>2]|0)+(((H(i+n|0,S)|0)+m|0)*12|0)+10|0;i=i+2|0;j=j|(a[N>>0]|0)==0}}while(0);b:do if((v|0)==1&p){n=f+-1>>x;o=g>>x;l=(c[P+13416>>2]|0)-o|0;l=(q|0)>(l|0)?l:q;m=d+3516|0;i=0;j=0;while(1){if((j|0)>=(l|0)){p=i;break b}N=(c[(c[m>>2]|0)+20>>2]|0)+(((H(j+o|0,S)|0)+n|0)*12|0)+10|0;i=i|(a[N>>0]|0)==0;j=j+2|0}}else p=v;while(0);if((y|0)==1){o=(c[(c[d+3516>>2]|0)+20>>2]|0)+(((H(g+-1>>x,S)|0)+(f+-1>>x)|0)*12|0)+10|0;o=(a[o>>0]|0)==0&1}else o=y;c:do if((z|0)==1&r){n=f>>x;l=S-n|0;l=(s|0)>(l|0)?l:s;m=d+3516|0;n=(H(g+-1>>x,S)|0)+n|0;i=0;j=0;while(1){if((j|0)>=(l|0)){n=i;break c}i=i|(a[(c[(c[m>>2]|0)+20>>2]|0)+((n+j|0)*12|0)+10>>0]|0)==0;j=j+2|0}}else n=z;while(0);d:do if(w&r){k=D>>x;l=S-k|0;l=(s|0)>(l|0)?l:s;m=d+3516|0;k=(H(g+-1>>x,S)|0)+k|0;i=0;j=0;while(1){if((j|0)>=(l|0)){k=i;break d}i=i|(a[(c[(c[m>>2]|0)+20>>2]|0)+((k+j|0)*12|0)+10>>0]|0)==0;j=j+2|0}}while(0);i=Z;j=i+128|0;do{b[i>>1]=32896;i=i+2|0}while((i|0)<(j|0));i=_;j=i+128|0;do{b[i>>1]=32896;i=i+2|0}while((i|0)<(j|0));b[X>>1]=128;y=o;v=p;z=n}K=(y|0)!=0;if(K){N=b[W+(~V<<1)>>1]|0;b[U>>1]=N;b[X>>1]=N}L=(z|0)!=0;if(L){x=W+(B<<1)|0;t=x;t=e[t>>1]|e[t+2>>1]<<16;x=x+4|0;x=e[x>>1]|e[x+2>>1]<<16;N=_;w=N;b[w>>1]=t;b[w+2>>1]=t>>>16;N=N+4|0;b[N>>1]=x;b[N+2>>1]=x>>>16}N=(k|0)!=0;e:do if(N){j=X+10|0;m=W+(B<<1)+8|0;i=m;i=e[i>>1]|e[i+2>>1]<<16;m=m+4|0;m=e[m>>1]|e[m+2>>1]<<16;l=j;n=l;b[n>>1]=i;b[n+2>>1]=i>>>16;l=l+4|0;b[l>>1]=m;b[l+2>>1]=m>>>16;l=MR(e[W+(3-V+A<<1)>>1]|0,0,65537,65537)|0;m=M()|0;n=4-A|0;j=j+(A<<1)|0;i=0;while(1){if((i|0)>=(n|0))break e;B=j+(i<<1)|0;A=B;b[A>>1]=l;b[A+2>>1]=l>>>16;B=B+4|0;b[B>>1]=m;b[B+2>>1]=m>>>16;i=i+4|0}}while(0);A=(v|0)!=0;f:do if(A){i=0;while(1){if((i|0)==4)break f;B=W+((H(i,V)|0)+-1<<1)|0;b[Z+(i<<1)>>1]=b[B>>1]|0;i=i+1|0}}while(0);x=(u|0)!=0;g:do if(x){j=I+4|0;i=4;while(1){if((i|0)>=(j|0))break;B=W+((H(i,V)|0)+-1<<1)|0;b[Z+(i<<1)>>1]=b[B>>1]|0;i=i+1|0}j=W+((H(I+3|0,V)|0)+-1<<1)|0;j=MR(e[j>>1]|0,0,65537,65537)|0;l=M()|0;m=4-I|0;n=U+10+(I<<1)|0;i=0;while(1){if((i|0)>=(m|0))break g;B=n+(i<<1)|0;w=B;b[w>>1]=j;b[w+2>>1]=j>>>16;B=B+4|0;b[B>>1]=l;b[B+2>>1]=l>>>16;i=i+4|0}}while(0);h:do if((a[C>>0]|0)==1?(J=u|v,O=(J|0)==0,J=J|y,z|k|J|0):0){C=c[F>>2]|0;w=C-f>>R;F=c[E>>2]|0;u=F-g>>Q;w=N?(((8<<R)+f|0)<(C|0)?8:w):(D|0)<(C|0)?4:w;u=x?(((8<<Q)+g|0)<(F|0)?8:u):(G|0)<(F|0)?4:u;do if(!J){k=d+3516|0;l=P+13340|0;m=(-1<<Q)+g|0;i=0;while(1){if((i|0)>=(w|0))break;J=c[l>>2]|0;J=(c[(c[k>>2]|0)+20>>2]|0)+(((H(m>>J,S)|0)+((i<<R)+f>>J)|0)*12|0)+10|0;if(!(a[J>>0]|0))break;i=i+1|0}i:do if(i|0){if((f|0)>0)while(1){if((i|0)<=-1)break i;j=i+-1|0;J=c[l>>2]|0;J=(c[(c[k>>2]|0)+20>>2]|0)+(((H(m>>J,S)|0)+((j<<R)+f>>J)|0)*12|0)+10|0;if(a[J>>0]|0)b[X+(i<<1)>>1]=b[_+(i<<1)>>1]|0;i=j}while(1){if((i|0)<=0)break;j=i+-1|0;J=c[l>>2]|0;J=(c[(c[k>>2]|0)+20>>2]|0)+(((H(m>>J,S)|0)+((j<<R)+f>>J)|0)*12|0)+10|0;if(a[J>>0]|0)b[X+(i<<1)>>1]=b[_+(i<<1)>>1]|0;i=j}b[X>>1]=b[_>>1]|0}while(0);o=b[X>>1]|0;b[U>>1]=o;t=X;s=U}else{l=c[(c[d+3516>>2]|0)+20>>2]|0;m=c[P+13340>>2]|0;k=(-1<<R)+f>>m;i=x?I+4|0:4;do{J=i;i=i+-1|0;j=H((i<<Q)+g>>m,S)|0;if((J|0)<=0)break}while((a[l+((j+k|0)*12|0)+10>>0]|0)!=0);if(!(a[l+((j+(f-(1<<R)>>m)|0)*12|0)+10>>0]|0)){t=X;s=U;o=b[X>>1]|0;break}k=H(g-(1<<Q)>>m,S)|0;i=0;while(1){if((i|0)>=(w|0))break;if(!(a[l+((((i<<R)+f>>m)+k|0)*12|0)+10>>0]|0))break;i=i+1|0}while(1){if((i|0)<=-1)break;j=i+-1|0;if(a[l+((((j<<R)+f>>m)+k|0)*12|0)+10>>0]|0)b[X+(i<<1)>>1]=b[_+(i<<1)>>1]|0;i=j}o=b[X>>1]|0;b[U>>1]=o;t=X;s=U}while(0);b[s>>1]=o;j:do if(!O){i=MR(o&65535|0,0,65537,65537)|0;l=d+3516|0;m=(-1<<R)+f|0;n=P+13340|0;k=0;j=M()|0;while(1){if((k|0)>=(u|0))break j;O=c[n>>2]|0;O=(c[(c[l>>2]|0)+20>>2]|0)+(((H((k<<Q)+g>>O,S)|0)+(m>>O)|0)*12|0)+10|0;if(!(a[O>>0]|0)){i=MR(e[Z+((k|3)<<1)>>1]|0,0,65537,65537)|0;j=M()|0}else{O=Z+(k<<1)|0;J=O;b[J>>1]=i;b[J+2>>1]=i>>>16;O=O+4|0;b[O>>1]=j;b[O+2>>1]=j>>>16}k=k+4|0}}while(0);if(!A){G=MR(o&65535|0,0,65537,65537)|0;J=M()|0;O=Z;I=O;b[I>>1]=G;b[I+2>>1]=G>>>16;O=O+4|0;b[O>>1]=J;b[O+2>>1]=J>>>16}if(!x){G=MR(e[U+8>>1]|0,0,65537,65537)|0;J=M()|0;O=U+10|0;I=O;b[I>>1]=G;b[I+2>>1]=G>>>16;O=O+4|0;b[O>>1]=J;b[O+2>>1]=J>>>16}r=(g|0)!=0;k:do if((f|0)!=0&r){m=MR(e[U+(u<<1)>>1]|0,0,65537,65537)|0;j=M()|0;o=(c[d+3516>>2]|0)+20|0;p=(-1<<R)+f|0;q=P+13340|0;n=u+-1|0;while(1){i=c[o>>2]|0;k=c[q>>2]|0;l=p>>k;if((n|0)<=-1)break;J=n+-3|0;O=i+(((H((J<<Q)+g>>k,S)|0)+l|0)*12|0)+10|0;i=Z+(J<<1)|0;if(!(a[O>>0]|0)){i=MR(e[i>>1]|0,0,65537,65537)|0;j=M()|0}else{O=i;b[O>>1]=m;b[O+2>>1]=m>>>16;i=i+4|0;b[i>>1]=j;b[i+2>>1]=j>>>16;i=m}n=n+-4|0;m=i}O=i+(((H((-1<<Q)+g>>k,S)|0)+l|0)*12|0)+10|0;if(a[O>>0]|0)b[s>>1]=b[Z>>1]|0}else{if(!f){i=0;while(1){if((i|0)>=(u|0))break k;O=Z+(i<<1)|0;J=O;b[J>>1]=0;b[J+2>>1]=0>>>16;O=O+4|0;b[O>>1]=0;b[O+2>>1]=0>>>16;i=i+4|0}}k=MR(e[U+(u<<1)>>1]|0,0,65537,65537)|0;m=d+3516|0;n=(-1<<R)+f|0;o=P+13340|0;l=u+-1|0;j=M()|0;while(1){if((l|0)<=-1)break k;O=c[o>>2]|0;i=l+-3|0;O=(c[(c[m>>2]|0)+20>>2]|0)+(((H((i<<Q)+g>>O,S)|0)+(n>>O)|0)*12|0)+10|0;i=Z+(i<<1)|0;if(!(a[O>>0]|0)){i=MR(e[i>>1]|0,0,65537,65537)|0;j=M()|0}else{O=i;b[O>>1]=k;b[O+2>>1]=k>>>16;i=i+4|0;b[i>>1]=j;b[i+2>>1]=j>>>16;i=k}l=l+-4|0;k=i}}while(0);i=b[s>>1]|0;b[t>>1]=i;if(r){i=MR(i&65535|0,0,65537,65537)|0;n=d+3516|0;m=P+13340|0;l=(-1<<Q)+g|0;k=0;j=M()|0;while(1){if((k|0)>=(w|0))break h;g=c[m>>2]|0;g=(c[(c[n>>2]|0)+20>>2]|0)+(((H(l>>g,S)|0)+((k<<R)+f>>g)|0)*12|0)+10|0;if(!(a[g>>0]|0)){i=MR(e[_+((k|3)<<1)>>1]|0,0,65537,65537)|0;j=M()|0}else{g=_+(k<<1)|0;Q=g;b[Q>>1]=i;b[Q+2>>1]=i>>>16;g=g+4|0;b[g>>1]=j;b[g+2>>1]=j>>>16}k=k+4|0}}}while(0);l:do if(x)T=138;else{if(A){f=MR(e[U+8>>1]|0,0,65537,65537)|0;S=M()|0;T=U+10|0;R=T;b[R>>1]=f;b[R+2>>1]=f>>>16;T=T+4|0;b[T>>1]=S;b[T+2>>1]=S>>>16;T=138;break}if(K){j=MR(e[U>>1]|0,0,65537,65537)|0;k=M()|0;i=0;while(1){if(i>>>0>=8){T=140;break l}T=Z+(i<<1)|0;S=T;b[S>>1]=j;b[S+2>>1]=j>>>16;T=T+4|0;b[T>>1]=k;b[T+2>>1]=k>>>16;i=i+4|0}}if(L){j=b[_>>1]|0;b[U>>1]=j;j=MR(j&65535|0,0,65537,65537)|0;k=M()|0;i=0;while(1){if(i>>>0>=8){T=142;break l}T=Z+(i<<1)|0;S=T;b[S>>1]=j;b[S+2>>1]=j>>>16;T=T+4|0;b[T>>1]=k;b[T+2>>1]=k>>>16;i=i+4|0}}if(N){i=b[X+10>>1]|0;j=MR(i&65535|0,0,65537,65537)|0;k=M()|0;S=_;R=S;b[R>>1]=j;b[R+2>>1]=j>>>16;S=S+4|0;b[S>>1]=k;b[S+2>>1]=k>>>16;b[U>>1]=i;i=0;while(1){if(i>>>0>=8)break l;S=Z+(i<<1)|0;R=S;b[R>>1]=j;b[R+2>>1]=j>>>16;S=S+4|0;b[S>>1]=k;b[S+2>>1]=k>>>16;i=i+4|0}}b[U>>1]=512;i=0;while(1){if(i>>>0>=8)break;T=_+(i<<1)|0;S=T;b[S>>1]=512;b[S+2>>1]=33554944>>>16;T=T+4|0;b[T>>1]=512;b[T+2>>1]=33554944>>>16;i=i+4|0}i=0;while(1){if(i>>>0>=8){T=138;break l}T=Z+(i<<1)|0;S=T;b[S>>1]=512;b[S+2>>1]=33554944>>>16;T=T+4|0;b[T>>1]=512;b[T+2>>1]=33554944>>>16;i=i+4|0}}while(0);if((T|0)==138)if(!v){f=MR(e[U+10>>1]|0,0,65537,65537)|0;S=M()|0;T=Z;R=T;b[R>>1]=f;b[R+2>>1]=f>>>16;T=T+4|0;b[T>>1]=S;b[T+2>>1]=S>>>16;T=140}else T=140;if((T|0)==140)if(!y){b[U>>1]=b[Z>>1]|0;T=142}else T=142;if((T|0)==142?(z|0)==0:0){f=MR(e[U>>1]|0,0,65537,65537)|0;S=M()|0;T=_;R=T;b[R>>1]=f;b[R+2>>1]=f>>>16;T=T+4|0;b[T>>1]=S;b[T+2>>1]=S>>>16}if(!N){f=MR(e[X+8>>1]|0,0,65537,65537)|0;S=M()|0;T=X+10|0;R=T;b[R>>1]=f;b[R+2>>1]=f>>>16;T=T+4|0;b[T>>1]=S;b[T+2>>1]=S>>>16}b[X>>1]=b[U>>1]|0;switch(Y|0){case 0:{hc[c[d+5752>>2]&255](W,_,Z,V);break}case 1:{kc[c[d+5768>>2]&127](W,_,Z,V,2,h);break}default:kc[c[d+5772>>2]&127](W,_,Z,V,h,Y)}Mb=$;return}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,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=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,$=0;$=Mb;Mb=Mb+288|0;U=$+144|0;X=$;p=c[d+136>>2]|0;P=c[d+1412>>2]|0;R=c[P+13424+(h<<2)>>2]|0;Q=c[P+13436+(h<<2)>>2]|0;s=4<<R;i=c[P+13328>>2]|0;r=4<<Q;j=c[P+13420>>2]|0;k=f>>i&j;l=g>>i&j;q=c[d+1416>>2]|0;m=c[q+1684>>2]|0;n=j+2|0;o=m+((H(l,n)|0)+k<<2)|0;o=c[o>>2]|0;W=c[d+160>>2]|0;V=(c[W+32+(h<<2)>>2]|0)>>>1;B=0-V|0;W=(c[W+(h<<2)>>2]|0)+(f>>R<<1)+((H(V,g>>Q)|0)<<1)|0;S=c[P+13412>>2]|0;Y=c[((h|0)==0?p+288|0:p+292|0)>>2]|0;Z=U+2|0;_=X+2|0;if(!(c[p+31284>>2]|0))t=0;else{t=m+(k+-1+(H(l+(r>>i)&j,n)|0)<<2)|0;t=(o|0)>(c[t>>2]|0)}u=t&1;v=c[p+31288>>2]|0;y=c[p+31296>>2]|0;z=c[p+31292>>2]|0;if(!(c[p+31300>>2]|0))w=0;else{w=m+((H(l+-1|0,n)|0)+(k+(s>>i)&j)<<2)|0;w=(o|0)>(c[w>>2]|0)}k=w&1;I=(r<<1)+g|0;E=P+13380|0;A=c[E>>2]|0;G=r+g|0;I=((I|0)>(A|0)?A:I)-G>>Q;A=(s<<1)+f|0;F=P+13376|0;C=c[F>>2]|0;D=s+f|0;A=((A|0)>(C|0)?C:A)-D>>R;C=q+20|0;if((a[C>>0]|0)==1){x=c[P+13340>>2]|0;q=r>>x;s=s>>x;r=(1<<x)+-1|0;p=(r&f|0)==0;r=(r&g|0)==0;s=s+((s|0)==0&1)|0;a:do if(t&p){m=f+-1>>x;n=G>>x;l=(c[P+13416>>2]|0)-n|0;l=(q|0)>(l|0)?l:q;o=d+3516|0;i=0;j=0;while(1){if((i|0)>=(l|0)){u=j;break a}N=(c[(c[o>>2]|0)+20>>2]|0)+(((H(i+n|0,S)|0)+m|0)*12|0)+10|0;i=i+2|0;j=j|(a[N>>0]|0)==0}}while(0);b:do if((v|0)==1&p){n=f+-1>>x;o=g>>x;l=(c[P+13416>>2]|0)-o|0;l=(q|0)>(l|0)?l:q;m=d+3516|0;i=0;j=0;while(1){if((j|0)>=(l|0)){p=i;break b}N=(c[(c[m>>2]|0)+20>>2]|0)+(((H(j+o|0,S)|0)+n|0)*12|0)+10|0;i=i|(a[N>>0]|0)==0;j=j+2|0}}else p=v;while(0);if((y|0)==1){o=(c[(c[d+3516>>2]|0)+20>>2]|0)+(((H(g+-1>>x,S)|0)+(f+-1>>x)|0)*12|0)+10|0;o=(a[o>>0]|0)==0&1}else o=y;c:do if((z|0)==1&r){n=f>>x;l=S-n|0;l=(s|0)>(l|0)?l:s;m=d+3516|0;n=(H(g+-1>>x,S)|0)+n|0;i=0;j=0;while(1){if((j|0)>=(l|0)){n=i;break c}i=i|(a[(c[(c[m>>2]|0)+20>>2]|0)+((n+j|0)*12|0)+10>>0]|0)==0;j=j+2|0}}else n=z;while(0);d:do if(w&r){k=D>>x;l=S-k|0;l=(s|0)>(l|0)?l:s;m=d+3516|0;k=(H(g+-1>>x,S)|0)+k|0;i=0;j=0;while(1){if((j|0)>=(l|0)){k=i;break d}i=i|(a[(c[(c[m>>2]|0)+20>>2]|0)+((k+j|0)*12|0)+10>>0]|0)==0;j=j+2|0}}while(0);i=Z;j=i+128|0;do{b[i>>1]=32896;i=i+2|0}while((i|0)<(j|0));i=_;j=i+128|0;do{b[i>>1]=32896;i=i+2|0}while((i|0)<(j|0));b[X>>1]=128;y=o;v=p;z=n}K=(y|0)!=0;if(K){N=b[W+(~V<<1)>>1]|0;b[U>>1]=N;b[X>>1]=N}L=(z|0)!=0;if(L){x=W+(B<<1)|0;t=x;t=e[t>>1]|e[t+2>>1]<<16;x=x+4|0;x=e[x>>1]|e[x+2>>1]<<16;N=_;w=N;b[w>>1]=t;b[w+2>>1]=t>>>16;N=N+4|0;b[N>>1]=x;b[N+2>>1]=x>>>16}N=(k|0)!=0;e:do if(N){j=X+10|0;m=W+(B<<1)+8|0;i=m;i=e[i>>1]|e[i+2>>1]<<16;m=m+4|0;m=e[m>>1]|e[m+2>>1]<<16;l=j;n=l;b[n>>1]=i;b[n+2>>1]=i>>>16;l=l+4|0;b[l>>1]=m;b[l+2>>1]=m>>>16;l=MR(e[W+(3-V+A<<1)>>1]|0,0,65537,65537)|0;m=M()|0;n=4-A|0;j=j+(A<<1)|0;i=0;while(1){if((i|0)>=(n|0))break e;B=j+(i<<1)|0;A=B;b[A>>1]=l;b[A+2>>1]=l>>>16;B=B+4|0;b[B>>1]=m;b[B+2>>1]=m>>>16;i=i+4|0}}while(0);A=(v|0)!=0;f:do if(A){i=0;while(1){if((i|0)==4)break f;B=W+((H(i,V)|0)+-1<<1)|0;b[Z+(i<<1)>>1]=b[B>>1]|0;i=i+1|0}}while(0);x=(u|0)!=0;g:do if(x){j=I+4|0;i=4;while(1){if((i|0)>=(j|0))break;B=W+((H(i,V)|0)+-1<<1)|0;b[Z+(i<<1)>>1]=b[B>>1]|0;i=i+1|0}j=W+((H(I+3|0,V)|0)+-1<<1)|0;j=MR(e[j>>1]|0,0,65537,65537)|0;l=M()|0;m=4-I|0;n=U+10+(I<<1)|0;i=0;while(1){if((i|0)>=(m|0))break g;B=n+(i<<1)|0;w=B;b[w>>1]=j;b[w+2>>1]=j>>>16;B=B+4|0;b[B>>1]=l;b[B+2>>1]=l>>>16;i=i+4|0}}while(0);h:do if((a[C>>0]|0)==1?(J=u|v,O=(J|0)==0,J=J|y,z|k|J|0):0){C=c[F>>2]|0;w=C-f>>R;F=c[E>>2]|0;u=F-g>>Q;w=N?(((8<<R)+f|0)<(C|0)?8:w):(D|0)<(C|0)?4:w;u=x?(((8<<Q)+g|0)<(F|0)?8:u):(G|0)<(F|0)?4:u;do if(!J){k=d+3516|0;l=P+13340|0;m=(-1<<Q)+g|0;i=0;while(1){if((i|0)>=(w|0))break;J=c[l>>2]|0;J=(c[(c[k>>2]|0)+20>>2]|0)+(((H(m>>J,S)|0)+((i<<R)+f>>J)|0)*12|0)+10|0;if(!(a[J>>0]|0))break;i=i+1|0}i:do if(i|0){if((f|0)>0)while(1){if((i|0)<=-1)break i;j=i+-1|0;J=c[l>>2]|0;J=(c[(c[k>>2]|0)+20>>2]|0)+(((H(m>>J,S)|0)+((j<<R)+f>>J)|0)*12|0)+10|0;if(a[J>>0]|0)b[X+(i<<1)>>1]=b[_+(i<<1)>>1]|0;i=j}while(1){if((i|0)<=0)break;j=i+-1|0;J=c[l>>2]|0;J=(c[(c[k>>2]|0)+20>>2]|0)+(((H(m>>J,S)|0)+((j<<R)+f>>J)|0)*12|0)+10|0;if(a[J>>0]|0)b[X+(i<<1)>>1]=b[_+(i<<1)>>1]|0;i=j}b[X>>1]=b[_>>1]|0}while(0);o=b[X>>1]|0;b[U>>1]=o;t=X;s=U}else{l=c[(c[d+3516>>2]|0)+20>>2]|0;m=c[P+13340>>2]|0;k=(-1<<R)+f>>m;i=x?I+4|0:4;do{J=i;i=i+-1|0;j=H((i<<Q)+g>>m,S)|0;if((J|0)<=0)break}while((a[l+((j+k|0)*12|0)+10>>0]|0)!=0);if(!(a[l+((j+(f-(1<<R)>>m)|0)*12|0)+10>>0]|0)){t=X;s=U;o=b[X>>1]|0;break}k=H(g-(1<<Q)>>m,S)|0;i=0;while(1){if((i|0)>=(w|0))break;if(!(a[l+((((i<<R)+f>>m)+k|0)*12|0)+10>>0]|0))break;i=i+1|0}while(1){if((i|0)<=-1)break;j=i+-1|0;if(a[l+((((j<<R)+f>>m)+k|0)*12|0)+10>>0]|0)b[X+(i<<1)>>1]=b[_+(i<<1)>>1]|0;i=j}o=b[X>>1]|0;b[U>>1]=o;t=X;s=U}while(0);b[s>>1]=o;j:do if(!O){i=MR(o&65535|0,0,65537,65537)|0;l=d+3516|0;m=(-1<<R)+f|0;n=P+13340|0;k=0;j=M()|0;while(1){if((k|0)>=(u|0))break j;O=c[n>>2]|0;O=(c[(c[l>>2]|0)+20>>2]|0)+(((H((k<<Q)+g>>O,S)|0)+(m>>O)|0)*12|0)+10|0;if(!(a[O>>0]|0)){i=MR(e[Z+((k|3)<<1)>>1]|0,0,65537,65537)|0;j=M()|0}else{O=Z+(k<<1)|0;J=O;b[J>>1]=i;b[J+2>>1]=i>>>16;O=O+4|0;b[O>>1]=j;b[O+2>>1]=j>>>16}k=k+4|0}}while(0);if(!A){G=MR(o&65535|0,0,65537,65537)|0;J=M()|0;O=Z;I=O;b[I>>1]=G;b[I+2>>1]=G>>>16;O=O+4|0;b[O>>1]=J;b[O+2>>1]=J>>>16}if(!x){G=MR(e[U+8>>1]|0,0,65537,65537)|0;J=M()|0;O=U+10|0;I=O;b[I>>1]=G;b[I+2>>1]=G>>>16;O=O+4|0;b[O>>1]=J;b[O+2>>1]=J>>>16}r=(g|0)!=0;k:do if((f|0)!=0&r){m=MR(e[U+(u<<1)>>1]|0,0,65537,65537)|0;j=M()|0;o=(c[d+3516>>2]|0)+20|0;p=(-1<<R)+f|0;q=P+13340|0;n=u+-1|0;while(1){i=c[o>>2]|0;k=c[q>>2]|0;l=p>>k;if((n|0)<=-1)break;J=n+-3|0;O=i+(((H((J<<Q)+g>>k,S)|0)+l|0)*12|0)+10|0;i=Z+(J<<1)|0;if(!(a[O>>0]|0)){i=MR(e[i>>1]|0,0,65537,65537)|0;j=M()|0}else{O=i;b[O>>1]=m;b[O+2>>1]=m>>>16;i=i+4|0;b[i>>1]=j;b[i+2>>1]=j>>>16;i=m}n=n+-4|0;m=i}O=i+(((H((-1<<Q)+g>>k,S)|0)+l|0)*12|0)+10|0;if(a[O>>0]|0)b[s>>1]=b[Z>>1]|0}else{if(!f){i=0;while(1){if((i|0)>=(u|0))break k;O=Z+(i<<1)|0;J=O;b[J>>1]=0;b[J+2>>1]=0>>>16;O=O+4|0;b[O>>1]=0;b[O+2>>1]=0>>>16;i=i+4|0}}k=MR(e[U+(u<<1)>>1]|0,0,65537,65537)|0;m=d+3516|0;n=(-1<<R)+f|0;o=P+13340|0;l=u+-1|0;j=M()|0;while(1){if((l|0)<=-1)break k;O=c[o>>2]|0;i=l+-3|0;O=(c[(c[m>>2]|0)+20>>2]|0)+(((H((i<<Q)+g>>O,S)|0)+(n>>O)|0)*12|0)+10|0;i=Z+(i<<1)|0;if(!(a[O>>0]|0)){i=MR(e[i>>1]|0,0,65537,65537)|0;j=M()|0}else{O=i;b[O>>1]=k;b[O+2>>1]=k>>>16;i=i+4|0;b[i>>1]=j;b[i+2>>1]=j>>>16;i=k}l=l+-4|0;k=i}}while(0);i=b[s>>1]|0;b[t>>1]=i;if(r){i=MR(i&65535|0,0,65537,65537)|0;n=d+3516|0;m=P+13340|0;l=(-1<<Q)+g|0;k=0;j=M()|0;while(1){if((k|0)>=(w|0))break h;g=c[m>>2]|0;g=(c[(c[n>>2]|0)+20>>2]|0)+(((H(l>>g,S)|0)+((k<<R)+f>>g)|0)*12|0)+10|0;if(!(a[g>>0]|0)){i=MR(e[_+((k|3)<<1)>>1]|0,0,65537,65537)|0;j=M()|0}else{g=_+(k<<1)|0;Q=g;b[Q>>1]=i;b[Q+2>>1]=i>>>16;g=g+4|0;b[g>>1]=j;b[g+2>>1]=j>>>16}k=k+4|0}}}while(0);l:do if(x)T=138;else{if(A){f=MR(e[U+8>>1]|0,0,65537,65537)|0;S=M()|0;T=U+10|0;R=T;b[R>>1]=f;b[R+2>>1]=f>>>16;T=T+4|0;b[T>>1]=S;b[T+2>>1]=S>>>16;T=138;break}if(K){j=MR(e[U>>1]|0,0,65537,65537)|0;k=M()|0;i=0;while(1){if(i>>>0>=8){T=140;break l}T=Z+(i<<1)|0;S=T;b[S>>1]=j;b[S+2>>1]=j>>>16;T=T+4|0;b[T>>1]=k;b[T+2>>1]=k>>>16;i=i+4|0}}if(L){j=b[_>>1]|0;b[U>>1]=j;j=MR(j&65535|0,0,65537,65537)|0;k=M()|0;i=0;while(1){if(i>>>0>=8){T=142;break l}T=Z+(i<<1)|0;S=T;b[S>>1]=j;b[S+2>>1]=j>>>16;T=T+4|0;b[T>>1]=k;b[T+2>>1]=k>>>16;i=i+4|0}}if(N){i=b[X+10>>1]|0;j=MR(i&65535|0,0,65537,65537)|0;k=M()|0;S=_;R=S;b[R>>1]=j;b[R+2>>1]=j>>>16;S=S+4|0;b[S>>1]=k;b[S+2>>1]=k>>>16;b[U>>1]=i;i=0;while(1){if(i>>>0>=8)break l;S=Z+(i<<1)|0;R=S;b[R>>1]=j;b[R+2>>1]=j>>>16;S=S+4|0;b[S>>1]=k;b[S+2>>1]=k>>>16;i=i+4|0}}b[U>>1]=256;i=0;while(1){if(i>>>0>=8)break;T=_+(i<<1)|0;S=T;b[S>>1]=256;b[S+2>>1]=16777472>>>16;T=T+4|0;b[T>>1]=256;b[T+2>>1]=16777472>>>16;i=i+4|0}i=0;while(1){if(i>>>0>=8){T=138;break l}T=Z+(i<<1)|0;S=T;b[S>>1]=256;b[S+2>>1]=16777472>>>16;T=T+4|0;b[T>>1]=256;b[T+2>>1]=16777472>>>16;i=i+4|0}}while(0);if((T|0)==138)if(!v){f=MR(e[U+10>>1]|0,0,65537,65537)|0;S=M()|0;T=Z;R=T;b[R>>1]=f;b[R+2>>1]=f>>>16;T=T+4|0;b[T>>1]=S;b[T+2>>1]=S>>>16;T=140}else T=140;if((T|0)==140)if(!y){b[U>>1]=b[Z>>1]|0;T=142}else T=142;if((T|0)==142?(z|0)==0:0){f=MR(e[U>>1]|0,0,65537,65537)|0;S=M()|0;T=_;R=T;b[R>>1]=f;b[R+2>>1]=f>>>16;T=T+4|0;b[T>>1]=S;b[T+2>>1]=S>>>16}if(!N){f=MR(e[X+8>>1]|0,0,65537,65537)|0;S=M()|0;T=X+10|0;R=T;b[R>>1]=f;b[R+2>>1]=f>>>16;T=T+4|0;b[T>>1]=S;b[T+2>>1]=S>>>16}b[X>>1]=b[U>>1]|0;switch(Y|0){case 0:{hc[c[d+5752>>2]&255](W,_,Z,V);break}case 1:{kc[c[d+5768>>2]&127](W,_,Z,V,2,h);break}default:kc[c[d+5772>>2]&127](W,_,Z,V,h,Y)}Mb=$;return}function Yc(e,h,i){e=e|0;h=h|0;i=i|0;var j=0,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,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;Q=Mb;Mb=Mb+288|0;J=Q+264|0;K=Q;L=Q+260|0;N=Q+272|0;if((c[e+76>>2]|0)>-1)P=h2(e)|0;else P=0;j=a[h>>0]|0;a:do if(j<<24>>24){B=e+4|0;C=e+104|0;D=e+120|0;E=e+8|0;F=K+10|0;G=K+33|0;H=K+46|0;I=K+94|0;A=J+4|0;m=h;h=0;k=0;l=j;j=0;u=0;v=0;b:while(1){c:do if(!(H0(l&255)|0)){n=(a[m>>0]|0)==37;d:do if(n){l=m+1|0;o=a[l>>0]|0;e:do switch(o<<24>>24){case 37:break d;case 42:{z=0;l=m+2|0;break}default:{if(n1(o&255)|0?(a[m+2>>0]|0)==36:0){z=_K(i,(d[l>>0]|0)+-48|0)|0;l=m+3|0;break e}y=(c[i>>2]|0)+(4-1)&~(4-1);z=c[y>>2]|0;c[i>>2]=y+4}}while(0);if(!(n1(d[l>>0]|0)|0)){r=0;o=l}else{m=0;do{m=(m*10|0)+-48+(d[l>>0]|0)|0;l=l+1|0}while((n1(d[l>>0]|0)|0)!=0);r=m;o=l}n=a[o>>0]|0;q=o+1|0;if(n<<24>>24==109){l=(z|0)!=0&1;k=0;m=q;o=o+2|0;n=a[q>>0]|0;j=0}else{l=0;m=o;o=q}switch(n<<24>>24){case 104:{y=(a[o>>0]|0)==104;n=y?-2:-1;m=y?m+2|0:o;break}case 108:{y=(a[o>>0]|0)==108;n=y?3:1;m=y?m+2|0:o;break}case 106:{n=3;m=o;break}case 116:case 122:{n=1;m=o;break}case 76:{n=2;m=o;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=0;break}default:{O=143;break b}}s=d[m>>0]|0;t=(s&47|0)==3;s=t?s|32:s;t=t?1:n;q=s&255;switch(q<<24>>24){case 99:{y=(r|0)>1?r:1;break}case 91:{y=r;break}case 110:{ZB(z,t,u,v);n=u;o=v;break c}default:{sC(e,0,0);do{n=c[B>>2]|0;if(n>>>0<(c[C>>2]|0)>>>0){c[B>>2]=n+1;n=d[n>>0]|0}else n=Uo(e)|0}while((H0(n)|0)!=0);if(!(c[C>>2]|0))n=c[B>>2]|0;else{n=(c[B>>2]|0)+-1|0;c[B>>2]=n}x=D;y=n-(c[E>>2]|0)|0;u=aX(c[x>>2]|0,c[x+4>>2]|0,u|0,v|0)|0;u=aX(u|0,M()|0,y|0,((y|0)<0)<<31>>31|0)|0;y=r;v=M()|0}}x=((y|0)<0)<<31>>31;sC(e,y,x);o=c[B>>2]|0;n=c[C>>2]|0;if(o>>>0<n>>>0)c[B>>2]=o+1;else{if((Uo(e)|0)<0){O=143;break b}n=c[C>>2]|0}if(n|0)c[B>>2]=(c[B>>2]|0)+-1;f:do switch(q<<24>>24){case 91:case 99:case 115:{w=(s|0)==99;g:do if((s|16|0)==115){jv(K|0,-1,257)|0;a[K>>0]=0;if((s|0)==115){a[G>>0]=0;b[F>>1]=0;b[F+2>>1]=0;a[F+4>>0]=0}}else{s=m+1|0;r=(a[s>>0]|0)==94;n=r&1;m=r?m+2|0:s;jv(K|0,n|0,257)|0;a[K>>0]=0;switch(a[m>>0]|0){case 45:{q=(n^1)&255;a[H>>0]=q;m=m+1|0;break}case 93:{q=(n^1)&255;a[I>>0]=q;m=m+1|0;break}default:q=(n^1)&255}while(1){n=a[m>>0]|0;h:do switch(n<<24>>24){case 0:{O=143;break b}case 93:break g;case 45:{o=m+1|0;n=a[o>>0]|0;switch(n<<24>>24){case 93:case 0:{n=45;break h}default:{}}m=a[m+-1>>0]|0;if((m&255)<(n&255)){m=m&255;do{m=m+1|0;a[K+m>>0]=q;n=a[o>>0]|0}while(m>>>0<(n&255)>>>0);m=o}else m=o;break}default:{}}while(0);a[K+((n&255)+1)>>0]=q;m=m+1|0}}while(0);n=w?y+1|0:31;s=(t|0)==1;t=(l|0)!=0;i:do if(s){if(t){j=zc(n<<2)|0;if(!j){k=0;j=0;O=143;break b}}else j=z;c[J>>2]=0;c[A>>2]=0;k=0;j:while(1){q=(j|0)==0;do{k:while(1){o=c[B>>2]|0;if(o>>>0<(c[C>>2]|0)>>>0){c[B>>2]=o+1;o=d[o>>0]|0}else o=Uo(e)|0;if(!(a[K+(o+1)>>0]|0))break j;a[N>>0]=o;switch(Ql(L,N,1,J)|0){case -1:{k=0;O=143;break b}case -2:break;default:break k}}if(!q){c[j+(k<<2)>>2]=c[L>>2];k=k+1|0}}while(!(t&(k|0)==(n|0)));n=n<<1|1;o=_A(j,n<<2)|0;if(!o){k=0;O=143;break b}else j=o}if(!(N_(J)|0)){k=0;O=143;break b}else{q=k;k=0;r=j}}else{if(t){k=zc(n)|0;if(!k){k=0;j=0;O=143;break b}j=0;while(1){q=j;do{j=c[B>>2]|0;if(j>>>0<(c[C>>2]|0)>>>0){c[B>>2]=j+1;j=d[j>>0]|0}else j=Uo(e)|0;if(!(a[K+(j+1)>>0]|0)){r=0;j=0;break i}r=q;q=q+1|0;a[k+r>>0]=j}while((q|0)!=(n|0));n=n<<1|1;o=_A(k,n)|0;if(!o){j=0;O=143;break b}else{j=q;k=o}}}if(!z)while(1){j=c[B>>2]|0;if(j>>>0<(c[C>>2]|0)>>>0){c[B>>2]=j+1;j=d[j>>0]|0}else j=Uo(e)|0;if(!(a[K+(j+1)>>0]|0)){q=0;k=0;r=0;j=0;break i}}k=0;while(1){j=c[B>>2]|0;if(j>>>0<(c[C>>2]|0)>>>0){c[B>>2]=j+1;j=d[j>>0]|0}else j=Uo(e)|0;if(!(a[K+(j+1)>>0]|0)){q=k;k=z;r=0;j=0;break i}a[z+k>>0]=j;k=k+1|0}}while(0);if(!(c[C>>2]|0))n=c[B>>2]|0;else{n=(c[B>>2]|0)+-1|0;c[B>>2]=n}o=D;n=n-(c[E>>2]|0)|0;n=aX(c[o>>2]|0,c[o+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;o=M()|0;if((n|0)==0&(o|0)==0)break b;if(!((n|0)==(y|0)&(o|0)==(x|0)|w^1))break b;do if(t)if(s){c[z>>2]=r;break}else{c[z>>2]=k;break}while(0);if(!w){if(r|0)c[r+(q<<2)>>2]=0;if(!k){k=0;break f}a[k+q>>0]=0}break}case 120:case 88:case 112:{n=16;O=131;break}case 111:{n=8;O=131;break}case 117:case 100:{n=10;O=131;break}case 105:{n=0;O=131;break}case 71:case 103:case 70:case 102:case 69:case 101:case 65:case 97:{p=+We(e,t,0);y=D;w=c[y>>2]|0;y=c[y+4>>2]|0;x=(c[B>>2]|0)-(c[E>>2]|0)|0;x=_W(0,0,x|0,((x|0)<0)<<31>>31|0)|0;if((w|0)==(x|0)&(y|0)==(M()|0))break b;if(z)switch(t|0){case 0:{f[z>>2]=p;break f}case 1:{g[z>>3]=p;break f}case 2:{g[z>>3]=p;break f}default:break f}break}default:{}}while(0);do if((O|0)==131){O=0;n=Jd(e,n,0,-1,-1)|0;o=M()|0;y=D;w=c[y>>2]|0;y=c[y+4>>2]|0;x=(c[B>>2]|0)-(c[E>>2]|0)|0;x=_W(0,0,x|0,((x|0)<0)<<31>>31|0)|0;if((w|0)==(x|0)&(y|0)==(M()|0))break b;if((z|0)!=0&(s|0)==112){c[z>>2]=n;break}else{ZB(z,t,n,o);break}}while(0);o=D;n=(c[B>>2]|0)-(c[E>>2]|0)|0;o=aX(c[o>>2]|0,c[o+4>>2]|0,u|0,v|0)|0;n=aX(o|0,M()|0,n|0,((n|0)<0)<<31>>31|0)|0;h=h+((z|0)!=0&1)|0;o=M()|0;break c}while(0);m=m+(n&1)|0;sC(e,0,0);l=c[B>>2]|0;if(l>>>0<(c[C>>2]|0)>>>0){c[B>>2]=l+1;l=d[l>>0]|0}else l=Uo(e)|0;if((l|0)!=(d[m>>0]|0)){O=23;break b}n=aX(u|0,v|0,1,0)|0;o=M()|0}else{while(1){l=m+1|0;if(!(H0(d[l>>0]|0)|0))break;else m=l}sC(e,0,0);do{l=c[B>>2]|0;if(l>>>0<(c[C>>2]|0)>>>0){c[B>>2]=l+1;l=d[l>>0]|0}else l=Uo(e)|0}while((H0(l)|0)!=0);if(!(c[C>>2]|0))l=c[B>>2]|0;else{l=(c[B>>2]|0)+-1|0;c[B>>2]=l}o=D;n=l-(c[E>>2]|0)|0;o=aX(c[o>>2]|0,c[o+4>>2]|0,u|0,v|0)|0;n=aX(o|0,M()|0,n|0,((n|0)<0)<<31>>31|0)|0;o=M()|0}while(0);m=m+1|0;l=a[m>>0]|0;if(!(l<<24>>24))break a;else{u=n;v=o}}if((O|0)==23){if(c[C>>2]|0)c[B>>2]=(c[B>>2]|0)+-1;if((h|0)!=0|(l|0)>-1)break;else{l=0;h=k;O=144}}else if((O|0)==143)if(!h){h=k;O=144}if((O|0)==144){k=h;h=-1}if(l){Rd(k);Rd(j)}}else h=0;while(0);if(P|0)g2(e);Mb=Q;return h|0}function Zc(e,f,g,h,i,j,k,l,m){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,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0;Ja=Mb;Mb=Mb+16|0;Ea=Ja+4|0;Da=Ja;r=c[e+136>>2]|0;Ba=c[e+3516>>2]|0;Ga=c[Ba+24>>2]|0;Ba=c[Ba+20>>2]|0;qa=e+1412|0;o=c[qa>>2]|0;ra=c[o+13412>>2]|0;W=c[r+31284>>2]|0;p=c[r+31288>>2]|0;ta=c[r+31296>>2]|0;s=c[r+31292>>2]|0;G=c[r+31304>>2]|0;ua=f+-1|0;X=i+g|0;va=X+-1|0;I=h+f|0;za=I+-1|0;wa=g+-1|0;Ia=e+2420|0;n=c[e+3044>>2]|0;if((c[Ia>>2]|0)==1)Ha=n;else{Ha=c[e+3048>>2]|0;Ha=n>>>0>Ha>>>0?Ha:n}k=(j|0)==0&(k|0)==1;if(k){n=c[r+31248>>2]|0;switch(n|0){case 7:case 6:case 2:{k=0;t=10;break}default:t=5}}else t=5;do if((t|0)==5){n=e+1416|0;j=c[(c[n>>2]|0)+1620>>2]&255;if(!((p|0)==0|((ua>>j|0)==(f>>j|0)?(va>>j|0)==(g>>j|0):0))?(q=c[o+13340>>2]|0,q=(H(va>>q,ra)|0)+(ua>>q)|0,(a[Ba+(q*12|0)+10>>0]|0)!=0):0){q=Ba+(q*12|0)|0;c[m>>2]=c[q>>2];c[m+4>>2]=c[q+4>>2];c[m+8>>2]=c[q+8>>2];if(!l)break;else j=1}else j=0;if(k){k=j;n=c[r+31248>>2]|0;t=10}else{k=j;t=12}}while(0);a:do if((t|0)==10){switch(n|0){case 5:case 4:case 1:{j=k;p=0;n=k;t=24;break a}default:{}}n=e+1416|0;t=12}while(0);b:do if((t|0)==12){r=c[(c[n>>2]|0)+1620>>2]&255;if(!((s|0)==0|((za>>r|0)==(f>>r|0)?(wa>>r|0)==(g>>r|0):0))?(C=c[(c[qa>>2]|0)+13340>>2]|0,D=(H(wa>>C,ra)|0)+(za>>C)|0,E=a[Ba+(D*12|0)+10>>0]|0,E<<24>>24!=0):0){j=Ba+(D*12|0)|0;c:do if(k|0?(C=(H(va>>C,ra)|0)+(ua>>C)|0,v=Ba+(C*12|0)|0,v=d[v>>0]|d[v+1>>0]<<8|d[v+2>>0]<<16|d[v+3>>0]<<24,x=Ba+(C*12|0)+4|0,x=d[x>>0]|d[x+1>>0]<<8|d[x+2>>0]<<16|d[x+3>>0]<<24,z=a[Ba+(C*12|0)+8>>0]|0,B=a[Ba+(C*12|0)+9>>0]|0,u=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24,w=Ba+(D*12|0)+4|0,w=d[w>>0]|d[w+1>>0]<<8|d[w+2>>0]<<16|d[w+3>>0]<<24,y=a[Ba+(D*12|0)+8>>0]|0,A=a[Ba+(D*12|0)+9>>0]|0,E<<24>>24==(a[Ba+(C*12|0)+10>>0]|0)):0){switch(E<<24>>24){case 3:{if(!((u|0)==(v|0)?y<<24>>24==z<<24>>24:0))break c;if(A<<24>>24==B<<24>>24)n=(w|0)==(x|0);else break c;break}case 1:{if(y<<24>>24==z<<24>>24)n=(u|0)==(v|0);else break c;break}case 2:{if(A<<24>>24==B<<24>>24)n=(w|0)==(x|0);else break c;break}default:break c}if(n){j=1;p=1;n=1;t=24;break b}}while(0);E=m+(k*12|0)|0;c[E>>2]=c[j>>2];c[E+4>>2]=c[j+4>>2];c[E+8>>2]=c[j+8>>2];if((k|0)!=(l|0)){j=k;p=1;n=k+1|0;t=24}}else{j=k;p=0;n=k;t=24}}while(0);d:do if((t|0)==24){e:do if(((G|0)!=0?(F=c[qa>>2]|0,R=c[F+13340>>2]|0,S=H(wa>>R,ra)|0,T=S+(I>>R)|0,U=a[Ba+(T*12|0)+10>>0]|0,U<<24>>24!=0):0)?(I|0)<(c[F+13376>>2]|0):0){G=c[F+13336>>2]|0;if(((wa>>G|0)>=(g>>G|0)?(I>>G|0)>=(f>>G|0):0)?(C=c[(c[e+1416>>2]|0)+1684>>2]|0,E=c[F+13328>>2]|0,F=c[F+13420>>2]|0,D=F+2|0,G=C+((H(g>>E&F,D)|0)+(f>>E&F)<<2)|0,F=C+((H(wa>>E&F,D)|0)+(I>>E&F)<<2)|0,(c[F>>2]|0)>(c[G>>2]|0)):0)break;G=c[(c[e+1416>>2]|0)+1620>>2]&255;if((wa>>G|0)!=(g>>G|0)?1:(I>>G|0)!=(f>>G|0)){o=Ba+(T*12|0)|0;f:do if(p|0?(S=S+(za>>R)|0,K=Ba+(S*12|0)|0,K=d[K>>0]|d[K+1>>0]<<8|d[K+2>>0]<<16|d[K+3>>0]<<24,M=Ba+(S*12|0)+4|0,M=d[M>>0]|d[M+1>>0]<<8|d[M+2>>0]<<16|d[M+3>>0]<<24,O=a[Ba+(S*12|0)+8>>0]|0,Q=a[Ba+(S*12|0)+9>>0]|0,J=d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24,L=Ba+(T*12|0)+4|0,L=d[L>>0]|d[L+1>>0]<<8|d[L+2>>0]<<16|d[L+3>>0]<<24,N=a[Ba+(T*12|0)+8>>0]|0,P=a[Ba+(T*12|0)+9>>0]|0,U<<24>>24==(a[Ba+(S*12|0)+10>>0]|0)):0){switch(U<<24>>24){case 3:{if(!((J|0)==(K|0)?N<<24>>24==O<<24>>24:0))break f;if(P<<24>>24==Q<<24>>24)k=(L|0)==(M|0);else break f;break}case 1:{if(N<<24>>24==O<<24>>24)k=(J|0)==(K|0);else break f;break}case 2:{if(P<<24>>24==Q<<24>>24)k=(L|0)==(M|0);else break f;break}default:break f}if(k)break e}while(0);U=m+(n*12|0)|0;c[U>>2]=c[o>>2];c[U+4>>2]=c[o+4>>2];c[U+8>>2]=c[o+8>>2];if((n|0)==(l|0))break d;n=n+1|0}}while(0);g:do if(((W|0)!=0?(V=c[qa>>2]|0,ea=c[V+13340>>2]|0,fa=ua>>ea,ga=(H(X>>ea,ra)|0)+fa|0,ha=a[Ba+(ga*12|0)+10>>0]|0,ha<<24>>24!=0):0)?(X|0)<(c[V+13380>>2]|0):0){W=c[V+13336>>2]|0;if(((X>>W|0)>=(g>>W|0)?(ua>>W|0)>=(f>>W|0):0)?(S=c[(c[e+1416>>2]|0)+1684>>2]|0,U=c[V+13328>>2]|0,V=c[V+13420>>2]|0,T=V+2|0,W=S+((H(g>>U&V,T)|0)+(f>>U&V)<<2)|0,V=S+((H(X>>U&V,T)|0)+(ua>>U&V)<<2)|0,(c[V>>2]|0)>(c[W>>2]|0)):0)break;W=c[(c[e+1416>>2]|0)+1620>>2]&255;if((X>>W|0)!=(g>>W|0)?1:(ua>>W|0)!=(f>>W|0)){o=Ba+(ga*12|0)|0;h:do if(j|0?(fa=(H(va>>ea,ra)|0)+fa|0,Z=Ba+(fa*12|0)|0,Z=d[Z>>0]|d[Z+1>>0]<<8|d[Z+2>>0]<<16|d[Z+3>>0]<<24,$=Ba+(fa*12|0)+4|0,$=d[$>>0]|d[$+1>>0]<<8|d[$+2>>0]<<16|d[$+3>>0]<<24,ba=a[Ba+(fa*12|0)+8>>0]|0,da=a[Ba+(fa*12|0)+9>>0]|0,Y=d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24,_=Ba+(ga*12|0)+4|0,_=d[_>>0]|d[_+1>>0]<<8|d[_+2>>0]<<16|d[_+3>>0]<<24,aa=a[Ba+(ga*12|0)+8>>0]|0,ca=a[Ba+(ga*12|0)+9>>0]|0,ha<<24>>24==(a[Ba+(fa*12|0)+10>>0]|0)):0){switch(ha<<24>>24){case 3:{if(!((Y|0)==(Z|0)?aa<<24>>24==ba<<24>>24:0))break h;if(ca<<24>>24==da<<24>>24)k=(_|0)==($|0);else break h;break}case 1:{if(aa<<24>>24==ba<<24>>24)k=(Y|0)==(Z|0);else break h;break}case 2:{if(ca<<24>>24==da<<24>>24)k=(_|0)==($|0);else break h;break}default:break h}if(k){j=1;break g}}while(0);ha=m+(n*12|0)|0;c[ha>>2]=c[o>>2];c[ha+4>>2]=c[o+4>>2];c[ha+8>>2]=c[o+8>>2];if((n|0)==(l|0))break d;n=n+1|0}}while(0);i:do if(((ta|0)!=0?(xa=c[(c[qa>>2]|0)+13340>>2]|0,ya=H(wa>>xa,ra)|0,sa=ua>>xa,Aa=ya+sa|0,Ca=a[Ba+(Aa*12|0)+10>>0]|0,Ca<<24>>24!=0):0)?(ta=c[(c[e+1416>>2]|0)+1620>>2]&255,(wa>>ta|0)!=(g>>ta|0)?1:(ua>>ta|0)!=(f>>ta|0)):0){j:do if(j|0?(ja=Ba+(Aa*12|0)|0,wa=(H(va>>xa,ra)|0)+sa|0,ia=Ba+(wa*12|0)|0,ia=d[ia>>0]|d[ia+1>>0]<<8|d[ia+2>>0]<<16|d[ia+3>>0]<<24,ka=Ba+(wa*12|0)+4|0,ka=d[ka>>0]|d[ka+1>>0]<<8|d[ka+2>>0]<<16|d[ka+3>>0]<<24,na=a[Ba+(wa*12|0)+8>>0]|0,pa=a[Ba+(wa*12|0)+9>>0]|0,ja=d[ja>>0]|d[ja+1>>0]<<8|d[ja+2>>0]<<16|d[ja+3>>0]<<24,la=Ba+(Aa*12|0)+4|0,la=d[la>>0]|d[la+1>>0]<<8|d[la+2>>0]<<16|d[la+3>>0]<<24,ma=a[Ba+(Aa*12|0)+8>>0]|0,oa=a[Ba+(Aa*12|0)+9>>0]|0,Ca<<24>>24==(a[Ba+(wa*12|0)+10>>0]|0)):0){switch(Ca<<24>>24){case 3:{if(!((ja|0)==(ia|0)?ma<<24>>24==na<<24>>24:0))break j;if(oa<<24>>24==pa<<24>>24)j=(la|0)==(ka|0);else break j;break}case 1:{if(ma<<24>>24==na<<24>>24)j=(ja|0)==(ia|0);else break j;break}case 2:{if(oa<<24>>24==pa<<24>>24)j=(la|0)==(ka|0);else break j;break}default:break j}if(j)break i}while(0);if(p){j=Ba+(Aa*12|0)|0;za=ya+(za>>xa)|0;p=Ba+(za*12|0)|0;p=d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24;r=Ba+(za*12|0)+4|0;r=d[r>>0]|d[r+1>>0]<<8|d[r+2>>0]<<16|d[r+3>>0]<<24;t=a[Ba+(za*12|0)+8>>0]|0;u=a[Ba+(za*12|0)+9>>0]|0;o=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;q=Ba+(Aa*12|0)+4|0;q=d[q>>0]|d[q+1>>0]<<8|d[q+2>>0]<<16|d[q+3>>0]<<24;s=a[Ba+(Aa*12|0)+8>>0]|0;k=a[Ba+(Aa*12|0)+9>>0]|0;k:do if(Ca<<24>>24==(a[Ba+(za*12|0)+10>>0]|0))switch(Ca<<24>>24){case 3:{if(!((o|0)==(p|0)?s<<24>>24==t<<24>>24:0)){k=0;break k}k=(q|0)==(r|0)?k<<24>>24==u<<24>>24:0;break k}case 1:{k=(o|0)==(p|0)?s<<24>>24==t<<24>>24:0;break k}case 2:{k=(q|0)==(r|0)?k<<24>>24==u<<24>>24:0;break k}default:{k=0;break k}}else k=0;while(0);if(!((n|0)!=4&(k^1)))break}else{if((n|0)==4){n=4;break}j=Ba+(Aa*12|0)|0}Ca=m+(n*12|0)|0;c[Ca>>2]=c[j>>2];c[Ca+4>>2]=c[j+4>>2];c[Ca+8>>2]=c[j+8>>2];if((n|0)==(l|0))break d;n=n+1|0}while(0);do if((a[e+3043>>0]|0)!=0?n>>>0<(c[e+3088>>2]|0)>>>0:0){c[Ea>>2]=0;c[Da>>2]=0;k=Gi(e,f,g,h,i,0,Ea,0)|0;if(!(c[Ia>>2]|0))j=Gi(e,f,g,h,i,0,Da,1)|0;else j=0;if(j|k){a[m+(n*12|0)+10>>0]=(j<<1)+k;b[m+(n*12|0)+8>>1]=0;j=m+(n*12|0)|0;Ea=c[Ea>>2]|0;b[j>>1]=Ea;b[j+2>>1]=Ea>>>16;j=m+(n*12|0)+4|0;Ea=c[Da>>2]|0;b[j>>1]=Ea;b[j+2>>1]=Ea>>>16;j=(n|0)==(l|0);if(j)break d;else{n=n+((j^1)&1)|0;break}}else break}while(0);t=e+3088|0;l:do if((n|0)>1&(c[Ia>>2]|0)==0?(Fa=c[t>>2]|0,n>>>0<Fa>>>0):0){s=H(n+-1|0,n)|0;r=0;j=Fa;while(1){if(!(n>>>0<j>>>0&(r|0)<(s|0)))break l;e=d[80816+(r<<1)>>0]|0;Fa=d[80816+(r<<1)+1>>0]|0;k=c[m+(e*12|0)>>2]|0;q=a[m+(e*12|0)+8>>0]|0;o=c[m+(Fa*12|0)+4>>2]|0;p=a[m+(Fa*12|0)+9>>0]|0;if(((a[m+(e*12|0)+10>>0]&1)!=0?(a[m+(Fa*12|0)+10>>0]&2)!=0:0)?!((k|0)==(o|0)?(c[Ga+64+(q<<24>>24<<2)>>2]|0)==(c[Ga+260+(p<<24>>24<<2)>>2]|0):0):0){a[m+(n*12|0)+8>>0]=q;a[m+(n*12|0)+9>>0]=p;a[m+(n*12|0)+10>>0]=3;c[m+(n*12|0)>>2]=k;c[m+(n*12|0)+4>>2]=o;if((n|0)==(l|0))break d;n=n+1|0;j=c[t>>2]|0}r=r+1|0}}while(0);j=0;while(1){if(n>>>0>=(c[t>>2]|0)>>>0)break d;a[m+(n*12|0)+10>>0]=((c[Ia>>2]|0)==0&1)<<1|1;c[m+(n*12|0)>>2]=0;c[m+(n*12|0)+4>>2]=0;Ga=(j|0)<(Ha|0)?j&255:0;a[m+(n*12|0)+8>>0]=Ga;a[m+(n*12|0)+9>>0]=Ga;if((n|0)==(l|0))break d;j=j+1|0;n=n+1|0}}while(0);Mb=Ja;return}function _c(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;Y=Mb;Mb=Mb+160|0;S=Y+80|0;U=Y;o=c[b+136>>2]|0;M=c[b+1412>>2]|0;O=c[M+13424+(g<<2)>>2]|0;N=c[M+13436+(g<<2)>>2]|0;r=4<<O;h=c[M+13328>>2]|0;q=4<<N;i=c[M+13420>>2]|0;j=e>>h&i;k=f>>h&i;p=c[b+1416>>2]|0;l=c[p+1684>>2]|0;m=i+2|0;n=l+((H(k,m)|0)+j<<2)|0;n=c[n>>2]|0;T=c[b+160>>2]|0;R=c[T+32+(g<<2)>>2]|0;A=0-R|0;T=(c[T+(g<<2)>>2]|0)+(e>>O)+(H(R,f>>N)|0)|0;P=c[M+13412>>2]|0;V=c[((g|0)==0?o+288|0:o+292|0)>>2]|0;W=S+1|0;X=U+1|0;if(!(c[o+31284>>2]|0))s=0;else{s=l+(j+-1+(H(k+(q>>h)&i,m)|0)<<2)|0;s=(n|0)>(c[s>>2]|0)}t=s&1;u=c[o+31288>>2]|0;x=c[o+31296>>2]|0;y=c[o+31292>>2]|0;if(!(c[o+31300>>2]|0))v=0;else{v=l+((H(k+-1|0,m)|0)+(j+(r>>h)&i)<<2)|0;v=(n|0)>(c[v>>2]|0)}j=v&1;G=(q<<1)+f|0;D=M+13380|0;z=c[D>>2]|0;F=q+f|0;G=((G|0)>(z|0)?z:G)-F>>N;z=(r<<1)+e|0;E=M+13376|0;B=c[E>>2]|0;C=r+e|0;z=((z|0)>(B|0)?B:z)-C>>O;B=p+20|0;if((a[B>>0]|0)==1){w=c[M+13340>>2]|0;p=q>>w;r=r>>w;q=(1<<w)+-1|0;o=(q&e|0)==0;q=(q&f|0)==0;r=r+((r|0)==0&1)|0;a:do if(s&o){l=e+-1>>w;m=F>>w;k=(c[M+13416>>2]|0)-m|0;k=(p|0)>(k|0)?k:p;n=b+3516|0;h=0;i=0;while(1){if((h|0)>=(k|0)){t=i;break a}K=(c[(c[n>>2]|0)+20>>2]|0)+(((H(h+m|0,P)|0)+l|0)*12|0)+10|0;h=h+2|0;i=i|(a[K>>0]|0)==0}}while(0);b:do if((u|0)==1&o){m=e+-1>>w;n=f>>w;k=(c[M+13416>>2]|0)-n|0;k=(p|0)>(k|0)?k:p;l=b+3516|0;h=0;i=0;while(1){if((i|0)>=(k|0)){o=h;break b}K=(c[(c[l>>2]|0)+20>>2]|0)+(((H(i+n|0,P)|0)+m|0)*12|0)+10|0;h=h|(a[K>>0]|0)==0;i=i+2|0}}else o=u;while(0);if((x|0)==1){n=(c[(c[b+3516>>2]|0)+20>>2]|0)+(((H(f+-1>>w,P)|0)+(e+-1>>w)|0)*12|0)+10|0;n=(a[n>>0]|0)==0&1}else n=x;c:do if((y|0)==1&q){m=e>>w;k=P-m|0;k=(r|0)>(k|0)?k:r;l=b+3516|0;m=(H(f+-1>>w,P)|0)+m|0;h=0;i=0;while(1){if((i|0)>=(k|0)){m=h;break c}h=h|(a[(c[(c[l>>2]|0)+20>>2]|0)+((m+i|0)*12|0)+10>>0]|0)==0;i=i+2|0}}else m=y;while(0);d:do if(v&q){j=C>>w;k=P-j|0;k=(r|0)>(k|0)?k:r;l=b+3516|0;j=(H(f+-1>>w,P)|0)+j|0;h=0;i=0;while(1){if((i|0)>=(k|0)){j=h;break d}h=h|(a[(c[(c[l>>2]|0)+20>>2]|0)+((j+i|0)*12|0)+10>>0]|0)==0;i=i+2|0}}while(0);h=W;i=h+64|0;do{a[h>>0]=128;h=h+1|0}while((h|0)<(i|0));h=U;i=h+64|0;do{c[h>>2]=-2139062144;h=h+4|0}while((h|0)<(i|0));a[U+64>>0]=128;x=n;u=o;y=m}w=(x|0)!=0;if(w){K=a[T+~R>>0]|0;a[S>>0]=K;a[U>>0]=K}J=(y|0)!=0;if(J){K=T+A|0;K=d[K>>0]|d[K+1>>0]<<8|d[K+2>>0]<<16|d[K+3>>0]<<24;a[X>>0]=K;a[X+1>>0]=K>>8;a[X+2>>0]=K>>16;a[X+3>>0]=K>>24}K=(j|0)!=0;e:do if(K){i=U+5|0;k=T+A+4|0;k=d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24;a[i>>0]=k;a[i+1>>0]=k>>8;a[i+2>>0]=k>>16;a[i+3>>0]=k>>24;k=H(d[T+(3-R+z)>>0]|0,16843009)|0;l=4-z|0;i=i+z|0;h=0;while(1){if((h|0)>=(l|0))break e;A=i+h|0;a[A>>0]=k;a[A+1>>0]=k>>8;a[A+2>>0]=k>>16;a[A+3>>0]=k>>24;h=h+4|0}}while(0);v=(u|0)!=0;f:do if(v){h=0;while(1){if((h|0)==4)break f;A=T+((H(h,R)|0)+-1)|0;a[W+h>>0]=a[A>>0]|0;h=h+1|0}}while(0);s=(t|0)!=0;g:do if(s){i=G+4|0;h=4;while(1){if((h|0)>=(i|0))break;A=T+((H(h,R)|0)+-1)|0;a[W+h>>0]=a[A>>0]|0;h=h+1|0}i=T+((H(G+3|0,R)|0)+-1)|0;i=H(d[i>>0]|0,16843009)|0;k=4-G|0;l=S+5+G|0;h=0;while(1){if((h|0)>=(k|0))break g;A=l+h|0;a[A>>0]=i;a[A+1>>0]=i>>8;a[A+2>>0]=i>>16;a[A+3>>0]=i>>24;h=h+4|0}}while(0);h:do if((a[B>>0]|0)==1?(I=t|u,L=(I|0)==0,I=I|x,y|j|I|0):0){B=c[E>>2]|0;r=B-e>>O;E=c[D>>2]|0;q=E-f>>N;r=K?(((8<<O)+e|0)<(B|0)?8:r):(C|0)<(B|0)?4:r;q=s?(((8<<N)+f|0)<(E|0)?8:q):(F|0)<(E|0)?4:q;do if(!I){j=b+3516|0;k=M+13340|0;l=(-1<<N)+f|0;h=0;while(1){if((h|0)>=(r|0))break;I=c[k>>2]|0;I=(c[(c[j>>2]|0)+20>>2]|0)+(((H(l>>I,P)|0)+((h<<O)+e>>I)|0)*12|0)+10|0;if(!(a[I>>0]|0))break;h=h+1|0}i:do if(h|0){if((e|0)>0)while(1){if((h|0)<=-1)break i;i=h+-1|0;I=c[k>>2]|0;I=(c[(c[j>>2]|0)+20>>2]|0)+(((H(l>>I,P)|0)+((i<<O)+e>>I)|0)*12|0)+10|0;if(a[I>>0]|0)a[U+h>>0]=a[X+h>>0]|0;h=i}while(1){if((h|0)<=0)break;i=h+-1|0;I=c[k>>2]|0;I=(c[(c[j>>2]|0)+20>>2]|0)+(((H(l>>I,P)|0)+((i<<O)+e>>I)|0)*12|0)+10|0;if(a[I>>0]|0)a[U+h>>0]=a[X+h>>0]|0;h=i}a[U>>0]=a[X>>0]|0}while(0);m=a[U>>0]|0;a[S>>0]=m}else{m=M+13340|0;n=(c[b+3516>>2]|0)+20|0;k=c[n>>2]|0;l=c[m>>2]|0;j=(-1<<O)+e>>l;h=s?G+4|0:4;do{I=h;h=h+-1|0;i=H((h<<N)+f>>l,P)|0;if((I|0)<=0)break}while((a[k+((i+j|0)*12|0)+10>>0]|0)!=0);if(!(a[k+((i+(e-(1<<O)>>l)|0)*12|0)+10>>0]|0)){m=a[U>>0]|0;break}j=f-(1<<N)|0;i=H(j>>l,P)|0;h=0;while(1){if((h|0)>=(r|0))break;if(!(a[k+((((h<<O)+e>>l)+i|0)*12|0)+10>>0]|0))break;h=h+1|0}while(1){if((h|0)<=-1)break;i=h+-1|0;I=c[m>>2]|0;I=(c[n>>2]|0)+(((H(j>>I,P)|0)+((i<<O)+e>>I)|0)*12|0)+10|0;if(a[I>>0]|0)a[U+h>>0]=a[X+h>>0]|0;h=i}m=a[U>>0]|0;a[S>>0]=m}while(0);a[S>>0]=m;j:do if(!L){j=b+3516|0;k=(-1<<O)+e|0;l=M+13340|0;h=H(m&255,16843009)|0;i=0;while(1){if((i|0)>=(q|0))break j;L=c[l>>2]|0;L=(c[(c[j>>2]|0)+20>>2]|0)+(((H((i<<N)+f>>L,P)|0)+(k>>L)|0)*12|0)+10|0;if(!(a[L>>0]|0))h=H(d[W+(i|3)>>0]|0,16843009)|0;else{L=W+i|0;a[L>>0]=h;a[L+1>>0]=h>>8;a[L+2>>0]=h>>16;a[L+3>>0]=h>>24}i=i+4|0}}while(0);if(!v){L=H(m&255,16843009)|0;a[W>>0]=L;a[W+1>>0]=L>>8;a[W+2>>0]=L>>16;a[W+3>>0]=L>>24}if(!s){I=H(d[S+4>>0]|0,16843009)|0;L=S+5|0;a[L>>0]=I;a[L+1>>0]=I>>8;a[L+2>>0]=I>>16;a[L+3>>0]=I>>24}p=(f|0)!=0;k:do if((e|0)!=0&p){h=H(d[S+q>>0]|0,16843009)|0;m=(c[b+3516>>2]|0)+20|0;n=(-1<<O)+e|0;o=M+13340|0;l=q+-1|0;while(1){i=c[m>>2]|0;j=c[o>>2]|0;k=n>>j;if((l|0)<=-1)break;I=l+-3|0;L=i+(((H((I<<N)+f>>j,P)|0)+k|0)*12|0)+10|0;i=W+I|0;if(!(a[L>>0]|0))h=H(d[i>>0]|0,16843009)|0;else{a[i>>0]=h;a[i+1>>0]=h>>8;a[i+2>>0]=h>>16;a[i+3>>0]=h>>24}l=l+-4|0}L=i+(((H((-1<<N)+f>>j,P)|0)+k|0)*12|0)+10|0;if(a[L>>0]|0)a[S>>0]=a[W>>0]|0}else{if(!e){h=0;while(1){if((h|0)>=(q|0))break k;L=W+h|0;a[L>>0]=0;a[L+1>>0]=0;a[L+2>>0]=0;a[L+3>>0]=0;h=h+4|0}}k=b+3516|0;l=(-1<<O)+e|0;m=M+13340|0;j=q+-1|0;h=H(d[S+q>>0]|0,16843009)|0;while(1){if((j|0)<=-1)break k;L=c[m>>2]|0;i=j+-3|0;L=(c[(c[k>>2]|0)+20>>2]|0)+(((H((i<<N)+f>>L,P)|0)+(l>>L)|0)*12|0)+10|0;i=W+i|0;if(!(a[L>>0]|0))h=H(d[i>>0]|0,16843009)|0;else{a[i>>0]=h;a[i+1>>0]=h>>8;a[i+2>>0]=h>>16;a[i+3>>0]=h>>24}j=j+-4|0}}while(0);h=a[S>>0]|0;a[U>>0]=h;if(p){l=b+3516|0;k=M+13340|0;j=(-1<<N)+f|0;i=0;h=H(h&255,16843009)|0;while(1){if((i|0)>=(r|0))break h;f=c[k>>2]|0;f=(c[(c[l>>2]|0)+20>>2]|0)+(((H(j>>f,P)|0)+((i<<O)+e>>f)|0)*12|0)+10|0;if(!(a[f>>0]|0))h=H(d[X+(i|3)>>0]|0,16843009)|0;else{f=X+i|0;a[f>>0]=h;a[f+1>>0]=h>>8;a[f+2>>0]=h>>16;a[f+3>>0]=h>>24}i=i+4|0}}}while(0);l:do if(s)Q=138;else{if(v){P=H(d[S+4>>0]|0,16843009)|0;Q=S+5|0;a[Q>>0]=P;a[Q+1>>0]=P>>8;a[Q+2>>0]=P>>16;a[Q+3>>0]=P>>24;Q=138;break}if(w){i=H(d[S>>0]|0,16843009)|0;h=0;while(1){if(h>>>0>=8){Q=140;break l}Q=W+h|0;a[Q>>0]=i;a[Q+1>>0]=i>>8;a[Q+2>>0]=i>>16;a[Q+3>>0]=i>>24;h=h+4|0}}if(J){i=a[X>>0]|0;a[S>>0]=i;i=H(i&255,16843009)|0;h=0;while(1){if(h>>>0>=8){Q=142;break l}Q=W+h|0;a[Q>>0]=i;a[Q+1>>0]=i>>8;a[Q+2>>0]=i>>16;a[Q+3>>0]=i>>24;h=h+4|0}}if(K){h=a[U+5>>0]|0;i=H(h&255,16843009)|0;a[X>>0]=i;a[X+1>>0]=i>>8;a[X+2>>0]=i>>16;a[X+3>>0]=i>>24;a[S>>0]=h;h=0;while(1){if(h>>>0>=8)break l;P=W+h|0;a[P>>0]=i;a[P+1>>0]=i>>8;a[P+2>>0]=i>>16;a[P+3>>0]=i>>24;h=h+4|0}}a[S>>0]=-128;h=0;while(1){if(h>>>0>=8)break;Q=X+h|0;a[Q>>0]=-2139062144;a[Q+1>>0]=-2139062144>>8;a[Q+2>>0]=-2139062144>>16;a[Q+3>>0]=-2139062144>>24;h=h+4|0}h=0;while(1){if(h>>>0>=8){Q=138;break l}Q=W+h|0;a[Q>>0]=-2139062144;a[Q+1>>0]=-2139062144>>8;a[Q+2>>0]=-2139062144>>16;a[Q+3>>0]=-2139062144>>24;h=h+4|0}}while(0);if((Q|0)==138)if(!u){Q=H(d[S+5>>0]|0,16843009)|0;a[W>>0]=Q;a[W+1>>0]=Q>>8;a[W+2>>0]=Q>>16;a[W+3>>0]=Q>>24;Q=140}else Q=140;if((Q|0)==140)if(!x){a[S>>0]=a[W>>0]|0;Q=142}else Q=142;if((Q|0)==142?(y|0)==0:0){Q=H(d[S>>0]|0,16843009)|0;a[X>>0]=Q;a[X+1>>0]=Q>>8;a[X+2>>0]=Q>>16;a[X+3>>0]=Q>>24}if(!K){P=H(d[U+4>>0]|0,16843009)|0;Q=U+5|0;a[Q>>0]=P;a[Q+1>>0]=P>>8;a[Q+2>>0]=P>>16;a[Q+3>>0]=P>>24}a[U>>0]=a[S>>0]|0;switch(V|0){case 0:{hc[c[b+5752>>2]&255](T,X,W,R);break}case 1:{kc[c[b+5768>>2]&127](T,X,W,R,2,g);break}default:kc[c[b+5772>>2]&127](T,X,W,R,g,V)}Mb=Y;return}function $c(e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w){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;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;var x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;O=f+880|0;y=c[O>>2]|0;A=(v|0)!=0;B=(w|0)!=0;if(B&(A&(y|0)==2)){W=d[91792+g>>0]|0;x=f+21792|0;y=c[x>>2]|0;if((c[f+3216+((a[f+28272+W>>0]|0)*384|0)+(a[f+28312+W>>0]<<3)+((y&1)<<2)>>2]|0)==32){J=x;x=46}else{Q=x;x=4}}else{x=f+21792|0;z=c[x>>2]|0;if((y|0)==1){Q=x;y=z;x=4}else{J=x;y=z;x=46}}do if((x|0)==4){E=c[t>>2]|0;D=c[t+4>>2]|0;M=c[u>>2]|0;L=c[u+4>>2]|0;P=c[e+25652>>2]|0;W=f+21780|0;r=c[W>>2]|0;T=k+((H(o<<1,r)|0)+(n<<1<<P))|0;U=i>>1;V=f+21784|0;x=c[V>>2]|0;R=(H(x,o)|0)+(n<<P)|0;S=l+R|0;R=m+R|0;z=(c[f+21788>>2]<<3)+n|0;N=f+21828|0;k=c[N>>2]|0;y=(y>>k<<3)+o|0;if(!(A&B)){n=B&1;v=d[91792+g>>0]|0;m=a[f+28272+(n*40|0)+v>>0]|0;A=(z<<3)+(b[f+27952+(n*160|0)+(v<<2)>>1]|0)|0;v=(y<<3)+(b[f+27952+(n*160|0)+(v<<2)+2>>1]|0)|0;u=v<<2&12|A&3;x=A>>2;y=v>>2;z=(H(y,r)|0)+(x<<P)|0;z=(c[f+23416+(n*1920|0)+(m*40|0)>>2]|0)+z|0;C=c[e+26996>>2]|0;t=C<<4;B=c[e+26992>>2]<<4>>k;l=A&7;g=(l|0)==0?0:-3;O=(v&7|0)==0?0:-3;if((!((x|0)<(0-g|0)|(y|0)<(0-O|0))?(x+16|0)<=(g+t|0):0)?(y+16|0)<=(B+O|0):0){k=0;y=r}else{O=f+27792|0;k=2<<P;pc[c[e+8>>2]&3](c[O>>2]|0,z+(0-k)+(0-(r<<1))|0,r,r,21,21,x+-2|0,y+-2|0,t,B);y=c[W>>2]|0;z=(c[O>>2]|0)+k+(y<<1)|0;k=1}x=p+(u<<2)|0;gc[c[x>>2]&1023](T,z,y);if(!h)gc[c[x>>2]&1023](T+j|0,z+j|0,c[W>>2]|0);if(!(c[N>>2]|0)){p=v;v=v>>3}else{j=(1-(c[f+23416+(n*1920|0)+(m*40|0)+24>>2]|0)+(c[Q>>2]&1)<<1)+v|0;v=j>>3;p=j;k=j>>>31|k|(v+8|0)>=(B>>1|0)}u=A>>3;t=u<<P;y=c[V>>2]|0;x=H(y,v)|0;z=(c[f+23416+(n*1920|0)+(m*40|0)+4>>2]|0)+t+x|0;x=(c[f+23416+(n*1920|0)+(m*40|0)+8>>2]|0)+t+x|0;t=f+27792|0;if(!k){e=p&7;kc[q&127](S,z,y,U,l,e);y=e}else{j=B>>1;h=C<<3;Q=e+8|0;pc[c[Q>>2]&3](c[t>>2]|0,z,y,y,9,9,u,v,h,j);y=p&7;kc[q&127](S,c[t>>2]|0,c[V>>2]|0,U,l,y);e=c[V>>2]|0;pc[c[Q>>2]&3](c[t>>2]|0,x,e,e,9,9,u,v,h,j);x=c[t>>2]|0}kc[q&127](R,x,c[V>>2]|0,U,l,y);kc[E&127](T,c[W>>2]|0,i,c[f+888>>2]|0,c[f+912+(m<<4)+(n<<3)>>2]|0,c[f+912+(m<<4)+(n<<3)+4>>2]|0);if(!(c[f+884>>2]|0))break;i=f+892|0;kc[D&127](S,c[V>>2]|0,U,c[i>>2]|0,c[f+1680+(m<<5)+(n<<4)>>2]|0,c[f+1680+(m<<5)+(n<<4)+4>>2]|0);kc[D&127](R,c[V>>2]|0,U,c[i>>2]|0,c[f+1680+(m<<5)+(n<<4)+8>>2]|0,c[f+1680+(m<<5)+(n<<4)+12>>2]|0);break}J=c[f+27788>>2]|0;K=J+(16<<P)|0;I=J+(x<<4)|0;D=d[91792+g>>0]|0;F=a[f+28272+D>>0]|0;G=a[f+28312+D>>0]|0;n=z<<3;B=n+(b[f+27952+(D<<2)>>1]|0)|0;o=y<<3;A=o+(b[f+27952+(D<<2)+2>>1]|0)|0;u=A<<2&12|B&3;x=B>>2;y=A>>2;z=(H(y,r)|0)+(x<<P)|0;z=(c[f+23416+(F*40|0)>>2]|0)+z|0;s=e+26996|0;l=c[s>>2]|0;t=l<<4;w=e+26992|0;C=c[w>>2]<<4>>k;m=B&7;E=(m|0)==0?0:-3;g=(A&7|0)==0?0:-3;if((!((x|0)<(0-E|0)|(y|0)<(0-g|0))?(x+16|0)<=(E+t|0):0)?(y+16|0)<=(C+g|0):0){t=0;y=r}else{E=f+27792|0;g=2<<P;pc[c[e+8>>2]&3](c[E>>2]|0,z+(0-g)+(0-(r<<1))|0,r,r,21,21,x+-2|0,y+-2|0,t,C);y=c[W>>2]|0;z=(c[E>>2]|0)+g+(y<<1)|0;t=1}x=p+(u<<2)|0;gc[c[x>>2]&1023](T,z,y);E=(h|0)!=0;if(!E)gc[c[x>>2]&1023](T+j|0,z+j|0,c[W>>2]|0);if(!(c[N>>2]|0)){k=A;v=t;u=A>>3}else{v=(1-(c[f+23416+(F*40|0)+24>>2]|0)+(c[Q>>2]&1)<<1)+A|0;u=v>>3;k=v;v=v>>>31|t|(u+8|0)>=(C>>1|0)}y=B>>3;r=y<<P;z=c[V>>2]|0;x=H(z,u)|0;t=(c[f+23416+(F*40|0)+4>>2]|0)+r+x|0;x=(c[f+23416+(F*40|0)+8>>2]|0)+r+x|0;r=f+27792|0;if(!v){y=k&7;kc[q&127](S,t,z,U,m,y)}else{g=C>>1;l=l<<3;B=e+8|0;pc[c[B>>2]&3](c[r>>2]|0,t,z,z,9,9,y,u,l,g);h=k&7;kc[q&127](S,c[r>>2]|0,c[V>>2]|0,U,m,h);C=c[V>>2]|0;pc[c[B>>2]&3](c[r>>2]|0,x,C,C,9,9,y,u,l,g);x=c[r>>2]|0;y=h}kc[q&127](R,x,c[V>>2]|0,U,m,y);B=n+(b[f+28112+(D<<2)>>1]|0)|0;A=o+(b[f+28112+(D<<2)+2>>1]|0)|0;k=A<<2&12|B&3;t=B>>2;u=A>>2;y=c[W>>2]|0;z=(H(u,y)|0)+(t<<P)|0;z=(c[f+25336+(G*40|0)>>2]|0)+z|0;l=c[s>>2]|0;x=l<<4;C=c[w>>2]<<4>>c[N>>2];m=B&7;g=(m|0)==0?0:-3;h=(A&7|0)==0?0:-3;if((!((t|0)<(0-g|0)|(u|0)<(0-h|0))?(t+16|0)<=(x+g|0):0)?(u+16|0)<=(C+h|0):0)v=0;else{v=2<<P;pc[c[e+8>>2]&3](c[r>>2]|0,z+(0-v)+(0-(y<<1))|0,y,y,21,21,t+-2|0,u+-2|0,x,C);y=c[W>>2]|0;z=(c[r>>2]|0)+v+(y<<1)|0;v=1}x=p+(k<<2)|0;gc[c[x>>2]&1023](I,z,y);if(!E)gc[c[x>>2]&1023](I+j|0,z+j|0,c[W>>2]|0);if(!(c[N>>2]|0)){k=A;u=A>>3}else{j=(1-(c[f+25336+(G*40|0)+24>>2]|0)+(c[Q>>2]&1)<<1)+A|0;u=j>>3;k=j;v=j>>>31|v|(u+8|0)>=(C>>1|0)}t=B>>3;j=t<<P;y=c[V>>2]|0;x=H(y,u)|0;z=(c[f+25336+(G*40|0)+4>>2]|0)+j+x|0;x=(c[f+25336+(G*40|0)+8>>2]|0)+j+x|0;if(!v){e=k&7;kc[q&127](J,z,y,U,m,e);y=e}else{j=C>>1;h=l<<3;P=e+8|0;pc[c[P>>2]&3](c[r>>2]|0,z,y,y,9,9,t,u,h,j);y=k&7;kc[q&127](J,c[r>>2]|0,c[V>>2]|0,U,m,y);e=c[V>>2]|0;pc[c[P>>2]&3](c[r>>2]|0,x,e,e,9,9,t,u,h,j);x=c[r>>2]|0}kc[q&127](K,x,c[V>>2]|0,U,m,y);if((c[O>>2]|0)==2){e=c[f+3216+(F*384|0)+(G<<3)+((c[Q>>2]&1)<<2)>>2]|0;f=64-e|0;nc[M&63](T,I,c[W>>2]|0,i,5,e,f,0);nc[L&63](S,J,c[V>>2]|0,U,5,e,f,0);nc[L&63](R,K,c[V>>2]|0,U,5,e,f,0);break}else{nc[M&63](T,I,c[W>>2]|0,i,c[f+888>>2]|0,c[f+912+(F<<4)>>2]|0,c[f+912+(G<<4)+8>>2]|0,(c[f+912+(G<<4)+12>>2]|0)+(c[f+912+(F<<4)+4>>2]|0)|0);i=f+892|0;nc[L&63](S,J,c[V>>2]|0,U,c[i>>2]|0,c[f+1680+(F<<5)>>2]|0,c[f+1680+(G<<5)+16>>2]|0,(c[f+1680+(G<<5)+20>>2]|0)+(c[f+1680+(F<<5)+4>>2]|0)|0);nc[L&63](R,K,c[V>>2]|0,U,c[i>>2]|0,c[f+1680+(F<<5)+8>>2]|0,c[f+1680+(G<<5)+24>>2]|0,(c[f+1680+(G<<5)+28>>2]|0)+(c[f+1680+(F<<5)+12>>2]|0)|0);break}}else if((x|0)==46){K=c[e+25652>>2]|0;I=f+21780|0;C=c[I>>2]|0;G=k+((H(o<<1,C)|0)+(n<<1<<K))|0;N=f+21784|0;M=(H(c[N>>2]|0,o)|0)+(n<<K)|0;L=l+M|0;M=m+M|0;E=(c[f+21788>>2]<<3)+n|0;F=f+21828|0;u=c[F>>2]|0;D=(y>>u<<3)+o|0;if(v){A=d[91792+g>>0]|0;l=a[f+28272+A>>0]|0;B=(E<<3)+(b[f+27952+(A<<2)>>1]|0)|0;A=(D<<3)+(b[f+27952+(A<<2)+2>>1]|0)|0;v=A<<2&12|B&3;x=B>>2;y=A>>2;z=(H(y,C)|0)+(x<<K)|0;z=(c[f+23416+(l*40|0)>>2]|0)+z|0;n=c[e+26996>>2]|0;t=n<<4;m=c[e+26992>>2]<<4>>u;o=B&7;V=(o|0)==0?0:-3;W=(A&7|0)==0?0:-3;if((!((x|0)<(0-V|0)|(y|0)<(0-W|0))?(x+16|0)<=(V+t|0):0)?(y+16|0)<=(m+W|0):0){t=0;y=C}else{V=f+27792|0;W=2<<K;pc[c[e+8>>2]&3](c[V>>2]|0,z+(0-W)+(0-(C<<1))|0,C,C,21,21,x+-2|0,y+-2|0,t,m);y=c[I>>2]|0;z=(c[V>>2]|0)+W+(y<<1)|0;t=1}x=p+(v<<2)|0;gc[c[x>>2]&1023](G,z,y);if(!h)gc[c[x>>2]&1023](G+j|0,z+j|0,c[I>>2]|0);if(!(c[F>>2]|0)){p=A;k=t;v=A>>3}else{k=(1-(c[f+23416+(l*40|0)+24>>2]|0)+(c[J>>2]&1)<<1)+A|0;v=k>>3;p=k;k=k>>>31|t|(v+8|0)>=(m>>1|0)}z=B>>3;y=z<<K;t=c[N>>2]|0;x=H(t,v)|0;u=(c[f+23416+(l*40|0)+4>>2]|0)+y+x|0;x=(c[f+23416+(l*40|0)+8>>2]|0)+y+x|0;y=f+27792|0;if(!k){y=i>>1;z=p&7;kc[q&127](L,u,t,y,o,z)}else{U=m>>1;T=n<<3;R=e+8|0;pc[c[R>>2]&3](c[y>>2]|0,u,t,t,9,9,z,v,T,U);V=i>>1;W=p&7;kc[q&127](L,c[y>>2]|0,c[N>>2]|0,V,o,W);S=c[N>>2]|0;pc[c[R>>2]&3](c[y>>2]|0,x,S,S,9,9,z,v,T,U);x=c[y>>2]|0;y=V;z=W}kc[q&127](M,x,c[N>>2]|0,y,o,z);q=s;p=r}if(w|0){A=d[91792+g>>0]|0;C=a[f+28312+A>>0]|0;B=(E<<3)+(b[f+28112+(A<<2)>>1]|0)|0;A=(D<<3)+(b[f+28112+(A<<2)+2>>1]|0)|0;v=A<<2&12|B&3;x=B>>2;t=A>>2;y=c[I>>2]|0;z=(H(t,y)|0)+(x<<K)|0;z=(c[f+25336+(C*40|0)>>2]|0)+z|0;l=c[e+26996>>2]|0;u=l<<4;m=c[e+26992>>2]<<4>>c[F>>2];n=B&7;V=(n|0)==0?0:-3;W=(A&7|0)==0?0:-3;if((!((x|0)<(0-V|0)|(t|0)<(0-W|0))?(x+16|0)<=(u+V|0):0)?(t+16|0)<=(m+W|0):0)k=0;else{W=f+27792|0;k=2<<K;pc[c[e+8>>2]&3](c[W>>2]|0,z+(0-k)+(0-(y<<1))|0,y,y,21,21,x+-2|0,t+-2|0,u,m);y=c[I>>2]|0;z=(c[W>>2]|0)+k+(y<<1)|0;k=1}x=p+(v<<2)|0;gc[c[x>>2]&1023](G,z,y);if(!h)gc[c[x>>2]&1023](G+j|0,z+j|0,c[I>>2]|0);if(!(c[F>>2]|0)){p=A;v=A>>3}else{j=(1-(c[f+25336+(C*40|0)+24>>2]|0)+(c[J>>2]&1)<<1)+A|0;v=j>>3;p=j;k=j>>>31|k|(v+8|0)>=(m>>1|0)}u=B>>3;y=u<<K;z=c[N>>2]|0;x=H(z,v)|0;t=(c[f+25336+(C*40|0)+4>>2]|0)+y+x|0;x=(c[f+25336+(C*40|0)+8>>2]|0)+y+x|0;y=f+27792|0;if(!k){y=i>>1;i=p&7;kc[q&127](L,t,z,y,n,i);z=i}else{f=m>>1;j=l<<3;h=e+8|0;pc[c[h>>2]&3](c[y>>2]|0,t,z,z,9,9,u,v,j,f);i=i>>1;z=p&7;kc[q&127](L,c[y>>2]|0,c[N>>2]|0,i,n,z);e=c[N>>2]|0;pc[c[h>>2]&3](c[y>>2]|0,x,e,e,9,9,u,v,j,f);x=c[y>>2]|0;y=i}kc[q&127](M,x,c[N>>2]|0,y,n,z)}}while(0);return}function ad(e){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,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0;la=Mb;Mb=Mb+128|0;ha=la+96|0;X=la+112|0;Y=la+108|0;_=la+32|0;$=la;ka=e+564|0;fa=c[ka>>2]|0;q=e+556|0;ga=c[q>>2]|0;h=c[e+560>>2]|0;p=e+704|0;f=c[p>>2]|0;if((f|0)!=0?(c[f>>2]|0)!=0:0){f=(c[f+72>>2]|0)+15>>4;f=(h|0)>(f|0)?f:h}else f=h;g=c[e+736>>2]|0;if((g|0)!=0?(c[g>>2]|0)!=0:0){ja=(c[g+72>>2]|0)+15>>4;ja=(f|0)>(ja|0)?ja:f}else ja=f;v=c[e+584>>2]|0;T=H(h,fa)|0;w=v+(T<<3)|0;T=w+(T<<3)|0;oB(e,X,Y);i=e+712|0;if(c[i>>2]|0)Yw(c[e+708>>2]|0,ja+-1|0,0);U=H(ja,ga)|0;j=e+548|0;n=e+580|0;o=e+696|0;y=c[Y>>2]|0;x=c[X>>2]|0;V=e+680|0;k=e+720|0;W=e+688|0;h=0;f=0;while(1){if((h|0)>=(U|0))break;g=c[(c[j>>2]|0)+(h<<2)>>2]|0;S=(a[(c[n>>2]|0)+g>>0]&8)==0?8:(c[(c[o>>2]|0)+(g<<2)>>2]&7|0)==0?0:8;a[T+g>>0]=S;if((S|0)!=8){if((c[c[p>>2]>>2]|0)!=0?(l=c[i>>2]|0,(l|0)!=0):0){S=c[ka>>2]|0;R=(g|0)/(S|0)|0;S=H((H(y,R)|0)+(g-(H(R,S)|0))|0,x)|0;R=c[V>>2]|0;b[R+(S<<2)>>1]=b[l+(S<<2)>>1]|0;b[R+(S<<2)+2>>1]=b[l+(S<<2)+2>>1]|0;S=g<<2;a[(c[W>>2]|0)+S>>0]=a[(c[k>>2]|0)+S>>0]|0}}else f=f+1|0;h=h+1|0}a:do if((f|0)>((ga|0)/2|0|0)?(c[(c[e>>2]|0)+676>>2]&1|0)!=0:0){f=0;j=0;while(1){if((j|0)>=(ja|0))break;k=H(j,fa)|0;l=(j|0)==0;m=j+1|0;n=(m|0)<(ja|0);o=j+-1|0;g=0;b:while(1){while(1){if((g|0)>=(ga|0))break b;i=g+k|0;if((a[T+i>>0]|0)==8)break;g=g+1|0}if((g|0)!=0?(r=T+(i+-1)|0,(a[r>>0]|0)==0):0){a[r>>0]=1;c[v+(f<<3)>>2]=g+-1;c[v+(f<<3)+4>>2]=j;f=f+1|0}if(!l?(s=T+(i-fa)|0,(a[s>>0]|0)==0):0){a[s>>0]=1;c[v+(f<<3)>>2]=g;c[v+(f<<3)+4>>2]=o;f=f+1|0}h=g+1|0;if((h|0)<(ga|0)?(t=T+(i+1)|0,(a[t>>0]|0)==0):0){a[t>>0]=1;c[v+(f<<3)>>2]=h;c[v+(f<<3)+4>>2]=j;f=f+1|0}if(n?(u=T+(i+fa)|0,(a[u>>0]|0)==0):0){a[u>>0]=1;c[v+(f<<3)>>2]=g;c[v+(f<<3)+4>>2]=m;f=f+1|0}g=h}j=m}O=_+4|0;P=e+672|0;Q=e+608|0;R=e+612|0;S=e+800|0;N=e+804|0;M=f;while(1){L=H(x,y)|0;f=1;K=0;g=1;while(1){if(!(K>>>0<10&(K>>>0<2|(f|0)!=0)))break;J=K>>>0>1;I=0;f=0;while(1){if((I|0)>=(M|0))break;E=c[v+(I<<3)>>2]|0;F=c[v+(I<<3)+4>>2]|0;G=(H(F,fa)|0)+E|0;c:do if(!((E^K^F)&1)){B=(E|0)>0;if(B)h=d[T+(G+-1)>>0]|0;else h=0;C=(E+1|0)<(ga|0);if(C)h=h|d[T+(G+1)>>0];A=(F|0)>0;if(A)h=h|d[T+(G-fa)>>0];z=(F+1|0)<(ja|0);if(z)h=h|d[T+(G+fa)>>0];if(!(J&(h&4|0)==0)){D=H((H(y,F)|0)+E|0,x)|0;if(B?(Z=G+-1|0,(d[T+Z>>0]|0)>1):0){e=c[V>>2]|0;g=D-x|0;c[_>>2]=b[e+(g<<2)>>1];c[O>>2]=b[e+(g<<2)+2>>1];c[$>>2]=a[(c[W>>2]|0)+(Z<<2)>>0];g=1}else g=0;do if(C){h=G+1|0;if((d[T+h>>0]|0)<=1)break;u=c[V>>2]|0;e=D+x|0;c[_+(g<<3)>>2]=b[u+(e<<2)>>1];c[_+(g<<3)+4>>2]=b[u+(e<<2)+2>>1];c[$+(g<<2)>>2]=a[(c[W>>2]|0)+(h<<2)>>0];g=g+1|0}while(0);do if(A){if((d[T+(G-fa)>>0]|0)<=1)break;u=c[V>>2]|0;e=D-L|0;c[_+(g<<3)>>2]=b[u+(e<<2)>>1];c[_+(g<<3)+4>>2]=b[u+(e<<2)+2>>1];c[$+(g<<2)>>2]=a[(c[W>>2]|0)+(G-(c[ka>>2]|0)<<2)>>0];g=g+1|0}while(0);do if(z){if((d[T+(G+fa)>>0]|0)<=1){ia=77;break}u=c[V>>2]|0;e=D+L|0;c[_+(g<<3)>>2]=b[u+(e<<2)>>1];c[_+(g<<3)+4>>2]=b[u+(e<<2)+2>>1];c[$+(g<<2)>>2]=a[(c[W>>2]|0)+((c[ka>>2]|0)+G<<2)>>0];g=g+1|0}else ia=77;while(0);if((ia|0)==77){ia=0;if(!g){g=0;break}}d:do if((g|0)>1){h=0;i=0;j=0;k=0;while(1){if((k|0)>=(g|0))break;j=(c[_+(k<<3)>>2]|0)+j|0;i=(c[_+(k<<3)+4>>2]|0)+i|0;e=c[$+(k<<2)>>2]|0;h=e+h|0;if(k|0?(e|0)!=(c[$+(k+-1<<2)>>2]|0):0)break d;k=k+1|0}c[_+(g<<3)>>2]=(j|0)/(k|0)|0;c[_+(g<<3)+4>>2]=(i|0)/(k|0)|0;c[$+(g<<2)>>2]=(h|0)/(k|0)|0;k=(g|0)>2;l=k?-99999:0;k=k?99999:0;p=k;q=l;n=k;o=l;m=0;while(1){if((m|0)==(g|0))break;e=c[_+(m<<3)>>2]|0;u=c[_+(m<<3)+4>>2]|0;t=c[$+(m<<2)>>2]|0;p=(p|0)>(t|0)?t:p;q=(q|0)>(t|0)?q:t;n=(n|0)>(u|0)?u:n;k=(k|0)>(e|0)?e:k;o=(o|0)>(u|0)?o:u;l=(l|0)>(e|0)?l:e;m=m+1|0}l=j-l-k|0;e=g+1|0;m=_+(e<<3)|0;c[m>>2]=l;j=i-o-n|0;k=_+(e<<3)+4|0;c[k>>2]=j;h=h-q-p|0;i=$+(e<<2)|0;c[i>>2]=h;if((g|0)==4){c[m>>2]=(l|0)/2|0;c[k>>2]=(j|0)/2|0;c[i>>2]=(h|0)/2|0}g=g+2|0}else g=1;while(0);c[$+(g<<2)>>2]=0;c[_+(g<<3)+4>>2]=0;c[_+(g<<3)>>2]=0;m=g+1|0;e=c[V>>2]|0;u=b[e+(D<<2)>>1]|0;e=b[e+(D<<2)+2>>1]|0;n=a[(c[W>>2]|0)+(G<<2)>>0]|0;c[_+(m<<3)>>2]=u;c[_+(m<<3)+4>>2]=e;c[$+(m<<2)>>2]=n;m=g+2|0;n=E<<4;o=F<<4;p=T+(G+-1)|0;q=T+(G+1)|0;r=T+(G-fa)|0;s=T+(G+fa)|0;t=0;g=1073741824;l=0;while(1){if((l|0)>=(m|0))break;k=c[P>>2]|0;j=k+32|0;k=(c[k>>2]|0)+n+(H(o,c[j>>2]|0)|0)|0;i=c[_+(l<<3)>>2]|0;c[Q>>2]=i;h=c[V>>2]|0;b[h+(D<<2)>>1]=i;i=c[_+(l<<3)+4>>2]|0;c[R>>2]=i;b[h+(D<<2)+2>>1]=i;h=c[$+(l<<2)>>2]|0;if((h|0)<0)h=t;else{oc[c[S>>2]&31](c[N>>2]|0,h,1,0,Q,E,F,0,0);e:do if(B){if((d[p>>0]|0)<=1){i=0;break}h=0;i=0;while(1){if((h|0)==16)break e;ma=H(c[j>>2]|0,h)|0;ma=(d[k+(ma+-1)>>0]|0)-(d[k+ma>>0]|0)|0;h=h+1|0;i=((ma|0)>-1?ma:0-ma|0)+i|0}}else i=0;while(0);f:do if(C){if((d[q>>0]|0)<=1)break;h=0;while(1){if((h|0)==16)break f;ma=H(c[j>>2]|0,h)|0;ma=(d[k+(ma+15)>>0]|0)-(d[k+(ma+16)>>0]|0)|0;h=h+1|0;i=((ma|0)>-1?ma:0-ma|0)+i|0}}while(0);g:do if(A){if((d[r>>0]|0)<=1)break;h=0;while(1){if((h|0)==16)break g;ma=(d[k+(h-(c[j>>2]|0))>>0]|0)-(d[k+h>>0]|0)|0;h=h+1|0;i=((ma|0)>-1?ma:0-ma|0)+i|0}}while(0);h:do if(z){if((d[s>>0]|0)<=1)break;h=0;while(1){if((h|0)==16)break h;ma=c[j>>2]|0;ma=(d[k+((ma*15|0)+h)>>0]|0)-(d[k+((ma<<4)+h)>>0]|0)|0;h=h+1|0;i=((ma|0)>-1?ma:0-ma|0)+i|0}}while(0);ma=(i|0)>(g|0);h=ma?t:l;g=ma?g:i}t=h;l=l+1|0}i=c[_+(t<<3)>>2]|0;c[Q>>2]=i;j=c[_+(t<<3)+4>>2]|0;c[R>>2]=j;i=i&65535;j=j&65535;g=0;while(1){if((g|0)>=(x|0))break;k=g+D|0;h=0;while(1){if((h|0)==(x|0))break;C=c[V>>2]|0;ma=k+(H(h,y)|0)|0;b[C+(ma<<2)>>1]=i;b[C+(ma<<2)+2>>1]=j;h=h+1|0}g=g+1|0}oc[c[S>>2]&31](c[N>>2]|0,c[$+(t<<2)>>2]|0,1,0,Q,E,F,0,0);do if((c[Q>>2]|0)==(u|0)){if((c[R>>2]|0)!=(e|0))break;a[T+G>>0]=2;g=0;break c}while(0);a[T+G>>0]=4;g=0;f=f+1|0}}while(0);I=I+1|0}K=K+1|0}if(g|0)break a;f=0;k=0;while(1){if((k|0)>=(M|0))break;i=c[v+(k<<3)>>2]|0;h=c[v+(k<<3)+4>>2]|0;j=(H(h,fa)|0)+i|0;g=T+j|0;if(a[g>>0]&14){a[g>>0]=8;if((i|0)>0?(aa=T+(j+-1)|0,(a[aa>>0]|0)==0):0){a[aa>>0]=1;c[w+(f<<3)>>2]=i+-1;c[w+(f<<3)+4>>2]=h;f=f+1|0}if((h|0)>0?(ca=T+(j-fa)|0,(a[ca>>0]|0)==0):0){a[ca>>0]=1;c[w+(f<<3)>>2]=i;c[w+(f<<3)+4>>2]=h+-1;f=f+1|0}g=i+1|0;if((g|0)<(ga|0)?(da=T+(j+1)|0,(a[da>>0]|0)==0):0){a[da>>0]=1;c[w+(f<<3)>>2]=g;c[w+(f<<3)+4>>2]=h;f=f+1|0}g=h+1|0;if((g|0)<(ja|0)?(ea=T+(j+fa)|0,(a[ea>>0]|0)==0):0){a[ea>>0]=1;c[w+(f<<3)>>2]=i;c[w+(f<<3)+4>>2]=g;f=f+1|0}}k=k+1|0}if((f|0)>(U|0))break;ma=w;M=f;x=c[X>>2]|0;y=c[Y>>2]|0;w=v;v=ma}c[ha>>2]=204513;c[ha+4>>2]=204436;c[ha+8>>2]=717;AD(0,0,222515,ha);ba()}else{k=e+608|0;l=e+612|0;m=e+800|0;i=e+804|0;h=0;while(1){if((h|0)>=(ja|0))break a;g=0;while(1){if((g|0)>=(c[q>>2]|0))break;j=(H(c[ka>>2]|0,h)|0)+g|0;f=c[p>>2]|0;if(!f)f=2;else f=(c[f>>2]|0)==0?2:1;if((c[(c[o>>2]|0)+(j<<2)>>2]&7|0)==0?a[(c[n>>2]|0)+j>>0]&8:0){c[k>>2]=0;c[l>>2]=0;oc[c[m>>2]&31](c[i>>2]|0,0,f,0,k,g,h,0,0)}g=g+1|0}h=h+1|0}}while(0);Mb=la;return}function bd(e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w){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;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;var x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;L=f+880|0;s=c[L>>2]|0;y=(v|0)!=0;z=(w|0)!=0;if(z&(y&(s|0)==2)){Q=d[91792+g>>0]|0;q=f+21792|0;s=c[q>>2]|0;if((c[f+3216+((a[f+28272+Q>>0]|0)*384|0)+(a[f+28312+Q>>0]<<3)+((s&1)<<2)>>2]|0)==32)q=58;else{K=q;q=4}}else{q=f+21792|0;x=c[q>>2]|0;if((s|0)==1){K=q;s=x;q=4}else{s=x;q=58}}do if((q|0)==4){A=c[t>>2]|0;J=c[u>>2]|0;M=c[e+25652>>2]|0;Q=f+21780|0;u=c[Q>>2]|0;N=(H(o<<1,u)|0)+(n<<1<<M)|0;P=k+N|0;O=l+N|0;N=m+N|0;x=(c[f+21788>>2]<<3)+n|0;C=f+21828|0;t=c[C>>2]|0;q=(s>>t<<3)+o|0;if(!(y&z)){n=z&1;L=d[91792+g>>0]|0;m=a[f+28272+(n*40|0)+L>>0]|0;K=(x<<3)+(b[f+27952+(n*160|0)+(L<<2)>>1]|0)|0;L=(q<<3)+(b[f+27952+(n*160|0)+(L<<2)+2>>1]|0)|0;x=L<<2&12|K&3;y=K>>2;z=L>>2;v=(H(z,u)|0)+(y<<M)|0;q=(c[f+23416+(n*1920|0)+(m*40|0)>>2]|0)+v|0;l=c[e+26996>>2]<<4;k=c[e+26992>>2]<<4>>t;K=(K&7|0)==0?0:-3;L=(L&7|0)==0?0:-3;if((!((y|0)<(0-K|0)|(z|0)<(0-L|0))?(y+16|0)<=(K+l|0):0)?(z+16|0)<=(k+L|0):0){t=0;s=u}else{L=f+27792|0;t=2<<M;pc[c[e+8>>2]&3](c[L>>2]|0,q+(0-t)+(0-(u<<1))|0,u,u,21,21,y+-2|0,z+-2|0,l,k);s=c[Q>>2]|0;q=(c[L>>2]|0)+t+(s<<1)|0;t=1}u=p+(x<<2)|0;gc[c[u>>2]&1023](P,q,s);p=(h|0)!=0;if(!p)gc[c[u>>2]&1023](P+j|0,q+j|0,c[Q>>2]|0);q=(c[f+23416+(n*1920|0)+(m*40|0)+4>>2]|0)+v|0;x=(t|0)!=0;if(x){L=f+27792|0;h=2<<M;s=c[Q>>2]|0;pc[c[e+8>>2]&3](c[L>>2]|0,q+(0-h)+(0-(s<<1))|0,s,s,21,21,y+-2|0,z+-2|0,l,k);s=c[Q>>2]|0;q=(c[L>>2]|0)+h+(s<<1)|0}else s=c[Q>>2]|0;gc[c[u>>2]&1023](O,q,s);if(!p)gc[c[u>>2]&1023](O+j|0,q+j|0,c[Q>>2]|0);q=(c[f+23416+(n*1920|0)+(m*40|0)+8>>2]|0)+v|0;if(x){L=f+27792|0;h=2<<M;s=c[Q>>2]|0;pc[c[e+8>>2]&3](c[L>>2]|0,q+(0-h)+(0-(s<<1))|0,s,s,21,21,y+-2|0,z+-2|0,l,k);s=c[Q>>2]|0;q=(c[L>>2]|0)+h+(s<<1)|0}else s=c[Q>>2]|0;gc[c[u>>2]&1023](N,q,s);if(!p)gc[c[u>>2]&1023](N+j|0,q+j|0,c[Q>>2]|0);kc[A&127](P,c[Q>>2]|0,i,c[f+888>>2]|0,c[f+912+(m<<4)+(n<<3)>>2]|0,c[f+912+(m<<4)+(n<<3)+4>>2]|0);if(!(c[f+884>>2]|0))break;e=f+21784|0;j=f+892|0;kc[A&127](O,c[e>>2]|0,i,c[j>>2]|0,c[f+1680+(m<<5)+(n<<4)>>2]|0,c[f+1680+(m<<5)+(n<<4)+4>>2]|0);kc[A&127](N,c[e>>2]|0,i,c[j>>2]|0,c[f+1680+(m<<5)+(n<<4)+8>>2]|0,c[f+1680+(m<<5)+(n<<4)+12>>2]|0);break}E=c[f+27788>>2]|0;F=E+(16<<M)|0;G=f+21784|0;I=E+(c[G>>2]<<4)|0;A=d[91792+g>>0]|0;w=a[f+28272+A>>0]|0;D=a[f+28312+A>>0]|0;n=x<<3;r=n+(b[f+27952+(A<<2)>>1]|0)|0;m=q<<3;g=m+(b[f+27952+(A<<2)+2>>1]|0)|0;x=g<<2&12|r&3;z=r>>2;l=g>>2;k=(H(l,u)|0)+(z<<M)|0;q=(c[f+23416+(w*40|0)>>2]|0)+k|0;B=e+26996|0;y=c[B>>2]<<4;o=e+26992|0;v=c[o>>2]<<4>>t;r=(r&7|0)==0?0:-3;g=(g&7|0)==0?0:-3;if((!((z|0)<(0-r|0)|(l|0)<(0-g|0))?(z+16|0)<=(r+y|0):0)?(l+16|0)<=(v+g|0):0){t=0;s=u}else{g=f+27792|0;t=2<<M;pc[c[e+8>>2]&3](c[g>>2]|0,q+(0-t)+(0-(u<<1))|0,u,u,21,21,z+-2|0,l+-2|0,y,v);s=c[Q>>2]|0;q=(c[g>>2]|0)+t+(s<<1)|0;t=1}u=p+(x<<2)|0;gc[c[u>>2]&1023](P,q,s);r=(h|0)!=0;if(!r)gc[c[u>>2]&1023](P+j|0,q+j|0,c[Q>>2]|0);q=(c[f+23416+(w*40|0)+4>>2]|0)+k|0;x=(t|0)!=0;if(x){g=f+27792|0;h=2<<M;s=c[Q>>2]|0;pc[c[e+8>>2]&3](c[g>>2]|0,q+(0-h)+(0-(s<<1))|0,s,s,21,21,z+-2|0,l+-2|0,y,v);s=c[Q>>2]|0;q=(c[g>>2]|0)+h+(s<<1)|0}else s=c[Q>>2]|0;gc[c[u>>2]&1023](O,q,s);if(!r)gc[c[u>>2]&1023](O+j|0,q+j|0,c[Q>>2]|0);q=(c[f+23416+(w*40|0)+8>>2]|0)+k|0;if(x){g=f+27792|0;h=2<<M;s=c[Q>>2]|0;pc[c[e+8>>2]&3](c[g>>2]|0,q+(0-h)+(0-(s<<1))|0,s,s,21,21,z+-2|0,l+-2|0,y,v);s=c[Q>>2]|0;q=(c[g>>2]|0)+h+(s<<1)|0}else s=c[Q>>2]|0;gc[c[u>>2]&1023](N,q,s);if(!r)gc[c[u>>2]&1023](N+j|0,q+j|0,c[Q>>2]|0);g=n+(b[f+28112+(A<<2)>>1]|0)|0;h=m+(b[f+28112+(A<<2)+2>>1]|0)|0;t=h<<2&12|g&3;y=g>>2;z=h>>2;q=c[Q>>2]|0;v=(H(z,q)|0)+(y<<M)|0;s=(c[f+25336+(D*40|0)>>2]|0)+v|0;k=c[B>>2]<<4;u=c[o>>2]<<4>>c[C>>2];g=(g&7|0)==0?0:-3;h=(h&7|0)==0?0:-3;if((!((y|0)<(0-g|0)|(z|0)<(0-h|0))?(y+16|0)<=(k+g|0):0)?(z+16|0)<=(u+h|0):0)x=0;else{h=f+27792|0;x=2<<M;pc[c[e+8>>2]&3](c[h>>2]|0,s+(0-x)+(0-(q<<1))|0,q,q,21,21,y+-2|0,z+-2|0,k,u);q=c[Q>>2]|0;s=(c[h>>2]|0)+x+(q<<1)|0;x=1}t=p+(t<<2)|0;gc[c[t>>2]&1023](I,s,q);if(!r)gc[c[t>>2]&1023](I+j|0,s+j|0,c[Q>>2]|0);q=(c[f+25336+(D*40|0)+4>>2]|0)+v|0;x=(x|0)!=0;if(x){g=f+27792|0;h=2<<M;s=c[Q>>2]|0;pc[c[e+8>>2]&3](c[g>>2]|0,q+(0-h)+(0-(s<<1))|0,s,s,21,21,y+-2|0,z+-2|0,k,u);s=c[Q>>2]|0;q=(c[g>>2]|0)+h+(s<<1)|0}else s=c[Q>>2]|0;gc[c[t>>2]&1023](E,q,s);if(!r)gc[c[t>>2]&1023](E+j|0,q+j|0,c[Q>>2]|0);q=(c[f+25336+(D*40|0)+8>>2]|0)+v|0;if(x){g=f+27792|0;h=2<<M;s=c[Q>>2]|0;pc[c[e+8>>2]&3](c[g>>2]|0,q+(0-h)+(0-(s<<1))|0,s,s,21,21,y+-2|0,z+-2|0,k,u);s=c[Q>>2]|0;q=(c[g>>2]|0)+h+(s<<1)|0}else s=c[Q>>2]|0;gc[c[t>>2]&1023](F,q,s);if(!r)gc[c[t>>2]&1023](F+j|0,q+j|0,c[Q>>2]|0);if((c[L>>2]|0)==2){f=c[f+3216+(w*384|0)+(D<<3)+((c[K>>2]&1)<<2)>>2]|0;j=64-f|0;nc[J&63](P,I,c[Q>>2]|0,i,5,f,j,0);nc[J&63](O,E,c[G>>2]|0,i,5,f,j,0);nc[J&63](N,F,c[G>>2]|0,i,5,f,j,0);break}else{nc[J&63](P,I,c[Q>>2]|0,i,c[f+888>>2]|0,c[f+912+(w<<4)>>2]|0,c[f+912+(D<<4)+8>>2]|0,(c[f+912+(D<<4)+12>>2]|0)+(c[f+912+(w<<4)+4>>2]|0)|0);j=f+892|0;nc[J&63](O,E,c[G>>2]|0,i,c[j>>2]|0,c[f+1680+(w<<5)>>2]|0,c[f+1680+(D<<5)+16>>2]|0,(c[f+1680+(D<<5)+20>>2]|0)+(c[f+1680+(w<<5)+4>>2]|0)|0);nc[J&63](N,F,c[G>>2]|0,i,c[j>>2]|0,c[f+1680+(w<<5)+8>>2]|0,c[f+1680+(D<<5)+24>>2]|0,(c[f+1680+(D<<5)+28>>2]|0)+(c[f+1680+(w<<5)+12>>2]|0)|0);break}}else if((q|0)==58){F=c[e+25652>>2]|0;G=f+21780|0;u=c[G>>2]|0;E=(H(o<<1,u)|0)+(n<<1<<F)|0;C=k+E|0;D=l+E|0;E=m+E|0;A=(c[f+21788>>2]<<3)+n|0;B=f+21828|0;x=c[B>>2]|0;n=(s>>x<<3)+o|0;if(v){i=d[91792+g>>0]|0;v=a[f+28272+i>>0]|0;Q=(A<<3)+(b[f+27952+(i<<2)>>1]|0)|0;i=(n<<3)+(b[f+27952+(i<<2)+2>>1]|0)|0;t=i<<2&12|Q&3;z=Q>>2;l=i>>2;k=(H(l,u)|0)+(z<<F)|0;q=(c[f+23416+(v*40|0)>>2]|0)+k|0;m=c[e+26996>>2]<<4;y=c[e+26992>>2]<<4>>x;Q=(Q&7|0)==0?0:-3;i=(i&7|0)==0?0:-3;if((!((z|0)<(0-Q|0)|(l|0)<(0-i|0))?(z+16|0)<=(Q+m|0):0)?(l+16|0)<=(y+i|0):0){x=0;s=u}else{i=f+27792|0;x=2<<F;pc[c[e+8>>2]&3](c[i>>2]|0,q+(0-x)+(0-(u<<1))|0,u,u,21,21,z+-2|0,l+-2|0,m,y);s=c[G>>2]|0;q=(c[i>>2]|0)+x+(s<<1)|0;x=1}p=p+(t<<2)|0;gc[c[p>>2]&1023](C,q,s);t=(h|0)!=0;if(!t)gc[c[p>>2]&1023](C+j|0,q+j|0,c[G>>2]|0);q=(c[f+23416+(v*40|0)+4>>2]|0)+k|0;x=(x|0)!=0;if(x){Q=f+27792|0;i=2<<F;s=c[G>>2]|0;pc[c[e+8>>2]&3](c[Q>>2]|0,q+(0-i)+(0-(s<<1))|0,s,s,21,21,z+-2|0,l+-2|0,m,y);s=c[G>>2]|0;q=(c[Q>>2]|0)+i+(s<<1)|0}else s=c[G>>2]|0;gc[c[p>>2]&1023](D,q,s);if(!t)gc[c[p>>2]&1023](D+j|0,q+j|0,c[G>>2]|0);q=(c[f+23416+(v*40|0)+8>>2]|0)+k|0;if(x){Q=f+27792|0;i=2<<F;s=c[G>>2]|0;pc[c[e+8>>2]&3](c[Q>>2]|0,q+(0-i)+(0-(s<<1))|0,s,s,21,21,z+-2|0,l+-2|0,m,y);s=c[G>>2]|0;q=(c[Q>>2]|0)+i+(s<<1)|0}else s=c[G>>2]|0;gc[c[p>>2]&1023](E,q,s);if(t)p=r;else{gc[c[p>>2]&1023](E+j|0,q+j|0,c[G>>2]|0);p=r}}if(w|0){i=d[91792+g>>0]|0;m=a[f+28312+i>>0]|0;Q=(A<<3)+(b[f+28112+(i<<2)>>1]|0)|0;i=(n<<3)+(b[f+28112+(i<<2)+2>>1]|0)|0;x=i<<2&12|Q&3;y=Q>>2;z=i>>2;s=c[G>>2]|0;v=(H(z,s)|0)+(y<<F)|0;q=(c[f+25336+(m*40|0)>>2]|0)+v|0;l=c[e+26996>>2]<<4;k=c[e+26992>>2]<<4>>c[B>>2];Q=(Q&7|0)==0?0:-3;i=(i&7|0)==0?0:-3;if((!((y|0)<(0-Q|0)|(z|0)<(0-i|0))?(y+16|0)<=(l+Q|0):0)?(z+16|0)<=(k+i|0):0)t=0;else{i=f+27792|0;t=2<<F;pc[c[e+8>>2]&3](c[i>>2]|0,q+(0-t)+(0-(s<<1))|0,s,s,21,21,y+-2|0,z+-2|0,l,k);s=c[G>>2]|0;q=(c[i>>2]|0)+t+(s<<1)|0;t=1}u=p+(x<<2)|0;gc[c[u>>2]&1023](C,q,s);p=(h|0)!=0;if(!p)gc[c[u>>2]&1023](C+j|0,q+j|0,c[G>>2]|0);q=(c[f+25336+(m*40|0)+4>>2]|0)+v|0;x=(t|0)!=0;if(x){i=f+27792|0;h=2<<F;s=c[G>>2]|0;pc[c[e+8>>2]&3](c[i>>2]|0,q+(0-h)+(0-(s<<1))|0,s,s,21,21,y+-2|0,z+-2|0,l,k);s=c[G>>2]|0;q=(c[i>>2]|0)+h+(s<<1)|0}else s=c[G>>2]|0;gc[c[u>>2]&1023](D,q,s);if(!p)gc[c[u>>2]&1023](D+j|0,q+j|0,c[G>>2]|0);q=(c[f+25336+(m*40|0)+8>>2]|0)+v|0;if(x){h=f+27792|0;f=2<<F;s=c[G>>2]|0;pc[c[e+8>>2]&3](c[h>>2]|0,q+(0-f)+(0-(s<<1))|0,s,s,21,21,y+-2|0,z+-2|0,l,k);s=c[G>>2]|0;q=(c[h>>2]|0)+f+(s<<1)|0}else s=c[G>>2]|0;gc[c[u>>2]&1023](E,q,s);if(!p)gc[c[u>>2]&1023](E+j|0,q+j|0,c[G>>2]|0)}}while(0);return}function cd(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,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=Mb;Mb=Mb+112|0;y=z+96|0;v=z+88|0;t=z+80|0;s=z+64|0;x=z;u=(l|0)<9;do if(u)if((l|0)==4){w=c[278117]|0;m=g+8|0;r=c[m>>2]|0;o=(c[g>>2]|0)+(r>>>3)|0;o=(W_(d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24|0)|0)<<(r&7)>>>24;n=b[w+(o<<2)>>1]|0;o=r+(b[w+(o<<2)+2>>1]|0)|0;break}else{w=c[278121]|0;m=g+8|0;r=c[m>>2]|0;o=(c[g>>2]|0)+(r>>>3)|0;o=(W_(d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24|0)|0)<<(r&7)>>>19;n=b[w+(o<<2)>>1]|0;o=r+(b[w+(o<<2)+2>>1]|0)|0;break}else if((i|0)>47){r=78896+((zU(f,(i<<4)+-768|0)|0)<<2)|0;r=c[1018160+(c[r>>2]<<4)+4>>2]|0;m=g+8|0;q=c[m>>2]|0;o=c[g>>2]|0;w=o+(q>>>3)|0;w=(W_(d[w>>0]|d[w+1>>0]<<8|d[w+2>>0]<<16|d[w+3>>0]<<24|0)|0)<<(q&7)>>>24;n=b[r+(w<<2)>>1]|0;w=b[r+(w<<2)+2>>1]|0;p=w<<16>>16;if(w<<16>>16<0){w=q+8|0;o=o+(w>>>3)|0;n=((W_(d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24|0)|0)<<(w&7)>>>(p+32|0))+n|0;p=b[r+(n<<2)+2>>1]|0;o=w;n=b[r+(n<<2)>>1]|0}else o=q;o=p+o|0;break}else{r=78896+((zU(f,i)|0)<<2)|0;r=c[1018160+(c[r>>2]<<4)+4>>2]|0;m=g+8|0;q=c[m>>2]|0;p=c[g>>2]|0;w=p+(q>>>3)|0;w=(W_(d[w>>0]|d[w+1>>0]<<8|d[w+2>>0]<<16|d[w+3>>0]<<24|0)|0)<<(q&7)>>>24;n=b[r+(w<<2)>>1]|0;w=b[r+(w<<2)+2>>1]|0;o=w<<16>>16;if(w<<16>>16<0){w=q+8|0;p=p+(w>>>3)|0;n=((W_(d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24|0)|0)<<(w&7)>>>(o+32|0))+n|0;o=b[r+(n<<2)+2>>1]|0;p=w;n=b[r+(n<<2)>>1]|0}else p=q;o=o+p|0;break}while(0);c[m>>2]=o;w=n>>2;a[(d[91792+i>>0]|0)+(f+27824)>>0]=w;a:do if(w){if(w>>>0>l>>>0){m=c[e+4>>2]|0;y=c[f+21792>>2]|0;c[s>>2]=c[f+21788>>2];c[s+4>>2]=y;c[s+8>>2]=w;AD(m,16,205364,s);m=-1;break}o=n&3;s=zQ(g,3)|0;Q_(g,o);c[x>>2]=1-(s>>>1&2);c[x+4>>2]=1-(s&2);c[x+8>>2]=1-(s<<1&2);b:do if((o|0)<(w|0)){p=(o|0)!=3;n=(n|0)>43&p;q=n&1;r=zQ(g,8)|0;s=a[1051072+(q<<9)+(r<<1)>>0]|0;m=s<<24>>24;Q_(g,a[1051072+(q<<9)+(r<<1)+1>>0]|0);if(s<<24>>24>99){m=m+-100|0;if((m|0)==8)m=(cD(g)|0)+8|0;do if((m|0)<14){if(n)m=(wV(g)|0)+(m<<1)|0}else{if((m|0)==14)if(n){m=(wV(g)|0)+28|0;break}else{m=(UN(g,4)|0)+14|0;break}do if((m|0)>15)if((m|0)>28){AD(c[e+4>>2]|0,16,205409,t);m=-1;break a}else{n=m+-3|0;m=(1<<n)+-4066|0;break}else{m=30;n=12}while(0);m=(UN(g,n)|0)+m|0}while(0);t=p?m+2|0:m;m=t&1;n=2;m=(t+2>>1^0-m)+m|0}else{m=(p?m>>31|1:0)+m|0;n=(m+3|0)>>>0>6?2:1}c[x+(o<<2)>>2]=m;while(1){o=o+1|0;if((o|0)>=(w|0))break b;s=zQ(g,8)|0;t=a[1051072+(n<<9)+(s<<1)>>0]|0;m=t<<24>>24;Q_(g,a[1051072+(n<<9)+(s<<1)+1>>0]|0);if(t<<24>>24>99){m=m+-100|0;if((m|0)==8)m=(cD(g)|0)+8|0;if((m|0)>=15){p=15<<n;if((m|0)==15){m=p;p=12}else{if((m|0)>28)break;t=m+-3|0;m=p+-4096+(1<<t)|0;p=t}}else{m=m<<n;p=n}t=(UN(g,p)|0)+m|0;m=t&1;m=(t+2>>1^0-m)+m|0}c[x+(o<<2)>>2]=m;t=c[78976+(n<<2)>>2]|0;n=n+((t+m|0)>>>0>t<<1>>>0&1)|0}AD(c[e+4>>2]|0,16,205409,v);m=-1094995529;break a}while(0);if((w|0)==(l|0))m=0;else{do if(u)if((l|0)==4){v=c[1018320+(w<<4)+4>>2]|0;n=g+8|0;o=c[n>>2]|0;p=(c[g>>2]|0)+(o>>>3)|0;p=(W_(d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24|0)|0)<<(o&7)>>>29;m=b[v+(p<<2)>>1]|0;p=v+(p<<2)+2|0;break}else{v=c[1019280+(w<<4)+4>>2]|0;n=g+8|0;o=c[n>>2]|0;p=(c[g>>2]|0)+(o>>>3)|0;p=(W_(d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24|0)|0)<<(o&7)>>>27;m=b[v+(p<<2)>>1]|0;p=v+(p<<2)+2|0;break}else{v=c[1050128+(w<<4)+4>>2]|0;n=g+8|0;o=c[n>>2]|0;p=(c[g>>2]|0)+(o>>>3)|0;p=(W_(d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24|0)|0)<<(o&7)>>>23;m=b[v+(p<<2)>>1]|0;p=v+(p<<2)+2|0}while(0);c[n>>2]=o+(b[p>>1]|0)}o=j+(w+-1+m)|0;n=(i|0)>47;p=c[x>>2]|0;c:do if(!(c[e+25652>>2]|0))if(n){b[h+(d[o>>0]<<1)>>1]=p;l=g+8|0;n=1;while(1){if(!((n|0)<(w|0)&(m|0)>0))break;if((m|0)<7){k=c[1050576+(m<<4)+4>>2]|0;i=c[l>>2]|0;p=(c[g>>2]|0)+(i>>>3)|0;p=(W_(d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24|0)|0)<<(i&7)>>>29;q=b[k+(p<<2)>>1]|0;p=i+(b[k+(p<<2)+2>>1]|0)|0}else{t=c[278125]|0;s=c[l>>2]|0;q=c[g>>2]|0;k=q+(s>>>3)|0;k=(W_(d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24|0)|0)<<(s&7)>>>26;p=b[t+(k<<2)>>1]|0;k=b[t+(k<<2)+2>>1]|0;r=k<<16>>16;if(k<<16>>16<0){s=s+6|0;k=q+(s>>>3)|0;p=((W_(d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24|0)|0)<<(s&7)>>>(r+32|0))+p|0;r=b[t+(p<<2)+2>>1]|0;p=b[t+(p<<2)>>1]|0}q=p;p=r+s|0}c[l>>2]=p;k=o+~q|0;b[h+(d[k>>0]<<1)>>1]=c[x+(n<<2)>>2];m=m-q|0;o=k;n=n+1|0}while(1){if((n|0)>=(w|0))break c;g=o+-1|0;b[h+(d[g>>0]<<1)>>1]=c[x+(n<<2)>>2];o=g;n=n+1|0}}else{l=d[o>>0]|0;n=((H(c[k+(l<<2)>>2]|0,p)|0)+32|0)>>>6&65535;b[h+(l<<1)>>1]=n;l=g+8|0;n=1;while(1){if(!((n|0)<(w|0)&(m|0)>0))break;if((m|0)<7){i=c[1050576+(m<<4)+4>>2]|0;j=c[l>>2]|0;p=(c[g>>2]|0)+(j>>>3)|0;p=(W_(d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24|0)|0)<<(j&7)>>>29;q=b[i+(p<<2)>>1]|0;p=j+(b[i+(p<<2)+2>>1]|0)|0}else{t=c[278125]|0;s=c[l>>2]|0;q=c[g>>2]|0;i=q+(s>>>3)|0;i=(W_(d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24|0)|0)<<(s&7)>>>26;p=b[t+(i<<2)>>1]|0;i=b[t+(i<<2)+2>>1]|0;r=i<<16>>16;if(i<<16>>16<0){s=s+6|0;i=q+(s>>>3)|0;p=((W_(d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24|0)|0)<<(s&7)>>>(r+32|0))+p|0;r=b[t+(p<<2)+2>>1]|0;p=b[t+(p<<2)>>1]|0}q=p;p=r+s|0}c[l>>2]=p;i=o+~q|0;j=d[i>>0]|0;v=((H(c[k+(j<<2)>>2]|0,c[x+(n<<2)>>2]|0)|0)+32|0)>>>6&65535;b[h+(j<<1)>>1]=v;m=m-q|0;o=i;n=n+1|0}while(1){if((n|0)>=(w|0))break c;g=o+-1|0;i=d[g>>0]|0;j=((H(c[k+(i<<2)>>2]|0,c[x+(n<<2)>>2]|0)|0)+32|0)>>>6&65535;b[h+(i<<1)>>1]=j;o=g;n=n+1|0}}else if(n){c[h+(d[o>>0]<<2)>>2]=p;l=g+8|0;n=1;while(1){if(!((n|0)<(w|0)&(m|0)>0))break;if((m|0)<7){k=c[1050576+(m<<4)+4>>2]|0;i=c[l>>2]|0;p=(c[g>>2]|0)+(i>>>3)|0;p=(W_(d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24|0)|0)<<(i&7)>>>29;q=b[k+(p<<2)>>1]|0;p=i+(b[k+(p<<2)+2>>1]|0)|0}else{t=c[278125]|0;s=c[l>>2]|0;q=c[g>>2]|0;k=q+(s>>>3)|0;k=(W_(d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24|0)|0)<<(s&7)>>>26;p=b[t+(k<<2)>>1]|0;k=b[t+(k<<2)+2>>1]|0;r=k<<16>>16;if(k<<16>>16<0){s=s+6|0;k=q+(s>>>3)|0;p=((W_(d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24|0)|0)<<(s&7)>>>(r+32|0))+p|0;r=b[t+(p<<2)+2>>1]|0;p=b[t+(p<<2)>>1]|0}q=p;p=r+s|0}c[l>>2]=p;k=o+~q|0;c[h+(d[k>>0]<<2)>>2]=c[x+(n<<2)>>2];o=k;m=m-q|0;n=n+1|0}while(1){if((n|0)>=(w|0))break c;g=o+-1|0;c[h+(d[g>>0]<<2)>>2]=c[x+(n<<2)>>2];o=g;n=n+1|0}}else{l=d[o>>0]|0;n=(H(c[k+(l<<2)>>2]|0,p)|0)+32>>6;c[h+(l<<2)>>2]=n;l=g+8|0;n=1;while(1){if(!((n|0)<(w|0)&(m|0)>0))break;if((m|0)<7){i=c[1050576+(m<<4)+4>>2]|0;j=c[l>>2]|0;p=(c[g>>2]|0)+(j>>>3)|0;p=(W_(d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24|0)|0)<<(j&7)>>>29;q=b[i+(p<<2)>>1]|0;p=j+(b[i+(p<<2)+2>>1]|0)|0}else{t=c[278125]|0;s=c[l>>2]|0;q=c[g>>2]|0;i=q+(s>>>3)|0;i=(W_(d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24|0)|0)<<(s&7)>>>26;p=b[t+(i<<2)>>1]|0;i=b[t+(i<<2)+2>>1]|0;r=i<<16>>16;if(i<<16>>16<0){s=s+6|0;i=q+(s>>>3)|0;p=((W_(d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24|0)|0)<<(s&7)>>>(r+32|0))+p|0;r=b[t+(p<<2)+2>>1]|0;p=b[t+(p<<2)>>1]|0}q=p;p=r+s|0}c[l>>2]=p;i=o+~q|0;j=d[i>>0]|0;v=(H(c[k+(j<<2)>>2]|0,c[x+(n<<2)>>2]|0)|0)+32>>6;c[h+(j<<2)>>2]=v;o=i;m=m-q|0;n=n+1|0}while(1){if((n|0)>=(w|0))break c;g=o+-1|0;i=d[g>>0]|0;j=(H(c[k+(i<<2)>>2]|0,c[x+(n<<2)>>2]|0)|0)+32>>6;c[h+(i<<2)>>2]=j;o=g;n=n+1|0}}while(0);if((m|0)<0){m=c[e+4>>2]|0;e=c[f+21792>>2]|0;c[y>>2]=c[f+21788>>2];c[y+4>>2]=e;AD(m,16,205431,y);m=-1}else m=0}else m=0;while(0);Mb=z;return m|0}
|
|
function gC(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=e+36|0;g=e+31|0;a[f>>0]=a[g>>0]|0;a[f+1>>0]=a[g+1>>0]|0;a[f+2>>0]=a[g+2>>0]|0;a[f+3>>0]=a[g+3>>0]|0;a[f+4>>0]=a[g+4>>0]|0;f=b+310120|0;b=0;while(1){if(b>>>0>=(c[f>>2]|0)>>>0)break;g=(HG(d,2)|0)&255;a[e+31+b>>0]=g;b=b+1|0}return}function hC(a){a=a|0;var b=0,d=0,e=0,f=0;b=a+6472|0;d=a+6728|0;if((c[d>>2]|0)!=4?c[a+6464>>2]|0:0){Mn(b|0,a+6208|0,264)|0;b=c[a+4>>2]|0;c[b+420>>2]=c[a+6716>>2];f=a+6720|0;e=c[f+4>>2]|0;b=b+448|0;c[b>>2]=c[f>>2];c[b+4>>2]=e;$i(a,a+6520|0,c[a+6712>>2]|0,c[d>>2]|0,0)|0}return}function iC(a){a=a|0;var b=0,d=0,e=0,f=0;b=0;while(1){if(b>>>0>=12){b=-1;break}d=c[96896+(b<<2)>>2]|0;if(!(HD(c[a>>2]|0,d,3)|0)){e=4;break}b=b+1|0}if((e|0)==4){e=d+3|0;f=nA(e)|0;d=(c[a>>2]|0)+3|0;c[a>>2]=d;if((f|0)>0?(HD(d,e,f)|0)==0:0)c[a>>2]=(c[a>>2]|0)+f}return b|0}function jC(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0;j=0;while(1){if((j|0)==16)break;if(!(a[i+(d[91792+j>>0]|0)>>0]|0)){k=g+(j<<4<<1)|0;if(b[k>>1]|0)vE(e+(c[f+(j<<2)>>2]|0)|0,k,h)}else Hn(e+(c[f+(j<<2)>>2]|0)|0,g+(j<<4<<1)|0,h);j=j+1|0}return}function kC(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0;i=0;while(1){if((i|0)==16)break;if(!(a[h+(d[91792+i>>0]|0)>>0]|0)){if(c[f+(i<<4<<2)>>2]|0)lD(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g)}else Ym(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g);i=i+1|0}return}function lC(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0;i=0;while(1){if((i|0)==16)break;if(!(a[h+(d[91792+i>>0]|0)>>0]|0)){if(c[f+(i<<4<<2)>>2]|0)mD(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g)}else _m(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g);i=i+1|0}return}function mC(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0;i=0;while(1){if((i|0)==16)break;if(!(a[h+(d[91792+i>>0]|0)>>0]|0)){if(c[f+(i<<4<<2)>>2]|0)nD(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g)}else $m(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g);i=i+1|0}return}function nC(a,b,c,e,f){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0;h=1;a=0;while(1){if((h|0)>=(f|0))break;g=0;while(1){if((g|0)==16)break;i=g+e|0;i=(d[b+g>>0]|0)-(d[c+g>>0]|0)-(d[b+i>>0]|0)+(d[c+i>>0]|0)|0;g=g+1|0;a=(H(i,i)|0)+a|0}h=h+1|0;b=b+e|0;c=c+e|0}return a|0}function oC(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;g=Mb;Mb=Mb+256|0;f=g;if((c|0)>(d|0)&(e&73728|0)==0){e=c-d|0;jv(f|0,b<<24>>24|0,(e>>>0<256?e:256)|0)|0;if(e>>>0>255){b=c-d|0;do{QY(a,f,256);e=e+-256|0}while(e>>>0>255);e=b&255}QY(a,f,e)}Mb=g;return}function pC(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+21864>>2]|0;f=c[a+21860>>2]|0;d=a+32856|0;e=BA(d,76-(f>>>1&2|b>>>1&1)+(a+32904)|0)|0;e=((BA(d,76-(f>>>2&2|e&1)+(a+32904)|0)|0)<<1)+e|0;b=e+((BA(d,76-(e<<1&2|b>>>3&1)+(a+32904)|0)|0)<<2)|0;return b+((BA(d,76-(b>>>2&1|b&2)+(a+32904)|0)|0)<<3)|0}function qC(a,b,c,e,f){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0;h=1;a=0;while(1){if((h|0)>=(f|0))break;g=0;while(1){if((g|0)==8)break;i=g+e|0;i=(d[b+g>>0]|0)-(d[c+g>>0]|0)-(d[b+i>>0]|0)+(d[c+i>>0]|0)|0;g=g+1|0;a=(H(i,i)|0)+a|0}h=h+1|0;b=b+e|0;c=c+e|0}return a|0}function rC(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0;i=0;while(1){if((i|0)==16)break;if(!(a[h+(d[91792+i>>0]|0)>>0]|0)){if(c[f+(i<<4<<2)>>2]|0)tD(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g)}else cn(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g);i=i+1|0}return}function sC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=a+112|0;c[f>>2]=b;c[f+4>>2]=d;f=c[a+8>>2]|0;e=c[a+4>>2]|0;g=f-e|0;h=((g|0)<0)<<31>>31;i=a+120|0;c[i>>2]=g;c[i+4>>2]=h;if(((b|0)!=0|(d|0)!=0)&((h|0)>(d|0)|(h|0)==(d|0)&g>>>0>b>>>0))c[a+104>>2]=e+b;else c[a+104>>2]=f;return}function tC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=Mb;Mb=Mb+16|0;f=h;g=h+8|0;e=c[a+4>>2]|0;if(c[e+680>>2]&2048|0){i=c[a+29540>>2]|0;c[f>>2]=b;c[f+4>>2]=i;AD(e,48,207225,f)}b=dx(a,b,g)|0;if(b|0?JD(a,b,d)|0:0)_P(a,c[g>>2]|0);Mb=h;return b|0}function uC(a,b){a=a|0;b=b|0;var d=0,e=0;d=b>>1;b=a;a=0;while(1){if((a|0)==16)break;e=b;c[e>>2]=536944641;c[e+4>>2]=536944641;e=b+8|0;c[e>>2]=536944641;c[e+4>>2]=536944641;e=b+16|0;c[e>>2]=536944641;c[e+4>>2]=536944641;e=b+24|0;c[e>>2]=536944641;c[e+4>>2]=536944641;b=b+(d<<1)|0;a=a+1|0}return}function vC(a,b){a=a|0;b=b|0;var d=0,e=0;d=b>>1;b=a;a=0;while(1){if((a|0)==16)break;e=b;c[e>>2]=134285313;c[e+4>>2]=134285313;e=b+8|0;c[e>>2]=134285313;c[e+4>>2]=134285313;e=b+16|0;c[e>>2]=134285313;c[e+4>>2]=134285313;e=b+24|0;c[e>>2]=134285313;c[e+4>>2]=134285313;b=b+(d<<1)|0;a=a+1|0}return}function wC(a,b){a=a|0;b=b|0;var d=0,e=0;d=b>>1;b=a;a=0;while(1){if((a|0)==16)break;e=b;c[e>>2]=536879104;c[e+4>>2]=536879104;e=b+8|0;c[e>>2]=536879104;c[e+4>>2]=536879104;e=b+16|0;c[e>>2]=536879104;c[e+4>>2]=536879104;e=b+24|0;c[e>>2]=536879104;c[e+4>>2]=536879104;b=b+(d<<1)|0;a=a+1|0}return}function xC(a,b){a=a|0;b=b|0;var d=0,e=0;d=b>>1;b=a;a=0;while(1){if((a|0)==16)break;e=b;c[e>>2]=134219776;c[e+4>>2]=134219776;e=b+8|0;c[e>>2]=134219776;c[e+4>>2]=134219776;e=b+16|0;c[e>>2]=134219776;c[e+4>>2]=134219776;e=b+24|0;c[e>>2]=134219776;c[e+4>>2]=134219776;b=b+(d<<1)|0;a=a+1|0}return}function yC(a,b){a=a|0;b=b|0;var d=0,e=0;d=b>>1;b=a;a=0;while(1){if((a|0)==16)break;e=b;c[e>>2]=536813567;c[e+4>>2]=536813567;e=b+8|0;c[e>>2]=536813567;c[e+4>>2]=536813567;e=b+16|0;c[e>>2]=536813567;c[e+4>>2]=536813567;e=b+24|0;c[e>>2]=536813567;c[e+4>>2]=536813567;b=b+(d<<1)|0;a=a+1|0}return}function zC(a,b){a=a|0;b=b|0;var d=0,e=0;d=b>>1;b=a;a=0;while(1){if((a|0)==16)break;e=b;c[e>>2]=134154239;c[e+4>>2]=134154239;e=b+8|0;c[e>>2]=134154239;c[e+4>>2]=134154239;e=b+16|0;c[e>>2]=134154239;c[e+4>>2]=134154239;e=b+24|0;c[e>>2]=134154239;c[e+4>>2]=134154239;b=b+(d<<1)|0;a=a+1|0}return}function AC(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0;g=e<<1;b=e*3|0;f=H((d[a+(0-e)>>0]|0)+4+(d[a+(1-e)>>0]|0)+(d[a+(2-e)>>0]|0)+(d[a+(3-e)>>0]|0)+(d[a+-1>>0]|0)+(d[a+(e+-1)>>0]|0)+(d[a+(g+-1)>>0]|0)+(d[a+(b+-1)>>0]|0)>>3,16843009)|0;c[a>>2]=f;c[a+e>>2]=f;c[a+g>>2]=f;c[a+b>>2]=f;return}function BC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=Mb;Mb=Mb+80|0;e=i;f=a+100|0;g=a+152|0;while(1){if((l1(c[f>>2]|0)|0)>=(d|0)){h=5;break}if((it(g,e)|0)!=1){a=0;break}kf(a,e);BX(e)}if((h|0)==5)a=By(c[f>>2]|0,b,d)|0;Mb=i;return a|0}function CC(a){a=a|0;var b=0,d=0,e=0,f=0;switch(c[a+80>>2]|0){case 6:{b=42;d=43;e=38;f=5;break}case 7:{b=44;d=45;e=39;f=5;break}case 8:{b=46;d=47;e=40;f=5;break}case 9:{b=48;d=49;e=41;f=5;break}default:{}}if((f|0)==5){c[a+96>>2]=e;c[a+100>>2]=b;c[a+104>>2]=d}return}function DC(a,b){a=a|0;b=b|0;var d=0;d=a+8|0;a=c[d>>2]|0;do if(!(c[a+4>>2]|0)){a=c[a>>2]|0;if((c[a+24>>2]|0)==0?(c[a+44>>2]|0)==0:0){a=-11;break}a=A$()|0;if(!a)a=-12;else{c[b>>2]=c[c[d>>2]>>2];c[c[d>>2]>>2]=a;a=0}}else a=-541478725;while(0);return a|0}function EC(a,b,d,e,f,g,h){a=a|0;b=b|0;d=+d;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;i=Mb;Mb=Mb+16|0;j=i;h=jn(a,b,0,0,h,j)|0;b=c[j>>2]|0;if((h|0)!=0&(b|0)!=0)if(!(c[h+40>>2]&128))b=Pe(a,h,b+(c[h+8>>2]|0)|0,d,e,f,g)|0;else b=-22;else b=-1414549496;Mb=i;return b|0}function FC(a){a=a|0;var b=0,d=0.0,e=0,g=0,h=0.0;b=1<<a;d=6.283185307179586/+(b|0);e=c[83248+(a<<2)>>2]|0;g=(b|0)/4|0;a=0;while(1){if((a|0)>(g|0))break;h=+x(+(d*+(a|0)));f[e+(a<<2)>>2]=h;a=a+1|0}b=(b|0)/2|0;a=1;while(1){if((a|0)>=(g|0))break;c[e+(b-a<<2)>>2]=c[e+(a<<2)>>2];a=a+1|0}return}function GC(a,b){a=a|0;b=b|0;var d=0,e=0;d=b>>1;b=a;a=0;while(1){if((a|0)==16)break;e=b;c[e>>2]=33620481;c[e+4>>2]=33620481;e=b+8|0;c[e>>2]=33620481;c[e+4>>2]=33620481;e=b+16|0;c[e>>2]=33620481;c[e+4>>2]=33620481;e=b+24|0;c[e>>2]=33620481;c[e+4>>2]=33620481;b=b+(d<<1)|0;a=a+1|0}return}function HC(a,b){a=a|0;b=b|0;var d=0,e=0;d=b>>1;b=a;a=0;while(1){if((a|0)==16)break;e=b;c[e>>2]=33554944;c[e+4>>2]=33554944;e=b+8|0;c[e>>2]=33554944;c[e+4>>2]=33554944;e=b+16|0;c[e>>2]=33554944;c[e+4>>2]=33554944;e=b+24|0;c[e>>2]=33554944;c[e+4>>2]=33554944;b=b+(d<<1)|0;a=a+1|0}return}function IC(a,b){a=a|0;b=b|0;var d=0,e=0;d=b>>1;b=a;a=0;while(1){if((a|0)==16)break;e=b;c[e>>2]=33489407;c[e+4>>2]=33489407;e=b+8|0;c[e>>2]=33489407;c[e+4>>2]=33489407;e=b+16|0;c[e>>2]=33489407;c[e+4>>2]=33489407;e=b+24|0;c[e>>2]=33489407;c[e+4>>2]=33489407;b=b+(d<<1)|0;a=a+1|0}return}function JC(a,b){a=a|0;b=b|0;var d=0,e=0;d=b>>1;b=a;a=0;while(1){if((a|0)==16)break;e=b;c[e>>2]=16777472;c[e+4>>2]=16777472;e=b+8|0;c[e>>2]=16777472;c[e+4>>2]=16777472;e=b+16|0;c[e>>2]=16777472;c[e+4>>2]=16777472;e=b+24|0;c[e>>2]=16777472;c[e+4>>2]=16777472;b=b+(d<<1)|0;a=a+1|0}return}function KC(a,b){a=a|0;b=b|0;var d=0,e=0;d=b>>1;b=a;a=0;while(1){if((a|0)==16)break;e=b;c[e>>2]=16711935;c[e+4>>2]=16711935;e=b+8|0;c[e>>2]=16711935;c[e+4>>2]=16711935;e=b+16|0;c[e>>2]=16711935;c[e+4>>2]=16711935;e=b+24|0;c[e>>2]=16711935;c[e+4>>2]=16711935;b=b+(d<<1)|0;a=a+1|0}return}function LC(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0;h=d>>>1;g=0;while(1){if((g|0)==32)break;d=0;f=c;while(1){if((d|0)==32)break;i=a+(d<<1)|0;j=(b[f>>1]|0)+(e[i>>1]|0)|0;b[i>>1]=j>>>0<4096?j:0-j>>31&4095;d=d+1|0;f=f+2|0}a=a+(h<<1)|0;g=g+1|0;c=c+64|0}return}function MC(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0;h=d>>>1;g=0;while(1){if((g|0)==32)break;d=0;f=c;while(1){if((d|0)==32)break;i=a+(d<<1)|0;j=(b[f>>1]|0)+(e[i>>1]|0)|0;b[i>>1]=j>>>0<1024?j:0-j>>31&1023;d=d+1|0;f=f+2|0}a=a+(h<<1)|0;g=g+1|0;c=c+64|0}return}function NC(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0;h=d>>>1;g=0;while(1){if((g|0)==16)break;d=0;f=c;while(1){if((d|0)==16)break;i=a+(d<<1)|0;j=(b[f>>1]|0)+(e[i>>1]|0)|0;b[i>>1]=j>>>0<4096?j:0-j>>31&4095;d=d+1|0;f=f+2|0}a=a+(h<<1)|0;g=g+1|0;c=c+32|0}return}function OC(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0;h=d>>>1;g=0;while(1){if((g|0)==16)break;d=0;f=c;while(1){if((d|0)==16)break;i=a+(d<<1)|0;j=(b[f>>1]|0)+(e[i>>1]|0)|0;b[i>>1]=j>>>0<1024?j:0-j>>31&1023;d=d+1|0;f=f+2|0}a=a+(h<<1)|0;g=g+1|0;c=c+32|0}return}function PC(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;h=a+12|0;i=a+4|0;j=(e|0)==0;do{f=c[i>>2]|0;g=(c[h>>2]|0)-f|0;g=(g|0)>(d|0)?d:g;if(j){Mn(b|0,f|0,g|0)|0;b=b+g|0}else gc[e&1023](b,f,g);jP(a,g);d=d-g|0}while((d|0)>0);return 0}function QC(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0;h=(c[d>>2]|0)+32>>6;c[d>>2]=0;g=f>>>1;f=a;a=0;while(1){if((a|0)==8)break;d=0;while(1){if((d|0)==8)break;i=f+(d<<1)|0;j=h+(e[i>>1]|0)|0;b[i>>1]=j>>>0<16384?j:0-j>>31&16383;d=d+1|0}f=f+(g<<1)|0;a=a+1|0}return}function RC(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;i=Mb;Mb=Mb+128|0;h=i;hc[c[a+2964>>2]&255](h,d,e,f);dc[c[a+2032>>2]&63](h);g=0;a=0;while(1){if((g|0)==64)break;f=b[h+(g<<1)>>1]|0;f=(f|0)>-1?f:0-f|0;g=g+1|0;a=(a|0)>(f|0)?a:f}Mb=i;return a|0}function SC(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0;f=0;while(1){if((f|0)==4)break;h=b;i=h;h=h+4|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=a;c[g>>2]=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;c[g+4>>2]=h;f=f+1|0;b=b+e|0;a=a+e|0}return}function TC(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=c[a+1412>>2]|0;i=((c[f+13376>>2]|0)-e|0)<=(b|0);f=((c[f+13380>>2]|0)-e|0)<=(d|0);g=(d|0)!=0;h=(b|0)!=0;if(h&g)Pt(a,b-e|0,d-e|0,e);if(g&i)Pt(a,b,d-e|0,e);if(h&f)Pt(a,b-e|0,d,e);return}function UC(a,b){a=a|0;b=b|0;var d=0;d=c[b>>2]|0;if(d|0?c[d+248>>2]|0:0){Ws(c[a+4>>2]|0,b+4|0);F$(b+52|0);d=b+20|0;F$(d);F$(b+44|0);a=0;while(1){if((a|0)==2)break;F$(b+28+(a<<2)|0);F$(b+60+(a<<2)|0);a=a+1|0}jv(d|0,0,636)|0}return}function VC(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0;h=d>>>1;g=0;while(1){if((g|0)==32)break;d=0;f=c;while(1){if((d|0)==32)break;i=a+(d<<1)|0;j=(b[f>>1]|0)+(e[i>>1]|0)|0;b[i>>1]=j>>>0<512?j:0-j>>31&511;d=d+1|0;f=f+2|0}a=a+(h<<1)|0;g=g+1|0;c=c+64|0}return}function WC(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0;h=d>>>1;g=0;while(1){if((g|0)==16)break;d=0;f=c;while(1){if((d|0)==16)break;i=a+(d<<1)|0;j=(b[f>>1]|0)+(e[i>>1]|0)|0;b[i>>1]=j>>>0<512?j:0-j>>31&511;d=d+1|0;f=f+2|0}a=a+(h<<1)|0;g=g+1|0;c=c+32|0}return}function XC(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0;h=(c[d>>2]|0)+32>>6;c[d>>2]=0;g=f>>>1;f=a;a=0;while(1){if((a|0)==8)break;d=0;while(1){if((d|0)==8)break;i=f+(d<<1)|0;j=h+(e[i>>1]|0)|0;b[i>>1]=j>>>0<4096?j:0-j>>31&4095;d=d+1|0}f=f+(g<<1)|0;a=a+1|0}return}function YC(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0;h=(c[d>>2]|0)+32>>6;c[d>>2]=0;g=f>>>1;f=a;a=0;while(1){if((a|0)==8)break;d=0;while(1){if((d|0)==8)break;i=f+(d<<1)|0;j=h+(e[i>>1]|0)|0;b[i>>1]=j>>>0<1024?j:0-j>>31&1023;d=d+1|0}f=f+(g<<1)|0;a=a+1|0}return}function ZC(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0;h=d>>>1;g=0;while(1){if((g|0)==8)break;d=0;f=c;while(1){if((d|0)==8)break;i=a+(d<<1)|0;j=(b[f>>1]|0)+(e[i>>1]|0)|0;b[i>>1]=j>>>0<4096?j:0-j>>31&4095;d=d+1|0;f=f+2|0}a=a+(h<<1)|0;g=g+1|0;c=c+16|0}return}function _C(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0;h=d>>>1;g=0;while(1){if((g|0)==8)break;d=0;f=c;while(1){if((d|0)==8)break;i=a+(d<<1)|0;j=(b[f>>1]|0)+(e[i>>1]|0)|0;b[i>>1]=j>>>0<1024?j:0-j>>31&1023;d=d+1|0;f=f+2|0}a=a+(h<<1)|0;g=g+1|0;c=c+16|0}return}function $C(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=Mb;Mb=Mb+16|0;e=f;d=a+28|0;if(!(mT(d)|0)){h=HG(d,2)|0;g=a+68|0;c[g>>2]=h;d=HG(d,5)|0;c[a+48>>2]=d;a=c[g>>2]|0;c[e>>2]=d;c[e+4>>2]=a;AD(b,48,204779,e);a=1}else a=-1094995529;Mb=f;return a|0}function aD(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0;h=d>>>1;g=0;while(1){if((g|0)==4)break;d=0;f=c;while(1){if((d|0)==4)break;i=a+(d<<1)|0;j=(b[f>>1]|0)+(e[i>>1]|0)|0;b[i>>1]=j>>>0<4096?j:0-j>>31&4095;d=d+1|0;f=f+2|0}a=a+(h<<1)|0;g=g+1|0;c=c+8|0}return}function bD(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0;h=d>>>1;g=0;while(1){if((g|0)==4)break;d=0;f=c;while(1){if((d|0)==4)break;i=a+(d<<1)|0;j=(b[f>>1]|0)+(e[i>>1]|0)|0;b[i>>1]=j>>>0<1024?j:0-j>>31&1023;d=d+1|0;f=f+2|0}a=a+(h<<1)|0;g=g+1|0;c=c+8|0}return}function cD(a){a=a|0;var b=0,e=0,f=0,g=0;b=a+8|0;e=c[b>>2]|0;g=(c[a>>2]|0)+(e>>>3)|0;g=(W_(d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24|0)|0)<<(e&7);a=g>>>0>65535;g=a?g>>>16:g;a=a?16:0;f=(g&65280|0)==0;a=32-(d[94448+(f?g:g>>>8)>>0]|0)-(f?a:a|8)|0;c[b>>2]=a+e;return a+-1|0}function dD(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0;h=(c[d>>2]|0)+32>>6;c[d>>2]=0;g=f>>>1;f=a;a=0;while(1){if((a|0)==8)break;d=0;while(1){if((d|0)==8)break;i=f+(d<<1)|0;j=h+(e[i>>1]|0)|0;b[i>>1]=j>>>0<512?j:0-j>>31&511;d=d+1|0}f=f+(g<<1)|0;a=a+1|0}return}function eD(a){a=a|0;var b=0;b=a+8|0;c[b>>2]=0;c[b+4>>2]=-2147483648;b=a+16|0;c[b>>2]=0;c[b+4>>2]=-2147483648;b=a+56|0;c[b>>2]=-1;c[b+4>>2]=-1;b=a+64|0;c[b>>2]=0;c[b+4>>2]=0;b=a+32|0;c[a>>2]=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;return}function fD(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0;h=d>>>1;g=0;while(1){if((g|0)==8)break;d=0;f=c;while(1){if((d|0)==8)break;i=a+(d<<1)|0;j=(b[f>>1]|0)+(e[i>>1]|0)|0;b[i>>1]=j>>>0<512?j:0-j>>31&511;d=d+1|0;f=f+2|0}a=a+(h<<1)|0;g=g+1|0;c=c+16|0}return}function gD(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0;h=d>>>1;g=0;while(1){if((g|0)==4)break;d=0;f=c;while(1){if((d|0)==4)break;i=a+(d<<1)|0;j=(b[f>>1]|0)+(e[i>>1]|0)|0;b[i>>1]=j>>>0<512?j:0-j>>31&511;d=d+1|0;f=f+2|0}a=a+(h<<1)|0;g=g+1|0;c=c+8|0}return}function hD(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;j=c[b>>2]|0;h=j;g=0;i=0;while(1){if((i|0)>=(f|0))break;k=a[h>>0]|0;if(!(n1(k)|0))break;h=h+1|0;g=(g*10|0)+-48+k|0;i=i+1|0}if((h|0)!=(j|0)?!((g|0)<(d|0)|(g|0)>(e|0)):0)c[b>>2]=h;else g=-1;return g|0}function iD(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;e=0;f=0;while(1){if((f|0)==16)break;g=a+((H(f,b)|0)+-1)|0;e=e+(d[g>>0]|0)|0;f=f+1|0}f=H((e+8|0)>>>4,16843009)|0;e=0;while(1){if((e|0)==16)break;c[a>>2]=f;c[a+4>>2]=f;c[a+8>>2]=f;c[a+12>>2]=f;a=a+b|0;e=e+1|0}return}function jD(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;l=Mb;Mb=Mb+32|0;j=l+16|0;k=l;i=0;while(1){if((i|0)==4)break;c[j+(i<<2)>>2]=c[b+(i<<2)>>2];c[k+(i<<2)>>2]=c[e+(i<<2)>>2];i=i+1|0}Rp(a,j,d,k,f,g,h,73);Mb=l;return}function kD(a,b){a=a|0;b=+b;var d=0,e=0.0;b=b*-3.141592653589793/180.0;e=+x(+b);b=+y(+b);d=a+8|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;d=~~(e*65536.0);c[a>>2]=d;c[a+4>>2]=~~(b*-65536.0);c[a+12>>2]=~~(b*65536.0);c[a+16>>2]=d;c[a+32>>2]=1073741824;return}function lD(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0;h=(c[d>>2]|0)+32>>6;g=f>>>1;c[d>>2]=0;d=0;while(1){if((d|0)==4)break;f=0;while(1){if((f|0)==4)break;i=a+(f<<1)|0;j=h+(e[i>>1]|0)|0;b[i>>1]=j>>>0<16384?j:0-j>>31&16383;f=f+1|0}a=a+(g<<1)|0;d=d+1|0}return}function mD(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0;h=(c[d>>2]|0)+32>>6;g=f>>>1;c[d>>2]=0;d=0;while(1){if((d|0)==4)break;f=0;while(1){if((f|0)==4)break;i=a+(f<<1)|0;j=h+(e[i>>1]|0)|0;b[i>>1]=j>>>0<4096?j:0-j>>31&4095;f=f+1|0}a=a+(g<<1)|0;d=d+1|0}return}function nD(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0;h=(c[d>>2]|0)+32>>6;g=f>>>1;c[d>>2]=0;d=0;while(1){if((d|0)==4)break;f=0;while(1){if((f|0)==4)break;i=a+(f<<1)|0;j=h+(e[i>>1]|0)|0;b[i>>1]=j>>>0<1024?j:0-j>>31&1023;f=f+1|0}a=a+(g<<1)|0;d=d+1|0}return}function oD(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=f+696|0;h=f+24312|0;i=j;g=0;while(1){if((g|0)>=(d|0))break;f=c[b+(g<<2)>>2]|0;if((f|0)!=0?f>>>0>=j>>>0&f>>>0<h>>>0:0)f=e+696+(((f-i|0)/656|0)*656|0)|0;else f=0;c[a+(g<<2)>>2]=f;g=g+1|0}return}function pD(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;do if((a|0)<0|(f|0)==0)e=-22;else{if((e+-1|0)>>>0<2)e=d[f+5>>0]|0;else e=0;e=a+-1+(1<<e)>>e;if(e|0?(2147483647/(e|0)|0|0)<(b|0):0){e=-22;break}e=H(e,b)|0;e=(0==0?(c[f+8>>2]&4|0)==0:0)?e:e+7>>3}while(0);return e|0}function qD(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;d=c[a+12>>2]|0;e=c[a+8>>2]|0;g=a+16|0;f=c[g>>2]|0;c[g>>2]=f+1;g=a+112|0;h=a+108|0;b=a+20|0;a=f;do{jc[c[g>>2]&255](c[h>>2]|0,a,f,d,e);a=c[b>>2]|0;c[b>>2]=a+1}while(a>>>0<d>>>0);return (a|0)==(d+-1+e|0)|0}function rD(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0;g=H(c[b+304>>2]|0,d[b+288>>0]|0)|0;a:do switch(f|0){case 1:{f=0;while(1){if((f|0)>=(g|0))break a;h=(mT(e)|0)&255;a[b+13+f>>0]=h;f=f+1|0}}case 2:{jv(b+13|0,1,g|0)|0;break}default:{}}while(0);return}function sD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=Mb;Mb=Mb+16|0;e=mT(b)|0;d=HG(b,8)|0;if((d|0)==255)d=(HG(b,8)|0)+255|0;if(e|0)gZ(b);d=d<<3;if((a$(b)|0)<(d|0)){AD(c[a+4>>2]|0,16,196899,f);d=-1094995529}else{fS(b,d);d=0}Mb=f;return d|0}function tD(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0;h=(c[d>>2]|0)+32>>6;g=f>>>1;c[d>>2]=0;d=0;while(1){if((d|0)==4)break;f=0;while(1){if((f|0)==4)break;i=a+(f<<1)|0;j=h+(e[i>>1]|0)|0;b[i>>1]=j>>>0<512?j:0-j>>31&511;f=f+1|0}a=a+(g<<1)|0;d=d+1|0}return}function uD(a){a=a|0;bU(a+3500|0);bU(a+3504|0);bU(a+7564|0);bU(a+7568|0);bU(a+7572|0);bU(a+7576|0);bU(a+7580|0);bU(a+7548|0);bU(a+7560|0);bU(a+7584|0);bU(a+7552|0);bU(a+7556|0);bU(a+3092|0);bU(a+3100|0);bU(a+3096|0);KT(a+1420|0);KT(a+1424|0);return}function vD(a,b,d){a=a|0;b=b|0;d=d|0;if(!(c[b+390904>>2]|0)){c[b+72>>2]=c[b+76>>2];c[b+12>>2]=d;tS(b);c[b+14656>>2]=1152;c[b+102624>>2]=1152;xq(b+390884|0,7,1,4.76837158203125e-07)|0;xq(b+390816|0,7,1,-65536.0)|0;Z0(b+176032|0);lJ(b+390952|0);sY(b+391008|0)}return}function wD(){var a=0,b=0,c=0,d=0.0,e=0.0,g=0.0,h=0.0,i=0,j=0;a=8;b=0;c=0;d=8.881784197001252e-16;e=3.637978807091713e-12;while(1){if((c|0)==428)break;i=c<<2&12;j=(c*3|0)+8&15;h=i>>>0<b>>>0?d*2.0:d;g=j>>>0<a>>>0?e*2.0:e;f[878800+(c<<2)>>2]=h*+f[45744+(i<<2)>>2];a=j;b=i;c=c+1|0;d=h;e=g}return}function xD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[d>>2]|0;if((c[e+80>>2]|0)==334?(c[(c[e+248>>2]|0)+8>>2]|0)==1:0)e=-542398533;else{e=hh(b,e)|0;if((e|0)>=0){gh(b+344|0,174466,Qv(a+29836|0)|0,0)|0;if(!(c[d+652>>2]|0)){c[b+84>>2]=1;e=0}else e=0}}return e|0}function yD(a){a=a|0;var b=0;b=0;while(1){if((b|0)==16)break;F$(a+(b<<2)|0);b=b+1|0}b=0;while(1){if((b|0)==32)break;F$(a+64+(b<<2)|0);b=b+1|0}b=0;while(1){if((b|0)==256)break;F$(a+192+(b<<2)|0);b=b+1|0}c[a+1220>>2]=0;c[a+1224>>2]=0;c[a+1216>>2]=0;return}function zD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=(b|0)==2;f=a+24|0;d=0;while(1){if((d|0)==3)break;g=a+(d<<2)|0;h=a+12+(d<<2)|0;if(e)c[g>>2]=(c[g>>2]|0)+(c[h>>2]|0);c[f>>2]=b;c[h>>2]=c[h>>2]<<1;d=d+1|0}c[a+28>>2]=c[(c[a+36>>2]|0)+76+((e&1)<<2)>>2];return}function AD(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=Mb;Mb=Mb+16|0;f=i;if(a){h=c[a>>2]|0;c[f>>2]=e;if(((h|0)!=0?(c[h+12>>2]|0)>3280641:0)?(g=c[h+16>>2]|0,(b|0)>7&(g|0)!=0):0)b=(c[a+g>>2]|0)+b|0}else c[f>>2]=e;AY(a,b,d,f);Mb=i;return}function BD(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=Mb;Mb=Mb+32|0;g=h+4|0;if(!(f>>>0>0|(f|0)==0&e>>>0>2147483647)){d=gP(g,d,e)|0;if((d|0)>=0)d=Fo(a,b,c,g,0,1)|0}else{AD(b,16,198307,h);d=-1094995529}Mb=h;return d|0}function CD(b,c){b=b|0;c=c|0;do if(c){c=WW(d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24,c)|0;if(!c){bU(b);c=-12;break}else{a[b>>0]=c;a[b+1>>0]=c>>8;a[b+2>>0]=c>>16;a[b+3>>0]=c>>24;c=0;break}}else{bU(b);c=0}while(0);return c|0}function DD(a,b){a=a|0;b=b|0;var c=0;c=a-(a>>>1&1431655765)|0;c=(c>>>2&858993459)+(c&858993459)|0;c=(c>>>4)+c&252645135;c=(c>>>8)+c|0;a=kV(a|0,b|0,33)|0;M()|0;b=b-(a&1431655765)|0;b=(b>>>2&858993459)+(b&858993459)|0;b=(b>>>4)+b&252645135;b=(b>>>8)+b|0;return ((c>>>16)+c&63)+((b>>>16)+b&63)|0}function ED(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=d>>1;b=a+(0-f<<1)|0;e=c[b>>2]|0;b=c[b+4>>2]|0;g=a;c[g>>2]=e;c[g+4>>2]=b;g=a+(f<<1)|0;c[g>>2]=e;c[g+4>>2]=b;d=a+((d&-2)<<1)|0;c[d>>2]=e;c[d+4>>2]=b;d=a+(f*3<<1)|0;c[d>>2]=e;c[d+4>>2]=b;return}function FD(a,d,e,f,g,h,i){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0;j=c[f+(g<<2)>>2]|0;f=c[f+(h<<2)>>2]|0;g=0;while(1){if((g|0)>=(i|0))break;h=H(j,b[d+(g<<1)>>1]|0)|0;h=(h+16384+(H(f,b[e+(g<<1)>>1]|0)|0)|0)>>>15&65535;b[a+(g<<1)>>1]=h;g=g+1|0}return}function GD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=(b|0)==0;e=a+24312|0;b=0;while(1){if((b|0)==36)break;f=a+696+(b*656|0)|0;do if(c[(c[f>>2]|0)+248>>2]|0?(c[a+696+(b*656|0)+640>>2]|0)==0:0){if(d?(f|0)==(c[e>>2]|0):0)break;UC(a,f)}while(0);b=b+1|0}return}function HD(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;f=b+d|0;e=b;while(1){d=K0(a[e>>0]|0)|0;e=e+1|0;b=K0(a[c>>0]|0)|0;if(e>>>0>=f>>>0){g=3;break}d=d&255;b=b&255;if(!((d|0)!=0&(d|0)==(b|0)))break;else c=c+1|0}if((g|0)==3){b=b&255;d=d&255}return d-b|0}function ID(a,b){a=a|0;b=b|0;var d=0;d=c[a+80>>2]|0;do if(!((d|0)<0?1:(d|0)!=(c[b+80>>2]|0))){if((c[a+68>>2]|0)>0?(c[a+72>>2]|0)>0:0){a=ru(a,b)|0;break}if((c[a+76>>2]|0)>0?(c[a+352>>2]|0)>0:0)a=Ju(a,b)|0;else a=-22}else a=-22;while(0);return a|0}function JD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=b+640|0;e=c[f>>2]&d;c[f>>2]=e;a:do if(!e){d=0;while(1){e=c[a+28588+(d<<2)>>2]|0;if(!e){d=1;break a}if((e|0)==(b|0))break;else d=d+1|0}c[f>>2]=4;d=1}else d=0;while(0);return d|0}function KD(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0;d=b>>1;b=0;while(1){if((b|0)==16)break;f=H(b,d)|0;h=MR(e[a+(f+-1<<1)>>1]|0|0,0,65537,65537)|0;g=M()|0;f=a+(f<<1)|0;i=f;c[i>>2]=h;c[i+4>>2]=g;f=f+8|0;c[f>>2]=h;c[f+4>>2]=g;b=b+1|0}return}function LD(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0;g=0;while(1){if((g|0)>=(f|0))break;c[a>>2]=d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24;h=b+4|0;c[a+4>>2]=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=g+1|0;a=a+e|0;b=b+e|0}return}function MD(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=Gh(a,b,c,d,8)|0;f=(Gh(a,b+8|0,c+8|0,d,8)|0)+f|0;h=d<<3;g=b+h|0;b=c+h|0;if((e|0)==16){f=(Gh(a,g,b,d,8)|0)+f|0;f=f+(Gh(a,g+8|0,b+8|0,d,8)|0)|0}return f|0}function ND(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0;d=b>>1;b=0;while(1){if((b|0)==8)break;f=H(b,d)|0;h=MR(e[a+(f+-1<<1)>>1]|0|0,0,65537,65537)|0;g=M()|0;f=a+(f<<1)|0;i=f;c[i>>2]=h;c[i+4>>2]=g;f=f+8|0;c[f>>2]=h;c[f+4>>2]=g;b=b+1|0}return}function OD(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=c[(c[a+64>>2]|0)+20>>2]|0;g=c[f+28>>2]|0;a=f+44|0;d2((c[a>>2]|0)+(d*28|0)|0)|0;b=g+(b<<2)|0;c[b>>2]=(c[b>>2]|0)+e;xb((c[f+40>>2]|0)+(d*48|0)|0)|0;d2((c[a>>2]|0)+(d*28|0)|0)|0;return}function PD(c,e,f){c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;i=0;while(1){if((i|0)==32)break;g=0;h=e;while(1){if((g|0)==32)break;j=c+g|0;k=(b[h>>1]|0)+(d[j>>0]|0)|0;a[j>>0]=k>>>0>255?0-k>>31:k;g=g+1|0;h=h+2|0}c=c+f|0;i=i+1|0;e=e+64|0}return}function QD(c,e,f){c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;i=0;while(1){if((i|0)==16)break;g=0;h=e;while(1){if((g|0)==16)break;j=c+g|0;k=(b[h>>1]|0)+(d[j>>0]|0)|0;a[j>>0]=k>>>0>255?0-k>>31:k;g=g+1|0;h=h+2|0}c=c+f|0;i=i+1|0;e=e+32|0}return}function RD(a){a=a|0;var b=0,d=0;d=Mb;Mb=Mb+16|0;b=d;c[b>>2]=0;do if((2147483647+-32|0)>>>0>=a>>>0){if(!a){a=RD(1)|0;c[b>>2]=a;break}if(!(EB(b,16,a)|0)){a=c[b>>2]|0;break}else{c[b>>2]=0;a=0;break}}else a=0;while(0);Mb=d;return a|0}function SD(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=Tg(a,b,c,d,8)|0;f=(Tg(a,b+8|0,c+8|0,d,8)|0)+f|0;h=d<<3;g=b+h|0;b=c+h|0;if((e|0)==16){f=(Tg(a,g,b,d,8)|0)+f|0;f=f+(Tg(a,g+8|0,b+8|0,d,8)|0)|0}return f|0}function TD(a,c,d,f,g,h,i){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0;j=d>>>1;h=a;d=0;while(1){if((d|0)>=(f|0))break;g=0;while(1){if((g|0)>=(i|0))break;b[h+(g<<1)>>1]=(e[c+(g<<1)>>1]|0)<<2;g=g+1|0}h=h+128|0;c=c+(j<<1)|0;d=d+1|0}return}function UD(a,c,d,f,g,h,i){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0;j=d>>>1;h=a;d=0;while(1){if((d|0)>=(f|0))break;g=0;while(1){if((g|0)>=(i|0))break;b[h+(g<<1)>>1]=(e[c+(g<<1)>>1]|0)<<4;g=g+1|0}h=h+128|0;c=c+(j<<1)|0;d=d+1|0}return}function VD(c,e,f){c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;i=0;while(1){if((i|0)==8)break;g=0;h=e;while(1){if((g|0)==8)break;j=c+g|0;k=(b[h>>1]|0)+(d[j>>0]|0)|0;a[j>>0]=k>>>0>255?0-k>>31:k;g=g+1|0;h=h+2|0}c=c+f|0;i=i+1|0;e=e+16|0}return}function WD(a,c,d,e,f,g){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;i=c>>>1;j=12-g|0;c=0;while(1){if((c|0)>=(e|0))break;h=0;while(1){if((h|0)>=(d|0))break;k=(HG(f,g)|0)<<j&65535;b[a+(h<<1)>>1]=k;h=h+1|0}a=a+(i<<1)|0;c=c+1|0}return}function XD(a,c,d,e,f,g){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;i=c>>>1;j=10-g|0;c=0;while(1){if((c|0)>=(e|0))break;h=0;while(1){if((h|0)>=(d|0))break;k=(HG(f,g)|0)<<j&65535;b[a+(h<<1)>>1]=k;h=h+1|0}a=a+(i<<1)|0;c=c+1|0}return}function YD(a,c,d,f,g,h,i){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0;j=d>>>1;h=a;d=0;while(1){if((d|0)>=(f|0))break;g=0;while(1){if((g|0)>=(i|0))break;b[h+(g<<1)>>1]=(e[c+(g<<1)>>1]|0)<<5;g=g+1|0}h=h+128|0;c=c+(j<<1)|0;d=d+1|0}return}function ZD(){var a=0,b=0,d=0;a=Ga(211835)|0;do if((Ga(211840)|0)==0?(Ga(211849)|0)==0:0){if(a|0?FR(2)|0:0){b=1;break}b=(Ga(211870)|0)!=0&1}else b=0;while(0);c[41813]=b;if(!(Ga(211889)|0)){if(a|0?Tv(a,211911)|0:0)d=9}else d=9;if((d|0)==9)c[41813]=b<<8;return}function _D(c,e,f){c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;i=0;while(1){if((i|0)==4)break;g=0;h=e;while(1){if((g|0)==4)break;j=c+g|0;k=(b[h>>1]|0)+(d[j>>0]|0)|0;a[j>>0]=k>>>0>255?0-k>>31:k;g=g+1|0;h=h+2|0}c=c+f|0;i=i+1|0;e=e+8|0}return}function $D(a,c,e,f,g){a=a|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=0;while(1){if((h|0)==2)break;i=c+(H(h,g)|0)|0;j=e+(h<<1)|0;j=(b0((d[i>>0]|d[i+1>>0]<<8)&65535,(d[j>>0]|d[j+1>>0]<<8)&65535)|0)&65535;i=a+(H(h,f)|0)|0;b[i>>1]=j;h=h+1|0}return}function aE(a){a=a|0;var b=0,d=0,e=0,f=0;f=Mb;Mb=Mb+16|0;b=f;e=c[a>>2]|0;while(1){c[b>>2]=e;d=e;if(!e)break;e=c[d+72>>2]|0;BX(d);bU(b)}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;Mb=f;return}function bE(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((e|0)>=1){eW(d,1);f=HG(d,1)|0;eW(d,6);if(f)if((e|0)<2)b=-1094995529;else{eW(d,4);f=(HG(d,4)|0)&255;a[b+4>>0]=f;c[b>>2]=1;b=0}else b=0}else b=-1094995529;return b|0}function cE(a,c,d,e,f,g){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;i=c>>>1;j=9-g|0;c=0;while(1){if((c|0)>=(e|0))break;h=0;while(1){if((h|0)>=(d|0))break;k=(HG(f,g)|0)<<j&65535;b[a+(h<<1)>>1]=k;h=h+1|0}a=a+(i<<1)|0;c=c+1|0}return}function dE(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;e=0;f=0;while(1){if((f|0)==8)break;g=a+((H(f,b)|0)+-1)|0;e=e+(d[g>>0]|0)|0;f=f+1|0}f=H((e+4|0)>>>3,16843009)|0;e=0;while(1){if((e|0)==8)break;g=a+(H(e,b)|0)|0;c[g+4>>2]=f;c[g>>2]=f;e=e+1|0}return}function eE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;e=a+(0-b)|0;f=c[e>>2]|0;g=c[e+4>>2]|0;h=c[e+8>>2]|0;e=c[e+12>>2]|0;d=0;while(1){if((d|0)==16)break;i=a+(H(d,b)|0)|0;c[i>>2]=f;c[i+4>>2]=g;c[i+8>>2]=h;c[i+12>>2]=e;d=d+1|0}return}function fE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=Mb;Mb=Mb+32|0;e=g+16|0;f=g;a=e0(a)|0;if((a|0)!=0?(0==0?(c[a+8>>2]&8|0)==0:0):0){$z(e,f,a);a=pD(b,c[e+(d<<2)>>2]|0,c[f+(d<<2)>>2]|0,a)|0}else a=-22;Mb=g;return a|0}function gE(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var g=0,h=0.0;h=+f[d+148808+(e*480|0)>>2];g=c[d+74464>>2]|0;b=c[b+74176>>2]|0;d=1024<<((c[a+6488>>2]|0)==1&1);e=0;while(1){if((e|0)>=(d|0))break;a=b+(e<<2)|0;f[a>>2]=+f[a>>2]+h*+f[g+(e<<2)>>2];e=e+1|0}return}function hE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;do if((b|0)>=3){d=b>>>1;if(!(d&a))return (hE(a,d,c)|0)<<1|0;d=b>>>2;b=(hE(a,d,c)|0)<<2;if(((d&a|0)==0|0)==(c|0)){b=b|1;break}else{b=b+-1|0;break}}else b=a&1;while(0);return b|0}function iE(a,b){a=a|0;b=b|0;var c=0,d=0.0,e=0.0,g=0.0,h=0.0,i=0.0,j=0.0,k=0;c=0;d=0.0;e=0.0;while(1){if((c|0)>=(b|0))break;h=+f[a+(c<<3)>>2];j=+f[a+(c<<3)+4>>2];k=c|1;g=+f[a+(k<<3)>>2];i=+f[a+(k<<3)+4>>2];c=c+2|0;d=d+j*j+i*i;e=e+h*h+g*g}return +(e+d)}function jE(a){a=a|0;var b=0,d=0,e=0;b=c[a+16>>2]|0;d=(b|0)<2;e=(d?1899:1900)+(c[a+20>>2]|0)|0;return ((c[a+8>>2]|0)*3600|0)+-2032579456+((c[a+4>>2]|0)*60|0)+(c[a>>2]|0)+(((e*365|0)+(c[a+12>>2]|0)+((e|0)/4|0)+((e|0)/-100|0)+((e|0)/400|0)+(((((d?13:1)+b|0)*153|0)+-457|0)/5|0)|0)*86400|0)|0}function kE(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4)break;HA(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}f=4;while(1){if((f|0)==8)break;HA(a+(c[b+(f+4<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function lE(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4)break;kB(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<4<<1)|0,e);f=f+1|0}f=4;while(1){if((f|0)==8)break;kB(a+(c[b+(f+4<<2)>>2]|0)|0,d+(f<<4<<1)|0,e);f=f+1|0}return}function mE(a,b){a=a|0;b=b|0;var d=0,e=0;e=Mb;Mb=Mb+32|0;d=e;if((b|0)<26)a=zQ(a,b)|0;else{c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];c[d+16>>2]=c[a+16>>2];a=rO(d,b)|0}Mb=e;return a|0}function nE(a){a=a|0;var b=0,d=0,e=0;b=c[a>>2]|0;do if(((b|0)!=0?(e=c[b+12>>2]|0,!((e|0)<3357440|(e&252)>>>0<100)):0)?(d=c[b+32>>2]|0,d>>>0<=45):0){b=c[b+36>>2]|0;if(!b){b=d+16|0;break}else{b=(Vb[b&31](a)|0)+16|0;break}}else b=16;while(0);return b|0}function oE(b){b=b|0;var d=0,e=0;b=JY(b,14,8)|0;if(!b)b=0;else{b=b+4|0;d=c[b>>2]|0;e=d;a[e>>0]=0;a[e+1>>0]=0;a[e+2>>0]=0;a[e+3>>0]=0;d=d+4|0;a[d>>0]=0;a[d+1>>0]=0;a[d+2>>0]=0;a[d+3>>0]=0;b=c[b>>2]|0}return b|0}function pE(a,b){a=a|0;b=b|0;var d=0,e=0;d=0;while(1){if(d>>>0>=32)break;e=d<<1;c[a+(e<<2)>>2]=c[b+(63-d<<2)>>2]^-2147483648;c[a+((e|1)<<2)>>2]=c[b+(d<<2)>>2];c[a+((e|2)<<2)>>2]=c[b+(62-d<<2)>>2]^-2147483648;c[a+((e|3)<<2)>>2]=c[b+((d|1)<<2)>>2];d=d+2|0}return}function qE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,g=0,h=0,i=0;i=1<<c[a+20>>2];g=i>>1;h=i>>2;Yo(a,b+(h<<2)|0,d);e=g+-1|0;d=i+-1|0;a=0;while(1){if((a|0)>=(h|0))break;f[b+(a<<2)>>2]=-+f[b+(e-a<<2)>>2];c[b+(d-a<<2)>>2]=c[b+(a+g<<2)>>2];a=a+1|0}return}function rE(c,e,f){c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;h=(b[e>>1]|0)+32>>6;b[e>>1]=0;g=0;while(1){if((g|0)==8)break;e=0;while(1){if((e|0)==8)break;i=c+e|0;j=h+(d[i>>0]|0)|0;a[i>>0]=j>>>0>255?0-j>>31:j;e=e+1|0}c=c+f|0;g=g+1|0}return}function sE(a){a=a|0;var b=0,d=0,e=0,f=0;e=(c[a+21864>>2]|0)>>>4&3;d=(c[a+21860>>2]|0)>>>4&3;f=(e|0)!=0&1;b=a+32856|0;f=(BA(b,((d|0)==0?f:f|2)+77+(a+32904)|0)|0)==0;e=(e|0)==2?5:4;if(f)a=0;else a=(BA(b,((d|0)==2?e|2:e)+77+(a+32904)|0)|0)+1|0;return a|0}function tE(a,b){a=a|0;b=b|0;var e=0,f=0;e=0;f=0;while(1){if((f|0)==16)break;e=e+(d[a+(f-b)>>0]|0)|0;f=f+1|0}f=H((e+8|0)>>>4,16843009)|0;e=0;while(1){if((e|0)==16)break;c[a>>2]=f;c[a+4>>2]=f;c[a+8>>2]=f;c[a+12>>2]=f;a=a+b|0;e=e+1|0}return}function uE(a){a=a|0;var b=0,d=0;d=a+136|0;b=c[d>>2]|0;b=LA(b+224|0,b+21|0)|0;a:do if(!b)b=0;else{a=a+3088|0;while(1){if(b>>>0>=((c[a>>2]|0)+-1|0)>>>0)break a;if(!(MP((c[d>>2]|0)+224|0)|0))break a;b=b+1|0}}while(0);return b|0}function vE(c,e,f){c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;h=(b[e>>1]|0)+32>>6;b[e>>1]=0;g=0;while(1){if((g|0)==4)break;e=0;while(1){if((e|0)==4)break;i=c+e|0;j=h+(d[i>>0]|0)|0;a[i>>0]=j>>>0>255?0-j>>31:j;e=e+1|0}c=c+f|0;g=g+1|0}return}function wE(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4)break;Fy(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}f=4;while(1){if((f|0)==8)break;Fy(a+(c[b+(f+4<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function xE(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4)break;uz(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<4<<1)|0,e);f=f+1|0}f=4;while(1){if((f|0)==8)break;uz(a+(c[b+(f+4<<2)>>2]|0)|0,d+(f<<4<<1)|0,e);f=f+1|0}return}function yE(a,b,e){a=a|0;b=b|0;e=e|0;var f=0;b=H(d[a+-1>>0]|0,16843009)|0;c[a>>2]=b;b=H(d[a+(e+-1)>>0]|0,16843009)|0;c[a+e>>2]=b;b=e<<1;f=H(d[a+(b+-1)>>0]|0,16843009)|0;c[a+b>>2]=f;e=e*3|0;b=H(d[a+(e+-1)>>0]|0,16843009)|0;c[a+e>>2]=b;return}function zE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=Mb;Mb=Mb+144|0;f=g+128|0;e=g;if(!((b|4|0)==4&(d|0)==0)?(h=aX(b|0,d|0,-1,-1)|0,(h&b|0)==0&((M()|0)&d|0)==0):0){DQ(e,128,-1,b,d);c[f>>2]=e;AD(a,40,222314,f);b=4}Mb=g;return b|0}function AE(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;a:do if(!d)b=0;else{while(1){e=a[b>>0]|0;f=a[c>>0]|0;if(e<<24>>24!=f<<24>>24)break;d=d+-1|0;if(!d){b=0;break a}else{b=b+1|0;c=c+1|0}}b=(e&255)-(f&255)|0}while(0);return b|0}function BE(a,b){a=a|0;b=b|0;var d=0;d=b>>1;b=a;a=0;while(1){if((a|0)==16)break;c[b>>2]=16843009;c[b+4>>2]=16843009;c[b+8>>2]=16843009;c[b+12>>2]=16843009;c[b+16>>2]=16843009;c[b+20>>2]=16843009;c[b+24>>2]=16843009;c[b+28>>2]=16843009;b=b+(d<<1)|0;a=a+1|0}return}function CE(a,b){a=a|0;b=b|0;var c=0,d=0;a:do if((DD(a,b)|0)==1){c=0;while(1){if(c>>>0>=64){c=0;break a}d=_U(1,0,c|0)|0;if(!((d&a|0)==0&((M()|0)&b|0)==0))break;c=c+1|0}c=hZ(c)|0}else c=0;while(0);return c|0}function DE(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=0;while(1){e=a[c+d>>0]|0;f=a[b+d>>0]|0;if(!(e<<24>>24)){g=4;break}if(e<<24>>24==f<<24>>24)d=d+1|0;else{d=0;break}}if((g|0)==4){d=f<<24>>24;d=f<<24>>24!=95&((d+-48|0)>>>0>9&((d&-33)+-65|0)>>>0>25)&1}return d|0}function EE(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=yv(a,b,c,d,8)|0;f=(yv(a,b+8|0,c+8|0,d,8)|0)+f|0;h=d<<3;g=b+h|0;b=c+h|0;if((e|0)==16){f=(yv(a,g,b,d,8)|0)+f|0;f=f+(yv(a,g+8|0,b+8|0,d,8)|0)|0}return f|0}function FE(a){a=a|0;a=a+8|0;switch(a>>>3|a<<29|0){case 0:{a=211687;break}case 7:{a=211681;break}case 6:{a=211673;break}case 5:{a=211668;break}case 4:{a=211660;break}case 3:{a=211654;break}case 2:{a=211648;break}case 1:{a=211642;break}default:a=1113148}return a|0}function GE(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;h=c[a+1412>>2]|0;i=c[h+13340>>2]|0;if(((e|b|0)>=0?(j=b>>i,f=e>>i,g=c[h+13412>>2]|0,(j|0)<(g|0)):0)?(f|0)<(c[h+13416>>2]|0):0){j=(H(g,f)|0)+j|0;a=d[(c[a+7580>>2]|0)+j>>0]|0}else a=2;return a|0}function HE(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;d=Hu(b,d,e)|0;f=c[b+136>>2]|0;e=c[f+280>>2]|0;if(e){g=c[(c[b+1412>>2]|0)+13448>>2]|0;b=d+52+e+(g<<1)|0;d=b+((b|0)>0?0:-52-g+1|0)|0;d=((d|0)%(g+52|0)|0)-g+b-d|0}a[f+272>>0]=d;return}function IE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=a+136|0;a=c[f>>2]|0;e=a+224|0;if((d+b|0)!=12)if(!(LA(e,a+((c[a+31232>>2]|0)+22)|0)|0)){a=c[f>>2]|0;e=a+224|0;g=4}else a=2;else g=4;if((g|0)==4)a=LA(e,a+26|0)|0;return a|0}function JE(a){a=a|0;var b=0,e=0,f=0;b=a+8|0;f=c[b>>2]|0;e=c[a+16>>2]|0;a=(c[a>>2]|0)+(f>>>3)|0;a=(W_(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(f&7)>>>23;f=f+(d[75744+a>>0]|0)|0;c[b>>2]=e>>>0>f>>>0?f:e;return d[76256+a>>0]|0|0}function KE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=0;f=7;while(1){e=d;while(1){if((e|0)==(f|0))break;g=mT(b)|0;c[a+140+(e<<2)>>2]=g;e=e+1|0}d=d+7|0;if((d|0)>=57)break;if(!(mT(b)|0))break;else f=f+7|0}return (d|0)/7|0|0}function LE(b){b=b|0;var d=0,e=0;b=JY(b,2,8)|0;if(!b)b=0;else{b=b+4|0;d=c[b>>2]|0;e=d;a[e>>0]=0;a[e+1>>0]=0;a[e+2>>0]=0;a[e+3>>0]=0;d=d+4|0;a[d>>0]=0;a[d+1>>0]=0;a[d+2>>0]=0;a[d+3>>0]=0;b=c[b>>2]|0}return b|0}function ME(a){a=a|0;var b=0;if((c[a+808>>2]&1|0)!=0?(c[(c[(c[a+64>>2]|0)+20>>2]|0)+300>>2]|0)!=1:0)if(!(c[(c[a+12>>2]|0)+64>>2]|0))if((c[a+812>>2]|0)==0?(c[a+472>>2]|0)!=11:0)a=0;else b=6;else a=0;else b=6;if((b|0)==6)a=1;return a|0}function NE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=a+992|0;e=rr(b,d,c[e>>2]|0,c[e+4>>2]|0,-1,0,a)|0;g=(e|0)<0;f=g?0:d;b=g?0:b;c[a+132>>2]=b;c[a+136>>2]=f;d=c[a+792>>2]|0;c[a+124>>2]=0-(0-b>>d);c[a+128>>2]=0-(0-f>>d);return e|0}function OE(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;Zf(a,b,c,d,32,e);f=b+32|0;Zf(a+16|0,f,c+16|0,d,32,e);c=c+(e<<3)|0;a=a+(d<<3)|0;Zf(a,b,c,d,32,e);Zf(a+16|0,f,c+16|0,d,32,e);return}function PE(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;ag(a,b,c,d,32,e);f=b+32|0;ag(a+16|0,f,c+16|0,d,32,e);c=c+(e<<3)|0;a=a+(d<<3)|0;ag(a,b,c,d,32,e);ag(a+16|0,f,c+16|0,d,32,e);return}function QE(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;ef(a,b,c,d,32,e);f=b+16|0;ef(a+16|0,f,c+16|0,d,32,e);c=c+(e<<3)|0;a=a+(d<<3)|0;ef(a,b,c,d,32,e);ef(a+16|0,f,c+16|0,d,32,e);return}function RE(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;while(1){if((d|0)>=64)break;f=0;while(1){if((f|0)>=(e|0))break;c[a+(f<<8)+(d<<2)>>2]=c[b+(d<<8)+(f<<3)>>2];c[a+9728+(f<<8)+(d<<2)>>2]=c[b+(d<<8)+(f<<3)+4>>2];f=f+1|0}d=d+1|0}return}function SE(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;while(1){if((d|0)>=64)break;f=0;while(1){if((f|0)>=(e|0))break;c[a+(d<<8)+(f<<3)>>2]=c[b+(f<<8)+(d<<2)>>2];c[a+(d<<8)+(f<<3)+4>>2]=c[b+9728+(f<<8)+(d<<2)>>2];f=f+1|0}d=d+1|0}return}function TE(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;Kf(a,b,c,d,32,e);f=b+32|0;Kf(a+16|0,f,c+16|0,d,32,e);c=c+(e<<3)|0;a=a+(d<<3)|0;Kf(a,b,c,d,32,e);Kf(a+16|0,f,c+16|0,d,32,e);return}function UE(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;Mf(a,b,c,d,32,e);f=b+32|0;Mf(a+16|0,f,c+16|0,d,32,e);c=c+(e<<3)|0;a=a+(d<<3)|0;Mf(a,b,c,d,32,e);Mf(a+16|0,f,c+16|0,d,32,e);return}function VE(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;Le(a,b,c,d,32,e);f=b+16|0;Le(a+16|0,f,c+16|0,d,32,e);c=c+(e<<3)|0;a=a+(d<<3)|0;Le(a,b,c,d,32,e);Le(a+16|0,f,c+16|0,d,32,e);return}function WE(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var f=0.0,g=0,h=0,i=0.0,j=0.0;f=+(c|0);i=+w(+(+(d|0)/f),+(1.0/+(e|0)));h=e+-1|0;g=0;e=c;while(1){if((g|0)>=(h|0))break;j=i*f;c=Q1(j)|0;b[a+(g<<1)>>1]=c-e;f=j;g=g+1|0;e=c}b[a+(h<<1)>>1]=d-e;return}function XE(a){a=a|0;var b=0,d=0,e=0,f=0;f=Mb;Mb=Mb+16|0;e=f;b=a+64|0;d2(b)|0;d=a+140|0;if(!(c[d>>2]|0)){c[e>>2]=193373;c[e+4>>2]=193346;c[e+8>>2]=155;AD(0,0,222515,e);ba()}else{c[d>>2]=0;d2(a+92|0)|0;d2(b)|0;Mb=f;return}}function YE(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;sc[a&31](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)}function ZE(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=c[d+8>>2]|0;e=0;while(1){if((e|0)>=(f|0))break;g=(mT(b)|0)&255;a[d+24+e>>0]=g;e=e+1|0}f=c[d+20>>2]|0;e=0;while(1){if((e|0)>=(f|0))break;g=(mT(b)|0)&255;a[d+29+e>>0]=g;e=e+1|0}return}function _E(a){a=a|0;var b=0,d=0;d=(a|0)==0;b=0;do{if(d){b=0;break}b=k0(b)|0;if(!b){b=0;break}}while((c[b+44>>2]|0)!=(a|0));a=b;do{a=k0(a)|0;if(!a){b=0;break}b=c[a+44>>2]|0}while(!(b|0));return b|0}function $E(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=XO(a+152|0)|0;f=XO(a+192|0)|0;e=a+296|0;d=a+304|0;b=a+300|0;la(2,a|0,((g|0)>(f|0)?g:f)|0,c[e>>2]|0,c[d>>2]<<3|0,c[b>>2]<<3|0)|0;c[e>>2]=0;c[d>>2]=0;c[b>>2]=0;return}function aF(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=aL(a,b,c,d,8)|0;f=(aL(a,b+8|0,c+8|0,d,8)|0)+f|0;h=d<<3;g=b+h|0;b=c+h|0;if((e|0)==16){f=(aL(a,g,b,d,8)|0)+f|0;f=f+(aL(a,g+8|0,b+8|0,d,8)|0)|0}return f|0}function bF(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=RC(a,b,c,d,8)|0;f=(RC(a,b+8|0,c+8|0,d,8)|0)+f|0;h=d<<3;g=b+h|0;b=c+h|0;if((e|0)==16){f=(RC(a,g,b,d,8)|0)+f|0;f=f+(RC(a,g+8|0,b+8|0,d,8)|0)|0}return f|0}function cF(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;zf(a,b,c,d,32,e);f=b+16|0;zf(a+16|0,f,c+16|0,d,32,e);c=c+(e<<3)|0;a=a+(d<<3)|0;zf(a,b,c,d,32,e);zf(a+16|0,f,c+16|0,d,32,e);return}function dF(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;Ye(a,b,c,d,32,e);f=b+16|0;Ye(a+16|0,f,c+16|0,d,32,e);c=c+(e<<3)|0;a=a+(d<<3)|0;Ye(a,b,c,d,32,e);Ye(a+16|0,f,c+16|0,d,32,e);return}function eF(a){a=+a;var b=0.0,c=0.0;do if(!(a==0.0)){b=+u(+a);if(!(b<=15.0)){a=1.0/b+-.06666666666666667;c=+WQ(159872,7,a);a=+E(+b)/+v(+b)*(c/+WQ(159936,8,a));break}else{a=a*a;c=+WQ(159696,15,a);a=c/+WQ(159824,6,a);break}}else a=1.0;while(0);return +a}function fF(b,c,d,e,f,g){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;j=8-g|0;h=0;while(1){if((h|0)>=(e|0))break;i=0;while(1){if((i|0)>=(d|0))break;k=(HG(f,g)|0)<<j&255;a[b+i>>0]=k;i=i+1|0}b=b+c|0;h=h+1|0}return}function gF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;b=d>>1;e=a;c[e>>2]=536944641;c[e+4>>2]=536944641;e=a+(b<<1)|0;c[e>>2]=536944641;c[e+4>>2]=536944641;d=a+((d&-2)<<1)|0;c[d>>2]=536944641;c[d+4>>2]=536944641;d=a+(b*3<<1)|0;c[d>>2]=536944641;c[d+4>>2]=536944641;return}function hF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;b=d>>1;e=a;c[e>>2]=134285313;c[e+4>>2]=134285313;e=a+(b<<1)|0;c[e>>2]=134285313;c[e+4>>2]=134285313;d=a+((d&-2)<<1)|0;c[d>>2]=134285313;c[d+4>>2]=134285313;d=a+(b*3<<1)|0;c[d>>2]=134285313;c[d+4>>2]=134285313;return}function iF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;b=d>>1;e=a;c[e>>2]=536879104;c[e+4>>2]=536879104;e=a+(b<<1)|0;c[e>>2]=536879104;c[e+4>>2]=536879104;d=a+((d&-2)<<1)|0;c[d>>2]=536879104;c[d+4>>2]=536879104;d=a+(b*3<<1)|0;c[d>>2]=536879104;c[d+4>>2]=536879104;return}function jF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;b=d>>1;e=a;c[e>>2]=134219776;c[e+4>>2]=134219776;e=a+(b<<1)|0;c[e>>2]=134219776;c[e+4>>2]=134219776;d=a+((d&-2)<<1)|0;c[d>>2]=134219776;c[d+4>>2]=134219776;d=a+(b*3<<1)|0;c[d>>2]=134219776;c[d+4>>2]=134219776;return}function kF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;b=d>>1;e=a;c[e>>2]=536813567;c[e+4>>2]=536813567;e=a+(b<<1)|0;c[e>>2]=536813567;c[e+4>>2]=536813567;d=a+((d&-2)<<1)|0;c[d>>2]=536813567;c[d+4>>2]=536813567;d=a+(b*3<<1)|0;c[d>>2]=536813567;c[d+4>>2]=536813567;return}function lF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;b=d>>1;e=a;c[e>>2]=134154239;c[e+4>>2]=134154239;e=a+(b<<1)|0;c[e>>2]=134154239;c[e+4>>2]=134154239;d=a+((d&-2)<<1)|0;c[d>>2]=134154239;c[d+4>>2]=134154239;d=a+(b*3<<1)|0;c[d>>2]=134154239;c[d+4>>2]=134154239;return}function mF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+1296|0;g=d+1088|0;f=d+128|0;e=d;Xr(g,b+(0-(c<<1))+2|0,c);Hi(f,g+32|0,16,16);Zf(e,d+256|0,b,16,16,c);Jo(a,f,e,c,16,16,8);Mb=d;return}function nF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+1296|0;g=d+1088|0;f=d+128|0;e=d;Xr(g,b+(0-(c<<1))+2|0,c);Ji(f,g+32|0,16,16);ag(e,d+256|0,b,16,16,c);Jo(a,f,e,c,16,16,8);Mb=d;return}function oF(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0;g=(HG(e,11)|0)&65535;b[d+2>>1]=g;g=45296+((HG(e,3)|0)<<2)|0;c[d+8>>2]=c[g>>2];g=f&255;g=g>>>0<40?g:40;f=0;while(1){if(f>>>0>=g>>>0)break;h=(mT(e)|0)&255;a[d+12+f>>0]=h;f=f+1|0}return}function pF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+1296|0;g=d+1088|0;f=d+128|0;e=d;Xr(g,b+(0-(c<<1))+2|0,c);Hi(f,g+32|0,16,16);Zf(e,d+256|0,b,16,16,c);om(a,f,e,c,16,16,8);Mb=d;return}function qF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+1296|0;g=d+1088|0;f=d+128|0;e=d;Xr(g,b+(0-(c<<1))+2|0,c);Ji(f,g+32|0,16,16);ag(e,d+256|0,b,16,16,c);om(a,f,e,c,16,16,8);Mb=d;return}function rF(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;Jf(a,b,c,d,16,e);f=b+16|0;Jf(a+8|0,f,c+8|0,d,16,e);c=c+(e<<3)|0;a=a+(d<<3)|0;Jf(a,b,c,d,16,e);Jf(a+8|0,f,c+8|0,d,16,e);return}function sF(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;df(a,b,c,d,16,e);f=b+16|0;df(a+8|0,f,c+8|0,d,16,e);c=c+(e<<3)|0;a=a+(d<<3)|0;df(a,b,c,d,16,e);df(a+8|0,f,c+8|0,d,16,e);return}function tF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+880|0;g=d+672|0;f=d+128|0;e=d;Xr(g,b+(0-(c<<1))+2|0,c);Ki(f,g+32|0,16,16);ef(e,d+256|0,b,16,16,c);Jo(a,f,e,c,16,16,8);Mb=d;return}function uF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+880|0;g=d+672|0;f=d+128|0;e=d;Xr(g,b+(0-(c<<1))+2|0,c);Ki(f,g+32|0,16,16);ef(e,d+256|0,b,16,16,c);om(a,f,e,c,16,16,8);Mb=d;return}function vF(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;e=0;f=0;while(1){if((f|0)==8)break;e=e+(d[a+(f-b)>>0]|0)|0;f=f+1|0}f=H((e+4|0)>>>3,16843009)|0;e=0;while(1){if((e|0)==8)break;g=a+(H(e,b)|0)|0;c[g+4>>2]=f;c[g>>2]=f;e=e+1|0}return}function wF(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=Mb;Mb=Mb+16|0;g=f+8|0;h=f;c[h>>2]=c[d>>2];c[h+4>>2]=c[d+4>>2];c[g>>2]=c[e>>2];c[g+4>>2]=c[e+4>>2];e=MB(a,b,h,g,5)|0;L(M()|0);Mb=f;return e|0}function xF(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=c[b>>2]|0;if(!(d&8)){c[b+8>>2]=0;c[b+4>>2]=0;e=c[b+44>>2]|0;c[b+28>>2]=e;c[b+20>>2]=e;c[b+16>>2]=e+(c[b+48>>2]|0);b=0}else{c[b>>2]=d|32;b=-1}return b|0}function yF(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0;g=0;while(1){if((g|0)>=(d|0))break;h=c+(g<<2)|0;f[a+(g<<3)>>2]=+f[b+(g*320|0)+(e<<3)>>2]*+f[h>>2];f[a+(g<<3)+4>>2]=+f[b+(g*320|0)+(e<<3)+4>>2]*+f[h>>2];g=g+1|0}return}function zF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+1296|0;g=d+1088|0;f=d+128|0;e=d;Xr(g,b+(0-(c<<1))|0,c);Hi(f,g+32|0,16,16);Zf(e,d+256|0,b,16,16,c);Jo(a,f,e,c,16,16,8);Mb=d;return}function AF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+1296|0;g=d+1088|0;f=d+128|0;e=d;Xr(g,b+(0-(c<<1))|0,c);Ji(f,g+32|0,16,16);ag(e,d+256|0,b,16,16,c);Jo(a,f,e,c,16,16,8);Mb=d;return}function BF(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=1<<c[a+60>>2];g=(b|0)%(f|0)|0;a=b-g|0;if((g|0)>(d|0)?(g-d|0)>=((f|0)/2|0|0):0)a=a+f|0;else if((g|0)<(d|0))a=a-((d-g|0)>((f|0)/2|0|0)?f:0)|0;return ((e+-16|0)>>>0<3?0:a)+d|0}function CF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+1296|0;g=d+1088|0;f=d+128|0;e=d;Xr(g,b+(0-(c<<1))|0,c);Hi(f,g+32|0,16,16);Zf(e,d+256|0,b,16,16,c);om(a,f,e,c,16,16,8);Mb=d;return}function DF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+1296|0;g=d+1088|0;f=d+128|0;e=d;Xr(g,b+(0-(c<<1))|0,c);Ji(f,g+32|0,16,16);ag(e,d+256|0,b,16,16,c);om(a,f,e,c,16,16,8);Mb=d;return}function EF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+880|0;g=d+672|0;f=d+128|0;e=d;Xr(g,b+(0-(c<<1))+2|0,c);Li(f,g+32|0,16,16);zf(e,d+256|0,b,16,16,c);Jo(a,f,e,c,16,16,8);Mb=d;return}function FF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+880|0;g=d+672|0;f=d+128|0;e=d;Xr(g,b+(0-(c<<1))+2|0,c);Li(f,g+32|0,16,16);zf(e,d+256|0,b,16,16,c);om(a,f,e,c,16,16,8);Mb=d;return}function GF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+880|0;g=d+672|0;f=d+128|0;e=d;Xr(g,b+(0-(c<<1))|0,c);Ki(f,g+32|0,16,16);ef(e,d+256|0,b,16,16,c);Jo(a,f,e,c,16,16,8);Mb=d;return}function HF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+880|0;g=d+672|0;f=d+128|0;e=d;Xr(g,b+(0-(c<<1))|0,c);Ki(f,g+32|0,16,16);ef(e,d+256|0,b,16,16,c);om(a,f,e,c,16,16,8);Mb=d;return}function IF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;b=d>>1;e=a;c[e>>2]=33620481;c[e+4>>2]=33620481;e=a+(b<<1)|0;c[e>>2]=33620481;c[e+4>>2]=33620481;d=a+((d&-2)<<1)|0;c[d>>2]=33620481;c[d+4>>2]=33620481;d=a+(b*3<<1)|0;c[d>>2]=33620481;c[d+4>>2]=33620481;return}function JF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;b=d>>1;e=a;c[e>>2]=33554944;c[e+4>>2]=33554944;e=a+(b<<1)|0;c[e>>2]=33554944;c[e+4>>2]=33554944;d=a+((d&-2)<<1)|0;c[d>>2]=33554944;c[d+4>>2]=33554944;d=a+(b*3<<1)|0;c[d>>2]=33554944;c[d+4>>2]=33554944;return}function KF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;b=d>>1;e=a;c[e>>2]=33489407;c[e+4>>2]=33489407;e=a+(b<<1)|0;c[e>>2]=33489407;c[e+4>>2]=33489407;d=a+((d&-2)<<1)|0;c[d>>2]=33489407;c[d+4>>2]=33489407;d=a+(b*3<<1)|0;c[d>>2]=33489407;c[d+4>>2]=33489407;return}function LF(a,c,e,f,g,h,i){a=a|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;h=a;a=0;while(1){if((a|0)>=(f|0))break;g=0;while(1){if((g|0)>=(i|0))break;b[h+(g<<1)>>1]=(d[c+g>>0]|0)<<6;g=g+1|0}h=h+128|0;c=c+e|0;a=a+1|0}return}function MF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;b=d>>1;e=a;c[e>>2]=16843009;c[e+4>>2]=16843009;e=a+(b<<1)|0;c[e>>2]=16843009;c[e+4>>2]=16843009;d=a+((d&-2)<<1)|0;c[d>>2]=16843009;c[d+4>>2]=16843009;d=a+(b*3<<1)|0;c[d>>2]=16843009;c[d+4>>2]=16843009;return}function NF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;b=d>>1;e=a;c[e>>2]=16777472;c[e+4>>2]=16777472;e=a+(b<<1)|0;c[e>>2]=16777472;c[e+4>>2]=16777472;d=a+((d&-2)<<1)|0;c[d>>2]=16777472;c[d+4>>2]=16777472;d=a+(b*3<<1)|0;c[d>>2]=16777472;c[d+4>>2]=16777472;return}function OF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;b=d>>1;e=a;c[e>>2]=16711935;c[e+4>>2]=16711935;e=a+(b<<1)|0;c[e>>2]=16711935;c[e+4>>2]=16711935;d=a+((d&-2)<<1)|0;c[d>>2]=16711935;c[d+4>>2]=16711935;d=a+(b*3<<1)|0;c[d>>2]=16711935;c[d+4>>2]=16711935;return}function PF(b,c){b=b|0;c=c|0;var d=0,e=0;d=a[b>>0]|0;e=a[c>>0]|0;if(d<<24>>24==0?1:d<<24>>24!=e<<24>>24)b=e;else{do{b=b+1|0;c=c+1|0;d=a[b>>0]|0;e=a[c>>0]|0}while(!(d<<24>>24==0?1:d<<24>>24!=e<<24>>24));b=e}return (d&255)-(b&255)|0}function QF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+880|0;g=d+672|0;f=d+128|0;e=d;Xr(g,b+(0-(c<<1))|0,c);Li(f,g+32|0,16,16);zf(e,d+256|0,b,16,16,c);Jo(a,f,e,c,16,16,8);Mb=d;return}function RF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+4384|0;g=d+3712|0;f=d+512|0;e=d;Vj(g,b+(0-(c<<1))+2|0,c);_O(f,g+64|0,32);OE(e,d+1024|0,b,32,c);KU(a,f,e,c,32);Mb=d;return}function SF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+4384|0;g=d+3712|0;f=d+512|0;e=d;Vj(g,b+(0-(c<<1))+2|0,c);$O(f,g+64|0,32);PE(e,d+1024|0,b,32,c);KU(a,f,e,c,32);Mb=d;return}function TF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+3040|0;g=d+2368|0;f=d+512|0;e=d;Vj(g,b+(0-(c<<1))+2|0,c);aP(f,g+64|0,32);QE(e,d+1024|0,b,32,c);KU(a,f,e,c,32);Mb=d;return}function UF(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=e+-8|0;h=f*6|0;g=h+51|0;h=h+52|0;e=0;while(1){if((e|0)>=(h|0))break;i=e+d|0;a[b+548+(c*88|0)+e>>0]=a[((i|0)<0?0:(i|0)>(g|0)?g:i)+(19312+(f*88|0))>>0]|0;e=e+1|0}return}function VF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+880|0;g=d+672|0;f=d+128|0;e=d;Xr(g,b+(0-(c<<1))|0,c);Li(f,g+32|0,16,16);zf(e,d+256|0,b,16,16,c);om(a,f,e,c,16,16,8);Mb=d;return}function WF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+4384|0;g=d+3712|0;f=d+512|0;e=d;Vj(g,b+(0-(c<<1))+2|0,c);_O(f,g+64|0,32);OE(e,d+1024|0,b,32,c);MU(a,f,e,c,32);Mb=d;return}function XF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+4384|0;g=d+3712|0;f=d+512|0;e=d;Vj(g,b+(0-(c<<1))+2|0,c);$O(f,g+64|0,32);PE(e,d+1024|0,b,32,c);MU(a,f,e,c,32);Mb=d;return}function YF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+3040|0;g=d+2368|0;f=d+512|0;e=d;Vj(g,b+(0-(c<<1))+2|0,c);aP(f,g+64|0,32);QE(e,d+1024|0,b,32,c);MU(a,f,e,c,32);Mb=d;return}function ZF(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;if(c[b+676>>2]|0){d=a+544|0;if(!(c[d>>2]|0)){pt(a+4|0,b);c[d>>2]=1}jv(c[a+580>>2]|0,127,H(c[a+560>>2]|0,c[a+564>>2]|0)|0)|0;c[a+572>>2]=(c[a+552>>2]|0)*3;c[a+576>>2]=0}return}function _F(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;e=b;while(1){d=K0(a[e>>0]|0)|0;b=K0(a[c>>0]|0)|0;d=d&255;if(!d){f=3;break}b=b&255;if((d|0)==(b|0)){e=e+1|0;c=c+1|0}else{c=d;break}}if((f|0)==3){c=0;b=b&255}return c-b|0}function $F(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=Mb;Mb=Mb+16|0;e=f;if((b|0)!=0?(PF(b,221851)|0)!=0:0){d=Qu(d,d+4|0,b)|0;if((d|0)<0){c[e>>2]=b;AD(a,16,212763,e)}}else{c[d+4>>2]=0;c[d>>2]=0;d=0}Mb=f;return d|0}function aG(a,b){a=a|0;b=b|0;var d=0;a=Mb;Mb=Mb+16|0;d=a;c[d>>2]=b;bU(b+1648|0);bU(b+1652|0);bU(b+1656|0);bU(b+1660|0);bU(b+1664|0);bU(b+1668|0);bU(b+1672|0);bU(b+1680|0);bU(b+1676|0);bU(b+1688|0);bU(d);Mb=a;return}function bG(a){a=a|0;var b=0,d=0,e=0;O$();d=c[41662]|0;e=a+56|0;c[e>>2]=0;while(1){b=c[d>>2]|0;if(!b){if(!(bX(d,0,a)|0))break;b=c[d>>2]|0}d=b+56|0}c[41662]=e;b=c[a+72>>2]|0;if(b|0)dc[b&63](a);return}function cG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+464|0;g=d+256|0;f=d+128|0;e=d;ui(f,b+c|0,16,c);Xr(g,b+(0-(c<<1))+2|0,c);Hi(e,g+32|0,16,16);Jo(a,f,e,c,16,16,8);Mb=d;return}function dG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+464|0;g=d+256|0;f=d+128|0;e=d;yi(f,b+c|0,16,c);Xr(g,b+(0-(c<<1))+2|0,c);Ji(e,g+32|0,16,16);Jo(a,f,e,c,16,16,8);Mb=d;return}function eG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+464|0;g=d+256|0;f=d+128|0;e=d;zi(f,b+c|0,16,c);Xr(g,b+(0-(c<<1))+2|0,c);Ki(e,g+32|0,16,16);Jo(a,f,e,c,16,16,8);Mb=d;return}function fG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+448|0;g=d+336|0;f=d+64|0;e=d;Jz(g,b+(0-(c<<1))+1|0,c);uj(f,g+16|0,8,8);Jf(e,d+128|0,b,8,8,c);pv(a,f,e,c,8,8,8);Mb=d;return}function gG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+3040|0;g=d+2368|0;f=d+512|0;e=d;Vj(g,b+(0-(c<<1))+2|0,c);rP(f,g+64|0,32);cF(e,d+1024|0,b,32,c);KU(a,f,e,c,32);Mb=d;return}function hG(a,b){a=a|0;b=b|0;var d=0;d=(c[b+21796>>2]|0)-(c[a+27e3>>2]<<1)|0;return BA(b+32856|0,b+32974+(((c[(c[a+24364>>2]|0)+(d<<2)>>2]|0)>>>7&(c[b+832>>2]|0)==(e[(c[a+26356>>2]|0)+(d<<1)>>1]|0|0))+(c[b+21828>>2]&(c[b+21788>>2]|0)!=0))|0)|0}function iG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+464|0;g=d+256|0;f=d+128|0;e=d;ui(f,b+c|0,16,c);Xr(g,b+(0-(c<<1))+2|0,c);Hi(e,g+32|0,16,16);om(a,f,e,c,16,16,8);Mb=d;return}function jG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+464|0;g=d+256|0;f=d+128|0;e=d;yi(f,b+c|0,16,c);Xr(g,b+(0-(c<<1))+2|0,c);Ji(e,g+32|0,16,16);om(a,f,e,c,16,16,8);Mb=d;return}function kG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+464|0;g=d+256|0;f=d+128|0;e=d;zi(f,b+c|0,16,c);Xr(g,b+(0-(c<<1))+2|0,c);Ki(e,g+32|0,16,16);om(a,f,e,c,16,16,8);Mb=d;return}function lG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+448|0;g=d+336|0;f=d+64|0;e=d;Jz(g,b+(0-(c<<1))+1|0,c);uj(f,g+16|0,8,8);Jf(e,d+128|0,b,8,8,c);wt(a,f,e,c,8,8,8);Mb=d;return}function mG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+3040|0;g=d+2368|0;f=d+512|0;e=d;Vj(g,b+(0-(c<<1))+2|0,c);rP(f,g+64|0,32);cF(e,d+1024|0,b,32,c);MU(a,f,e,c,32);Mb=d;return}function nG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+1520|0;g=d+1184|0;f=d+256|0;e=d;Ms(g,b+(0-(c<<1))+1|0,c);AP(f,g+32|0,16);rF(e,d+512|0,b,16,c);PU(a,f,e,c,16);Mb=d;return}function oG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+4384|0;g=d+3712|0;f=d+512|0;e=d;Vj(g,b+(0-(c<<1))|0,c);_O(f,g+64|0,32);OE(e,d+1024|0,b,32,c);KU(a,f,e,c,32);Mb=d;return}function pG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+4384|0;g=d+3712|0;f=d+512|0;e=d;Vj(g,b+(0-(c<<1))|0,c);$O(f,g+64|0,32);PE(e,d+1024|0,b,32,c);KU(a,f,e,c,32);Mb=d;return}function qG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+3040|0;g=d+2368|0;f=d+512|0;e=d;Vj(g,b+(0-(c<<1))|0,c);aP(f,g+64|0,32);QE(e,d+1024|0,b,32,c);KU(a,f,e,c,32);Mb=d;return}function rG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+1520|0;g=d+1184|0;f=d+256|0;e=d;Ms(g,b+(0-(c<<1))+1|0,c);AP(f,g+32|0,16);rF(e,d+512|0,b,16,c);RU(a,f,e,c,16);Mb=d;return}function sG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+4384|0;g=d+3712|0;f=d+512|0;e=d;Vj(g,b+(0-(c<<1))|0,c);_O(f,g+64|0,32);OE(e,d+1024|0,b,32,c);MU(a,f,e,c,32);Mb=d;return}function tG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+4384|0;g=d+3712|0;f=d+512|0;e=d;Vj(g,b+(0-(c<<1))|0,c);$O(f,g+64|0,32);PE(e,d+1024|0,b,32,c);MU(a,f,e,c,32);Mb=d;return}function uG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+3040|0;g=d+2368|0;f=d+512|0;e=d;Vj(g,b+(0-(c<<1))|0,c);aP(f,g+64|0,32);QE(e,d+1024|0,b,32,c);MU(a,f,e,c,32);Mb=d;return}function vG(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;g=Mb;Mb=Mb+32|0;f=g;c[b+36>>2]=5;if((c[b>>2]&64|0)==0?(c[f>>2]=c[b+60>>2],c[f+4>>2]=21523,c[f+8>>2]=g+16,U(54,f|0)|0):0)a[b+75>>0]=-1;f=eo(b,d,e)|0;Mb=g;return f|0}function wG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+464|0;g=d+256|0;f=d+128|0;e=d;Ei(f,b+c|0,16,c);Xr(g,b+(0-(c<<1))+2|0,c);Li(e,g+32|0,16,16);Jo(a,f,e,c,16,16,8);Mb=d;return}function xG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+464|0;g=d+256|0;f=d+128|0;e=d;Ei(f,b+c|0,16,c);Xr(g,b+(0-(c<<1))+2|0,c);Li(e,g+32|0,16,16);om(a,f,e,c,16,16,8);Mb=d;return}function yG(a){a=a|0;var b=0,d=0,e=0;e=pa()|0;d=c[i>>2]|0;b=d+a|0;if((a|0)>0&(b|0)<(d|0)|(b|0)<0){Fb(b|0)|0;O(12);return -1}if((b|0)>(e|0))if(!(ra(b|0)|0)){O(12);return -1}c[i>>2]=b;return d|0}function zG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+464|0;g=d+256|0;f=d+128|0;e=d;ui(f,b+c|0,16,c);Xr(g,b+(0-(c<<1))|0,c);Hi(e,g+32|0,16,16);Jo(a,f,e,c,16,16,8);Mb=d;return}function AG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+464|0;g=d+256|0;f=d+128|0;e=d;yi(f,b+c|0,16,c);Xr(g,b+(0-(c<<1))|0,c);Ji(e,g+32|0,16,16);Jo(a,f,e,c,16,16,8);Mb=d;return}function BG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+464|0;g=d+256|0;f=d+128|0;e=d;zi(f,b+c|0,16,c);Xr(g,b+(0-(c<<1))|0,c);Ki(e,g+32|0,16,16);Jo(a,f,e,c,16,16,8);Mb=d;return}function CG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+448|0;g=d+336|0;f=d+64|0;e=d;Jz(g,b+(0-(c<<1))|0,c);uj(f,g+16|0,8,8);Jf(e,d+128|0,b,8,8,c);pv(a,f,e,c,8,8,8);Mb=d;return}function DG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+1696|0;g=d+1024|0;f=d+512|0;e=d;jL(f,b+c|0,32,c);Vj(g,b+(0-(c<<1))+2|0,c);_O(e,g+64|0,32);KU(a,f,e,c,32);Mb=d;return}function EG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+1696|0;g=d+1024|0;f=d+512|0;e=d;kL(f,b+c|0,32,c);Vj(g,b+(0-(c<<1))+2|0,c);$O(e,g+64|0,32);KU(a,f,e,c,32);Mb=d;return}function FG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+1696|0;g=d+1024|0;f=d+512|0;e=d;lL(f,b+c|0,32,c);Vj(g,b+(0-(c<<1))+2|0,c);aP(e,g+64|0,32);KU(a,f,e,c,32);Mb=d;return}function GG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+3040|0;g=d+2368|0;f=d+512|0;e=d;Vj(g,b+(0-(c<<1))|0,c);rP(f,g+64|0,32);cF(e,d+1024|0,b,32,c);KU(a,f,e,c,32);Mb=d;return}function HG(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;e=a+8|0;g=c[e>>2]|0;f=c[a+16>>2]|0;a=(c[a>>2]|0)+(g>>>3)|0;a=(W_(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(g&7)>>>(32-b|0);b=g+b|0;c[e>>2]=f>>>0>b>>>0?b:f;return a|0}function IG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=up(a,b,c,d,8)|0;f=(up(a,b+8|0,c+8|0,d,8)|0)+f|0;h=d<<3;g=b+h|0;b=c+h|0;if((e|0)==16){f=(up(a,g,b,d,8)|0)+f|0;f=f+(up(a,g+8|0,b+8|0,d,8)|0)|0}return f|0}function JG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+464|0;g=d+256|0;f=d+128|0;e=d;ui(f,b+c|0,16,c);Xr(g,b+(0-(c<<1))|0,c);Hi(e,g+32|0,16,16);om(a,f,e,c,16,16,8);Mb=d;return}function KG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+464|0;g=d+256|0;f=d+128|0;e=d;yi(f,b+c|0,16,c);Xr(g,b+(0-(c<<1))|0,c);Ji(e,g+32|0,16,16);om(a,f,e,c,16,16,8);Mb=d;return}function LG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+464|0;g=d+256|0;f=d+128|0;e=d;zi(f,b+c|0,16,c);Xr(g,b+(0-(c<<1))|0,c);Ki(e,g+32|0,16,16);om(a,f,e,c,16,16,8);Mb=d;return}function MG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+448|0;g=d+336|0;f=d+64|0;e=d;Jz(g,b+(0-(c<<1))|0,c);uj(f,g+16|0,8,8);Jf(e,d+128|0,b,8,8,c);wt(a,f,e,c,8,8,8);Mb=d;return}function NG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+1696|0;g=d+1024|0;f=d+512|0;e=d;jL(f,b+c|0,32,c);Vj(g,b+(0-(c<<1))+2|0,c);_O(e,g+64|0,32);MU(a,f,e,c,32);Mb=d;return}function OG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+1696|0;g=d+1024|0;f=d+512|0;e=d;kL(f,b+c|0,32,c);Vj(g,b+(0-(c<<1))+2|0,c);$O(e,g+64|0,32);MU(a,f,e,c,32);Mb=d;return}function PG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+1696|0;g=d+1024|0;f=d+512|0;e=d;lL(f,b+c|0,32,c);Vj(g,b+(0-(c<<1))+2|0,c);aP(e,g+64|0,32);MU(a,f,e,c,32);Mb=d;return}function QG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+3040|0;g=d+2368|0;f=d+512|0;e=d;Vj(g,b+(0-(c<<1))|0,c);rP(f,g+64|0,32);cF(e,d+1024|0,b,32,c);MU(a,f,e,c,32);Mb=d;return}function RG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+1520|0;g=d+1184|0;f=d+256|0;e=d;Ms(g,b+(0-(c<<1))|0,c);AP(f,g+32|0,16);rF(e,d+512|0,b,16,c);PU(a,f,e,c,16);Mb=d;return}function SG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+1520|0;g=d+1184|0;f=d+256|0;e=d;Ms(g,b+(0-(c<<1))|0,c);AP(f,g+32|0,16);rF(e,d+512|0,b,16,c);RU(a,f,e,c,16);Mb=d;return}function TG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+464|0;g=d+256|0;f=d+128|0;e=d;Ei(f,b+c|0,16,c);Xr(g,b+(0-(c<<1))|0,c);Li(e,g+32|0,16,16);Jo(a,f,e,c,16,16,8);Mb=d;return}function UG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+1696|0;g=d+1024|0;f=d+512|0;e=d;GL(f,b+c|0,32,c);Vj(g,b+(0-(c<<1))+2|0,c);rP(e,g+64|0,32);KU(a,f,e,c,32);Mb=d;return}function VG(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0;f=0;while(1){if((f|0)==9)break;g=d[c>>0]|d[c+1>>0]<<8|d[c+2>>0]<<16|d[c+3>>0]<<24;a[b>>0]=g;a[b+1>>0]=g>>8;a[b+2>>0]=g>>16;a[b+3>>0]=g>>24;f=f+1|0;c=c+e|0;b=b+4|0}return}function WG(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0;f=0;while(1){if((f|0)==7)break;g=d[c>>0]|d[c+1>>0]<<8|d[c+2>>0]<<16|d[c+3>>0]<<24;a[b>>0]=g;a[b+1>>0]=g>>8;a[b+2>>0]=g>>16;a[b+3>>0]=g>>24;f=f+1|0;c=c+e|0;b=b+4|0}return}function XG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+464|0;g=d+256|0;f=d+128|0;e=d;Ei(f,b+c|0,16,c);Xr(g,b+(0-(c<<1))|0,c);Li(e,g+32|0,16,16);om(a,f,e,c,16,16,8);Mb=d;return}function YG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+1696|0;g=d+1024|0;f=d+512|0;e=d;GL(f,b+c|0,32,c);Vj(g,b+(0-(c<<1))+2|0,c);rP(e,g+64|0,32);MU(a,f,e,c,32);Mb=d;return}function ZG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+1696|0;g=d+1024|0;f=d+512|0;e=d;jL(f,b+c|0,32,c);Vj(g,b+(0-(c<<1))|0,c);_O(e,g+64|0,32);KU(a,f,e,c,32);Mb=d;return}function _G(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+1696|0;g=d+1024|0;f=d+512|0;e=d;kL(f,b+c|0,32,c);Vj(g,b+(0-(c<<1))|0,c);$O(e,g+64|0,32);KU(a,f,e,c,32);Mb=d;return}function $G(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+1696|0;g=d+1024|0;f=d+512|0;e=d;lL(f,b+c|0,32,c);Vj(g,b+(0-(c<<1))|0,c);aP(e,g+64|0,32);KU(a,f,e,c,32);Mb=d;return}function aH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+1696|0;g=d+1024|0;f=d+512|0;e=d;jL(f,b+c|0,32,c);Vj(g,b+(0-(c<<1))|0,c);_O(e,g+64|0,32);MU(a,f,e,c,32);Mb=d;return}function bH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+1696|0;g=d+1024|0;f=d+512|0;e=d;kL(f,b+c|0,32,c);Vj(g,b+(0-(c<<1))|0,c);$O(e,g+64|0,32);MU(a,f,e,c,32);Mb=d;return}function cH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+1696|0;g=d+1024|0;f=d+512|0;e=d;lL(f,b+c|0,32,c);Vj(g,b+(0-(c<<1))|0,c);aP(e,g+64|0,32);MU(a,f,e,c,32);Mb=d;return}function dH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=Dk(a,b,c,d,8)|0;f=(Dk(a,b+8|0,c+8|0,d,8)|0)+f|0;h=d<<3;g=b+h|0;b=c+h|0;if((e|0)==16){f=(Dk(a,g,b,d,8)|0)+f|0;f=f+(Dk(a,g+8|0,b+8|0,d,8)|0)|0}return f|0}function eH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+240|0;g=d+128|0;f=d+64|0;e=d;dj(f,b+c|0,8,c);Jz(g,b+(0-(c<<1))+1|0,c);uj(e,g+16|0,8,8);pv(a,f,e,c,8,8,8);Mb=d;return}function fH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+464|0;g=d+256|0;f=d+128|0;e=d;ui(f,b,16,c);Xr(g,b+(0-(c<<1))+2|0,c);Hi(e,g+32|0,16,16);Jo(a,f,e,c,16,16,8);Mb=d;return}function gH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+464|0;g=d+256|0;f=d+128|0;e=d;yi(f,b,16,c);Xr(g,b+(0-(c<<1))+2|0,c);Ji(e,g+32|0,16,16);Jo(a,f,e,c,16,16,8);Mb=d;return}function hH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+464|0;g=d+256|0;f=d+128|0;e=d;zi(f,b,16,c);Xr(g,b+(0-(c<<1))+2|0,c);Ki(e,g+32|0,16,16);Jo(a,f,e,c,16,16,8);Mb=d;return}function iH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+160|0;g=d+112|0;f=d+152|0;e=d+144|0;WG(g,b+(0-(c<<1))+2|0,c);gx(f,g+8|0,4);$p(e,d,b,4,c);BB(a,f,e,c,4);Mb=d;return}function jH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+160|0;g=d+112|0;f=d+152|0;e=d+144|0;WG(g,b+(0-(c<<1))+2|0,c);tx(f,g+8|0,4);eq(e,d,b,4,c);BB(a,f,e,c,4);Mb=d;return}function kH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+848|0;g=d+512|0;f=d+256|0;e=d;VL(f,b+c|0,16,c);Ms(g,b+(0-(c<<1))+1|0,c);AP(e,g+32|0,16);PU(a,f,e,c,16);Mb=d;return}function lH(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=H(d,b)|0;d=(b|0)==0?0:d;if((c[e+76>>2]|0)>-1){g=(h2(e)|0)==0;a=Js(a,f,e)|0;if(!g)g2(e)}else a=Js(a,f,e)|0;if((a|0)!=(f|0))d=(a>>>0)/(b>>>0)|0;return d|0}function mH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+240|0;g=d+128|0;f=d+64|0;e=d;dj(f,b+c|0,8,c);Jz(g,b+(0-(c<<1))+1|0,c);uj(e,g+16|0,8,8);wt(a,f,e,c,8,8,8);Mb=d;return}function nH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+464|0;g=d+256|0;f=d+128|0;e=d;ui(f,b,16,c);Xr(g,b+(0-(c<<1))+2|0,c);Hi(e,g+32|0,16,16);om(a,f,e,c,16,16,8);Mb=d;return}function oH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+464|0;g=d+256|0;f=d+128|0;e=d;yi(f,b,16,c);Xr(g,b+(0-(c<<1))+2|0,c);Ji(e,g+32|0,16,16);om(a,f,e,c,16,16,8);Mb=d;return}function pH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+464|0;g=d+256|0;f=d+128|0;e=d;zi(f,b,16,c);Xr(g,b+(0-(c<<1))+2|0,c);Ki(e,g+32|0,16,16);om(a,f,e,c,16,16,8);Mb=d;return}function qH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+848|0;g=d+512|0;f=d+256|0;e=d;VL(f,b+c|0,16,c);Ms(g,b+(0-(c<<1))+1|0,c);AP(e,g+32|0,16);RU(a,f,e,c,16);Mb=d;return}function rH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+432|0;g=d+352|0;f=d+32|0;e=d;Jy(g,b+(0-(c<<1))+2|0,c);Ir(f,g+16|0,8);Kk(e,d+64|0,b,8,c);uw(a,f,e,c,8);Mb=d;return}function sH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+432|0;g=d+352|0;f=d+32|0;e=d;Jy(g,b+(0-(c<<1))+2|0,c);Rr(f,g+16|0,8);Ok(e,d+64|0,b,8,c);uw(a,f,e,c,8);Mb=d;return}function tH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+288|0;g=d+208|0;f=d+32|0;e=d;Jy(g,b+(0-(c<<1))+2|0,c);Sr(f,g+16|0,8);Vi(e,d+64|0,b,8,c);uw(a,f,e,c,8);Mb=d;return}function uH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+432|0;g=d+352|0;f=d+32|0;e=d;Jy(g,b+(0-(c<<1))+2|0,c);Ir(f,g+16|0,8);Kk(e,d+64|0,b,8,c);uu(a,f,e,c,8);Mb=d;return}function vH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+432|0;g=d+352|0;f=d+32|0;e=d;Jy(g,b+(0-(c<<1))+2|0,c);Rr(f,g+16|0,8);Ok(e,d+64|0,b,8,c);uu(a,f,e,c,8);Mb=d;return}function wH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+288|0;g=d+208|0;f=d+32|0;e=d;Jy(g,b+(0-(c<<1))+2|0,c);Sr(f,g+16|0,8);Vi(e,d+64|0,b,8,c);uu(a,f,e,c,8);Mb=d;return}function xH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+112|0;g=d+64|0;f=d+104|0;e=d+96|0;WG(g,b+(0-(c<<1))+2|0,c);ux(f,g+8|0,4);Po(e,d,b,4,c);BB(a,f,e,c,4);Mb=d;return}function yH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+1696|0;g=d+1024|0;f=d+512|0;e=d;GL(f,b+c|0,32,c);Vj(g,b+(0-(c<<1))|0,c);rP(e,g+64|0,32);KU(a,f,e,c,32);Mb=d;return}function zH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+1696|0;g=d+1024|0;f=d+512|0;e=d;GL(f,b+c|0,32,c);Vj(g,b+(0-(c<<1))|0,c);rP(e,g+64|0,32);MU(a,f,e,c,32);Mb=d;return}function AH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+464|0;g=d+256|0;f=d+128|0;e=d;Ei(f,b,16,c);Xr(g,b+(0-(c<<1))+2|0,c);Li(e,g+32|0,16,16);Jo(a,f,e,c,16,16,8);Mb=d;return}function BH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+464|0;g=d+256|0;f=d+128|0;e=d;Ei(f,b,16,c);Xr(g,b+(0-(c<<1))+2|0,c);Li(e,g+32|0,16,16);om(a,f,e,c,16,16,8);Mb=d;return}function CH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+240|0;g=d+128|0;f=d+64|0;e=d;dj(f,b+c|0,8,c);Jz(g,b+(0-(c<<1))|0,c);uj(e,g+16|0,8,8);pv(a,f,e,c,8,8,8);Mb=d;return}function DH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+464|0;g=d+256|0;f=d+128|0;e=d;ui(f,b,16,c);Xr(g,b+(0-(c<<1))|0,c);Hi(e,g+32|0,16,16);Jo(a,f,e,c,16,16,8);Mb=d;return}function EH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+464|0;g=d+256|0;f=d+128|0;e=d;yi(f,b,16,c);Xr(g,b+(0-(c<<1))|0,c);Ji(e,g+32|0,16,16);Jo(a,f,e,c,16,16,8);Mb=d;return}function FH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+464|0;g=d+256|0;f=d+128|0;e=d;zi(f,b,16,c);Xr(g,b+(0-(c<<1))|0,c);Ki(e,g+32|0,16,16);Jo(a,f,e,c,16,16,8);Mb=d;return}function GH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+288|0;g=d+208|0;f=d+32|0;e=d;Jy(g,b+(0-(c<<1))+2|0,c);$r(f,g+16|0,8);sj(e,d+64|0,b,8,c);uw(a,f,e,c,8);Mb=d;return}function HH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+160|0;g=d+112|0;f=d+152|0;e=d+144|0;WG(g,b+(0-(c<<1))|0,c);gx(f,g+8|0,4);$p(e,d,b,4,c);BB(a,f,e,c,4);Mb=d;return}function IH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+160|0;g=d+112|0;f=d+152|0;e=d+144|0;WG(g,b+(0-(c<<1))|0,c);tx(f,g+8|0,4);eq(e,d,b,4,c);BB(a,f,e,c,4);Mb=d;return}function JH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+1696|0;g=d+1024|0;f=d+512|0;e=d;jL(f,b,32,c);Vj(g,b+(0-(c<<1))+2|0,c);_O(e,g+64|0,32);KU(a,f,e,c,32);Mb=d;return}function KH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+1696|0;g=d+1024|0;f=d+512|0;e=d;kL(f,b,32,c);Vj(g,b+(0-(c<<1))+2|0,c);$O(e,g+64|0,32);KU(a,f,e,c,32);Mb=d;return}function LH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+1696|0;g=d+1024|0;f=d+512|0;e=d;lL(f,b,32,c);Vj(g,b+(0-(c<<1))+2|0,c);aP(e,g+64|0,32);KU(a,f,e,c,32);Mb=d;return}function MH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+848|0;g=d+512|0;f=d+256|0;e=d;VL(f,b+c|0,16,c);Ms(g,b+(0-(c<<1))|0,c);AP(e,g+32|0,16);PU(a,f,e,c,16);Mb=d;return}function NH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+240|0;g=d+128|0;f=d+64|0;e=d;dj(f,b+c|0,8,c);Jz(g,b+(0-(c<<1))|0,c);uj(e,g+16|0,8,8);wt(a,f,e,c,8,8,8);Mb=d;return}function OH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+464|0;g=d+256|0;f=d+128|0;e=d;ui(f,b,16,c);Xr(g,b+(0-(c<<1))|0,c);Hi(e,g+32|0,16,16);om(a,f,e,c,16,16,8);Mb=d;return}function PH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+464|0;g=d+256|0;f=d+128|0;e=d;yi(f,b,16,c);Xr(g,b+(0-(c<<1))|0,c);Ji(e,g+32|0,16,16);om(a,f,e,c,16,16,8);Mb=d;return}function QH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+464|0;g=d+256|0;f=d+128|0;e=d;zi(f,b,16,c);Xr(g,b+(0-(c<<1))|0,c);Ki(e,g+32|0,16,16);om(a,f,e,c,16,16,8);Mb=d;return}function RH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+288|0;g=d+208|0;f=d+32|0;e=d;Jy(g,b+(0-(c<<1))+2|0,c);$r(f,g+16|0,8);sj(e,d+64|0,b,8,c);uu(a,f,e,c,8);Mb=d;return}function SH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+1696|0;g=d+1024|0;f=d+512|0;e=d;jL(f,b,32,c);Vj(g,b+(0-(c<<1))+2|0,c);_O(e,g+64|0,32);MU(a,f,e,c,32);Mb=d;return}function TH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+1696|0;g=d+1024|0;f=d+512|0;e=d;kL(f,b,32,c);Vj(g,b+(0-(c<<1))+2|0,c);$O(e,g+64|0,32);MU(a,f,e,c,32);Mb=d;return}function UH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+1696|0;g=d+1024|0;f=d+512|0;e=d;lL(f,b,32,c);Vj(g,b+(0-(c<<1))+2|0,c);aP(e,g+64|0,32);MU(a,f,e,c,32);Mb=d;return}function VH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+848|0;g=d+512|0;f=d+256|0;e=d;VL(f,b+c|0,16,c);Ms(g,b+(0-(c<<1))|0,c);AP(e,g+32|0,16);RU(a,f,e,c,16);Mb=d;return}function WH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+160|0;g=d+112|0;f=d+16|0;e=d;VG(g,b+(0-(c<<1))+1|0,c);Rs(f,g+8|0,4);Tj(e,d+32|0,b,4,c);SB(a,f,e,c,4);Mb=d;return}function XH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+432|0;g=d+352|0;f=d+32|0;e=d;Jy(g,b+(0-(c<<1))|0,c);Ir(f,g+16|0,8);Kk(e,d+64|0,b,8,c);uw(a,f,e,c,8);Mb=d;return}function YH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+432|0;g=d+352|0;f=d+32|0;e=d;Jy(g,b+(0-(c<<1))|0,c);Rr(f,g+16|0,8);Ok(e,d+64|0,b,8,c);uw(a,f,e,c,8);Mb=d;return}function ZH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+288|0;g=d+208|0;f=d+32|0;e=d;Jy(g,b+(0-(c<<1))|0,c);Sr(f,g+16|0,8);Vi(e,d+64|0,b,8,c);uw(a,f,e,c,8);Mb=d;return}function _H(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+112|0;g=d+64|0;f=d+104|0;e=d+96|0;WG(g,b+(0-(c<<1))+2|0,c);Bx(f,g+8|0,4);tp(e,d,b,4,c);BB(a,f,e,c,4);Mb=d;return}function $H(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;f=c[e+(f<<2)>>2]|0;e=0;while(1){if((e|0)>=(g|0))break;i=(H(f,b[d+(e<<1)>>1]|0)|0)+16384|0;h=i>>15;b[a+(e<<1)>>1]=(h+32768|0)>>>0>65535?i>>31^32767:h;e=e+1|0}return}function aI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+160|0;g=d+112|0;f=d+16|0;e=d;VG(g,b+(0-(c<<1))+1|0,c);Rs(f,g+8|0,4);Tj(e,d+32|0,b,4,c);TA(a,f,e,c,4);Mb=d;return}function bI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+432|0;g=d+352|0;f=d+32|0;e=d;Jy(g,b+(0-(c<<1))|0,c);Ir(f,g+16|0,8);Kk(e,d+64|0,b,8,c);uu(a,f,e,c,8);Mb=d;return}function cI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+432|0;g=d+352|0;f=d+32|0;e=d;Jy(g,b+(0-(c<<1))|0,c);Rr(f,g+16|0,8);Ok(e,d+64|0,b,8,c);uu(a,f,e,c,8);Mb=d;return}function dI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+288|0;g=d+208|0;f=d+32|0;e=d;Jy(g,b+(0-(c<<1))|0,c);Sr(f,g+16|0,8);Vi(e,d+64|0,b,8,c);uu(a,f,e,c,8);Mb=d;return}function eI(a,b,c,d,e,f,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0.0,j=0.0;j=+g[d+(e<<3)>>3];i=+g[d+(f<<3)>>3];e=0;while(1){if((e|0)>=(h|0))break;g[a+(e<<3)>>3]=j*+g[b+(e<<3)>>3]+i*+g[c+(e<<3)>>3];e=e+1|0}return}function fI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+112|0;g=d+64|0;f=d+104|0;e=d+96|0;WG(g,b+(0-(c<<1))|0,c);ux(f,g+8|0,4);Po(e,d,b,4,c);BB(a,f,e,c,4);Mb=d;return}function gI(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0.0,j=0.0;j=+f[d+(e<<2)>>2];i=+f[d+(g<<2)>>2];e=0;while(1){if((e|0)>=(h|0))break;f[a+(e<<2)>>2]=j*+f[b+(e<<2)>>2]+i*+f[c+(e<<2)>>2];e=e+1|0}return}function hI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+464|0;g=d+256|0;f=d+128|0;e=d;Ei(f,b,16,c);Xr(g,b+(0-(c<<1))|0,c);Li(e,g+32|0,16,16);Jo(a,f,e,c,16,16,8);Mb=d;return}function iI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+144|0;g=d+64|0;f=d+32|0;e=d;hp(f,b+c|0,8,c);Jy(g,b+(0-(c<<1))+2|0,c);Ir(e,g+16|0,8);uw(a,f,e,c,8);Mb=d;return}function jI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+144|0;g=d+64|0;f=d+32|0;e=d;np(f,b+c|0,8,c);Jy(g,b+(0-(c<<1))+2|0,c);Rr(e,g+16|0,8);uw(a,f,e,c,8);Mb=d;return}function kI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+144|0;g=d+64|0;f=d+32|0;e=d;op(f,b+c|0,8,c);Jy(g,b+(0-(c<<1))+2|0,c);Sr(e,g+16|0,8);uw(a,f,e,c,8);Mb=d;return}function lI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+64|0;g=d+36|0;f=d+32|0;e=d+28|0;hQ(g,b+(0-(c<<1))+1|0,c);xy(f,g+4|0,2);Wp(e,d,b,2,c);$D(a,f,e,c,2);Mb=d;return}function mI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+1696|0;g=d+1024|0;f=d+512|0;e=d;GL(f,b,32,c);Vj(g,b+(0-(c<<1))+2|0,c);rP(e,g+64|0,32);KU(a,f,e,c,32);Mb=d;return}function nI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+464|0;g=d+256|0;f=d+128|0;e=d;Ei(f,b,16,c);Xr(g,b+(0-(c<<1))|0,c);Li(e,g+32|0,16,16);om(a,f,e,c,16,16,8);Mb=d;return}function oI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+144|0;g=d+64|0;f=d+32|0;e=d;hp(f,b+c|0,8,c);Jy(g,b+(0-(c<<1))+2|0,c);Ir(e,g+16|0,8);uu(a,f,e,c,8);Mb=d;return}function pI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+144|0;g=d+64|0;f=d+32|0;e=d;np(f,b+c|0,8,c);Jy(g,b+(0-(c<<1))+2|0,c);Rr(e,g+16|0,8);uu(a,f,e,c,8);Mb=d;return}function qI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+144|0;g=d+64|0;f=d+32|0;e=d;op(f,b+c|0,8,c);Jy(g,b+(0-(c<<1))+2|0,c);Sr(e,g+16|0,8);uu(a,f,e,c,8);Mb=d;return}function rI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+1696|0;g=d+1024|0;f=d+512|0;e=d;GL(f,b,32,c);Vj(g,b+(0-(c<<1))+2|0,c);rP(e,g+64|0,32);MU(a,f,e,c,32);Mb=d;return}function sI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0.0;g=Mb;Mb=Mb+64|0;e=g;f=e;h=f+48|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0));c[e+48>>2]=c[a+32>>2];c[e+12>>2]=b;c[e+36>>2]=d;i=+nd(e,a);Mb=g;return +i}function tI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+288|0;g=d+208|0;f=d+32|0;e=d;Jy(g,b+(0-(c<<1))|0,c);$r(f,g+16|0,8);sj(e,d+64|0,b,8,c);uw(a,f,e,c,8);Mb=d;return}function uI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+1696|0;g=d+1024|0;f=d+512|0;e=d;jL(f,b,32,c);Vj(g,b+(0-(c<<1))|0,c);_O(e,g+64|0,32);KU(a,f,e,c,32);Mb=d;return}function vI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+1696|0;g=d+1024|0;f=d+512|0;e=d;kL(f,b,32,c);Vj(g,b+(0-(c<<1))|0,c);$O(e,g+64|0,32);KU(a,f,e,c,32);Mb=d;return}function wI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+1696|0;g=d+1024|0;f=d+512|0;e=d;lL(f,b,32,c);Vj(g,b+(0-(c<<1))|0,c);aP(e,g+64|0,32);KU(a,f,e,c,32);Mb=d;return}function xI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+288|0;g=d+208|0;f=d+32|0;e=d;Jy(g,b+(0-(c<<1))|0,c);$r(f,g+16|0,8);sj(e,d+64|0,b,8,c);uu(a,f,e,c,8);Mb=d;return}function yI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+1696|0;g=d+1024|0;f=d+512|0;e=d;jL(f,b,32,c);Vj(g,b+(0-(c<<1))|0,c);_O(e,g+64|0,32);MU(a,f,e,c,32);Mb=d;return}function zI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+1696|0;g=d+1024|0;f=d+512|0;e=d;kL(f,b,32,c);Vj(g,b+(0-(c<<1))|0,c);$O(e,g+64|0,32);MU(a,f,e,c,32);Mb=d;return}function AI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+1696|0;g=d+1024|0;f=d+512|0;e=d;lL(f,b,32,c);Vj(g,b+(0-(c<<1))|0,c);aP(e,g+64|0,32);MU(a,f,e,c,32);Mb=d;return}function BI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+240|0;g=d+128|0;f=d+64|0;e=d;dj(f,b,8,c);Jz(g,b+(0-(c<<1))+1|0,c);uj(e,g+16|0,8,8);pv(a,f,e,c,8,8,8);Mb=d;return}function CI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+160|0;g=d+112|0;f=d+16|0;e=d;VG(g,b+(0-(c<<1))|0,c);Rs(f,g+8|0,4);Tj(e,d+32|0,b,4,c);SB(a,f,e,c,4);Mb=d;return}function DI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+48|0;g=d;f=d+40|0;e=d+32|0;sv(f,b+c|0,4,c);WG(g,b+(0-(c<<1))+2|0,c);gx(e,g+8|0,4);BB(a,f,e,c,4);Mb=d;return}function EI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+48|0;g=d;f=d+40|0;e=d+32|0;wv(f,b+c|0,4,c);WG(g,b+(0-(c<<1))+2|0,c);tx(e,g+8|0,4);BB(a,f,e,c,4);Mb=d;return}function FI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+48|0;g=d;f=d+40|0;e=d+32|0;xv(f,b+c|0,4,c);WG(g,b+(0-(c<<1))+2|0,c);ux(e,g+8|0,4);BB(a,f,e,c,4);Mb=d;return}function GI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+112|0;g=d+64|0;f=d+104|0;e=d+96|0;WG(g,b+(0-(c<<1))|0,c);Bx(f,g+8|0,4);tp(e,d,b,4,c);BB(a,f,e,c,4);Mb=d;return}function HI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+848|0;g=d+512|0;f=d+256|0;e=d;VL(f,b,16,c);Ms(g,b+(0-(c<<1))+1|0,c);AP(e,g+32|0,16);PU(a,f,e,c,16);Mb=d;return}function II(a){a=a|0;var b=0;b=0;while(1){if((b|0)==32)break;F$(a+(b<<2)|0);b=b+1|0}b=0;while(1){if((b|0)==256)break;F$(a+128+(b<<2)|0);b=b+1|0}F$(a+1156|0);F$(a+1152|0);c[a+1160>>2]=0;c[a+1164>>2]=0;return}function JI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+240|0;g=d+128|0;f=d+64|0;e=d;dj(f,b,8,c);Jz(g,b+(0-(c<<1))+1|0,c);uj(e,g+16|0,8,8);wt(a,f,e,c,8,8,8);Mb=d;return}function KI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+160|0;g=d+112|0;f=d+16|0;e=d;VG(g,b+(0-(c<<1))|0,c);Rs(f,g+8|0,4);Tj(e,d+32|0,b,4,c);TA(a,f,e,c,4);Mb=d;return}function LI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+848|0;g=d+512|0;f=d+256|0;e=d;VL(f,b,16,c);Ms(g,b+(0-(c<<1))+1|0,c);AP(e,g+32|0,16);RU(a,f,e,c,16);Mb=d;return}function MI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+144|0;g=d+64|0;f=d+32|0;e=d;pp(f,b+c|0,8,c);Jy(g,b+(0-(c<<1))+2|0,c);$r(e,g+16|0,8);uw(a,f,e,c,8);Mb=d;return}function NI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=c[b+36>>2]|0;f=c[e+636>>2]|0;if(c[(c[a+4>>2]|0)+808>>2]&1|0){a=c[a+26992>>2]<<4>>f;d=d<<4>>f;Yw(e+4|0,(d|0)<(a|0)?d:a+-1|0,(f|0?(c[b+24>>2]|0)!=1:0)&1)}return}function OI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+144|0;g=d+64|0;f=d+32|0;e=d;pp(f,b+c|0,8,c);Jy(g,b+(0-(c<<1))+2|0,c);$r(e,g+16|0,8);uu(a,f,e,c,8);Mb=d;return}function PI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+144|0;g=d+64|0;f=d+32|0;e=d;hp(f,b+c|0,8,c);Jy(g,b+(0-(c<<1))|0,c);Ir(e,g+16|0,8);uw(a,f,e,c,8);Mb=d;return}function QI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+144|0;g=d+64|0;f=d+32|0;e=d;np(f,b+c|0,8,c);Jy(g,b+(0-(c<<1))|0,c);Rr(e,g+16|0,8);uw(a,f,e,c,8);Mb=d;return}function RI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+144|0;g=d+64|0;f=d+32|0;e=d;op(f,b+c|0,8,c);Jy(g,b+(0-(c<<1))|0,c);Sr(e,g+16|0,8);uw(a,f,e,c,8);Mb=d;return}function SI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+64|0;g=d+36|0;f=d+32|0;e=d+28|0;hQ(g,b+(0-(c<<1))|0,c);xy(f,g+4|0,2);Wp(e,d,b,2,c);$D(a,f,e,c,2);Mb=d;return}function TI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+1696|0;g=d+1024|0;f=d+512|0;e=d;GL(f,b,32,c);Vj(g,b+(0-(c<<1))|0,c);rP(e,g+64|0,32);KU(a,f,e,c,32);Mb=d;return}function UI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+144|0;g=d+64|0;f=d+32|0;e=d;hp(f,b+c|0,8,c);Jy(g,b+(0-(c<<1))|0,c);Ir(e,g+16|0,8);uu(a,f,e,c,8);Mb=d;return}function VI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+144|0;g=d+64|0;f=d+32|0;e=d;np(f,b+c|0,8,c);Jy(g,b+(0-(c<<1))|0,c);Rr(e,g+16|0,8);uu(a,f,e,c,8);Mb=d;return}function WI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+144|0;g=d+64|0;f=d+32|0;e=d;op(f,b+c|0,8,c);Jy(g,b+(0-(c<<1))|0,c);Sr(e,g+16|0,8);uu(a,f,e,c,8);Mb=d;return}function XI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+1696|0;g=d+1024|0;f=d+512|0;e=d;GL(f,b,32,c);Vj(g,b+(0-(c<<1))|0,c);rP(e,g+64|0,32);MU(a,f,e,c,32);Mb=d;return}function YI(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=yq(g,0,h)|0;f=(f|0)==0?h:f-g|0;d=f>>>0<d>>>0?f:d;Mn(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 ZI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+80|0;g=d+32|0;f=d+16|0;e=d;lq(f,b+c|0,4,c);VG(g,b+(0-(c<<1))+1|0,c);Rs(e,g+8|0,4);SB(a,f,e,c,4);Mb=d;return}function _I(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+48|0;g=d;f=d+40|0;e=d+32|0;Cv(f,b+c|0,4,c);WG(g,b+(0-(c<<1))+2|0,c);Bx(e,g+8|0,4);BB(a,f,e,c,4);Mb=d;return}function $I(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+80|0;g=d+32|0;f=d+16|0;e=d;lq(f,b+c|0,4,c);VG(g,b+(0-(c<<1))+1|0,c);Rs(e,g+8|0,4);TA(a,f,e,c,4);Mb=d;return}function aJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;do if(!a)d=0;else{a=c[a>>2]|0;e=(b|0)==0;if((e&(a|0)!=0?(f=c[a+8>>2]|0,f|0):0)?c[f>>2]|0:0){d=f;break}if(!e?(d=b+48|0,c[d>>2]|0):0)break;d=0}while(0);return d|0}function bJ(a,b,c,d,e,f,g,h,i,j,k,l,m,n){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=+h;i=i|0;j=j|0;k=+k;l=+l;m=m|0;n=n|0;return ac[a&1](b|0,c|0,d|0,e|0,f|0,g|0,+h,i|0,j|0,+k,+l,m|0,n|0)|0}function cJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+240|0;g=d+128|0;f=d+64|0;e=d;dj(f,b,8,c);Jz(g,b+(0-(c<<1))|0,c);uj(e,g+16|0,8,8);pv(a,f,e,c,8,8,8);Mb=d;return}function dJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+48|0;g=d;f=d+40|0;e=d+32|0;sv(f,b+c|0,4,c);WG(g,b+(0-(c<<1))|0,c);gx(e,g+8|0,4);BB(a,f,e,c,4);Mb=d;return}function eJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+48|0;g=d;f=d+40|0;e=d+32|0;wv(f,b+c|0,4,c);WG(g,b+(0-(c<<1))|0,c);tx(e,g+8|0,4);BB(a,f,e,c,4);Mb=d;return}function fJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+48|0;g=d;f=d+40|0;e=d+32|0;xv(f,b+c|0,4,c);WG(g,b+(0-(c<<1))|0,c);ux(e,g+8|0,4);BB(a,f,e,c,4);Mb=d;return}function gJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+848|0;g=d+512|0;f=d+256|0;e=d;VL(f,b,16,c);Ms(g,b+(0-(c<<1))|0,c);AP(e,g+32|0,16);PU(a,f,e,c,16);Mb=d;return}function hJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+240|0;g=d+128|0;f=d+64|0;e=d;dj(f,b,8,c);Jz(g,b+(0-(c<<1))|0,c);uj(e,g+16|0,8,8);wt(a,f,e,c,8,8,8);Mb=d;return}function iJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+848|0;g=d+512|0;f=d+256|0;e=d;VL(f,b,16,c);Ms(g,b+(0-(c<<1))|0,c);AP(e,g+32|0,16);RU(a,f,e,c,16);Mb=d;return}function jJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+144|0;g=d+64|0;f=d+32|0;e=d;pp(f,b+c|0,8,c);Jy(g,b+(0-(c<<1))|0,c);$r(e,g+16|0,8);uw(a,f,e,c,8);Mb=d;return}function kJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+32|0;g=d+8|0;f=d+4|0;e=d;Bw(f,b+c|0,2,c);hQ(g,b+(0-(c<<1))+1|0,c);xy(e,g+4|0,2);$D(a,f,e,c,2);Mb=d;return}function lJ(a){a=a|0;c[a>>2]=48;c[a+4>>2]=1;c[a+8>>2]=49;c[a+12>>2]=50;c[a+16>>2]=210;c[a+20>>2]=211;c[a+24>>2]=714;c[a+28>>2]=212;c[a+32>>2]=1;c[a+36>>2]=124;c[a+40>>2]=69;c[a+44>>2]=70;c[a+48>>2]=71;c[a+52>>2]=72;return}function mJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=Mb;Mb=Mb+16|0;f=g+8|0;e=g;if((b|0)>=1)if((d|0)<(b|0))a=0;else{c[f>>2]=d;AD(a,16,199679,f);a=-1}else{c[e>>2]=b;AD(a,16,199657,e);a=-1}Mb=g;return a|0}function nJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+144|0;g=d+64|0;f=d+32|0;e=d;pp(f,b+c|0,8,c);Jy(g,b+(0-(c<<1))|0,c);$r(e,g+16|0,8);uu(a,f,e,c,8);Mb=d;return}function oJ(){var a=0,b=0,d=0,e=0;b=Mb;Mb=Mb+16|0;a=b;Ha(a|0,0)|0;e=c[a>>2]|0;e=MR(e|0,((e|0)<0)<<31>>31|0,1e6,0)|0;d=M()|0;a=c[a+4>>2]|0;a=aX(e|0,d|0,a|0,((a|0)<0)<<31>>31|0)|0;L(M()|0);Mb=b;return a|0}function pJ(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a>>2]|0;if(b|0){d=b+4|0;while(1){f=c[b>>2]|0;e=f+-1|0;c[b>>2]=e;if(!f)break;bU((c[d>>2]|0)+(e<<3)|0);bU((c[d>>2]|0)+(c[b>>2]<<3)+4|0)}bU(d)}bU(a);return}function qJ(a,b,d,e,g){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;g=c[g>>2]|0;f[a>>2]=+f[b+((d&15)<<2)>>2]*(c[h>>2]=g^e>>>1<<31,+f[h>>2]);f[a+4>>2]=+f[b+((d>>>4&15)<<2)>>2]*(c[h>>2]=g^e<<31,+f[h>>2]);return a+8|0}function rJ(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;e=a+8|0;g=c[e>>2]|0;f=c[a+16>>2]|0;a=(c[a>>2]|0)+(g>>>3)|0;a=n0((d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24)>>>(g&7),b)|0;b=g+b|0;c[e>>2]=f>>>0>b>>>0?b:f;return a|0}function sJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+144|0;g=d+64|0;f=d+32|0;e=d;hp(f,b,8,c);Jy(g,b+(0-(c<<1))+2|0,c);Ir(e,g+16|0,8);uw(a,f,e,c,8);Mb=d;return}function tJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+144|0;g=d+64|0;f=d+32|0;e=d;np(f,b,8,c);Jy(g,b+(0-(c<<1))+2|0,c);Rr(e,g+16|0,8);uw(a,f,e,c,8);Mb=d;return}function uJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+144|0;g=d+64|0;f=d+32|0;e=d;op(f,b,8,c);Jy(g,b+(0-(c<<1))+2|0,c);Sr(e,g+16|0,8);uw(a,f,e,c,8);Mb=d;return}function vJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+80|0;g=d+32|0;f=d+16|0;e=d;lq(f,b+c|0,4,c);VG(g,b+(0-(c<<1))|0,c);Rs(e,g+8|0,4);SB(a,f,e,c,4);Mb=d;return}function wJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+48|0;g=d;f=d+40|0;e=d+32|0;Cv(f,b+c|0,4,c);WG(g,b+(0-(c<<1))|0,c);Bx(e,g+8|0,4);BB(a,f,e,c,4);Mb=d;return}function xJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+144|0;g=d+64|0;f=d+32|0;e=d;hp(f,b,8,c);Jy(g,b+(0-(c<<1))+2|0,c);Ir(e,g+16|0,8);uu(a,f,e,c,8);Mb=d;return}function yJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+144|0;g=d+64|0;f=d+32|0;e=d;np(f,b,8,c);Jy(g,b+(0-(c<<1))+2|0,c);Rr(e,g+16|0,8);uu(a,f,e,c,8);Mb=d;return}function zJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+144|0;g=d+64|0;f=d+32|0;e=d;op(f,b,8,c);Jy(g,b+(0-(c<<1))+2|0,c);Sr(e,g+16|0,8);uu(a,f,e,c,8);Mb=d;return}function AJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+80|0;g=d+32|0;f=d+16|0;e=d;lq(f,b+c|0,4,c);VG(g,b+(0-(c<<1))|0,c);Rs(e,g+8|0,4);TA(a,f,e,c,4);Mb=d;return}function BJ(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0;g=e<<1;b=e*3|0;f=H(((d[a+-1>>0]|0)+2+(d[a+(e+-1)>>0]|0)+(d[a+(g+-1)>>0]|0)+(d[a+(b+-1)>>0]|0)|0)>>>2,16843009)|0;c[a>>2]=f;c[a+e>>2]=f;c[a+g>>2]=f;c[a+b>>2]=f;return}function CJ(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[b>>2]|0;b=c[b+4>>2]|0;e=a+28|0;Ya(3,e|0);GQ(33984,c[e>>2]|0);GQ(33985,c[a+32>>2]|0);GQ(33986,c[a+36>>2]|0);EQ(169263)|0;c[a+44>>2]=d;c[a+48>>2]=b;return}function DJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+48|0;g=d;f=d+40|0;e=d+32|0;sv(f,b,4,c);WG(g,b+(0-(c<<1))+2|0,c);gx(e,g+8|0,4);BB(a,f,e,c,4);Mb=d;return}function EJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+48|0;g=d;f=d+40|0;e=d+32|0;wv(f,b,4,c);WG(g,b+(0-(c<<1))+2|0,c);tx(e,g+8|0,4);BB(a,f,e,c,4);Mb=d;return}function FJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+48|0;g=d;f=d+40|0;e=d+32|0;xv(f,b,4,c);WG(g,b+(0-(c<<1))+2|0,c);ux(e,g+8|0,4);BB(a,f,e,c,4);Mb=d;return}function GJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+32|0;g=d+8|0;f=d+4|0;e=d;Bw(f,b+c|0,2,c);hQ(g,b+(0-(c<<1))|0,c);xy(e,g+4|0,2);$D(a,f,e,c,2);Mb=d;return}function HJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+144|0;g=d+64|0;f=d+32|0;e=d;pp(f,b,8,c);Jy(g,b+(0-(c<<1))+2|0,c);$r(e,g+16|0,8);uw(a,f,e,c,8);Mb=d;return}function IJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+144|0;g=d+64|0;f=d+32|0;e=d;pp(f,b,8,c);Jy(g,b+(0-(c<<1))+2|0,c);$r(e,g+16|0,8);uu(a,f,e,c,8);Mb=d;return}function JJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+144|0;g=d+64|0;f=d+32|0;e=d;hp(f,b,8,c);Jy(g,b+(0-(c<<1))|0,c);Ir(e,g+16|0,8);uw(a,f,e,c,8);Mb=d;return}function KJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+144|0;g=d+64|0;f=d+32|0;e=d;np(f,b,8,c);Jy(g,b+(0-(c<<1))|0,c);Rr(e,g+16|0,8);uw(a,f,e,c,8);Mb=d;return}function LJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+144|0;g=d+64|0;f=d+32|0;e=d;op(f,b,8,c);Jy(g,b+(0-(c<<1))|0,c);Sr(e,g+16|0,8);uw(a,f,e,c,8);Mb=d;return}function MJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+144|0;g=d+64|0;f=d+32|0;e=d;hp(f,b,8,c);Jy(g,b+(0-(c<<1))|0,c);Ir(e,g+16|0,8);uu(a,f,e,c,8);Mb=d;return}function NJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+144|0;g=d+64|0;f=d+32|0;e=d;np(f,b,8,c);Jy(g,b+(0-(c<<1))|0,c);Rr(e,g+16|0,8);uu(a,f,e,c,8);Mb=d;return}function OJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+144|0;g=d+64|0;f=d+32|0;e=d;op(f,b,8,c);Jy(g,b+(0-(c<<1))|0,c);Sr(e,g+16|0,8);uu(a,f,e,c,8);Mb=d;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;var h=0,i=0,j=0;j=(e|0)==0;h=0;while(1){if((h|0)>=(f|0))break;i=d+(H(h,g)|0)|0;i=Xb[b&15](a,i)|0;if(!j)c[e+(h<<2)>>2]=i;h=h+1|0}return 0}function QJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+80|0;g=d+32|0;f=d+16|0;e=d;lq(f,b,4,c);VG(g,b+(0-(c<<1))+1|0,c);Rs(e,g+8|0,4);SB(a,f,e,c,4);Mb=d;return}function RJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+48|0;g=d;f=d+40|0;e=d+32|0;Cv(f,b,4,c);WG(g,b+(0-(c<<1))+2|0,c);Bx(e,g+8|0,4);BB(a,f,e,c,4);Mb=d;return}function SJ(a){a=a|0;var b=0,e=0,f=0,g=0;b=c[a>>2]|0;if(!b)a=31;else{e=(b|0)>-1?b:0-b|0;g=e>>>0>65535;e=g?e>>>16:e;g=g?16:0;f=(e&65280|0)==0;e=30-(f?g:g|8)-(d[94448+(f?e:e>>>8)>>0]|0)|0;c[a>>2]=b<<e;a=e}return a|0}function TJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+80|0;g=d+32|0;f=d+16|0;e=d;lq(f,b,4,c);VG(g,b+(0-(c<<1))+1|0,c);Rs(e,g+8|0,4);TA(a,f,e,c,4);Mb=d;return}function UJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+48|0;g=d;f=d+40|0;e=d+32|0;sv(f,b,4,c);WG(g,b+(0-(c<<1))|0,c);gx(e,g+8|0,4);BB(a,f,e,c,4);Mb=d;return}function VJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+48|0;g=d;f=d+40|0;e=d+32|0;wv(f,b,4,c);WG(g,b+(0-(c<<1))|0,c);tx(e,g+8|0,4);BB(a,f,e,c,4);Mb=d;return}function WJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+48|0;g=d;f=d+40|0;e=d+32|0;xv(f,b,4,c);WG(g,b+(0-(c<<1))|0,c);ux(e,g+8|0,4);BB(a,f,e,c,4);Mb=d;return}function XJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=Mb;Mb=Mb+16|0;f=g;if(d>>>0<=2147483615?(e=EZ(d+32|0)|0,c[f>>2]=e,(e|0)!=0):0){if((_u(a,b,e,d)|0)<0){bU(f);e=0}}else e=0;Mb=g;return e|0}function YJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+144|0;g=d+64|0;f=d+32|0;e=d;pp(f,b,8,c);Jy(g,b+(0-(c<<1))|0,c);$r(e,g+16|0,8);uw(a,f,e,c,8);Mb=d;return}function ZJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+32|0;g=d+8|0;f=d+4|0;e=d;Bw(f,b,2,c);hQ(g,b+(0-(c<<1))+1|0,c);xy(e,g+4|0,2);$D(a,f,e,c,2);Mb=d;return}function _J(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+144|0;g=d+64|0;f=d+32|0;e=d;pp(f,b,8,c);Jy(g,b+(0-(c<<1))|0,c);$r(e,g+16|0,8);uu(a,f,e,c,8);Mb=d;return}function $J(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0;i=d>>>1;g=b>>>1;f=h<<1;d=0;while(1){if((d|0)>=(e|0))break;Mn(a|0,c|0,f|0)|0;d=d+1|0;a=a+(g<<1)|0;c=c+(i<<1)|0}return}function aK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+80|0;g=d+32|0;f=d+16|0;e=d;lq(f,b,4,c);VG(g,b+(0-(c<<1))|0,c);Rs(e,g+8|0,4);SB(a,f,e,c,4);Mb=d;return}function bK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+48|0;g=d;f=d+40|0;e=d+32|0;Cv(f,b,4,c);WG(g,b+(0-(c<<1))|0,c);Bx(e,g+8|0,4);BB(a,f,e,c,4);Mb=d;return}function cK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+80|0;g=d+32|0;f=d+16|0;e=d;lq(f,b,4,c);VG(g,b+(0-(c<<1))|0,c);Rs(e,g+8|0,4);TA(a,f,e,c,4);Mb=d;return}function dK(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[a+16>>2]|0;e=c[a>>2]|0;d=(e&1|0)==0?d:d+-1|0;d=(e&511|0)==0?d:d+-1|0;e=(c[a+20>>2]|0)-d|0;if((e|0)<(b|0))d=0;else{e=(sB(a,d+b|0,e-b|0)|0)<0;d=e?0:d}return d|0}function eK(a,c,d,e,f,g,h){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;i=0;while(1){if((i|0)>=(d|0))break;b[a+(i<<1)>>1]=b[c+(f<<1)>>1]|0;j=aX(e|0,f|0,g|0,h|0)|0;i=i+1|0;e=j;f=M()|0}return}function fK(a,b,c,d,e,f,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0;i=0;while(1){if((i|0)>=(c|0))break;g[a+(i<<3)>>3]=+g[b+(e<<3)>>3];j=aX(d|0,e|0,f|0,h|0)|0;i=i+1|0;d=j;e=M()|0}return}function gK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+32|0;g=d+8|0;f=d+4|0;e=d;Bw(f,b,2,c);hQ(g,b+(0-(c<<1))|0,c);xy(e,g+4|0,2);$D(a,f,e,c,2);Mb=d;return}function hK(a){a=a|0;var b=0,d=0;b=0;while(1){if(b>>>0>=28){b=0;a=0;break}if((c[93424+(b<<4)+4>>2]|0)==(a|0)){d=4;break}b=b+1|0}if((d|0)==4){a=93424+(b<<4)+8|0;b=c[a+4>>2]|0;a=c[a>>2]|0}L(b|0);return a|0}function iK(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0;e=+f[d>>2];f[a>>2]=e*+f[b+((c&3)<<2)>>2];f[a+4>>2]=e*+f[b+((c>>>2&3)<<2)>>2];f[a+8>>2]=e*+f[b+((c>>>4&3)<<2)>>2];f[a+12>>2]=e*+f[b+((c>>>6&3)<<2)>>2];return a+16|0}function jK(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;e=0;while(1){if((e|0)>=(d|0))break;g=c+(e<<2)|0;f[a+(e<<3)>>2]=+f[b+(e<<3)>>2]*+f[g>>2];f[a+(e<<3)+4>>2]=+f[b+(e<<3)+4>>2]*+f[g>>2];e=e+1|0}return}function kK(){var a=0;a=1;while(1){if((a|0)==320)break;c[32+(a+320<<2)>>2]=c[32+(320-a<<2)>>2];a=a+1|0}f[392]=-+f[392];f[520]=-+f[520];a=0;while(1){if((a|0)==320)break;c[292512+(a<<2)>>2]=c[32+(a<<1<<2)>>2];a=a+1|0}return}function lK(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;i=0;while(1){if((i|0)>=(d|0))break;c[a+(i<<2)>>2]=c[b+(f<<2)>>2];j=aX(e|0,f|0,g|0,h|0)|0;i=i+1|0;e=j;f=M()|0}return}function mK(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;g=0;while(1){e=g+1|0;if(e>>>0>=d>>>0)break;f=a[c>>0]|0;if(!(f<<24>>24))break;a[b>>0]=f;g=e;b=b+1|0;c=c+1|0}if(g>>>0<d>>>0)a[b>>0]=0;return (nA(c)|0)+g|0}function nK(b,d){b=b|0;d=d|0;var e=0;do if(a[(c[b+1416>>2]|0)+43>>0]|0){e=c[(c[b+1412>>2]|0)+13384>>2]|0;d=(d|0)%(e|0)|0;if((d|0)!=2?!((e|0)==2&(d|0)==0):0)break;Mn(c[b+152>>2]|0,c[b+136>>2]|0,199)|0}while(0);return}function oK(a,b){a=a|0;b=b|0;var d=0;if(a){d=H(b,a)|0;if((b|a)>>>0>65535)d=((d>>>0)/(a>>>0)|0|0)==(b|0)?d:-1}else d=0;a=zc(d)|0;if(!a)return a|0;if(!(c[a+-4>>2]&3))return a|0;jv(a|0,0,d|0)|0;return a|0}function pK(a){a=a|0;a=EZ(40)|0;if(!a)a=0;else{c[a>>2]=173;c[a+4>>2]=1;c[a+12>>2]=2;c[a+8>>2]=3;c[a+16>>2]=4;c[a+20>>2]=128;c[a+24>>2]=129;c[a+28>>2]=174;c[a+32>>2]=719;c[a+36>>2]=1}return a|0}function qK(a,b){a=a|0;b=b|0;var d=0,e=0;a:do if(!(c[a+272>>2]|0))c[b>>2]=c[a>>2];else{e=c[a+260>>2]|0;d=0;while(1){if((d|0)>=(e|0))break a;c[b+(d<<2)>>2]=c[a+(d<<2)>>2];d=d+1|0}}while(0);return}function rK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=Mb;Mb=Mb+16|0;e=f;c[e>>2]=0;d=TK(e,b)|0;if((d|0)>=0){eD(a);d=c[e>>2]|0;c[a>>2]=d;c[a+24>>2]=c[d+4>>2];c[a+28>>2]=b;d=0}Mb=f;return d|0}function sK(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=Mb;Mb=Mb+16|0;e=g;if(b){d=lA(d,b)|0;if((d|0)<0)f=3}else{d=-22;f=3}if((f|0)==3){c[e>>2]=b;AD(a,16,212714,e)}Mb=g;return d|0}function tK(b,c,e){b=b|0;c=c|0;e=e|0;var f=0;f=WP(d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24,c,e)|0;a[b>>0]=f;a[b+1>>0]=f>>8;a[b+2>>0]=f>>16;a[b+3>>0]=f>>24;return ((e|0)!=0&((c|0)!=0&(f|0)==0)?-12:0)|0}function uK(a,b,c,d,e,f,g,h,i,j,k,l,m){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;rc[a&15](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0,l|0,m|0)}function vK(a,b){a=a|0;b=b|0;b=b+-1|0;while(1){if((b|0)>=672)break;f[a+(b<<5)+16>>2]=0.0;f[a+(b<<5)+20>>2]=0.0;f[a+(b<<5)>>2]=0.0;f[a+(b<<5)+4>>2]=0.0;f[a+(b<<5)+8>>2]=1.0;f[a+(b<<5)+12>>2]=1.0;b=b+30|0}return}function wK(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;e=0;while(1){if((e|0)==16)break;f=H(e,b)|0;g=H(d[a+(f+-1)>>0]|0,16843009)|0;f=a+f|0;c[f>>2]=g;c[f+4>>2]=g;c[f+8>>2]=g;c[f+12>>2]=g;e=e+1|0}return}function xK(a){a=a|0;var b=0,d=0,e=0,f=0;f=(a|0)==0;a=(c[41776]|0)==(a|0);b=0;while(1)if((b|0)!=0|f|a)break;else b=1;d=c[41776]|0;e=(d|0)!=0;a=f&(b|0)==0^1;while(1)if(a|e)break;else a=1;return (a?0:d)|0}function yK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;d=0;while(1){if((d|0)==64)break;g=b+(d<<2)|0;e=c+(63-d<<2)|0;f[a+(d<<2)>>2]=+f[g>>2]-+f[e>>2];f[a+(127-d<<2)>>2]=+f[g>>2]+ +f[e>>2];d=d+1|0}return}function zK(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=c[a+1412>>2]|0;f=c[g+13336>>2]|0;e=(c[(c[a+1416>>2]|0)+1668>>2]|0)+((H(e>>f,c[g+13384>>2]|0)|0)+(d>>f)<<2)|0;return c[(c[b+28>>2]|0)+(c[e>>2]<<2)>>2]|0}function AK(b){b=b|0;var d=0,e=0,f=0;e=a[(c[b+1416>>2]|0)+1633>>0]|0;e=((e&255)>5?e:5)&255;d=b+136|0;b=0;while(1){if(b>>>0>=e>>>0)break;f=c[d>>2]|0;if(!(LA(f+224|0,f+177|0)|0))break;b=b+1|0}return b|0}function BK(a){a=a|0;var b=0,d=0;b=Mb;Mb=Mb+32|0;d=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];c[d+16>>2]=c[a+16>>2];a=rO(d,32)|0;Mb=b;return a|0}function CK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=b>>1;b=0;while(1){if((b|0)==8)break;e=a+((H(b,d)|0)<<1)|0;f=e;c[f>>2]=536944641;c[f+4>>2]=536944641;e=e+8|0;c[e>>2]=536944641;c[e+4>>2]=536944641;b=b+1|0}return}function DK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=b>>1;b=0;while(1){if((b|0)==8)break;e=a+((H(b,d)|0)<<1)|0;f=e;c[f>>2]=134285313;c[f+4>>2]=134285313;e=e+8|0;c[e>>2]=134285313;c[e+4>>2]=134285313;b=b+1|0}return}function EK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=b>>1;b=0;while(1){if((b|0)==8)break;e=a+((H(b,d)|0)<<1)|0;f=e;c[f>>2]=536879104;c[f+4>>2]=536879104;e=e+8|0;c[e>>2]=536879104;c[e+4>>2]=536879104;b=b+1|0}return}function FK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=b>>1;b=0;while(1){if((b|0)==8)break;e=a+((H(b,d)|0)<<1)|0;f=e;c[f>>2]=134219776;c[f+4>>2]=134219776;e=e+8|0;c[e>>2]=134219776;c[e+4>>2]=134219776;b=b+1|0}return}function GK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=b>>1;b=0;while(1){if((b|0)==8)break;e=a+((H(b,d)|0)<<1)|0;f=e;c[f>>2]=536813567;c[f+4>>2]=536813567;e=e+8|0;c[e>>2]=536813567;c[e+4>>2]=536813567;b=b+1|0}return}function HK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=b>>1;b=0;while(1){if((b|0)==8)break;e=a+((H(b,d)|0)<<1)|0;f=e;c[f>>2]=134154239;c[f+4>>2]=134154239;e=e+8|0;c[e>>2]=134154239;c[e+4>>2]=134154239;b=b+1|0}return}function IK(a,b){a=a|0;b=b|0;var c=0,d=0;c=a+32856|0;if(!(BA(c,a+32972|0)|0)){a=a+32973|0;d=BA(c,a)|0;d=((BA(c,a)|0)<<1)+d|0;c=d+((BA(c,a)|0)<<2)|0;b=c+((c|0)>=(b|0)&1)|0}return b|0}function JK(a,b){a=a|0;b=b|0;var d=0;d=(mT(b)|0)==0;c[a>>2]=d&1;if(d){d=mT(b)|0;c[a+8>>2]=d;d=mT(b)|0;c[a+12>>2]=d;d=HG(b,16)|0;c[a+4>>2]=d;PL(b)|0;s1(b)}return}function KK(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=H(e,f)|0;d=a>>>16;a=(c>>>16)+(H(e,d)|0)|0;e=b>>>16;b=H(e,f)|0;return (L((a>>>16)+(H(e,d)|0)+(((a&65535)+b|0)>>>16)|0),a+b<<16|c&65535|0)|0}function LK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=b>>1;b=0;while(1){if((b|0)==8)break;e=a+((H(b,d)|0)<<1)|0;f=e;c[f>>2]=33620481;c[f+4>>2]=33620481;e=e+8|0;c[e>>2]=33620481;c[e+4>>2]=33620481;b=b+1|0}return}function MK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=b>>1;b=0;while(1){if((b|0)==8)break;e=a+((H(b,d)|0)<<1)|0;f=e;c[f>>2]=33554944;c[f+4>>2]=33554944;e=e+8|0;c[e>>2]=33554944;c[e+4>>2]=33554944;b=b+1|0}return}function NK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=b>>1;b=0;while(1){if((b|0)==8)break;e=a+((H(b,d)|0)<<1)|0;f=e;c[f>>2]=33489407;c[f+4>>2]=33489407;e=e+8|0;c[e>>2]=33489407;c[e+4>>2]=33489407;b=b+1|0}return}function OK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=b>>1;b=0;while(1){if((b|0)==8)break;e=a+((H(b,d)|0)<<1)|0;f=e;c[f>>2]=16843009;c[f+4>>2]=16843009;e=e+8|0;c[e>>2]=16843009;c[e+4>>2]=16843009;b=b+1|0}return}function PK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=b>>1;b=0;while(1){if((b|0)==8)break;e=a+((H(b,d)|0)<<1)|0;f=e;c[f>>2]=16777472;c[f+4>>2]=16777472;e=e+8|0;c[e>>2]=16777472;c[e+4>>2]=16777472;b=b+1|0}return}function QK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=b>>1;b=0;while(1){if((b|0)==8)break;e=a+((H(b,d)|0)<<1)|0;f=e;c[f>>2]=16711935;c[f+4>>2]=16711935;e=e+8|0;c[e>>2]=16711935;c[e+4>>2]=16711935;b=b+1|0}return}function RK(a){a=a|0;var b=0,e=0;b=a+8|0;e=c[b>>2]|0;a=(c[a>>2]|0)+(e>>>3)|0;a=(W_(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(e&7)>>>23;c[b>>2]=e+(d[75744+a>>0]|0);return d[76256+a>>0]|0|0}function SK(a){a=a|0;var b=0,d=0;b=Mb;Mb=Mb+32|0;d=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];c[d+16>>2]=c[a+16>>2];a=CP(d,32)|0;Mb=b;return a|0}function TK(b,d){b=b|0;d=d|0;var e=0;if(d>>>0<=2147483614){e=Dp(b,d+32|0)|0;if((e|0)>=0){e=(c[(c[b>>2]|0)+4>>2]|0)+d|0;b=e+32|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(b|0));e=0}}else e=-22;return e|0}function UK(a,b){a=+a;b=+b;var d=0,e=0;g[h>>3]=a;e=c[h>>2]|0;d=c[h+4>>2]|0;g[h>>3]=b;d=c[h+4>>2]&-2147483648|d&2147483647;c[h>>2]=e;c[h+4>>2]=d;return +(+g[h>>3])}function VK(a){a=+a;var b=0,d=0;g[h>>3]=a;b=c[h+4>>2]|0;d=b&2146435072;if(!(d>>>0>1126170624|(d|0)==1126170624&0>0)){b=(b|0)<0;a=b?a+-4503599627370496.0+4503599627370496.0:a+4503599627370496.0+-4503599627370496.0;if(a==0.0)a=b?-0.0:0.0}return +a}function WK(a,b,e){a=a|0;b=b|0;e=e|0;b=H(((d[a+(0-e)>>0]|0)+2+(d[a+(1-e)>>0]|0)+(d[a+(2-e)>>0]|0)+(d[a+(3-e)>>0]|0)|0)>>>2,16843009)|0;c[a>>2]=b;c[a+e>>2]=b;c[a+(e<<1)>>2]=b;c[a+(e*3|0)>>2]=b;return}function XK(a,b){a=a|0;b=b|0;b=(b+-9|0)>>>0<8;c[a>>2]=b?53:54;c[a+4>>2]=b?55:56;c[a+8>>2]=b?57:58;c[a+12>>2]=b?59:60;c[a+16>>2]=b?61:62;c[a+20>>2]=b?63:64;c[a+24>>2]=b?65:66;c[a+28>>2]=b?67:68;return}function YK(a){a=a|0;var b=0;b=0;while(1){if(b>>>0>=356){b=-1;break}if((b+-130|0)>>>0>=165){if(!(PF(c[96944+(b*152|0)>>2]|0,a)|0))break;if(Xy(a,c[96944+(b*152|0)+144>>2]|0)|0)break}b=b+1|0}return b|0}function ZK(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=Mb;Mb=Mb+16|0;g=h;if((d|0)==132)yz(b,a);else{c[g>>2]=d;AD(f,48,178905,g);fS(a,e<<3)}Mb=h;return}function _K(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=Mb;Mb=Mb+16|0;d=e;c[d>>2]=c[a>>2];while(1){f=(c[d>>2]|0)+(4-1)&~(4-1);a=c[f>>2]|0;c[d>>2]=f+4;if(b>>>0>1)b=b+-1|0;else break}Mb=e;return a|0}function $K(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0,g=0;f=d<<16>>16;e=(c<<16>>16)+-1|0;d=0;c=0;while(1){if((d|0)==124)break;g=((b[a+(d<<1)>>1]|0)-f>>e)+1>>1;g=(g|0)<6?g:6;d=d+1|0;c=((g|0)>0?g:0)+c|0}return c|0}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;g=Mb;Mb=Mb+128|0;f=g;hc[c[a+2964>>2]&255](f,b,d,e);dc[c[a+2032>>2]&63](f);f=Vb[c[a+2372>>2]&31](f)|0;Mb=g;return f|0}function bL(a){a=a|0;var b=0;b=0;while(1){if((b|0)==672)break;f[a+(b<<5)+16>>2]=0.0;f[a+(b<<5)+20>>2]=0.0;f[a+(b<<5)>>2]=0.0;f[a+(b<<5)+4>>2]=0.0;f[a+(b<<5)+8>>2]=1.0;f[a+(b<<5)+12>>2]=1.0;b=b+1|0}return}function cL(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0;f=0;while(1){if((f|0)==4)break;g=b0(c[a>>2]|0,d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24)|0;c[a>>2]=g;f=f+1|0;a=a+e|0;b=b+e|0}return}function dL(){var a=0,b=0;b=Mb;Mb=Mb+16|0;a=b;do if((CS(a,217311)|0)!=4)if((CS(a,217324)|0)==4){a=c[a>>2]|0;break}else{a=Ko()|0;break}else a=c[a>>2]|0;while(0);Mb=b;return a|0}function eL(a,b){a=a|0;b=b|0;var d=0;d=Mb;Mb=Mb+16|0;switch(c[a+4>>2]|0){case 66:case 77:case 88:{if(!(c[a+1196>>2]&7))a=1;else{AD(b,40,173854,d);a=0}break}default:a=1}Mb=d;return a|0}function fL(a){a=a|0;var b=0,d=0;d=c[(c[a+1412>>2]|0)+44>>2]|0;d=(d|0)>10?31:(1<<d+-5)+-1|0;b=a+136|0;a=0;while(1){if((a|0)>=(d|0))break;if(!(MP((c[b>>2]|0)+224|0)|0))break;a=a+1|0}return a|0}function gL(b,c){b=b|0;c=c|0;var d=0,e=0;d=nA(b)|0;e=nA(c)|0;if((a[c>>0]|0)==46)if((d|0)<(e|0))b=0;else b=(PF(b+(d-e)|0,c)|0)==0;else if((d|0)==(e|0))b=(PF(b,c)|0)==0;else b=0;return b&1|0}function hL(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;d=e>>1;b=0;while(1){if((b|0)==8)break;e=a;c[e>>2]=536879104;c[e+4>>2]=536879104;e=a+8|0;c[e>>2]=536879104;c[e+4>>2]=536879104;b=b+1|0;a=a+(d<<1)|0}return}function iL(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;d=e>>1;b=0;while(1){if((b|0)==8)break;e=a;c[e>>2]=134219776;c[e+4>>2]=134219776;e=a+8|0;c[e>>2]=134219776;c[e+4>>2]=134219776;b=b+1|0;a=a+(d<<1)|0}return}function jL(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ui(a,b,c,d);ui(a+16|0,b+16|0,c,d);b=b+(d<<3)|0;a=a+(c<<3)|0;ui(a,b,c,d);ui(a+16|0,b+16|0,c,d);return}function kL(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;yi(a,b,c,d);yi(a+16|0,b+16|0,c,d);b=b+(d<<3)|0;a=a+(c<<3)|0;yi(a,b,c,d);yi(a+16|0,b+16|0,c,d);return}function lL(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;zi(a,b,c,d);zi(a+16|0,b+16|0,c,d);b=b+(d<<3)|0;a=a+(c<<3)|0;zi(a,b,c,d);zi(a+16|0,b+16|0,c,d);return}function mL(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;qh(a,b,c,d);qh(a+16|0,b+16|0,c,d);b=b+(d<<3)|0;a=a+(c<<3)|0;qh(a,b,c,d);qh(a+16|0,b+16|0,c,d);return}function nL(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;rh(a,b,c,d);rh(a+16|0,b+16|0,c,d);b=b+(d<<3)|0;a=a+(c<<3)|0;rh(a,b,c,d);rh(a+16|0,b+16|0,c,d);return}function oL(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;sh(a,b,c,d);sh(a+16|0,b+16|0,c,d);b=b+(d<<3)|0;a=a+(c<<3)|0;sh(a,b,c,d);sh(a+16|0,b+16|0,c,d);return}function pL(a){a=a|0;switch(a|0){case 1:{a=73;break}case 2:{a=80;break}case 3:{a=66;break}case 4:{a=83;break}case 5:{a=105;break}case 6:{a=112;break}case 7:{a=98;break}default:a=63}return a|0}function qL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0.0,h=0.0,i=0;d=0;while(1){if((d|0)>=(c|0))break;i=a+(d<<2)|0;h=+f[i>>2];e=b+(d<<2)|0;g=+f[e>>2];f[i>>2]=h+g;f[e>>2]=h-g;d=d+1|0}return}function rL(a){a=a|0;var b=0;b=0;while(1){b=aJ(a,b)|0;if(!b)break;switch(c[b+12>>2]|0){case 7:case 5:{bU(a+(c[b+8>>2]|0)|0);break}case 8:{pJ(a+(c[b+8>>2]|0)|0);break}default:{}}}return}function sL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+336|0;g=d+128|0;e=d;f=g+32|0;Xr(g,b+(0-(c<<1))|0,c);Hi(e,f,16,16);Jo(a,f,e,c,16,16,8);Mb=d;return}function tL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+336|0;g=d+128|0;e=d;f=g+32|0;Xr(g,b+(0-(c<<1))|0,c);Ji(e,f,16,16);Jo(a,f,e,c,16,16,8);Mb=d;return}function uL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+336|0;g=d+128|0;e=d;f=g+32|0;Xr(g,b+(0-(c<<1))|0,c);Ki(e,f,16,16);Jo(a,f,e,c,16,16,8);Mb=d;return}function vL(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;d=e>>1;b=0;while(1){if((b|0)==8)break;e=a;c[e>>2]=33554944;c[e+4>>2]=33554944;e=a+8|0;c[e>>2]=33554944;c[e+4>>2]=33554944;b=b+1|0;a=a+(d<<1)|0}return}function wL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=(c|0)==0;c=0;while(1){if((c|0)==(b|0))break;CL(a)|0;CL(a)|0;if(!d){CL(a)|0;CL(a)|0}s1(a);c=c+1|0}return}function xL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+336|0;g=d+128|0;e=d;f=g+32|0;Xr(g,b+(0-(c<<1))|0,c);Hi(e,f,16,16);om(a,f,e,c,16,16,8);Mb=d;return}function yL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+336|0;g=d+128|0;e=d;f=g+32|0;Xr(g,b+(0-(c<<1))|0,c);Ji(e,f,16,16);om(a,f,e,c,16,16,8);Mb=d;return}function zL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+336|0;g=d+128|0;e=d;f=g+32|0;Xr(g,b+(0-(c<<1))|0,c);Ki(e,f,16,16);om(a,f,e,c,16,16,8);Mb=d;return}function AL(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=b+16|0;g=(e|0)==1?1008:e;c[b>>2]=f;c[b+4>>2]=0;e=g>>>0<1008?g:1008;c[b+8>>2]=e;c[b+12>>2]=g;a[f>>0]=0;if(e>>>0<d>>>0)zw(b,d+-1|0)|0;return}function BL(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;d=e>>1;b=0;while(1){if((b|0)==8)break;e=a;c[e>>2]=16777472;c[e+4>>2]=16777472;e=a+8|0;c[e>>2]=16777472;c[e+4>>2]=16777472;b=b+1|0;a=a+(d<<1)|0}return}function CL(a){a=a|0;var b=0,c=0,e=0;e=mE(a,32)|0;b=e>>>0>65535;e=b?e>>>16:e;b=b?16:0;c=(e&65280|0)==0;b=31-(d[94448+(c?e:e>>>8)>>0]|0)-(c?b:b|8)|0;fS(a,b);return (rO(a,b+1|0)|0)+-1|0}function DL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+1088|0;f=d+128|0;e=d;ui(f,b+c|0,16,c);Zf(e,d+256|0,b,16,16,c);Jo(a,f,e,c,16,16,8);Mb=d;return}function EL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+1088|0;f=d+128|0;e=d;yi(f,b+c|0,16,c);ag(e,d+256|0,b,16,16,c);Jo(a,f,e,c,16,16,8);Mb=d;return}function FL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+336|0;g=d+128|0;e=d;f=g+32|0;Xr(g,b+(0-(c<<1))|0,c);Li(e,f,16,16);Jo(a,f,e,c,16,16,8);Mb=d;return}function GL(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ei(a,b,c,d);Ei(a+16|0,b+16|0,c,d);b=b+(d<<3)|0;a=a+(c<<3)|0;Ei(a,b,c,d);Ei(a+16|0,b+16|0,c,d);return}function HL(a){a=a|0;var b=0,d=0,e=0;b=c[a>>2]|0;e=c[b+704>>2]|0;if(!((e|0)!=0?(c[e+32>>2]|0)!=0:0))d=3;if(((d|0)==3?(c[(c[b+12>>2]|0)+16>>2]&128|0)==0:0)?c[a+672>>2]|0:0)return (c[a+700>>2]|0)==0|0;return 0}function IL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+1088|0;f=d+128|0;e=d;ui(f,b+c|0,16,c);Zf(e,d+256|0,b,16,16,c);om(a,f,e,c,16,16,8);Mb=d;return}function JL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+1088|0;f=d+128|0;e=d;yi(f,b+c|0,16,c);ag(e,d+256|0,b,16,16,c);om(a,f,e,c,16,16,8);Mb=d;return}function KL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+336|0;g=d+128|0;e=d;f=g+32|0;Xr(g,b+(0-(c<<1))|0,c);Li(e,f,16,16);om(a,f,e,c,16,16,8);Mb=d;return}function LL(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;th(a,b,c,d);th(a+16|0,b+16|0,c,d);b=b+(d<<3)|0;a=a+(c<<3)|0;th(a,b,c,d);th(a+16|0,b+16|0,c,d);return}function ML(a){a=a|0;var b=0,d=0;b=c[a+16>>2]|0;d=c[a>>2]|0;b=(d&1|0)==0?b:b+-1|0;b=(d&511|0)==0?b:b+-1|0;d=(c[a+20>>2]|0)-b|0;if((d|0)<0)b=0;else{d=(sB(a,b,d)|0)<0;b=d?0:b}return b|0}function NL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+672|0;f=d+128|0;e=d;zi(f,b+c|0,16,c);ef(e,d+256|0,b,16,16,c);Jo(a,f,e,c,16,16,8);Mb=d;return}function OL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+672|0;f=d+128|0;e=d;zi(f,b+c|0,16,c);ef(e,d+256|0,b,16,16,c);om(a,f,e,c,16,16,8);Mb=d;return}function PL(a){a=a|0;var b=0,c=0,e=0;e=BK(a)|0;b=e>>>0>65535;e=b?e>>>16:e;b=b?16:0;c=(e&65280|0)==0;b=31-(d[94448+(c?e:e>>>8)>>0]|0)-(c?b:b|8)|0;fS(a,b);return (rO(a,b+1|0)|0)+-1|0}function QL(b,d,e){b=b|0;d=d|0;e=e|0;if(e>>>0<=4294967263){if(!(Ox(b,d,e+32|0)|0)){b=(c[b>>2]|0)+e|0;d=b+32|0;do{a[b>>0]=0;b=b+1|0}while((b|0)<(d|0))}}else{bU(b);c[d>>2]=0}return}function RL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+672|0;f=d+128|0;e=d;Ei(f,b+c|0,16,c);zf(e,d+256|0,b,16,16,c);Jo(a,f,e,c,16,16,8);Mb=d;return}function SL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+1184|0;g=d+512|0;e=d;f=g+64|0;Vj(g,b+(0-(c<<1))|0,c);_O(e,f,32);KU(a,f,e,c,32);Mb=d;return}function TL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+1184|0;g=d+512|0;e=d;f=g+64|0;Vj(g,b+(0-(c<<1))|0,c);$O(e,f,32);KU(a,f,e,c,32);Mb=d;return}function UL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+1184|0;g=d+512|0;e=d;f=g+64|0;Vj(g,b+(0-(c<<1))|0,c);aP(e,f,32);KU(a,f,e,c,32);Mb=d;return}function VL(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;dj(a,b,c,d);dj(a+8|0,b+8|0,c,d);b=b+(d<<3)|0;a=a+(c<<3)|0;dj(a,b,c,d);dj(a+8|0,b+8|0,c,d);return}function WL(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)<(b|0)&(b|0)<(c+d|0)){e=b;c=c+d|0;b=b+d|0;while((d|0)>0){b=b-1|0;c=c-1|0;d=d-1|0;a[b>>0]=a[c>>0]|0}b=e}else Mn(b,c,d)|0;return b|0}function XL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+672|0;f=d+128|0;e=d;Ei(f,b+c|0,16,c);zf(e,d+256|0,b,16,16,c);om(a,f,e,c,16,16,8);Mb=d;return}function YL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+1184|0;g=d+512|0;e=d;f=g+64|0;Vj(g,b+(0-(c<<1))|0,c);_O(e,f,32);MU(a,f,e,c,32);Mb=d;return}function ZL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+1184|0;g=d+512|0;e=d;f=g+64|0;Vj(g,b+(0-(c<<1))|0,c);$O(e,f,32);MU(a,f,e,c,32);Mb=d;return}function _L(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+1184|0;g=d+512|0;e=d;f=g+64|0;Vj(g,b+(0-(c<<1))|0,c);aP(e,f,32);MU(a,f,e,c,32);Mb=d;return}function $L(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Jh(a,b,c,d);Jh(a+8|0,b+8|0,c,d);b=b+(d<<3)|0;a=a+(c<<3)|0;Jh(a,b,c,d);Jh(a+8|0,b+8|0,c,d);return}function aM(a){a=a|0;var b=0,e=0,f=0;f=c[a>>2]|0;e=a+16|0;b=c[e>>2]|0;c[a>>2]=(((d[b+1>>0]|0)<<1|(d[b>>0]|0)<<9)+-65535<<7-(d[62224+((f+-1^f)>>>15)>>0]|0))+f;if(b>>>0<(c[a+20>>2]|0)>>>0)c[e>>2]=b+2;return}function bM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+176|0;g=d+64|0;e=d;f=g+16|0;Jz(g,b+(0-(c<<1))|0,c);uj(e,f,8,8);pv(a,f,e,c,8,8,8);Mb=d;return}function cM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0.0,h=0.0;d=0;while(1){if((d|0)>=(c|0))break;h=+f[b+(d<<3)>>2];g=+f[b+(d<<3)+4>>2];e=a+(d<<2)|0;f[e>>2]=+f[e>>2]+(h*h+g*g);d=d+1|0}return}function dM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+176|0;g=d+64|0;e=d;f=g+16|0;Jz(g,b+(0-(c<<1))|0,c);uj(e,f,8,8);wt(a,f,e,c,8,8,8);Mb=d;return}function eM(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;qc[a&31](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0,l|0)}function fM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+3712|0;f=d+512|0;e=d;jL(f,b+c|0,32,c);OE(e,d+1024|0,b,32,c);KU(a,f,e,c,32);Mb=d;return}function gM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+3712|0;f=d+512|0;e=d;kL(f,b+c|0,32,c);PE(e,d+1024|0,b,32,c);KU(a,f,e,c,32);Mb=d;return}function hM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+2368|0;f=d+512|0;e=d;lL(f,b+c|0,32,c);QE(e,d+1024|0,b,32,c);KU(a,f,e,c,32);Mb=d;return}function iM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+1184|0;g=d+512|0;e=d;f=g+64|0;Vj(g,b+(0-(c<<1))|0,c);rP(e,f,32);KU(a,f,e,c,32);Mb=d;return}function jM(a,b){a=a|0;b=b|0;var d=0;d=c[b>>2]|0;b=c[c[a+24312>>2]>>2]|0;if((c[b+68>>2]|0)==(c[d+68>>2]|0)?(c[b+72>>2]|0)==(c[d+72>>2]|0):0)b=(c[b+80>>2]|0)!=(c[d+80>>2]|0)&1;else b=1;return b|0}function kM(a,b){a=a|0;b=b|0;var c=0,d=0;a:while(1){while(1){if((b|0)<33)break a;c=b>>>1;if((c|0)>(a|0))b=c;else break}d=(b*3|0)/4|0;a=a-((a|0)<(d|0)?c:d)|0;b=b>>>2}return (a|0)>15|0}function lM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+3712|0;f=d+512|0;e=d;jL(f,b+c|0,32,c);OE(e,d+1024|0,b,32,c);MU(a,f,e,c,32);Mb=d;return}function mM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+3712|0;f=d+512|0;e=d;kL(f,b+c|0,32,c);PE(e,d+1024|0,b,32,c);MU(a,f,e,c,32);Mb=d;return}function nM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+2368|0;f=d+512|0;e=d;lL(f,b+c|0,32,c);QE(e,d+1024|0,b,32,c);MU(a,f,e,c,32);Mb=d;return}function oM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+1184|0;g=d+512|0;e=d;f=g+64|0;Vj(g,b+(0-(c<<1))|0,c);rP(e,f,32);MU(a,f,e,c,32);Mb=d;return}function pM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+336|0;f=d+128|0;e=d;Xr(f,b+(0-(c<<1))|0,c);Hi(e,f+32|0,16,16);Jo(a,f+48|0,e,c,16,16,8);Mb=d;return}function qM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+336|0;f=d+128|0;e=d;Xr(f,b+(0-(c<<1))|0,c);Ji(e,f+32|0,16,16);Jo(a,f+48|0,e,c,16,16,8);Mb=d;return}function rM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+336|0;f=d+128|0;e=d;Xr(f,b+(0-(c<<1))|0,c);Ki(e,f+32|0,16,16);Jo(a,f+48|0,e,c,16,16,8);Mb=d;return}function sM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+592|0;g=d+256|0;e=d;f=g+32|0;Ms(g,b+(0-(c<<1))|0,c);AP(e,f,16);PU(a,f,e,c,16);Mb=d;return}function tM(b){b=b|0;var d=0,e=0;if(!(n1(a[c[b>>2]>>0]|0)|0))d=0;else{d=0;do{e=c[b>>2]|0;d=(d*10|0)+-48+(a[e>>0]|0)|0;e=e+1|0;c[b>>2]=e}while((n1(a[e>>0]|0)|0)!=0)}return d|0}function uM(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;f=c[e+(f<<2)>>2]|0;e=0;while(1){if((e|0)>=(g|0))break;h=((H(f,b[d+(e<<1)>>1]|0)|0)+16384|0)>>>15&65535;b[a+(e<<1)>>1]=h;e=e+1|0}return}function vM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+336|0;f=d+128|0;e=d;Xr(f,b+(0-(c<<1))|0,c);Hi(e,f+32|0,16,16);om(a,f+48|0,e,c,16,16,8);Mb=d;return}function wM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+336|0;f=d+128|0;e=d;Xr(f,b+(0-(c<<1))|0,c);Ji(e,f+32|0,16,16);om(a,f+48|0,e,c,16,16,8);Mb=d;return}function xM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+336|0;f=d+128|0;e=d;Xr(f,b+(0-(c<<1))|0,c);Ki(e,f+32|0,16,16);om(a,f+48|0,e,c,16,16,8);Mb=d;return}function yM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+592|0;g=d+256|0;e=d;f=g+32|0;Ms(g,b+(0-(c<<1))|0,c);AP(e,f,16);RU(a,f,e,c,16);Mb=d;return}function zM(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;h=(e|0)==0;g=0;while(1){if((g|0)>=(f|0))break;i=Zb[b&7](a,d,g,0)|0;if(!h)c[e+(g<<2)>>2]=i;g=g+1|0}return 0}function AM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+1088|0;f=d+128|0;e=d;ui(f,b,16,c);Zf(e,d+256|0,b,16,16,c);Jo(a,f,e,c,16,16,8);Mb=d;return}function BM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+1088|0;f=d+128|0;e=d;yi(f,b,16,c);ag(e,d+256|0,b,16,16,c);Jo(a,f,e,c,16,16,8);Mb=d;return}function CM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+336|0;f=d+128|0;e=d;Xr(f,b+(0-(c<<1))|0,c);Li(e,f+32|0,16,16);Jo(a,f+48|0,e,c,16,16,8);Mb=d;return}function DM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+2368|0;f=d+512|0;e=d;GL(f,b+c|0,32,c);cF(e,d+1024|0,b,32,c);KU(a,f,e,c,32);Mb=d;return}function EM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+1088|0;f=d+128|0;e=d;ui(f,b,16,c);Zf(e,d+256|0,b,16,16,c);om(a,f,e,c,16,16,8);Mb=d;return}function FM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+1088|0;f=d+128|0;e=d;yi(f,b,16,c);ag(e,d+256|0,b,16,16,c);om(a,f,e,c,16,16,8);Mb=d;return}function GM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+336|0;f=d+128|0;e=d;Xr(f,b+(0-(c<<1))|0,c);Li(e,f+32|0,16,16);om(a,f+48|0,e,c,16,16,8);Mb=d;return}function HM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+2368|0;f=d+512|0;e=d;GL(f,b+c|0,32,c);cF(e,d+1024|0,b,32,c);MU(a,f,e,c,32);Mb=d;return}function IM(b){b=b|0;var d=0,e=0;b=JY(b,11,88)|0;if(!b)b=0;else{b=b+4|0;d=c[b>>2]|0;e=d+88|0;do{a[d>>0]=0;d=d+1|0}while((d|0)<(e|0));b=c[b>>2]|0}return b|0}function JM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+336|0;f=d+64|0;e=d;dj(f,b+c|0,8,c);Jf(e,d+128|0,b,8,8,c);pv(a,f,e,c,8,8,8);Mb=d;return}function KM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+672|0;f=d+128|0;e=d;zi(f,b,16,c);ef(e,d+256|0,b,16,16,c);Jo(a,f,e,c,16,16,8);Mb=d;return}function LM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+1184|0;f=d+256|0;e=d;VL(f,b+c|0,16,c);rF(e,d+512|0,b,16,c);PU(a,f,e,c,16);Mb=d;return}function MM(a,b){a=a|0;b=b|0;var d=0,e=0;e=a+6444|0;if((c[e>>2]|0)>>>0<b>>>0){a=a+6440|0;d=_A(c[a>>2]|0,b)|0;if(!d)a=-1;else{c[a>>2]=d;c[e>>2]=b;a=0}}else a=0;return a|0}function NM(a,b){a=a|0;b=b|0;var d=0;d=(mT(b)|0)==0;c[a>>2]=d&1;if(d){d=mT(b)|0;c[a+8>>2]=d;d=mT(b)|0;c[a+12>>2]=d;d=HG(b,16)|0;c[a+4>>2]=d;s1(b)}return}function OM(a){a=a|0;var b=0,d=0;d=a+136|0;a=(c[d>>2]|0)+204|0;eW(a,1);gZ(a);d=(c[d>>2]|0)+224|0;b=c[a>>2]|0;b=b+((l1(a)|0)/8|0)|0;return sB(d,b,((a$(a)|0)+7|0)/8|0)|0}function PM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+336|0;f=d+64|0;e=d;dj(f,b+c|0,8,c);Jf(e,d+128|0,b,8,8,c);wt(a,f,e,c,8,8,8);Mb=d;return}function QM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+672|0;f=d+128|0;e=d;zi(f,b,16,c);ef(e,d+256|0,b,16,16,c);om(a,f,e,c,16,16,8);Mb=d;return}function RM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+1184|0;f=d+256|0;e=d;VL(f,b+c|0,16,c);rF(e,d+512|0,b,16,c);RU(a,f,e,c,16);Mb=d;return}function SM(a){a=a|0;var b=0,d=0,e=0;b=a;M_(c[b+96>>2]|0);sZ(c[b+72>>2]|0);Rd(c[b+76>>2]|0);d=b+100|0;e=c[d>>2]|0;if(e|0){OO(e);c[d>>2]=0}Rd(c[b+36>>2]|0);Rd(a);return 0}function TM(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;if(!((b|0)==0&(c|0)==0))do{e=e+-1|0;a[e>>0]=d[160976+(b&15)>>0]|0|f;b=kV(b|0,c|0,4)|0;c=M()|0}while(!((b|0)==0&(c|0)==0));return e|0}function UM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+112|0;g=d+32|0;e=d;f=g+16|0;Jy(g,b+(0-(c<<1))|0,c);Ir(e,f,8);uw(a,f,e,c,8);Mb=d;return}function VM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+112|0;g=d+32|0;e=d;f=g+16|0;Jy(g,b+(0-(c<<1))|0,c);Rr(e,f,8);uw(a,f,e,c,8);Mb=d;return}function WM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+112|0;g=d+32|0;e=d;f=g+16|0;Jy(g,b+(0-(c<<1))|0,c);Sr(e,f,8);uw(a,f,e,c,8);Mb=d;return}function XM(a){a=a|0;var b=0,c=0,e=0;e=BK(a)|0;b=e>>>0>65535;e=b?e>>>16:e;b=b?16:0;c=(e&65280|0)==0;b=31-(d[94448+(c?e:e>>>8)>>0]|0)-(c?b:b|8)|0;fS(a,b);rO(a,b+1|0)|0;return}function YM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+112|0;g=d+32|0;e=d;f=g+16|0;Jy(g,b+(0-(c<<1))|0,c);Ir(e,f,8);uu(a,f,e,c,8);Mb=d;return}function ZM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+112|0;g=d+32|0;e=d;f=g+16|0;Jy(g,b+(0-(c<<1))|0,c);Rr(e,f,8);uu(a,f,e,c,8);Mb=d;return}function _M(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+112|0;g=d+32|0;e=d;f=g+16|0;Jy(g,b+(0-(c<<1))|0,c);Sr(e,f,8);uu(a,f,e,c,8);Mb=d;return}function $M(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+672|0;f=d+128|0;e=d;Ei(f,b,16,c);zf(e,d+256|0,b,16,16,c);Jo(a,f,e,c,16,16,8);Mb=d;return}function aN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+1184|0;f=d+512|0;e=d;Vj(f,b+(0-(c<<1))|0,c);_O(e,f+64|0,32);KU(a,f+96|0,e,c,32);Mb=d;return}function bN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+1184|0;f=d+512|0;e=d;Vj(f,b+(0-(c<<1))|0,c);$O(e,f+64|0,32);KU(a,f+96|0,e,c,32);Mb=d;return}function cN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+1184|0;f=d+512|0;e=d;Vj(f,b+(0-(c<<1))|0,c);aP(e,f+64|0,32);KU(a,f+96|0,e,c,32);Mb=d;return}function dN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+672|0;f=d+128|0;e=d;Ei(f,b,16,c);zf(e,d+256|0,b,16,16,c);om(a,f,e,c,16,16,8);Mb=d;return}function eN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+1184|0;f=d+512|0;e=d;Vj(f,b+(0-(c<<1))|0,c);_O(e,f+64|0,32);MU(a,f+96|0,e,c,32);Mb=d;return}function fN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+1184|0;f=d+512|0;e=d;Vj(f,b+(0-(c<<1))|0,c);$O(e,f+64|0,32);MU(a,f+96|0,e,c,32);Mb=d;return}function gN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+1184|0;f=d+512|0;e=d;Vj(f,b+(0-(c<<1))|0,c);aP(e,f+64|0,32);MU(a,f+96|0,e,c,32);Mb=d;return}function hN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+176|0;f=d+64|0;e=d;Jz(f,b+(0-(c<<1))|0,c);uj(e,f+16|0,8,8);pv(a,f+24|0,e,c,8,8,8);Mb=d;return}function iN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+112|0;g=d+32|0;e=d;f=g+16|0;Jy(g,b+(0-(c<<1))|0,c);$r(e,f,8);uw(a,f,e,c,8);Mb=d;return}function jN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+48|0;g=d;e=d+32|0;f=g+8|0;WG(g,b+(0-(c<<1))|0,c);gx(e,f,4);BB(a,f,e,c,4);Mb=d;return}function kN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+48|0;g=d;e=d+32|0;f=g+8|0;WG(g,b+(0-(c<<1))|0,c);tx(e,f,4);BB(a,f,e,c,4);Mb=d;return}function lN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+48|0;g=d;e=d+32|0;f=g+8|0;WG(g,b+(0-(c<<1))|0,c);ux(e,f,4);BB(a,f,e,c,4);Mb=d;return}function mN(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;if(!d){a[b+10>>0]=0;d=4}else d=9;while(1){if((d|0)<=-1)break;f=a[c+d>>0]|0;e=d<<1;a[b+e>>0]=f;a[b+(e|1)>>0]=f;d=d+-1|0}return}function nN(a){a=a|0;var c=0,d=0,e=0,f=0;e=((b[a>>1]|0)+1>>1)+16>>5&65535;d=0;while(1){if((d|0)==32)break;f=d<<5;c=0;while(1){if((c|0)==32)break;b[a+(c+f<<1)>>1]=e;c=c+1|0}d=d+1|0}return}function oN(a){a=a|0;var c=0,d=0,e=0,f=0;e=((b[a>>1]|0)+1>>1)+32>>6&65535;d=0;while(1){if((d|0)==32)break;f=d<<5;c=0;while(1){if((c|0)==32)break;b[a+(c+f<<1)>>1]=e;c=c+1|0}d=d+1|0}return}function pN(a){a=a|0;var c=0,d=0,e=0,f=0;e=((b[a>>1]|0)+1>>1)+2>>2&65535;d=0;while(1){if((d|0)==32)break;f=d<<5;c=0;while(1){if((c|0)==32)break;b[a+(c+f<<1)>>1]=e;c=c+1|0}d=d+1|0}return}function qN(a){a=a|0;var c=0,d=0,e=0,f=0;e=((b[a>>1]|0)+1>>1)+8>>4&65535;d=0;while(1){if((d|0)==32)break;f=d<<5;c=0;while(1){if((c|0)==32)break;b[a+(c+f<<1)>>1]=e;c=c+1|0}d=d+1|0}return}function rN(a){a=a|0;var c=0,d=0,e=0,f=0;e=((b[a>>1]|0)+1>>1)+16>>5&65535;d=0;while(1){if((d|0)==16)break;f=d<<4;c=0;while(1){if((c|0)==16)break;b[a+(c+f<<1)>>1]=e;c=c+1|0}d=d+1|0}return}function sN(a){a=a|0;var c=0,d=0,e=0,f=0;e=((b[a>>1]|0)+1>>1)+32>>6&65535;d=0;while(1){if((d|0)==16)break;f=d<<4;c=0;while(1){if((c|0)==16)break;b[a+(c+f<<1)>>1]=e;c=c+1|0}d=d+1|0}return}function tN(a){a=a|0;var c=0,d=0,e=0,f=0;e=((b[a>>1]|0)+1>>1)+2>>2&65535;d=0;while(1){if((d|0)==16)break;f=d<<4;c=0;while(1){if((c|0)==16)break;b[a+(c+f<<1)>>1]=e;c=c+1|0}d=d+1|0}return}function uN(a){a=a|0;var c=0,d=0,e=0,f=0;e=((b[a>>1]|0)+1>>1)+8>>4&65535;d=0;while(1){if((d|0)==16)break;f=d<<4;c=0;while(1){if((c|0)==16)break;b[a+(c+f<<1)>>1]=e;c=c+1|0}d=d+1|0}return}function vN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+176|0;f=d+64|0;e=d;Jz(f,b+(0-(c<<1))|0,c);uj(e,f+16|0,8,8);wt(a,f+24|0,e,c,8,8,8);Mb=d;return}function wN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+112|0;g=d+32|0;e=d;f=g+16|0;Jy(g,b+(0-(c<<1))|0,c);$r(e,f,8);uu(a,f,e,c,8);Mb=d;return}function xN(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=b+4|0;e=c[f>>2]|0;g=-6-e|0;e=(g>>>0<d>>>0?g:d)+e|0;c[f>>2]=e;f=c[b+8>>2]|0;d=f+-1|0;if(f|0)a[(c[b>>2]|0)+(e>>>0>d>>>0?d:e)>>0]=0;return}function yN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+128|0;f=d+120|0;e=d+112|0;sv(f,b+c|0,4,c);$p(e,d,b,4,c);BB(a,f,e,c,4);Mb=d;return}function zN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+128|0;f=d+120|0;e=d+112|0;wv(f,b+c|0,4,c);eq(e,d,b,4,c);BB(a,f,e,c,4);Mb=d;return}function AN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+3712|0;f=d+512|0;e=d;jL(f,b,32,c);OE(e,d+1024|0,b,32,c);KU(a,f,e,c,32);Mb=d;return}function BN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+3712|0;f=d+512|0;e=d;kL(f,b,32,c);PE(e,d+1024|0,b,32,c);KU(a,f,e,c,32);Mb=d;return}function CN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+2368|0;f=d+512|0;e=d;lL(f,b,32,c);QE(e,d+1024|0,b,32,c);KU(a,f,e,c,32);Mb=d;return}function DN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+1184|0;f=d+512|0;e=d;Vj(f,b+(0-(c<<1))|0,c);rP(e,f+64|0,32);KU(a,f+96|0,e,c,32);Mb=d;return}function EN(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;d=0;e=0;while(1){if((d|0)>=(c|0))break;f=a[b+(d*3|0)+2>>0]|0;f=(f<<24>>24!=0&f<<24>>24!=5?((a[b+(d*3|0)>>0]|0)==1?2:1):0)+e|0;d=d+1|0;e=f}return e|0}function FN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+3712|0;f=d+512|0;e=d;jL(f,b,32,c);OE(e,d+1024|0,b,32,c);MU(a,f,e,c,32);Mb=d;return}function GN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+3712|0;f=d+512|0;e=d;kL(f,b,32,c);PE(e,d+1024|0,b,32,c);MU(a,f,e,c,32);Mb=d;return}function HN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+2368|0;f=d+512|0;e=d;lL(f,b,32,c);QE(e,d+1024|0,b,32,c);MU(a,f,e,c,32);Mb=d;return}function IN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+1184|0;f=d+512|0;e=d;Vj(f,b+(0-(c<<1))|0,c);rP(e,f+64|0,32);MU(a,f+96|0,e,c,32);Mb=d;return}function JN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+64|0;g=d+16|0;e=d;f=g+8|0;VG(g,b+(0-(c<<1))|0,c);Rs(e,f,4);SB(a,f,e,c,4);Mb=d;return}function KN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+48|0;g=d;e=d+32|0;f=g+8|0;WG(g,b+(0-(c<<1))|0,c);Bx(e,f,4);BB(a,f,e,c,4);Mb=d;return}function LN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+592|0;f=d+256|0;e=d;Ms(f,b+(0-(c<<1))|0,c);AP(e,f+32|0,16);PU(a,f+48|0,e,c,16);Mb=d;return}function MN(b,c,e){b=b|0;c=c|0;e=e|0;if(c>>>0<2)b=-1;else{a[e>>0]=(d[b>>0]|0)>>>3;c=b+1|0;a[e+1>>0]=(d[c>>0]|0)>>>7|a[b>>0]<<1&14;a[e+2>>0]=(d[c>>0]|0)>>>3&15;b=2}return b|0}function NN(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;switch(b|0){case 8:{a=Ep(a,c,d,e)|0;break}case 9:{a=Rh(a,c,d,e)|0;break}case 18:{a=0;break}default:a=-1}return a|0}function ON(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+64|0;g=d+16|0;e=d;f=g+8|0;VG(g,b+(0-(c<<1))|0,c);Rs(e,f,4);TA(a,f,e,c,4);Mb=d;return}function PN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+592|0;f=d+256|0;e=d;Ms(f,b+(0-(c<<1))|0,c);AP(e,f+32|0,16);RU(a,f+48|0,e,c,16);Mb=d;return}function QN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+352|0;f=d+32|0;e=d;hp(f,b+c|0,8,c);Kk(e,d+64|0,b,8,c);uw(a,f,e,c,8);Mb=d;return}function RN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+352|0;f=d+32|0;e=d;np(f,b+c|0,8,c);Ok(e,d+64|0,b,8,c);uw(a,f,e,c,8);Mb=d;return}function SN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+208|0;f=d+32|0;e=d;op(f,b+c|0,8,c);Vi(e,d+64|0,b,8,c);uw(a,f,e,c,8);Mb=d;return}function TN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Mb;Mb=Mb+32|0;g=d+4|0;e=d;f=g+4|0;hQ(g,b+(0-(c<<1))|0,c);xy(e,f,2);$D(a,f,e,c,2);Mb=d;return}function UN(a,b){a=a|0;b=b|0;var e=0,f=0;e=a+8|0;f=c[e>>2]|0;a=(c[a>>2]|0)+(f>>>3)|0;a=(W_(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(f&7)>>>(32-b|0);c[e>>2]=f+b;return a|0}function VN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+352|0;f=d+32|0;e=d;hp(f,b+c|0,8,c);Kk(e,d+64|0,b,8,c);uu(a,f,e,c,8);Mb=d;return}function WN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+352|0;f=d+32|0;e=d;np(f,b+c|0,8,c);Ok(e,d+64|0,b,8,c);uu(a,f,e,c,8);Mb=d;return}function XN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+208|0;f=d+32|0;e=d;op(f,b+c|0,8,c);Vi(e,d+64|0,b,8,c);uu(a,f,e,c,8);Mb=d;return}function YN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+80|0;f=d+64|0;e=d+56|0;xv(f,b+c|0,4,c);Po(e,d,b,4,c);BB(a,f,e,c,4);Mb=d;return}function ZN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+2368|0;f=d+512|0;e=d;GL(f,b,32,c);cF(e,d+1024|0,b,32,c);KU(a,f,e,c,32);Mb=d;return}function _N(a,b){a=a|0;b=b|0;var d=0;b=c[a+12>>2]|0;d2(b)|0;d=b+28|0;c[a+16>>2]=c[d>>2];c[d>>2]=a;d2(b)|0;d=b+32|0;a=c[d>>2]|0;c[d>>2]=a+-1;if((a|0)==1)OA(b);return}function $N(a){a=a|0;var c=0,d=0,e=0,f=0;e=((b[a>>1]|0)+1>>1)+16>>5&65535;d=0;while(1){if((d|0)==8)break;f=d<<3;c=0;while(1){if((c|0)==8)break;b[a+(c+f<<1)>>1]=e;c=c+1|0}d=d+1|0}return}function aO(a){a=a|0;var c=0,d=0,e=0,f=0;e=((b[a>>1]|0)+1>>1)+32>>6&65535;d=0;while(1){if((d|0)==8)break;f=d<<3;c=0;while(1){if((c|0)==8)break;b[a+(c+f<<1)>>1]=e;c=c+1|0}d=d+1|0}return}function bO(a){a=a|0;var c=0,d=0,e=0,f=0;e=((b[a>>1]|0)+1>>1)+2>>2&65535;d=0;while(1){if((d|0)==8)break;f=d<<3;c=0;while(1){if((c|0)==8)break;b[a+(c+f<<1)>>1]=e;c=c+1|0}d=d+1|0}return}function cO(a){a=a|0;var c=0,d=0,e=0,f=0;e=((b[a>>1]|0)+1>>1)+8>>4&65535;d=0;while(1){if((d|0)==8)break;f=d<<3;c=0;while(1){if((c|0)==8)break;b[a+(c+f<<1)>>1]=e;c=c+1|0}d=d+1|0}return}function dO(a){a=a|0;var c=0,d=0,e=0,f=0;e=((b[a>>1]|0)+1>>1)+16>>5&65535;d=0;while(1){if((d|0)==4)break;f=d<<2;c=0;while(1){if((c|0)==4)break;b[a+(c+f<<1)>>1]=e;c=c+1|0}d=d+1|0}return}function eO(a){a=a|0;var c=0,d=0,e=0,f=0;e=((b[a>>1]|0)+1>>1)+32>>6&65535;d=0;while(1){if((d|0)==4)break;f=d<<2;c=0;while(1){if((c|0)==4)break;b[a+(c+f<<1)>>1]=e;c=c+1|0}d=d+1|0}return}function fO(a){a=a|0;var c=0,d=0,e=0,f=0;e=((b[a>>1]|0)+1>>1)+2>>2&65535;d=0;while(1){if((d|0)==4)break;f=d<<2;c=0;while(1){if((c|0)==4)break;b[a+(c+f<<1)>>1]=e;c=c+1|0}d=d+1|0}return}function gO(a){a=a|0;var c=0,d=0,e=0,f=0;e=((b[a>>1]|0)+1>>1)+8>>4&65535;d=0;while(1){if((d|0)==4)break;f=d<<2;c=0;while(1){if((c|0)==4)break;b[a+(c+f<<1)>>1]=e;c=c+1|0}d=d+1|0}return}function hO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+2368|0;f=d+512|0;e=d;GL(f,b,32,c);cF(e,d+1024|0,b,32,c);MU(a,f,e,c,32);Mb=d;return}function iO(a){a=a|0;var b=0,c=0;b=0;while(1){if((b|0)==64)break;c=a+(b<<2)|0;f[c>>2]=+f[c>>2]+ +f[a+(b+64<<2)>>2]+ +f[a+(b+128<<2)>>2]+ +f[a+(b+192<<2)>>2]+ +f[a+(b+256<<2)>>2];b=b+1|0}return}function jO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+336|0;f=d+64|0;e=d;dj(f,b,8,c);Jf(e,d+128|0,b,8,8,c);pv(a,f,e,c,8,8,8);Mb=d;return}function kO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+1184|0;f=d+256|0;e=d;VL(f,b,16,c);rF(e,d+512|0,b,16,c);PU(a,f,e,c,16);Mb=d;return}function lO(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=a+(0-b)|0;e=c[f>>2]|0;f=c[f+4>>2]|0;d=0;while(1){if((d|0)==16)break;g=a+(H(d,b)|0)|0;c[g>>2]=e;c[g+4>>2]=f;d=d+1|0}return}function mO(a){a=a|0;var b=0,c=0,e=0;e=SK(a)|0;b=e>>>0>65535;e=b?e>>>16:e;b=b?16:0;c=(e&65280|0)==0;b=31-(d[94448+(c?e:e>>>8)>>0]|0)-(c?b:b|8)|0;Q_(a,b);return (CP(a,b+1|0)|0)+-1|0}function nO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+336|0;f=d+64|0;e=d;dj(f,b,8,c);Jf(e,d+128|0,b,8,8,c);wt(a,f,e,c,8,8,8);Mb=d;return}function oO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+1184|0;f=d+256|0;e=d;VL(f,b,16,c);rF(e,d+512|0,b,16,c);RU(a,f,e,c,16);Mb=d;return}function pO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+208|0;f=d+32|0;e=d;pp(f,b+c|0,8,c);sj(e,d+64|0,b,8,c);uw(a,f,e,c,8);Mb=d;return}function qO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+112|0;f=d+16|0;e=d;lq(f,b+c|0,4,c);Tj(e,d+32|0,b,4,c);SB(a,f,e,c,4);Mb=d;return}function rO(a,b){a=a|0;b=b|0;var c=0;do if(b)if((b|0)<26){a=HG(a,b)|0;break}else{b=b+-16|0;c=(HG(a,16)|0)<<b;a=c|(HG(a,b)|0);break}else a=0;while(0);return a|0}function sO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+208|0;f=d+32|0;e=d;pp(f,b+c|0,8,c);sj(e,d+64|0,b,8,c);uu(a,f,e,c,8);Mb=d;return}function tO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+112|0;f=d+16|0;e=d;lq(f,b+c|0,4,c);Tj(e,d+32|0,b,4,c);TA(a,f,e,c,4);Mb=d;return}function uO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+112|0;f=d+32|0;e=d;Jy(f,b+(0-(c<<1))|0,c);Ir(e,f+16|0,8);uw(a,f+24|0,e,c,8);Mb=d;return}function vO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+112|0;f=d+32|0;e=d;Jy(f,b+(0-(c<<1))|0,c);Rr(e,f+16|0,8);uw(a,f+24|0,e,c,8);Mb=d;return}function wO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+112|0;f=d+32|0;e=d;Jy(f,b+(0-(c<<1))|0,c);Sr(e,f+16|0,8);uw(a,f+24|0,e,c,8);Mb=d;return}function xO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+80|0;f=d+64|0;e=d+56|0;Cv(f,b+c|0,4,c);tp(e,d,b,4,c);BB(a,f,e,c,4);Mb=d;return}function yO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+48|0;f=d+32|0;e=d+28|0;Bw(f,b+c|0,2,c);Wp(e,d,b,2,c);$D(a,f,e,c,2);Mb=d;return}function zO(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=a+(0-b)|0;e=c[f>>2]|0;f=c[f+4>>2]|0;d=0;while(1){if((d|0)==8)break;g=a+(H(d,b)|0)|0;c[g>>2]=e;c[g+4>>2]=f;d=d+1|0}return}function AO(a,b){a=a|0;b=b|0;var d=0;do if(a){d=EZ(24)|0;if(!d){$1(a);d=0;break}else{c[d>>2]=a;c[d+12>>2]=a+b;XW(d);break}}else d=0;while(0);return d|0}function BO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+112|0;f=d+32|0;e=d;Jy(f,b+(0-(c<<1))|0,c);Ir(e,f+16|0,8);uu(a,f+24|0,e,c,8);Mb=d;return}function CO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+112|0;f=d+32|0;e=d;Jy(f,b+(0-(c<<1))|0,c);Rr(e,f+16|0,8);uu(a,f+24|0,e,c,8);Mb=d;return}function DO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+112|0;f=d+32|0;e=d;Jy(f,b+(0-(c<<1))|0,c);Sr(e,f+16|0,8);uu(a,f+24|0,e,c,8);Mb=d;return}function EO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+112|0;f=d+32|0;e=d;Jy(f,b+(0-(c<<1))|0,c);$r(e,f+16|0,8);uw(a,f+24|0,e,c,8);Mb=d;return}function FO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+48|0;f=d;e=d+32|0;WG(f,b+(0-(c<<1))|0,c);gx(e,f+8|0,4);BB(a,f+12|0,e,c,4);Mb=d;return}function GO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+48|0;f=d;e=d+32|0;WG(f,b+(0-(c<<1))|0,c);tx(e,f+8|0,4);BB(a,f+12|0,e,c,4);Mb=d;return}function HO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+48|0;f=d;e=d+32|0;WG(f,b+(0-(c<<1))|0,c);ux(e,f+8|0,4);BB(a,f+12|0,e,c,4);Mb=d;return}function IO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+112|0;f=d+32|0;e=d;Jy(f,b+(0-(c<<1))|0,c);$r(e,f+16|0,8);uu(a,f+24|0,e,c,8);Mb=d;return}function JO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+128|0;f=d+120|0;e=d+112|0;sv(f,b,4,c);$p(e,d,b,4,c);BB(a,f,e,c,4);Mb=d;return}function KO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+128|0;f=d+120|0;e=d+112|0;wv(f,b,4,c);eq(e,d,b,4,c);BB(a,f,e,c,4);Mb=d;return}function LO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+64|0;f=d+16|0;e=d;VG(f,b+(0-(c<<1))|0,c);Rs(e,f+8|0,4);SB(a,f+12|0,e,c,4);Mb=d;return}function MO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+48|0;f=d;e=d+32|0;WG(f,b+(0-(c<<1))|0,c);Bx(e,f+8|0,4);BB(a,f+12|0,e,c,4);Mb=d;return}function NO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+64|0;f=d+16|0;e=d;VG(f,b+(0-(c<<1))|0,c);Rs(e,f+8|0,4);TA(a,f+12|0,e,c,4);Mb=d;return}function OO(a){a=a|0;var b=0,d=0;if(a|0){if(c[a>>2]|0){d=a+4|0;b=0;while(1){if((b|0)>=(c[d>>2]|0))break;k$((c[a>>2]|0)+(b<<2)|0);b=b+1|0}bU(a)}$1(a)}return}function PO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+352|0;f=d+32|0;e=d;hp(f,b,8,c);Kk(e,d+64|0,b,8,c);uw(a,f,e,c,8);Mb=d;return}function QO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+352|0;f=d+32|0;e=d;np(f,b,8,c);Ok(e,d+64|0,b,8,c);uw(a,f,e,c,8);Mb=d;return}function RO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+208|0;f=d+32|0;e=d;op(f,b,8,c);Vi(e,d+64|0,b,8,c);uw(a,f,e,c,8);Mb=d;return}function SO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+352|0;f=d+32|0;e=d;hp(f,b,8,c);Kk(e,d+64|0,b,8,c);uu(a,f,e,c,8);Mb=d;return}function TO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+352|0;f=d+32|0;e=d;np(f,b,8,c);Ok(e,d+64|0,b,8,c);uu(a,f,e,c,8);Mb=d;return}function UO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+208|0;f=d+32|0;e=d;op(f,b,8,c);Vi(e,d+64|0,b,8,c);uu(a,f,e,c,8);Mb=d;return}function VO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+80|0;f=d+64|0;e=d+56|0;xv(f,b,4,c);Po(e,d,b,4,c);BB(a,f,e,c,4);Mb=d;return}function WO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+32|0;f=d+4|0;e=d;hQ(f,b+(0-(c<<1))|0,c);xy(e,f+4|0,2);$D(a,f+6|0,e,c,2);Mb=d;return}function XO(a){a=a|0;var b=0;if((c[a+8>>2]|0)>0){b=(c[a+4>>2]|0)+16|0;a=(c[a>>2]|0)+16|0;a=_W(c[b>>2]|0,c[b+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;M()|0}else a=0;return a|0}function YO(a,b){a=a|0;b=b|0;var d=0;d=a+40|0;BX(c[d>>2]|0);if(b){a=vr(c[d>>2]|0,b)|0;if(!a){c[(c[d>>2]|0)+28>>2]=c[b+28>>2];a=0}}else a=0;return a|0}function ZO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=Mb;Mb=Mb+16|0;e=f;if(b){d=Pi(d,b,-1,a)|0;if((d|0)<0){c[e>>2]=b;AD(a,16,212417,e)}}else d=0;Mb=f;return d|0}function _O(a,b,c){a=a|0;b=b|0;c=c|0;Hi(a,b,c,32);Hi(a+16|0,b+16|0,c,32);a=a+(c<<3)|0;Hi(a,b+256|0,c,32);Hi(a+16|0,b+272|0,c,32);return}function $O(a,b,c){a=a|0;b=b|0;c=c|0;Ji(a,b,c,32);Ji(a+16|0,b+16|0,c,32);a=a+(c<<3)|0;Ji(a,b+256|0,c,32);Ji(a+16|0,b+272|0,c,32);return}function aP(a,b,c){a=a|0;b=b|0;c=c|0;Ki(a,b,c,32);Ki(a+16|0,b+16|0,c,32);a=a+(c<<3)|0;Ki(a,b+256|0,c,32);Ki(a+16|0,b+272|0,c,32);return}function bP(a,b,c){a=a|0;b=b|0;c=c|0;uh(a,b,c,32);uh(a+16|0,b+16|0,c,32);a=a+(c<<3)|0;uh(a,b+256|0,c,32);uh(a+16|0,b+272|0,c,32);return}function cP(a,b,c){a=a|0;b=b|0;c=c|0;vh(a,b,c,32);vh(a+16|0,b+16|0,c,32);a=a+(c<<3)|0;vh(a,b+256|0,c,32);vh(a+16|0,b+272|0,c,32);return}function dP(a,b,c){a=a|0;b=b|0;c=c|0;wh(a,b,c,32);wh(a+16|0,b+16|0,c,32);a=a+(c<<3)|0;wh(a,b+256|0,c,32);wh(a+16|0,b+272|0,c,32);return}function eP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+208|0;f=d+32|0;e=d;pp(f,b,8,c);sj(e,d+64|0,b,8,c);uw(a,f,e,c,8);Mb=d;return}function fP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+112|0;f=d+16|0;e=d;lq(f,b,4,c);Tj(e,d+32|0,b,4,c);SB(a,f,e,c,4);Mb=d;return}function gP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=(b|0)!=0&d>>>0<2147483640;d=e?d:0;b=e?b:0;c[a>>2]=b;c[a+12>>2]=d;c[a+16>>2]=d+8;c[a+4>>2]=b+(d+7>>3);c[a+8>>2]=0;return (e?0:-1094995529)|0}function hP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+208|0;f=d+32|0;e=d;pp(f,b,8,c);sj(e,d+64|0,b,8,c);uu(a,f,e,c,8);Mb=d;return}function iP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+112|0;f=d+16|0;e=d;lq(f,b,4,c);Tj(e,d+32|0,b,4,c);TA(a,f,e,c,4);Mb=d;return}function jP(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+4|0;e=(c[d>>2]|0)+b|0;c[d>>2]=e;f=c[a+12>>2]|0;if(e>>>0>=f>>>0)c[d>>2]=e+((c[a>>2]|0)-f);f=a+16|0;c[f>>2]=(c[f>>2]|0)+b;return}function kP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+80|0;f=d+64|0;e=d+56|0;Cv(f,b,4,c);tp(e,d,b,4,c);BB(a,f,e,c,4);Mb=d;return}function lP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Mb;Mb=Mb+48|0;f=d+32|0;e=d+28|0;Bw(f,b,2,c);Wp(e,d,b,2,c);$D(a,f,e,c,2);Mb=d;return}function mP(a){a=a|0;var b=0,d=0,e=0;e=Mb;Mb=Mb+16|0;d=e;b=RD(a)|0;c[d>>2]=b;if(b){a=Px(b,a,215,0,0)|0;if(!a){bU(d);a=0}}else a=0;Mb=e;return a|0}function nP(a){a=a|0;var b=0;a=a+136|0;b=c[a>>2]|0;if(!(LA(b+224|0,b+18|0)|0))a=4;else{b=(MP((c[a>>2]|0)+224|0)|0)<<1;a=MP((c[a>>2]|0)+224|0)|0|b}return a|0}function oP(a){a=a|0;var b=0,d=0,e=0;b=c[a+4>>2]|0;switch(b|0){case 66:{d=512;e=3;break}case 244:case 122:case 110:{d=2048;e=3;break}default:{}}if((e|0)==3)b=c[a+1196>>2]<<8&d|b;return b|0}function pP(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=a+8|0;g=0;a=b;while(1){if((g|0)==32)break;jc[c[h>>2]&255](d+(g<<3)|0,a,e,32,f);g=g+1|0;a=a+8|0}return}function qP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;b=a+28460+(b<<2)|0;e=c[b>>2]|0;if(e|0?JD(a,e,d)|0:0){c[(c[b>>2]|0)+100>>2]=0;c[b>>2]=0;d=a+29536|0;c[d>>2]=(c[d>>2]|0)+-1}return}function rP(a,b,c){a=a|0;b=b|0;c=c|0;Li(a,b,c,32);Li(a+16|0,b+16|0,c,32);a=a+(c<<3)|0;Li(a,b+256|0,c,32);Li(a+16|0,b+272|0,c,32);return}function sP(a,b,c){a=a|0;b=b|0;c=c|0;Ah(a,b,c,32);Ah(a+16|0,b+16|0,c,32);a=a+(c<<3)|0;Ah(a,b+256|0,c,32);Ah(a+16|0,b+272|0,c,32);return}function tP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Mb;Mb=Mb+144|0;f=e;jv(f|0,0,144)|0;c[f+32>>2]=12;c[f+44>>2]=a;c[f+76>>2]=-1;c[f+84>>2]=a;d=Yc(f,b,d)|0;Mb=e;return d|0}function uP(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;e=0;while(1){if((e|0)==16)break;f=H(e,b)|0;g=H(d[a+(f+-1)>>0]|0,16843009)|0;f=a+f|0;c[f>>2]=g;c[f+4>>2]=g;e=e+1|0}return}function vP(a){a=a|0;if(a|0){Rd(c[a>>2]|0);Rd(c[a+4>>2]|0);Rd(c[a+8>>2]|0);Rd(c[a+12>>2]|0);Rd(c[a+16>>2]|0);Rd(c[a+20>>2]|0);Rd(c[a+24>>2]|0);Rd(c[a+28>>2]|0);Rd(a)}return}function wP(a){a=a|0;var b=0,d=0;d=Mb;Mb=Mb+16|0;b=d;c[b>>2]=a;if(a|0){wP(c[a+20>>2]|0);wP(c[a+24>>2]|0);wP(c[a+28>>2]|0);bU(a+32|0);bU(b)}Mb=d;return}function xP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0;g=0;while(1){if((g|0)>=(e|0))break;f[a+(g<<2)>>2]=+f[b+(g<<2)>>2]*+f[c+(g<<2)>>2]+ +f[d+(g<<2)>>2];g=g+1|0}return}function yP(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;f=0;while(1){if((f|0)>=(e|0))break;Mn(a|0,c|0,h|0)|0;f=f+1|0;a=a+b|0;c=c+d|0}return}function zP(a){a=a|0;var b=0,d=0;d=c[a>>2]|0;b=d<<1;c[a>>2]=b;if(!(d&32767)){yU(a);b=c[a>>2]|0}d=c[a+4>>2]<<17;if((b|0)<(d|0))b=0;else{c[a>>2]=b-d;b=1}return b|0}function AP(a,b,c){a=a|0;b=b|0;c=c|0;uj(a,b,c,16);uj(a+8|0,b+8|0,c,16);a=a+(c<<3)|0;uj(a,b+128|0,c,16);uj(a+8|0,b+136|0,c,16);return}function BP(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;e=0;while(1){if((e|0)==8)break;f=H(e,b)|0;g=H(d[a+(f+-1)>>0]|0,16843009)|0;f=a+f|0;c[f>>2]=g;c[f+4>>2]=g;e=e+1|0}return}function CP(a,b){a=a|0;b=b|0;var c=0;do if(b)if((b|0)<26){a=UN(a,b)|0;break}else{b=b+-16|0;c=(UN(a,16)|0)<<b;a=c|(UN(a,b)|0);break}else a=0;while(0);return a|0}function DP(a){a=a|0;var b=0,d=0;d=a+8|0;b=0;while(1){if((b|0)>=(c[d>>2]|0))break;bU((c[a>>2]|0)+(b*72|0)|0);bU((c[a>>2]|0)+(b*72|0)+64|0);b=b+1|0}bU(a);c[d>>2]=0;return}function EP(a,b,c){a=a|0;b=b|0;c=c|0;ai(a,b,c,16);ai(a+8|0,b+8|0,c,16);a=a+(c<<3)|0;ai(a,b+128|0,c,16);ai(a+8|0,b+136|0,c,16);return}function FP(a){a=a|0;var b=0;b=EZ(12)|0;if(!b)b=0;else{c[b>>2]=c[a>>2];c[b+4>>2]=c[a+4>>2];c[b+8>>2]=c[a+8>>2];a=(c[a>>2]|0)+8|0;c[a>>2]=(c[a>>2]|0)+1}return b|0}function GP(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;pc[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)}function HP(a,b){a=a|0;b=b|0;var d=0,e=0;d=0;while(1){if((d|0)==32)break;e=63-(d<<1)|0;c[a+(d<<2)>>2]=c[b+(e<<2)>>2];c[a+(63-d<<2)>>2]=c[b+(e+-1<<2)>>2]^-2147483648;d=d+1|0}return}function IP(a,b){a=a|0;b=b|0;if((((!((a&7|0)==0&0==0)?(iW(a&3,0)|0)!=0:0)?(iW(a&1536,0)|0)!=0:0)?(iW(a&48,0)|0)!=0:0)?(iW(a&192,0)|0)!=0:0)a=(DD(a,b)|0)<64&1;else a=0;return a|0}function JP(a){a=a|0;var b=0,d=0,e=0;d=Mb;Mb=Mb+16|0;e=d+8|0;b=d;c[e>>2]=0;c[e+4>>2]=1;a=c[a+4>>2]|0;$b[c[a+816>>2]&15](a,8,e,b,1,4)|0;Mb=d;return c[b>>2]|0}function KP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=0;do{f=as(b,1113148,f,2)|0;if(!f){e=0;break}e=gh(a,c[f>>2]|0,c[f+4>>2]|0,d)|0}while((e|0)>=0);return e|0}function LP(a){a=a|0;var b=0,d=0;d=a+4|0;b=(c[d>>2]|0)+-2|0;c[d>>2]=b;if((c[a>>2]|0)<(b<<17|0)){_Q(a);a=0}else a=(c[a+16>>2]|0)-(c[a+12>>2]|0)|0;return a|0}function MP(a){a=a|0;var b=0,d=0;d=c[a>>2]|0;b=d<<1;c[a>>2]=b;if(!(d&32767)){VQ(a);b=c[a>>2]|0}d=c[a+4>>2]<<17;if((b|0)<(d|0))b=0;else{c[a>>2]=b-d;b=1}return b|0}function NP(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=c+(d+-1<<2)|0;c=0;while(1){if((c|0)>=(d|0))break;f[a+(c<<2)>>2]=+f[b+(c<<2)>>2]*+f[e+(0-c<<2)>>2];c=c+1|0}return}function OP(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=Mb;Mb=Mb+16|0;g=f;c[g>>2]=-1;e=(Tq(a+d|0,a+e+1|0,g)|0)-a+-1|0;Mb=f;return ((e|0)>(b|0)?b:e)|0}function PP(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+136|0;b=(b<<2)+166|0;a=0;while(1){if(a>>>0>=4)break;e=c[d>>2]|0;if(!(LA(e+224|0,e+(b+a)|0)|0))break;a=a+1|0}return a|0}function QP(a){a=a|0;var b=0;Yy(a);c[a+28244>>2]=0;c[a+28248>>2]=0;c[a+28232>>2]=65536;c[a+28236>>2]=0;b=0;while(1){if((b|0)==16)break;c[a+28660+(b<<2)>>2]=-2147483648;b=b+1|0}return}function RP(a){a=a|0;var b=0,d=0;d=c[a+64>>2]|0;b=d+36|0;d=d+32|0;a=0;while(1){if((a|0)>=(c[b>>2]|0))break;VA((c[d>>2]|0)+(a<<2)|0);a=a+1|0}bU(d);c[b>>2]=0;return}function SP(a,b,e){a=a|0;b=b|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4)break;c[a>>2]=d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24;f=f+1|0;b=b+e|0;a=a+e|0}return}function TP(a,b,e){a=a|0;b=b|0;e=e|0;var f=0;f=0;while(1){if((f|0)==2)break;c[a>>2]=d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24;f=f+1|0;b=b+e|0;a=a+e|0}return}function UP(a){a=a|0;var b=0;b=a+32856|0;if(!(BA(b,a+32925|0)|0))if(!(BA(b,a+32926|0)|0))a=1;else{a=(BA(b,a+32927|0)|0)==0;a=a?3:2}else a=0;return a|0}function VP(a,b){a=a|0;b=b|0;var d=0,e=0;e=Mb;Mb=Mb+16|0;d=e;if(!((Dc(a,b,b+20|0)|0)>-1?(Yk(a,b)|0)>=0:0)){AD(c[a+4>>2]|0,16,199259,d);tS(b)}Mb=e;return}function WP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=Mb;Mb=Mb+16|0;f=g;if(!((ZR(d,b,f)|0)==0?(e=WW(a,c[f>>2]|0)|0,(e|0)!=0):0)){$1(a);e=0}Mb=g;return e|0}function XP(a){a=a|0;var b=0,d=0;d=a+256|0;b=c[d>>2]|0;c[a+((b&63)<<2)>>2]=(c[a+((b+9&63)<<2)>>2]|0)+(c[a+((b+40&63)<<2)>>2]|0);b=c[d>>2]|0;c[d>>2]=b+1;return c[a+((b&63)<<2)>>2]|0}function YP(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0;h=Mb;Mb=Mb+16|0;g=h;f=0;while(1){if((f|0)==16)break;c[g>>2]=d[e+f>>0];AD(a,b,179178,g);f=f+1|0}Mb=h;return}function ZP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=(b|0)!=0&d>>>0<2147483640;d=e?d:0;b=e?b:0;c[a>>2]=b;c[a+12>>2]=d;c[a+16>>2]=d+8;c[a+4>>2]=b+(d+7>>3);c[a+8>>2]=0;return}function _P(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+28332+(b<<2)|0;c[d>>2]=0;f=a+29540|0;e=(c[f>>2]|0)+-1|0;c[f>>2]=e;if(e|0)WL(d|0,a+28332+(b+1<<2)|0,e-b<<2|0)|0;return}function $P(a,b){a=a|0;b=b|0;var e=0;a=vy(a)|0;if(((a|0)!=-1?(e=vy(b)|0,(e|0)!=-1):0)?(d[160992+a>>0]|0)<=207:0)a=e<<16|a;else{a=j2()|0;c[a>>2]=22;a=-1}return a|0}function aQ(a,b){a=a|0;b=b|0;var d=0;while(1){a=c[b>>2]|0;if((a|0)==-1){b=-1;break}if(!(y$(a)|0)){d=4;break}b=b+4|0}if((d|0)==4)b=c[b>>2]|0;return b|0}function bQ(a,b){a=a|0;b=b|0;var d=0;d=0;while(1){if((d|0)==16)break;c[a>>2]=-2122219135;c[a+4>>2]=-2122219135;c[a+8>>2]=-2122219135;c[a+12>>2]=-2122219135;a=a+b|0;d=d+1|0}return}function cQ(a,b){a=a|0;b=b|0;var d=0;d=0;while(1){if((d|0)==16)break;c[a>>2]=-2139062144;c[a+4>>2]=-2139062144;c[a+8>>2]=-2139062144;c[a+12>>2]=-2139062144;a=a+b|0;d=d+1|0}return}function dQ(a){a=a|0;var b=0,d=0;d=a+4|0;b=(c[d>>2]|0)+-2|0;c[d>>2]=b;if((c[a>>2]|0)<(b<<17|0)){LR(a);a=0}else a=(c[a+16>>2]|0)-(c[a+12>>2]|0)|0;return a|0}function eQ(a){a=a|0;var b=0,e=0,f=0;f=c[a>>2]|0;b=a+16|0;e=c[b>>2]|0;c[a>>2]=(((d[e+1>>0]|0)<<1|(d[e>>0]|0)<<9)+-65535<<7-(d[62224+((f+-1^f)>>>15)>>0]|0))+f;c[b>>2]=e+2;return}function fQ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=d+8|0;h=c[f>>2]|0;g=a[h>>0]|0;g=(g<<24>>24==43&1)-(g<<24>>24==45&1)|0;c[e>>2]=g;c[f>>2]=h+(g&1);return Kd(b,d)|0}function gQ(a){a=a|0;var b=0,d=0;d=a+136|0;a=MP((c[d>>2]|0)+224|0)|0;b=0;while(1){if((b|0)==4)break;a=MP((c[d>>2]|0)+224|0)|0|a<<1;b=b+1|0}return a|0}function hQ(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0;f=0;while(1){if((f|0)==7)break;g=d[c>>0]|d[c+1>>0]<<8;a[b>>0]=g;a[b+1>>0]=g>>8;f=f+1|0;c=c+e|0;b=b+2|0}return}function iQ(b,c,d){b=b|0;c=c|0;d=d|0;if(!((b|0)==0&(c|0)==0))do{d=d+-1|0;a[d>>0]=b&7|48;b=kV(b|0,c|0,3)|0;c=M()|0}while(!((b|0)==0&(c|0)==0));return d|0}function jQ(a){a=a|0;var b=0;b=c[a+60>>2]|0;if(c[c[a+64>>2]>>2]|0){jv(b|0,0,46304)|0;a=Zn(a,b)|0;if((a|0)>=0){c[b+25680>>2]=0;a=0}}else a=0;return a|0}function kQ(a,b){a=a|0;b=b|0;var d=0;d=0;while(1){if((d|0)==16)break;c[a>>2]=2139062143;c[a+4>>2]=2139062143;c[a+8>>2]=2139062143;c[a+12>>2]=2139062143;a=a+b|0;d=d+1|0}return}function lQ(a){a=a|0;switch(a|0){case 69649:{a=2;break}case 69648:{a=3;break}case 69638:case 69645:case 69632:case 69633:case 69647:{a=4;break}default:a=Aj(a)|0}return a|0}function mQ(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0.0;f=+g[c+(d<<3)>>3];c=0;while(1){if((c|0)>=(e|0))break;g[a+(c<<3)>>3]=f*+g[b+(c<<3)>>3];c=c+1|0}return}function nQ(a,b){a=a|0;b=b|0;var d=0,e=0;e=c[a+136>>2]|0;d=PP(a,b)|0;if(!d)a=0;else a=1-((hY(a,b)|0)<<1)<<d+-1;c[e+284>>2]=a;return}function oQ(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0.0;g=+f[c+(d<<2)>>2];c=0;while(1){if((c|0)>=(e|0))break;f[a+(c<<2)>>2]=g*+f[b+(c<<2)>>2];c=c+1|0}return}function pQ(a){a=a|0;var b=0,d=0;d=a+24|0;b=Yb[c[a+16>>2]&15](c[a+20>>2]|0,c[d>>2]|0,4096)|0;ka(11,a|0,c[c[d>>2]>>2]|0,4096,b|0,+(+f[a+8>>2]))|0;return}function qQ(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;while(1){f=Cs(a,c,d,e,b)|0;if((f|0)<0)break;if(!(qY(a)|0)){f=1;break}}return f|0}function rQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=Mb;Mb=Mb+16|0;d=el(a,b,d)|0;if((d|0)<0){AD(a,16,172370,e);c[b+72>>2]=0;c[b+68>>2]=0}Mb=e;return d|0}function sQ(a){a=a|0;c[a+40>>2]=-1;c[a+12>>2]=0;c[a+16>>2]=-1;c[a>>2]=0;c[a+44>>2]=0;c[a+176>>2]=0;c[a+204>>2]=0;c[a+20>>2]=0;c[a+28>>2]=0;bU(a+32|0);return}function tQ(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;var e=0,g=0;e=0;while(1){if((e|0)>=(d|0))break;g=a+(e<<2)|0;f[g>>2]=+f[g>>2]+ +f[b+(e<<2)>>2]*c;e=e+1|0}return}function uQ(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;var e=0,f=0;e=0;while(1){if((e|0)>=(d|0))break;f=a+(e<<3)|0;g[f>>3]=+g[f>>3]+ +g[b+(e<<3)>>3]*c;e=e+1|0}return}function vQ(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;oc[a&31](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function wQ(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;Mn(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function xQ(a,b){a=a|0;b=b|0;var c=0,d=0.0,e=0.0;d=3.141592653589793/(+(b|0)*2.0);c=0;while(1){if((c|0)>=(b|0))break;e=+y(+(d*(+(c|0)+.5)));f[a+(c<<2)>>2]=e;c=c+1|0}return}function yQ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0.0,g=0.0;d=0;e=0.0;while(1){if((d|0)>=(c|0))break;g=e+ +f[a+(d<<2)>>2]*+f[b+(d<<2)>>2];d=d+1|0;e=g}return +e}function zQ(a,b){a=a|0;b=b|0;var e=0;e=c[a+8>>2]|0;a=(c[a>>2]|0)+(e>>>3)|0;return (W_(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(e&7)>>>(32-b|0)|0}function AQ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=kV(c^a|0,d^b|0,1)|0;d=_W(c|a|0,d|b|0,e&2147450879|0,(M()|0)&2147450879|0)|0;L(M()|0);return d|0}function BQ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==16)break;HA(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function CQ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==16)break;kB(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<4<<1)|0,e);f=f+1|0}return}function DQ(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;f=Mb;Mb=Mb+1024|0;g=f;aW(g,a,b);Oq(g,c,d,e);Mb=f;return}function EQ(a){a=a|0;var b=0,d=0,e=0;e=Mb;Mb=Mb+16|0;d=e;b=_a()|0;if(!b)a=1;else{c[d>>2]=a;c[d+4>>2]=b;jV(168606,d)|0;a=0}Mb=e;return a|0}function FQ(a){a=a|0;var b=0,d=0;b=1;while(1){if(b>>>0>=64)break;d=a+(b<<2)|0;c[d>>2]=c[d>>2]^-2147483648;d=a+(b+2<<2)|0;c[d>>2]=c[d>>2]^-2147483648;b=b+4|0}return}function GQ(a,b){a=a|0;b=b|0;Ia(a|0);La(3553,b|0);ib(3553,10241,9729.0);ib(3553,10240,9729.0);ib(3553,10242,33071.0);ib(3553,10243,33071.0);EQ(169277)|0;return}function HQ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4)break;HA(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function IQ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4)break;kB(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<4<<1)|0,e);f=f+1|0}return}function JQ(a){a=a|0;var b=0,d=0;d=a+44|0;b=a+40|0;a=0;while(1){if((a|0)>=(c[d>>2]|0))break;bU((c[b>>2]|0)+(a*12|0)|0);a=a+1|0}bU(b);c[d>>2]=0;return}function KQ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==16)break;Fy(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function LQ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==16)break;uz(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<4<<1)|0,e);f=f+1|0}return}function MQ(a,b){a=a|0;b=b|0;var d=0,e=0;e=Mb;Mb=Mb+16|0;d=e;a=DC(a,d)|0;if((a|0)>=0){OQ(b,c[d>>2]|0);nY(d);a=0}Mb=e;return a|0}function NQ(a){a=a|0;var b=0;b=0;while(1){if((b|0)==8)break;Qk(a+(b<<3<<1)|0);b=b+1|0}b=0;while(1){if((b|0)==8)break;ml(a+(b<<1)|0);b=b+1|0}return}function OQ(a,b){a=a|0;b=b|0;var d=0,e=0;d=b;e=a+72|0;do{c[a>>2]=c[d>>2];a=a+4|0;d=d+4|0}while((a|0)<(e|0));eD(b);c[b+24>>2]=0;c[b+28>>2]=0;return}function PQ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4)break;Fy(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function QQ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4)break;uz(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<4<<1)|0,e);f=f+1|0}return}function RQ(a){a=a|0;var b=0,d=0;d=a+292|0;b=a+288|0;a=0;while(1){if((a|0)>=(c[d>>2]|0))break;aY((c[b>>2]|0)+(a<<2)|0);a=a+1|0}c[d>>2]=0;bU(b);return}function SQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Mb;Mb=Mb+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;d=SX(S(3,f|0)|0)|0;Mb=e;return d|0}function TQ(a,c,e,f,g){a=a|0;c=c|0;e=e|0;f=f|0;g=g|0;g=b[a+27952+(g*160|0)+(d[91792+c>>0]<<2)+2>>1]|0;g=f+e+(g>>2)+((g&3|0)==0?0:3)|0;return ((g|0)>0?g:0)|0}function UQ(){bG(165836);bG(166044);bG(166696);bG(166220);bG(166392);bG(166520);dV(166652);dV(165792);dV(166e3);return}function VQ(a){a=a|0;var b=0,e=0;b=a+16|0;e=c[b>>2]|0;c[a>>2]=(c[a>>2]|0)+-65535+((d[e+1>>0]|0)<<1|(d[e>>0]|0)<<9);if(e>>>0<(c[a+20>>2]|0)>>>0)c[b>>2]=e+2;return}function WQ(a,b,c){a=a|0;b=b|0;c=+c;var d=0.0,e=0,f=0.0;e=b+-2|0;d=+g[a+(b+-1<<3)>>3];while(1){if((e|0)<=-1)break;f=d*c+ +g[a+(e<<3)>>3];e=e+-1|0;d=f}return +d}function XQ(a){a=a|0;var b=0;iu(a);b=c[a+808>>2]|0;if(!(b&2))if(!(b&1))a=0;else a=hg(a)|0;else a=Tp(a)|0;return a|0}function YQ(a,b){a=a|0;b=b|0;var d=0;d=EZ(56)|0;if(!d)d=0;else{k1(d,0)|0;c[d+36>>2]=a;c[d+44>>2]=(b|0)==0?26:b;c[d+32>>2]=1}return d|0}function ZQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=d+32+(d>>>4)|0;e=e>>>0>d>>>0?e:d;if((c[b>>2]|0)>>>0<=d>>>0){a=WW(a,e)|0;c[b>>2]=(a|0)==0?0:e}return a|0}function _Q(a){a=a|0;var b=0,d=0,e=0;d=a+4|0;e=c[d>>2]|0;b=(e+-256|0)>>>31;c[d>>2]=e<<b;b=c[a>>2]<<b;c[a>>2]=b;if(!(b&65535))yU(a);return}function $Q(a){a=a|0;var b=0,d=0;b=a+6472|0;d=a+6728|0;if((c[d>>2]|0)!=4?(c[a+6464>>2]|0)!=0:0)a=0;else{Mn(a+6208|0,b|0,264)|0;a=1}c[d>>2]=0;return a|0}function aR(a){a=a|0;var b=0,e=0;e=Mb;Mb=Mb+16|0;b=e;if((eB(a)|0)==0?(Yb[c[a+32>>2]&15](a,b,1)|0)==1:0)a=d[b>>0]|0;else a=-1;Mb=e;return a|0}function bR(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=Mb;Mb=Mb+16|0;AY(b,24,c,d);AD(b,24,211920,e);if(a|0)AD(b,24,212096,e+8|0);Mb=e;return}function cR(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;e=0;while(1){if((e|0)>(c|0)){e=0;break}if((b[a+(e<<1)>>1]|0)==d<<16>>16){e=1;break}else e=e+1|0}return e|0}function dR(a){a=a|0;var b=0,d=0;b=a+64|0;d2(b)|0;d=a+140|0;a=a+92|0;while(1){if(!(c[d>>2]|0))break;yb(a|0,b|0)|0}c[d>>2]=1;d2(b)|0;return}function eR(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=Mb;Mb=Mb+16|0;f=g|0;$f(a,b,d,e,f)|0;Mb=g;return (L(c[f+4>>2]|0),c[f>>2]|0)|0}function fR(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=0;while(1){if((e|0)>=(d|0))break;f[a+(e<<2)>>2]=+f[b+(e<<2)>>2]*+f[c+(e<<2)>>2];e=e+1|0}return}function gR(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;g=c[b+1412>>2]|0;f=c[g+13320>>2]|0;e=(c[b+7548>>2]|0)+((H(c[g+13396>>2]|0,e>>f)|0)+(d>>f))|0;return a[e>>0]|0}function hR(a){a=a|0;var b=0;if(c[a+12>>2]|0){b=ha(7,a|0)|0;f[a+8>>2]=1.0;a=a+24|0;if(c[a>>2]|0)rY(a)}else b=-1;return b|0}function iR(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+208|0;e=d;Xr(e,b+(0-(c<<1))|0,c);Hi(a,e+32|0,c,16);Mb=d;return}function jR(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+208|0;e=d;Xr(e,b+(0-(c<<1))|0,c);Ji(a,e+32|0,c,16);Mb=d;return}function kR(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+208|0;e=d;Xr(e,b+(0-(c<<1))|0,c);Ki(a,e+32|0,c,16);Mb=d;return}function lR(a,b,c){a=a|0;b=b|0;c=c|0;Aq(a,b,c,d[a+(c+-1)>>0]|0,d[a+((c<<1)+-1)>>0]|0,d[a+((c*3|0)+-1)>>0]|0,d[a+((c<<2)+-1)>>0]|0);return}function mR(a,b){a=a|0;b=b|0;var d=0;d=0;do{d=g0(d)|0;if(!d){d=0;break}}while(!((c[d+8>>2]|0)==(a|0)?(c[d+12>>2]|0)==(b|0):0));return d|0}function nR(a){a=a|0;var b=0;a=a+136|0;b=c[a>>2]|0;if(!(LA(b+224|0,b+1|0)|0))a=0;else{a=(MP((c[a>>2]|0)+224|0)|0)==0;a=a?1:2}return a|0}function oR(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+208|0;e=d;Xr(e,b+(0-(c<<1))|0,c);uh(a,e+32|0,c,16);Mb=d;return}function pR(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+208|0;e=d;Xr(e,b+(0-(c<<1))|0,c);vh(a,e+32|0,c,16);Mb=d;return}function qR(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+208|0;e=d;Xr(e,b+(0-(c<<1))|0,c);wh(a,e+32|0,c,16);Mb=d;return}function rR(a,c){a=a|0;c=c|0;var d=0,e=0,f=0;d=b[a>>1]|0;e=1;while(1){if((e|0)>=(c|0))break;f=b[a+(e<<1)>>1]|0;d=(d|0)<(f|0)?d:f;e=e+1|0}return d|0}function sR(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+672|0;e=d;Vj(e,b+(0-(c<<1))|0,c);_O(a,e+64|0,c);Mb=d;return}function tR(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+672|0;e=d;Vj(e,b+(0-(c<<1))|0,c);$O(a,e+64|0,c);Mb=d;return}function uR(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+672|0;e=d;Vj(e,b+(0-(c<<1))|0,c);aP(a,e+64|0,c);Mb=d;return}function vR(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+672|0;e=d;Vj(e,b+(0-(c<<1))|0,c);bP(a,e+64|0,c);Mb=d;return}function wR(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+672|0;e=d;Vj(e,b+(0-(c<<1))|0,c);cP(a,e+64|0,c);Mb=d;return}function xR(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+672|0;e=d;Vj(e,b+(0-(c<<1))|0,c);dP(a,e+64|0,c);Mb=d;return}function yR(a,b){a=a|0;b=b|0;var d=0,e=0;d=Mb;Mb=Mb+16|0;e=d;a=UA(a,72,e)|0;Uy(a,c[e>>2]|0,b+344|0)|0;Mb=d;return}function zR(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+208|0;e=d;Xr(e,b+(0-(c<<1))|0,c);Li(a,e+32|0,c,16);Mb=d;return}function AR(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=a+26364|0;a=c[e>>2]|0;c[d>>2]=a;if((c[e>>2]|0)!=3){if(!(b&1))c[d>>2]=a^3;b=b>>1}return b|0}function BR(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+208|0;e=d;Xr(e,b+(0-(c<<1))|0,c);Ah(a,e+32|0,c,16);Mb=d;return}function CR(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+112|0;e=d;Jz(e,b+(0-(c<<1))|0,c);uj(a,e+16|0,c,8);Mb=d;return}function DR(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+672|0;e=d;Vj(e,b+(0-(c<<1))|0,c);rP(a,e+64|0,c);Mb=d;return}function ER(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+336|0;e=d;Ms(e,b+(0-(c<<1))|0,c);AP(a,e+32|0,c);Mb=d;return}function FR(a){a=a|0;var b=0,d=0;b=Mb;Mb=Mb+32|0;d=b;c[d>>2]=a;c[d+4>>2]=21523;c[d+8>>2]=b+16;a=(SX(U(54,d|0)|0)|0)==0&1;Mb=b;return a|0}function GR(c,d,e,f,g){c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;if((a[c+140>>0]|0)==1){g=g+f+(b[e+2>>1]>>2)|0;Yw(d+4|0,(g|0)<-9?0:g+9|0,0)}return}function HR(a,b){a=a|0;b=b|0;var d=0,e=0;d=Mb;Mb=Mb+16|0;e=d;c[e>>2]=c[b+56>>2];c[e+4>>2]=-1;b=gw(c[a+4>>2]|0,e)|0;Mb=d;return b|0}function IR(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+112|0;e=d;Jz(e,b+(0-(c<<1))|0,c);ai(a,e+16|0,c,8);Mb=d;return}function JR(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+672|0;e=d;Vj(e,b+(0-(c<<1))|0,c);sP(a,e+64|0,c);Mb=d;return}function KR(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+336|0;e=d;Ms(e,b+(0-(c<<1))|0,c);EP(a,e+32|0,c);Mb=d;return}function LR(a){a=a|0;var b=0,d=0,e=0;d=a+4|0;e=c[d>>2]|0;b=(e+-256|0)>>>31;c[d>>2]=e<<b;b=c[a>>2]<<b;c[a>>2]=b;if(!(b&65535))VQ(a);return}function MR(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=KK(e,f)|0;a=M()|0;return (L((H(b,f)|0)+(H(d,e)|0)+a|a&0|0),c|0|0)|0}function NR(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+128|0;e=d;ui(e,b,16,c);Jo(a,b+2|0,e,c,c,16,8);Mb=d;return}function OR(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+128|0;e=d;yi(e,b,16,c);Jo(a,b+2|0,e,c,c,16,8);Mb=d;return}function PR(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+128|0;e=d;zi(e,b,16,c);Jo(a,b+2|0,e,c,c,16,8);Mb=d;return}function QR(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+80|0;e=d;Jy(e,b+(0-(c<<1))|0,c);Ir(a,e+16|0,c);Mb=d;return}function RR(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+80|0;e=d;Jy(e,b+(0-(c<<1))|0,c);Rr(a,e+16|0,c);Mb=d;return}function SR(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+80|0;e=d;Jy(e,b+(0-(c<<1))|0,c);Sr(a,e+16|0,c);Mb=d;return}function TR(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+128|0;e=d;ui(e,b,16,c);om(a,b+2|0,e,c,c,16,8);Mb=d;return}function UR(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+128|0;e=d;yi(e,b,16,c);om(a,b+2|0,e,c,c,16,8);Mb=d;return}function VR(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+128|0;e=d;zi(e,b,16,c);om(a,b+2|0,e,c,c,16,8);Mb=d;return}function WR(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+80|0;e=d;Jy(e,b+(0-(c<<1))|0,c);Kp(a,e+16|0,c);Mb=d;return}function XR(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+80|0;e=d;Jy(e,b+(0-(c<<1))|0,c);Np(a,e+16|0,c);Mb=d;return}function YR(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+80|0;e=d;Jy(e,b+(0-(c<<1))|0,c);Op(a,e+16|0,c);Mb=d;return}function ZR(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=H(b,a)|0;if((a|0)!=0&(b|a)>>>0>65535?((e>>>0)/(a>>>0)|0|0)!=(b|0):0)a=-22;else{c[d>>2]=e;a=0}return a|0}function _R(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+32|0;e=d;WG(e,b+(0-(c<<1))|0,c);gx(a,e+8|0,c);Mb=d;return}function $R(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+32|0;e=d;WG(e,b+(0-(c<<1))|0,c);tx(a,e+8|0,c);Mb=d;return}function aS(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+32|0;e=d;WG(e,b+(0-(c<<1))|0,c);ux(a,e+8|0,c);Mb=d;return}function bS(a,b,c){a=a|0;b=b|0;c=c|0;var e=0;e=d[a+((c*3|0)+-1)>>0]|0;Aq(a,b,c,d[a+(c+-1)>>0]|0,d[a+((c<<1)+-1)>>0]|0,e,e);return}function cS(a,b){a=a|0;b=b|0;var d=0,e=0;e=a+40|0;a=a+36|0;d=b+1024|0;if((c[e>>2]|0)>>>0<b>>>0){b=_A(c[a>>2]|0,d)|0;c[a>>2]=b;c[e>>2]=d}return}function dS(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){Cm(b)|0;bU(b+100|0);bU(b+848|0);bU(b+304|0);bU(b+308|0);bU(b+520|0);bU(a)}return}function eS(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if(c[b+640>>2]&d|0?(RB(a,b),(d|0)!=3):0){zD(a,d);d=a+32|0;c[d>>2]=(c[d>>2]<<1)+e}return}function fS(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+8|0;e=c[d>>2]|0;f=0-e|0;a=(c[a+16>>2]|0)-e|0;c[d>>2]=((f|0)>(b|0)?f:(a|0)<(b|0)?a:b)+e;return}function gS(a,b){a=a|0;b=b|0;var d=0,e=0;b=a+192+(b<<2)|0;d=c[b>>2]|0;if(d|0?(e=a+1224|0,(c[e>>2]|0)==(c[d+4>>2]|0)):0)c[e>>2]=0;F$(b);return}function hS(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+128|0;e=d;Ei(e,b,16,c);Jo(a,b+2|0,e,c,c,16,8);Mb=d;return}function iS(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+80|0;e=d;Jy(e,b+(0-(c<<1))|0,c);$r(a,e+16|0,c);Mb=d;return}function jS(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+128|0;e=d;Ei(e,b,16,c);om(a,b+2|0,e,c,c,16,8);Mb=d;return}function kS(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+80|0;e=d;Jy(e,b+(0-(c<<1))|0,c);Up(a,e+16|0,c);Mb=d;return}function lS(a){a=a|0;var b=0,d=0;d=a+4|0;b=0;while(1){if((b|0)>=(c[d>>2]|0))break;XW(c[(c[a>>2]|0)+(b<<2)>>2]|0);b=b+1|0}c[a+8>>2]=0;return}function mS(a,b,c,d,e,f,g,h,i,j,k,l,m,n){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;K(30)}function nS(a,b){a=a|0;b=b|0;var d=0;c[a+276>>2]=b;d=jY(b)|0;c[a+264>>2]=d;b=iY(b)|0;c[a+272>>2]=(c[a+260>>2]|0)==1?1:b;return}function oS(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+48|0;e=d;VG(e,b+(0-(c<<1))|0,c);Rs(a,e+8|0,c);Mb=d;return}function pS(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+32|0;e=d;WG(e,b+(0-(c<<1))|0,c);Bx(a,e+8|0,c);Mb=d;return}function qS(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+16|0;e=d;hQ(e,b+(0-(c<<1))|0,c);xy(a,e+4|0,c);Mb=d;return}function rS(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+48|0;e=d;VG(e,b+(0-(c<<1))|0,c);uq(a,e+8|0,c);Mb=d;return}function sS(a){a=a|0;var b=0;b=c[a+8>>2]|0;a=(c[a>>2]|0)+(b>>>3)|0;return (W_(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(b&7)>>>20|0}function tS(a){a=a|0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+76>>2]=32;c[a+84>>2]=0;c[a+102632>>2]=-1;c[a+14664>>2]=-1;a=a+20|0;c[a>>2]=-1;b[a+4>>1]=65535;return}function uS(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+512|0;e=d;jL(e,b,32,c);KU(a,b+2|0,e,c,c);Mb=d;return}function vS(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+512|0;e=d;kL(e,b,32,c);KU(a,b+2|0,e,c,c);Mb=d;return}function wS(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+512|0;e=d;lL(e,b,32,c);KU(a,b+2|0,e,c,c);Mb=d;return}function xS(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=EZ(40)|0;if(!e)e=0;else{c[e>>2]=a;g[e+8>>3]=1.0;c[e+20>>2]=b;c[e+24>>2]=d}return e|0}function yS(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+512|0;e=d;jL(e,b,32,c);MU(a,b+2|0,e,c,c);Mb=d;return}function zS(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+512|0;e=d;kL(e,b,32,c);MU(a,b+2|0,e,c,c);Mb=d;return}function AS(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+512|0;e=d;lL(e,b,32,c);MU(a,b+2|0,e,c,c);Mb=d;return}function BS(a){a=a|0;var b=0;b=c[a+8>>2]|0;a=(c[a>>2]|0)+(b>>>3)|0;return (W_(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(b&7)>>>24|0}function CS(a,b){a=a|0;b=b|0;var c=0;c=Mb;Mb=Mb+16|0;b=mB(b,0,c)|0;if((b|0)==-1)b=-1;else{a=SQ(b,a,4)|0;eU(b)|0;b=a}Mb=c;return b|0}function DS(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+64|0;e=d;dj(e,b,8,c);pv(a,b+1|0,e,c,c,8,8);Mb=d;return}function ES(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+64|0;e=d;dj(e,b,8,c);wt(a,b+1|0,e,c,c,8,8);Mb=d;return}function FS(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;nc[a&63](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function GS(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+512|0;e=d;GL(e,b,32,c);KU(a,b+2|0,e,c,c);Mb=d;return}function HS(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+256|0;e=d;VL(e,b,16,c);PU(a,b+1|0,e,c,c);Mb=d;return}function IS(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+512|0;e=d;GL(e,b,32,c);MU(a,b+2|0,e,c,c);Mb=d;return}function JS(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+256|0;e=d;VL(e,b,16,c);RU(a,b+1|0,e,c,c);Mb=d;return}function KS(a,b,e){a=a|0;b=b|0;e=e|0;a=e0(a)|0;if(!a)a=-38;else{c[b>>2]=d[a+5>>0];c[e>>2]=d[a+6>>0];a=0}return a|0}function LS(a,c,e){a=a|0;c=c|0;e=e|0;var f=0;f=0;while(1){if((f|0)==2)break;b[a>>1]=d[c>>0]|d[c+1>>0]<<8;f=f+1|0;c=c+e|0;a=a+e|0}return}function MS(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+128|0;e=d;ui(e,b,16,c);Jo(a,b,e,c,c,16,8);Mb=d;return}function NS(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+128|0;e=d;yi(e,b,16,c);Jo(a,b,e,c,c,16,8);Mb=d;return}function OS(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+128|0;e=d;zi(e,b,16,c);Jo(a,b,e,c,c,16,8);Mb=d;return}function PS(a,b){a=a|0;b=b|0;var d=0,e=0;d=0;while(1){if((d|0)==8)break;e=a+(H(d,b)|0)|0;c[e>>2]=-2122219135;c[e+4>>2]=-2122219135;d=d+1|0}return}function QS(a,b){a=a|0;b=b|0;var d=0,e=0;d=0;while(1){if((d|0)==8)break;e=a+(H(d,b)|0)|0;c[e>>2]=-2139062144;c[e+4>>2]=-2139062144;d=d+1|0}return}function RS(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+128|0;e=d;ui(e,b,16,c);om(a,b,e,c,c,16,8);Mb=d;return}function SS(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+128|0;e=d;yi(e,b,16,c);om(a,b,e,c,c,16,8);Mb=d;return}function TS(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+128|0;e=d;zi(e,b,16,c);om(a,b,e,c,c,16,8);Mb=d;return}function US(a){a=a|0;var b=0;b=c[a+8>>2]|0;a=(c[a>>2]|0)+(b>>>3)|0;return (W_(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(b&7)>>>31|0}function VS(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+32|0;e=d;hp(e,b,8,c);uw(a,b+2|0,e,c,c);Mb=d;return}function WS(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+32|0;e=d;np(e,b,8,c);uw(a,b+2|0,e,c,c);Mb=d;return}function XS(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+32|0;e=d;op(e,b,8,c);uw(a,b+2|0,e,c,c);Mb=d;return}function YS(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+16|0;e=d;sv(e,b,4,c);BB(a,b+2|0,e,c,c);Mb=d;return}function ZS(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+16|0;e=d;wv(e,b,4,c);BB(a,b+2|0,e,c,c);Mb=d;return}function _S(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+16|0;e=d;xv(e,b,4,c);BB(a,b+2|0,e,c,c);Mb=d;return}function $S(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;a=c[a>>2]|0;if(c[a+29656>>2]|0)Ri((c[a+25628>>2]|0)+24|0,b,d,e,f,g);return}function aT(a,b){a=a|0;b=b|0;var d=0,e=0;if(!((((b|0)==0?(e=c[a+12>>2]|0,(e|0)!=0):0)?(c[e+44>>2]|0)!=0:0)?(d=c[a+60>>2]|0,(d|0)!=0):0))d=0;return d|0}function bT(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+32|0;e=d;hp(e,b,8,c);uu(a,b+2|0,e,c,c);Mb=d;return}function cT(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+32|0;e=d;np(e,b,8,c);uu(a,b+2|0,e,c,c);Mb=d;return}function dT(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+32|0;e=d;op(e,b,8,c);uu(a,b+2|0,e,c,c);Mb=d;return}function eT(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+128|0;e=d;Ei(e,b,16,c);Jo(a,b,e,c,c,16,8);Mb=d;return}function fT(a,b){a=a|0;b=b|0;var d=0,e=0;d=0;while(1){if((d|0)==8)break;e=a+(H(d,b)|0)|0;c[e>>2]=2139062143;c[e+4>>2]=2139062143;d=d+1|0}return}function gT(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+128|0;e=d;Ei(e,b,16,c);om(a,b,e,c,c,16,8);Mb=d;return}function hT(a){a=a|0;var b=0,d=0;d=0;while(1){if(d>>>0>=434){b=0;break}b=63568+(d*28|0)|0;if((c[b>>2]|0)==(a|0))break;else d=d+1|0}return b|0}function iT(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+32|0;e=d;pp(e,b,8,c);uw(a,b+2|0,e,c,c);Mb=d;return}function jT(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+16|0;e=d;lq(e,b,4,c);SB(a,b+1|0,e,c,c);Mb=d;return}function kT(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+16|0;e=d;Cv(e,b,4,c);BB(a,b+2|0,e,c,c);Mb=d;return}function lT(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+16|0;e=d;Bw(e,b,2,c);$D(a,b+1|0,e,c,c);Mb=d;return}function mT(a){a=a|0;var b=0,e=0,f=0;e=a+8|0;f=c[e>>2]|0;b=(d[(c[a>>2]|0)+(f>>>3)>>0]|0)<<(f&7)>>>7&1;c[e>>2]=f+((f|0)<(c[a+16>>2]|0)&1);return b|0}function nT(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+32|0;e=d;pp(e,b,8,c);uu(a,b+2|0,e,c,c);Mb=d;return}function oT(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+16|0;e=d;lq(e,b,4,c);TA(a,b+1|0,e,c,c);Mb=d;return}function pT(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+512|0;e=d;jL(e,b,32,c);KU(a,b,e,c,c);Mb=d;return}function qT(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+512|0;e=d;kL(e,b,32,c);KU(a,b,e,c,c);Mb=d;return}function rT(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+512|0;e=d;lL(e,b,32,c);KU(a,b,e,c,c);Mb=d;return}function sT(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Mb;Mb=Mb+16|0;b=_l(a,b,c)|0;if((b|0)<0)AD(a,16,193701,d);Mb=d;return b|0}function tT(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+512|0;e=d;jL(e,b,32,c);MU(a,b,e,c,c);Mb=d;return}function uT(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+512|0;e=d;kL(e,b,32,c);MU(a,b,e,c,c);Mb=d;return}function vT(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+512|0;e=d;lL(e,b,32,c);MU(a,b,e,c,c);Mb=d;return}function wT(a){a=a|0;var b=0,d=0;d=0;while(1){b=c[166892+(d<<2)>>2]|0;if(d|0){b=0;break}if(!(PF(c[b>>2]|0,a)|0))break;else d=1}return b|0}function xT(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0;e=+f[d>>2];f[a>>2]=e*+f[b+((c&15)<<2)>>2];f[a+4>>2]=e*+f[b+((c>>>4&15)<<2)>>2];return a+8|0}function yT(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;i=i|0;lc[a&1](b|0,c|0,d|0,e|0,f|0,g|0,+h,i|0)}function zT(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+64|0;e=d;dj(e,b,8,c);pv(a,b,e,c,c,8,8);Mb=d;return}function AT(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;b=0;while(1){if((b|0)==8)break;c[a>>2]=-2139062144;c[a+4>>2]=-2139062144;b=b+1|0;a=a+e|0}return}function BT(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;while(1){if(!d)break;e=X0(b[c>>1]|0)|0;b[a>>1]=e;d=d+-1|0;c=c+2|0;a=a+2|0}return}function CT(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+64|0;e=d;dj(e,b,8,c);wt(a,b,e,c,c,8,8);Mb=d;return}function DT(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+512|0;e=d;GL(e,b,32,c);KU(a,b,e,c,c);Mb=d;return}function ET(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+256|0;e=d;VL(e,b,16,c);PU(a,b,e,c,c);Mb=d;return}function FT(a,b){a=a|0;b=b|0;var d=0,e=0;e=b+248|0;do{if(c[e>>2]|0){d=0;break}d=id(a,b)|0}while((d|0)>=0);return d|0}function GT(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+512|0;e=d;GL(e,b,32,c);MU(a,b,e,c,c);Mb=d;return}function HT(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+256|0;e=d;VL(e,b,16,c);RU(a,b,e,c,c);Mb=d;return}function IT(a){a=a|0;a:do if(!(d1(a)|0)){switch(a|0){case 43:case 45:{a=1;break a}default:{}}a=(a|0)==46&1}else a=1;while(0);return a|0}function JT(){var a=0,b=0,d=0;d=Mb;Mb=Mb+16|0;b=d;a=Cb(84)|0;if(!(c[278129]|0)){c[b>>2]=a;AD(0,48,211228,b);c[278129]=1}Mb=d;return a|0}function KT(a){a=a|0;var b=0,d=0;if((a|0?(b=c[a>>2]|0,b|0):0)?(c[a>>2]=0,d=b+32|0,a=c[d>>2]|0,c[d>>2]=a+-1,(a|0)==1):0)OA(b);return}function LT(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;var e=0;e=0;while(1){if((e|0)>=(d|0))break;f[a+(e<<2)>>2]=+f[b+(e<<2)>>2]*c;e=e+1|0}return}function MT(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;var e=0;e=0;while(1){if((e|0)>=(d|0))break;g[a+(e<<3)>>3]=+g[b+(e<<3)>>3]*c;e=e+1|0}return}function NT(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+32|0;e=d;hp(e,b,8,c);uw(a,b,e,c,c);Mb=d;return}function OT(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+32|0;e=d;np(e,b,8,c);uw(a,b,e,c,c);Mb=d;return}function PT(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+32|0;e=d;op(e,b,8,c);uw(a,b,e,c,c);Mb=d;return}function QT(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+16|0;e=d;sv(e,b,4,c);BB(a,b,e,c,c);Mb=d;return}function RT(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+16|0;e=d;wv(e,b,4,c);BB(a,b,e,c,c);Mb=d;return}function ST(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+16|0;e=d;xv(e,b,4,c);BB(a,b,e,c,c);Mb=d;return}function TT(a){a=a|0;var b=0;b=0;while(1){if(b>>>0>=36){b=-1094995529;break}if(!(c[(c[a+696+(b*656|0)>>2]|0)+248>>2]|0))break;b=b+1|0}return b|0}function UT(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+32|0;e=d;hp(e,b,8,c);uu(a,b,e,c,c);Mb=d;return}function VT(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+32|0;e=d;np(e,b,8,c);uu(a,b,e,c,c);Mb=d;return}function WT(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+32|0;e=d;op(e,b,8,c);uu(a,b,e,c,c);Mb=d;return}function XT(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+32|0;e=d;pp(e,b,8,c);uw(a,b,e,c,c);Mb=d;return}function YT(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+16|0;e=d;lq(e,b,4,c);SB(a,b,e,c,c);Mb=d;return}function ZT(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+16|0;e=d;Cv(e,b,4,c);BB(a,b,e,c,c);Mb=d;return}function _T(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+16|0;e=d;Bw(e,b,2,c);$D(a,b,e,c,c);Mb=d;return}function $T(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+32|0;e=d;pp(e,b,8,c);uu(a,b,e,c,c);Mb=d;return}function aU(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+16|0;e=d;lq(e,b,4,c);TA(a,b,e,c,c);Mb=d;return}function bU(b){b=b|0;var c=0;c=d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24;a[b>>0]=0;a[b+1>>0]=0;a[b+2>>0]=0;a[b+3>>0]=0;$1(c);return}function cU(a){a=a|0;c[a>>2]=715;c[a+4>>2]=170;c[a+8>>2]=125;c[a+12>>2]=171;c[a+16>>2]=172;c[a+20>>2]=1;c[a+24>>2]=126;c[a+28>>2]=127;return}function dU(a,d){a=a|0;d=d|0;var e=0;e=(rO(d,16)|0)&65535;b[a+4>>1]=e;d=(rO(d,16)|0)&65535;b[a+6>>1]=d;c[a>>2]=2;return}function eU(a){a=a|0;var b=0,d=0;b=Mb;Mb=Mb+16|0;d=b;a=f2(a)|0;c[d>>2]=a;a=V(6,d|0)|0;a=SX((a|0)==-4?0:a)|0;Mb=b;return a|0}function fU(a,b,c,d,e,f,g,h,i,j,k,l,m){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;h=h|0;i=i|0;j=+j;k=+k;l=l|0;m=m|0;K(12);return 0}function gU(a){a=a|0;var c=0,d=0,e=0;c=0;d=0;while(1){if((c|0)==64)break;e=b[a+(c<<1)>>1]|0;c=c+1|0;d=((e|0)>-1?e:0-e|0)+d|0}return d|0}function hU(a){a=a|0;var b=0,d=0;b=Mb;Mb=Mb+16|0;d=b;a=f2(c[a+60>>2]|0)|0;c[d>>2]=a;a=SX(V(6,d|0)|0)|0;Mb=b;return a|0}function iU(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 bc[a&1](b|0,c|0,d|0,e|0,f|0,g|0,h|0)|0}function jU(a,b,c){a=a|0;b=b|0;c=c|0;if((a|0)>(b|0))return ((c|0)>(b|0)?((c|0)>(a|0)?a:c):b)|0;else return ((b|0)>(c|0)?((c|0)>(a|0)?c:a):b)|0;return 0}function kU(a){a=a|0;var b=0;b=a<<24>>24;if((a+-48&255)>=10)if((a+-97&255)<6)a=-87;else return ((a+-65&255)<6?b+-55|0:-1)|0;else a=-48;return a+b|0}function lU(a,b){a=a|0;b=b|0;var d=0;d=(b|0)==0?0:512;c[a>>2]=b;c[a+12>>2]=d;c[a+16>>2]=d|8;c[a+4>>2]=b+(d>>>3);c[a+8>>2]=0;return}function mU(a){a=a|0;var b=0;b=a+136|0;a=0;while(1){if(a>>>0>=2)break;if(!(MP((c[b>>2]|0)+224|0)|0))break;a=a+1|0}return a|0}function nU(a,b){a=a|0;b=b|0;var d=0;d=(b|0)==0?0:56;c[a>>2]=b;c[a+12>>2]=d;c[a+16>>2]=d+8;c[a+4>>2]=b+(d>>>3);c[a+8>>2]=0;return}function oU(a){a=a|0;var b=0;b=a;c[b>>2]=0;c[b+4>>2]=0;c[a+72>>2]=271733878;c[a+76>>2]=-1732584194;c[a+80>>2]=-271733879;c[a+84>>2]=1732584193;return}function pU(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=Mb;Mb=Mb+16|0;g=f;c[g>>2]=e;e=xw(a,b,d,g)|0;Mb=f;return e|0}function qU(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;mc[a&63](b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function rU(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){L$(b+24|0);bU(b+16|0);bU(b+20|0);bU(b+96|0);bU(b+92|0);bU(a)}return}function sU(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Mb;Mb=Mb+16|0;f=e;c[f>>2]=d;bR(0,a,b,f);Mb=e;return}function tU(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=nA(a)|0;if((d+1|0)>>>0<c>>>0)a=mK(a+d|0,b,c-d|0)|0;else a=nA(b)|0;return a+d|0}function uU(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;if(b|0?(MA(b),d=c[b+13448>>2]|0,d|0):0)dc[c[d+4>>2]&63](b+13444|0);bU(a);return}function vU(a){a=a|0;var b=0,c=0;c=(a^85)&255;a=c>>>4&7;b=c<<1&30;if(!a)a=b<<3|8;else a=(b|33)<<a+2;return ((c&128|0)==0?0-a|0:a)|0}function wU(a,b){a=a|0;b=b|0;var d=0;d=HG(a,4)|0;c[b>>2]=d;if((d|0)==15)a=HG(a,24)|0;else a=c[80848+(d<<2)>>2]|0;return a|0}function xU(a){a=a|0;if(a)if((c[a+80>>2]|0)==0?(c[a+84>>2]|0)==0:0)a=(c[a+96>>2]|0)!=0&1;else a=1;else a=0;return a|0}function yU(a){a=a|0;var b=0,e=0;b=a+16|0;e=c[b>>2]|0;c[a>>2]=(c[a>>2]|0)+-65535+((d[e+1>>0]|0)<<1|(d[e>>0]|0)<<9);c[b>>2]=e+2;return}function zU(a,b){a=a|0;b=b|0;b=d[91792+b>>0]|0;b=(d[b+-8+(a+27824)>>0]|0)+(d[b+-1+(a+27824)>>0]|0)|0;return (b>>>0<64?(b+1|0)>>>1:b)&31|0}function AU(a,b){a=a|0;b=b|0;var d=0;d=zc(6448)|0;if(!d)d=0;else{jv(d|0,0,6448)|0;c[d+6432>>2]=a;c[d+6436>>2]=b}return d|0}function BU(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){L(b>>c|0);return a>>>c|(b&(1<<c)-1)<<32-c}L(((b|0)<0?-1:0)|0);return b>>c-32|0}function CU(a,b,c){a=a|0;b=b|0;c=+c;var d=0.0,e=0.0;e=c*134217729.0;e=e+(c-e);d=c-e;c=c*c;g[a>>3]=c;g[b>>3]=d*d+(e*e-c+e*2.0*d);return}function DU(a,b,d){a=a|0;b=b|0;d=d|0;b=c[a+(0-d)>>2]|0;c[a>>2]=b;c[a+d>>2]=b;c[a+(d<<1)>>2]=b;c[a+(d*3|0)>>2]=b;return}function EU(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;g=g|0;h=h|0;ic[a&1](b|0,c|0,d|0,e|0,+f,g|0,h|0)}function FU(a){a=+a;a=+q0(+a);L((+u(a)>=1.0?(a>0.0?~~+I(+t(a/4294967296.0),4294967295.0)>>>0:~~+G((a-+(~~a>>>0))/4294967296.0)>>>0):0)|0);return ~~a>>>0|0}function GU(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Mb;Mb=Mb+16|0;f=e;c[f>>2]=d;bR(1,a,b,f);Mb=e;return}function HU(a,b,d){a=a|0;b=b|0;d=d|0;c[a>>2]=-2122219135;c[a+d>>2]=-2122219135;c[a+(d<<1)>>2]=-2122219135;c[a+(d*3|0)>>2]=-2122219135;return}function IU(a,b,d){a=a|0;b=b|0;d=d|0;c[a>>2]=-2139062144;c[a+d>>2]=-2139062144;c[a+(d<<1)>>2]=-2139062144;c[a+(d*3|0)>>2]=-2139062144;return}function JU(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;K(29)}function KU(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Jo(a,b,c,d,e,32,16);Jo(a+16|0,b+16|0,c+16|0,d,e,32,16);return}function LU(a){a=+a;a=+VK(a);L((+u(a)>=1.0?(a>0.0?~~+I(+t(a/4294967296.0),4294967295.0)>>>0:~~+G((a-+(~~a>>>0))/4294967296.0)>>>0):0)|0);return ~~a>>>0|0}function MU(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;om(a,b,c,d,e,32,16);om(a+16|0,b+16|0,c+16|0,d,e,32,16);return}function NU(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Mb;Mb=Mb+96|0;e=d;oU(e);cs(e,b,c);oy(e,a);Mb=d;return}function OU(a,b,d){a=a|0;b=b|0;d=d|0;c[a>>2]=2139062143;c[a+d>>2]=2139062143;c[a+(d<<1)>>2]=2139062143;c[a+(d*3|0)>>2]=2139062143;return}function PU(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;pv(a,b,c,d,e,16,16);pv(a+8|0,b+8|0,c+8|0,d,e,16,16);return}function QU(b,c){b=b|0;c=c|0;var d=0;d=0;while(1){if((d|0)>=(c|0))break;if(!(a[b+d>>0]|0))break;d=d+1|0}return d|0}function RU(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;wt(a,b,c,d,e,16,16);wt(a+8|0,b+8|0,c+8|0,d,e,16,16);return}function SU(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)!=0?(2147483647/(c>>>0)|0)>>>0>b>>>0:0)a=WW(a,H(c,b)|0)|0;else a=0;return a|0}function TU(a,b){a=a|0;b=+b;var d=0;d=a+152|0;f[d>>2]=+f[d>>2]-b;d=a+184|0;f[d>>2]=+f[d>>2]-b;c[a+192>>2]=1;return}function UU(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 $b[a&15](b|0,c|0,d|0,e|0,f|0,g|0)|0}function VU(a){a=a|0;var b=0;b=0;while(1){if(b>>>0>=12){b=-1;break}if(!(PF(151552+(b*20|0)|0,a)|0))break;b=b+1|0}return b|0}function WU(a,b){a=a|0;b=b|0;Mn(a|0,b|0,400)|0;if((c[b+64>>2]|0)==(b|0))c[a+64>>2]=a;jv(b|0,0,400)|0;Pv(b);return}function XU(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[(c[(c[a+64>>2]|0)+20>>2]|0)+8>>2]=b;return cB(a,0,d,e,f,0)|0}function YU(a){a=a|0;var b=0,c=0;if((a|0)!=0?(c=(nA(a)|0)+1|0,b=WW(0,c)|0,(b|0)!=0):0)Mn(b|0,a|0,c|0)|0;else b=0;return b|0}function ZU(a){a=a|0;var b=0;a=c[a>>2]|0;b=a+1664|0;c[b>>2]=0;c[b+4>>2]=-2147483648;c[a+1672>>2]=2147483647;Ve(a+1208|0,8,1);return 0}function _U(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){L(b<<c|(a&(1<<c)-1<<32-c)>>>32-c|0);return a<<c}L(a<<c-32|0);return 0}function $U(b){b=b|0;var c=0;while(1){c=a[b>>0]|0;if(!(c<<24>>24))break;if((c&255)<8|(c+-14&255)<18)a[b>>0]=63;b=b+1|0}return}function aV(){var a=0,b=0;a=0;while(1){if((a|0)==512)break;b=a+-256|0;b=H(b,b)|0;c[1054656+(a<<2)>>2]=b;a=a+1|0}return}function bV(a,b,d){a=a|0;b=b|0;d=d|0;if(!(c[b+21844>>2]|0))zd(a,b,d);else hd(a,b,d);return}function cV(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Mb;Mb=Mb+16|0;f=e;c[f>>2]=d;d=u$(a,b,f)|0;Mb=e;return d|0}function dV(a){a=a|0;var b=0,d=0;b=a+40|0;do{d=c[278102]|0;c[b>>2]=d}while((d|0)!=(dY(d,a)|0));return}function eV(a,b,c,d,e,f,g){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;f=f|0;g=g|0;return Wb[a&1](b|0,+c,d|0,e|0,f|0,g|0)|0}function fV(a,b){a=a|0;b=b|0;var d=0;d=c[(c[a>>2]|0)+24>>2]|0;if(!d)a=0;else a=Xb[d&15](a,b)|0;return a|0}function gV(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Mb;Mb=Mb+16|0;f=e;c[f>>2]=d;d=tP(a,b,f)|0;Mb=e;return d|0}function hV(a){a=a|0;var b=0;b=RD(1016)|0;if(b){if((Xk(b,a)|0)<0){$1(b);b=0}}else b=0;return b|0}function iV(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;kc[a&127](b|0,c|0,d|0,e|0,f|0,g|0)}function jV(a,b){a=a|0;b=b|0;var d=0,e=0;d=Mb;Mb=Mb+16|0;e=d;c[e>>2]=b;b=u$(c[41853]|0,a,e)|0;Mb=d;return b|0}function kV(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){L(b>>>c|0);return a>>>c|(b&(1<<c)-1)<<32-c}L(0);return b>>>c-32|0}function lV(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;f=gg(a,b,c,d,e,f,5)|0;L(M()|0);return f|0}function mV(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Mb;Mb=Mb+832|0;Zf(a,d,b,c,16,c);Mb=d;return}function nV(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Mb;Mb=Mb+832|0;ag(a,d,b,c,16,c);Mb=d;return}function oV(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Mb;Mb=Mb+416|0;ef(a,d,b,c,16,c);Mb=d;return}function pV(a){a=a|0;var b=0;b=a+136|0;a=(MP((c[b>>2]|0)+224|0)|0)<<1;return MP((c[b>>2]|0)+224|0)|0|a|0}function qV(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Mb;Mb=Mb+832|0;Kf(a,d,b,c,16,c);Mb=d;return}function rV(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Mb;Mb=Mb+832|0;Mf(a,d,b,c,16,c);Mb=d;return}function sV(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Mb;Mb=Mb+416|0;Le(a,d,b,c,16,c);Mb=d;return}function tV(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Mb;Mb=Mb+2688|0;OE(a,d,b,c,c);Mb=d;return}function uV(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Mb;Mb=Mb+2688|0;PE(a,d,b,c,c);Mb=d;return}function vV(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Mb;Mb=Mb+1344|0;QE(a,d,b,c,c);Mb=d;return}function wV(a){a=a|0;var b=0,e=0;b=a+8|0;e=c[b>>2]|0;a=(d[(c[a>>2]|0)+(e>>>3)>>0]|0)<<(e&7)>>>7&1;c[b>>2]=e+1;return a|0}function xV(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Mb;Mb=Mb+2688|0;TE(a,d,b,c,c);Mb=d;return}function yV(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Mb;Mb=Mb+2688|0;UE(a,d,b,c,c);Mb=d;return}function zV(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Mb;Mb=Mb+1344|0;VE(a,d,b,c,c);Mb=d;return}function AV(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;K(28)}function BV(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Mb;Mb=Mb+416|0;zf(a,d,b,c,16,c);Mb=d;return}function CV(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Mb;Mb=Mb+416|0;Ye(a,d,b,c,16,c);Mb=d;return}function DV(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Mb;Mb=Mb+208|0;Jf(a,d,b,c,8,c);Mb=d;return}function EV(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Mb;Mb=Mb+1344|0;cF(a,d,b,c,c);Mb=d;return}function FV(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Mb;Mb=Mb+208|0;df(a,d,b,c,8,c);Mb=d;return}function GV(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Mb;Mb=Mb+1344|0;dF(a,d,b,c,c);Mb=d;return}function HV(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Mb;Mb=Mb+288|0;Kk(a,d,b,c,c);Mb=d;return}function IV(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Mb;Mb=Mb+288|0;Ok(a,d,b,c,c);Mb=d;return}function JV(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Mb;Mb=Mb+144|0;Vi(a,d,b,c,c);Mb=d;return}function KV(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Mb;Mb=Mb+112|0;$p(a,d,b,c,c);Mb=d;return}function LV(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Mb;Mb=Mb+112|0;eq(a,d,b,c,c);Mb=d;return}function MV(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Mb;Mb=Mb+672|0;rF(a,d,b,c,c);Mb=d;return}function NV(a){a=a|0;var b=0,d=0;if(!(((a|0)!=0?(d=c[a+12>>2]|0,(d|0)!=0):0)?(b=c[d>>2]|0,(b|0)!=0):0))b=192949;return b|0}function OV(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Mb;Mb=Mb+288|0;Ij(a,d,b,c,c);Mb=d;return}function PV(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Mb;Mb=Mb+288|0;Kj(a,d,b,c,c);Mb=d;return}function QV(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Mb;Mb=Mb+144|0;li(a,d,b,c,c);Mb=d;return}function RV(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Mb;Mb=Mb+672|0;sF(a,d,b,c,c);Mb=d;return}function SV(a,b){a=a|0;b=b|0;if((b|0)!=0?(2147483647/(b>>>0)|0)>>>0>a>>>0:0)a=RD(H(b,a)|0)|0;else a=0;return a|0}function TV(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Mb;Mb=Mb+64|0;Po(a,d,b,c,c);Mb=d;return}function UV(a,b){a=a|0;b=b|0;if((c[(c[a+28200>>2]|0)+12>>2]|0)==3)xc(a,b);else yc(a,b);return}function VV(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Mb;Mb=Mb+144|0;sj(a,d,b,c,c);Mb=d;return}function WV(){var a=0,b=0;a=Mb;Mb=Mb+16|0;b=a;o1();p1(-8);c[b>>2]=167912;jV(168057,b)|0;Mb=a;return 0}function XV(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Mb;Mb=Mb+144|0;Oi(a,d,b,c,c);Mb=d;return}function YV(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Mb;Mb=Mb+80|0;Tj(a,d,b,c,c);Mb=d;return}function ZV(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Mb;Mb=Mb+64|0;tp(a,d,b,c,c);Mb=d;return}function _V(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Mb;Mb=Mb+32|0;Wp(a,d,b,c,c);Mb=d;return}function $V(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Mb;Mb=Mb+80|0;bj(a,d,b,c,c);Mb=d;return}function aW(b,d,e){b=b|0;d=d|0;e=e|0;c[b>>2]=d;c[b+4>>2]=0;c[b+8>>2]=e;c[b+12>>2]=e;a[d>>0]=0;return}function bW(a,b){a=a|0;b=b|0;var d=0.0,e=0;e=(c[b>>2]|0)+(8-1)&~(8-1);d=+g[e>>3];c[b>>2]=e+8;g[a>>3]=d;return}function cW(a){a=a|0;if(a)if(!(c[a+88>>2]|0))a=(c[a+104>>2]|0)!=0&1;else a=1;else a=0;return a|0}function dW(a,b){a=a|0;b=b|0;return (d[a+(b+1)>>0]|0)<<16|(d[a+b>>0]|0)<<24|(d[a+(b+2)>>0]|0)<<8|(d[a+(b+3)>>0]|0)|0}function eW(a,b){a=a|0;b=b|0;var d=0;d=a+8|0;a=c[a+16>>2]|0;b=(c[d>>2]|0)+b|0;c[d>>2]=a>>>0>b>>>0?b:a;return}function fW(a){a=a|0;var b=0,c=0;b=(nA(a)|0)+1|0;c=zc(b)|0;if(!c)a=0;else a=Mn(c|0,a|0,b|0)|0;return a|0}function gW(a,b){a=a|0;b=b|0;if((b|0)!=0?(2147483647/(b>>>0)|0)>>>0>a>>>0:0)a=EZ(H(b,a)|0)|0;else a=0;return a|0}function hW(b,c){b=b|0;c=c|0;var d=0;d=0;while(1){if((d|0)==17)break;a[c+d>>0]=0;a[b+d>>0]=0;d=d+1|0}return}function iW(a,b){a=a|0;b=b|0;var c=0;c=aX(a|0,b|0,-1,-1)|0;return ((a|0)==0&(b|0)==0|((c&a|0)!=0|((M()|0)&b|0)!=0))&1|0}function jW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return _b[a&63](b|0,c|0,d|0,e|0,f|0)|0}function kW(a,b){a=a|0;b=b|0;LY(a,b);a=a+(b<<2)|0;iF(a,0,b);iF(a+8|0,0,b);return}function lW(a,b){a=a|0;b=b|0;LY(a,b);a=a+(b<<2)|0;jF(a,0,b);jF(a+8|0,0,b);return}function mW(a,b){a=a|0;b=b|0;LY(a,b);a=a+(b<<2)|0;JF(a,0,b);JF(a+8|0,0,b);return}function nW(a,b,d){a=a|0;b=b|0;d=d|0;c[a+192>>2]=0;c[a>>2]=b;c[a+4>>2]=d;Gw(a);fZ(a);return 0}function oW(a,b){a=a|0;b=b|0;if((b|0)==0?(c[(c[a+4>>2]|0)+8>>2]|0)!=0:0)a=c[a+12>>2]|0;else a=0;return a|0}function pW(a,b){a=a|0;b=b|0;Zt(a,b);a=a+(b<<2)|0;iF(a,0,b);iF(a+8|0,0,b);return}function qW(a,b){a=a|0;b=b|0;Zt(a,b);a=a+(b<<2)|0;jF(a,0,b);jF(a+8|0,0,b);return}function rW(a,b){a=a|0;b=b|0;Zt(a,b);a=a+(b<<2)|0;JF(a,0,b);JF(a+8|0,0,b);return}function sW(a){a=a|0;if(!(c[(c[a>>2]|0)+20>>2]&1))a=(c[(c[a>>2]|0)+8>>2]|0)==1&1;else a=0;return a|0}function tW(a,b){a=a|0;b=b|0;LY(a,b);a=a+(b<<2)|0;NF(a,0,b);NF(a+8|0,0,b);return}function uW(a,b){a=a|0;b=b|0;MY(a,b);a=a+(b<<2)|0;IU(a,0,b);IU(a+4|0,0,b);return}function vW(a){a=a|0;var b=0;b=0;while(1){if((b|0)==32)break;hB(a,a+3520+(b*68|0)|0,-1);b=b+1|0}return}function wW(a){a=a|0;var b=0;b=0;while(1){if((b|0)==32)break;hB(a,a+3520+(b*68|0)|0,6);b=b+1|0}return}function xW(a){a=a|0;if(a>>>0<=11){if(3040>>>a&1)a=c[151552+(a*20|0)+16>>2]|0}else a=-1;return a|0}function yW(a,b){a=a|0;b=b|0;Zt(a,b);a=a+(b<<2)|0;NF(a,0,b);NF(a+8|0,0,b);return}function zW(a,b){a=a|0;b=b|0;vx(a,b);a=a+(b<<2)|0;IU(a,0,b);IU(a+4|0,0,b);return}function AW(a){a=a|0;switch(a|0){case 12:{a=0;break}case 13:{a=4;break}case 14:{a=5;break}default:{}}return a|0}function BW(a){a=a|0;var b=0;b=0-(l1(a)|0)&7;if(b|0)Q_(a,b);return (c[a>>2]|0)+(c[a+8>>2]>>3)|0}function CW(a){a=a|0;if(a>>>0<=11){if(!(3040>>>a&1))a=c[151552+(a*20|0)+16>>2]|0}else a=-1;return a|0}function DW(a){a=a|0;var b=0,d=0;b=a+8|0;a=c[a+16>>2]|0;d=(c[b>>2]|0)+1|0;c[b>>2]=a>>>0>d>>>0?d:a;return}function EW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ze(a,2,b,c,d,e,f);return}function FW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Ae(a,2,b,c,d,e,f);return}function GW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ze(a,b,2,c,d,e,f);return}function HW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Ae(a,b,2,c,d,e,f);return}function IW(a,b){a=a|0;b=b|0;if((2147483647/(b>>>0)|0)>>>0>a>>>0)a=EZ(H(b,a)|0)|0;else a=0;return a|0}function JW(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;K(27)}function KW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Be(a,2,b,c,d,e,f);return}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;Oe(a,1,b,c,d,e,f);return}function MW(a){a=a|0;a=c[a>>2]|0;yD(a+52|0);DP(a+40|0);l0(a+1280|0);bU(a);return}function NW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Be(a,b,2,c,d,e,f);return}function OW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Oe(a,b,1,c,d,e,f);return}function PW(a,b){a=a|0;b=b|0;if((2147483647/(b>>>0)|0)>>>0>a>>>0)a=RD(H(b,a)|0)|0;else a=0;return a|0}function QW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;jc[a&255](b|0,c|0,d|0,e|0,f|0)}function RW(a,b){a=a|0;b=b|0;a=c[a+28>>2]|0;if(!a)a=0;else a=Vb[a&31](b)|0;return a|0}function SW(a){a=a|0;var b=0,d=0;b=a+8|0;a=c[a+16>>2]|0;d=(c[b>>2]|0)+2|0;c[b>>2]=a>>>0>d>>>0?d:a;return}function TW(a){a=a|0;var b=0;b=mP(a)|0;if(!b)b=0;else jv(c[b+4>>2]|0,0,a|0)|0;return b|0}function UW(a){a=a|0;switch(a|0){case 9:case 10:case 12:case 13:case 32:{a=1;break}default:a=(a|0)==11&1}return a|0}function VW(c,d,e){c=c|0;d=d|0;e=e|0;if(!e)a[c>>0]=a[d>>0]|0;else b[c>>1]=b[d>>1]|0;return}function WW(a,b){a=a|0;b=b|0;if((2147483647+-32|0)>>>0<b>>>0)a=0;else a=_A(a,((b|0)==0&1)+b|0)|0;return a|0}function XW(a){a=a|0;var b=0;b=c[a>>2]|0;c[a+4>>2]=b;c[a+8>>2]=b;c[a+16>>2]=0;c[a+20>>2]=0;return}function YW(a){a=a|0;c[a+6744>>2]=35;c[a+6748>>2]=36;c[a+6752>>2]=75;c[a+6756>>2]=76;c[a+6760>>2]=37;return}function ZW(a,b){a=a|0;b=b|0;if(a>>>0<9){b=zc(b)|0;return b|0}else{b=To(a,b)|0;return b|0}return 0}function _W(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 (L(d|0),a-c>>>0|0)|0}function $W(a){a=a|0;if(!(c[a+808>>2]&1))NB(a);else Bi(a,c[a+800>>2]|0);return}function aX(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (L(b+d+(c>>>0<a>>>0|0)>>>0|0),c|0)|0}function bX(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[a>>2]|0;if((e|0)==(b|0))c[a>>2]=d;return e|0}function cX(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Dr(a,2,b,c,d,e);return}function dX(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Er(a,2,b,c,d,e);return}function eX(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Dr(a,b,2,c,d,e);return}function fX(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Er(a,b,2,c,d,e);return}function gX(a){a=+a;var b=0;g[h>>3]=a;b=c[h>>2]|0;L(c[h+4>>2]|0);return b|0}function hX(a,b){a=a|0;b=b|0;LY(a,b);iF(a,0,b);iF(a+8|0,0,b);return}function iX(a,b){a=a|0;b=b|0;LY(a,b);jF(a,0,b);jF(a+8|0,0,b);return}function jX(a,b){a=a|0;b=b|0;LY(a,b);JF(a,0,b);JF(a+8|0,0,b);return}function kX(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Lr(a,2,b,c,d,e);return}function lX(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Ls(a,1,b,c,d,e);return}function mX(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Lr(a,b,2,c,d,e);return}function nX(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Ls(a,b,1,c,d,e);return}function oX(a,b){a=a|0;b=b|0;if((c[a>>2]|0)==324508639)return 0;cc[b&31]();c[a>>2]=324508639;return 0}function pX(a,b){a=a|0;b=b|0;Zt(a,b);iF(a,0,b);iF(a+8|0,0,b);return}function qX(a,b){a=a|0;b=b|0;Zt(a,b);jF(a,0,b);jF(a+8|0,0,b);return}function rX(a,b){a=a|0;b=b|0;Zt(a,b);JF(a,0,b);JF(a+8|0,0,b);return}function sX(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Zb[a&7](b|0,c|0,d|0,e|0)|0}function tX(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;K(26)}function uX(a,b){a=a|0;b=b|0;LY(a,b);NF(a,0,b);NF(a+8|0,0,b);return}function vX(a,b){a=a|0;b=b|0;MY(a,b);IU(a,0,b);IU(a+4|0,0,b);return}function wX(a,b){a=a|0;b=b|0;Zt(a,b);NF(a,0,b);NF(a+8|0,0,b);return}function xX(a,b){a=a|0;b=b|0;vx(a,b);IU(a,0,b);IU(a+4|0,0,b);return}function yX(a,b){a=a|0;b=b|0;a=c[a+136>>2]|0;return LA(a+224|0,a+((b|0)==0?46:47)|0)|0}function zX(a){a=a|0;a=c[(c[a+64>>2]|0)+20>>2]|0;jv(c[a+28>>2]|0,0,c[a+32>>2]<<2|0)|0;return}function AX(a,b){a=a|0;b=b|0;a=c[a+136>>2]|0;return LA(a+224|0,a+((b|0)==0?50:51)|0)|0}function BX(a){a=a|0;JQ(a);F$(a);eD(a);c[a+24>>2]=0;c[a+28>>2]=0;return}function CX(){var a=0;a=EZ(400)|0;if(!a)a=0;else{c[a+64>>2]=0;Pv(a)}return a|0}function DX(a){a=a|0;var b=0;b=~a&255;a=(b<<3&120|132)<<(b>>>4&7);return ((b&128|0)==0?a+-132|0:132-a|0)|0}function EX(){var a=0;a=oK(1,28)|0;ha(5,a|0)|0;f[a+8>>2]=1.0;c[a+4>>2]=4096;return a|0}function FX(a,b){a=a|0;b=b|0;var d=0;d=oK(1,196)|0;c[d>>2]=a;c[d+4>>2]=b;em(d);return d|0}function GX(a){a=a|0;a=c[a+12>>2]|0;if((a|0)!=0?(c[a+88>>2]|0)!=0:0)a=6;else a=5;return a|0}function HX(a,b){a=a|0;b=b|0;return (d[a+(b+1)>>0]|0)<<8|(d[a+b>>0]|0)<<16|(d[a+(b+2)>>0]|0)|0}function IX(a,b){a=a|0;b=b|0;a=c[a+136>>2]|0;return LA(a+224|0,a+((b|0)==0?48:49)|0)|0}function JX(a){a=a|0;a=c[a+60>>2]|0;vW(a);c[a+5716>>2]=2147483647;c[a+5708>>2]=1;return}function KX(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;hc[a&255](b|0,c|0,d|0,e|0)}function LX(a,b,c){a=a|0;b=b|0;c=c|0;Mw(a,b,c,16);Mw(a+16|0,b+16|0,c,16);return}function MX(a,b,c){a=a|0;b=b|0;c=c|0;gu(a,b,c,16);gu(a+16|0,b+16|0,c,16);return}function NX(a,b){a=a|0;b=b|0;a=c[a+136>>2]|0;return LA(a+224|0,a+((b|0)==0?41:40)|0)|0}function OX(a,b,c){a=a|0;b=b|0;c=c|0;LD(a,b,c,16);LD(a+8|0,b+8|0,c,16);return}function PX(a,b){a=a|0;b=b|0;var d=0;d=PL(b)|0;c[a>>2]=d;eW(b,4);return}function QX(a,b,c){a=a|0;b=b|0;c=c|0;pB(a,b,c,16);pB(a+8|0,b+8|0,c,16);return}function RX(a){a=a|0;var b=0;b=HG(a,5)|0;if((b|0)==31)b=(HG(a,6)|0)+32|0;return b|0}function SX(a){a=a|0;var b=0;if(a>>>0>4294963200){b=j2()|0;c[b>>2]=0-a;a=-1}return a|0}function TX(a,b){a=a|0;b=b|0;a=c[a+136>>2]|0;return LA(a+224|0,a+(42-b)|0)|0}function UX(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return rr(a,b,-1,2147483647,-1,c,d)|0}function VX(a,b){a=a|0;b=b|0;a=Bt(a,b)|0;if((a|0)<0)BX(b);return a|0}function WX(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;fc[a&7](b|0,c|0,+d,e|0)}function XX(a){a=a|0;jv(c[a+60>>2]|0,0,7796)|0;a=Et(a)|0;return ((a|0)<0?a:0)|0}function YX(a){a=a|0;Ua(3,a+28|0);EQ(169221)|0;c[a+44>>2]=0;c[a+48>>2]=0;return}function ZX(){var a=0;a=EZ(136)|0;if(!a)a=0;else eC(a);return a|0}function _X(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;K(25)}function $X(a){a=a|0;var b=0;b=a+40|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));return 0}function aY(a){a=a|0;var b=0;b=c[a>>2]|0;F$(b+16|0);pJ(b+12|0);bU(a);return}function bY(a){a=a|0;bU(a+62608|0);bU(a+62612|0);bU(a+62620|0);bU(a+62616|0);return}function cY(a,b,c){a=a|0;b=b|0;c=c|0;c=QA(a,b,c,0,-2147483648)|0;L(M()|0);return c|0}function dY(a,b){a=a|0;b=b|0;var d=0;d=c[278102]|0;if((d|0)==(a|0))c[278102]=b;return d|0}function eY(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){eC(b);bU(a)}return}function fY(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return EC(a,b,1.0,1,c,d,e)|0}function gY(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;h=h|0;K(23)}function hY(a,b){a=a|0;b=b|0;a=c[a+136>>2]|0;return LA(a+224|0,a+(b+174)|0)|0}function iY(a){a=a|0;if(a>>>0>11)a=0;else a=c[151552+(a*20|0)+12>>2]|0;return a|0}function jY(a){a=a|0;if(a>>>0>11)a=0;else a=c[151552+(a*20|0)+8>>2]>>3;return a|0}function kY(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return pq(a,b,c,d,12,28,212461)|0}function lY(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return pq(a,b,c,d,356,27,212578)|0}function mY(a,b){a=a|0;b=b|0;b=b-(l1(a)|0)&7;if(b|0)eW(a,b);return}function nY(a){a=a|0;var b=0;if(a|0?(b=c[a>>2]|0,b|0):0){BX(b);bU(a)}return}function oY(a,b){a=a|0;b=b|0;a=W_(a|0)|0;b=W_(b|0)|0;L(a|0);return b|0}function pY(a,b){a=a|0;b=b|0;c[a>>2]=1;b=HG(b,8)|0;c[a+4>>2]=b;return}function qY(a){a=a|0;if((a$(a)|0)>0)a=(BS(a)|0)!=128&1;else a=0;return a|0}function rY(a){a=a|0;var b=0;if(a|0?(b=c[a>>2]|0,b|0):0){jB(b);bU(a)}return}function sY(a){a=a|0;c[a>>2]=4;c[a+4>>2]=111;c[a+8>>2]=8;c[a+12>>2]=112;return}function tY(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;K(13);return 0}function uY(a){a=a|0;a=c[a>>2]|0;bU(a);sQ(a+1388|0);II(a+40|0);return}function vY(a,b){a=a|0;b=b|0;a=c[a+136>>2]|0;return LA(a+224|0,a+(b+42)|0)|0}function wY(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return jn(a,b,c,d,e,0)|0}function xY(a,b){a=a|0;b=b|0;bU(b);a=YU(a)|0;c[b>>2]=a;return ((a|0)==0?-12:0)|0}function yY(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Yb[a&15](b|0,c|0,d|0)|0}function zY(a){a=a|0;if((a+-1|0)>>>0>429496728)a=0;else a=RD(a<<2)|0;return a|0}function AY(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(175)hl(a,b,c,d);return}function BY(a){a=a|0;if(a>>>0<356)a=c[96944+(a*152|0)>>2]|0;else a=0;return a|0}function CY(a,b){a=a|0;b=b|0;return Xb[c[(c[a+4>>2]|0)+20>>2]&15](a,b)|0}function DY(a){a=a|0;if(a>>>0<23)a=c[151056+(a<<2)>>2]|0;else a=0;return a|0}function EY(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return +Ub[a&1](b|0,c|0,d|0)}function FY(b,c){b=b|0;c=c|0;b=cu(b,c)|0;return ((a[b>>0]|0)==(c&255)<<24>>24?b:0)|0}function GY(a,b){a=a|0;b=b|0;var c=0;c=nA(a)|0;return ((lH(a,1,c,b)|0)!=(c|0))<<31>>31|0}function HY(a){a=a|0;if(a>>>0<19)a=c[151152+(a<<2)>>2]|0;else a=0;return a|0}function IY(){var a=0;a=EZ(83192)|0;if(a|0){c[a>>2]=167332;R0(a)}return a|0}function JY(a,b,c){a=a|0;b=b|0;c=c|0;return Jw(a,b,mP(c)|0)|0}function KY(a,b,c){a=a|0;b=b|0;c=c|0;c=QA(a,b,c,-2147483648,0)|0;M()|0;return c|0}function LY(a,b){a=a|0;b=b|0;Zt(a,b);Zt(a+(b<<3)|0,b);return}function MY(a,b){a=a|0;b=b|0;vx(a,b);vx(a+(b<<3)|0,b);return}function NY(a,b){a=a|0;b=b|0;EK(a,b);EK(a+(b<<3)|0,b);return}function OY(a,b){a=a|0;b=b|0;FK(a,b);FK(a+(b<<3)|0,b);return}function PY(a,b){a=a|0;b=b|0;MK(a,b);MK(a+(b<<3)|0,b);return}function QY(a,b,d){a=a|0;b=b|0;d=d|0;if(!(c[a>>2]&32))Js(b,d,a)|0;return}function RY(a){a=a|0;Vb[c[(c[(c[a+64>>2]|0)+20>>2]|0)+12>>2]&31](a)|0;return}function SY(a){a=a|0;a=ve(a)|0;N0(826976,c[a+4>>2]|0)|0;vP(a);return 826976}function TY(b,d,e){b=b|0;d=d|0;e=e|0;a[e+243>>0]=(c[d>>2]|0)!=0&1;return 0}function UY(a){a=a|0;a=c[a+136>>2]|0;return LA(a+224|0,a+17|0)|0}function VY(a){a=a|0;if(a>>>0>6100804)a=0;else a=EZ(a*352|0)|0;return a|0}function WY(a){a=a|0;if(a>>>0<15)a=c[151232+(a<<2)>>2]|0;else a=0;return a|0}function XY(a,b,c){a=a|0;b=b|0;c=c|0;return gP(a,b,c>>>0>268435455?-8:c<<3)|0}function YY(a){a=a|0;a=c[a+136>>2]|0;return LA(a+224|0,a+5|0)|0}function ZY(a,b,d){a=a|0;b=b|0;d=d|0;ha(1,c[d+96>>2]|0)|0;return 0}function _Y(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;gc[a&1023](b|0,c|0,d|0)}function $Y(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;K(24)}function aZ(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){bU(b+4|0);bU(a)}return}function bZ(a,b){a=a|0;b=b|0;PK(a,b);PK(a+(b<<3)|0,b);return}function cZ(a,b){a=a|0;b=b|0;QS(a,b);QS(a+(b<<3)|0,b);return}function dZ(a,b){a=a|0;b=b|0;dc[c[83536+((c[a>>2]|0)+-2<<2)>>2]&63](b);return}function eZ(a){a=a|0;a=c[a+136>>2]|0;return LA(a+224|0,a+36|0)|0}function fZ(a){a=a|0;Ka(34962,c[a+124>>2]|0);Ma(34962,64,a+128|0,35044);return}function gZ(a){a=a|0;var b=0;b=0-(l1(a)|0)&7;if(b|0)eW(a,b);return}function hZ(a){a=a|0;if(a>>>0>35)a=0;else a=c[93872+(a<<3)>>2]|0;return a|0}function iZ(a){a=a|0;if(a>>>0>268435454)a=0;else a=RD(a<<3)|0;return a|0}function jZ(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;g=g|0;K(20)}function kZ(a){a=a|0;BZ(a);b_(a+524288|0);b_(a+786432|0);kg(a,564832,16384);return}function lZ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Og(a,b,c,d)|0}function mZ(a){a=a|0;if(a>>>0>536870910)a=0;else a=RD(a<<2)|0;return a|0}function nZ(a){a=a|0;if(a>>>0>178956969)a=0;else a=RD(a*12|0)|0;return a|0}function oZ(a){a=a|0;var b=0;b=Mb;Mb=Mb+a|0;Mb=Mb+15&-16;return b|0}function pZ(a,b,c){a=a|0;b=b|0;c=c|0;jL(a,b,c,c);return}function qZ(a,b,c){a=a|0;b=b|0;c=c|0;kL(a,b,c,c);return}function rZ(a,b,c){a=a|0;b=b|0;c=c|0;lL(a,b,c,c);return}function sZ(a){a=a|0;var b=0;b=c[a+6440>>2]|0;if(b|0)Rd(b);Rd(a);return}function tZ(a,b,d){a=a|0;b=b|0;d=d|0;Mn(c[a>>2]|0,c[b>>2]|0,d<<3|0)|0;return}function uZ(a,b,d){a=a|0;b=b|0;d=d|0;Mn(c[a>>2]|0,c[b>>2]|0,d<<2|0)|0;return}function vZ(a,b,d){a=a|0;b=b|0;d=d|0;Mn(c[a>>2]|0,c[b>>2]|0,d<<1|0)|0;return}function wZ(a,b,c){a=a|0;b=b|0;c=c|0;mL(a,b,c,c);return}function xZ(a,b,c){a=a|0;b=b|0;c=c|0;nL(a,b,c,c);return}function yZ(a,b,c){a=a|0;b=b|0;c=c|0;oL(a,b,c,c);return}function zZ(a,b){a=a|0;b=b|0;if(!a)a=0;else a=mt(a,b,0)|0;return a|0}function AZ(a,b,c){a=a|0;b=b|0;c=c|0;c=QA(a,b,c,-1,0)|0;M()|0;return c|0}function BZ(a){a=a|0;b_(a);s_(a+262144|0);s_(a+393216|0);kg(a,433760,8192);return}function CZ(a){a=a|0;a=c[a+136>>2]|0;return LA(a+224|0,a+176|0)|0}function DZ(a){a=a|0;if(a>>>0>536870910)a=0;else a=EZ(a<<2)|0;return a|0}function EZ(a){a=a|0;var b=0;b=RD(a)|0;if(b|0)jv(b|0,0,a|0)|0;return b|0}function FZ(a,b,c){a=a|0;b=b|0;c=c|0;ui(a,b,c,c);return}function GZ(a,b,c){a=a|0;b=b|0;c=c|0;yi(a,b,c,c);return}function HZ(a,b,c){a=a|0;b=b|0;c=c|0;zi(a,b,c,c);return}function IZ(a,b,c){a=a|0;b=b|0;c=c|0;hp(a,b,c,c);return}function JZ(a,b,c){a=a|0;b=b|0;c=c|0;np(a,b,c,c);return}function KZ(a,b,c){a=a|0;b=b|0;c=c|0;op(a,b,c,c);return}function LZ(a,b,c){a=a|0;b=b|0;c=c|0;sv(a,b,c,c);return}function MZ(a,b,c){a=a|0;b=b|0;c=c|0;wv(a,b,c,c);return}function NZ(a,b,c){a=a|0;b=b|0;c=c|0;xv(a,b,c,c);return}function OZ(a,b,c){a=a|0;b=b|0;c=c|0;GL(a,b,c,c);return}function PZ(a,b,c){a=a|0;b=b|0;c=c|0;VL(a,b,c,c);return}function QZ(a,b){a=a|0;b=b|0;a=(a|0)==0?1:a;return ((a+10|0)>(b|0)?b:a)|0}function RZ(a){a=a|0;var b=0;b=HG(a,16)|0;return b<<16|(HG(a,16)|0)|0}function SZ(a,b){a=a|0;b=b|0;return ((c[a+4>>2]|0)>>>1)-((c[b+4>>2]|0)>>>1)|0}function TZ(a,b,c){a=a|0;b=b|0;c=c|0;qh(a,b,c,c);return}function UZ(a,b,c){a=a|0;b=b|0;c=c|0;rh(a,b,c,c);return}function VZ(a,b,c){a=a|0;b=b|0;c=c|0;sh(a,b,c,c);return}function WZ(a,b,c){a=a|0;b=b|0;c=c|0;sn(a,b,c,c);return}function XZ(a,b,c){a=a|0;b=b|0;c=c|0;yn(a,b,c,c);return}function YZ(a,b,c){a=a|0;b=b|0;c=c|0;zn(a,b,c,c);return}function ZZ(a,b,c){a=a|0;b=b|0;c=c|0;LL(a,b,c,c);return}function _Z(a,b,c){a=a|0;b=b|0;c=c|0;$L(a,b,c,c);return}function $Z(a,b,c,d){a=a|0;b=b|0;c=+c;d=+d;return +Sb[a&0](b|0,+c,+d)}function a_(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;K(11);return 0}function b_(a){a=a|0;s_(a);u_(a+131072|0);u_(a+196608|0);kg(a,368224,4096);return}function c_(a){a=a|0;var b=0;b=c[278108]|0;c[278108]=b+a;return b+a|0}function d_(a,b,c){a=a|0;b=b|0;c=c|0;Ei(a,b,c,c);return}function e_(a,b,c){a=a|0;b=b|0;c=c|0;dj(a,b,c,c);return}function f_(a,b,c){a=a|0;b=b|0;c=c|0;pp(a,b,c,c);return}function g_(a,b,c){a=a|0;b=b|0;c=c|0;lq(a,b,c,c);return}function h_(a,b,c){a=a|0;b=b|0;c=c|0;Cv(a,b,c,c);return}function i_(a,b,c){a=a|0;b=b|0;c=c|0;Bw(a,b,c,c);return}function j_(a,b,c){a=a|0;b=b|0;c=c|0;th(a,b,c,c);return}function k_(a,b,c){a=a|0;b=b|0;c=c|0;Jh(a,b,c,c);return}function l_(a,b,c){a=a|0;b=b|0;c=c|0;Bn(a,b,c,c);return}function m_(a,b,c){a=a|0;b=b|0;c=c|0;wo(a,b,c,c);return}function n_(a,b,d){a=a|0;b=b|0;d=d|0;Mn(c[a>>2]|0,c[b>>2]|0,d|0)|0;return}function o_(a,b){a=a|0;b=b|0;Mx(a,b);Qw(a,0,b);return}function p_(a,b){a=a|0;b=b|0;fB(a,b);AC(a,0,b);return}function q_(a,b){a=a|0;b=b|0;Xi(a,b);FA(a,0,b);return}function r_(a,b){a=a|0;b=b|0;vm(a,b);WK(a,0,b);return}function s_(a){a=a|0;u_(a);E_(a+65536|0);E_(a+98304|0);kg(a,335456,2048);return}function t_(a,b){a=a|0;b=+b;b=b>0.0?b:0.0;f[a+8>>2]=b>1.0?1.0:b;return}function u_(a){a=a|0;E_(a);O_(a+32768|0);O_(a+49152|0);kg(a,319072,1024);return}function v_(a,b){a=a|0;b=b|0;c[a+4>>2]=50;c[a>>2]=(b|0)<9?1:2;return}function w_(a){a=a|0;oX(83328+(a<<3)+4|0,c[83328+(a<<3)>>2]|0)|0;return}function x_(a){a=+a;var b=0;b=oJ()|0;return +((+(b>>>0)+4294967296.0*+(M()|0))*1.0e-06)}function y_(){var a=0;a=c[41799]|0;if((a|0)==-1){c[41799]=0;a=0}return a|0}function z_(a,b,c,d,e,f){a=a|0;b=+b;c=c|0;d=d|0;e=e|0;f=f|0;K(6);return 0}function A_(a,b){a=a|0;b=b|0;nu(a,b);Qw(a,0,b);return}function B_(a,b){a=a|0;b=b|0;jy(a,b);AC(a,0,b);return}function C_(a,b){a=a|0;b=b|0;tq(a,b);FA(a,0,b);return}function D_(a,b){a=a|0;b=b|0;lu(a,b);WK(a,0,b);return}function E_(a){a=a|0;O_(a);S_(a+16384|0);S_(a+24576|0);kg(a,310880,512);return}function F_(a){a=a|0;a=c[a+136>>2]|0;return LA(a+224|0,a+35|0)|0}function G_(a){a=a|0;a=c[a+136>>2]|0;return LA(a+224|0,a+20|0)|0}function H_(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return $f(a,b,c,d,0)|0}function I_(a,c){a=a|0;c=c|0;return (b[a>>1]|0)-(b[c>>1]|0)|0}function J_(a){a=a|0;a=c[a+136>>2]|0;return LA(a+224|0,a+12|0)|0}function K_(a){a=a|0;a=c[a+60>>2]|0;Q0(a+292|0);bU(a+288|0);return 0}function L_(a){a=+a;return +(+E(+(a+-1416.0996898839683))*2247116418577894884661631.0e283*2247116418577894884661631.0e283)}function M_(a){a=a|0;hR(a)|0;ha(6,a|0)|0;Rd(a);return}function N_(a){a=a|0;if(!a)a=1;else a=(c[a>>2]|0)==0&1;return a|0}function O_(a){a=a|0;S_(a);Z_(a+8192|0);Z_(a+12288|0);kg(a,306784,256);return}function P_(a,b){a=a|0;b=b|0;c[a>>2]=(c[a>>2]|0)+b;return}function Q_(a,b){a=a|0;b=b|0;a=a+8|0;c[a>>2]=(c[a>>2]|0)+b;return}function R_(a){a=a|0;a=c[a>>2]|0;c[a+44>>2]=7;c[a+48>>2]=3;return 0}function S_(a){a=a|0;Z_(a);h$(a+4096|0);h$(a+6144|0);kg(a,304736,128);return}function T_(a){a=a|0;return (c[a+4>>2]|0)>>>0<(c[a+8>>2]|0)>>>0|0}function U_(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;K(22)}function V_(b,c){b=b|0;c=c|0;b=b+66|0;a[b>>0]=a[b>>0]&-7&255|c;return}function W_(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function X_(a){a=a|0;a=c[a+136>>2]|0;return LA(a+224|0,a)|0}function Y_(a,b,c){a=a|0;b=b|0;c=c|0;return Xb[a&15](b|0,c|0)|0}function Z_(a){a=a|0;h$(a);v$(a+2048|0);v$(a+3072|0);kg(a,303712,64);return}function __(a,b,c){a=a|0;b=b|0;c=c|0;Mw(a,b,c,8);return}function $_(a,b,c){a=a|0;b=b|0;c=c|0;LD(a,b,c,8);return}function a$(a){a=a|0;var b=0;b=c[a+12>>2]|0;return b-(l1(a)|0)|0}function b$(a,b,c){a=a|0;b=b|0;c=c|0;gu(a,b,c,8);return}function c$(a,b,c){a=a|0;b=b|0;c=c|0;pB(a,b,c,8);return}function d$(a,b,c){a=a|0;b=b|0;c=c|0;LX(a,b,c);return}function e$(a,b,c){a=a|0;b=b|0;c=c|0;OX(a,b,c);return}function f$(a){a=a|0;YX(a);c[a+192>>2]=0;c[a+20>>2]=0;return}function g$(a){a=a|0;a=CL(a)|0;return ((a&1)+-1^a>>>1)+1|0}function h$(a){a=a|0;v$(a);C$(a+1024|0);C$(a+1536|0);kg(a,303200,32);return}function i$(a,b,c){a=a|0;b=b|0;c=c|0;MX(a,b,c);return}function j$(a,b,c){a=a|0;b=b|0;c=c|0;QX(a,b,c);return}function k$(a){a=a|0;if(a|0){y0(c[a>>2]|0);c[a>>2]=0}return}function l$(a){a=a|0;xQ(c[45088+(a<<2)>>2]|0,1<<a);return}function m$(a,b,c){a=a|0;b=b|0;c=c|0;return +Tb[a&1](b|0,c|0)}function n$(a,b,c){a=a|0;b=b|0;c=c|0;SC(a,b,c);return}function o$(a,b,c){a=a|0;b=b|0;c=c|0;SP(a,b,c);return}function p$(a,b,c){a=a|0;b=b|0;c=c|0;TP(a,b,c);return}function q$(a,b,c){a=a|0;b=b|0;c=c|0;LS(a,b,c);return}function r$(a){a=a|0;return MP((c[a+136>>2]|0)+224|0)|0}function s$(a,b,c){a=a|0;b=b|0;c=c|0;XA(a,b,c);return}function t$(a,b,c){a=a|0;b=b|0;c=c|0;cL(a,b,c);return}function u$(a,b,c){a=a|0;b=b|0;c=c|0;return Qo(a,b,c,1,219)|0}function v$(a){a=a|0;C$(a);E$(a+512|0);E$(a+768|0);kg(a,302944,16);return}function w$(a,b,c){a=a|0;b=b|0;c=c|0;Zw(a,b,c,1);return}function x$(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;K(10);return 0}function y$(a){a=a|0;a=(e0(a)|0)+8|0;return c[a>>2]&8|0}function z$(a){a=a|0;a=(ML(a+224|0)|0)==0;return (a?-1094995529:0)|0}function A$(){var a=0;a=EZ(72)|0;if(a|0)BX(a);return a|0}function B$(a,b,c){a=a|0;b=b|0;c=c|0;Zw(a,b,c,0);return}function C$(a){a=a|0;E$(a);P$(a+256|0);P$(a+384|0);kg(a,302816,8);return}function D$(a){a=a|0;return dQ((c[a+136>>2]|0)+224|0)|0}function E$(a){a=a|0;P$(a);Pm(a+128|0);Pm(a+192|0);kg(a,302752,4);return}function F$(a){a=a|0;if(a|0?c[a>>2]|0:0)Vz(a,0);return}function G$(a,b,c){a=a|0;b=b|0;c=c|0;ec[a&255](b|0,c|0)}function H$(a,b,c){a=a|0;b=b|0;c=+c;return +Rb[a&0](b|0,+c)}function I$(a,b){a=a|0;b=b|0;hm(a,b,1,0);return}function J$(a,b){a=a|0;b=b|0;hm(a,b,0,1);return}function K$(a){a=a|0;Mn(c[a+136>>2]|0,c[a+152>>2]|0,199)|0;return}function L$(a){a=a|0;bU(a+8|0);bU(a+64|0);bU(a+12|0);return}function M$(a){a=a|0;Q0(a+390884|0);Q0(a+390816|0);return}function N$(a,b){a=a|0;b=+b;t_(c[a+96>>2]|0,b);return 0}function O$(){if(!(c[278106]|0)){c[278106]=1;aV()}return}function P$(a){a=a|0;Pm(a);lx(a+64|0);lx(a+96|0);kg(a,302720,2);return}function Q$(a,b){a=a|0;b=b|0;hm(a,b,0,0);return}function R$(a,b){a=a|0;b=b|0;return _F(a,c[b>>2]|0)|0}function S$(a,b,c){a=a|0;b=b|0;c=c|0;gq(a,b,c)|0;return a|0}function T$(a){a=a|0;return (c[a+12>>2]|0)-(c[a+8>>2]|0)|0}function U$(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;K(21)}function V$(a,b){a=a|0;b=b|0;nn(a,b);return}function W$(a,b){a=a|0;b=b|0;un(a,b);return}function X$(a,b){a=a|0;b=b|0;vn(a,b);return}function Y$(a){a=a|0;$1(c[a+256>>2]|0);jv(a|0,0,280)|0;return}function Z$(a){a=a|0;var b=0;b=(m1(a)|0)==0;return (b?a:a|32)|0}function _$(a,b){a=a|0;b=b|0;return ((b|0)>0?a<<b:a>>0-b)|0}function $$(a,b){a=a|0;b=b|0;An(a,b);return}function a0(a){a=a|0;return (a>>>0>11?0:151552+(a*20|0)|0)|0}function b0(a,b){a=a|0;b=b|0;return (b|a)-((b^a)>>>1&2139062143)|0}function c0(a,b,c){a=a|0;b=b|0;c=c|0;return YI(a,b,c)|0}function d0(a,b){a=a|0;b=b|0;F$(a+128+(b<<2)|0);return}function e0(a){a=a|0;return (a>>>0>355?0:96944+(a*152|0)|0)|0}function f0(a,b){a=a|0;b=b|0;return Sf(a,b)|0}function g0(a){a=a|0;return c[((a|0)==0?1112436:a+20|0)>>2]|0}function h0(a){a=a|0;return (c[a+20>>2]|0)-(c[a+16>>2]|0)|0}function i0(a){a=+a;var b=0;b=d2(32)|0;a=+VK(a);return ~~a|0}function j0(a,b){a=a|0;b=b|0;return Vf(a,b,1)|0}function k0(a){a=a|0;return c[((a|0)==0?1112420:a+56|0)>>2]|0}function l0(a){a=a|0;c[a+92>>2]=0;bU(a+96|0);return}function m0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;K(9);return 0}function n0(a,b){a=a|0;b=b|0;b=32-b|0;return a<<b>>>b|0}function o0(a){a=a|0;bU((c[a+60>>2]|0)+512|0);return 0}function p0(a){a=a|0;return (a?31-(J(a^a-1)|0)|0:32)|0}function q0(a){a=+a;return a-+t(a)!=.5?+G0(a):+G0(a/2.0)*2.0}function r0(a,b){a=a|0;b=b|0;F$(a+(b<<2)|0);return}function s0(a,b){a=a|0;b=b|0;return Vb[a&31](b|0)|0}function t0(a){a=a|0;c[a>>2]=51;c[a+4>>2]=52;return}function u0(a,b){a=a|0;b=b|0;return Ku(a,b,0)|0}function v0(a){a=a|0;return c[(c[a>>2]|0)+8>>2]|0}function w0(a,b){a=a|0;b=b|0;c[a+8>>2]=b;return 0}function x0(a,b){a=a|0;b=b|0;c[a+4>>2]=b;return 0}function y0(a){a=a|0;if(a|0){bU(a);$1(a)}return}function z0(a){a=a|0;return ((a+-97|0)>>>0<26?a^32:a)|0}function A0(a){a=a|0;return +(+(c[a>>2]|0)/+(c[a+4>>2]|0))}function B0(a,b){a=a|0;b=b|0;Mb=a;Nb=b}function C0(a,b){a=a|0;b=b|0;return ((a|0)==0?b:a)|0}function D0(a){a=a|0;return AO(RD(a)|0,a)|0}function E0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;K(19)}function F0(a,b){a=a|0;b=b|0;c[a>>2]=b;return 0}function G0(a){a=+a;return a>=0.0?+t(a+.5):+G(a-.5)}function H0(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function I0(a,b){a=a|0;b=+b;return +Qb[a&15](+b)}function J0(a){a=a|0;return (c[a+12800>>2]|0)!=0|0}function K0(a){a=a|0;return ((a+-65|0)>>>0<26?a^32:a)|0}function L0(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;K(17)}function M0(a,b){a=a|0;b=b|0;dc[a&63](b|0)}function N0(a,b){a=a|0;b=b|0;su(a,b)|0;return a|0}function O0(a){a=a|0;return c[a+900>>2]|0}function P0(a,b){a=a|0;b=b|0;$1(b);return}function Q0(a){a=a|0;bU(a+24|0);L$(a);return}function R0(a){a=a|0;jg(a,0,0);return}function S0(a){a=a|0;return c[c[a>>2]>>2]|0}function T0(a,b,c){a=a|0;b=b|0;c=c|0;K(4);return 0.0}function U0(a,b){a=a|0;b=b|0;return +(+Uz(a,b,1))}function V0(a){a=a|0;return (c[a+64>>2]|0)!=0|0}function W0(a,b,c){a=a|0;b=b|0;c=c|0;K(8);return 0}function X0(a){a=a|0;return (a&255)<<8|a>>8&255|0}function Y0(a){a=a|0;c[a>>2]=2147483647;return}function Z0(a){a=a|0;cU(a+134036|0);return}function _0(a,b,c){a=a|0;b=b|0;c=c|0;return}function $0(a){a=a|0;bU(c[a>>2]|0);return}function a1(){N(1112648);return}function b1(a){a=a|0;return zQ(a,24)|0}function c1(a,b,c){a=a|0;b=+b;c=+c;K(2);return 0.0}function d1(a){a=a|0;return ((a|32)+-97|0)>>>0<26|0}function e1(a){a=a|0;return lB(a,1)|0}function f1(a){a=a|0;return lB(a,0)|0}function g1(a,b){a=+a;b=+b;return +(+UK(a,b))}function h1(a,b){a=+a;b=b|0;return +(+aA(a,b))}function i1(a,b,c){a=a|0;b=b|0;c=c|0;K(18)}function j1(a){a=a|0;bU(a);return}function k1(a,b){a=a|0;b=b|0;return 0}function l1(a){a=a|0;return c[a+8>>2]|0}function m1(a){a=a|0;return (a+-65|0)>>>0<26|0}function n1(a){a=a|0;return (a+-48|0)>>>0<10|0}function o1(){oX(1112392,15)|0;return}function p1(a){a=a|0;c[41811]=a;return}function q1(a){a=a|0;DW(a);return}function r1(a,b){a=+a;b=+b;return +(+zg(a,b))}function s1(a){a=a|0;eW(a,1);return}function t1(a,b){a=a|0;b=b|0;K(3);return 0.0}function u1(a,b){a=a|0;b=b|0;K(7);return 0}function v1(){FC(17);return}function w1(a,b){a=a|0;b=+b;K(1);return 0.0}function x1(a){a=a|0;MA(a);return}function y1(){FC(16);return}function z1(){FC(15);return}function A1(){FC(14);return}function B1(a){a=a|0;cc[a&31]()}function C1(a){a=a|0;return US(a)|0}function D1(){FC(13);return}function E1(){FC(12);return}function F1(){FC(11);return}function G1(){FC(10);return}function H1(){FC(9);return}function I1(){FC(8);return}function J1(){FC(7);return}function K1(a){a=a|0;return 222158}function L1(){FC(6);return}function M1(){FC(5);return}function N1(){FC(4);return}function O1(){return RD(4096)|0}function P1(a,b){a=a|0;b=b|0;K(16)}function Q1(a){a=+a;return ~~+q0(+a)|0}function R1(a){a=+a;return +Ea(+a)}function S1(a){a=+a;return +ea(+a)}function T1(a){a=+a;return +da(+a)}function U1(a){a=+a;return +ca(+a)}function V1(){return q2()|0}function W1(a){a=+a;return +Db(+a)}function X1(a){a=+a;return +Bb(+a)}function Y1(a){a=+a;return +tb(+a)}function Z1(a){a=+a;return +Da(+a)}function _1(a){a=+a;return +ga(+a)}function $1(a){a=a|0;Rd(a);return}function a2(a){a=a|0;Mb=a}function b2(){return EZ(88)|0}function c2(a){a=a|0;K(5);return 0}function d2(a){a=a|0;return 0}function e2(a){a=+a;K(0);return 0.0}function f2(a){a=a|0;return a|0}function g2(a){a=a|0;return}function h2(a){a=a|0;return 1}function i2(){return 167692}function j2(){return 1112620}function k2(){return Mb|0}function l2(a){a=a|0;K(15)}function m2(){return 167912}function n2(){return 1112644}function o2(){return 1112640}function p2(){return 1112648}function q2(){return 167416}function r2(){return 1112632}function s2(){K(14)}
|
|
function dd(d,f,g){d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;u=c[f+21796>>2]|0;o=d+27e3|0;m=c[o>>2]|0;h=u-(m<<c[f+21828>>2])|0;j=u+-1|0;n=d+26360|0;do if(!(c[n>>2]|0)){t=j;s=j}else{i=c[d+24364>>2]|0;k=c[i+(j<<2)>>2]&128;l=g&128;if(c[f+21792>>2]&1|0){t=j-((k|0)==(l|0)?0:m)|0;s=j;break}if(l)h=(((c[i+(h<<2)>>2]|0)>>>7&1)+-1&m)+h|0;t=j;s=((k|0)==(l|0)?0:m)+j|0}while(0);c[f+21712>>2]=h;c[f+21720>>2]=t;c[f+21724>>2]=s;i=c[f+860>>2]|0;j=c[d+24340>>2]|0;k=a[j+u>>0]|0;do if((i|0)>=(k|0)){l=(t|0)<0;if(!l?(k+1+(a[j+t>>0]|0)>>1|0)>(i|0):0){p=17;break}if((h|0)>=0?(k+1+(a[j+h>>0]|0)>>1|0)>(i|0):0){p=17;break}if(c[n>>2]|0){if(!l?(k+1+(a[j+s>>0]|0)>>1|0)>(i|0):0){p=17;break}r=c[o>>2]|0;if((h|0)>=(r|0)?(k+1+(a[j+(h-r)>>0]|0)>>1|0)>(i|0):0)p=17;else h=1}else h=1}else p=17;while(0);if((p|0)==17){l=c[d+24364>>2]|0;i=c[l+(h<<2)>>2]|0;k=c[l+(t<<2)>>2]|0;l=c[l+(s<<2)>>2]|0;o=d+26356|0;j=c[o>>2]|0;n=b[j+(h<<1)>>1]|0;if((c[f+868>>2]|0)==2){r=c[f+832>>2]|0;p=(r|0)==(e[j+(s<<1)>>1]|0);r=(r|0)==(n&65535|0)?i:0;q=p?k:0;p=p?l:0}else{p=(b[j+(s<<1)>>1]|0)==-1;r=n<<16>>16==-1?0:i;q=p?0:k;p=p?0:l}c[f+21732>>2]=r;c[f+21740>>2]=q;c[f+21744>>2]=p;if(!(g&7)){i=d+26352|0;j=c[i>>2]|0;k=f+28e3|0;l=f+28284|0;m=(g&376|0)==0;do if(!m){if(!(r&12288)){n=f+27968|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;c[f+28276>>2]=-1}else{y=(c[(c[d+26344>>2]|0)+(h<<2)>>2]|0)+(j*3|0)|0;v=h<<2;w=d+29920+((n&31)<<9)+(((c[f+21832>>2]|0)==0?2:20)<<2)|0;x=d+24352|0;A=(c[x>>2]|0)+(y<<2)|0;z=c[A+4>>2]|0;n=f+27968|0;c[n>>2]=c[A>>2];c[n+4>>2]=z;y=(c[x>>2]|0)+(y<<2)+8|0;x=c[y+4>>2]|0;n=f+27976|0;c[n>>2]=c[y>>2];c[n+4>>2]=x;n=d+24384|0;x=c[w+(a[(c[n>>2]|0)+(v|2)>>0]<<2)>>2]&255;a[f+28277>>0]=x;a[f+28276>>0]=x;n=c[w+(a[(c[n>>2]|0)+(v|3)>>0]<<2)>>2]&255;a[f+28279>>0]=n;a[f+28278>>0]=n}if(!((q^g)&128))if(!(q&12288)){c[f+27996>>2]=0;c[f+28028>>2]=0;c[f+28060>>2]=0;c[f+28092>>2]=0;a[f+28307>>0]=-1;a[f+28299>>0]=-1;a[f+28291>>0]=-1;a[f+28283>>0]=-1;break}else{z=(c[(c[d+26344>>2]|0)+(t<<2)>>2]|0)+3|0;A=t<<2;y=d+29920+((b[(c[o>>2]|0)+(t<<1)>>1]&31)<<9)+(((c[f+21832>>2]|0)==0?2:20)<<2)|0;x=d+24352|0;c[f+27996>>2]=c[(c[x>>2]|0)+(z<<2)>>2];c[f+28028>>2]=c[(c[x>>2]|0)+(z+j<<2)>>2];c[f+28060>>2]=c[(c[x>>2]|0)+(z+(j<<1)<<2)>>2];c[f+28092>>2]=c[(c[x>>2]|0)+(z+(j*3|0)<<2)>>2];z=d+24384|0;x=c[y+(a[(c[z>>2]|0)+(A|1)>>0]<<2)>>2]&255;a[f+28291>>0]=x;a[f+28283>>0]=x;A=c[y+(a[(c[z>>2]|0)+(A|3)>>0]<<2)>>2]&255;a[f+28307>>0]=A;a[f+28299>>0]=A;break}}while(0);if(!(g&12288)){y=f+28032|0;z=f+28064|0;A=f+28096|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[y>>2]=0;c[y+4>>2]=0;c[y+8>>2]=0;c[y+12>>2]=0;c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;c[z+12>>2]=0;c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;c[A+12>>2]=0;c[l>>2]=-1;c[f+28292>>2]=-1;c[f+28300>>2]=-1;c[f+28308>>2]=-1}else{y=(c[d+24384>>2]|0)+(u<<2)|0;A=d+29920+((c[f+832>>2]&31)<<9)+(((c[f+21832>>2]|0)==0?2:20)<<2)|0;x=(c[A+(a[y+1>>0]<<2)>>2]<<16&16711680|c[A+(a[y>>0]<<2)>>2]&255)*257|0;y=(c[A+(a[y+3>>0]<<2)>>2]<<16&16711680|c[A+(a[y+2>>0]<<2)>>2]&255)*257|0;c[l>>2]=x;c[f+28292>>2]=x;c[f+28300>>2]=y;c[f+28308>>2]=y;y=(c[d+24352>>2]|0)+((H(c[f+21792>>2]|0,j)|0)+(c[f+21788>>2]|0)<<2<<2)|0;x=y;A=c[x+4>>2]|0;z=k;c[z>>2]=c[x>>2];c[z+4>>2]=A;z=y+8|0;A=c[z+4>>2]|0;x=f+28008|0;c[x>>2]=c[z>>2];c[x+4>>2]=A;x=y+(j<<2)|0;A=x;z=c[A+4>>2]|0;w=f+28032|0;c[w>>2]=c[A>>2];c[w+4>>2]=z;x=x+8|0;w=c[x+4>>2]|0;z=f+28040|0;c[z>>2]=c[x>>2];c[z+4>>2]=w;z=y+(j<<1<<2)|0;w=z;x=c[w+4>>2]|0;A=f+28064|0;c[A>>2]=c[w>>2];c[A+4>>2]=x;z=z+8|0;A=c[z+4>>2]|0;x=f+28072|0;c[x>>2]=c[z>>2];c[x+4>>2]=A;y=y+(j*3<<2)|0;x=y;A=c[x+4>>2]|0;z=f+28096|0;c[z>>2]=c[x>>2];c[z+4>>2]=A;y=y+8|0;z=c[y+4>>2]|0;A=f+28104|0;c[A>>2]=c[y>>2];c[A+4>>2]=z}do if((c[f+23412>>2]|0)==2){i=c[i>>2]|0;j=f+28160|0;k=f+28324|0;do if(!m){if(!(r&49152)){A=f+28128|0;c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;c[A+12>>2]=0;c[f+28316>>2]=-1}else{w=(c[(c[d+26344>>2]|0)+(h<<2)>>2]|0)+(i*3|0)|0;A=h<<2;y=d+29920+((b[(c[o>>2]|0)+(h<<1)>>1]&31)<<9)+256+(((c[f+21832>>2]|0)==0?2:20)<<2)|0;x=d+24356|0;n=(c[x>>2]|0)+(w<<2)|0;v=c[n+4>>2]|0;z=f+28128|0;c[z>>2]=c[n>>2];c[z+4>>2]=v;w=(c[x>>2]|0)+(w<<2)+8|0;x=c[w+4>>2]|0;z=f+28136|0;c[z>>2]=c[w>>2];c[z+4>>2]=x;z=d+24388|0;x=c[y+(a[(c[z>>2]|0)+(A|2)>>0]<<2)>>2]&255;a[f+28317>>0]=x;a[f+28316>>0]=x;A=c[y+(a[(c[z>>2]|0)+(A|3)>>0]<<2)>>2]&255;a[f+28319>>0]=A;a[f+28318>>0]=A}if(!((q^g)&128))if(!(q&49152)){c[f+28156>>2]=0;c[f+28188>>2]=0;c[f+28220>>2]=0;c[f+28252>>2]=0;a[f+28347>>0]=-1;a[f+28339>>0]=-1;a[f+28331>>0]=-1;a[f+28323>>0]=-1;break}else{z=(c[(c[d+26344>>2]|0)+(t<<2)>>2]|0)+3|0;A=t<<2;y=d+29920+((b[(c[o>>2]|0)+(t<<1)>>1]&31)<<9)+256+(((c[f+21832>>2]|0)==0?2:20)<<2)|0;x=d+24356|0;c[f+28156>>2]=c[(c[x>>2]|0)+(z<<2)>>2];c[f+28188>>2]=c[(c[x>>2]|0)+(z+i<<2)>>2];c[f+28220>>2]=c[(c[x>>2]|0)+(z+(i<<1)<<2)>>2];c[f+28252>>2]=c[(c[x>>2]|0)+(z+(i*3|0)<<2)>>2];z=d+24388|0;x=c[y+(a[(c[z>>2]|0)+(A|1)>>0]<<2)>>2]&255;a[f+28331>>0]=x;a[f+28323>>0]=x;A=c[y+(a[(c[z>>2]|0)+(A|3)>>0]<<2)>>2]&255;a[f+28347>>0]=A;a[f+28339>>0]=A;break}}while(0);if(!(g&49152)){y=f+28192|0;z=f+28224|0;A=f+28256|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[y>>2]=0;c[y+4>>2]=0;c[y+8>>2]=0;c[y+12>>2]=0;c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;c[z+12>>2]=0;c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;c[A+12>>2]=0;c[k>>2]=-1;c[f+28332>>2]=-1;c[f+28340>>2]=-1;c[f+28348>>2]=-1;break}else{y=(c[d+24388>>2]|0)+(u<<2)|0;A=d+29920+((c[f+832>>2]&31)<<9)+256+(((c[f+21832>>2]|0)==0?2:20)<<2)|0;x=(c[A+(a[y+1>>0]<<2)>>2]<<16&16711680|c[A+(a[y>>0]<<2)>>2]&255)*257|0;y=(c[A+(a[y+3>>0]<<2)>>2]<<16&16711680|c[A+(a[y+2>>0]<<2)>>2]&255)*257|0;c[k>>2]=x;c[f+28332>>2]=x;c[f+28340>>2]=y;c[f+28348>>2]=y;y=(c[d+24356>>2]|0)+((H(c[f+21792>>2]|0,i)|0)+(c[f+21788>>2]|0)<<2<<2)|0;x=y;A=c[x+4>>2]|0;z=j;c[z>>2]=c[x>>2];c[z+4>>2]=A;z=y+8|0;A=c[z+4>>2]|0;x=f+28168|0;c[x>>2]=c[z>>2];c[x+4>>2]=A;x=y+(i<<2)|0;A=x;z=c[A+4>>2]|0;w=f+28192|0;c[w>>2]=c[A>>2];c[w+4>>2]=z;x=x+8|0;w=c[x+4>>2]|0;z=f+28200|0;c[z>>2]=c[x>>2];c[z+4>>2]=w;z=y+(i<<1<<2)|0;w=z;x=c[w+4>>2]|0;A=f+28224|0;c[A>>2]=c[w>>2];c[A+4>>2]=x;z=z+8|0;A=c[z+4>>2]|0;x=f+28232|0;c[x>>2]=c[z>>2];c[x+4>>2]=A;y=y+(i*3<<2)|0;x=y;A=c[x+4>>2]|0;z=f+28256|0;c[z>>2]=c[x>>2];c[z+4>>2]=A;y=y+8|0;z=c[y+4>>2]|0;A=f+28264|0;c[A>>2]=c[y>>2];c[A+4>>2]=z;break}}while(0);j=d+25956|0;o=c[j>>2]|0;k=f+27836|0;c[k>>2]=c[o+(u*48|0)>>2];l=f+27844|0;c[l>>2]=c[o+(u*48|0)+4>>2];m=f+27852|0;c[m>>2]=c[o+(u*48|0)+8>>2];n=f+27860|0;c[n>>2]=c[o+(u*48|0)+12>>2];o=d+26376|0;i=e[(c[o>>2]|0)+(u<<1)>>1]|0;c[f+21856>>2]=i;if(r|0)c[f+27828>>2]=c[(c[j>>2]|0)+(h*48|0)+12>>2];if(q|0){A=c[j>>2]|0;a[f+27835>>0]=a[A+(t*48|0)+3>>0]|0;a[f+27843>>0]=a[A+(t*48|0)+7>>0]|0;a[f+27851>>0]=a[A+(t*48|0)+11>>0]|0;a[f+27859>>0]=a[A+(t*48|0)+15>>0]|0}A=c[d+28196>>2]|0;if((c[A+4>>2]|0)==0?(c[A+64>>2]|0)!=0:0){if(r&16777216|0){A=(e[(c[o>>2]|0)+(h<<1)>>1]|0)>>>12&4;a[f+27829>>0]=A;a[f+27828>>0]=A;A=(e[(c[o>>2]|0)+(h<<1)>>1]|0)>>>12&8;a[f+27831>>0]=A;a[f+27830>>0]=A}if(q&16777216|0){A=(e[(c[o>>2]|0)+(t<<1)>>1]|0)>>>12&2;a[f+27843>>0]=A;a[f+27835>>0]=A}if(p&16777216|0){A=(e[(c[o>>2]|0)+(s<<1)>>1]|0)>>>12&8;a[f+27859>>0]=A;a[f+27851>>0]=A}if(g&16777216){h=i>>>12;A=h&1;a[f+27845>>0]=A;a[l>>0]=A;a[f+27837>>0]=A;a[k>>0]=A;A=h&2;a[f+27847>>0]=A;a[f+27846>>0]=A;a[f+27839>>0]=A;a[f+27838>>0]=A;A=h&4;a[f+27861>>0]=A;a[n>>0]=A;a[f+27853>>0]=A;a[m>>0]=A;h=h&8;a[f+27863>>0]=h;a[f+27862>>0]=h;a[f+27855>>0]=h;a[f+27854>>0]=h;h=0}else h=0}else h=0}else h=0}return h|0}function ed(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0;aa=e+21792|0;_=b+26360|0;h=c[_>>2]|0;ba=h+(c[aa>>2]|0)|0;ca=e+836|0;$=c[ca>>2]|0;X=b+25652|0;Y=c[X>>2]|0;Z=16>>>(c[b+25668>>2]|0);if(!(c[b+25692>>2]|0)){a:do if(!(c[e+868>>2]|0)){l=b+28196|0;k=e+852|0;j=e+856|0;i=e+21788|0}else{J=b+27e3|0;K=e+21796|0;L=b+24364|0;i=e+21788|0;M=b+24316|0;N=e+21772|0;O=b+28200|0;P=e+21776|0;Q=e+21828|0;R=e+21832|0;S=e+21780|0;T=e+21784|0;U=1-Z|0;l=b+28196|0;V=b+24340|0;k=e+852|0;j=e+856|0;W=e+27796|0;while(1){h=c[_>>2]|0;if((f|0)>=(g|0))break a;I=f<<Y;E=ba-h|0;while(1){if((E|0)>(ba|0))break;F=(H(c[J>>2]|0,E)|0)+f|0;c[K>>2]=F;G=c[(c[L>>2]|0)+(F<<2)>>2]|0;s=(c[_>>2]|0)==0;h=G>>>7&1;if(s)h=c[Q>>2]|0;else{c[Q>>2]=h;c[R>>2]=h}c[i>>2]=f;c[aa>>2]=E;C=c[M>>2]|0;p=c[N>>2]|0;m=(c[C>>2]|0)+((H(p,E)|0)+I<<4)|0;r=c[(c[O>>2]|0)+12>>2]|0;z=(r|0)==3;D=H(8<<(z&1),I)|0;q=c[P>>2]|0;o=H(H(E,Z)|0,q)|0;n=(c[C+4>>2]|0)+D+o|0;o=(c[C+8>>2]|0)+D+o|0;if(!h){c[S>>2]=p;c[T>>2]=q;D=m;C=q}else{B=p<<1;c[S>>2]=B;C=q<<1;c[T>>2]=C;y=(E&1|0)==0;D=m+(H(p,-15)|0)|0;p=H(U,q)|0;D=y?m:D;n=y?n:n+p|0;o=y?o:o+p|0;p=B}w=c[X>>2]|0;x=(r|0)==2;v=D+(0-p)|0;B=0-C|0;y=n+B|0;B=o+B|0;do if(!s){h=(c[R>>2]|0)!=0;if(!(E&1))if(h){h=0;A=31;break}else break;if(!h){s=c[W>>2]|0;h=v+(p*15|0)|0;t=h;A=c[t+4>>2]|0;u=s+(f*96|0)|0;c[u>>2]=c[t>>2];c[u+4>>2]=A;u=h+8|0;A=c[u+4>>2]|0;t=s+(f*96|0)+8|0;c[t>>2]=c[u>>2];c[t+4>>2]=A;t=(w|0)!=0;h=h+16|0;if(t){A=h;u=c[A+4>>2]|0;r=s+(f*96|0)+16|0;c[r>>2]=c[A>>2];c[r+4>>2]=u;r=h+8|0;u=c[r+4>>2]|0;A=s+(f*96|0)+24|0;c[A>>2]=c[r>>2];c[A+4>>2]=u}if(z){h=C*15|0;m=y+h|0;r=m;q=c[r>>2]|0;r=c[r+4>>2]|0;if(t){u=s+(f*96|0)+32|0;c[u>>2]=q;c[u+4>>2]=r;u=m+8|0;r=c[u+4>>2]|0;A=s+(f*96|0)+40|0;c[A>>2]=c[u>>2];c[A+4>>2]=r;A=m+16|0;r=A;u=c[r+4>>2]|0;t=s+(f*96|0)+48|0;c[t>>2]=c[r>>2];c[t+4>>2]=u;A=A+8|0;t=c[A+4>>2]|0;u=s+(f*96|0)+56|0;c[u>>2]=c[A>>2];c[u+4>>2]=t;u=B+h|0;t=u;h=c[t+4>>2]|0;A=s+(f*96|0)+64|0;c[A>>2]=c[t>>2];c[A+4>>2]=h;A=u+8|0;h=c[A+4>>2]|0;t=s+(f*96|0)+72|0;c[t>>2]=c[A>>2];c[t+4>>2]=h;u=u+16|0;t=u;h=c[t+4>>2]|0;A=s+(f*96|0)+80|0;c[A>>2]=c[t>>2];c[A+4>>2]=h;u=u+8|0;A=c[u+4>>2]|0;h=s+(f*96|0)+88|0;c[h>>2]=c[u>>2];c[h+4>>2]=A;h=1;A=31;break}else{A=s+(f*96|0)+16|0;c[A>>2]=q;c[A+4>>2]=r;A=m+8|0;t=c[A+4>>2]|0;u=s+(f*96|0)+24|0;c[u>>2]=c[A>>2];c[u+4>>2]=t;u=B+h|0;t=u;h=c[t+4>>2]|0;A=s+(f*96|0)+32|0;c[A>>2]=c[t>>2];c[A+4>>2]=h;u=u+8|0;A=c[u+4>>2]|0;h=s+(f*96|0)+40|0;c[h>>2]=c[u>>2];c[h+4>>2]=A;h=1;A=31;break}}if(x){h=C*15|0;m=y+h|0;r=m;q=c[r>>2]|0;r=c[r+4>>2]|0;if(t){A=s+(f*96|0)+32|0;c[A>>2]=q;c[A+4>>2]=r;A=m+8|0;t=c[A+4>>2]|0;u=s+(f*96|0)+40|0;c[u>>2]=c[A>>2];c[u+4>>2]=t;u=B+h|0;t=u;h=c[t+4>>2]|0;A=s+(f*96|0)+48|0;c[A>>2]=c[t>>2];c[A+4>>2]=h;u=u+8|0;A=c[u+4>>2]|0;h=s+(f*96|0)+56|0;c[h>>2]=c[u>>2];c[h+4>>2]=A;h=1;A=31;break}else{u=s+(f*96|0)+16|0;c[u>>2]=q;c[u+4>>2]=r;u=B+h|0;A=c[u+4>>2]|0;h=s+(f*96|0)+24|0;c[h>>2]=c[u>>2];c[h+4>>2]=A;h=1;A=31;break}}else{h=C*7|0;m=y+h|0;r=m;q=c[r>>2]|0;r=c[r+4>>2]|0;if(t){A=s+(f*96|0)+32|0;c[A>>2]=q;c[A+4>>2]=r;A=m+8|0;t=c[A+4>>2]|0;u=s+(f*96|0)+40|0;c[u>>2]=c[A>>2];c[u+4>>2]=t;u=B+h|0;t=u;h=c[t+4>>2]|0;A=s+(f*96|0)+48|0;c[A>>2]=c[t>>2];c[A+4>>2]=h;u=u+8|0;A=c[u+4>>2]|0;h=s+(f*96|0)+56|0;c[h>>2]=c[u>>2];c[h+4>>2]=A;h=1;A=31;break}else{u=s+(f*96|0)+16|0;c[u>>2]=q;c[u+4>>2]=r;u=B+h|0;A=c[u+4>>2]|0;h=s+(f*96|0)+24|0;c[h>>2]=c[u>>2];c[h+4>>2]=A;h=1;A=31;break}}}else{h=1;A=31}}else{h=1;A=31}while(0);if((A|0)==31){A=0;t=c[e+27796+(h<<2)>>2]|0;u=c[i>>2]|0;r=p<<4;h=v+r|0;s=h;v=c[s+4>>2]|0;q=t+(u*96|0)|0;c[q>>2]=c[s>>2];c[q+4>>2]=v;q=h+8|0;v=c[q+4>>2]|0;s=t+(u*96|0)+8|0;c[s>>2]=c[q>>2];c[s+4>>2]=v;s=(w|0)!=0;h=h+16|0;if(s){w=h;v=c[w+4>>2]|0;q=t+(u*96|0)+16|0;c[q>>2]=c[w>>2];c[q+4>>2]=v;q=h+8|0;v=c[q+4>>2]|0;w=t+(u*96|0)+24|0;c[w>>2]=c[q>>2];c[w+4>>2]=v}do if(z){h=y+r|0;q=h;m=c[q>>2]|0;q=c[q+4>>2]|0;if(s){z=t+(u*96|0)+32|0;c[z>>2]=m;c[z+4>>2]=q;z=h+8|0;y=c[z+4>>2]|0;m=t+(u*96|0)+40|0;c[m>>2]=c[z>>2];c[m+4>>2]=y;m=h+16|0;y=m;h=c[y+4>>2]|0;z=t+(u*96|0)+48|0;c[z>>2]=c[y>>2];c[z+4>>2]=h;m=m+8|0;z=c[m+4>>2]|0;h=t+(u*96|0)+56|0;c[h>>2]=c[m>>2];c[h+4>>2]=z;h=B+r|0;z=h;B=c[z+4>>2]|0;m=t+(u*96|0)+64|0;c[m>>2]=c[z>>2];c[m+4>>2]=B;m=h+8|0;B=c[m+4>>2]|0;z=t+(u*96|0)+72|0;c[z>>2]=c[m>>2];c[z+4>>2]=B;h=h+16|0;z=h;B=c[z+4>>2]|0;m=t+(u*96|0)+80|0;c[m>>2]=c[z>>2];c[m+4>>2]=B;h=h+8|0;m=88;break}else{z=t+(u*96|0)+16|0;c[z>>2]=m;c[z+4>>2]=q;m=h+8|0;z=c[m+4>>2]|0;h=t+(u*96|0)+24|0;c[h>>2]=c[m>>2];c[h+4>>2]=z;h=B+r|0;z=h;B=c[z+4>>2]|0;m=t+(u*96|0)+32|0;c[m>>2]=c[z>>2];c[m+4>>2]=B;h=h+8|0;m=40;break}}else if(x){r=C<<4;h=y+r|0;q=h;m=c[q>>2]|0;q=c[q+4>>2]|0;if(s){z=t+(u*96|0)+32|0;c[z>>2]=m;c[z+4>>2]=q;m=h+8|0;z=c[m+4>>2]|0;h=t+(u*96|0)+40|0;c[h>>2]=c[m>>2];c[h+4>>2]=z;h=B+r|0;z=h;B=c[z+4>>2]|0;m=t+(u*96|0)+48|0;c[m>>2]=c[z>>2];c[m+4>>2]=B;h=h+8|0;m=56;break}else{h=t+(u*96|0)+16|0;c[h>>2]=m;c[h+4>>2]=q;h=B+r|0;m=24;break}}else{r=C<<3;h=y+r|0;q=h;m=c[q>>2]|0;q=c[q+4>>2]|0;if(s){z=t+(u*96|0)+32|0;c[z>>2]=m;c[z+4>>2]=q;m=h+8|0;z=c[m+4>>2]|0;h=t+(u*96|0)+40|0;c[h>>2]=c[m>>2];c[h+4>>2]=z;h=B+r|0;z=h;B=c[z+4>>2]|0;m=t+(u*96|0)+48|0;c[m>>2]=c[z>>2];c[m+4>>2]=B;h=h+8|0;m=56;break}else{h=t+(u*96|0)+16|0;c[h>>2]=m;c[h+4>>2]=q;h=B+r|0;m=24;break}}while(0);y=h;z=c[y+4>>2]|0;B=t+(u*96|0)+m|0;c[B>>2]=c[y>>2];c[B+4>>2]=z}do if(!(dd(b,e,G)|0)){G=c[l>>2]|0;F=(c[V>>2]|0)+F|0;c[k>>2]=d[(a[F>>0]|0)+(G+548)>>0];c[j>>2]=d[(a[F>>0]|0)+(G+636)>>0];if(!(c[_>>2]|0)){vc(b,e,f,E,D,n,o,p,C);break}else{wc(b,e,f,E,D,n,o,p,C);break}}while(0);E=E+1|0}f=f+1|0}}while(0);c[ca>>2]=$;c[i>>2]=g;c[aa>>2]=ba-h;ba=c[l>>2]|0;ca=c[e+848>>2]|0;c[k>>2]=d[ba+548+ca>>0];c[j>>2]=d[ba+636+ca>>0]}return}function fd(d,e,f,g,h,i){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;W=Mb;Mb=Mb+272|0;V=W+256|0;U=W+248|0;T=W+240|0;S=W+232|0;R=W+224|0;Q=W+216|0;P=W+208|0;O=W+200|0;M=W+192|0;L=W+176|0;K=W+168|0;J=W+160|0;I=W+152|0;G=W+144|0;C=W+136|0;B=W+120|0;A=W+112|0;z=W+104|0;y=W+96|0;x=W+88|0;v=W+80|0;u=W+72|0;s=W+64|0;r=W+56|0;p=W+40|0;o=W+32|0;n=W+24|0;m=W+16|0;l=W+8|0;k=W;j=HG(e,4)|0;c[d>>2]=j;a:do if(j>>>0<=15){if(h|0?(c[h+(j<<2)>>2]|0)==0:0){c[l>>2]=j;AD(i,16,176374,l);h=-1094995529;break}h=(HG(e,3)|0)+1|0;t=d+68|0;c[t>>2]=h;if((h|0)>7){c[m>>2]=h;AD(i,16,176397,m);h=-1094995529;break}h=(HG(e,1)|0)&255;a[d+156>>0]=h;h=Yn(e,i,d+300|0,c[t>>2]|0)|0;if((h|0)>=0){h=CL(e)|0;c[f>>2]=h;if(h>>>0>31){c[n>>2]=h;AD(i,16,176434,n);h=-1094995529;break}h=CL(e)|0;m=d+4|0;c[m>>2]=h;if(h>>>0>3){c[o>>2]=h;AD(i,16,176459,o);h=-1094995529;break}if((h|0)==3){h=(mT(e)|0)&255;a[d+8>>0]=h}else h=a[d+8>>0]|0;if(h<<24>>24)c[m>>2]=0;h=CL(e)|0;E=d+13376|0;c[E>>2]=h;h=CL(e)|0;F=d+13380|0;c[F>>2]=h;h=UX(c[E>>2]|0,h,0,i)|0;if((h|0)>=0){if(mT(e)|0){D=c[m>>2]|0;l=(D|0)<2?2:1;D=(D|0)<3?2:1;j=H(D,CL(e)|0)|0;h=d+28|0;c[h>>2]=j;D=H(CL(e)|0,D)|0;j=d+32|0;c[j>>2]=D;D=H(CL(e)|0,l)|0;k=d+36|0;c[k>>2]=D;l=H(CL(e)|0,l)|0;c[d+40>>2]=l;if(c[i+96>>2]&65536|0){w=c[j>>2]|0;D=c[k>>2]|0;c[p>>2]=c[h>>2];c[p+4>>2]=w;c[p+8>>2]=D;c[p+12>>2]=l;AD(i,48,176492,p);c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0}D=d+12|0;c[D>>2]=c[h>>2];c[D+4>>2]=c[h+4>>2];c[D+8>>2]=c[h+8>>2];c[D+12>>2]=c[h+12>>2]}h=(CL(e)|0)+8|0;D=d+44|0;c[D>>2]=h;h=(CL(e)|0)+8|0;if(c[m>>2]|0?(q=c[D>>2]|0,(h|0)!=(q|0)):0){c[r>>2]=q;c[r+4>>2]=h;AD(i,16,176568,r);h=-1094995529;break}c[d+48>>2]=h;h=Mi(i,d)|0;if((h|0)>=0){h=CL(e)|0;r=h+4|0;w=d+60|0;c[w>>2]=r;if(r>>>0>16){c[s>>2]=h;AD(i,16,176651,s);h=-1094995529;break}m=(mT(e)|0)!=0;if(m)n=0;else n=(c[t>>2]|0)+-1|0;s=i+688|0;l=n;while(1){if((l|0)>=(c[t>>2]|0))break;k=(CL(e)|0)+1|0;f=d+72+(l*12|0)|0;c[f>>2]=k;k=CL(e)|0;j=d+72+(l*12|0)+4|0;c[j>>2]=k;k=(CL(e)|0)+-1|0;c[d+72+(l*12|0)+8>>2]=k;k=c[f>>2]|0;if(k>>>0>16){N=34;break}h=c[j>>2]|0;if((h|0)>=(k|0)){c[v>>2]=h;AD(i,24,176751,v);if(c[s>>2]&8|0){h=-1094995529;break a}h=c[j>>2]|0;if((h|0)>15){h=-1094995529;break a}c[f>>2]=h+1}l=l+1|0}if((N|0)==34){c[u>>2]=k+-1;AD(i,16,176700,u);h=-1094995529;break}b:do if(!m){j=d+72+(n*12|0)|0;k=d+72+(n*12|0)+4|0;l=d+72+(n*12|0)+8|0;h=0;while(1){if((h|0)>=(n|0))break b;c[d+72+(h*12|0)>>2]=c[j>>2];c[d+72+(h*12|0)+4>>2]=c[k>>2];c[d+72+(h*12|0)+8>>2]=c[l>>2];h=h+1|0}}while(0);j=(CL(e)|0)+3|0;o=d+13320|0;c[o>>2]=j;j=CL(e)|0;p=d+13324|0;c[p>>2]=j;j=(CL(e)|0)+2|0;q=d+13328|0;c[q>>2]=j;j=CL(e)|0;k=c[q>>2]|0;r=d+13332|0;c[r>>2]=k+j;l=c[o>>2]|0;if((l+-3|0)>>>0>27){c[x>>2]=l;AD(i,16,176794,x);h=-1094995529;break}h=c[p>>2]|0;if(h>>>0>30){c[y>>2]=h;AD(i,16,176832,y);h=-1094995529;break}if(k>>>0<2|k>>>0>=l>>>0){AD(i,16,176889,z);h=-1094995529;break}if(j>>>0>30){c[A>>2]=j;AD(i,16,176924,A);h=-1094995529;break}A=CL(e)|0;f=d+13344|0;c[f>>2]=A;A=CL(e)|0;n=d+13348|0;c[n>>2]=A;A=(mT(e)|0)&255;a[d+634>>0]=A;do if(A<<24>>24){h=d+635|0;ph(h);if(!(mT(e)|0))break;h=mj(e,i,h,d)|0;if((h|0)<0)break a}while(0);A=(mT(e)|0)&255;a[d+13196>>0]=A;A=(mT(e)|0)&255;a[d+13197>>0]=A;A=mT(e)|0;c[d+64>>2]=A;do if(A|0){k=(HG(e,4)|0)+1&255;h=d+13300|0;a[h>>0]=k;k=(HG(e,4)|0)+1&255;j=d+13301|0;a[j>>0]=k;k=(CL(e)|0)+3|0;c[d+13304>>2]=k;k=(CL(e)|0)+k|0;c[d+13308>>2]=k;h=a[h>>0]|0;j=a[j>>0]|0;k=c[D>>2]|0;if((k|0)<(((h&255)>(j&255)?h:j)&255|0)){c[B>>2]=h&255;c[B+4>>2]=j&255;c[B+8>>2]=k;AD(i,16,176984,B);h=-1094995529;break a}else{B=(mT(e)|0)&255;a[d+13312>>0]=B;break}}while(0);h=CL(e)|0;k=d+2184|0;c[k>>2]=h;if(h>>>0>64){c[C>>2]=h;AD(i,16,177046,C);h=-1094995529;break}j=0;while(1){if(j>>>0>=h>>>0)break;h=Hf(e,i,d+2188+(j*172|0)|0,d,0)|0;if((h|0)<0)break a;j=j+1|0;h=c[k>>2]|0}C=(mT(e)|0)&255;a[d+13198>>0]=C;c:do if(C<<24>>24){j=CL(e)|0;h=j&255;k=d+13296|0;a[k>>0]=h;j=j&255;if(j>>>0>31){c[G>>2]=j;AD(i,16,177076,G);h=-1094995529;break a}j=0;while(1){if(j>>>0>=(h&255)>>>0)break c;h=(HG(e,c[w>>2]|0)|0)&65535;b[d+13200+(j<<1)>>1]=h;h=(mT(e)|0)&255;a[d+13264+j>>0]=h;j=j+1|0;h=a[k>>0]|0}}while(0);G=(mT(e)|0)&255;a[d+13316>>0]=G;G=(mT(e)|0)&255;a[d+13317>>0]=G;c[d+160>>2]=0;c[d+164>>2]=1;if(mT(e)|0)Sd(e,i,g,d);do if(mT(e)|0){h=1;j=0;while(1){if(!h)break;h=0;j=mT(e)|0}eW(e,7);if(!j)break;G=mT(e)|0;c[d+13352>>2]=G;G=mT(e)|0;c[d+13356>>2]=G;G=mT(e)|0;c[d+13360>>2]=G;G=mT(e)|0;c[d+13364>>2]=G;if(mT(e)|0)AD(i,24,177124,I);I=mT(e)|0;c[d+13368>>2]=I;if(mT(e)|0)AD(i,24,177180,J);J=mT(e)|0;c[d+13372>>2]=J;if(!(mT(e)|0))break;AD(i,24,177237,K)}while(0);if(!g){k=d+12|0;h=k;j=c[d+16>>2]|0;k=c[k>>2]|0}else{h=d+12|0;k=(c[h>>2]|0)+(c[d+224>>2]|0)|0;c[h>>2]=k;h=d+16|0;j=(c[h>>2]|0)+(c[d+228>>2]|0)|0;c[h>>2]=j;h=d+20|0;c[h>>2]=(c[h>>2]|0)+(c[d+232>>2]|0);h=d+24|0;c[h>>2]=(c[h>>2]|0)+(c[d+236>>2]|0);h=d+12|0}l=c[d+20>>2]|0;m=c[d+24>>2]|0;do if(k>>>0<(2147483647-j|0)>>>0&l>>>0<(2147483647-m|0)>>>0){if((j+k|0)>>>0>=(c[E>>2]|0)>>>0){N=90;break}if((m+l|0)>>>0>=(c[F>>2]|0)>>>0)N=90}else N=90;while(0);if((N|0)==90){c[L>>2]=k;c[L+4>>2]=j;c[L+8>>2]=l;c[L+12>>2]=m;AD(i,24,177294,L);if(c[s>>2]&8|0){h=-1094995529;break}AD(i,24,177333,M);c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;N=d+28|0;c[N>>2]=0;c[N+4>>2]=0;c[N+8>>2]=0;c[N+12>>2]=0}k=c[o>>2]|0;l=(c[p>>2]|0)+k|0;h=d+13336|0;c[h>>2]=l;j=k+-1|0;c[d+13340>>2]=j;if(l>>>0>6){c[O>>2]=l;AD(i,16,177370,O);h=-1094995529;break}if(l>>>0<4){c[P>>2]=l;AD(i,16,177399,P);c[Q>>2]=c[h>>2];GU(i,177462,Q);h=-1094995529;break}Q=c[E>>2]|0;N=(1<<l)+-1|0;O=N+Q>>l;c[d+13384>>2]=O;P=c[F>>2]|0;N=N+P>>l;c[d+13388>>2]=N;O=H(N,O)|0;c[d+13392>>2]=O;c[d+13396>>2]=Q>>k;c[d+13400>>2]=P>>k;O=c[q>>2]|0;c[d+13404>>2]=Q>>O;c[d+13408>>2]=P>>O;c[d+13412>>2]=Q>>j;c[d+13416>>2]=P>>j;j=l-O|0;c[d+13420>>2]=(1<<j)+-1;c[d+13448>>2]=((c[D>>2]|0)*6|0)+-48;if((P|Q)&(1<<k)+-1|0){AD(i,16,177479,R);h=-1094995529;break}h=c[f>>2]|0;if(h>>>0>j>>>0){c[S>>2]=h;AD(i,16,177512,S);h=-1094995529;break}h=c[n>>2]|0;if(h>>>0>j>>>0){c[T>>2]=h;AD(i,16,177566,T);h=-1094995529;break}h=c[r>>2]|0;if(h>>>0>(l>>>0<5?l:5)>>>0){c[U>>2]=h;AD(i,16,177620,U);h=-1094995529;break}h=a$(e)|0;if((h|0)>=0){h=0;break}c[V>>2]=0-h;AD(i,16,177663,V);h=-1094995529}}}}else{c[k>>2]=j;AD(i,16,175675,k);h=-1094995529}while(0);Mb=W;return h|0}function gd(e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w){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;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;var x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0;O=f+880|0;y=c[O>>2]|0;A=(v|0)!=0;B=(w|0)!=0;if(B&(A&(y|0)==2)){U=d[91792+g>>0]|0;x=f+21792|0;y=c[x>>2]|0;if((c[f+3216+((a[f+28272+U>>0]|0)*384|0)+(a[f+28312+U>>0]<<3)+((y&1)<<2)>>2]|0)==32)x=37;else{N=x;x=4}}else{x=f+21792|0;z=c[x>>2]|0;if((y|0)==1){N=x;y=z;x=4}else{y=z;x=37}}do if((x|0)==4){E=c[t>>2]|0;D=c[t+4>>2]|0;M=c[u>>2]|0;L=c[u+4>>2]|0;P=c[e+25652>>2]|0;Q=o<<1;U=f+21780|0;F=c[U>>2]|0;S=k+((H(F,Q)|0)+(n<<1<<P))|0;T=f+21784|0;x=c[T>>2]|0;Q=(H(x,Q)|0)+(n<<P)|0;R=l+Q|0;Q=m+Q|0;z=(c[f+21788>>2]<<3)+n|0;r=f+21828|0;k=c[r>>2]|0;y=(y>>k<<3)+o|0;if(!(A&B)){n=B&1;A=d[91792+g>>0]|0;m=a[f+28272+(n*40|0)+A>>0]|0;u=(z<<3)+(b[f+27952+(n*160|0)+(A<<2)>>1]|0)|0;A=(y<<3)+(b[f+27952+(n*160|0)+(A<<2)+2>>1]|0)|0;t=A<<2&12|u&3;x=u>>2;B=A>>2;z=(H(B,F)|0)+(x<<P)|0;z=(c[f+23416+(n*1920|0)+(m*40|0)>>2]|0)+z|0;C=c[e+26996>>2]|0;y=C<<4;k=c[e+26992>>2]<<4>>k;l=u&7;N=(l|0)==0?0:-3;O=(A&7|0)==0?0:-3;if((!((x|0)<(0-N|0)|(B|0)<(0-O|0))?(x+16|0)<=(N+y|0):0)?(B+16|0)<=(k+O|0):0){v=0;y=F}else{O=f+27792|0;v=2<<P;pc[c[e+8>>2]&3](c[O>>2]|0,z+(0-v)+(0-(F<<1))|0,F,F,21,21,x+-2|0,B+-2|0,y,k);y=c[U>>2]|0;z=(c[O>>2]|0)+v+(y<<1)|0;v=1}x=p+(t<<2)|0;gc[c[x>>2]&1023](S,z,y);if(!h)gc[c[x>>2]&1023](S+j|0,z+j|0,c[U>>2]|0);u=u>>3;t=u<<P;y=c[T>>2]|0;x=H(y,B)|0;z=(c[f+23416+(n*1920|0)+(m*40|0)+4>>2]|0)+t+x|0;x=(c[f+23416+(n*1920|0)+(m*40|0)+8>>2]|0)+t+x|0;t=f+27792|0;if(!v){e=A<<1&6;kc[q&127](R,z,y,i,l,e);y=e}else{j=C<<3;h=e+8|0;pc[c[h>>2]&3](c[t>>2]|0,z,y,y,9,17,u,B,j,k);y=A<<1&6;kc[q&127](R,c[t>>2]|0,c[T>>2]|0,i,l,y);e=c[T>>2]|0;pc[c[h>>2]&3](c[t>>2]|0,x,e,e,9,17,u,B,j,k);x=c[t>>2]|0}kc[q&127](Q,x,c[T>>2]|0,i,l,y);kc[E&127](S,c[U>>2]|0,i,c[f+888>>2]|0,c[f+912+(m<<4)+(n<<3)>>2]|0,c[f+912+(m<<4)+(n<<3)+4>>2]|0);if(!(c[f+884>>2]|0))break;e=f+892|0;kc[D&127](R,c[T>>2]|0,i,c[e>>2]|0,c[f+1680+(m<<5)+(n<<4)>>2]|0,c[f+1680+(m<<5)+(n<<4)+4>>2]|0);kc[D&127](Q,c[T>>2]|0,i,c[e>>2]|0,c[f+1680+(m<<5)+(n<<4)+8>>2]|0,c[f+1680+(m<<5)+(n<<4)+12>>2]|0);break}J=c[f+27788>>2]|0;K=J+(16<<P)|0;I=J+(x<<4)|0;o=d[91792+g>>0]|0;w=a[f+28272+o>>0]|0;G=a[f+28312+o>>0]|0;m=z<<3;v=m+(b[f+27952+(o<<2)>>1]|0)|0;n=y<<3;C=n+(b[f+27952+(o<<2)+2>>1]|0)|0;t=C<<2&12|v&3;x=v>>2;A=C>>2;y=(H(A,F)|0)+(x<<P)|0;y=(c[f+23416+(w*40|0)>>2]|0)+y|0;D=e+26996|0;B=c[D>>2]|0;z=B<<4;s=e+26992|0;k=c[s>>2]<<4>>k;l=v&7;E=(l|0)==0?0:-3;g=(C&7|0)==0?0:-3;if((!((x|0)<(0-E|0)|(A|0)<(0-g|0))?(x+16|0)<=(E+z|0):0)?(A+16|0)<=(k+g|0):0){z=y;u=0;y=F}else{g=f+27792|0;u=2<<P;pc[c[e+8>>2]&3](c[g>>2]|0,y+(0-u)+(0-(F<<1))|0,F,F,21,21,x+-2|0,A+-2|0,z,k);y=c[U>>2]|0;z=(c[g>>2]|0)+u+(y<<1)|0;u=1}x=p+(t<<2)|0;gc[c[x>>2]&1023](S,z,y);E=(h|0)!=0;if(!E)gc[c[x>>2]&1023](S+j|0,z+j|0,c[U>>2]|0);y=v>>3;F=y<<P;z=c[T>>2]|0;x=H(z,A)|0;t=(c[f+23416+(w*40|0)+4>>2]|0)+F+x|0;x=(c[f+23416+(w*40|0)+8>>2]|0)+F+x|0;F=f+27792|0;if(!u){y=C<<1&6;kc[q&127](R,t,z,i,l,y)}else{g=B<<3;B=e+8|0;pc[c[B>>2]&3](c[F>>2]|0,t,z,z,9,17,y,A,g,k);h=C<<1&6;kc[q&127](R,c[F>>2]|0,c[T>>2]|0,i,l,h);C=c[T>>2]|0;pc[c[B>>2]&3](c[F>>2]|0,x,C,C,9,17,y,A,g,k);x=c[F>>2]|0;y=h}kc[q&127](Q,x,c[T>>2]|0,i,l,y);A=m+(b[f+28112+(o<<2)>>1]|0)|0;l=n+(b[f+28112+(o<<2)+2>>1]|0)|0;v=l<<2&12|A&3;t=A>>2;m=l>>2;y=c[U>>2]|0;z=(H(m,y)|0)+(t<<P)|0;z=(c[f+25336+(G*40|0)>>2]|0)+z|0;B=c[D>>2]|0;x=B<<4;k=c[s>>2]<<4>>c[r>>2];C=A&7;g=(C|0)==0?0:-3;h=(l&7|0)==0?0:-3;if((!((t|0)<(0-g|0)|(m|0)<(0-h|0))?(t+16|0)<=(x+g|0):0)?(m+16|0)<=(k+h|0):0)u=0;else{u=2<<P;pc[c[e+8>>2]&3](c[F>>2]|0,z+(0-u)+(0-(y<<1))|0,y,y,21,21,t+-2|0,m+-2|0,x,k);y=c[U>>2]|0;z=(c[F>>2]|0)+u+(y<<1)|0;u=1}x=p+(v<<2)|0;gc[c[x>>2]&1023](I,z,y);if(!E)gc[c[x>>2]&1023](I+j|0,z+j|0,c[U>>2]|0);t=A>>3;j=t<<P;y=c[T>>2]|0;x=H(y,m)|0;z=(c[f+25336+(G*40|0)+4>>2]|0)+j+x|0;x=(c[f+25336+(G*40|0)+8>>2]|0)+j+x|0;if(!u){e=l<<1&6;kc[q&127](J,z,y,i,C,e);y=e}else{j=B<<3;h=e+8|0;pc[c[h>>2]&3](c[F>>2]|0,z,y,y,9,17,t,m,j,k);y=l<<1&6;kc[q&127](J,c[F>>2]|0,c[T>>2]|0,i,C,y);e=c[T>>2]|0;pc[c[h>>2]&3](c[F>>2]|0,x,e,e,9,17,t,m,j,k);x=c[F>>2]|0}kc[q&127](K,x,c[T>>2]|0,i,C,y);if((c[O>>2]|0)==2){e=c[f+3216+(w*384|0)+(G<<3)+((c[N>>2]&1)<<2)>>2]|0;f=64-e|0;nc[M&63](S,I,c[U>>2]|0,i,5,e,f,0);nc[L&63](R,J,c[T>>2]|0,i,5,e,f,0);nc[L&63](Q,K,c[T>>2]|0,i,5,e,f,0);break}else{nc[M&63](S,I,c[U>>2]|0,i,c[f+888>>2]|0,c[f+912+(w<<4)>>2]|0,c[f+912+(G<<4)+8>>2]|0,(c[f+912+(G<<4)+12>>2]|0)+(c[f+912+(w<<4)+4>>2]|0)|0);e=f+892|0;nc[L&63](R,J,c[T>>2]|0,i,c[e>>2]|0,c[f+1680+(w<<5)>>2]|0,c[f+1680+(G<<5)+16>>2]|0,(c[f+1680+(G<<5)+20>>2]|0)+(c[f+1680+(w<<5)+4>>2]|0)|0);nc[L&63](Q,K,c[T>>2]|0,i,c[e>>2]|0,c[f+1680+(w<<5)+8>>2]|0,c[f+1680+(G<<5)+24>>2]|0,(c[f+1680+(G<<5)+28>>2]|0)+(c[f+1680+(w<<5)+12>>2]|0)|0);break}}else if((x|0)==37){J=c[e+25652>>2]|0;L=o<<1;I=f+21780|0;C=c[I>>2]|0;G=k+((H(C,L)|0)+(n<<1<<J))|0;M=f+21784|0;L=(H(c[M>>2]|0,L)|0)+(n<<J)|0;K=l+L|0;L=m+L|0;E=(c[f+21788>>2]<<3)+n|0;F=f+21828|0;t=c[F>>2]|0;D=(y>>t<<3)+o|0;if(v){l=d[91792+g>>0]|0;A=a[f+28272+l>>0]|0;v=(E<<3)+(b[f+27952+(l<<2)>>1]|0)|0;l=(D<<3)+(b[f+27952+(l<<2)+2>>1]|0)|0;u=l<<2&12|v&3;x=v>>2;m=l>>2;z=(H(m,C)|0)+(x<<J)|0;z=(c[f+23416+(A*40|0)>>2]|0)+z|0;n=c[e+26996>>2]|0;y=n<<4;B=c[e+26992>>2]<<4>>t;o=v&7;T=(o|0)==0?0:-3;U=(l&7|0)==0?0:-3;if((!((x|0)<(0-T|0)|(m|0)<(0-U|0))?(x+16|0)<=(T+y|0):0)?(m+16|0)<=(B+U|0):0){k=0;y=C}else{U=f+27792|0;k=2<<J;pc[c[e+8>>2]&3](c[U>>2]|0,z+(0-k)+(0-(C<<1))|0,C,C,21,21,x+-2|0,m+-2|0,y,B);y=c[I>>2]|0;z=(c[U>>2]|0)+k+(y<<1)|0;k=1}x=p+(u<<2)|0;gc[c[x>>2]&1023](G,z,y);if(!h)gc[c[x>>2]&1023](G+j|0,z+j|0,c[I>>2]|0);z=v>>3;y=z<<J;t=c[M>>2]|0;x=H(t,m)|0;u=(c[f+23416+(A*40|0)+4>>2]|0)+y+x|0;x=(c[f+23416+(A*40|0)+8>>2]|0)+y+x|0;y=f+27792|0;if(!k){y=l<<1&6;kc[q&127](K,u,t,i,o,y)}else{T=n<<3;R=e+8|0;pc[c[R>>2]&3](c[y>>2]|0,u,t,t,9,17,z,m,T,B);U=l<<1&6;kc[q&127](K,c[y>>2]|0,c[M>>2]|0,i,o,U);S=c[M>>2]|0;pc[c[R>>2]&3](c[y>>2]|0,x,S,S,9,17,z,m,T,B);x=c[y>>2]|0;y=U}kc[q&127](L,x,c[M>>2]|0,i,o,y);q=s;p=r}if(w|0){C=d[91792+g>>0]|0;B=a[f+28312+C>>0]|0;k=(E<<3)+(b[f+28112+(C<<2)>>1]|0)|0;C=(D<<3)+(b[f+28112+(C<<2)+2>>1]|0)|0;u=C<<2&12|k&3;x=k>>2;l=C>>2;y=c[I>>2]|0;z=(H(l,y)|0)+(x<<J)|0;z=(c[f+25336+(B*40|0)>>2]|0)+z|0;m=c[e+26996>>2]|0;t=m<<4;A=c[e+26992>>2]<<4>>c[F>>2];n=k&7;T=(n|0)==0?0:-3;U=(C&7|0)==0?0:-3;if((!((x|0)<(0-T|0)|(l|0)<(0-U|0))?(x+16|0)<=(t+T|0):0)?(l+16|0)<=(A+U|0):0)v=0;else{U=f+27792|0;v=2<<J;pc[c[e+8>>2]&3](c[U>>2]|0,z+(0-v)+(0-(y<<1))|0,y,y,21,21,x+-2|0,l+-2|0,t,A);y=c[I>>2]|0;z=(c[U>>2]|0)+v+(y<<1)|0;v=1}x=p+(u<<2)|0;gc[c[x>>2]&1023](G,z,y);if(!h)gc[c[x>>2]&1023](G+j|0,z+j|0,c[I>>2]|0);u=k>>3;y=u<<J;z=c[M>>2]|0;x=H(z,l)|0;t=(c[f+25336+(B*40|0)+4>>2]|0)+y+x|0;x=(c[f+25336+(B*40|0)+8>>2]|0)+y+x|0;y=f+27792|0;if(!v){y=C<<1&6;kc[q&127](K,t,z,i,n,y)}else{j=m<<3;h=e+8|0;pc[c[h>>2]&3](c[y>>2]|0,t,z,z,9,17,u,l,j,A);f=C<<1&6;kc[q&127](K,c[y>>2]|0,c[M>>2]|0,i,n,f);e=c[M>>2]|0;pc[c[h>>2]&3](c[y>>2]|0,x,e,e,9,17,u,l,j,A);x=c[y>>2]|0;y=f}kc[q&127](L,x,c[M>>2]|0,i,n,y)}}while(0);return}function hd(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,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;T=Mb;Mb=Mb+32|0;D=T+16|0;C=T+8|0;v=T;y=c[f+26352>>2]|0;w=c[g+21796>>2]|0;B=g+21792|0;n=c[B>>2]|0;S=c[h>>2]|0;R=S&64;A=g+25336|0;NI(f,A,(S>>>7&1)+n|0);S=(R|0)==0;i=61440;t=0;while(1){if((t|0)==2)break;l=a[g+28272+(t*40|0)+11>>0]|0;r=a[g+28272+(t*40|0)+4>>0]|0;j=a[g+28272+(t*40|0)+8>>0]|0;if(j<<24>>24==-2){p=a[g+28272+(t*40|0)+3>>0]|0;q=g+27952+(t*160|0)+12|0}else{p=j<<24>>24;q=g+27952+(t*160|0)+32|0}s=l>>>0>r>>>0?r:l;j=s>>>0>p>>>0?p:s;k=C+(t<<2)|0;c[k>>2]=j;do if((j|0)>-1){m=g+27952+(t*160|0)+44|0;o=g+27952+(t*160|0)+16|0;k=(j|0)==(l|0);j=(j|0)==(r|0);if(((j&1)+(p>>>0<=s>>>0&1)+(k&1)|0)>>>0>1){P=jU(b[m>>1]|0,b[o>>1]|0,b[q>>1]|0)|0;P=(jU(b[g+27952+(t*160|0)+46>>1]|0,b[g+27952+(t*160|0)+18>>1]|0,b[q+2>>1]|0)|0)<<16|P&65535;c[v+(t<<2)>>2]=P;break}if(k){c[v+(t<<2)>>2]=c[m>>2];break}if(j){c[v+(t<<2)>>2]=c[o>>2];break}else{c[v+(t<<2)>>2]=c[q>>2];break}}else{j=~(12288<<(t<<1));c[v+(t<<2)>>2]=0;c[k>>2]=-1;if(S)c[h>>2]=c[h>>2]&j;i=i&j}while(0);t=t+1|0}j=c[C>>2]|0;if((j|0)<0?(u=C+4|0,(c[u>>2]|0)<0):0){c[u>>2]=0;c[C>>2]=0;if(S)c[h>>2]=c[h>>2]|61440;r=i|61440;u=0}else{r=i;u=j}i=c[v>>2]|0;j=c[v+4>>2]|0;do if(i|R|j){t=g+25372|0;p=c[(c[t>>2]|0)+48>>2]|0;s=c[h>>2]|0;k=(s&128|0)!=0;do if(!(c[p+(w<<2)>>2]&128))if(k){n=c[B>>2]&-2;o=c[f+27e3>>2]|0;q=H(n,o)|0;q=q+(c[g+21788>>2]|0)|0;m=c[p+(q<<2)>>2]|0;c[D>>2]=m;k=c[p+(q+o<<2)>>2]|0;l=D+4|0;c[l>>2]=k;p=o<<2|2;o=y*6|0;if((k^m)&128){k=k&-129;m=m&-129;c[D>>2]=m;c[l>>2]=k}l=r|264;if(m&15|0?!((R|0)!=0|(k&15|0)==0):0){P=o;z=p;o=q;r=l;k=s|272;p=m;break}P=o;z=p;o=q;r=l;k=s|64;p=m}else{m=2;o=w;Q=36}else{if(k){l=c[g+21852>>2]|0;m=2;n=l+n|0;k=w}else{l=(c[B>>2]&-2)+(c[g+21848>>2]|0)|0;m=0;n=l;k=c[g+21788>>2]|0}o=(H(c[f+27e3>>2]|0,l)|0)+k|0;Q=36}while(0);do if((Q|0)==36){p=c[p+(o<<2)>>2]|0;c[D+4>>2]=p;c[D>>2]=p;l=r|264;k=(R|0)!=0;if(!(k|(p&15|0)==0)){P=y;z=m;r=l;k=s|264;break}if(!k?(x=p&48,x|0):0){P=y;z=m;r=l;k=s|x|256;break}P=y;z=m;r=(c[(c[f+28200>>2]|0)+72>>2]|0)==0?l+56|0:l;k=s|64}while(0);c[h>>2]=k;NI(f,A,n);q=c[t>>2]|0;l=c[(c[f+26344>>2]|0)+(o<<2)>>2]|0;k=(c[q+36>>2]|0)+(l<<2)|0;l=(c[q+40>>2]|0)+(l<<2)|0;n=o<<2;m=(c[q+68>>2]|0)+n|0;n=(c[q+72>>2]|0)+n|0;if(!z){M=(c[B>>2]&1|0)==0;N=P<<1;O=M?k:k+(N<<2)|0;N=M?l:l+(N<<2)|0;m=M?m:m+2|0;n=M?n:n+2|0}else{O=k;N=l}k=c[h>>2]|0;if((p^k)&128|0){x=r&65535;y=(u&255)*257&65535;s=c[C+4>>2]|0;w=(s&255)*257&65535;v=q+100|0;u=(u|0)>0?i:0;s=(s|0)>0?j:0;k=0;t=0;while(1){if((t|0)==4)break;q=t&1;o=t>>>1;p=(H(o,z)|0)+q|0;q=(0-q&3)+(H(o,P)|0)|0;l=g+28552+(t<<1)|0;if(!(!S?(b[l>>1]&256)==0:0)){b[l>>1]=x;r=d[91792+(t<<2)>>0]|0;Q=g+28272+r|0;b[Q>>1]=y;b[Q+8>>1]=y;Q=g+28312+r|0;b[Q>>1]=w;b[Q+8>>1]=w;do if((c[D+(o<<2)>>2]&7|0)==0?(c[v>>2]|0)==0:0){l=a[m+p>>0]|0;if(!(l<<24>>24)){Q=b[O+(q<<2)>>1]|0;if((((Q|0)>-1?Q:0-Q|0)|0)>=2){l=j;o=i;break}Q=b[O+(q<<2)+2>>1]|0;if((((Q|0)>-1?Q:0-Q|0)|0)>=2){l=j;o=i;break}}else{if(l<<24>>24>=0){l=j;o=i;break}if(a[n+p>>0]|0){l=j;o=i;break}Q=b[N+(q<<2)>>1]|0;if((((Q|0)>-1?Q:0-Q|0)|0)>=2){l=j;o=i;break}Q=b[N+(q<<2)+2>>1]|0;if((((Q|0)>-1?Q:0-Q|0)|0)>=2){l=j;o=i;break}}l=s;o=u;k=k+1|0}else{l=j;o=i}while(0);Q=g+27952+(r<<2)|0;c[Q>>2]=o;c[Q+4>>2]=o;c[Q+32>>2]=o;c[Q+36>>2]=o;Q=g+28112+(r<<2)|0;c[Q>>2]=l;c[Q+4>>2]=l;c[Q+32>>2]=l;c[Q+36>>2]=l}t=t+1|0}if(k&3|R|0)break;c[h>>2]=c[h>>2]&-41337|264;break}if(k&8|0){l=H(u&255,16843009)|0;c[g+28284>>2]=l;c[g+28292>>2]=l;c[g+28300>>2]=l;c[g+28308>>2]=l;l=c[C+4>>2]|0;h=H(l&255,16843009)|0;c[g+28324>>2]=h;c[g+28332>>2]=h;c[g+28340>>2]=h;c[g+28348>>2]=h;do if((p&7|0)==0?(c[q+100>>2]|0)==0:0){k=a[m>>0]|0;if(!(k<<24>>24)){h=b[O>>1]|0;if((((h|0)>-1?h:0-h|0)|0)>=2)break;h=b[O+2>>1]|0;if((((h|0)>-1?h:0-h|0)|0)>=2)break}else{if(k<<24>>24>=0)break;if(a[n>>0]|0)break;h=b[N>>1]|0;if((((h|0)>-1?h:0-h|0)|0)>=2)break;h=b[N+2>>1]|0;if((((h|0)>-1?h:0-h|0)|0)>=2)break;if((c[f+29696>>2]|0)>>>0<=33)break}j=(l|0)>0?j:0;i=(u|0)>0?i:0}while(0);c[g+28e3>>2]=i;c[g+28004>>2]=i;c[g+28008>>2]=i;c[g+28012>>2]=i;c[g+28032>>2]=i;c[g+28036>>2]=i;c[g+28040>>2]=i;c[g+28044>>2]=i;c[g+28064>>2]=i;c[g+28068>>2]=i;c[g+28072>>2]=i;c[g+28076>>2]=i;c[g+28096>>2]=i;c[g+28100>>2]=i;c[g+28104>>2]=i;c[g+28108>>2]=i;c[g+28160>>2]=j;c[g+28164>>2]=j;c[g+28168>>2]=j;c[g+28172>>2]=j;c[g+28192>>2]=j;c[g+28196>>2]=j;c[g+28200>>2]=j;c[g+28204>>2]=j;c[g+28224>>2]=j;c[g+28228>>2]=j;c[g+28232>>2]=j;c[g+28236>>2]=j;c[g+28256>>2]=j;c[g+28260>>2]=j;c[g+28264>>2]=j;c[g+28268>>2]=j;break}L=r&65535;M=(u&255)*257&65535;E=c[C+4>>2]|0;K=(E&255)*257&65535;J=(p&7|0)==0;I=q+100|0;G=(r&8|0)==0;D=(u|0)==0;E=(E|0)==0;F=P*3|0;f=f+29696|0;k=0;C=0;while(1){if((C|0)==4)break;p=C&1;q=C>>>1;A=g+28552+(C<<1)|0;if(!(!S?(b[A>>1]&256)==0:0))Q=80;do if((Q|0)==80){Q=0;b[A>>1]=L;B=C<<2;z=d[91792+B>>0]|0;r=g+27952+(z<<2)|0;c[r>>2]=i;s=r+4|0;c[s>>2]=i;t=r+32|0;c[t>>2]=i;u=r+36|0;c[u>>2]=i;v=g+28112+(z<<2)|0;c[v>>2]=j;w=v+4|0;c[w>>2]=j;x=v+32|0;c[x>>2]=j;y=v+36|0;c[y>>2]=j;o=g+28272+z|0;b[o>>1]=M;b[o+8>>1]=M;z=g+28312+z|0;b[z>>1]=K;b[z+8>>1]=K;if(J?(c[I>>2]|0)==0:0){l=a[m+C>>0]|0;o=l<<24>>24==0;if(!o){if(l<<24>>24>=0)break;if(a[n+C>>0]|0)break;if((c[f>>2]|0)>>>0<=33)break}z=o?O:N;if(!G){l=(H(F,q)|0)+(0-p&3)|0;B=b[z+(l<<2)>>1]|0;if((((B|0)>-1?B:0-B|0)|0)>=2)break;B=b[z+(l<<2)+2>>1]|0;if((((B|0)>-1?B:0-B|0)|0)>=2)break;if(D){c[r>>2]=0;c[s>>2]=0;c[t>>2]=0;c[u>>2]=0}if(E){c[v>>2]=0;c[w>>2]=0;c[x>>2]=0;c[y>>2]=0}k=k+4|0;break}q=p<<1;r=C&2147483646;l=0;p=0;while(1){if((p|0)==4)break;o=(H((p>>>1)+r|0,P)|0)+(p&1|q)|0;y=b[z+(o<<2)>>1]|0;if((((y|0)>-1?y:0-y|0)|0)<2?(y=b[z+(o<<2)+2>>1]|0,(((y|0)>-1?y:0-y|0)|0)<2):0){if(D)c[g+27952+(d[91792+(p+B)>>0]<<2)>>2]=0;if(E)c[g+28112+(d[91792+(p+B)>>0]<<2)>>2]=0;l=l+1|0}p=p+1|0}if(!(l&3))b[A>>1]=(e[A>>1]|0)+65480;k=l+k|0}}while(0);C=C+1|0}if(!(k&15|R))c[h>>2]=c[h>>2]&-41337|264}else{M=H(u&255,16843009)|0;c[g+28284>>2]=M;c[g+28292>>2]=M;c[g+28300>>2]=M;c[g+28308>>2]=M;M=H(c[C+4>>2]&255,16843009)|0;c[g+28324>>2]=M;c[g+28332>>2]=M;c[g+28340>>2]=M;c[g+28348>>2]=M;M=g+28e3|0;N=g+28032|0;O=g+28064|0;P=g+28096|0;Q=g+28160|0;R=g+28192|0;S=g+28224|0;g=g+28256|0;c[M>>2]=0;c[M+4>>2]=0;c[M+8>>2]=0;c[M+12>>2]=0;c[N>>2]=0;c[N+4>>2]=0;c[N+8>>2]=0;c[N+12>>2]=0;c[O>>2]=0;c[O+4>>2]=0;c[O+8>>2]=0;c[O+12>>2]=0;c[P>>2]=0;c[P+4>>2]=0;c[P+8>>2]=0;c[P+12>>2]=0;c[Q>>2]=0;c[Q+4>>2]=0;c[Q+8>>2]=0;c[Q+12>>2]=0;c[R>>2]=0;c[R+4>>2]=0;c[R+8>>2]=0;c[R+12>>2]=0;c[S>>2]=0;c[S+4>>2]=0;c[S+8>>2]=0;c[S+12>>2]=0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[h>>2]=c[h>>2]&-41337|264}while(0);Mb=T;return}function id(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,E=0,F=0,G=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;Y=Mb;Mb=Mb+208|0;N=Y+200|0;L=Y+192|0;X=Y+136|0;S=Y+128|0;K=Y+120|0;I=Y+112|0;C=Y+104|0;y=Y+96|0;t=Y+88|0;q=Y+80|0;j=Y+72|0;E=Y;W=Y+164|0;i=Y+160|0;s=Y+184|0;B=Y+176|0;P=Y+168|0;Q=Y+152|0;R=b+64|0;T=c[R>>2]|0;U=c[T+24>>2]|0;V=U+24|0;if(!(((c[V>>2]|0)==0?(c[T+64>>2]|0)==0:0)?(BX(U),f=mx(b,U)|0,(f|0)<0&(f|0)!=-541478725):0))D=4;do if((D|0)==4){O=T+80|0;if(!(c[O>>2]|0)){if(((c[V>>2]|0)==0?(c[(c[b+12>>2]|0)+16>>2]&32|0)==0:0)?(c[b+808>>2]&1|0)==0:0){f=-541478725;break}f=E;g=U;h=f+72|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(h|0));if(!(c[T+96>>2]|0))f=Fi(E)|0;else f=Yp(E)|0;w=(f|0)!=0;if(w){f=YO(c[R>>2]|0,E)|0;if((f|0)<0)break;f=nh(b,E)|0;if((f|0)<0)break}c[W>>2]=0;x=b+808|0;if(!(c[x>>2]&1)){h=b+12|0;f=Zb[c[(c[h>>2]|0)+88>>2]&7](b,e,W,E)|0;g=c[h>>2]|0;if(!(c[g+112>>2]&4)){o=U+16|0;u=c[o+4>>2]|0;v=e+120|0;c[v>>2]=c[o>>2];c[v+4>>2]=u}if(!(c[g+8>>2]|0)){if(!(c[b+180>>2]|0)){o=U+56|0;u=c[o+4>>2]|0;v=e+328|0;c[v>>2]=c[o>>2];c[v+4>>2]=u}if(!(c[g+16>>2]&2)){g=e+92|0;if(!(c[g>>2]|0)){o=b+228|0;u=c[o+4>>2]|0;v=g;c[v>>2]=c[o>>2];c[v+4>>2]=u}g=e+68|0;if(!(c[g>>2]|0))c[g>>2]=c[b+124>>2];g=e+72|0;if(!(c[g>>2]|0))c[g>>2]=c[b+128>>2];g=e+80|0;if((c[g>>2]|0)==-1){c[g>>2]=c[b+144>>2];u=h}else u=h}else u=h}else u=h}else{f=$j(b,e,W,E)|0;u=b+12|0}v=c[W>>2]|0;a:do switch(c[(c[u>>2]|0)+8>>2]|0){case 0:{if(c[e+296>>2]&4|0){c[W>>2]=0;break a}if(v|0){G=e+104|0;F=e+120|0;F=Go(b,c[G>>2]|0,c[G+4>>2]|0,c[F>>2]|0,c[F+4>>2]|0)|0;G=M()|0;I=e+320|0;c[I>>2]=F;c[I+4>>2]=G}break}case 1:{if((f|0)>-1&(v|0)!=0){o=e+104|0;n=e+120|0;n=Go(b,c[o>>2]|0,c[o+4>>2]|0,c[n>>2]|0,c[n+4>>2]|0)|0;o=M()|0;g=e+320|0;c[g>>2]=n;c[g+4>>2]=o;g=e+80|0;if((c[g>>2]|0)==-1)c[g>>2]=c[b+424>>2];g=e+240|0;o=g;if((c[o>>2]|0)==0&(c[o+4>>2]|0)==0){m=b+448|0;n=c[m+4>>2]|0;o=g;c[o>>2]=c[m>>2];c[o+4>>2]=n}g=e+352|0;if(!(c[g>>2]|0))c[g>>2]=c[b+420>>2];g=e+232|0;if(!(c[g>>2]|0))c[g>>2]=c[b+416>>2]}g=UA(c[T+40>>2]|0,70,i)|0;if((g|0)!=0&(c[i>>2]|0)>9){n=c[R>>2]|0;o=H(c[n+108>>2]|0,d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24)|0;c[n+56>>2]=o;n=g+4|0;n=d[n>>0]|d[n+1>>0]<<8|d[n+2>>0]<<16|d[n+3>>0]<<24;c[j>>2]=o;c[j+4>>2]=n;AD(b,48,171046,j);o=a[g+8>>0]|0;m=a[g+9>>0]|0}else{n=0;o=0;m=0}g=c[W>>2]|0;if((g|0?(c[e+296>>2]&4|0)!=0:0)?(c[b+96>>2]&536870912|0)==0:0){l=(c[R>>2]|0)+56|0;j=(c[l>>2]|0)-(c[e+76>>2]|0)|0;c[l>>2]=(j|0)>0?j:0;c[W>>2]=0}else D=49;do if(((D|0)==49?(k=(c[R>>2]|0)+56|0,p=c[k>>2]|0,(p|0)>0&(g|0)!=0):0)?(c[b+96>>2]&536870912|0)==0:0){l=e+76|0;g=c[l>>2]|0;if((g|0)<=(p|0)){c[W>>2]=0;D=p-g|0;c[k>>2]=D;c[q>>2]=D;AD(b,48,171093,q);break}q=c[e+64>>2]|0;Su(q,q,0,p,g-p|0,c[b+420>>2]|0,c[e+80>>2]|0)|0;g=b+892|0;do if((c[g>>2]|0)!=0?(r=c[b+416>>2]|0,(r|0)!=0):0){j=c[(c[R>>2]|0)+56>>2]|0;c[s>>2]=1;c[s+4>>2]=r;c[L>>2]=c[s>>2];c[L+4>>2]=c[s+4>>2];c[N>>2]=c[g>>2];c[N+4>>2]=c[g+4>>2];j=wF(j,((j|0)<0)<<31>>31,L,N)|0;k=M()|0;g=e+104|0;i=g;h=c[i>>2]|0;i=c[i+4>>2]|0;if(!((h|0)==0&(i|0)==-2147483648)){r=aX(h|0,i|0,j|0,k|0)|0;s=M()|0;t=g;c[t>>2]=r;c[t+4>>2]=s}g=e+112|0;i=g;h=c[i>>2]|0;i=c[i+4>>2]|0;if(!((h|0)==0&(i|0)==-2147483648)){r=aX(h|0,i|0,j|0,k|0)|0;s=M()|0;t=g;c[t>>2]=r;c[t+4>>2]=s}g=e+120|0;i=g;h=c[i>>2]|0;i=c[i+4>>2]|0;if(!((h|0)==0&(i|0)==-2147483648)){r=aX(h|0,i|0,j|0,k|0)|0;s=M()|0;t=g;c[t>>2]=r;c[t+4>>2]=s}g=e+336|0;i=g;h=c[i>>2]|0;i=c[i+4>>2]|0;if((i|0)<(k|0)|(i|0)==(k|0)&h>>>0<j>>>0)break;r=_W(h|0,i|0,j|0,k|0)|0;s=M()|0;t=g;c[t>>2]=r;c[t+4>>2]=s}else D=63;while(0);if((D|0)==63)AD(b,24,171126,t);D=c[l>>2]|0;c[y>>2]=c[(c[R>>2]|0)+56>>2];c[y+4>>2]=D;AD(b,48,171176,y);D=(c[R>>2]|0)+56|0;c[l>>2]=(c[l>>2]|0)-(c[D>>2]|0);c[D>>2]=0}while(0);do if((n|0?(F=e+76|0,z=c[F>>2]|0,z>>>0>=n>>>0&(c[W>>2]|0)!=0):0)?(c[b+96>>2]&536870912|0)==0:0){if((z|0)==(n|0)){c[W>>2]=0;break}g=b+892|0;if((c[g>>2]|0)!=0?(A=c[b+416>>2]|0,(A|0)!=0):0){c[B>>2]=1;c[B+4>>2]=A;c[L>>2]=c[B>>2];c[L+4>>2]=c[B+4>>2];c[N>>2]=c[g>>2];c[N+4>>2]=c[g+4>>2];C=wF(z-n|0,0,L,N)|0;D=M()|0;g=e+336|0;c[g>>2]=C;c[g+4>>2]=D;g=b}else{AD(b,24,171196,C);g=b}D=c[F>>2]|0;c[I>>2]=n;c[I+4>>2]=D;AD(g,48,171248,I);c[F>>2]=(c[F>>2]|0)-n}while(0);if((c[W>>2]|0?(c[b+96>>2]&536870912|0)!=0:0)?(G=JY(e,9,10)|0,G|0):0){F=c[(c[R>>2]|0)+56>>2]|0;I=G+4|0;G=c[I>>2]|0;a[G>>0]=F;a[G+1>>0]=F>>8;a[G+2>>0]=F>>16;a[G+3>>0]=F>>24;G=(c[I>>2]|0)+4|0;a[G>>0]=n;a[G+1>>0]=n>>8;a[G+2>>0]=n>>16;a[G+3>>0]=n>>24;a[(c[I>>2]|0)+8>>0]=o;a[(c[I>>2]|0)+9>>0]=m;c[(c[R>>2]|0)+56>>2]=0}break}default:{}}while(0);if(w?(JQ(E),(f|0)==(c[E+28>>2]|0)):0)f=c[U+28>>2]|0;g=c[u>>2]|0;if((((c[g+8>>2]|0)==1?(J=T+104|0,(f|0)>-1&(c[J>>2]|0)==0):0)?(f|0)!=(c[U+28>>2]|0):0)?(c[g+16>>2]&256|0)==0:0){AD(b,24,171271,K);c[J>>2]=1}if(!(c[W>>2]|0))jB(e);if(((f|0)>-1?(c[(c[u>>2]|0)+8>>2]|0)==0:0)?(c[b+92>>2]&65536|0)==0:0)f=c[U+28>>2]|0;g=b+880|0;if((c[g>>2]|0)>0?(c[b+884>>2]|0)>0:0){c[Q>>2]=c[b+116>>2];c[Q+4>>2]=1;c[L>>2]=c[g>>2];c[L+4>>2]=c[g+4>>2];c[N>>2]=c[Q>>2];c[N+4>>2]=c[Q+4>>2];SA(P,L,N);N=c[P>>2]|0;Q=b+108|0;c[Q>>2]=c[P+4>>2];c[Q+4>>2]=N}do if(!(v|0?1:(c[(c[R>>2]|0)+64>>2]|0)==0)){if((f|0)>=0){c[O>>2]=1;break}if(!(c[x>>2]&1))g=21;else g=(c[b+800>>2]|0)+20|0;Q=T+112|0;R=c[Q>>2]|0;c[Q>>2]=R+1;if((R|0)>=(g|0)){AD(b,16,171301,S);c[O>>2]=1;f=-558323010}}while(0);g=T+92|0;c[g>>2]=(c[g>>2]|0)+f;g=U+28|0;h=c[g>>2]|0;i=(f|0)<0;if(i|(h|0)<=(f|0))BX(U);else{c[V>>2]=(c[V>>2]|0)+f;c[g>>2]=h-f;V=c[T+40>>2]|0;T=V+28|0;c[T>>2]=(c[T>>2]|0)-f;T=U+8|0;c[T>>2]=0;c[T+4>>2]=-2147483648;U=U+16|0;c[U>>2]=0;c[U+4>>2]=-2147483648;U=V+8|0;c[U>>2]=0;c[U+4>>2]=-2147483648;V=V+16|0;c[V>>2]=0;c[V+4>>2]=-2147483648}if(c[W>>2]|0?(c[e+248>>2]|0)==0:0){c[X>>2]=171377;c[X+4>>2]=171026;c[X+8>>2]=610;AD(0,0,222515,X);ba()}f=i?f:0}else f=-541478725}while(0);Mb=Y;return f|0}function jd(a){a=a|0;var b=0,d=0,e=0,h=0,i=0,j=0,k=0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,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;O=Mb;Mb=Mb+2224|0;N=O+2208|0;D=O+2192|0;B=O+2176|0;A=O+2168|0;x=O+2160|0;w=O+2152|0;v=O+2144|0;u=O+2128|0;q=O+2120|0;p=O+2112|0;n=O+2104|0;m=O+2096|0;k=O+2088|0;j=O+2080|0;i=O+2072|0;h=O+2064|0;e=O+2056|0;d=O+2048|0;y=O+1024|0;z=O;MA(a);J=a+12|0;b=c[J>>2]|0;a:do if((b|0)>11){c[d>>2]=b;AD(a,16,217940,d);b=-22}else{F=a+20|0;b=c[F>>2]|0;if((b|0)>11){c[e>>2]=b;AD(a,16,217985,e);b=-22;break}E=a+12260|0;I=a+12520|0;c[I>>2]=c[a+92>>2];G=a+11140|0;C=a+11400|0;c[C>>2]=c[a+88>>2];H=a+80|0;c[H>>2]=c[a+96>>2];r=a+104|0;o=c[r>>2]|0;r=c[r+4>>2]|0;s=a+24|0;e=s;c[e>>2]=o;c[e+4>>2]=r;e=a+112|0;L=c[e+4>>2]|0;t=a+32|0;K=t;c[K>>2]=c[e>>2];c[K+4>>2]=L;K=a+16|0;c[K>>2]=c[a+120>>2];L=a+128|0;c[L>>2]=c[a+124>>2];if((DD(o,r)|0)>64){e=s;o=c[e+4>>2]|0;r=h;c[r>>2]=c[e>>2];c[r+4>>2]=o;AD(a,24,218031,h);r=s;c[r>>2]=0;c[r+4>>2]=0}r=t;if((DD(c[r>>2]|0,c[r+4>>2]|0)|0)>64){h=t;o=c[h+4>>2]|0;r=i;c[r>>2]=c[h>>2];c[r+4>>2]=o;AD(a,24,218087,i);r=t;c[r>>2]=0;c[r+4>>2]=0}i=a+84|0;if(c[i>>2]|0){AD(a,16,218144,j);b=-22;break}j=a+13448|0;c[j>>2]=167376;b=c[H>>2]|0;if(!b){b=c[C>>2]|0;c[H>>2]=b;if(!b)r=16;else r=13}else r=13;if((r|0)==13){d=s;e=c[d>>2]|0;d=c[d+4>>2]|0;if(!((e|0)==0&(d|0)==0))if((b|0)==(DD(e,d)|0))r=16;else{AD(a,24,218188,k);r=s;c[r>>2]=0;c[r+4>>2]=0;r=17}else r=17}if((r|0)==16){d=s;b=c[d>>2]|0;d=c[d+4>>2]|0;if((b|0)==0&(d|0)==0)r=17}if((r|0)==17){b=hK(c[H>>2]|0)|0;d=M()|0;o=s;c[o>>2]=b;c[o+4>>2]=d}h=t;e=c[h>>2]|0;h=c[h+4>>2]|0;if((e|0)==0&(h|0)==0){e=hK(c[I>>2]|0)|0;h=M()|0;d=t;c[d>>2]=e;c[d+4>>2]=h;d=s;b=c[d>>2]|0;d=c[d+4>>2]|0}if((e|0)==(b|0)&(h|0)==(d|0)?!(+f[a+64>>2]!=1.0):0)b=(c[a+11136>>2]|0)!=0;else b=1;o=a+11132|0;c[o>>2]=b&1;b=c[K>>2]|0;if((b|0)==-1){if((jY(c[J>>2]|0)|0)<3?(jY(c[F>>2]|0)|0)<3:0)b=6;else r=26;do if((r|0)==26){if((((jY(c[J>>2]|0)|0)<3?(c[o>>2]|0)==0:0)?(c[a+44>>2]|0)==(c[a+40>>2]|0):0)?(c[a+48>>2]&1|0)==0:0){b=6;break}if((((((CW(c[J>>2]|0)|0)==7?(CW(c[F>>2]|0)|0)==7:0)?(c[o>>2]|0)==0:0)?(c[a+44>>2]|0)==(c[a+40>>2]|0):0)?(c[a+48>>2]&1|0)==0:0)?(c[i>>2]|0)!=1:0){b=7;break}b=(jY(c[J>>2]|0)|0)<5;b=b?8:9}while(0);c[K>>2]=b}b=a0(b)|0;c[m>>2]=b;AD(a,48,218295,m);b=c[K>>2]|0;switch(b|0){case 9:case 8:case 11:case 7:case 6:break;default:{b=a0(b)|0;c[n>>2]=b;AD(a,16,218332,n);b=-22;break a}}nS(G,c[J>>2]|0);nS(E,c[F>>2]|0);e=a+11120|0;d=c[e>>2]|0;e=c[e+4>>2]|0;if((d|0)==0&(e|0)==-2147483648){n=a+13408|0;c[n>>2]=0;c[n+4>>2]=-2147483648;l=+f[a+11116>>2]}else{b=a+11116|0;l=+f[b>>2];if(!(l!=0.0)?+f[a+11100>>2]>=170141173319264429905852.0e15:0){f[b>>2]=1.0;l=1.0}k=c[a+44>>2]|0;k=MR(d|0,e|0,k|0,((k|0)<0)<<31>>31|0)|0;m=M()|0;n=a+13400|0;c[n>>2]=k;c[n+4>>2]=m;n=a+13408|0;c[n>>2]=k;c[n+4>>2]=m}if(l!=0.0){b=a+11100|0;if(+f[b>>2]>=170141173319264429905852.0e15)f[b>>2]=1.0000000474974513e-03;if(l>1.0001)f[a+11112>>2]=l/+(c[a+40>>2]|0)}h=a+44|0;b=c[h>>2]|0;i=a+40|0;d=c[i>>2]|0;if((b|0)==(d|0)?(c[a+48>>2]&1|0)==0:0)dc[c[(c[j>>2]|0)+4>>2]&63](a+13444|0);else r=53;if((r|0)==53?(m=a+13444|0,n=ac[c[c[j>>2]>>2]&1](c[m>>2]|0,b,d,c[a+11044>>2]|0,c[a+11048>>2]|0,c[a+11052>>2]|0,+g[a+11064>>3],c[K>>2]|0,c[a+11072>>2]|0,+g[a+11080>>3],+g[a+11088>>3],c[a+11096>>2]|0,c[a+11056>>2]|0)|0,c[m>>2]=n,(n|0)==0):0){AD(a,16,218422,p);b=-12;break}if(((c[K>>2]|0)+-6|0)>>>0>=4?(c[a+13444>>2]|0)!=0:0){AD(a,16,218454,q);b=-22}else r=59;b:do if((r|0)==59){b=c[C>>2]|0;if(!b){b=s;b=DD(c[b>>2]|0,c[b+4>>2]|0)|0;c[C>>2]=b}if(!(c[H>>2]|0))c[H>>2]=b;if(!(c[I>>2]|0)){b=t;b=DD(c[b>>2]|0,c[b+4>>2]|0)|0;c[I>>2]=b;b=c[C>>2]|0}e=s;d=c[e>>2]|0;e=c[e+4>>2]|0;if(!b)if((d|0)==0&(e|0)==0){AD(a,16,218555,v);b=-22;break}else{c[u>>2]=218511;c[u+4>>2]=218528;c[u+8>>2]=293;AD(0,0,222515,u);ba()}DQ(y,1024,b,d,e);d=t;DQ(z,1024,c[I>>2]|0,c[d>>2]|0,c[d+4>>2]|0);d=t;b=c[d>>2]|0;d=c[d+4>>2]|0;do if(!((b|0)==0&(d|0)==0)){v=c[I>>2]|0;if((v|0)==(DD(b,d)|0))break;b=c[I>>2]|0;c[w>>2]=z;c[w+4>>2]=b;AD(a,16,218597,w);b=-22;break b}while(0);d=s;b=c[d>>2]|0;d=c[d+4>>2]|0;do if(!((b|0)==0&(d|0)==0)){w=c[H>>2]|0;if((w|0)==(DD(b,d)|0))break;b=c[H>>2]|0;c[x>>2]=y;c[x+4>>2]=b;AD(a,16,218661,x);b=-22;break b}while(0);x=t;do if((c[x>>2]|0)==0&(c[x+4>>2]|0)==0)r=78;else{x=s;if((c[x>>2]|0)==0&(c[x+4>>2]|0)==0){r=78;break}d=c[H>>2]|0}while(0);do if((r|0)==78){b=c[H>>2]|0;if((b|0)==(c[I>>2]|0)){d=b;break}if(c[a+11136>>2]|0){d=b;break}c[A>>2]=y;c[A+4>>2]=z;AD(a,16,218724,A);b=-22;break b}while(0);if(!d){c[B>>2]=218807;c[B+4>>2]=218528;c[B+8>>2]=319;AD(0,0,222515,B);ba()}b=c[I>>2]|0;if(!b){c[D>>2]=218824;c[D+4>>2]=218528;c[D+8>>2]=320;AD(0,0,222515,D);ba()}k=a+11128|0;c[k>>2]=+(c[h>>2]|0)/+(c[i>>2]|0)+-1.0>+(((b|0)/(d|0)|0)+-1|0)&1;j=a+12540|0;Mn(j|0,G|0,280)|0;Mn(a+12820|0,G|0,280)|0;Mn(a+13100|0,E|0,280)|0;b=xi(a,c[F>>2]|0,c[K>>2]|0)|0;if((b|0)<0)break;i=a+13444|0;do if(!(c[i>>2]|0)){if(c[o>>2]|0)break;if(c[a+76>>2]|0)break;if(c[L>>2]|0)break;b=xs(c[F>>2]|0,c[J>>2]|0,c[C>>2]|0,0,0)|0;c[a+13440>>2]=b;b=0;break a}while(0);b=a+76|0;D=xs(c[K>>2]|0,c[J>>2]|0,c[H>>2]|0,c[b>>2]|0,0)|0;J=a+13432|0;c[J>>2]=D;F=xs(c[F>>2]|0,c[K>>2]|0,c[I>>2]|0,0,0)|0;c[a+13436>>2]=F;if((F|0)==0|(c[J>>2]|0)==0){b=-12;break}e=a+11420|0;Mn(e|0,G|0,280)|0;h=a+11980|0;Mn(h|0,E|0,280)|0;d=a+11700|0;Mn(d|0,G|0,280)|0;do if(c[b>>2]|0){b=c[H>>2]|0;c[a+11960>>2]=b;c[a+11680>>2]=b;if(!(c[i>>2]|0))break;c[a+12800>>2]=b}while(0);do if(!(c[k>>2]|0)){b=c[I>>2]|0;c[a+11960>>2]=b;if(!(c[i>>2]|0))break;c[a+12800>>2]=b}while(0);nS(e,c[K>>2]|0);nS(d,c[K>>2]|0);nS(h,c[K>>2]|0);if(c[i>>2]|0)nS(j,c[K>>2]|0);if(c[a+12248>>2]|0){c[N>>2]=218840;c[N+4>>2]=218528;c[N+8>>2]=370;AD(0,0,222515,N);ba()}Mn(a+10480|0,h|0,280)|0;Mn(a+10760|0,h|0,280)|0;b=c[L>>2]|0;if((b|0)>64){c[a+10744>>2]=4;c[a+10756>>2]=8;f[a+140>>2]=1.0}if(!(c[o>>2]|b)){b=0;break a}b=If(a)|0;if((b|0)>=0){b=0;break a}}while(0);x1(a)}while(0);Mb=O;return b|0}function kd(f,g,h,i,j,k,l,m,n,o,p,q,r){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,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;T=Mb;Mb=Mb+12624|0;S=T+12584|0;R=T+12576|0;N=T+12568|0;L=T+12560|0;z=T+12552|0;A=T+12544|0;v=T+12528|0;t=T+12512|0;s=T+512|0;u=T+12600|0;F=T;c[f>>2]=g;P=(r&4|0)!=0;do if(P)if((h+1|0)>>>0<1501){c[u>>2]=c[f>>2];c[u+4>>2]=c[f+4>>2];c[u+8>>2]=c[f+8>>2];c[u+12>>2]=c[f+12>>2];c[u+8>>2]=0;K=u;O=6;break}else{c[t>>2]=200194;c[t+4>>2]=200171;c[t+8>>2]=282;AD(0,0,222515,t);ba()}else{c[f+4>>2]=0;c[f+12>>2]=0;c[f+8>>2]=0;s=iZ(h+1|0)|0;if(!s)Q=-12;else{K=f;O=6}}while(0);do if((O|0)==6){J=(o|0)!=0;if(J&(q|0)>2){c[v>>2]=200253;c[v+4>>2]=200171;c[v+8>>2]=298;AD(0,0,222515,v);ba()}G=g*3|0;I=(r&2|0)==0;y=0;t=0;while(1){if((y|0)>=(h|0)){O=39;break}u=i+(H(y,j)|0)|0;switch(k|0){case 1:{x=a[u>>0]|0;a[s+(t<<3)>>0]=x;break}case 2:{x=b[u>>1]&255;a[s+(t<<3)>>0]=x;break}case 4:{x=c[u>>2]&255;a[s+(t<<3)>>0]=x;break}default:x=a[s+(t<<3)>>0]|0}w=x&255;if((w|0)>(g|0)){if((x&255)>32|(G|0)<(w|0)){O=17;break}u=l+(H(y,m)|0)|0;switch(n|0){case 1:{u=d[u>>0]|0;v=s+(t<<3)+4|0;c[v>>2]=u;break}case 2:{u=e[u>>1]|0;v=s+(t<<3)+4|0;c[v>>2]=u;break}case 4:{u=c[u>>2]|0;v=s+(t<<3)+4|0;c[v>>2]=u;break}default:{u=s+(t<<3)+4|0;v=u;u=c[u>>2]|0}}E=_U(1,0,x&255|0)|0;D=M()|0;if(!((D|0)>0|(D|0)==0&E>>>0>u>>>0)){O=25;break}if(I)u=u<<32-w;else u=(d[151296+(u>>>8&255)>>0]|0)<<16|(d[151296+(u&255)>>0]|0)<<24|(d[151296+(u>>>16&255)>>0]|0)<<8|(d[151296+(u>>>24)>>0]|0);c[v>>2]=u;a:do if(J){u=o+(H(y,p)|0)|0;switch(q|0){case 1:{u=d[u>>0]|0;O=36;break a}case 2:{u=b[u>>1]|0;O=36;break a}case 4:{u=c[u>>2]&65535;O=36;break a}default:break a}}else{u=y&65535;O=36}while(0);if((O|0)==36){O=0;b[s+(t<<3)+2>>1]=u}t=t+1|0}y=y+1|0}if((O|0)==17){c[A>>2]=w;AD(0,16,200283,A);if(P){Q=-1;break}$1(s);Q=-1;break}else if((O|0)==25){c[z>>2]=u;c[z+4>>2]=y;AD(0,16,200314,z);if(P){Q=-1;break}$1(s);Q=-1;break}else if((O|0)==39){c[F>>2]=s;c[F+4>>2]=s+(t<<3)+-8;u=1;while(1){if(!u)break;u=u+-1|0;E=c[F+(u<<3)+4>>2]|0;v=c[F+(u<<3)>>2]|0;while(1){if(v>>>0>=E>>>0)break;A=E+-8|0;if(v>>>0>=A>>>0){O=75;break}w=E+-16|0;y=v+8|0;C=E;D=v;B=v+(C-D>>4<<3)|0;do if((SZ(v,E)|0)>0)if((SZ(E,B)|0)>0){z=B;U=c[z>>2]|0;z=c[z+4>>2]|0;W=v;V=c[W+4>>2]|0;x=B;c[x>>2]=c[W>>2];c[x+4>>2]=V;x=v;c[x>>2]=U;c[x+4>>2]=z;x=0;break}else{W=E;V=c[W>>2]|0;W=c[W+4>>2]|0;z=v;U=c[z+4>>2]|0;x=E;c[x>>2]=c[z>>2];c[x+4>>2]=U;x=v;c[x>>2]=V;c[x+4>>2]=W;x=0;break}else if((SZ(v,B)|0)>0){W=B;V=c[W>>2]|0;W=c[W+4>>2]|0;z=v;U=c[z+4>>2]|0;x=B;c[x>>2]=c[z>>2];c[x+4>>2]=U;x=v;c[x>>2]=V;c[x+4>>2]=W;x=0}else x=1;while(0);if((SZ(B,E)|0)>0){W=E;V=c[W>>2]|0;W=c[W+4>>2]|0;z=B;U=c[z+4>>2]|0;x=E;c[x>>2]=c[z>>2];c[x+4>>2]=U;x=B;c[x>>2]=V;c[x+4>>2]=W;x=0}if((v|0)==(w|0))break;W=B;V=c[W>>2]|0;W=c[W+4>>2]|0;X=A;U=c[X+4>>2]|0;z=B;c[z>>2]=c[X>>2];c[z+4>>2]=U;z=A;c[z>>2]=V;c[z+4>>2]=W;z=y;while(1){if(z>>>0>w>>>0)break;y=z;while(1){if(y>>>0>w>>>0)break;if((SZ(y,A)|0)>=0)break;y=y+8|0}while(1){if(y>>>0>w>>>0)break;if((SZ(w,A)|0)<=0){O=63;break}w=w+-8|0}if((O|0)==63){O=0;W=w;V=c[W>>2]|0;W=c[W+4>>2]|0;z=y;U=c[z+4>>2]|0;X=w;c[X>>2]=c[z>>2];c[X+4>>2]=U;X=y;c[X>>2]=V;c[X+4>>2]=W;y=y+8|0;w=w+-8|0}z=y}W=z;V=c[W>>2]|0;W=c[W+4>>2]|0;y=A;U=c[y+4>>2]|0;X=z;c[X>>2]=c[y>>2];c[X+4>>2]=U;X=A;c[X>>2]=V;c[X+4>>2]=W;if(x|0?(B|0)==(z|0)|(B|0)==(z+-8|0):0){x=v;while(1){if(x>>>0>=E>>>0)break;if((SZ(x,x+8|0)|0)>=1)break;x=x+8|0}if((x|0)==(E|0))break}X=z;if((C-X|0)<(X-D|0)){x=E;y=z+8|0}else{x=w;y=v;w=E;v=z+8|0}c[F+(u<<3)>>2]=v;c[F+(u<<3)+4>>2]=w;E=x;v=y;u=u+1|0}if((O|0)==75?(O=0,(SZ(v,E)|0)>0):0){W=E;V=c[W>>2]|0;W=c[W+4>>2]|0;D=v;U=c[D+4>>2]|0;X=E;c[X>>2]=c[D>>2];c[X+4>>2]=U;X=v;c[X>>2]=V;c[X+4>>2]=W}}y=0;while(1){if((y|0)>=(h|0)){O=110;break}u=i+(H(y,j)|0)|0;switch(k|0){case 1:{x=a[u>>0]|0;a[s+(t<<3)>>0]=x;break}case 2:{x=b[u>>1]&255;a[s+(t<<3)>>0]=x;break}case 4:{x=c[u>>2]&255;a[s+(t<<3)>>0]=x;break}default:x=a[s+(t<<3)>>0]|0}w=x&255;if(!(x<<24>>24==0|(w|0)>(g|0))){if((x&255)>32|(G|0)<(w|0)){O=88;break}u=l+(H(y,m)|0)|0;switch(n|0){case 1:{u=d[u>>0]|0;v=s+(t<<3)+4|0;c[v>>2]=u;break}case 2:{u=e[u>>1]|0;v=s+(t<<3)+4|0;c[v>>2]=u;break}case 4:{u=c[u>>2]|0;v=s+(t<<3)+4|0;c[v>>2]=u;break}default:{u=s+(t<<3)+4|0;v=u;u=c[u>>2]|0}}X=_U(1,0,x&255|0)|0;W=M()|0;if(!((W|0)>0|(W|0)==0&X>>>0>u>>>0)){O=96;break}if(I)u=u<<32-w;else u=(d[151296+(u>>>8&255)>>0]|0)<<16|(d[151296+(u&255)>>0]|0)<<24|(d[151296+(u>>>16&255)>>0]|0)<<8|(d[151296+(u>>>24)>>0]|0);c[v>>2]=u;b:do if(J){u=o+(H(y,p)|0)|0;switch(q|0){case 1:{u=d[u>>0]|0;O=107;break b}case 2:{u=b[u>>1]|0;O=107;break b}case 4:{u=c[u>>2]&65535;O=107;break b}default:break b}}else{u=y&65535;O=107}while(0);if((O|0)==107){O=0;b[s+(t<<3)+2>>1]=u}t=t+1|0}y=y+1|0}if((O|0)==88){c[L>>2]=w;AD(0,16,200283,L);if(P){Q=-1;break}$1(s);Q=-1;break}else if((O|0)==96){c[N>>2]=u;c[N+4>>2]=y;AD(0,16,200314,N);if(P){Q=-1;break}$1(s);Q=-1;break}else if((O|0)==110){u=jh(K,g,t,s,r)|0;if(!P){$1(s);if((u|0)>=0){Q=0;break}bU(K+4|0);Q=u;break}s=c[K+8>>2]|0;t=c[K+12>>2]|0;if((s|0)!=(t|0)){c[R>>2]=s;c[R+4>>2]=t;AD(0,16,200350,R)}if((u|0)>-1){c[f>>2]=c[K>>2];c[f+4>>2]=c[K+4>>2];c[f+8>>2]=c[K+8>>2];c[f+12>>2]=c[K+12>>2];Q=0;break}else{c[S>>2]=200368;c[S+4>>2]=200171;c[S+8>>2]=341;AD(0,0,222515,S);ba()}}}}while(0);Mb=T;return Q|0}function ld(a,b,d,e,f,h,i,j,k,l,m,n,o){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;h=+h;i=+i;j=+j;k=+k;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0.0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0.0,C=0.0,D=0.0,E=0,F=0,G=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;U=Mb;Mb=Mb+2896|0;T=U+2880|0;S=U+2864|0;R=U+2856|0;L=U+2848|0;G=U+2832|0;F=U+2816|0;y=U+2800|0;x=U+2784|0;t=U+2768|0;w=U+2752|0;v=U+2736|0;s=U+2728|0;r=U+2720|0;K=U+128|0;p=U;jv(K|0,0,2592)|0;Q=zE(o,a,b)|0;O=zE(o,d,e)|0;J=(O|0)==1610612736&((Q&1610612736|0)==0&0==0);N=J?3:O;O=J?0:((O|0)<0)<<31>>31;J=(Q|0)==1610612736&((N&1610612736|0)==0&0==0);P=J?3:Q;Q=J?0:((Q|0)<0)<<31>>31;a:do if(!(IP(P,Q)|0)){DQ(p,128,-1,a,b);c[r>>2]=p;AD(o,16,222162,r);a=-22}else{if(!(IP(N,O)|0)){DQ(p,128,-1,d,e);c[s>>2]=p;AD(o,16,222206,s);a=-22;break}I=P&N;J=Q&O;a=0;while(1){if((a|0)==18)break;s=_U(1,0,a|0)|0;if(!((I&s|0)==0&(J&(M()|0)|0)==0))g[K+(a*144|0)+(a<<3)>>3]=1.0;a=a+1|0}b=P&~N;do if(!((b&4|0)==0&0==0))if((N&3|0)==3&0==0){s=(P&3|0)==0&0==0;v=K+16|0;g[v>>3]=+g[v>>3]+(s?.7071067811865476:f);v=K+160|0;g[v>>3]=+g[v>>3]+(s?.7071067811865476:f);break}else{c[v>>2]=222636;c[v+4>>2]=222251;c[v+8>>2]=177;AD(0,0,222515,v);ba()}while(0);if(!((b&3|0)==0&0==0)){if((N&4|0)==0&0==0){c[w>>2]=222636;c[w+4>>2]=222251;c[w+8>>2]=186;AD(0,0,222515,w);ba()}w=K+288|0;g[w>>3]=+g[w>>3]+.7071067811865476;w=K+296|0;g[w>>3]=+g[w>>3]+.7071067811865476;if(!((P&4|0)==0&0==0))g[K+304>>3]=f*1.4142135623730951}if(!((b&256|0)==0&0==0)){do if((N&16|0)==0&0==0){if(!((N&512|0)==0&0==0)){w=K+1360|0;g[w>>3]=+g[w>>3]+.7071067811865476;w=K+1504|0;a=w;f=+g[w>>3];q=.7071067811865476;break}if((N&1|0)==0&0==0)if((N&4|0)==0&0==0){c[t>>2]=222636;c[t+4>>2]=222251;c[t+8>>2]=213;AD(0,0,222515,t);ba()}else{w=K+352|0;a=w;f=h*.7071067811865476;q=+g[w>>3];break}if((n+-1|0)>>>0>=2){f=h*.7071067811865476;w=K+64|0;g[w>>3]=f+ +g[w>>3];w=K+208|0;a=w;q=+g[w>>3];break}if((b&528|0)==0&0==0){w=K+64|0;g[w>>3]=+g[w>>3]-h;w=K+208|0;a=w;f=+g[w>>3];q=h;break}else{f=h*.7071067811865476;w=K+64|0;g[w>>3]=+g[w>>3]-f;w=K+208|0;a=w;q=+g[w>>3];break}}else{w=K+640|0;g[w>>3]=+g[w>>3]+.7071067811865476;w=K+784|0;a=w;f=+g[w>>3];q=.7071067811865476}while(0);g[a>>3]=f+q}if(!((b&16|0)==0&0==0)){b:do if((N&256|0)==0&0==0){if(!((N&512|0)==0&0==0)){a=K+1328|0;f=+g[a>>3];if((P&512|0)==0&0==0){g[a>>3]=f+1.0;x=K+1480|0;a=x;f=+g[x>>3];q=1.0;break}else{g[a>>3]=f+.7071067811865476;x=K+1480|0;a=x;f=+g[x>>3];q=.7071067811865476;break}}if((N&1|0)==0&0==0)if((N&4|0)==0&0==0){c[x>>2]=222636;c[x+4>>2]=222251;c[x+8>>2]=246;AD(0,0,222515,x);ba()}else{f=h*.7071067811865476;x=K+320|0;g[x>>3]=f+ +g[x>>3];x=K+328|0;a=x;q=+g[x>>3];break}switch(n|0){case 1:{f=h*.7071067811865476;x=K+32|0;g[x>>3]=+g[x>>3]-f;x=K+40|0;g[x>>3]=+g[x>>3]-f;x=K+176|0;g[x>>3]=f+ +g[x>>3];x=K+184|0;a=x;q=+g[x>>3];break b}case 2:{f=h*1.224744871391589;x=K+32|0;g[x>>3]=+g[x>>3]-f;q=h*.7071067811865476;x=K+40|0;g[x>>3]=+g[x>>3]-q;x=K+176|0;g[x>>3]=q+ +g[x>>3];x=K+184|0;a=x;q=+g[x>>3];break b}default:{x=K+32|0;g[x>>3]=+g[x>>3]+h;x=K+184|0;a=x;f=+g[x>>3];q=h;break b}}}else{x=K+1184|0;g[x>>3]=+g[x>>3]+.7071067811865476;x=K+1192|0;a=x;f=+g[x>>3];q=.7071067811865476}while(0);g[a>>3]=f+q}if(!((b&512|0)==0&0==0)){c:do if(!((N&16|0)==0&0==0)){a=K+648|0;h=+g[a>>3];if((P&16|0)==0&0==0){g[a>>3]=h+1.0;y=K+800|0;a=y;f=+g[y>>3];h=1.0;break}else{g[a>>3]=h+.7071067811865476;y=K+800|0;a=y;f=+g[y>>3];h=.7071067811865476;break}}else{if(!((N&256|0)==0&0==0)){y=K+1224|0;g[y>>3]=+g[y>>3]+.7071067811865476;y=K+1232|0;a=y;f=+g[y>>3];h=.7071067811865476;break}if((N&1|0)==0&0==0)if((N&4|0)==0&0==0){c[y>>2]=222636;c[y+4>>2]=222251;c[y+8>>2]=282;AD(0,0,222515,y);ba()}else{f=h*.7071067811865476;y=K+360|0;g[y>>3]=f+ +g[y>>3];y=K+368|0;a=y;h=+g[y>>3];break}switch(n|0){case 1:{f=h*.7071067811865476;y=K+72|0;g[y>>3]=+g[y>>3]-f;y=K+80|0;g[y>>3]=+g[y>>3]-f;y=K+216|0;g[y>>3]=f+ +g[y>>3];y=K+224|0;a=y;h=+g[y>>3];break c}case 2:{f=h*1.224744871391589;y=K+72|0;g[y>>3]=+g[y>>3]-f;h=h*.7071067811865476;y=K+80|0;g[y>>3]=+g[y>>3]-h;y=K+216|0;g[y>>3]=h+ +g[y>>3];y=K+224|0;a=y;h=+g[y>>3];break c}default:{y=K+72|0;g[y>>3]=+g[y>>3]+h;y=K+224|0;a=y;f=+g[y>>3];break c}}}while(0);g[a>>3]=f+h}if(!((b&64|0)==0&0==0)){if((N&1|0)==0&0==0)if((N&4|0)==0&0==0){c[F>>2]=222636;c[F+4>>2]=222251;c[F+8>>2]=293;AD(0,0,222515,F);ba()}else{z=2;D=.7071067811865476;E=2}else{z=1;D=1.0;E=0}F=K+(E*144|0)+48|0;g[F>>3]=+g[F>>3]+D;F=K+(z*144|0)+56|0;g[F>>3]=+g[F>>3]+D}if(!((b&8|0)==0&0==0)){do if((N&4|0)==0&0==0)if((N&1|0)==0&0==0){c[G>>2]=222636;c[G+4>>2]=222251;c[G+8>>2]=303;AD(0,0,222515,G);ba()}else{B=i*.7071067811865476;G=K+24|0;g[G>>3]=B+ +g[G>>3];G=K+168|0;A=G;C=+g[G>>3];break}else{G=K+312|0;A=G;B=+g[G>>3];C=i}while(0);g[A>>3]=B+C}h=0.0;a=0;s=0;while(1){if((s|0)==64)break;b=_U(1,0,s|0)|0;p=M()|0;if(!((b&N|0)==0&(p&O|0)==0)){e=s>>>0<18;r=H(a,m)|0;d=(I&b|0)!=0|(J&p|0)!=0;b=0;f=0.0;p=0;while(1){if((p|0)==64)break;G=_U(1,0,p|0)|0;if(!((G&P|0)==0&((M()|0)&Q|0)==0)){if(e&p>>>0<18)q=+g[K+(s*144|0)+(p<<3)>>3];else q=+(d&(s|0)==(p|0)&1);g[l+(b+r<<3)>>3]=q;b=b+1|0;f=f+ +u(+q)}p=p+1|0}h=h>f?h:f;a=a+1|0}s=s+1|0}K=k<0.0;h=K?-k:h;d:do if(K|h>j){h=h/j;b=0;while(1){if((b|0)==64)break d;p=H(b,m)|0;a=0;while(1){if((a|0)==64)break;K=l+(a+p<<3)|0;g[K>>3]=+g[K>>3]/h;a=a+1|0}b=b+1|0}}while(0);e:do if(k>0.0){b=0;while(1){if((b|0)==64)break e;p=H(b,m)|0;a=0;while(1){if((a|0)==64)break;K=l+(a+p<<3)|0;g[K>>3]=+g[K>>3]*k;a=a+1|0}b=b+1|0}}while(0);AD(o,48,222276,L);b=0;while(1){if((b|0)>=(DD(N,O)|0)){a=0;break a}p=zA(N,O,b)|0;p=CE(p,M()|0)|0;c[R>>2]=(p|0)==0?222298:p;AD(o,48,222300,R);p=H(b,m)|0;a=0;while(1){if((a|0)>=(DD(P,Q)|0))break;L=zA(P,Q,a)|0;L=CE(L,M()|0)|0;k=+g[l+(a+p<<3)>>3];c[S>>2]=(L|0)==0?222298:L;g[S+8>>3]=k;AD(o,48,222305,S);a=a+1|0}AD(o,48,222312,T);b=b+1|0}}while(0);Mb=U;return a|0}function md(a,g,h,i,j,k,l,m){a=a|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.0,p=0,q=0,r=0.0,s=0,t=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0.0,X=0,Y=0,Z=0,_=0.0;X=Mb;Mb=Mb+16|0;U=X;s=l+92|0;q=c[s>>2]|0;p=1024/(q|0)|0;V=c[l+80>>2]|0;n=0;while(1){if((n|0)>=(q|0))break;q=e[V+(d[l>>0]<<1)>>1]|0;jv(g+(n<<7<<2)+(q<<2)|0,0,p-q<<2|0)|0;n=n+1|0;q=c[s>>2]|0}O=l+16|0;P=a+5408|0;Q=a+5404|0;R=h+8|0;S=h+16|0;M=g;n=0;N=0;a:while(1){if((N|0)>=(c[O>>2]|0)){p=68;break}T=d[l+20+N>>0]|0;p=0;while(1){if(p>>>0>=(d[l>>0]|0)>>>0)break;s=(c[m+(n<<2)>>2]|0)+-1|0;K=e[V+(p<<1)>>1]|0;q=M+(K<<2)|0;L=p+1|0;K=(e[V+(L<<1)>>1]|0)-K|0;b:do if(s>>>0>12){s=K<<2;p=q;q=0;while(1){if((q|0)==(T|0))break b;jv(p|0,0,s|0)|0;p=p+512|0;q=q+1|0}}else{if((s|0)==12){t=i+(n<<2)|0;s=0;while(1){if((s|0)==(T|0))break b;p=0;while(1){if((p|0)>=(K|0))break;J=(H(c[P>>2]|0,1664525)|0)+1013904223|0;c[P>>2]=J;f[q+(p<<2)>>2]=+(J|0);p=p+1|0}r=+Ub[c[(c[Q>>2]|0)+36>>2]&1](q,q,K);r=+f[t>>2]/+v(+r);fc[c[(c[Q>>2]|0)+12>>2]&7](q,q,r,K);q=q+512|0;s=s+1|0}}F=c[58032+(s<<2)>>2]|0;G=c[58192+(s<<2)>>2]|0;I=c[828e3+(s<<4)+4>>2]|0;p=c[R>>2]|0;J=c[S>>2]|0;c:do switch(s>>>1&2147483647|0){case 0:{A=i+(n<<2)|0;z=0;while(1){if((z|0)==(T|0))break c;x=q;y=K;do{t=c[h>>2]|0;E=t+(p>>>3)|0;E=(W_(d[E>>0]|d[E+1>>0]<<8|d[E+2>>0]<<16|d[E+3>>0]<<24|0)|0)<<(p&7)>>>24;w=b[I+(E<<2)>>1]|0;E=b[I+(E<<2)+2>>1]|0;s=E<<16>>16;if(E<<16>>16<0){p=p+8|0;p=J>>>0>p>>>0?p:J;E=t+(p>>>3)|0;s=((W_(d[E>>0]|d[E+1>>0]<<8|d[E+2>>0]<<16|d[E+3>>0]<<24|0)|0)<<(p&7)>>>(s+32|0))+w|0;w=b[I+(s<<2)>>1]|0;s=b[I+(s<<2)+2>>1]|0}p=p+s|0;p=J>>>0>p>>>0?p:J;x=iK(x,F,e[G+(w<<1)>>1]|0,A)|0;y=y+-4|0}while((y|0)!=0);q=q+512|0;z=z+1|0}}case 1:{B=i+(n<<2)|0;A=0;while(1){if((A|0)==(T|0))break c;y=q;z=K;do{t=c[h>>2]|0;s=t+(p>>>3)|0;s=(W_(d[s>>0]|d[s+1>>0]<<8|d[s+2>>0]<<16|d[s+3>>0]<<24|0)|0)<<(p&7);E=s>>>24;x=b[I+(E<<2)>>1]|0;E=b[I+(E<<2)+2>>1]|0;w=E<<16>>16;if(E<<16>>16<0){p=p+8|0;p=J>>>0>p>>>0?p:J;s=t+(p>>>3)|0;s=(W_(d[s>>0]|d[s+1>>0]<<8|d[s+2>>0]<<16|d[s+3>>0]<<24|0)|0)<<(p&7);t=(s>>>(w+32|0))+x|0;w=b[I+(t<<2)+2>>1]|0;t=b[I+(t<<2)>>1]|0}else t=x;p=p+w|0;D=e[G+(t<<1)>>1]|0;E=D>>>8&15;p=E+(J>>>0>p>>>0?p:J)|0;p=J>>>0>p>>>0?p:J;y=Kx(y,F,D,(E|0)==0?0:s<<w,B)|0;z=z+-4|0}while((z|0)!=0);q=q+512|0;A=A+1|0}}case 2:{A=i+(n<<2)|0;z=0;while(1){if((z|0)==(T|0))break c;x=K;y=q;do{t=c[h>>2]|0;E=t+(p>>>3)|0;E=(W_(d[E>>0]|d[E+1>>0]<<8|d[E+2>>0]<<16|d[E+3>>0]<<24|0)|0)<<(p&7)>>>24;s=b[I+(E<<2)>>1]|0;E=b[I+(E<<2)+2>>1]|0;w=E<<16>>16;if(E<<16>>16<0){p=p+8|0;p=J>>>0>p>>>0?p:J;E=t+(p>>>3)|0;s=((W_(d[E>>0]|d[E+1>>0]<<8|d[E+2>>0]<<16|d[E+3>>0]<<24|0)|0)<<(p&7)>>>(w+32|0))+s|0;w=b[I+(s<<2)+2>>1]|0;s=b[I+(s<<2)>>1]|0}p=p+w|0;p=J>>>0>p>>>0?p:J;y=xT(y,F,e[G+(s<<1)>>1]|0,A)|0;x=x+-2|0}while((x|0)!=0);q=q+512|0;z=z+1|0}}case 4:case 3:{B=i+(n<<2)|0;A=0;while(1){if((A|0)==(T|0))break c;y=K;z=q;do{t=c[h>>2]|0;s=t+(p>>>3)|0;s=(W_(d[s>>0]|d[s+1>>0]<<8|d[s+2>>0]<<16|d[s+3>>0]<<24|0)|0)<<(p&7);E=s>>>24;x=b[I+(E<<2)>>1]|0;E=b[I+(E<<2)+2>>1]|0;w=E<<16>>16;if(E<<16>>16<0){p=p+8|0;p=J>>>0>p>>>0?p:J;s=t+(p>>>3)|0;s=(W_(d[s>>0]|d[s+1>>0]<<8|d[s+2>>0]<<16|d[s+3>>0]<<24|0)|0)<<(p&7);t=(s>>>(w+32|0))+x|0;w=b[I+(t<<2)+2>>1]|0;t=b[I+(t<<2)>>1]|0}else t=x;p=w+p|0;E=e[G+(t<<1)>>1]|0;D=E>>>8&15;p=D+(J>>>0>p>>>0?p:J)|0;p=J>>>0>p>>>0?p:J;z=qJ(z,F,E,(D|0)==0?0:s<<w>>>(32-D|0)<<(E>>>12),B)|0;y=y+-2|0}while((y|0)!=0);q=q+512|0;A=A+1|0}}default:{E=i+(n<<2)|0;C=0;while(1){if(C>>>0>=T>>>0)break c;D=c[h>>2]|0;B=K;s=q;do{x=D+(p>>>3)|0;x=(W_(d[x>>0]|d[x+1>>0]<<8|d[x+2>>0]<<16|d[x+3>>0]<<24|0)|0)<<(p&7);A=x>>>24;w=b[I+(A<<2)>>1]|0;A=b[I+(A<<2)+2>>1]|0;t=A<<16>>16;if(A<<16>>16<0){p=p+8|0;p=J>>>0>p>>>0?p:J;x=D+(p>>>3)|0;x=(W_(d[x>>0]|d[x+1>>0]<<8|d[x+2>>0]<<16|d[x+3>>0]<<24|0)|0)<<(p&7);w=(x>>>(t+32|0))+w|0;t=b[I+(w<<2)+2>>1]|0;w=b[I+(w<<2)>>1]|0}p=t+p|0;p=J>>>0>p>>>0?p:J;d:do if(!w){c[s>>2]=0;c[s+4>>2]=0;s=s+8|0}else{y=e[G+(w<<1)>>1]|0;z=y>>>12;A=y>>>8;w=32-z|0;p=z+p|0;z=0;x=x<<t>>>w<<w;p=J>>>0>p>>>0?p:J;while(1){if(z>>>0>=2)break d;if(!(1<<z&A)){t=c[F+((y&15)<<2)>>2]|0;c[s>>2]=t|x&-2147483648;t=(t|0)!=0&1}else{t=D+(p>>>3)|0;t=(W_(d[t>>0]|d[t+1>>0]<<8|d[t+2>>0]<<16|d[t+3>>0]<<24|0)|0)<<(p&7);Z=~t;w=t>>>0<4294901760;Z=w?Z>>>16:Z;w=w?16:0;Y=(Z&65280|0)==0;w=31-(d[94448+(Y?Z:Z>>>8)>>0]|0)-(Y?w:w|8)|0;if(w>>>0>8){p=66;break a}Y=w+1|0;p=Y+p|0;Z=w+4|0;p=(J>>>0>p>>>0?p:J)+Z|0;c[s>>2]=c[880512+((t<<Y>>>(28-w|0))+(1<<Z)<<2)>>2]|x&-2147483648;p=J>>>0>p>>>0?p:J;t=1}z=z+1|0;x=x<<t;y=y>>>4;s=s+4|0}}while(0);B=B+-2|0}while((B|0)!=0);fc[c[(c[Q>>2]|0)+12>>2]&7](q,q,+f[E>>2],K);q=q+512|0;C=C+1|0}}}while(0);c[R>>2]=p}while(0);p=L;n=n+1|0}M=M+(T<<7<<2)|0;N=N+1|0}e:do if((p|0)==66){AD(c[a+4>>2]|0,16,197356,U);n=-1094995529}else if((p|0)==68)if(!j)n=0;else{t=c[k>>2]|0;s=0;n=0;while(1){if((s|0)>=(t|0)){n=0;break e}q=c[k+8+(s<<2)>>2]|0;w=g+(q<<2)|0;r=+f[w>>2];while(1){p=n+1|0;if((q|0)<(e[V+(p<<1)>>1]|0))break;else n=p}if((c[m+(n<<2)>>2]|0)!=13?(W=+f[i+(n<<2)>>2],W!=0.0):0){o=+(0-(c[k+24+(s<<2)>>2]|0)|0);if(r!=0.0){r=r/W;_=r/+v(+(+v(+(+u(+r)))));o=_+(r>0.0?-o:o)}_=W*(o*+Ky(+u(+o)));f[w>>2]=_}s=s+1|0}}while(0);Mb=X;return n|0}function nd(a,b){a=a|0;b=b|0;var e=0.0,f=0,h=0.0,i=0,j=0.0,k=0.0,l=0,m=0,n=0.0,o=0.0,p=0,q=0.0,s=0;s=Mb;Mb=Mb+16|0;i=s;a:do switch(c[b>>2]|0){case 0:{e=+g[b+8>>3];break}case 1:{e=+g[b+8>>3]*+g[(c[a+12>>2]|0)+(c[b+16>>2]<<3)>>3];break}case 2:{o=+g[b+8>>3];p=c[b+16>>2]|0;q=+nd(a,c[b+20>>2]|0);q=o*+Qb[p&15](q);Mb=s;return +q}case 3:{o=+g[b+8>>3];m=c[b+16>>2]|0;p=c[a+36>>2]|0;q=+nd(a,c[b+20>>2]|0);q=o*+Rb[m&0](p,q);Mb=s;return +q}case 4:{n=+g[b+8>>3];m=c[b+16>>2]|0;p=c[a+36>>2]|0;o=+nd(a,c[b+20>>2]|0);q=+nd(a,c[b+24>>2]|0);q=n*+Sb[m&0](p,o,q);Mb=s;return +q}case 5:{q=1.0/(+E(+(+nd(a,c[b+20>>2]|0)*4.0))+1.0);Mb=s;return +q}case 6:{q=+nd(a,c[b+20>>2]|0);q=+E(+(q*q*-.5))/2.5066282746310002;Mb=s;return +q}case 7:{q=+g[b+8>>3];p=c[a+48>>2]|0;a=~~+nd(a,c[b+20>>2]|0);a=(a|0)<9?a:9;Mb=s;return +(q*+g[p+(((a|0)>0?a:0)<<3)>>3])}case 8:{q=+g[b+8>>3];a=gX(+nd(a,c[b+20>>2]|0))|0;p=(M()|0)&2147483647;Mb=s;return +(q*+((p>>>0>2146435072|(p|0)==2146435072&a>>>0>0)&1))}case 9:{q=+g[b+8>>3]*+((gX(+nd(a,c[b+20>>2]|0))|0)==0&((M()|0)&2147483647|0)==2146435072&1);Mb=s;return +q}case 27:{q=+g[b+8>>3]*+t(+(+nd(a,c[b+20>>2]|0)));Mb=s;return +q}case 28:{q=+g[b+8>>3]*+G(+(+nd(a,c[b+20>>2]|0)));Mb=s;return +q}case 29:{q=+g[b+8>>3]*+rb(+(+nd(a,c[b+20>>2]|0)));Mb=s;return +q}case 30:{q=+g[b+8>>3]*+G0(+(+nd(a,c[b+20>>2]|0)));Mb=s;return +q}case 31:{q=+g[b+8>>3]*+v(+(+nd(a,c[b+20>>2]|0)));Mb=s;return +q}case 32:{q=+g[b+8>>3]*+(+nd(a,c[b+20>>2]|0)==0.0&1);Mb=s;return +q}case 36:{h=+g[b+8>>3];if(!(+nd(a,c[b+20>>2]|0)!=0.0)){f=c[b+28>>2]|0;if(!f)e=0.0;else e=+nd(a,f)}else e=+nd(a,c[b+24>>2]|0);e=h*e;break}case 37:{h=+g[b+8>>3];if(+nd(a,c[b+20>>2]|0)!=0.0){f=c[b+28>>2]|0;if(!f)e=0.0;else e=+nd(a,f)}else e=+nd(a,c[b+24>>2]|0);e=h*e;break}case 42:{f=b+20|0;e=+nd(a,c[f>>2]|0);h=+nd(a,c[b+24>>2]|0);j=+nd(a,c[b+28>>2]|0);p=gX(h)|0;m=(M()|0)&2147483647;if((!(m>>>0>2146435072|(m|0)==2146435072&p>>>0>0)?(p=gX(j)|0,m=(M()|0)&2147483647,!(m>>>0>2146435072|(m|0)==2146435072&p>>>0>0)):0)?(p=gX(e)|0,m=(M()|0)&2147483647,!(h>j|(m>>>0>2146435072|(m|0)==2146435072&p>>>0>0))):0){o=+g[b+8>>3];q=+nd(a,c[f>>2]|0);Mb=s;return +(o*(q<h?h:q>j?j:q))}else e=r;break}case 41:{e=+nd(a,c[b+20>>2]|0);h=+g[b+8>>3];if(!(e>=+nd(a,c[b+24>>2]|0)))e=0.0;else e=+(e<=+nd(a,c[b+28>>2]|0)&1);e=h*e;break}case 44:{q=+nd(a,c[b+20>>2]|0);q=q+(+nd(a,c[b+24>>2]|0)-q)*+nd(a,c[b+28>>2]|0);Mb=s;return +q}case 38:{e=+nd(a,c[b+20>>2]|0);f=c[b+24>>2]|0;if(!f)f=32;else f=~~+nd(a,f);g[i>>3]=e;AD(a,f,217885,i);break}case 33:{p=~~+nd(a,c[b+20>>2]|0);p=(p|0)<9?p:9;a=(c[a+48>>2]|0)+(((p|0)>0?p:0)<<3)|0;q=+g[a>>3];p=gX(q)|0;m=(M()|0)&2147483647;q=+((aX(MR(~~q>>>0|0,(+u(q)>=1.0?(q>0.0?~~+I(+t(q/4294967296.0),4294967295.0)>>>0:~~+G((q-+(~~q>>>0))/4294967296.0)>>>0):0)|0,1664525,0)|0,M()|0,1013904223,0)|0)>>>0)+4294967296.0*+((M()|0)>>>0);q=m>>>0>2146435072|(m|0)==2146435072&p>>>0>0?1013904223.0:q;g[a>>3]=q;Mb=s;return +(+g[b+8>>3]*(q*5.421010862427522e-20))}case 24:{i=b+20|0;f=b+24|0;e=r;while(1){if(!(+nd(a,c[i>>2]|0)!=0.0))break a;e=+nd(a,c[f>>2]|0)}}case 25:{k=+nd(a,c[b+24>>2]|0);f=c[b+28>>2]|0;if(!f)m=0;else{m=~~+nd(a,f);m=(m|0)<9?m:9;m=(m|0)>0?m:0}l=a+48|0;n=+g[(c[l>>2]|0)+(m<<3)>>3];i=b+20|0;h=1.0;e=0.0;f=0;while(1){if(f>>>0>=1e3)break;g[(c[l>>2]|0)+(m<<3)>>3]=+(f|0);q=+nd(a,c[i>>2]|0);j=e+h*q;if(q!=0.0&e==j){e=j;break}p=f+1|0;h=h*(k/+(p|0));e=j;f=p}g[(c[l>>2]|0)+(m<<3)>>3]=n;break}case 26:{p=a+48|0;q=+g[c[p>>2]>>3];o=+nd(a,c[b+24>>2]|0);l=b+20|0;n=1797693134862315708145274.0e284;j=-1797693134862315708145274.0e284;h=-1.0;e=-1.0;i=-1;while(1){if((i|0)>=1024){k=n;break}do if((i|0)>=255){k=o*+w(.9,+(+(i+-255|0)));f=c[p>>2]|0;k=(i&1|0)==0?k:-k;g[f>>3]=k;if(!(i&2)){g[f>>3]=h+k;break}else{g[f>>3]=e+k;break}}else g[c[p>>2]>>3]=o*+(d[151296+(i&255)>>0]|0)/255.0;while(0);k=+nd(a,c[l>>2]|0);if(k<=0.0&k>j){j=k;e=+g[c[p>>2]>>3]}if(k>=0.0&k<n)h=+g[c[p>>2]>>3];else k=n;if(e>=0.0&h>=0.0){m=62;break}else{n=k;i=i+1|0}}b:do if((m|0)==62){f=0;while(1){if(f>>>0>=1e3)break b;o=(e+h)*.5;g[c[p>>2]>>3]=o;if(e==o|h==o)break b;n=+nd(a,c[l>>2]|0);if(n<=0.0)e=+g[c[p>>2]>>3];if(n>=0.0)h=+g[c[p>>2]>>3];b=gX(n)|0;m=(M()|0)&2147483647;if(m>>>0>2146435072|(m|0)==2146435072&b>>>0>0){h=n;e=n;break}else f=f+1|0}}while(0);g[c[p>>2]>>3]=q;e=k>-j?e:h;break}default:{e=+nd(a,c[b+20>>2]|0);h=+nd(a,c[b+24>>2]|0);do switch(c[b>>2]|0){case 10:{e=(e-h*+t(+(e/h)))*+g[b+8>>3];break a}case 35:{e=+g[b+8>>3]*(+((Vk(~~e>>>0,+u(e)>=1.0?(e>0.0?~~+I(+t(e/4294967296.0),4294967295.0)>>>0:~~+G((e-+(~~e>>>0))/4294967296.0)>>>0):0,~~h>>>0,+u(h)>=1.0?(h>0.0?~~+I(+t(h/4294967296.0),4294967295.0)>>>0:~~+G((h-+(~~h>>>0))/4294967296.0)>>>0):0)|0)>>>0)+4294967296.0*+(M()|0));break a}case 11:{e=(e>h?e:h)*+g[b+8>>3];break a}case 12:{e=(e<h?e:h)*+g[b+8>>3];break a}case 13:{e=(e==h?1.0:0.0)*+g[b+8>>3];break a}case 14:{e=(e>h?1.0:0.0)*+g[b+8>>3];break a}case 15:{e=(e>=h?1.0:0.0)*+g[b+8>>3];break a}case 17:{e=(e<h?1.0:0.0)*+g[b+8>>3];break a}case 16:{e=(e<=h?1.0:0.0)*+g[b+8>>3];break a}case 18:{e=+w(+e,+h)*+g[b+8>>3];break a}case 19:{e=e*h*+g[b+8>>3];break a}case 20:{e=e/h*+g[b+8>>3];break a}case 21:{e=(e+h)*+g[b+8>>3];break a}case 22:{e=h*+g[b+8>>3];break a}case 23:{q=+g[b+8>>3];p=~~e;p=(p|0)<9?p:9;g[(c[a+48>>2]|0)+(((p|0)>0?p:0)<<3)>>3]=h;e=h*q;break a}case 34:{e=+g[b+8>>3]*+ho(e,h);break a}case 43:{e=+g[b+8>>3]*+D(+e,+h);break a}case 39:{a=gX(e)|0;p=(M()|0)&2147483647;if(p>>>0>2146435072|(p|0)==2146435072&a>>>0>0){e=r;break a}a=gX(h)|0;p=(M()|0)&2147483647;if(p>>>0>2146435072|(p|0)==2146435072&a>>>0>0){e=r;break a}e=+g[b+8>>3]*+(~~h&~~e|0);break a}case 40:{a=gX(e)|0;p=(M()|0)&2147483647;if(p>>>0>2146435072|(p|0)==2146435072&a>>>0>0){e=r;break a}a=gX(h)|0;p=(M()|0)&2147483647;if(p>>>0>2146435072|(p|0)==2146435072&a>>>0>0){e=r;break a}e=+g[b+8>>3]*+(~~h|~~e|0);break a}default:{e=r;break a}}while(0)}}while(0);Mb=s;return +e}function od(b,e,f,g,h,i){b=b|0;e=+e;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=Mb;Mb=Mb+560|0;l=F+32|0;u=F+536|0;E=F;D=E;m=F+540|0;c[u>>2]=0;C=m+12|0;gX(e)|0;j=M()|0;if((j|0)<0){e=-e;gX(e)|0;B=1;A=222735;j=M()|0}else{B=(h&2049|0)!=0&1;A=(h&2048|0)==0?((h&1|0)==0?222736:222741):222738}do if(0==0&(j&2146435072|0)==2146435072){E=(i&32|0)!=0;j=B+3|0;oC(b,32,f,j,h&-65537);QY(b,A,B);QY(b,e!=e|0.0!=0.0?(E?222762:222766):E?222754:222758,3);oC(b,32,f,j,h^8192)}else{q=+Wz(e,u)*2.0;j=q!=0.0;if(j)c[u>>2]=(c[u>>2]|0)+-1;t=i|32;if((t|0)==97){o=i&32;r=(o|0)==0?A:A+9|0;p=B|2;j=12-g|0;do if(!(g>>>0>11|(j|0)==0)){e=8.0;do{j=j+-1|0;e=e*16.0}while((j|0)!=0);if((a[r>>0]|0)==45){e=-(e+(-q-e));break}else{e=q+e-e;break}}else e=q;while(0);k=c[u>>2]|0;j=(k|0)<0?0-k|0:k;j=Cy(j,((j|0)<0)<<31>>31,C)|0;if((j|0)==(C|0)){j=m+11|0;a[j>>0]=48}a[j+-1>>0]=(k>>31&2)+43;n=j+-2|0;a[n>>0]=i+15;k=(g|0)<1;l=(h&8|0)==0;m=E;do{B=~~e;j=m+1|0;a[m>>0]=o|d[160976+B>>0];e=(e-+(B|0))*16.0;if((j-D|0)==1?!(l&(k&e==0.0)):0){a[j>>0]=46;m=m+2|0}else m=j}while(e!=0.0);if((g|0)!=0?(-2-D+m|0)<(g|0):0){k=C;l=n;j=g+2+k-l|0}else{k=C;l=n;j=k-D-l+m|0}C=j+p|0;oC(b,32,f,C,h);QY(b,r,p);oC(b,48,f,C,h^65536);D=m-D|0;QY(b,E,D);E=k-l|0;oC(b,48,j-(D+E)|0,0,0);QY(b,n,E);oC(b,32,f,C,h^8192);j=C;break}k=(g|0)<0?6:g;if(j){j=(c[u>>2]|0)+-28|0;c[u>>2]=j;e=q*268435456.0}else{e=q;j=c[u>>2]|0}z=(j|0)<0?l:l+288|0;l=z;do{x=~~e>>>0;c[l>>2]=x;l=l+4|0;e=(e-+(x>>>0))*1.0e9}while(e!=0.0);x=z;if((j|0)>0){o=z;while(1){n=(j|0)<29?j:29;j=l+-4|0;if(j>>>0>=o>>>0){m=0;do{s=_U(c[j>>2]|0,0,n|0)|0;s=aX(s|0,M()|0,m|0,0)|0;v=M()|0;m=H_(s|0,v|0,1e9,0)|0;w=MR(m|0,M()|0,1e9,0)|0;w=_W(s|0,v|0,w|0,M()|0)|0;M()|0;c[j>>2]=w;j=j+-4|0}while(j>>>0>=o>>>0);if(m){w=o+-4|0;c[w>>2]=m;m=w}else m=o}else m=o;a:do if(l>>>0>m>>>0){j=l;while(1){l=j+-4|0;if(c[l>>2]|0){l=j;break a}if(l>>>0>m>>>0)j=l;else break}}while(0);j=(c[u>>2]|0)-n|0;c[u>>2]=j;if((j|0)>0)o=m;else break}}else m=z;if((j|0)<0){g=((k+25|0)/9|0)+1|0;s=(t|0)==102;do{r=0-j|0;r=(r|0)<9?r:9;if(m>>>0<l>>>0){n=(1<<r)+-1|0;o=1e9>>>r;p=0;j=m;do{w=c[j>>2]|0;c[j>>2]=(w>>>r)+p;p=H(w&n,o)|0;j=j+4|0}while(j>>>0<l>>>0);m=(c[m>>2]|0)==0?m+4|0:m;if(p){c[l>>2]=p;l=l+4|0}}else m=(c[m>>2]|0)==0?m+4|0:m;j=s?z:m;l=(l-j>>2|0)>(g|0)?j+(g<<2)|0:l;j=(c[u>>2]|0)+r|0;c[u>>2]=j}while((j|0)<0);s=m}else s=m;if(s>>>0<l>>>0){j=(x-s>>2)*9|0;n=c[s>>2]|0;if(n>>>0>=10){m=10;do{m=m*10|0;j=j+1|0}while(n>>>0>=m>>>0)}}else j=0;v=(t|0)==103;w=(k|0)!=0;m=k-((t|0)==102?0:j)+((w&v)<<31>>31)|0;if((m|0)<(((l-x>>2)*9|0)+-9|0)){u=m+9216|0;m=(u|0)/9|0;g=z+4+(m+-1024<<2)|0;m=u-(m*9|0)|0;if((m|0)<8){n=10;while(1){n=n*10|0;if((m|0)<7)m=m+1|0;else break}}else n=10;p=c[g>>2]|0;m=(p>>>0)/(n>>>0)|0;r=p-(H(m,n)|0)|0;o=(g+4|0)==(l|0);if(!(o&(r|0)==0)){q=(m&1|0)==0?9007199254740992.0:9007199254740994.0;u=n>>>1;e=r>>>0<u>>>0?.5:o&(r|0)==(u|0)?1.0:1.5;if(B){u=(a[A>>0]|0)==45;e=u?-e:e;q=u?-q:q}m=p-r|0;c[g>>2]=m;if(q+e!=q){u=m+n|0;c[g>>2]=u;if(u>>>0>999999999){n=g;j=s;while(1){m=n+-4|0;c[n>>2]=0;if(m>>>0<j>>>0){j=j+-4|0;c[j>>2]=0}u=(c[m>>2]|0)+1|0;c[m>>2]=u;if(u>>>0>999999999)n=m;else{n=j;break}}}else{m=g;n=s}j=(x-n>>2)*9|0;p=c[n>>2]|0;if(p>>>0>=10){o=10;do{o=o*10|0;j=j+1|0}while(p>>>0>=o>>>0)}}else{m=g;n=s}}else{m=g;n=s}u=m+4|0;l=l>>>0>u>>>0?u:l}else n=s;g=0-j|0;b:do if(l>>>0>n>>>0)while(1){m=l+-4|0;if(c[m>>2]|0){u=l;t=1;break b}if(m>>>0>n>>>0)l=m;else{u=m;t=0;break}}else{u=l;t=0}while(0);do if(v){k=k+((w^1)&1)|0;if((k|0)>(j|0)&(j|0)>-5){o=i+-1|0;k=k+-1-j|0}else{o=i+-2|0;k=k+-1|0}if(!(h&8)){if(t?(y=c[u+-4>>2]|0,(y|0)!=0):0)if(!((y>>>0)%10|0)){m=0;l=10;do{l=l*10|0;m=m+1|0}while(!((y>>>0)%(l>>>0)|0|0))}else m=0;else m=9;l=((u-x>>2)*9|0)+-9|0;if((o|32|0)==102){i=l-m|0;i=(i|0)>0?i:0;k=(k|0)<(i|0)?k:i;break}else{i=l+j-m|0;i=(i|0)>0?i:0;k=(k|0)<(i|0)?k:i;break}}}else o=i;while(0);s=(k|0)!=0;p=s?1:h>>>3&1;r=(o|32|0)==102;if(r){v=0;j=(j|0)>0?j:0}else{l=(j|0)<0?g:j;l=Cy(l,((l|0)<0)<<31>>31,C)|0;m=C;if((m-l|0)<2)do{l=l+-1|0;a[l>>0]=48}while((m-l|0)<2);a[l+-1>>0]=(j>>31&2)+43;j=l+-2|0;a[j>>0]=o;v=j;j=m-j|0}j=B+1+k+p+j|0;oC(b,32,f,j,h);QY(b,A,B);oC(b,48,f,j,h^65536);if(r){p=n>>>0>z>>>0?z:n;r=E+9|0;n=r;o=E+8|0;m=p;do{l=Cy(c[m>>2]|0,0,r)|0;if((m|0)==(p|0)){if((l|0)==(r|0)){a[o>>0]=48;l=o}}else if(l>>>0>E>>>0){jv(E|0,48,l-D|0)|0;do l=l+-1|0;while(l>>>0>E>>>0)}QY(b,l,n-l|0);m=m+4|0}while(m>>>0<=z>>>0);if(!((h&8|0)==0&(s^1)))QY(b,222770,1);if(m>>>0<u>>>0&(k|0)>0)while(1){l=Cy(c[m>>2]|0,0,r)|0;if(l>>>0>E>>>0){jv(E|0,48,l-D|0)|0;do l=l+-1|0;while(l>>>0>E>>>0)}QY(b,l,(k|0)<9?k:9);m=m+4|0;l=k+-9|0;if(!(m>>>0<u>>>0&(k|0)>9)){k=l;break}else k=l}oC(b,48,k+9|0,9,0)}else{u=t?u:n+4|0;if(n>>>0<u>>>0&(k|0)>-1){g=E+9|0;s=(h&8|0)==0;t=g;p=0-D|0;r=E+8|0;o=n;do{l=Cy(c[o>>2]|0,0,g)|0;if((l|0)==(g|0)){a[r>>0]=48;l=r}do if((o|0)==(n|0)){m=l+1|0;QY(b,l,1);if(s&(k|0)<1){l=m;break}QY(b,222770,1);l=m}else{if(l>>>0<=E>>>0)break;jv(E|0,48,l+p|0)|0;do l=l+-1|0;while(l>>>0>E>>>0)}while(0);D=t-l|0;QY(b,l,(k|0)>(D|0)?D:k);k=k-D|0;o=o+4|0}while(o>>>0<u>>>0&(k|0)>-1)}oC(b,48,k+18|0,18,0);QY(b,v,C-v|0)}oC(b,32,f,j,h^8192)}while(0);Mb=F;return ((j|0)<(f|0)?f:j)|0}function pd(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;I=Mb;Mb=Mb+128|0;t=I+24|0;y=I+16|0;v=I+8|0;u=I;H=I+48|0;s=I+40|0;E=I+32|0;F=c[b>>2]|0;h=H;i=h+72|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(i|0));if((g|0)>3)p=(AE(174384,f,4)|0)==0;else p=0;w=b+32|0;c[w>>2]=1;x=b+224|0;c[x>>2]=0;D=b+312|0;c[D>>2]=0;C=F+1388|0;sQ(C);c[F+1572>>2]=-1;a:do if(g|0){c[s>>2]=0;m=F+1636|0;z=H+28|0;n=H+12|0;o=H+8|0;B=H+68|0;A=H+48|0;q=F+40|0;r=H+16|0;i=(c[F+1632>>2]|0)==0?g:0;h=0;b:while(1){while(1){if((h|0)>=(i|0)){G=7;break}h=OP(f,g,h,i)|0;if((h|0)>=(g|0)){G=112;break b}if((h|0)<(i|0)){G=11;break}}if((G|0)==7){G=0;c[s>>2]=h;h=Kz(c[m>>2]|0,f,g,s,e)|0;if((h|0)<0){G=113;break}k=c[s>>2]|0;l=k+h|0;h=k}else if((G|0)==11){G=0;c[s>>2]=h;l=i}i=l-h|0;k=f+h|0;J=a[k>>0]|0;j=J&255;c:do switch(J&31){case 5:case 1:if((j&31|0)==5|(j&96|0)==0){i=(i|0)<60?i:60;break c}else{i=(i|0)<1e3?i:1e3;break c}default:{}}while(0);i=mg(k,i,H,1)|0;if((i|0)<0){G=113;break}h=i+h|0;c[s>>2]=h;if((XY(z,c[n>>2]|0,c[o>>2]|0)|0)<0)break;wV(z)|0;J=UN(z,2)|0;c[B>>2]=J;J=UN(z,5)|0;c[A>>2]=J;switch(J|0){case 5:{G=23;break b}case 1:{G=24;break b}case 7:{td(z,e,q,0)|0;break}case 8:{te(z,e,q,c[r>>2]|0)|0;break}case 6:{fj(C,z,q,e)|0;break}default:{}}i=l}if((G|0)==23){c[x>>2]=1;c[F+1384>>2]=0;c[F+1380>>2]=0;c[F+1372>>2]=0;c[F+1368>>2]=0;G=24}else if((G|0)==112){c[s>>2]=h;G=113}do if((G|0)==24){mO(z)|0;J=174324+(((RK(z)|0)>>>0)%5|0)|0;c[w>>2]=d[J>>0];if((c[F+1428>>2]|0)>-1)c[x>>2]=1;h=uv(z)|0;if(h>>>0>255){c[u>>2]=h;AD(e,16,209079,u);break}i=F+168+(h<<2)|0;if(!(c[i>>2]|0)){c[v>>2]=h;AD(e,16,209103,v);break}J=F+1192|0;F$(J);j=F+1196|0;F$(j);l=F+1200|0;c[l>>2]=0;k=F+1204|0;c[k>>2]=0;h=FP(c[i>>2]|0)|0;c[J>>2]=h;if(h|0){h=c[h+4>>2]|0;c[l>>2]=h;h=c[h>>2]|0;i=c[F+40+(h<<2)>>2]|0;if(!i){c[y>>2]=h;AD(e,16,209135,y);break}h=FP(i)|0;c[j>>2]=h;if(h|0){n=c[h+4>>2]|0;c[k>>2]=n;if(((c[n+48>>2]|0)<2?(c[(c[l>>2]|0)+20>>2]|0)>>>0<2:0)?(c[w>>2]|0)==1:0)c[x>>2]=1;h=UN(z,c[n+20>>2]|0)|0;m=F+1344|0;o=F+1364|0;c[o>>2]=h;h=c[n+56>>2]<<4;c[b+328>>2]=h;i=c[n+60>>2]<<4;c[b+332>>2]=i;y=h-(c[n+84>>2]|0)-(c[n+80>>2]|0)|0;j=b+320|0;c[j>>2]=y;J=i-(c[n+88>>2]|0)-(c[n+92>>2]|0)|0;k=b+324|0;c[k>>2]=J;if((y|0)<1|(J|0)<1){c[j>>2]=h;c[k>>2]=i}d:do switch(c[n+1184>>2]|0){case 9:{h=c[n+12>>2]|0;if((h|0)==3){c[b+336>>2]=76;break d}i=b+336|0;if((h|0)==2){c[i>>2]=80;break d}else{c[i>>2]=70;break d}}case 10:{h=c[n+12>>2]|0;if((h|0)==3){c[b+336>>2]=78;break d}i=b+336|0;if((h|0)==2){c[i>>2]=74;break d}else{c[i>>2]=72;break d}}case 8:{h=c[n+12>>2]|0;if((h|0)==3){c[b+336>>2]=5;break d}i=b+336|0;if((h|0)==2){c[i>>2]=4;break d}else{c[i>>2]=0;break d}}default:c[b+336>>2]=-1}while(0);J=oP(n)|0;c[e+828>>2]=J;c[e+832>>2]=c[n+8>>2];if((c[n+64>>2]|0)==0?(wV(z)|0)!=0:0)h=(wV(z)|0)+1|0;else h=3;c[F+1644>>2]=h;if((c[A>>2]|0)==5)mO(z)|0;i=n+24|0;h=c[i>>2]|0;if(!h){J=UN(z,c[n+28>>2]|0)|0;c[m>>2]=J;if((c[(c[l>>2]|0)+8>>2]|0)==1?(c[F+1644>>2]|0)==3:0){J=Nv(z)|0;c[F+1352>>2]=J}h=c[i>>2]|0}if((((h|0)==1?(c[n+32>>2]|0)==0:0)?(J=Nv(z)|0,c[F+1356>>2]=J,(c[(c[l>>2]|0)+8>>2]|0)==1):0)?(c[F+1644>>2]|0)==3:0){J=Nv(z)|0;c[F+1360>>2]=J}l=E+4|0;c[l>>2]=2147483647;c[E>>2]=2147483647;k=F+1644|0;aj(E,b+316|0,n,m,c[k>>2]|0,c[B>>2]|0)|0;if(!((c[B>>2]|0)==0|(c[A>>2]|0)==5)){h=Hh(b,z,e)|0;if((h|0)<0)break;if(h){h=0;i=0;j=1}else G=75}else G=75;if((G|0)==75){h=c[o>>2]|0;i=c[F+1376>>2]|0;j=0}c[F+1384>>2]=h;c[F+1380>>2]=i;if(c[B>>2]|0){if(j){c[F+1368>>2]=0;h=(c[k>>2]|0)==2?0:c[E>>2]|0}else{c[F+1368>>2]=c[F+1348>>2];h=c[m>>2]|0}c[F+1372>>2]=h}i=(c[n+1160>>2]|0)==0;e:do if(i)G=89;else{if(!(c[C>>2]|0)){G=89;break}switch(c[F+1392>>2]|0){case 2:case 1:{h=0;break e}case 4:case 3:case 0:{h=1;break e}case 6:case 5:{h=2;break e}case 7:{h=3;break e}case 8:{h=5;break e}default:{h=(c[k>>2]|0)==3&1;break e}}}while(0);if((G|0)==89)h=(c[k>>2]|0)==3&1;c[b+36>>2]=h;h=c[k>>2]|0;f:do switch(h|0){case 3:{c[D>>2]=3;do if(!i){if(!(c[C>>2]|0))break;switch(c[F+1392>>2]|0){case 5:case 3:{c[b+308>>2]=2;break f}case 6:case 4:{c[b+308>>2]=3;break f}default:{c[b+308>>2]=1;break f}}}while(0);j=c[E>>2]|0;i=c[l>>2]|0;if((j|0)<(i|0)){c[b+308>>2]=2;break f}h=b+308|0;if((j|0)>(i|0)){c[h>>2]=3;break f}else{c[h>>2]=1;break f}}case 1:{m=h;G=103;break}default:{m=2;G=103}}while(0);if((G|0)==103){c[D>>2]=m;k=c[o>>2]|0;l=F+1672|0;i=F+1676|0;g:do if((k|0)==(c[l>>2]|0)){j=c[i>>2]|0;switch(j|0){case 3:case 0:{G=109;break g}default:{}}if((j|0)==(m|0)){G=109;break}h=b+308|0;if((j|0)==1){c[h>>2]=2;break}else{c[h>>2]=3;break}}else G=109;while(0);if((G|0)==109)c[b+308>>2]=0;c[i>>2]=m;c[l>>2]=k}bU(H);break a}}}else if((G|0)==113)if(p){bU(H);break a}else{c[t>>2]=g;AD(e,16,172562,t);break}while(0);bU(H)}while(0);Mb=I;return}function qd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0;switch(b|0){case 9:{b=330;d=334;e=338;f=342;g=331;h=335;i=339;j=343;k=332;l=336;m=340;n=344;o=333;p=337;q=341;r=345;s=362;t=366;u=370;v=374;w=363;x=367;y=371;z=375;A=364;B=368;C=372;D=376;E=365;F=369;G=373;H=377;I=346;J=350;K=354;L=358;M=347;N=351;O=355;P=359;Q=348;R=352;S=356;T=360;U=349;V=353;W=357;X=361;Y=266;Z=270;_=274;$=278;aa=267;ba=271;ca=275;da=279;ea=268;fa=272;ga=276;ha=280;ia=269;ja=273;ka=277;la=281;ma=314;na=318;oa=322;pa=326;qa=315;ra=319;sa=323;ta=327;ua=316;va=320;wa=324;xa=328;ya=317;za=321;Aa=325;Ba=329;Ca=298;Da=302;Ea=306;Fa=310;Ga=299;Ha=303;Ia=307;Ja=311;Ka=300;La=304;Ma=308;Na=312;Oa=301;Pa=305;Qa=309;Ra=313;Sa=282;Ta=286;Ua=290;Va=294;Wa=283;Xa=287;Ya=291;Za=295;_a=284;$a=288;ab=292;bb=296;cb=285;db=289;eb=293;fb=297;break}case 10:{b=442;d=446;e=450;f=454;g=443;h=447;i=451;j=455;k=444;l=448;m=452;n=456;o=445;p=449;q=453;r=457;s=474;t=478;u=482;v=486;w=475;x=479;y=483;z=487;A=476;B=480;C=484;D=488;E=477;F=481;G=485;H=489;I=458;J=462;K=466;L=470;M=459;N=463;O=467;P=471;Q=460;R=464;S=468;T=472;U=461;V=465;W=469;X=473;Y=378;Z=382;_=386;$=390;aa=379;ba=383;ca=387;da=391;ea=380;fa=384;ga=388;ha=392;ia=381;ja=385;ka=389;la=393;ma=426;na=430;oa=434;pa=438;qa=427;ra=431;sa=435;ta=439;ua=428;va=432;wa=436;xa=440;ya=429;za=433;Aa=437;Ba=441;Ca=410;Da=414;Ea=418;Fa=422;Ga=411;Ha=415;Ia=419;Ja=423;Ka=412;La=416;Ma=420;Na=424;Oa=413;Pa=417;Qa=421;Ra=425;Sa=394;Ta=398;Ua=402;Va=406;Wa=395;Xa=399;Ya=403;Za=407;_a=396;$a=400;ab=404;bb=408;cb=397;db=401;eb=405;fb=409;break}case 12:{b=554;d=558;e=562;f=566;g=555;h=559;i=563;j=567;k=556;l=560;m=564;n=568;o=557;p=561;q=565;r=569;s=586;t=590;u=594;v=598;w=587;x=591;y=595;z=599;A=588;B=592;C=596;D=600;E=589;F=593;G=597;H=601;I=570;J=574;K=578;L=582;M=571;N=575;O=579;P=583;Q=572;R=576;S=580;T=584;U=573;V=577;W=581;X=585;Y=490;Z=494;_=498;$=502;aa=491;ba=495;ca=499;da=503;ea=492;fa=496;ga=500;ha=504;ia=493;ja=497;ka=501;la=505;ma=538;na=542;oa=546;pa=550;qa=539;ra=543;sa=547;ta=551;ua=540;va=544;wa=548;xa=552;ya=541;za=545;Aa=549;Ba=553;Ca=522;Da=526;Ea=530;Fa=534;Ga=523;Ha=527;Ia=531;Ja=535;Ka=524;La=528;Ma=532;Na=536;Oa=525;Pa=529;Qa=533;Ra=537;Sa=506;Ta=510;Ua=514;Va=518;Wa=507;Xa=511;Ya=515;Za=519;_a=508;$a=512;ab=516;bb=520;cb=509;db=513;eb=517;fb=521;break}case 14:{b=666;d=670;e=674;f=678;g=667;h=671;i=675;j=679;k=668;l=672;m=676;n=680;o=669;p=673;q=677;r=681;s=698;t=702;u=706;v=710;w=699;x=703;y=707;z=711;A=700;B=704;C=708;D=712;E=701;F=705;G=709;H=713;I=682;J=686;K=690;L=694;M=683;N=687;O=691;P=695;Q=684;R=688;S=692;T=696;U=685;V=689;W=693;X=697;Y=602;Z=606;_=610;$=614;aa=603;ba=607;ca=611;da=615;ea=604;fa=608;ga=612;ha=616;ia=605;ja=609;ka=613;la=617;ma=650;na=654;oa=658;pa=662;qa=651;ra=655;sa=659;ta=663;ua=652;va=656;wa=660;xa=664;ya=653;za=657;Aa=661;Ba=665;Ca=634;Da=638;Ea=642;Fa=646;Ga=635;Ha=639;Ia=643;Ja=647;Ka=636;La=640;Ma=644;Na=648;Oa=637;Pa=641;Qa=645;Ra=649;Sa=618;Ta=622;Ua=626;Va=630;Wa=619;Xa=623;Ya=627;Za=631;_a=620;$a=624;ab=628;bb=632;cb=621;db=625;eb=629;fb=633;break}default:{b=218;d=222;e=226;f=230;g=219;h=223;i=227;j=231;k=220;l=224;m=228;n=232;o=221;p=225;q=229;r=233;s=250;t=254;u=258;v=262;w=251;x=255;y=259;z=263;A=252;B=256;C=260;D=264;E=253;F=257;G=261;H=265;I=234;J=238;K=242;L=246;M=235;N=239;O=243;P=247;Q=236;R=240;S=244;T=248;U=237;V=241;W=245;X=249;Y=154;Z=158;_=162;$=166;aa=155;ba=159;ca=163;da=167;ea=156;fa=160;ga=164;ha=168;ia=157;ja=161;ka=165;la=169;ma=202;na=206;oa=210;pa=214;qa=203;ra=207;sa=211;ta=215;ua=204;va=208;wa=212;xa=216;ya=205;za=209;Aa=213;Ba=217;Ca=186;Da=190;Ea=194;Fa=198;Ga=187;Ha=191;Ia=195;Ja=199;Ka=188;La=192;Ma=196;Na=200;Oa=189;Pa=193;Qa=197;Ra=201;Sa=170;Ta=174;Ua=178;Va=182;Wa=171;Xa=175;Ya=179;Za=183;_a=172;$a=176;ab=180;bb=184;cb=173;db=177;eb=181;fb=185}}c[a>>2]=Y;c[a+4>>2]=aa;c[a+8>>2]=ea;c[a+12>>2]=ia;c[a+16>>2]=Z;c[a+20>>2]=ba;c[a+24>>2]=fa;c[a+28>>2]=ja;c[a+32>>2]=_;c[a+36>>2]=ca;c[a+40>>2]=ga;c[a+44>>2]=ka;c[a+48>>2]=$;c[a+52>>2]=da;c[a+56>>2]=ha;c[a+60>>2]=la;c[a+64>>2]=Sa;c[a+68>>2]=Wa;c[a+72>>2]=_a;c[a+76>>2]=cb;c[a+80>>2]=Ta;c[a+84>>2]=Xa;c[a+88>>2]=$a;c[a+92>>2]=db;c[a+96>>2]=Ua;c[a+100>>2]=Ya;c[a+104>>2]=ab;c[a+108>>2]=eb;c[a+112>>2]=Va;c[a+116>>2]=Za;c[a+120>>2]=bb;c[a+124>>2]=fb;c[a+128>>2]=Ca;c[a+132>>2]=Ga;c[a+136>>2]=Ka;c[a+140>>2]=Oa;c[a+144>>2]=Da;c[a+148>>2]=Ha;c[a+152>>2]=La;c[a+156>>2]=Pa;c[a+160>>2]=Ea;c[a+164>>2]=Ia;c[a+168>>2]=Ma;c[a+172>>2]=Qa;c[a+176>>2]=Fa;c[a+180>>2]=Ja;c[a+184>>2]=Na;c[a+188>>2]=Ra;c[a+192>>2]=ma;c[a+196>>2]=qa;c[a+200>>2]=ua;c[a+204>>2]=ya;c[a+208>>2]=na;c[a+212>>2]=ra;c[a+216>>2]=va;c[a+220>>2]=za;c[a+224>>2]=oa;c[a+228>>2]=sa;c[a+232>>2]=wa;c[a+236>>2]=Aa;c[a+240>>2]=pa;c[a+244>>2]=ta;c[a+248>>2]=xa;c[a+252>>2]=Ba;c[a+256>>2]=b;c[a+260>>2]=g;c[a+264>>2]=k;c[a+268>>2]=o;c[a+272>>2]=d;c[a+276>>2]=h;c[a+280>>2]=l;c[a+284>>2]=p;c[a+288>>2]=e;c[a+292>>2]=i;c[a+296>>2]=m;c[a+300>>2]=q;c[a+304>>2]=f;c[a+308>>2]=j;c[a+312>>2]=n;c[a+316>>2]=r;c[a+320>>2]=I;c[a+324>>2]=M;c[a+328>>2]=Q;c[a+332>>2]=U;c[a+336>>2]=J;c[a+340>>2]=N;c[a+344>>2]=R;c[a+348>>2]=V;c[a+352>>2]=K;c[a+356>>2]=O;c[a+360>>2]=S;c[a+364>>2]=W;c[a+368>>2]=L;c[a+372>>2]=P;c[a+376>>2]=T;c[a+380>>2]=X;c[a+384>>2]=s;c[a+388>>2]=w;c[a+392>>2]=A;c[a+396>>2]=E;c[a+400>>2]=t;c[a+404>>2]=x;c[a+408>>2]=B;c[a+412>>2]=F;c[a+416>>2]=u;c[a+420>>2]=y;c[a+424>>2]=C;c[a+428>>2]=G;c[a+432>>2]=v;c[a+436>>2]=z;c[a+440>>2]=D;c[a+444>>2]=H;return}function rd(d,e,f,h,i,j,k){d=d|0;e=e|0;f=f|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,r=0,s=0,t=0,u=0,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;I=Mb;Mb=Mb+64|0;F=I+56|0;H=I+40|0;A=I;C=I+48|0;D=I+60|0;c[F>>2]=e;x=(d|0)!=0;y=A+40|0;z=y;A=A+39|0;B=C+4|0;l=0;e=0;n=0;a:while(1){do{do if((e|0)>-1)if((l|0)>(2147483647-e|0)){e=j2()|0;c[e>>2]=75;e=-1;break}else{e=l+e|0;break}while(0);r=c[F>>2]|0;l=a[r>>0]|0;if(!(l<<24>>24)){w=92;break a}m=r;b:while(1){switch(l<<24>>24){case 37:{w=10;break b}case 0:{l=m;break b}default:{}}v=m+1|0;c[F>>2]=v;l=a[v>>0]|0;m=v}c:do if((w|0)==10){w=0;l=m;do{if((a[m+1>>0]|0)!=37)break c;l=l+1|0;m=m+2|0;c[F>>2]=m}while((a[m>>0]|0)==37)}while(0);l=l-r|0;if(x)QY(d,r,l)}while((l|0)!=0);v=(n1(a[(c[F>>2]|0)+1>>0]|0)|0)==0;m=c[F>>2]|0;if(!v?(a[m+2>>0]|0)==36:0){t=(a[m+1>>0]|0)+-48|0;p=1;l=3}else{t=-1;p=n;l=1}l=m+l|0;c[F>>2]=l;m=a[l>>0]|0;n=(m<<24>>24)+-32|0;if(n>>>0>31|(1<<n&75913|0)==0)o=0;else{o=0;do{o=1<<n|o;l=l+1|0;c[F>>2]=l;m=a[l>>0]|0;n=(m<<24>>24)+-32|0}while(!(n>>>0>31|(1<<n&75913|0)==0))}if(m<<24>>24==42){if((n1(a[l+1>>0]|0)|0)!=0?(G=c[F>>2]|0,(a[G+2>>0]|0)==36):0){l=G+1|0;c[i+((a[l>>0]|0)+-48<<2)>>2]=10;l=c[h+((a[l>>0]|0)+-48<<3)>>2]|0;n=1;m=G+3|0}else{if(p|0){e=-1;break}if(x){v=(c[f>>2]|0)+(4-1)&~(4-1);l=c[v>>2]|0;c[f>>2]=v+4}else l=0;n=0;m=(c[F>>2]|0)+1|0}c[F>>2]=m;v=(l|0)<0;u=v?0-l|0:l;o=v?o|8192:o;v=n}else{l=tM(F)|0;if((l|0)<0){e=-1;break}u=l;v=p;m=c[F>>2]|0}do if((a[m>>0]|0)==46){l=m+1|0;if((a[l>>0]|0)!=42){c[F>>2]=l;l=tM(F)|0;m=c[F>>2]|0;break}if(n1(a[m+2>>0]|0)|0?(E=c[F>>2]|0,(a[E+3>>0]|0)==36):0){l=E+2|0;c[i+((a[l>>0]|0)+-48<<2)>>2]=10;l=c[h+((a[l>>0]|0)+-48<<3)>>2]|0;m=E+4|0;c[F>>2]=m;break}if(v|0){e=-1;break a}if(x){s=(c[f>>2]|0)+(4-1)&~(4-1);l=c[s>>2]|0;c[f>>2]=s+4}else l=0;m=(c[F>>2]|0)+2|0;c[F>>2]=m}else l=-1;while(0);s=0;while(1){if(((a[m>>0]|0)+-65|0)>>>0>57){e=-1;break a}n=m;m=m+1|0;c[F>>2]=m;n=a[(a[n>>0]|0)+-65+(160512+(s*58|0))>>0]|0;p=n&255;if((p+-1|0)>>>0>=8)break;else s=p}if(!(n<<24>>24)){e=-1;break}q=(t|0)>-1;do if(n<<24>>24==19)if(q){e=-1;break a}else w=54;else{if(q){c[i+(t<<2)>>2]=p;q=h+(t<<3)|0;t=c[q+4>>2]|0;w=H;c[w>>2]=c[q>>2];c[w+4>>2]=t;w=54;break}if(!x){e=0;break a}tj(H,p,f,k);m=c[F>>2]|0;w=55}while(0);if((w|0)==54){w=0;if(x)w=55;else l=0}d:do if((w|0)==55){w=0;m=a[m+-1>>0]|0;m=(s|0)!=0&(m&15|0)==3?m&-33:m;n=o&-65537;t=(o&8192|0)==0?o:n;e:do switch(m|0){case 110:switch((s&255)<<24>>24){case 0:{c[c[H>>2]>>2]=e;l=0;break d}case 1:{c[c[H>>2]>>2]=e;l=0;break d}case 2:{l=c[H>>2]|0;c[l>>2]=e;c[l+4>>2]=((e|0)<0)<<31>>31;l=0;break d}case 3:{b[c[H>>2]>>1]=e;l=0;break d}case 4:{a[c[H>>2]>>0]=e;l=0;break d}case 6:{c[c[H>>2]>>2]=e;l=0;break d}case 7:{l=c[H>>2]|0;c[l>>2]=e;c[l+4>>2]=((e|0)<0)<<31>>31;l=0;break d}default:{l=0;break d}}case 112:{m=120;l=l>>>0>8?l:8;n=t|8;w=67;break}case 88:case 120:{n=t;w=67;break}case 111:{q=H;q=iQ(c[q>>2]|0,c[q+4>>2]|0,y)|0;n=z-q|0;o=0;p=222718;l=(t&8|0)==0|(l|0)>(n|0)?l:n+1|0;n=t;w=73;break}case 105:case 100:{n=H;m=c[n>>2]|0;n=c[n+4>>2]|0;if((n|0)<0){m=_W(0,0,m|0,n|0)|0;n=M()|0;o=H;c[o>>2]=m;c[o+4>>2]=n;o=1;p=222718;w=72;break e}else{o=(t&2049|0)!=0&1;p=(t&2048|0)==0?((t&1|0)==0?222718:222720):222719;w=72;break e}}case 117:{n=H;o=0;p=222718;m=c[n>>2]|0;n=c[n+4>>2]|0;w=72;break}case 99:{a[A>>0]=c[H>>2];r=A;o=0;p=222718;q=1;m=n;l=z;break}case 115:{s=c[H>>2]|0;s=(s|0)==0?222728:s;t=yq(s,0,l)|0;J=(t|0)==0;r=s;o=0;p=222718;q=J?l:t-s|0;m=n;l=J?s+l|0:t;break}case 67:{c[C>>2]=c[H>>2];c[B>>2]=0;c[H>>2]=C;p=-1;w=79;break}case 83:{if(!l){oC(d,32,u,0,t);l=0;w=89}else{p=l;w=79}break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{l=Wb[j&1](d,+g[H>>3],u,l,t,m)|0;break d}default:{o=0;p=222718;q=l;m=t;l=z}}while(0);f:do if((w|0)==67){q=H;q=TM(c[q>>2]|0,c[q+4>>2]|0,y,m&32)|0;p=H;p=(n&8|0)==0|(c[p>>2]|0)==0&(c[p+4>>2]|0)==0;o=p?0:2;p=p?222718:222718+(m>>>4)|0;w=73}else if((w|0)==72){q=Cy(m,n,y)|0;n=t;w=73}else if((w|0)==79){w=0;o=c[H>>2]|0;l=0;while(1){m=c[o>>2]|0;if(!m)break;m=zZ(D,m)|0;n=(m|0)<0;if(n|m>>>0>(p-l|0)>>>0){w=83;break}l=m+l|0;if(p>>>0>l>>>0)o=o+4|0;else break}if((w|0)==83){w=0;if(n){e=-1;break a}}oC(d,32,u,l,t);if(!l){l=0;w=89}else{n=c[H>>2]|0;o=0;while(1){m=c[n>>2]|0;if(!m){w=89;break f}m=zZ(D,m)|0;o=m+o|0;if((o|0)>(l|0)){w=89;break f}QY(d,D,m);if(o>>>0>=l>>>0){w=89;break}else n=n+4|0}}}while(0);if((w|0)==73){w=0;m=H;m=(c[m>>2]|0)!=0|(c[m+4>>2]|0)!=0;J=(l|0)!=0|m;m=z-q+((m^1)&1)|0;r=J?q:y;q=J?((l|0)>(m|0)?l:m):0;m=(l|0)>-1?n&-65537:n;l=z}else if((w|0)==89){w=0;oC(d,32,u,l,t^8192);l=(u|0)>(l|0)?u:l;break}t=l-r|0;s=(q|0)<(t|0)?t:q;J=s+o|0;l=(u|0)<(J|0)?J:u;oC(d,32,l,J,m);QY(d,p,o);oC(d,48,l,J,m^65536);oC(d,48,s,t,0);QY(d,r,t);oC(d,32,l,J,m^8192)}while(0);n=v}g:do if((w|0)==92)if(!d)if(!n)e=0;else{e=1;while(1){l=c[i+(e<<2)>>2]|0;if(!l)break;tj(h+(e<<3)|0,l,f,k);e=e+1|0;if(e>>>0>=10){e=1;break g}}while(1){if(c[i+(e<<2)>>2]|0){e=-1;break g}e=e+1|0;if(e>>>0>=10){e=1;break}}}while(0);Mb=I;return e|0}function sd(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,x=0,y=0,z=0,A=0,B=0;B=Mb;Mb=Mb+16|0;w=B+4|0;y=B;z=g+21796|0;A=c[z>>2]|0;c[y>>2]=0;h=(c[f+25956>>2]|0)+(A*48|0)|0;i=h+48|0;do{a[h>>0]=0;h=h+1|0}while((h|0)<(i|0));u=g+21828|0;if(!(c[u>>2]|0))h=0;else{c[y>>2]=128;h=128}x=g+840|0;if((c[x>>2]|0)==3){h=h|63744;c[y>>2]=h;if(c[g+21844>>2]|0){pj(f,g,h);Cc(f,g,h)}bV(f,g,y);k=c[y>>2]|2048;c[y>>2]=k;h=f+26352|0}else{k=h|14344;c[y>>2]=k;pj(f,g,k);p=c[f+24384>>2]|0;q=c[f+24352>>2]|0;h=f+26352|0;r=c[h>>2]|0;c[g+28284>>2]=0;c[g+28292>>2]=0;c[g+28300>>2]=0;c[g+28308>>2]=0;l=c[g+21740>>2]|0;if(!(l&12288))if(!l)v=50;else{t=1112512;j=-1;v=16}else{i=c[g+21720>>2]|0;v=d[c[g+21748>>2]>>0]|0;j=a[p+((v&254)+(i<<2|1))>>0]|0;i=q+((H(r,v)|0)+3+(c[(c[f+26344>>2]|0)+(i<<2)>>2]|0)<<2)|0;do if(c[f+26360>>2]|0){l=(l&128|0)!=0;if(!(c[u>>2]|0)){if(!l)break;i=c[i>>2]|0;c[w>>2]=i;b[w+2>>1]=i>>16<<1;i=w;j=j>>1;break}else{if(l)break;i=c[i>>2]|0;c[w>>2]=i;b[w+2>>1]=((i>>>16&65535)<<16>>16)/2|0;i=w;j=j<<1;break}}while(0);if(!(c[i>>2]|j))v=50;else{t=i;v=16}}do if((v|0)==16){m=c[g+21732>>2]|0;if(!(m&12288))if(!m){v=50;break}else{n=-1;o=1112512}else{l=c[g+21712>>2]|0;i=a[p+(l<<2|2)>>0]|0;l=q+((c[(c[f+26344>>2]|0)+(l<<2)>>2]|0)+(r*3|0)<<2)|0;do if(c[f+26360>>2]|0){m=(m&128|0)!=0;if(!(c[u>>2]|0)){if(!m)break;o=c[l>>2]|0;l=w+4|0;c[l>>2]=o;b[w+6>>1]=o>>16<<1;i=i>>1;break}else{if(m)break;o=c[l>>2]|0;l=w+4|0;c[l>>2]=o;b[w+6>>1]=((o>>>16&65535)<<16>>16)/2|0;i=i<<1;break}}while(0);if(!(c[l>>2]|i)){v=50;break}else{n=i;o=l}}l=c[g+21736>>2]|0;do if(!(l&12288))if((l|0)==0?(s=c[g+21728>>2]|0,(s&12288|0)!=0):0){m=c[g+21708>>2]|0;l=c[g+21752>>2]|0;i=a[p+(m<<2|l&2|1)>>0]|0;m=q+(r+3+(l&r<<1)+(c[(c[f+26344>>2]|0)+(m<<2)>>2]|0)<<2)|0;if(c[f+26360>>2]|0){l=(s&128|0)!=0;if(!(c[u>>2]|0)){if(!l)break;u=c[m>>2]|0;m=w+8|0;c[m>>2]=u;b[w+10>>1]=u>>16<<1;i=i>>1;break}else{if(l)break;u=c[m>>2]|0;m=w+8|0;c[m>>2]=u;b[w+10>>1]=((u>>>16&65535)<<16>>16)/2|0;i=i<<1;break}}}else{m=1112512;i=-1}else{m=c[g+21716>>2]|0;i=a[p+(m<<2|2)>>0]|0;m=q+((c[(c[f+26344>>2]|0)+(m<<2)>>2]|0)+(r*3|0)<<2)|0;if(c[f+26360>>2]|0){l=(l&128|0)!=0;if(!(c[u>>2]|0)){if(!l)break;u=c[m>>2]|0;m=w+8|0;c[m>>2]=u;b[w+10>>1]=u>>16<<1;i=i>>1;break}else{if(l)break;u=c[m>>2]|0;m=w+8|0;c[m>>2]=u;b[w+10>>1]=((u>>>16&65535)<<16>>16)/2|0;i=i<<1;break}}}while(0);l=(n|0)!=0;j=(j|0)!=0;i=((l^1)&1)+((j^1)&1)+((i|0)==0&1)|0;do if(i>>>0<=1){if((i|0)!=1){i=jU(b[t>>1]|0,b[o>>1]|0,b[m>>1]|0)|0;j=jU(b[t+2>>1]|0,b[o+2>>1]|0,b[m+2>>1]|0)|0;break}if(!j){j=b[t+2>>1]|0;i=b[t>>1]|0;break}if(l){j=b[m+2>>1]|0;i=b[m>>1]|0;break}else{j=b[o+2>>1]|0;i=b[o>>1]|0;break}}else{i=jU(b[t>>1]|0,b[o>>1]|0,b[m>>1]|0)|0;j=jU(b[t+2>>1]|0,b[o+2>>1]|0,b[m+2>>1]|0)|0}while(0);w=j<<16|i&65535;c[g+28e3>>2]=w;c[g+28004>>2]=w;c[g+28008>>2]=w;c[g+28012>>2]=w;c[g+28032>>2]=w;c[g+28036>>2]=w;c[g+28040>>2]=w;c[g+28044>>2]=w;c[g+28064>>2]=w;c[g+28068>>2]=w;c[g+28072>>2]=w;c[g+28076>>2]=w;c[g+28096>>2]=w;c[g+28100>>2]=w;c[g+28104>>2]=w;c[g+28108>>2]=w}while(0);if((v|0)==50){t=g+28e3|0;u=g+28032|0;v=g+28064|0;w=g+28096|0;c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+12>>2]=0;c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;c[v+12>>2]=0;c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[w+12>>2]=0}}h=c[h>>2]|0;i=(H(h<<2,c[g+21792>>2]|0)|0)+(c[g+21788>>2]<<2)|0;j=c[z>>2]<<2;if(!(k&12288)){w=(c[f+24384>>2]|0)+j|0;b[w>>1]=-1;b[w+2>>1]=-1}else{w=(c[f+24352>>2]|0)+(i<<2)|0;u=g+28e3|0;v=c[u+4>>2]|0;s=w;c[s>>2]=c[u>>2];c[s+4>>2]=v;s=g+28008|0;v=c[s+4>>2]|0;u=w+8|0;c[u>>2]=c[s>>2];c[u+4>>2]=v;u=g+28032|0;v=c[u+4>>2]|0;s=w+(h<<2)|0;t=s;c[t>>2]=c[u>>2];c[t+4>>2]=v;t=g+28040|0;v=c[t+4>>2]|0;s=s+8|0;c[s>>2]=c[t>>2];c[s+4>>2]=v;s=g+28064|0;v=c[s+4>>2]|0;t=w+(h<<1<<2)|0;u=t;c[u>>2]=c[s>>2];c[u+4>>2]=v;u=g+28072|0;v=c[u+4>>2]|0;t=t+8|0;c[t>>2]=c[u>>2];c[t+4>>2]=v;t=g+28096|0;v=c[t+4>>2]|0;w=w+(h*3<<2)|0;u=w;c[u>>2]=c[t>>2];c[u+4>>2]=v;u=g+28104|0;v=c[u+4>>2]|0;w=w+8|0;c[w>>2]=c[u>>2];c[w+4>>2]=v;w=(c[g+32848>>2]|0)+(c[(c[f+26348>>2]|0)+(c[z>>2]<<2)>>2]<<1)|0;c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[w+12>>2]=0;w=(c[f+24384>>2]|0)+j|0;a[w>>0]=a[g+28284>>0]|0;a[w+1>>0]=a[g+28286>>0]|0;a[w+2>>0]=a[g+28300>>0]|0;a[w+3>>0]=a[g+28302>>0]|0}if(k&49152|0){w=(c[f+24356>>2]|0)+(i<<2)|0;u=g+28160|0;v=c[u+4>>2]|0;s=w;c[s>>2]=c[u>>2];c[s+4>>2]=v;s=g+28168|0;v=c[s+4>>2]|0;u=w+8|0;c[u>>2]=c[s>>2];c[u+4>>2]=v;u=g+28192|0;v=c[u+4>>2]|0;s=w+(h<<2)|0;t=s;c[t>>2]=c[u>>2];c[t+4>>2]=v;t=g+28200|0;v=c[t+4>>2]|0;s=s+8|0;c[s>>2]=c[t>>2];c[s+4>>2]=v;s=g+28224|0;v=c[s+4>>2]|0;t=w+(h<<1<<2)|0;u=t;c[u>>2]=c[s>>2];c[u+4>>2]=v;u=g+28232|0;v=c[u+4>>2]|0;t=t+8|0;c[t>>2]=c[u>>2];c[t+4>>2]=v;t=g+28256|0;v=c[t+4>>2]|0;w=w+(h*3<<2)|0;u=w;c[u>>2]=c[t>>2];c[u+4>>2]=v;u=g+28264|0;v=c[u+4>>2]|0;w=w+8|0;c[w>>2]=c[u>>2];c[w+4>>2]=v;w=(c[g+32852>>2]|0)+(c[(c[f+26348>>2]|0)+(c[z>>2]<<2)>>2]<<1)|0;c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[w+12>>2]=0;w=(c[f+24388>>2]|0)+j|0;a[w>>0]=a[g+28324>>0]|0;a[w+1>>0]=a[g+28326>>0]|0;a[w+2>>0]=a[g+28340>>0]|0;a[w+3>>0]=a[g+28342>>0]|0}if(!((k&64|0)==0|(c[x>>2]|0)!=3)){z=(c[f+26392>>2]|0)+(c[z>>2]<<2)|0;a[z+1>>0]=(e[g+28554>>1]|0)>>>1;a[z+2>>0]=(e[g+28556>>1]|0)>>>1;a[z+3>>0]=(e[g+28558>>1]|0)>>>1}c[(c[f+24364>>2]|0)+(A<<2)>>2]=c[y>>2];a[(c[f+24340>>2]|0)+A>>0]=c[g+848>>2];b[(c[f+26356>>2]|0)+(A<<1)>>1]=c[g+832>>2];c[g+21648>>2]=1;Mb=B;return}function td(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;P=Mb;Mb=Mb+240|0;K=P+152|0;G=P+144|0;F=P+120|0;D=P+104|0;B=P+96|0;y=P+88|0;x=P+80|0;u=P+72|0;w=P+64|0;v=P+56|0;t=P+48|0;r=P+40|0;s=P+32|0;q=P+24|0;p=P+16|0;o=P+8|0;j=P;L=P+228|0;M=TW(5300)|0;c[L>>2]=M;N=M;a:do if(!M)g=-12;else{O=M+4|0;J=c[O>>2]|0;h=c[a>>2]|0;g=(c[a+4>>2]|0)-h|0;i=J+5296|0;c[i>>2]=g;if(g>>>0>4096){AD(d,24,172750,j);c[i>>2]=4096;h=c[a>>2]|0;g=4096}Mn(J+1200|0,h|0,g|0)|0;n=HG(a,8)|0;g=mT(a)|0;h=mT(a)|0;i=mT(a)|0;j=mT(a)|0;k=mT(a)|0;l=mT(a)|0;SW(a);m=HG(a,8)|0;I=JE(a)|0;b:do if(I>>>0>31){c[o>>2]=I;AD(d,16,172783,o)}else{c[J>>2]=I;c[J+1164>>2]=24;E=J+4|0;c[E>>2]=n;c[J+1196>>2]=h<<1|g|i<<2|j<<3|k<<4|l<<5;C=J+8|0;c[C>>2]=m;c[J+112>>2]=-1;i=J+672|0;j=J+768|0;k=J+668|0;jv(i|0,16,480)|0;c[k>>2]=0;c[J+128>>2]=2;switch(n|0){case 144:case 138:case 128:case 118:case 86:case 83:case 44:case 244:case 122:case 110:case 100:{g=JE(a)|0;c[J+12>>2]=g;if(g>>>0>3){c[p>>2]=g;GU(d,172807,p);break b}if((g|0)==3?(z=mT(a)|0,c[J+1192>>2]=z,z|0):0){AD(d,16,172828,q);break b}g=(au(a)|0)+8|0;z=J+1184|0;c[z>>2]=g;g=au(a)|0;h=g+8|0;c[J+1188>>2]=h;if((h|0)!=(c[z>>2]|0)){GU(d,172869,s);break b}if(g>>>0>6){c[r>>2]=h;c[r+4>>2]=h;AD(d,16,172905,r);break b}g=mT(a)|0;c[J+16>>2]=g;g=_p(a,J,0,1,i,j)|0;if((g|0)<0)break b;c[k>>2]=c[k>>2]|g;break}default:{c[J+12>>2]=1;c[J+1184>>2]=8;c[J+1188>>2]=8}}g=au(a)|0;if(g>>>0>12){c[t>>2]=g;AD(d,16,172939,t);break}c[J+20>>2]=g+4;g=JE(a)|0;t=J+24|0;c[t>>2]=g;c:do switch(g|0){case 0:{g=au(a)|0;if(g>>>0>12){c[v>>2]=g;AD(d,16,172990,v);break b}else{c[J+28>>2]=g+4;break c}}case 1:{g=mT(a)|0;c[J+32>>2]=g;g=$t(a)|0;c[J+36>>2]=g;g=$t(a)|0;c[J+40>>2]=g;g=au(a)|0;i=J+44|0;c[i>>2]=g;if(g>>>0>255){c[w>>2]=g;AD(d,16,173029,w);break b}h=0;while(1){if((h|0)>=(g|0))break c;g=($t(a)|0)&65535;b[J+148+(h<<1)>>1]=g;h=h+1|0;g=c[i>>2]|0}}case 2:break;default:{c[u>>2]=g;AD(d,16,173059,u);break b}}while(0);g=JE(a)|0;r=J+48|0;c[r>>2]=g;w=(c[d+52>>2]|0)==844516691;z=(g|0)>2?g:2;c[r>>2]=w?z:g;g=w?z:g;if((g|0)>16){c[x>>2]=g;AD(d,16,173080,x);break}g=mT(a)|0;c[J+52>>2]=g;g=(au(a)|0)+1|0;q=J+56|0;c[q>>2]=g;g=(au(a)|0)+1|0;s=J+60|0;c[s>>2]=g;g=mT(a)|0;z=J+64|0;c[z>>2]=g;h=c[s>>2]|0;if(h>>>0>1073741822){AD(d,16,173110,y);break}y=H(h,2-g|0)|0;c[s>>2]=y;if(!g)g=mT(a)|0;else g=0;p=J+68|0;c[p>>2]=g;g=c[q>>2]|0;if((g>>>0<=134217726?(A=c[s>>2]|0,A>>>0<=134217726):0)?(UX(g<<4,A<<4,0,d)|0)==0:0){B=mT(a)|0;o=J+72|0;c[o>>2]=B;B=mT(a)|0;g=J+76|0;c[g>>2]=B;d:do if(!B){c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0}else{i=au(a)|0;j=au(a)|0;k=au(a)|0;l=au(a)|0;m=c[q>>2]<<4;n=c[s>>2]<<4;if(c[d+96>>2]&65536|0){c[D>>2]=i;c[D+4>>2]=j;c[D+8>>2]=k;c[D+12>>2]=l;AD(d,48,173153,D);F=J+80|0;c[F>>2]=0;c[F+4>>2]=0;c[F+8>>2]=0;c[F+12>>2]=0;break}h=c[J+12>>2]|0;g=(h+-1|0)>>>0<2&1;h=2-(c[z>>2]|0)<<((h|0)==1&1);D=536870911>>>g;do if((!(i>>>0>D>>>0|j>>>0>D>>>0)?(D=536870911/(h>>>0)|0,!(k>>>0>D>>>0|l>>>0>D>>>0)):0)?j+i<<g>>>0<m>>>0:0){if((H(h,l+k|0)|0)>>>0>=n>>>0)break;c[J+80>>2]=i<<g;c[J+84>>2]=j<<g;F=H(h,k)|0;c[J+88>>2]=F;F=H(h,l)|0;c[J+92>>2]=F;break d}while(0);c[F>>2]=i;c[F+4>>2]=j;c[F+8>>2]=k;c[F+12>>2]=l;c[F+16>>2]=m;c[F+20>>2]=n;AD(d,16,173219,F);break b}while(0);F=mT(a)|0;i=J+96|0;c[i>>2]=F;if(F|0?(ug(a,d,J)|0)<0:0)break;g=a$(a)|0;if((g|0)<0?(f=(f|0)!=0,c[G>>2]=(c[i>>2]|0)==0?204926:173260,c[G+4>>2]=0-g,AD(d,f?24:16,173264,G),!f):0)break;y=(c[J+660>>2]|0)==0;e:do if(y){if((c[r>>2]|0)==0?(c[d+672>>2]|0)<=0:0)break;h=J+664|0;c[h>>2]=15;g=0;while(1){if(g>>>0>=16)break e;if((c[18288+(g<<3)>>2]|0)==(c[C>>2]|0))break;g=g+1|0}G=(c[18288+(g<<3)+4>>2]|0)/(H(c[s>>2]|0,c[q>>2]|0)|0)|0;c[h>>2]=(G|0)<15?G:15}while(0);g=J+104|0;if(!(c[g>>2]|0))c[g>>2]=1;if(c[d+680>>2]&1|0){x=c[E>>2]|0;w=c[C>>2]|0;v=c[t>>2]|0;u=c[r>>2]|0;t=c[q>>2]|0;s=c[s>>2]|0;if(!(c[z>>2]|0))r=(c[p>>2]|0)==0?173288:173296;else r=173303;m=(c[o>>2]|0)==0?1113148:173307;n=c[J+80>>2]|0;o=c[J+84>>2]|0;p=c[J+88>>2]|0;q=c[J+92>>2]|0;h=(c[i>>2]|0)==0?1113148:173260;i=18416+((c[J+12>>2]|0)*5|0)|0;if(!(c[J+132>>2]|0)){k=0;l=0}else{k=c[J+136>>2]|0;l=c[J+140>>2]|0}j=c[J+1184>>2]|0;if(y)g=-1;else g=c[J+664>>2]|0;c[K>>2]=I;c[K+4>>2]=x;c[K+8>>2]=w;c[K+12>>2]=v;c[K+16>>2]=u;c[K+20>>2]=t;c[K+24>>2]=s;c[K+28>>2]=r;c[K+32>>2]=m;c[K+36>>2]=n;c[K+40>>2]=o;c[K+44>>2]=p;c[K+48>>2]=q;c[K+52>>2]=h;c[K+56>>2]=i;c[K+60>>2]=k;c[K+64>>2]=l;c[K+68>>2]=j;c[K+72>>2]=g;AD(d,48,173311,K)}g=e+(I<<2)|0;h=c[g>>2]|0;do if(h|0){if(AE(c[h+4>>2]|0,c[O>>2]|0,c[M+8>>2]|0)|0)break;F$(L);g=0;break a}while(0);r0(e,I);c[g>>2]=N;g=0;break a}AD(d,16,173127,B)}while(0);F$(L);g=-1094995529}while(0);Mb=P;return g|0}function ud(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0;fa=Mb;Mb=Mb+32|0;aa=fa;ba=fa+30|0;ca=fa+28|0;da=fa+24|0;ea=fa+16|0;y=c[e+136>>2]|0;U=e+1412|0;P=c[U>>2]|0;W=c[P+13336>>2]|0;V=f>>W;W=g>>W;x=c[P+13384>>2]|0;k=H(W,x)|0;X=k+V|0;Y=e+1416|0;q=c[Y>>2]|0;r=c[q+1668>>2]|0;s=c[r+(X<<2)>>2]|0;Z=e+3500|0;_=c[Z>>2]|0;$=_+(X*148|0)|0;b[ba>>1]=0;b[ca>>1]=0;c[da>>2]=0;h=a[(c[e+7584>>2]|0)+X>>0]|0;if(!(a[q+42>>0]|0)){v=h<<24>>24==0;z=v;o=0}else{o=(a[q+53>>0]|0)==0;v=h<<24>>24==0;z=v|o}h=(V|0)==0;c[aa>>2]=h&1;l=(W|0)==0;R=aa+4|0;c[R>>2]=l&1;j=(V|0)==(x+-1|0);S=aa+8|0;c[S>>2]=j&1;p=(W|0)==((c[P+13388>>2]|0)+-1|0);T=aa+12|0;c[T>>2]=p&1;if(z){w=h^1;if(h)u=0;else{if(o){h=c[q+1676>>2]|0;h=(c[h+(s<<2)>>2]|0)!=(c[h+(c[r+(X+-1<<2)>>2]<<2)>>2]|0)}else h=0;i=h&1;if(v?(O=c[e+7560>>2]|0,(c[O+(X<<2)>>2]|0)!=(c[O+(V+-1+k<<2)>>2]|0)):0)h=1;a[ba>>0]=h&1;u=i}t=j^1;if(j)n=0;else{if(o){h=c[q+1676>>2]|0;h=(c[h+(s<<2)>>2]|0)!=(c[h+(c[r+(X+1<<2)>>2]<<2)>>2]|0)}else h=0;i=h&1;if(v?(O=c[e+7560>>2]|0,(c[O+(X<<2)>>2]|0)!=(c[O+(V+1+k<<2)>>2]|0)):0)h=1;a[ba+1>>0]=h&1;n=i}m=l^1;if(l)i=0;else{if(o){h=c[q+1676>>2]|0;h=(c[h+(s<<2)>>2]|0)!=(c[h+(c[r+(X-x<<2)>>2]<<2)>>2]|0)}else h=0;i=h&1;if(v?(N=c[e+7560>>2]|0,O=N+((H(W+-1|0,x)|0)+V<<2)|0,(c[N+(X<<2)>>2]|0)!=(c[O>>2]|0)):0)h=1;a[ca>>0]=h&1}k=p^1;if(p)h=0;else{if(o){j=c[q+1676>>2]|0;j=(c[j+(s<<2)>>2]|0)!=(c[j+(c[r+(X+x<<2)>>2]<<2)>>2]|0)}else j=0;h=j&1;if(v?(N=c[e+7560>>2]|0,O=N+((H(W+1|0,x)|0)+V<<2)|0,(c[N+(X<<2)>>2]|0)!=(c[O>>2]|0)):0)j=1;a[ca+1>>0]=j&1}if(w&m){if(v){N=c[e+7560>>2]|0;O=N+(V+-1+(H(W+-1|0,x)|0)<<2)|0;if(u<<24>>24==0?(c[N+(X<<2)>>2]|0)==(c[O>>2]|0):0)Q=37;else j=1}else if(!(u<<24>>24))Q=37;else j=1;if((Q|0)==37)j=i;a[da>>0]=j}if(m&t){if(v){N=c[e+7560>>2]|0;O=N+(V+1+(H(W+-1|0,x)|0)<<2)|0;if(n<<24>>24==0?(c[N+(X<<2)>>2]|0)==(c[O>>2]|0):0)Q=43;else i=1}else if(!(n<<24>>24))Q=43;else i=1;a[da+1>>0]=i}if(t&k){if(v){N=c[e+7560>>2]|0;O=N+(V+1+(H(W+1|0,x)|0)<<2)|0;if(n<<24>>24==0?(c[N+(X<<2)>>2]|0)==(c[O>>2]|0):0)Q=49;else i=1}else if(!(n<<24>>24))Q=49;else i=1;if((Q|0)==49)i=h;a[da+2>>0]=i}if(w&k){if(v){N=c[e+7560>>2]|0;O=N+(V+-1+(H(W+1|0,x)|0)<<2)|0;if(u<<24>>24==0?(c[N+(X<<2)>>2]|0)==(c[O>>2]|0):0)Q=55;else h=1}else if(!(u<<24>>24))Q=55;else h=1;a[da+3>>0]=h}}M=e+160|0;N=y+512|0;O=y+320|0;B=y+352|0;G=W<<1;C=G+-1|0;D=ea+4|0;E=W+-1|0;F=V+-1|0;G=G+2|0;I=ea+4|0;J=V+1|0;K=W+1|0;A=V<<1;L=A+-1|0;z=e+5892+((z&1)<<2)|0;A=A+2|0;y=0;h=P;while(1){if(y>>>0>=((c[h+4>>2]|0)==0?1:3)>>>0)break;l=c[h+13424+(y<<2)>>2]|0;p=f>>l;o=c[h+13436+(y<<2)>>2]|0;q=g>>o;x=c[M>>2]|0;t=c[x+32+(y<<2)>>2]|0;u=1<<c[h+13336>>2];s=u>>l;u=u>>o;l=c[h+13376>>2]>>l;v=l-p|0;s=(s|0)>(v|0)?v:s;o=c[h+13380>>2]>>o;v=o-q|0;u=(u|0)>(v|0)?v:u;v=d[209502+((s+7>>3)+-1)>>0]|0;w=H(t,q)|0;r=c[h+52>>2]|0;w=(c[x+(y<<2)>>2]|0)+((p<<r)+w)|0;x=_+(X*148|0)+142+y|0;a:do switch(a[x>>0]|0){case 1:{zu(e,w,t,p,q,s,u,y,V,W);h=c[U>>2]|0;do if(!(a[(c[Y>>2]|0)+40>>0]|0)){if(a[h+13312>>0]|0?c[h+64>>2]|0:0)break;nc[c[e+5852+(v<<2)>>2]&63](w,w,t,t,_+(X*148|0)+112+(y*10|0)|0,d[_+(X*148|0)+96+y>>0]|0,s,u);Q=84;break a}while(0);Wn(O,w,s<<c[h+52>>2],u,128,t);nc[c[e+5852+(v<<2)>>2]&63](w,O,t,128,_+(X*148|0)+112+(y*10|0)|0,d[_+(X*148|0)+96+y>>0]|0,s,u);Gn(e,w,O,t,128,f,g,s,u,y);Q=84;break}case 2:{m=c[aa>>2]|0;n=c[S>>2]|0;j=c[T>>2]|0;if(!(c[R>>2]|0)){Q=1-m|0;P=0-(Q<<r)|0;k=B+P|0;c[ea>>2]=w+(0-t)+P;P=(c[e+168+(y<<2)>>2]|0)+((H(l,C)|0)+p-Q<<r)|0;c[D>>2]=P;if(!Q)i=0;else{i=(c[Z>>2]|0)+((F+(H(c[h+13384>>2]|0,E)|0)|0)*148|0)+142+y|0;VW(k,c[ea+(((a[i>>0]|0)==3&1)<<2)>>2]|0,r);i=1<<r;h=c[U>>2]|0}Q=(c[Z>>2]|0)+(((H(c[h+13384>>2]|0,E)|0)+V|0)*148|0)+142+y|0;h=s<<r;Mn(k+i|0,(c[ea+(((a[Q>>0]|0)==3&1)<<2)>>2]|0)+i|0,h|0)|0;if((n|0)!=1){Q=i+h|0;P=(c[Z>>2]|0)+((J+(H(c[(c[U>>2]|0)+13384>>2]|0,E)|0)|0)*148|0)+142+y|0;VW(k+Q|0,(c[ea+(((a[P>>0]|0)==3&1)<<2)>>2]|0)+Q|0,r)}}if(!j){Q=1-m|0;P=0-(Q<<r)|0;j=N+(u*160|0)+P|0;P=w+(H(u,t)|0)+P|0;c[ea>>2]=P;P=(c[e+168+(y<<2)>>2]|0)+((H(l,G)|0)+p-Q<<r)|0;c[I>>2]=P;if(!Q)h=0;else{h=(c[Z>>2]|0)+((F+(H(c[(c[U>>2]|0)+13384>>2]|0,K)|0)|0)*148|0)+142+y|0;VW(j,c[ea+(((a[h>>0]|0)==3&1)<<2)>>2]|0,r);h=1<<r}Q=(c[Z>>2]|0)+(((H(c[(c[U>>2]|0)+13384>>2]|0,K)|0)+V|0)*148|0)+142+y|0;i=s<<r;Mn(j+h|0,(c[ea+(((a[Q>>0]|0)==3&1)<<2)>>2]|0)+h|0,i|0)|0;if((n|0)!=1){Q=h+i|0;P=(c[Z>>2]|0)+((J+(H(c[(c[U>>2]|0)+13384>>2]|0,K)|0)|0)*148|0)+142+y|0;VW(j+Q|0,(c[ea+(((a[P>>0]|0)==3&1)<<2)>>2]|0)+Q|0,r)}}if(!m){Q=(c[Z>>2]|0)+((F+(H(c[(c[U>>2]|0)+13384>>2]|0,W)|0)|0)*148|0)+142+y|0;if((a[Q>>0]|0)==3){i=1<<r;CB(N+(0-i)|0,(c[e+180+(y<<2)>>2]|0)+((H(o,L)|0)+q<<r)|0,r,u,160,i);i=0}else i=1}else i=0;if(!n){Q=(c[Z>>2]|0)+((J+(H(c[(c[U>>2]|0)+13384>>2]|0,W)|0)|0)*148|0)+142+y|0;if((a[Q>>0]|0)==3){CB(N+(s<<r)|0,(c[e+180+(y<<2)>>2]|0)+((H(o,A)|0)+q<<r)|0,r,u,160,1<<r);h=0}else h=1}else h=0;Q=0-(i<<r)|0;Wn(N+Q|0,w+Q|0,i+s+h<<r,u,160,t);zu(e,w,t,p,q,s,u,y,V,W);mc[c[e+5872+(v<<2)>>2]&63](w,N,t,_+(X*148|0)+112+(y*10|0)|0,c[_+(X*148|0)+100+(y<<2)>>2]|0,s,u);rc[c[z>>2]&15](w,N,t,160,$,aa,s,u,y,ba,ca,da);Gn(e,w,N,t,160,f,g,s,u,y);Q=84;break}default:{}}while(0);if((Q|0)==84){Q=0;a[x>>0]=3}y=y+1|0;h=c[U>>2]|0}Mb=fa;return}function vd(a,b,e,f,g,h){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0.0,j=0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0,t=0.0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0.0;G=Mb;Mb=Mb+512|0;D=G;E=f+e|0;F=0-E|0;C=a+4|0;B=a+104|0;j=0;a:while(1){switch(b|0){case 46:{z=7;break a}case 48:break;default:{v=0;p=j;j=0;o=0;break a}}b=c[C>>2]|0;if(b>>>0<(c[B>>2]|0)>>>0){c[C>>2]=b+1;b=d[b>>0]|0}else b=Uo(a)|0;j=1}if((z|0)==7){b=c[C>>2]|0;if(b>>>0<(c[B>>2]|0)>>>0){c[C>>2]=b+1;b=d[b>>0]|0}else b=Uo(a)|0;if((b|0)==48){j=0;b=0;while(1){j=aX(j|0,b|0,-1,-1)|0;o=M()|0;b=c[C>>2]|0;if(b>>>0<(c[B>>2]|0)>>>0){c[C>>2]=b+1;b=d[b>>0]|0}else b=Uo(a)|0;if((b|0)==48)b=o;else{v=1;p=1;break}}}else{v=1;p=j;j=0;o=0}}c[D>>2]=0;n=b+-48|0;m=(b|0)==46;b:do if(m|n>>>0<10){A=D+496|0;w=0;l=0;s=0;x=v;y=p;z=n;p=0;n=0;c:while(1){do if(m)if(!x){x=1;j=p;o=n}else break c;else{p=aX(p|0,n|0,1,0)|0;n=M()|0;v=(b|0)!=48;if((l|0)>=125){if(!v)break;c[A>>2]=c[A>>2]|1;break}m=D+(l<<2)|0;if(!w)b=z;else b=b+-48+((c[m>>2]|0)*10|0)|0;c[m>>2]=b;w=w+1|0;y=(w|0)==9;w=y?0:w;l=l+(y&1)|0;s=v?p:s;y=1}while(0);b=c[C>>2]|0;if(b>>>0<(c[B>>2]|0)>>>0){c[C>>2]=b+1;b=d[b>>0]|0}else b=Uo(a)|0;z=b+-48|0;m=(b|0)==46;if(!(m|z>>>0<10)){v=x;m=y;z=31;break b}}b=w;m=(y|0)!=0;z=39}else{w=0;l=0;s=0;m=p;p=0;n=0;z=31}while(0);do if((z|0)==31){A=(v|0)==0;j=A?p:j;o=A?n:o;m=(m|0)!=0;if(!(m&(b|32|0)==101))if((b|0)>-1){b=w;z=39;break}else{b=w;z=41;break}m=Ii(a,h)|0;b=M()|0;if((m|0)==0&(b|0)==-2147483648){if(!h){sC(a,0,0);i=0.0;break}if(!(c[B>>2]|0)){m=0;b=0}else{c[C>>2]=(c[C>>2]|0)+-1;m=0;b=0}}j=aX(m|0,b|0,j|0,o|0)|0;b=w;o=M()|0;z=43}while(0);if((z|0)==39)if(c[B>>2]|0){c[C>>2]=(c[C>>2]|0)+-1;if(m)z=43;else z=42}else z=41;if((z|0)==41)if(m)z=43;else z=42;do if((z|0)==42){F=j2()|0;c[F>>2]=22;sC(a,0,0);i=0.0}else if((z|0)==43){m=c[D>>2]|0;if(!m){i=+(g|0)*0.0;break}if(((n|0)<0|(n|0)==0&p>>>0<10)&((j|0)==(p|0)&(o|0)==(n|0))?(e|0)>30|(m>>>e|0)==0:0){i=+(g|0)*+(m>>>0);break}a=(f|0)/-2|0;C=((a|0)<0)<<31>>31;if((o|0)>(C|0)|(o|0)==(C|0)&j>>>0>a>>>0){F=j2()|0;c[F>>2]=34;i=+(g|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}a=f+-106|0;C=((a|0)<0)<<31>>31;if((o|0)<(C|0)|(o|0)==(C|0)&j>>>0<a>>>0){F=j2()|0;c[F>>2]=34;i=+(g|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(b){if((b|0)<9){n=D+(l<<2)|0;m=c[n>>2]|0;while(1){m=m*10|0;if((b|0)>=8)break;else b=b+1|0}c[n>>2]=m}l=l+1|0}if((s|0)<9?(s|0)<=(j|0)&(j|0)<18:0){if((j|0)==9){i=+(g|0)*+((c[D>>2]|0)>>>0);break}if((j|0)<9){i=+(g|0)*+((c[D>>2]|0)>>>0)/+(c[160208+(8-j<<2)>>2]|0);break}a=e+27+(H(j,-3)|0)|0;b=c[D>>2]|0;if((a|0)>30|(b>>>a|0)==0){i=+(g|0)*+(b>>>0)*+(c[160208+(j+-10<<2)>>2]|0);break}}b=(j|0)%9|0;if(!b)m=0;else{s=(j|0)>-1?b:b+9|0;o=c[160208+(8-s<<2)>>2]|0;if(l){p=1e9/(o|0)|0;n=0;m=0;b=0;do{B=D+(b<<2)|0;C=c[B>>2]|0;a=(C>>>0)/(o>>>0)|0;C=C-(H(a,o)|0)|0;a=a+n|0;c[B>>2]=a;n=H(p,C)|0;a=(b|0)==(m|0)&(a|0)==0;j=a?j+-9|0:j;m=a?m+1&127:m;b=b+1|0}while((b|0)!=(l|0));if(!n)b=l;else{c[D+(l<<2)>>2]=n;b=l+1|0}}else{m=0;b=0}l=b;j=9-s+j|0}b=0;d:while(1){v=(j|0)<18;w=(j|0)==18;x=D+(m<<2)|0;while(1){if(!v){if(!w)break d;if((c[x>>2]|0)>>>0>=9007199){j=18;break d}}n=0;y=l;l=l+127|0;while(1){p=l&127;o=D+(p<<2)|0;l=_U(c[o>>2]|0,0,29)|0;l=aX(l|0,M()|0,n|0,0)|0;n=M()|0;if(n>>>0>0|(n|0)==0&l>>>0>1e9){s=H_(l|0,n|0,1e9,0)|0;a=MR(s|0,M()|0,1e9,0)|0;l=_W(l|0,n|0,a|0,M()|0)|0;M()|0}else s=0;c[o>>2]=l;a=(p|0)==(m|0);o=(p|0)!=(y+127&127|0)|a?y:(l|0)==0?p:y;if(a)break;else{n=s;y=o;l=p+-1|0}}b=b+-29|0;if(!s)l=y;else break}m=m+127&127;l=o+127&127;n=D+((o+126&127)<<2)|0;if((m|0)==(o|0))c[n>>2]=c[n>>2]|c[D+(l<<2)>>2];else l=y;c[D+(m<<2)>>2]=s;j=j+9|0}e:while(1){w=l+1&127;x=D+((l+127&127)<<2)|0;while(1){p=(j|0)==18;v=(j|0)>27?9:1;y=m;while(1){o=0;while(1){m=o+y&127;if((m|0)==(l|0)){z=92;break}m=c[D+(m<<2)>>2]|0;n=c[167660+(o<<2)>>2]|0;if(m>>>0<n>>>0){z=92;break}if(m>>>0>n>>>0)break;if((o+1|0)>>>0<2)o=1;else{z=92;break}}if((z|0)==92?(z=0,p):0)break e;b=v+b|0;if((y|0)==(l|0))y=l;else break}p=(1<<v)+-1|0;s=1e9>>>v;o=0;m=y;n=y;do{B=D+(n<<2)|0;C=c[B>>2]|0;a=(C>>>v)+o|0;c[B>>2]=a;o=H(C&p,s)|0;a=(n|0)==(m|0)&(a|0)==0;j=a?j+-9|0:j;m=a?m+1&127:m;n=n+1&127}while((n|0)!=(l|0));if(o|0){if((w|0)!=(m|0))break;c[x>>2]=c[x>>2]|1}}c[D+(l<<2)>>2]=o;l=w}i=0.0;j=l;m=0;do{n=m+y&127;l=j+1&127;if((n|0)==(j|0)){c[D+(l+-1<<2)>>2]=0;j=l}i=i*1.0e9+ +((c[D+(n<<2)>>2]|0)>>>0);m=m+1|0}while((m|0)!=2);t=+(g|0);k=i*t;n=b+53|0;o=n-f|0;p=(o|0)<(e|0);m=p?((o|0)>0?o:0):e;if((m|0)<53){I=+g1(+aA(1.0,105-m|0),k);q=+r1(k,+aA(1.0,53-m|0));r=I;i=q;q=I+(k-q)}else{r=0.0;i=0.0;q=k}l=y+2&127;if((l|0)!=(j|0)){l=c[D+(l<<2)>>2]|0;do if(l>>>0>=5e8){if((l|0)!=5e8){i=t*.75+i;break}if((y+3&127|0)==(j|0)){i=t*.5+i;break}else{i=t*.75+i;break}}else{if((l|0)==0?(y+3&127|0)==(j|0):0)break;i=t*.25+i}while(0);if((53-m|0)>1?!(+r1(i,1.0)!=0.0):0)k=i+1.0;else k=i}else k=i;i=q+k-r;do if((n&2147483647|0)>(-2-E|0)){E=!(+u(+i)>=9007199254740992.0);b=b+((E^1)&1)|0;i=E?i:i*.5;if((b+50|0)<=(F|0)?!(k!=0.0&(p&((m|0)!=(o|0)|E))):0)break;F=j2()|0;c[F>>2]=34}while(0);i=+h1(i,b)}while(0);Mb=G;return +i}function wd(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=Mb;Mb=Mb+16|0;v=z+4|0;x=z;w=f+21796|0;y=c[w>>2]|0;c[x>>2]=0;g=(c[e+25956>>2]|0)+(y*48|0)|0;h=g+48|0;do{a[g>>0]=0;g=g+1|0}while((g|0)<(h|0));t=f+21828|0;if(!(c[t>>2]|0))g=0;else{c[x>>2]=128;g=128}if((c[f+840>>2]|0)==3){g=g|63744;c[x>>2]=g;if(c[f+21844>>2]|0){qj(e,f,g);Sc(e,f,g)}bV(e,f,x);j=c[x>>2]|2048;c[x>>2]=j;g=e+26352|0}else{j=g|14344;c[x>>2]=j;qj(e,f,j);o=c[e+24384>>2]|0;p=c[e+24352>>2]|0;g=e+26352|0;q=c[g>>2]|0;c[f+28284>>2]=0;c[f+28292>>2]=0;c[f+28300>>2]=0;c[f+28308>>2]=0;k=c[f+21740>>2]|0;if(!(k&12288))if(!k)u=50;else{s=1112512;i=-1;u=16}else{h=c[f+21720>>2]|0;u=d[c[f+21748>>2]>>0]|0;i=a[o+((u&254)+(h<<2|1))>>0]|0;h=p+((H(q,u)|0)+3+(c[(c[e+26344>>2]|0)+(h<<2)>>2]|0)<<2)|0;do if(c[e+26360>>2]|0){k=(k&128|0)!=0;if(!(c[t>>2]|0)){if(!k)break;h=c[h>>2]|0;c[v>>2]=h;b[v+2>>1]=h>>16<<1;h=v;i=i>>1;break}else{if(k)break;h=c[h>>2]|0;c[v>>2]=h;b[v+2>>1]=((h>>>16&65535)<<16>>16)/2|0;h=v;i=i<<1;break}}while(0);if(!(c[h>>2]|i))u=50;else{s=h;u=16}}do if((u|0)==16){l=c[f+21732>>2]|0;if(!(l&12288))if(!l){u=50;break}else{m=-1;n=1112512}else{k=c[f+21712>>2]|0;h=a[o+(k<<2|2)>>0]|0;k=p+((c[(c[e+26344>>2]|0)+(k<<2)>>2]|0)+(q*3|0)<<2)|0;do if(c[e+26360>>2]|0){l=(l&128|0)!=0;if(!(c[t>>2]|0)){if(!l)break;n=c[k>>2]|0;k=v+4|0;c[k>>2]=n;b[v+6>>1]=n>>16<<1;h=h>>1;break}else{if(l)break;n=c[k>>2]|0;k=v+4|0;c[k>>2]=n;b[v+6>>1]=((n>>>16&65535)<<16>>16)/2|0;h=h<<1;break}}while(0);if(!(c[k>>2]|h)){u=50;break}else{m=h;n=k}}k=c[f+21736>>2]|0;do if(!(k&12288))if((k|0)==0?(r=c[f+21728>>2]|0,(r&12288|0)!=0):0){l=c[f+21708>>2]|0;k=c[f+21752>>2]|0;h=a[o+(l<<2|k&2|1)>>0]|0;l=p+(q+3+(k&q<<1)+(c[(c[e+26344>>2]|0)+(l<<2)>>2]|0)<<2)|0;if(c[e+26360>>2]|0){k=(r&128|0)!=0;if(!(c[t>>2]|0)){if(!k)break;t=c[l>>2]|0;l=v+8|0;c[l>>2]=t;b[v+10>>1]=t>>16<<1;h=h>>1;break}else{if(k)break;t=c[l>>2]|0;l=v+8|0;c[l>>2]=t;b[v+10>>1]=((t>>>16&65535)<<16>>16)/2|0;h=h<<1;break}}}else{l=1112512;h=-1}else{l=c[f+21716>>2]|0;h=a[o+(l<<2|2)>>0]|0;l=p+((c[(c[e+26344>>2]|0)+(l<<2)>>2]|0)+(q*3|0)<<2)|0;if(c[e+26360>>2]|0){k=(k&128|0)!=0;if(!(c[t>>2]|0)){if(!k)break;t=c[l>>2]|0;l=v+8|0;c[l>>2]=t;b[v+10>>1]=t>>16<<1;h=h>>1;break}else{if(k)break;t=c[l>>2]|0;l=v+8|0;c[l>>2]=t;b[v+10>>1]=((t>>>16&65535)<<16>>16)/2|0;h=h<<1;break}}}while(0);k=(m|0)!=0;i=(i|0)!=0;h=((k^1)&1)+((i^1)&1)+((h|0)==0&1)|0;do if(h>>>0<=1){if((h|0)!=1){h=jU(b[s>>1]|0,b[n>>1]|0,b[l>>1]|0)|0;i=jU(b[s+2>>1]|0,b[n+2>>1]|0,b[l+2>>1]|0)|0;break}if(!i){i=b[s+2>>1]|0;h=b[s>>1]|0;break}if(k){i=b[l+2>>1]|0;h=b[l>>1]|0;break}else{i=b[n+2>>1]|0;h=b[n>>1]|0;break}}else{h=jU(b[s>>1]|0,b[n>>1]|0,b[l>>1]|0)|0;i=jU(b[s+2>>1]|0,b[n+2>>1]|0,b[l+2>>1]|0)|0}while(0);v=i<<16|h&65535;c[f+28e3>>2]=v;c[f+28004>>2]=v;c[f+28008>>2]=v;c[f+28012>>2]=v;c[f+28032>>2]=v;c[f+28036>>2]=v;c[f+28040>>2]=v;c[f+28044>>2]=v;c[f+28064>>2]=v;c[f+28068>>2]=v;c[f+28072>>2]=v;c[f+28076>>2]=v;c[f+28096>>2]=v;c[f+28100>>2]=v;c[f+28104>>2]=v;c[f+28108>>2]=v}while(0);if((u|0)==50){s=f+28e3|0;t=f+28032|0;u=f+28064|0;v=f+28096|0;c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;c[s+12>>2]=0;c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+12>>2]=0;c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;c[v+12>>2]=0}}h=c[g>>2]|0;i=(H(h<<2,c[f+21792>>2]|0)|0)+(c[f+21788>>2]<<2)|0;g=c[w>>2]<<2;if(!(j&12288)){w=(c[e+24384>>2]|0)+g|0;b[w>>1]=-1;b[w+2>>1]=-1}else{w=(c[e+24352>>2]|0)+(i<<2)|0;u=f+28e3|0;v=c[u+4>>2]|0;s=w;c[s>>2]=c[u>>2];c[s+4>>2]=v;s=f+28008|0;v=c[s+4>>2]|0;u=w+8|0;c[u>>2]=c[s>>2];c[u+4>>2]=v;u=f+28032|0;v=c[u+4>>2]|0;s=w+(h<<2)|0;t=s;c[t>>2]=c[u>>2];c[t+4>>2]=v;t=f+28040|0;v=c[t+4>>2]|0;s=s+8|0;c[s>>2]=c[t>>2];c[s+4>>2]=v;s=f+28064|0;v=c[s+4>>2]|0;t=w+(h<<1<<2)|0;u=t;c[u>>2]=c[s>>2];c[u+4>>2]=v;u=f+28072|0;v=c[u+4>>2]|0;t=t+8|0;c[t>>2]=c[u>>2];c[t+4>>2]=v;t=f+28096|0;v=c[t+4>>2]|0;w=w+(h*3<<2)|0;u=w;c[u>>2]=c[t>>2];c[u+4>>2]=v;u=f+28104|0;v=c[u+4>>2]|0;w=w+8|0;c[w>>2]=c[u>>2];c[w+4>>2]=v;w=(c[e+24384>>2]|0)+g|0;a[w>>0]=a[f+28284>>0]|0;a[w+1>>0]=a[f+28286>>0]|0;a[w+2>>0]=a[f+28300>>0]|0;a[w+3>>0]=a[f+28302>>0]|0}if(j&49152|0){w=(c[e+24356>>2]|0)+(i<<2)|0;u=f+28160|0;v=c[u+4>>2]|0;s=w;c[s>>2]=c[u>>2];c[s+4>>2]=v;s=f+28168|0;v=c[s+4>>2]|0;u=w+8|0;c[u>>2]=c[s>>2];c[u+4>>2]=v;u=f+28192|0;v=c[u+4>>2]|0;s=w+(h<<2)|0;t=s;c[t>>2]=c[u>>2];c[t+4>>2]=v;t=f+28200|0;v=c[t+4>>2]|0;s=s+8|0;c[s>>2]=c[t>>2];c[s+4>>2]=v;s=f+28224|0;v=c[s+4>>2]|0;t=w+(h<<1<<2)|0;u=t;c[u>>2]=c[s>>2];c[u+4>>2]=v;u=f+28232|0;v=c[u+4>>2]|0;t=t+8|0;c[t>>2]=c[u>>2];c[t+4>>2]=v;t=f+28256|0;v=c[t+4>>2]|0;w=w+(h*3<<2)|0;u=w;c[u>>2]=c[t>>2];c[u+4>>2]=v;u=f+28264|0;v=c[u+4>>2]|0;w=w+8|0;c[w>>2]=c[u>>2];c[w+4>>2]=v;w=(c[e+24388>>2]|0)+g|0;a[w>>0]=a[f+28324>>0]|0;a[w+1>>0]=a[f+28326>>0]|0;a[w+2>>0]=a[f+28340>>0]|0;a[w+3>>0]=a[f+28342>>0]|0}c[(c[e+24364>>2]|0)+(y<<2)>>2]=c[x>>2];a[(c[e+24340>>2]|0)+y>>0]=c[f+848>>2];b[(c[e+26356>>2]|0)+(y<<1)>>1]=c[f+832>>2];c[f+21648>>2]=1;Mb=z;return}function xd(e,g,h,i){e=e|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;v=Mb;Mb=Mb+32|0;o=v+24|0;m=v+16|0;l=v+8|0;j=c[i+24>>2]|0;i=c[i+28>>2]|0;u=c[e+60>>2]|0;s=e+48|0;r=(lQ(c[s>>2]|0)|0)/8|0;k=c[s>>2]|0;t=(k|0)==65561;q=t?2:1;r=t?5:r;a:do if(r){t=e+420|0;p=c[t>>2]|0;if(!p){AD(e,16,193061,l);i=-22;break}if((k|0)!=(c[(c[e+12>>2]|0)+12>>2]|0)){AD(e,16,193089,m);i=-22;break}k=H(p,r)|0;do if((k|0)!=0?(n=(i|0)%(k|0)|0,(n|0)!=0):0)if((i|0)<(k|0)){c[o>>2]=i;c[o+4>>2]=k;AD(e,16,193109,o);i=-1094995529;break a}else{i=i-n|0;break}while(0);l=(i|0)/(r|0)|0;k=(H(l,q)|0)/(p|0)|0;p=g+76|0;c[p>>2]=k;k=rQ(e,g,0)|0;if((k|0)<0)i=k;else{k=c[g>>2]|0;b:do switch(c[s>>2]|0){case 65546:while(1){if((l|0)<=0)break b;r=j;c[k>>2]=(d[r>>0]|d[r+1>>0]<<8|d[r+2>>0]<<16|d[r+3>>0]<<24)^-2147483648;l=l+-1|0;k=k+4|0;j=j+4|0}case 65547:while(1){if((l|0)<=0)break b;r=j;r=W_((d[r>>0]|d[r+1>>0]<<8|d[r+2>>0]<<16|d[r+3>>0]<<24)^128|0)|0;c[k>>2]=r;l=l+-1|0;k=k+4|0;j=j+4|0}case 65548:while(1){if((l|0)<=0)break b;r=j;c[k>>2]=((d[r+1>>0]|0)<<8|(d[r+2>>0]|0)<<16|(d[r>>0]|0))<<8;l=l+-1|0;k=k+4|0;j=r+3|0}case 65564:{k=c[t>>2]|0;n=(l|0)/(k|0)|0;o=g+64|0;m=0;while(1){if((m|0)>=(k|0))break b;k=n;l=c[(c[o>>2]|0)+(m<<2)>>2]|0;while(1){if((k|0)<=0)break;r=j;c[l>>2]=((d[r+1>>0]|0)<<8|(d[r+2>>0]|0)<<16|(d[r>>0]|0))<<8;k=k+-1|0;l=l+4|0;j=r+3|0}m=m+1|0;k=c[t>>2]|0}}case 65549:while(1){if((l|0)<=0)break b;r=j;c[k>>2]=((d[r+1>>0]|0)<<8|(d[r>>0]|0)<<16|(d[r+2>>0]|0))<<8;l=l+-1|0;k=k+4|0;j=r+3|0}case 65550:while(1){if((l|0)<=0)break b;r=j;c[k>>2]=((d[r+1>>0]|0)<<8|(d[r+2>>0]|0)<<16|(d[r>>0]|0))<<8^-2147483648;l=l+-1|0;k=k+4|0;j=r+3|0}case 65551:while(1){if((l|0)<=0)break b;r=j;c[k>>2]=((d[r+1>>0]|0)<<8|(d[r>>0]|0)<<16|(d[r+2>>0]|0))<<8^-2147483648;l=l+-1|0;k=k+4|0;j=r+3|0}case 65552:while(1){if((l|0)<=0)break b;r=j;e=(d[r+1>>0]|0)<<8;b[k>>1]=(d[151296+((e|(d[r+2>>0]|0))>>>4&255)>>0]|0)<<8|(d[151296+((e|(d[r>>0]|0)<<16)>>>12&255)>>0]|0);l=l+-1|0;k=k+2|0;j=r+3|0}case 65538:while(1){if((l|0)<=0)break b;r=j;b[k>>1]=((d[r>>0]|d[r+1>>0]<<8)&65535)+32768;l=l+-1|0;k=k+2|0;j=j+2|0}case 65539:while(1){if((l|0)<=0)break b;r=j;r=((X0(d[r>>0]|d[r+1>>0]<<8|0)|0)&65535)+32768&65535;b[k>>1]=r;l=l+-1|0;k=k+2|0;j=j+2|0}case 65540:while(1){if((l|0)<=0)break b;r=j;a[k>>0]=(d[r>>0]|0)+128;k=k+1|0;l=l+-1|0;j=r+1|0}case 65563:{k=c[t>>2]|0;n=(l|0)/(k|0)|0;o=g+64|0;m=0;while(1){if((m|0)>=(k|0))break b;k=n;l=c[(c[o>>2]|0)+(m<<2)>>2]|0;while(1){if((k|0)<=0)break;r=j;a[l>>0]=(d[r>>0]|0)+128;k=k+-1|0;l=l+1|0;j=r+1|0}m=m+1|0;k=c[t>>2]|0}}case 65558:case 67585:while(1){if((l|0)<=0)break b;q=j;e=q;q=q+4|0;q=oY(d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24,d[q>>0]|d[q+1>>0]<<8|d[q+2>>0]<<16|d[q+3>>0]<<24)|0;e=M()|0;r=k;c[r>>2]=q;c[r+4>>2]=e;l=l+-1|0;k=k+8|0;j=j+8|0}case 65545:case 65556:while(1){if((l|0)<=0)break b;r=j;r=W_(d[r>>0]|d[r+1>>0]<<8|d[r+2>>0]<<16|d[r+3>>0]<<24|0)|0;c[k>>2]=r;l=l+-1|0;k=k+4|0;j=j+4|0}case 65537:while(1){if((l|0)<=0)break b;r=j;r=X0(d[r>>0]|d[r+1>>0]<<8|0)|0;b[k>>1]=r;l=l+-1|0;k=k+2|0;j=j+2|0}case 65566:{k=c[t>>2]|0;n=(l|0)/(k|0)|0;o=g+64|0;m=0;while(1){if((m|0)>=(k|0))break b;k=n;l=c[(c[o>>2]|0)+(m<<2)>>2]|0;while(1){if((k|0)<=0)break;r=j;r=X0(d[r>>0]|d[r+1>>0]<<8|0)|0;b[l>>1]=r;k=k+-1|0;l=l+2|0;j=j+2|0}m=m+1|0;k=c[t>>2]|0}}case 65541:case 65536:case 65544:case 67584:case 67586:case 67587:case 65557:case 65559:{Mn(k|0,j|0,H(l,r)|0)|0;break}case 65565:case 65554:{k=c[t>>2]|0;n=g+64|0;m=H((l|0)/(k|0)|0,r)|0;l=0;while(1){if((l|0)>=(k|0))break b;k=j;Mn(c[(c[n>>2]|0)+(l<<2)>>2]|0,k|0,m|0)|0;l=l+1|0;j=k+m|0;k=c[t>>2]|0}}case 65553:while(1){if((l|0)<=0)break b;r=j;q=a[r>>0]|0;e=q&255;a[k>>0]=q<<24>>24>-1?128-e|0:e;l=l+-1|0;k=k+1|0;j=r+1|0}case 65542:case 65543:while(1){if((l|0)<=0)break b;r=j;b[k>>1]=b[u+((d[r>>0]|0)<<1)>>1]|0;l=l+-1|0;k=k+2|0;j=r+1|0}case 65561:{k=c[t>>2]|0;n=(l|0)/(k|0)|0;o=g+64|0;m=0;while(1){if((m|0)>=(k|0))break b;k=0;l=c[(c[o>>2]|0)+(m<<2)>>2]|0;while(1){if((k|0)>=(n|0))break;r=j;e=r+2|0;w=d[e>>0]|0;q=d[r+1>>0]|0;c[l>>2]=w<<28|q|q<<20|w<<8&3840|(d[r>>0]|0)<<12;w=d[r+4>>0]|0;q=d[r+3>>0]|0;c[l+4>>2]=w<<4|w<<24|q<<16|q>>>4|(a[e>>0]&-16&255)<<8;k=k+1|0;l=l+8|0;j=r+5|0}m=m+1|0;k=c[t>>2]|0}}default:{i=-1;break a}}while(0);if((c[s>>2]&-2|0)==67586){g=c[c[g+64>>2]>>2]|0;w=(H(c[t>>2]|0,c[p>>2]|0)|0)+3&-4;fc[c[(c[u+512>>2]|0)+12>>2]&7](g,g,+f[u+516>>2],w)}c[h>>2]=1}}else{AD(e,16,193040,v);i=-22}while(0);Mb=v;return i|0}function yd(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;W=Mb;Mb=Mb+32|0;Q=W+8|0;E=W;T=W+18|0;U=W+16|0;b[T>>1]=0;b[U>>1]=0;V=e+1412|0;k=c[V>>2]|0;h=c[k+13336>>2]|0;j=1<<h;h=(H(g>>h,c[k+13384>>2]|0)|0)+(f>>h)|0;i=c[e+3504>>2]|0;P=c[i+(h<<3)+4>>2]|0;D=c[i+(h<<3)>>2]|0;if((c[k+64>>2]|0)!=0?(a[k+13312>>0]|0)!=0:0)S=1;else S=(a[(c[e+1416>>2]|0)+40>>0]|0)!=0;R=(f|0)!=0;h=h+-1|0;if(R){F=c[i+(h<<3)+4>>2]|0;C=c[i+(h<<3)>>2]|0}else{F=0;C=0}B=j+f|0;u=c[k+13376>>2]|0;O=(B|0)>(u|0)?u:B;G=j+g|0;I=c[k+13380>>2]|0;G=(G|0)>(I|0)?I:G;B=(u|0)>(B|0)?O+-8|0:O;u=R?f:8;I=e+7556|0;J=e+5720|0;v=E+4|0;K=e+160|0;L=T+1|0;M=U+1|0;w=e+7520|0;x=e+7504|0;y=R?f+-8|0:0;N=e+7552|0;z=e+7516|0;A=e+7500|0;t=g;h=P;i=D;while(1){if((t|0)>=(G|0))break;p=t+4|0;q=h&-2;o=u;while(1){if((o|0)>=(O|0))break;l=c[I>>2]|0;s=c[J>>2]|0;j=l+((H(s,t)|0)+o>>2)|0;j=a[j>>0]|0;k=j&255;s=l+((H(s,p)|0)+o>>2)|0;s=a[s>>0]|0;l=s&255;m=s<<24>>24==0;do if((s|j)<<24>>24){r=o+-1|0;n=gR(e,r,t)|0;n=n+1+(gR(e,o,t)|0)>>1;s=n+i|0;s=(s|0)<51?s:51;s=d[80624+((s|0)>0?s:0)>>0]|0;if(!(j<<24>>24))j=0;else{j=n+-2+q+(k<<1)|0;j=(j|0)<53?j:53;j=d[80688+((j|0)>0?j:0)>>0]|0}c[E>>2]=j;if(m)j=0;else{j=n+-2+q+(l<<1)|0;j=(j|0)<53?j:53;j=d[80688+((j|0)>0?j:0)>>0]|0}c[v>>2]=j;n=c[K>>2]|0;j=c[n+32>>2]|0;k=H(j,t)|0;k=(c[n>>2]|0)+((o<<c[(c[V>>2]|0)+52>>2])+k)|0;if(S){n=(GE(e,r,t)|0)&255;a[T>>0]=n;r=(GE(e,r,p)|0)&255;a[L>>0]=r;r=(GE(e,o,t)|0)&255;a[U>>0]=r;r=(GE(e,o,p)|0)&255;a[M>>0]=r;kc[c[w>>2]&127](k,j,s,E,T,U);break}else{kc[c[x>>2]&127](k,j,s,E,T,U);break}}while(0);o=o+8|0}a:do if(t){r=t+-1|0;q=y;while(1){if((q|0)>=(B|0))break a;m=c[N>>2]|0;s=H(c[J>>2]|0,t)|0;j=a[m+(s+q>>2)>>0]|0;l=j&255;p=q+4|0;s=a[m+(s+p>>2)>>0]|0;m=s&255;n=s<<24>>24==0;do if((s|j)<<24>>24){k=gR(e,q,r)|0;k=k+1+(gR(e,q,t)|0)>>1;i=(q|0)>=(f|0);h=i?P:F;i=i?D:C;o=k+i|0;o=(o|0)<51?o:51;o=d[80624+((o|0)>0?o:0)>>0]|0;if(!(j<<24>>24))j=0;else{j=k+-2+(h&-2)+(l<<1)|0;j=(j|0)<53?j:53;j=d[80688+((j|0)>0?j:0)>>0]|0}c[E>>2]=j;if(n)j=0;else{j=k+-2+(h&-2)+(m<<1)|0;j=(j|0)<53?j:53;j=d[80688+((j|0)>0?j:0)>>0]|0}c[v>>2]=j;s=c[K>>2]|0;j=c[s+32>>2]|0;k=H(j,t)|0;k=(c[s>>2]|0)+((q<<c[(c[V>>2]|0)+52>>2])+k)|0;if(S){s=(GE(e,q,r)|0)&255;a[T>>0]=s;s=(GE(e,p,r)|0)&255;a[L>>0]=s;s=(GE(e,q,t)|0)&255;a[U>>0]=s;s=(GE(e,p,t)|0)&255;a[M>>0]=s;kc[c[z>>2]&127](k,j,o,E,T,U);break}else{kc[c[A>>2]&127](k,j,o,E,T,U);break}}while(0);q=q+8|0}}while(0);t=t+8|0}b:do if(c[(c[V>>2]|0)+4>>2]|0){A=Q+4|0;B=e+7528|0;C=e+7512|0;x=R?F:P;y=e+7524|0;z=e+7508|0;w=1;while(1){if((w|0)==3)break b;t=c[V>>2]|0;v=1<<c[t+13424+(w<<2)>>2];t=1<<c[t+13436+(w<<2)>>2];q=v<<3;r=R?f:q;s=t<<2;t=t<<3;u=R?f-q|0:0;v=v<<2;p=g;while(1){if((p|0)>=(G|0))break;m=p+s|0;l=r;while(1){if((l|0)>=(O|0))break;F=c[I>>2]|0;j=c[J>>2]|0;i=F+((H(j,p)|0)+l>>2)|0;j=F+((H(j,m)|0)+l>>2)|0;i=(a[i>>0]|0)==2;j=(a[j>>0]|0)==2;do if(i|j){n=l+-1|0;k=gR(e,n,m)|0;k=k+1+(gR(e,l,m)|0)>>1;if(i){i=gR(e,n,p)|0;i=oA(e,i+1+(gR(e,l,p)|0)>>1,w,h)|0}else i=0;c[Q>>2]=i;if(j)i=oA(e,k,w,h)|0;else i=0;c[A>>2]=i;E=c[K>>2]|0;F=c[V>>2]|0;i=c[E+32+(w<<2)>>2]|0;j=H(p>>c[F+13436+(w<<2)>>2],i)|0;j=(c[E+(w<<2)>>2]|0)+((l>>c[F+13424+(w<<2)>>2]<<c[F+52>>2])+j)|0;if(S){F=(GE(e,n,p)|0)&255;a[T>>0]=F;F=(GE(e,n,m)|0)&255;a[L>>0]=F;F=(GE(e,l,p)|0)&255;a[U>>0]=F;F=(GE(e,l,m)|0)&255;a[M>>0]=F;jc[c[B>>2]&255](j,i,Q,T,U);break}else{jc[c[C>>2]&255](j,i,Q,T,U);break}}while(0);l=l+q|0}c:do if(p){o=O-((O|0)==(c[(c[V>>2]|0)+13376>>2]|0)?0:q)|0;m=p+-1|0;l=u;while(1){if((l|0)>=(o|0)){h=x;break c}F=c[N>>2]|0;j=H(c[J>>2]|0,p)|0;n=l+v|0;h=(a[F+(j+l>>2)>>0]|0)==2;j=(a[F+(j+n>>2)>>0]|0)==2;do if(h|j){if(h){i=gR(e,l,m)|0;i=i+1+(gR(e,l,p)|0)>>1}else i=0;if(j){k=gR(e,n,m)|0;k=k+1+(gR(e,n,p)|0)>>1}else k=0;if(h)h=oA(e,i,w,x)|0;else h=0;c[Q>>2]=h;if(j)h=oA(e,k,w,P)|0;else h=0;c[A>>2]=h;E=c[K>>2]|0;F=c[V>>2]|0;h=c[E+32+(w<<2)>>2]|0;i=H(p>>c[F+13440>>2],h)|0;i=(c[E+(w<<2)>>2]|0)+((l>>c[F+13428>>2]<<c[F+52>>2])+i)|0;if(S){F=(GE(e,l,m)|0)&255;a[T>>0]=F;F=(GE(e,n,m)|0)&255;a[L>>0]=F;F=(GE(e,l,p)|0)&255;a[U>>0]=F;F=(GE(e,n,p)|0)&255;a[M>>0]=F;jc[c[y>>2]&255](i,h,Q,T,U);break}else{jc[c[z>>2]&255](i,h,Q,T,U);break}}while(0);l=l+q|0}}while(0);p=p+t|0}w=w+1|0}}while(0);Mb=W;return}function zd(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,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0;E=Mb;Mb=Mb+16|0;x=E;n=c[f+26352>>2]|0;j=c[g+21796>>2]|0;v=g+21792|0;l=c[v>>2]|0;t=c[h>>2]|0;w=t&64;r=g+25336|0;NI(f,r,(t>>>7&1)+l|0);t=g+25372|0;p=c[(c[t>>2]|0)+48>>2]|0;q=c[h>>2]|0;i=(q&128|0)!=0;do if(!(c[p+(j<<2)>>2]&128))if(i){l=c[v>>2]&-2;k=c[f+27e3>>2]|0;o=(H(k,l)|0)+(c[g+21788>>2]|0)|0;m=c[p+(o<<2)>>2]|0;c[x>>2]=m;i=c[p+(o+k<<2)>>2]|0;j=x+4|0;c[j>>2]=i;k=k<<2|2;n=n*6|0;if((i^m)&128){i=i&-129;m=m&-129;c[x>>2]=m;c[j>>2]=i}if(m&15|0?!((w|0)!=0|(i&15|0)==0):0){j=o;u=20744;i=q|61712;s=m;break}j=o;u=20744;i=q|61504;s=m}else{k=2;D=13}else{if(i){D=c[g+21852>>2]|0;k=2;l=D+l|0;i=j;j=D}else{j=(c[v>>2]&-2)+(c[g+21848>>2]|0)|0;k=0;l=j;i=c[g+21788>>2]|0}j=(H(c[f+27e3>>2]|0,j)|0)+i|0;D=13}while(0);do if((D|0)==13){m=c[p+(j<<2)>>2]|0;c[x+4>>2]=m;c[x>>2]=m;i=(w|0)!=0;if(!(i|(m&15|0)==0)){u=20744;i=q|20744;s=m;break}if(!i?(o=m&48,o|0):0){u=20744;i=q|o|61696;s=m;break}u=(c[(c[f+28200>>2]|0)+72>>2]|0)==0?20800:20744;i=q|61504;s=m}while(0);c[h>>2]=i;NI(f,r,l);r=c[t>>2]|0;l=c[(c[f+26344>>2]|0)+(j<<2)>>2]|0;i=(c[r+36>>2]|0)+(l<<2)|0;l=(c[r+40>>2]|0)+(l<<2)|0;m=j<<2;j=(c[r+68>>2]|0)+m|0;m=(c[r+72>>2]|0)+m|0;if(!k){A=(c[v>>2]&1|0)==0;B=n<<1;C=A?i:i+(B<<2)|0;l=A?l:l+(B<<2)|0;B=A?j:j+2|0;m=A?m:m+2|0}else{C=i;B=j}i=g+22252|0;p=g+22444|0;o=g+21868|0;q=c[h>>2]|0;j=q&128;if(c[f+26360>>2]|0)if(!j){j=0;z=p}else{z=c[v>>2]&1;o=g+21996+(z<<7)|0;i=g+22636+(z*384|0)|0;z=g+22636+(z*384|0)+192|0}else z=p;A=s>>3&c[r+632>>2]<<4;a:do if((j|0)==(s&128|0)){if(q&8|0){c[g+28324>>2]=0;c[g+28332>>2]=0;c[g+28340>>2]=0;c[g+28348>>2]=0;if(!(s&7)){j=a[B>>0]|0;k=j<<24>>24>-1;if(!k){j=a[m>>0]|0;i=z}D=c[i+(A+(j<<24>>24)<<2)>>2]|0;B=c[o+(D<<2)>>2]|0;C=k?C:l;i=b[C>>1]|0;j=(H(B,i)|0)+128>>8;C=b[C+2>>1]|0;k=(H(B,C)|0)+128>>8;i=k-C<<16|j-i&65535;j=k<<16|j&65535;k=H(D,16843009)|0}else{i=0;j=0;k=0}c[g+28284>>2]=k;c[g+28292>>2]=k;c[g+28300>>2]=k;c[g+28308>>2]=k;c[g+28e3>>2]=j;c[g+28004>>2]=j;c[g+28008>>2]=j;c[g+28012>>2]=j;c[g+28032>>2]=j;c[g+28036>>2]=j;c[g+28040>>2]=j;c[g+28044>>2]=j;c[g+28064>>2]=j;c[g+28068>>2]=j;c[g+28072>>2]=j;c[g+28076>>2]=j;c[g+28096>>2]=j;c[g+28100>>2]=j;c[g+28104>>2]=j;c[g+28108>>2]=j;c[g+28160>>2]=i;c[g+28164>>2]=i;c[g+28168>>2]=i;c[g+28172>>2]=i;c[g+28192>>2]=i;c[g+28196>>2]=i;c[g+28200>>2]=i;c[g+28204>>2]=i;c[g+28224>>2]=i;c[g+28228>>2]=i;c[g+28232>>2]=i;c[g+28236>>2]=i;c[g+28256>>2]=i;c[g+28260>>2]=i;c[g+28264>>2]=i;c[g+28268>>2]=i;break}x=(w|0)==0;y=u&65535;w=(s&7|0)==0;f=(u&8|0)==0;v=n*3|0;h=0;while(1){if((h|0)==4)break a;r=h&1;s=h>>>1;j=g+28552+(h<<1)|0;if(!(!x?!(b[j>>1]&256):0))D=46;b:do if((D|0)==46){D=0;b[j>>1]=y;u=h<<2;p=d[91792+u>>0]|0;t=g+28312+p|0;b[t>>1]=0;b[t+8>>1]=0;if(!w){u=g+28272+p|0;b[u>>1]=0;b[u+8>>1]=0;u=g+27952+(p<<2)|0;c[u>>2]=0;c[u+4>>2]=0;c[u+32>>2]=0;c[u+36>>2]=0;u=g+28112+(p<<2)|0;c[u>>2]=0;c[u+4>>2]=0;c[u+32>>2]=0;c[u+36>>2]=0;break}j=a[B+h>>0]|0;if(j<<24>>24>-1){t=C;k=i}else{t=l;j=a[m+h>>0]|0;k=z}j=c[k+(A+(j<<24>>24)<<2)>>2]|0;q=c[o+(j<<2)>>2]|0;k=g+28272+p|0;j=j*257&65535;b[k>>1]=j;b[k+8>>1]=j;if(!f){u=(H(v,s)|0)+(0-r&3)|0;s=b[t+(u<<2)>>1]|0;r=(H(q,s)|0)+128>>8;t=b[t+(u<<2)+2>>1]|0;q=(H(q,t)|0)+128>>8;u=g+27952+(p<<2)|0;k=q<<16|r&65535;c[u>>2]=k;c[u+4>>2]=k;c[u+32>>2]=k;c[u+36>>2]=k;u=g+28112+(p<<2)|0;t=q-t<<16|r-s&65535;c[u>>2]=t;c[u+4>>2]=t;c[u+32>>2]=t;c[u+36>>2]=t;break}k=r<<1;p=h&2147483646;j=0;while(1){if((j|0)==4)break b;G=(H((j>>>1)+p|0,n)|0)+(j&1|k)|0;r=t+(G<<2)|0;s=d[91792+(j+u)>>0]|0;F=((H(q,b[r>>1]|0)|0)+128|0)>>>8;b[g+27952+(s<<2)>>1]=F;G=t+(G<<2)+2|0;I=((H(q,b[G>>1]|0)|0)+128|0)>>>8;b[g+27952+(s<<2)+2>>1]=I;c[g+28112+(s<<2)>>2]=I-(e[G>>1]|0)<<16|F-(e[r>>1]|0)&65535;j=j+1|0}}while(0);h=h+1|0}}else{v=j>>>6^2;f=(w|0)==0;h=u&65535;u=0;while(1){if((u|0)==4)break a;r=u&1;s=u>>>1;j=g+28552+(u<<1)|0;if(!(!f?!(b[j>>1]&256):0)){b[j>>1]=h;t=d[91792+(u<<2)>>0]|0;I=g+28312+t|0;b[I>>1]=0;b[I+8>>1]=0;if(!(c[x+(s<<2)>>2]&7)){p=(H(s,k)|0)+r|0;j=a[B+p>>0]|0;if(j<<24>>24>-1){q=C;p=i}else{q=l;j=a[m+p>>0]|0;p=z}G=c[p+(A+(j<<24>>24)<<2)>>2]|0;F=c[o+(G<<2)>>2]|0;j=g+28272+t|0;G=G*257&65535;b[j>>1]=G;b[j+8>>1]=G;j=(0-r&3)+(H(s,n)|0)|0;G=(b[q+(j<<2)+2>>1]<<v|0)/2|0;j=b[q+(j<<2)>>1]|0;I=(H(F,j)|0)+128>>8;F=(H(G,F)|0)+128>>8;D=g+27952+(t<<2)|0;y=F<<16|I&65535;c[D>>2]=y;c[D+4>>2]=y;c[D+32>>2]=y;c[D+36>>2]=y;j=F-G<<16|I-j&65535}else{j=g+28272+t|0;b[j>>1]=0;b[j+8>>1]=0;j=g+27952+(t<<2)|0;c[j>>2]=0;c[j+4>>2]=0;c[j+32>>2]=0;c[j+36>>2]=0;j=0}I=g+28112+(t<<2)|0;c[I>>2]=j;c[I+4>>2]=j;c[I+32>>2]=j;c[I+36>>2]=j}u=u+1|0}}while(0);Mb=E;return}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,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=Mb;Mb=Mb+96|0;x=E+72|0;w=E+56|0;u=E+48|0;o=E+40|0;p=E+32|0;l=E+16|0;k=E;e=mf(a,b,e)|0;a:do if((e|0)>=0){A=a+28200|0;q=c[A>>2]|0;m=a+25672|0;n=c[m>>2]|0;B=a+26364|0;v=c[B>>2]|0;C=d+68|0;c[m>>2]=(c[C>>2]|0)==0&1;e=c[b+21824>>2]|0;c[B>>2]=e;f=c[b+34732>>2]|0;y=a+28208|0;D=a+28228|0;c[D>>2]=f;c[y>>2]=c[b+34736>>2];c[a+28216>>2]=c[b+34740>>2];c[a+28220>>2]=c[b+34744>>2];c[a+28224>>2]=c[b+34748>>2];r=a+28248|0;g=c[r>>2]|0;if((f|0)!=(g|0)?(h=1<<c[q+20>>2],z=c[q+48>>2]|0,i=f-z|0,(f-g+((f|0)<(g|0)?h:0)|0)>(z|0)):0)c[r>>2]=i+-1+((i|0)<1?h:0);z=a+26368|0;do if(c[z>>2]|0){i=(v|0)==2;f=i&1;j=a+24312|0;g=c[j>>2]|0;if(!g){c[k>>2]=208056;c[k+4>>2]=207591;c[k+8>>2]=1452;AD(0,0,222515,k);ba()}if(!(c[(c[g>>2]|0)+248>>2]|0)){c[l>>2]=208071;c[l+4>>2]=207591;c[l+8>>2]=1453;AD(0,0,222515,l);ba()}h=a+4|0;if((c[g+8+(f<<2)>>2]|0)==(c[h>>2]|0)){Dy(g+4|0,2147483647,f);e=c[B>>2]|0}if((e|0)==3|(e|0)==(v|0)){if((v|0)==3){n=j;break}Dy((c[j>>2]|0)+4|0,2147483647,(v|0)==1&1);n=j;break}f=c[j>>2]|0;if((c[f+88>>2]|0)!=(c[D>>2]|0)){if((v|0)==3){n=j;break}Dy(f+4|0,2147483647,(v|0)==1&1);n=j;break}if(!((v|0)==1&(e|0)==2|i&(e|0)==1)){a=c[h>>2]|0;c[p>>2]=v;c[p+4>>2]=e;AD(a,16,208097,p);c[B>>2]=v;c[m>>2]=n;e=-1094995529;break a}if((n|0)==(c[m>>2]|0))n=j;else{GU(c[h>>2]|0,208135,o);c[B>>2]=v;c[m>>2]=n;e=-1163346256;break a}}else{h=a+4|0;n=a+24312|0}while(0);k=q+20|0;l=a+29540|0;g=q+52|0;j=a+28332|0;m=a+29532|0;while(1){i=c[D>>2]|0;e=c[r>>2]|0;f=(c[z>>2]|0)==0;if((i|0)==(e|0)){g=47;break}if(!f){g=48;break}if((i|0)==((e+1|0)%(1<<c[k>>2]|0)|0|0)){g=59;break}if(!(c[l>>2]|0))f=0;else f=c[j>>2]|0;q=c[h>>2]|0;c[u>>2]=i;c[u+4>>2]=e;AD(q,48,208201,u);b:do if(!(c[g>>2]|0)){e=0;while(1){if((e|0)==16)break b;c[a+28660+(e<<2)>>2]=-2147483648;e=e+1|0}}while(0);e=Qf(a)|0;if((e|0)<0){g=34;break}q=((c[r>>2]|0)+1|0)%(1<<c[k>>2]|0)|0;c[r>>2]=q;e=c[n>>2]|0;c[e+88>>2]=q;c[e+648>>2]=(c[g>>2]|0)==0&1;Dy(e+4|0,2147483647,0);Dy((c[n>>2]|0)+4|0,2147483647,1);c[m>>2]=0;e=Bd(a)|0;if((e|0)<0?c[(c[h>>2]|0)+688>>2]&8|0:0)break a;if(c[l>>2]|0){e=c[j>>2]|0;if((((f|0)!=0?(s=c[e>>2]|0,t=c[f>>2]|0,(c[s+68>>2]|0)==(c[t+68>>2]|0)):0)?(c[s+72>>2]|0)==(c[t+72>>2]|0):0)?(c[s+80>>2]|0)==(c[t+80>>2]|0):0){e=f+4|0;Yw(e,2147483647,0);if(c[f+636>>2]|0)Yw(e,2147483647,1);q=c[c[j>>2]>>2]|0;e=c[f>>2]|0;jD(q,q+32|0,e,e+32|0,c[e+80>>2]|0,c[e+68>>2]|0,c[e+72>>2]|0);e=c[j>>2]|0;c[e+84>>2]=(c[f+84>>2]|0)+2}c[e+88>>2]=c[r>>2]}}if((g|0)==34){c[z>>2]=0;break}else if((g|0)==47)if(f)g=59;else g=48;do if((g|0)==48){g=c[n>>2]|0;if(!g){c[w>>2]=208056;c[w+4>>2]=207591;c[w+8>>2]=1559;AD(0,0,222515,w);ba()}if(!(c[(c[g>>2]|0)+248>>2]|0)){c[x>>2]=208071;c[x+4>>2]=207591;c[x+8>>2]=1560;AD(0,0,222515,x);ba()}e=c[B>>2]|0;f=a+29568|0;if((e|0)==3|(e|0)==(v|0)){c[f>>2]=(c[f>>2]|0)+1;c[n>>2]=0;f=(e|0)!=3&1;c[z>>2]=f;g=60;break}c[f>>2]=0;if((c[g+88>>2]|0)!=(i|0)){Dy(g+4|0,2147483647,(e|0)==2&1);c[z>>2]=1;c[n>>2]=0;e=c[B>>2]|0;f=1;g=60;break}if(!(c[g+640>>2]&4)){c[z>>2]=0;g=63;break}else{c[z>>2]=1;c[n>>2]=0;g=61;break}}else if((g|0)==59){e=c[B>>2]|0;f=(e|0)!=3&1;c[z>>2]=f;g=60}while(0);if((g|0)==60)if((e|0)!=3&(f|0)==0)g=63;else g=61;if((g|0)==61){if((Qf(a)|0)<0){c[z>>2]=0;e=-1094995529;break}}else if((g|0)==63){GD(a,0);c[(c[n>>2]|0)+8+(((e|0)==2&1)<<2)>>2]=c[h>>2]}e=c[B>>2]|0;c:do if((e|0)==3)jv(c[a+26356>>2]|0,-1,(H(c[a+26992>>2]<<1,c[a+27e3>>2]|0)|0)+-2|0)|0;else{g=a+26992|0;h=a+26356|0;i=a+27e3|0;e=(e|0)==2&1;while(1){f=c[g>>2]|0;if((e|0)>=(f|0))break c;w=c[i>>2]|0;x=e+1|0;jv((c[h>>2]|0)+((H(w,e)|0)<<1)|0,-1,w-((x|0)==(f|0)&1)<<1|0)|0;e=x}}while(0);j=c[n>>2]|0;aj(j+76|0,j+84|0,c[A>>2]|0,y,c[B>>2]|0,c[C>>2]|0)|0;j=b+34724|0;Mn(a+28732|0,b+33932|0,(c[j>>2]|0)*12|0)|0;c[a+29524>>2]=c[j>>2];c[m>>2]=c[b+34728>>2];j=(c[d+48>>2]|0)==5;k=j&1;c[a+25696>>2]=k;h=c[a+29700>>2]|0;do if((h|0)>-1){i=c[D>>2]|0;if(!((i|0)==(h|0)?(c[b+840>>2]|0)==1:0))c[a+29552>>2]=1;f=a+29556|0;g=c[f>>2]|0;if((g|0)>=0){e=(1<<c[(c[A>>2]|0)+20>>2])+-1|0;if((e&g-i)>>>0<=h>>>0)break}else e=(1<<c[(c[A>>2]|0)+20>>2])+-1|0;c[f>>2]=(c[a+29552>>2]|0)==0?i:e&i+h}else f=a+29556|0;while(0);e=c[n>>2]|0;A=(c[e>>2]|0)+84|0;c[A>>2]=c[A>>2]|k;if(!j){if((c[f>>2]|0)==(c[D>>2]|0)?c[C>>2]|0:0){c[f>>2]=-1;c[e+644>>2]=1}}else{c[f>>2]=-1;c[e+644>>2]=1;D=a+29560|0;c[D>>2]=c[D>>2]|1}D=e+644|0;c[D>>2]=c[D>>2]|c[a+29560>>2];if(((c[B>>2]|0)!=3?c[z>>2]|0:0)?(c[a+29568>>2]|0)<=1:0){e=0;break}Xf(a);qf(a);e=0}while(0);Mb=E;return e|0}function Bd(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;J=Mb;Mb=Mb+128|0;B=J+96|0;z=J+88|0;y=J+80|0;u=J+64|0;t=J+56|0;s=J+48|0;r=J+40|0;w=J+32|0;v=J+24|0;q=J+8|0;m=J+112|0;n=J+108|0;if(!(c[a+29532>>2]|0))Hx(a);p=c[a+29524>>2]|0;I=a+4|0;b=c[I>>2]|0;if((p|0)==0?(c[b+680>>2]&2048|0)!=0:0)AD(b,48,206703,J);A=a+28332|0;F=a+24312|0;G=a+29540|0;D=a+29536|0;E=a+26364|0;k=a+28228|0;l=a+29528|0;j=0;f=0;b=0;d=0;i=0;a:while(1){if((j|0)>=(p|0))break;e=c[I>>2]|0;if(!(c[e+680>>2]&2048))g=a+28732+(j*12|0)|0;else{g=a+28732+(j*12|0)|0;K=c[a+28732+(j*12|0)+4>>2]|0;h=c[a+28732+(j*12|0)+8>>2]|0;c[q>>2]=c[g>>2];c[q+4>>2]=K;c[q+8>>2]=h;AD(e,48,206717,q)}e=c[g>>2]|0;b:do switch(e|0){case 3:case 1:{e=AR(a,c[a+28732+(j*12|0)+4>>2]|0,n)|0;f=dx(a,e,m)|0;b=c[g>>2]|0;if(!f){if(((b|0)==3?(o=c[a+28460+(c[a+28732+(j*12|0)+8>>2]<<2)>>2]|0,o|0):0)?(c[o+88>>2]|0)==(e|0):0){g=i;b=0;break b}AD(c[I>>2]|0,(c[G>>2]|0)==0?48:16,206732,v);d=-1094995529;g=i;b=0}else{h=e;x=16}break}default:{h=f;f=b;b=e;x=16}}while(0);c:do if((x|0)==16){x=0;switch(b|0){case 1:{b=c[I>>2]|0;if(c[b+680>>2]&2048|0){K=c[G>>2]|0;c[w>>2]=c[a+28732+(j*12|0)+4>>2];c[w+4>>2]=K;AD(b,48,206759,w)}tC(a,h,c[n>>2]^3)|0;e=h;g=i;b=f;break c}case 3:{b=a+28732+(j*12|0)+8|0;e=c[b>>2]|0;if((c[a+28460+(e<<2)>>2]|0)!=(f|0))qP(a,e,0);_P(a,c[m>>2]|0);c[a+28460+(c[b>>2]<<2)>>2]=f;if(!f){e=h;g=i;b=0;break c}c[f+100>>2]=1;c[D>>2]=(c[D>>2]|0)+1;e=h;g=i;b=f;break c}case 2:{e=AR(a,c[a+28732+(j*12|0)+8>>2]|0,n)|0;c[m>>2]=e;b=c[a+28460+(e<<2)>>2]|0;if(b|0){qP(a,e,c[n>>2]^3);e=h;g=i;break c}b=c[I>>2]|0;if(!(c[b+680>>2]&2048)){e=h;g=i;b=0;break c}AD(b,48,206790,r);e=h;g=i;b=0;break c}case 6:{b=c[F>>2]|0;if((c[A>>2]|0)==(b|0)){AD(c[I>>2]|0,16,206816,s);_P(a,0);b=c[F>>2]|0}g=a+28732+(j*12|0)+8|0;if(c[b+100>>2]|0){b=0;while(1){if((b|0)==32)break;if((c[a+28460+(b<<2)>>2]|0)==(c[F>>2]|0)){if((b|0)!=(c[g>>2]|0))AD(c[I>>2]|0,16,206888,t);qP(a,b,0)}b=b+1|0}c[m>>2]=32;b=c[F>>2]|0}e=c[g>>2]|0;if((c[a+28460+(e<<2)>>2]|0)!=(b|0)){if(c[b+100>>2]|0){x=42;break a}qP(a,e,0);b=c[F>>2]|0;c[a+28460+(c[g>>2]<<2)>>2]=b;c[b+100>>2]=1;c[D>>2]=(c[D>>2]|0)+1;b=c[F>>2]|0}e=b+640|0;c[e>>2]=c[e>>2]|c[E>>2];e=h;g=1;b=f;break c}case 4:{b=c[a+28732+(j*12|0)+8>>2]|0;while(1){if((b|0)>=16)break;qP(a,b,0);b=b+1|0}c[m>>2]=b;e=h;g=i;b=f;break c}case 5:{while(1){if(!(c[G>>2]|0))break;tC(a,c[(c[A>>2]|0)+88>>2]|0,0)|0}b=0;while(1){if((b|0)==16)break;qP(a,b,0);b=b+1|0}c[m>>2]=16;b=c[F>>2]|0;c[b+88>>2]=0;c[k>>2]=0;c[l>>2]=1;c[b+92>>2]=1;b=0;while(1){if((b|0)==16)break;c[a+28660+(b<<2)>>2]=-2147483648;b=b+1|0}c[m>>2]=16;e=h;g=i;b=f;break c}default:{e=h;g=i;b=f;break c}}}while(0);j=j+1|0;f=e;i=g}if((x|0)==42){c[u>>2]=206951;c[u+4>>2]=206341;c[u+8>>2]=696;AD(0,0,222515,u);ba()}do if(!i){if(c[G>>2]|0){e=c[A>>2]|0;b=c[F>>2]|0;if((e|0)==(b|0)){K=e+640|0;c[K>>2]=c[K>>2]|c[E>>2];break}}else b=c[F>>2]|0;if(c[b+100>>2]|0){AD(c[I>>2]|0,16,206977,y);d=-1094995529;break}if(tC(a,c[b+88>>2]|0,0)|0){AD(c[I>>2]|0,16,207090,z);d=-1094995529}b=c[G>>2]|0;if(!b)b=1;else{WL(a+28336|0,A|0,b<<2|0)|0;b=(c[G>>2]|0)+1|0}K=c[F>>2]|0;c[a+28332>>2]=K;c[G>>2]=b;K=K+640|0;c[K>>2]=c[K>>2]|c[E>>2]}while(0);b=c[D>>2]|0;e=c[G>>2]|0;h=a+28200|0;f=c[(c[h>>2]|0)+48>>2]|0;do if((e+b|0)>(((f|0)>1?f:1)|0)){K=c[I>>2]|0;c[B>>2]=b;c[B+4>>2]=e;c[B+8>>2]=f;AD(K,16,207132,B);b=c[G>>2]|0;if(!((c[D>>2]|0)!=0&(b|0)==0)){tC(a,c[(c[a+28332+(b+-1<<2)>>2]|0)+88>>2]|0,0)|0;g=-1094995529;break}b=0;while(1){if(b>>>0>=16)break;if(c[a+28460+(b<<2)>>2]|0)break;b=b+1|0}qP(a,b,0);g=-1094995529}else g=d;while(0);b=0;while(1){if((b|0)>=(c[G>>2]|0))break;d=c[a+28332+(b<<2)>>2]|0;if(c[d+648>>2]|0?(C=c[d+88>>2]|0,K=c[h>>2]|0,((1<<c[K+20>>2])+-1&(c[(c[F>>2]|0)+88>>2]|0)-C|0)>(c[K+48>>2]|0)):0)tC(a,C,0)|0;b=b+1|0}Dx(a);ay(a);e=0;f=0;d=0;while(1){if((e|0)==256)break;b=c[a+27164+(e<<2)>>2]|0;if(!b)b=f;else{K=c[b+4>>2]|0;b=c[K+20>>2]|0;K=c[K+24>>2]|0;b=f>>>0>b>>>0?f:b;d=d>>>0>K>>>0?d:K}e=e+1|0;f=b}do if((g|0)>-1?(c[D>>2]|0)==0:0){b=c[E>>2]|0;if((c[G>>2]|0)>=3?!((d|0)<2&(f|0)<=(((b|0)==3?1:2)|0)):0)break;if(((f|0)<=((((c[a+29564>>2]|0)==0&1)<<1)+((b|0)==3?2:3)|0)?(H=c[F>>2]|0,(c[(c[H>>2]|0)+88>>2]|0)==1):0)?(K=H+644|0,c[K>>2]=c[K>>2]|1,(c[(c[I>>2]|0)+180>>2]|0)==0):0){K=a+29560|0;c[K>>2]=c[K>>2]|2}}while(0);Mb=J;return ((c[(c[I>>2]|0)+688>>2]&8|0)==0?0:g)|0}function Cd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=Mb;Mb=Mb+64|0;p=C+56|0;o=C+48|0;v=C+32|0;t=C+24|0;u=C+16|0;f=C;y=c[d>>2]|0;B=d+21788|0;q=c[B>>2]|0;z=d+868|0;A=c[z>>2]|0;x=c[c[y+24312>>2]>>2]|0;b=c[x+32>>2]|0;e=d+21772|0;c[e>>2]=b;c[d+21776>>2]=c[x+36>>2];b=Ew(d,b)|0;a:do if((b|0)>=0){n=d+21816|0;c[n>>2]=-1;if((c[y+26020>>2]|0)!=(((c[e>>2]|0)*12|0)+(12<<c[y+25652>>2])|0)){c[f>>2]=208728;c[f+4>>2]=207591;c[f+8>>2]=2540;AD(0,0,222515,f);ba()}if(c[y+25692>>2]|0)c[z>>2]=0;w=y+26360|0;if(!(c[w>>2]|0))b=(c[y+26364>>2]|0)!=3&1;else b=1;c[d+21820>>2]=b;x=y+4|0;if(((((c[(c[x>>2]|0)+808>>2]&2|0)==0?(c[y+26364>>2]|0)==3:0)?(h=c[y+25628>>2]|0,i=c[h+604>>2]|0,i|0):0)?(s=(H(c[y+26996>>2]|0,c[d+21804>>2]|0)|0)+(c[d+21800>>2]|0)|0,g=(c[y+27004>>2]|0)+-1|0,g=(s|0)>(g|0)?g:s,!((s|0)<0|(g|0)==0)):0)?(a[i+(c[(c[h+572>>2]|0)+(g+-1<<2)>>2]|0)>>0]&-2)<<24>>24!=112:0)c[h+600>>2]=1;do if(!(c[(c[y+28196>>2]|0)+4>>2]|0)){m=d+21792|0;f=y+26996|0;i=d+21812|0;l=d+4|0;j=y+26364|0;k=y+26992|0;e=q;while(1){v=(H(c[f>>2]|0,c[m>>2]|0)|0)+(c[B>>2]|0)|0;b=c[i>>2]|0;if((v|0)>=(b|0)){f=46;break}b=uc(y,d)|0;if((b|0)<=-1){f=52;break}UV(y,d);if(c[w>>2]|0){c[m>>2]=(c[m>>2]|0)+1;b=uc(y,d)|0;if((b|0)<=-1){f=50;break}UV(y,d);c[m>>2]=(c[m>>2]|0)+-1}b=(c[B>>2]|0)+1|0;c[B>>2]=b;if((b|0)>=(c[f>>2]|0)){ed(y,d,e,b);c[B>>2]=0;fw(y,d);b=c[m>>2]|0;e=b+1|0;c[m>>2]=e;if(!(c[w>>2]|0)){if((c[j>>2]|0)!=3){e=b+2|0;c[m>>2]=e}}else{b=b+2|0;c[m>>2]=b;if((b|0)<(c[k>>2]|0)){cA(y,d);e=c[m>>2]|0}else e=b}if((e|0)<(c[k>>2]|0))h=0;else{f=61;break}}else h=e;g=a$(l)|0;if((g|0)<1?(c[n>>2]|0)<1:0){f=69;break}e=h}if((f|0)==46){A=c[x>>2]|0;c[o>>2]=b;AD(A,16,208855,o);$S(d,c[d+21800>>2]|0,c[d+21804>>2]|0,c[B>>2]|0,c[m>>2]|0,14);b=-1094995529;break a}else if((f|0)==50){e=(c[m>>2]|0)+-1|0;c[m>>2]=e}else if((f|0)==52)e=c[m>>2]|0;else if((f|0)==61){b=a$(l)|0;do if(b|0){if((b|0)>0?(c[(c[x>>2]|0)+688>>2]&262144|0)==0:0)break;$S(d,c[d+21800>>2]|0,c[d+21804>>2]|0,c[B>>2]|0,e,112);b=-1094995529;break a}while(0);$S(d,c[d+21800>>2]|0,c[d+21804>>2]|0,(c[B>>2]|0)+-1|0,e,112);break}else if((f|0)==69){b=c[d+21800>>2]|0;e=c[d+21804>>2]|0;f=c[B>>2]|0;if(g|0){$S(d,b,e,f,c[m>>2]|0,14);b=-1094995529;break a}$S(d,b,e,f+-1|0,c[m>>2]|0,112);b=c[B>>2]|0;if((b|0)<=(h|0))break;ed(y,d,h,b);break}A=c[x>>2]|0;c[p>>2]=c[B>>2];c[p+4>>2]=e;AD(A,16,208959,p);$S(d,c[d+21800>>2]|0,c[d+21804>>2]|0,c[B>>2]|0,c[m>>2]|0,14);break a}else{b=d+4|0;gZ(b);o=d+32856|0;s=c[b>>2]|0;s=s+((l1(b)|0)/8|0)|0;b=sB(o,s,((a$(b)|0)+7|0)/8|0)|0;if((b|0)<0)break a;Yz(y,d);s=d+21792|0;l=y+26996|0;m=d+21812|0;n=y+25688|0;r=d+32872|0;p=d+32876|0;j=y+26992|0;k=y+26364|0;i=q;b=c[s>>2]|0;while(1){q=(H(c[l>>2]|0,b)|0)+(c[B>>2]|0)|0;b=c[m>>2]|0;if((q|0)>=(b|0)){f=18;break}b=tc(y,d)|0;if((b|0)>-1?(UV(y,d),(c[w>>2]|0)!=0):0){c[s>>2]=(c[s>>2]|0)+1;b=tc(y,d)|0;if((b|0)>-1)UV(y,d);c[s>>2]=(c[s>>2]|0)+-1}h=dQ(o)|0;e=c[r>>2]|0;f=c[p>>2]|0;g=f+2|0;if((c[n>>2]&16384|0)!=0&e>>>0>g>>>0){f=25;break}if(e>>>0>g>>>0){q=c[x>>2]|0;c[t>>2]=f-e;AD(q,48,208887,t)}if((b|0)<0){f=30;break}b=c[r>>2]|0;e=c[p>>2]|0;if(b>>>0>(e+4|0)>>>0){f=32;break}b=(c[B>>2]|0)+1|0;c[B>>2]=b;do if((b|0)>=(c[l>>2]|0)){ed(y,d,i,b);c[B>>2]=0;fw(y,d);b=c[s>>2]|0;c[s>>2]=b+1;if(!(c[w>>2]|0)){if((c[k>>2]|0)==3){e=0;break}c[s>>2]=b+2;e=0;break}else{q=b+2|0;c[s>>2]=q;if((q|0)>=(c[j>>2]|0)){e=0;break}cA(y,d);e=0;break}}else e=i;while(0);b=c[s>>2]|0;if(h|0){f=42;break}if((b|0)>=(c[j>>2]|0)){f=42;break}else i=e}if((f|0)==18){A=c[x>>2]|0;c[u>>2]=b;AD(A,16,208855,u);$S(d,c[d+21800>>2]|0,c[d+21804>>2]|0,c[B>>2]|0,c[s>>2]|0,14);b=-1094995529;break a}else if((f|0)==25){$S(d,c[d+21800>>2]|0,c[d+21804>>2]|0,(c[B>>2]|0)+-1|0,c[s>>2]|0,112);b=c[B>>2]|0;if((b|0)<(i|0))break;ed(y,d,i,b+1|0);break}else if((f|0)==30){e=c[p>>2]|0;b=c[r>>2]|0}else if((f|0)!=32)if((f|0)==42){$S(d,c[d+21800>>2]|0,c[d+21804>>2]|0,(c[B>>2]|0)+-1|0,b,112);b=c[B>>2]|0;if((b|0)<=(e|0))break;ed(y,d,e,b);break}A=c[x>>2]|0;z=c[s>>2]|0;c[v>>2]=c[B>>2];c[v+4>>2]=z;c[v+8>>2]=e-b;AD(A,16,208912,v);$S(d,c[d+21800>>2]|0,c[d+21804>>2]|0,c[B>>2]|0,c[s>>2]|0,14);b=-1094995529;break a}while(0);c[z>>2]=A;b=0}while(0);Mb=C;return b|0}function Dd(d,e,f,g,h,i,j,k,l,m,n,o,p){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;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;G=Mb;Mb=Mb+32|0;y=G+16|0;x=G;C=c[d+136>>2]|0;F=d+1412|0;D=l-(c[(c[F>>2]|0)+13428>>2]|0)|0;E=C+31244|0;r=1<<l;if((c[E>>2]|0)==1){Ct(d,e,f,r,r);hc[c[d+5736+(l+-2<<2)>>2]&255](d,e,f,0)}A=(n|0)!=0;n=(c[o>>2]|0)==0;a:do if(A)if(n)w=10;else{s=1;w=14}else if(n?(c[p>>2]|0)==0:0){q=c[F>>2]|0;n=c[q+4>>2]|0;switch(n|0){case 0:break a;case 2:{if(c[o+4>>2]|0){w=10;break a}if(c[p+4>>2]|0){w=10;break a}break}default:{}}if((c[E>>2]|0)==1){if((l|0)>2|(n|0)==3){r=1<<(c[q+13428>>2]|0)+D;n=1<<(c[q+13440>>2]|0)+D;Ct(d,e,f,r,n);q=d+5736+(D+-2<<2)|0;hc[c[q>>2]&255](d,e,f,1);hc[c[q>>2]&255](d,e,f,2);if((c[(c[F>>2]|0)+4>>2]|0)!=2){n=0;break}F=(1<<D)+f|0;Ct(d,e,F,r,n);hc[c[q>>2]&255](d,e,F,1);hc[c[q>>2]&255](d,e,F,2);n=0;break}if((m|0)==3?(s=1<<l+1,t=1<<(c[q+13440>>2]|0)+l,Ct(d,g,h,s,t),u=d+5736+(l+-2<<2)|0,hc[c[u>>2]&255](d,g,h,1),hc[c[u>>2]&255](d,g,h,2),(c[(c[F>>2]|0)+4>>2]|0)==2):0){n=r+h|0;Ct(d,g,n,s,t);hc[c[u>>2]&255](d,g,n,1);hc[c[u>>2]&255](d,g,n,2);n=0}else n=0}else n=0}else{s=1;w=14}while(0);if((w|0)==10)if(!(c[p>>2]|0))if((c[(c[F>>2]|0)+4>>2]|0)==2)if(!(c[o+4>>2]|0)){s=(c[p+4>>2]|0)!=0;w=14}else{s=1;w=14}else{s=0;w=14}else{s=1;w=14}b:do if((w|0)==14){t=d+1416|0;do if(a[(c[t>>2]|0)+22>>0]|0?(v=C+300|0,(a[v>>0]|0)==0):0){B=tt(d)|0;n=C+280|0;c[n>>2]=B;if(B){B=(r$(d)|0)==1;q=c[n>>2]|0;if(B){q=0-q|0;c[n>>2]=q}}else q=0;a[v>>0]=1;r=(c[(c[F>>2]|0)+13448>>2]|0)/2|0;n=-26-r|0;r=r+25|0;if((q|0)<(n|0)|(q|0)>(r|0)){F=c[d+4>>2]|0;c[x>>2]=q;c[x+4>>2]=n;c[x+8>>2]=r;AD(F,16,179479,x);n=-1094995529;break b}else{HE(d,i,j,k);break}}while(0);if((s&(a[d+3076>>0]|0)!=0?(a[C+31254>>0]|0)==0:0)?(z=C+301|0,(a[z>>0]|0)==0):0){if(!(CZ(d)|0)){a[C+302>>0]=0;n=0}else{n=c[t>>2]|0;if(!(a[n+1633>>0]|0))q=0;else{q=AK(d)|0;AD(c[d+4>>2]|0,16,179536,y);n=c[t>>2]|0}a[C+302>>0]=a[n+1634+q>>0]|0;n=a[n+1640+q>>0]|0}a[C+303>>0]=n;a[z>>0]=1}if((l|0)<4&(c[E>>2]|0)==1){n=c[C+288>>2]|0;B=c[C+292>>2]|0;B=(B+-6|0)>>>0<9?2:(B+-22|0)>>>0<9&1;n=(n+-6|0)>>>0<9?2:(n+-22|0)>>>0<9&1}else{B=0;n=0}z=C+304|0;a[z>>0]=0;if(A)Nc(d,e,f,l,n,0);q=c[F>>2]|0;n=c[q+4>>2]|0;if(!n)n=0;else{if(!((l|0)>2|(n|0)==3)){if((m|0)!=3){n=0;break}t=1<<l+1;r=1<<(c[q+13440>>2]|0)+l;s=d+5736+(l+-2<<2)|0;q=0;while(1){if(q>>>0>=((n|0)==2?2:1)>>>0)break;n=(q<<l)+h|0;if((c[E>>2]|0)==1){Ct(d,g,n,t,r);hc[c[s>>2]&255](d,g,n,1)}if(c[o+(q<<2)>>2]|0)Nc(d,g,n,l,B,1);q=q+1|0;n=c[(c[F>>2]|0)+4>>2]|0}q=0;while(1){if(q>>>0>=((n|0)==2?2:1)>>>0){n=0;break b}n=(q<<l)+h|0;if((c[E>>2]|0)==1){Ct(d,g,n,t,r);hc[c[s>>2]&255](d,g,n,2)}if(c[p+(q<<2)>>2]|0)Nc(d,g,n,l,B,2);q=q+1|0;n=c[(c[F>>2]|0)+4>>2]|0}}y=1<<(c[q+13428>>2]|0)+D;x=1<<(c[q+13440>>2]|0)+D;do if(A&(a[(c[t>>2]|0)+1630>>0]|0)!=0){if(c[E>>2]|0){l=(c[C+296>>2]|0)==4;a[z>>0]=l&1;if(!l)break}else a[z>>0]=1;nQ(d,0)}else a[z>>0]=0;while(0);u=D+-2|0;v=d+5736+(u<<2)|0;w=d+160|0;i=C+320|0;j=C+11680|0;k=1<<D<<D;t=C+284|0;u=d+5792+(u<<2)|0;n=0;while(1){if((n|0)>=(((c[(c[F>>2]|0)+4>>2]|0)==2?2:1)|0))break;q=(n<<D)+f|0;if((c[E>>2]|0)==1){Ct(d,e,q,y,x);hc[c[v>>2]&255](d,e,q,1)}if(!(c[o+(n<<2)>>2]|0)){if(a[z>>0]|0){r=c[w>>2]|0;q=c[r+36>>2]|0;n=c[F>>2]|0;r=c[r+4>>2]|0;s=H(f>>c[n+13440>>2],q)|0;s=(e>>c[n+13428>>2]<<c[n+52>>2])+s|0;n=0;while(1){if((n|0)>=(k|0))break;l=(H(c[t>>2]|0,b[i+(n<<1)>>1]|0)|0)>>>3&65535;b[j+(n<<1)>>1]=l;n=n+1|0}gc[c[u>>2]&1023](r+s|0,j,q)}}else Nc(d,e,q,D,B,1);n=n+1|0}if(a[z>>0]|0)nQ(d,1);n=0;while(1){if((n|0)>=(((c[(c[F>>2]|0)+4>>2]|0)==2?2:1)|0)){n=0;break b}q=(n<<D)+f|0;if((c[E>>2]|0)==1){Ct(d,e,q,y,x);hc[c[v>>2]&255](d,e,q,2)}if(!(c[p+(n<<2)>>2]|0)){if(a[z>>0]|0){r=c[w>>2]|0;q=c[r+40>>2]|0;n=c[F>>2]|0;r=c[r+8>>2]|0;s=H(f>>c[n+13444>>2],q)|0;s=(e>>c[n+13432>>2]<<c[n+52>>2])+s|0;n=0;while(1){if((n|0)>=(k|0))break;o=(H(c[t>>2]|0,b[i+(n<<1)>>1]|0)|0)>>>3&65535;b[j+(n<<1)>>1]=o;n=n+1|0}gc[c[u>>2]&1023](r+s|0,j,q)}}else Nc(d,e,q,D,B,2);n=n+1|0}}}while(0);Mb=G;return n|0}function Ed(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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=Mb;Mb=Mb+80|0;K=T+48|0;O=T+40|0;N=T+32|0;M=T+24|0;L=T+16|0;J=T+8|0;j=T;G=T+52|0;P=b+4|0;H=c[P>>2]|0;S=b+27016|0;c[S>>2]=0;I=b+27012|0;c[I>>2]=0;i=H+96|0;if(!(c[i>>2]&32768)){c[b+29544>>2]=0;if(!(c[b+26368>>2]|0))c[b+24312>>2]=0;sQ(b+29660|0)}h=c[b+27024>>2]|0;do if((h|0)==4){if((f|0)>8){g=d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24;if((g|0)==16777216){R=e+5|0;if((W_(d[R>>0]|d[R+1>>0]<<8|d[R+2>>0]<<16|d[R+3>>0]<<24|0)|0)>>>0>f>>>0){c[b+27020>>2]=0;break}else g=16777216}}else{if((f|0)<=3)break;g=d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24}R=W_(g|0)|0;if(!(R>>>0<2|R>>>0>f>>>0))c[b+27020>>2]=1}while(0);E=b+25640|0;g=xg(E,e,f,H,c[b+27020>>2]|0,h,c[H+48>>2]|0,c[i>>2]&1)|0;do if((g|0)<0)AD(H,16,179183,j);else{B=H+808|0;if(c[B>>2]&1){g=vs(b)|0;if((g|0)<0)break}else g=0;n=b+25644|0;o=H+844|0;p=b+27008|0;q=b+29660|0;r=b+27036|0;s=b+29564|0;C=b+29544|0;D=b+25628|0;t=b+25636|0;u=b+29700|0;v=H+680|0;w=H+704|0;x=b+29684|0;y=b+29880|0;z=b+29572|0;A=b+25632|0;R=b+24312|0;h=0;m=0;a:while(1){if((m|0)>=(c[n>>2]|0)){Q=64;break}k=c[E>>2]|0;j=k+(m*72|0)|0;i=c[k+(m*72|0)+68>>2]|0;if((c[o>>2]|0)>7&(i|0)==0){if((c[k+(m*72|0)+48>>2]|0)==6){i=0;Q=22}}else Q=22;b:do if((Q|0)==22){Q=0;c[p>>2]=i;i=c[k+(m*72|0)+48>>2]|0;c[I>>2]=i;switch(i|0){case 19:case 13:case 12:case 11:case 10:case 9:break b;case 5:{if((a[(c[k+(m*72|0)+12>>2]|0)+1>>0]&-4)<<24>>24==-104){Q=24;break a}if(!h){if(c[C>>2]|0?c[B>>2]&2|0:0){Q=28;break a}QP(b)}c[s>>2]=1;h=1;break}case 1:break;case 4:case 3:case 2:{GU(H,174586,M);break b}case 6:{l=fj(q,k+(m*72|0)+28|0,r,H)|0;if(!(c[s>>2]|0))i=(c[u>>2]|0)!=-1;else i=1;c[s>>2]=i&1;if(c[v>>2]&8388608|0)zq(y,c[P>>2]|0);i=c[P>>2]|0;c[i+276>>2]=d[x>>0];if((l|0)>=0)break b;if(!(c[i+688>>2]&8))break b;else break a}case 7:{i=k+(m*72|0)+28|0;c[G>>2]=c[i>>2];c[G+4>>2]=c[i+4>>2];c[G+8>>2]=c[i+8>>2];c[G+12>>2]=c[i+12>>2];c[G+16>>2]=c[i+16>>2];if((td(G,H,r,0)|0)<=-1?(AD(c[P>>2]|0,48,174604,N),XY(G,(c[k+(m*72|0)+24>>2]|0)+1|0,(c[k+(m*72|0)+20>>2]|0)+-1|0)|0,(td(G,H,r,0)|0)<=-1):0)td(i,H,r,1)|0;break b}case 8:{l=te(k+(m*72|0)+28|0,H,r,c[k+(m*72|0)+16>>2]|0)|0;if((l|0)>=0)break b;if(!(c[(c[P>>2]|0)+688>>2]&8))break b;else break a}default:{l=c[k+(m*72|0)+16>>2]|0;c[O>>2]=i;c[O+4>>2]=l;AD(H,48,174662,O);break b}}c[S>>2]=1;i=je(b,j)|0;if(i|0){k=c[D>>2]|0;l=c[t>>2]|0;c[k+(l*34768|0)+23408>>2]=0;c[k+(l*34768|0)+23404>>2]=0;if((i|0)>=0)break;AD(c[P>>2]|0,16,174694,K);break}if((c[C>>2]|0)==1){if((!((m|0)<(g|0)|(c[B>>2]&1|0)==0)?(c[z>>2]|0)==0:0)?c[R>>2]|0:0){ew(H);c[z>>2]=1}i=c[P>>2]|0;j=c[i+704>>2]|0;if(j|0?(F=Yb[c[j+28>>2]&15](i,e,f)|0,(F|0)<0):0){l=F;break a}}i=c[w>>2]|0;if(!i)j=c[A>>2]|0;else j=1;if((c[t>>2]|0)==(j|0)){if(!(c[(c[P>>2]|0)+704>>2]|0))l=Dg(b)|0;else{l=Yb[c[i+32>>2]&15](H,c[k+(m*72|0)+24>>2]|0,c[k+(m*72|0)+20>>2]|0)|0;c[t>>2]=0}if((l|0)<0?(c[(c[P>>2]|0)+688>>2]&8|0)!=0:0)break a}}while(0);m=m+1|0}do if((Q|0)==24){AD(c[P>>2]|0,16,174478,J);c[b+28728>>2]=-2147483648;l=-1}else if((Q|0)==28){AD(b,16,174503,L);l=-1094995529}else if((Q|0)==64){g=Dg(b)|0;if((g|0)<0?c[(c[P>>2]|0)+688>>2]&8|0:0){l=g;break}l=0}while(0);k=b+26364|0;if((((c[k>>2]|0)==3?c[C>>2]|0:0)?(c[b+28200>>2]|0)==(c[(c[b+27036+(c[c[b+28196>>2]>>2]<<2)>>2]|0)+4>>2]|0):0)?c[b+29656>>2]|0:0){h=c[D>>2]|0;g=b+24972|0;if(!(c[(c[g>>2]|0)+248>>2]|0))j=0;else j=(c[h+23404>>2]|0)==0;i=h+24|0;iA(h+696|0,c[R>>2]|0);do if(!j){g=h+728|0;if(!(c[h+23404>>2]|0)){iA(g,0);break}else{iA(g,c[h+23452>>2]|0);break}}else{iA(h+728|0,g);Q=h+23416|0;c[h+23452>>2]=g;P=c[g>>2]|0;c[Q>>2]=c[P>>2];c[Q+4>>2]=c[P+4>>2];c[Q+8>>2]=c[P+8>>2];Q=h+23428|0;P=(c[g>>2]|0)+32|0;c[Q>>2]=c[P>>2];c[Q+4>>2]=c[P+4>>2];c[Q+8>>2]=c[P+8>>2];c[h+23440>>2]=c[b+25612>>2]}while(0);if(c[h+23408>>2]|0)iA(h+760|0,c[h+25372>>2]|0);c[h+820>>2]=c[h+23404>>2];Uc(i);if(j){g=h+23416|0;h=g+40|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0))}}g=c[R>>2]|0;if((g|0?(c[b+25672>>2]|0)==0:0)?c[S>>2]|0:0)Dy(g+4|0,2147483647,(c[k>>2]|0)==2&1);g=(l|0)<0?l:f}while(0);Mb=T;return g|0}function Fd(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0;G=Mb;Mb=Mb+32|0;F=G+24|0;E=G+16|0;D=G+8|0;C=G;z=c[f+48>>2]|0;A=(i|0)==1&(z|0)==1?2:1;B=c[f+310116>>2]&1;j=(c[h+92>>2]|0)!=0;if((i|0)!=0&(z|0)!=0){y=j?5:6;z=j?12:24;i=j?849988:849924;j=j?849972:849908}else{y=j?6:7;z=j?31:60;i=j?849956:849892;j=j?849940:849876}x=c[i>>2]|0;t=c[j>>2]|0;u=h+8|0;v=g+8|0;w=g+16|0;i=0;a:while(1){l=c[u>>2]|0;if(i>>>0>=l>>>0){j=41;break}b:do if(a[h+24+i>>0]|0){r=i+1|0;s=h+12+r|0;j=a[s>>0]|0;if(j<<24>>24==(a[h+12+i>>0]|0)){q=0;while(1){if(q>>>0>=(c[f+310112+((j&255)<<2)>>2]|0)>>>0){i=r;break b}o=d[h+86416+(i*48|0)+q>>0]|0;j=c[v>>2]|0;p=c[w>>2]|0;m=c[g>>2]|0;l=m+(j>>>3)|0;l=(W_(d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24|0)|0)<<(j&7)>>>23;k=b[t+(l<<2)>>1]|0;l=b[t+(l<<2)+2>>1]|0;n=l<<16>>16;if(l<<16>>16<0){j=j+9|0;j=p>>>0>j>>>0?j:p;I=m+(j>>>3)|0;I=((W_(d[I>>0]|d[I+1>>0]<<8|d[I+2>>0]<<16|d[I+3>>0]<<24|0)|0)<<(j&7)>>>(n+32|0))+k|0;k=b[t+(I<<2)>>1]|0;I=b[t+(I<<2)+2>>1]|0;l=I<<16>>16;if(I<<16>>16<0){j=j-n|0;j=p>>>0>j>>>0?j:p;I=m+(j>>>3)|0;k=((W_(d[I>>0]|d[I+1>>0]<<8|d[I+2>>0]<<16|d[I+3>>0]<<24|0)|0)<<(j&7)>>>(l+32|0))+k|0;l=b[t+(k<<2)+2>>1]|0;k=b[t+(k<<2)>>1]|0}}else l=n;I=l+j|0;c[v>>2]=p>>>0>I>>>0?I:p;k=(H(k-z|0,A)|0)+o|0;a[h+86416+(r*48|0)+q>>0]=k;k=k&255;if(k>>>0>127){j=16;break a}q=q+1|0;j=a[s>>0]|0}}if(!(j<<24>>24)){q=0;j=0;while(1){if(q>>>0>=(c[f+310112+((j&255)<<2)>>2]|0)>>>0){i=r;break b}o=d[((q|0)==0?0:(q<<1)-B|0)+(h+86416+(i*48|0))>>0]|0;j=c[v>>2]|0;p=c[w>>2]|0;m=c[g>>2]|0;I=m+(j>>>3)|0;I=(W_(d[I>>0]|d[I+1>>0]<<8|d[I+2>>0]<<16|d[I+3>>0]<<24|0)|0)<<(j&7)>>>23;k=b[t+(I<<2)>>1]|0;I=b[t+(I<<2)+2>>1]|0;n=I<<16>>16;if(I<<16>>16<0){j=j+9|0;j=p>>>0>j>>>0?j:p;I=m+(j>>>3)|0;I=((W_(d[I>>0]|d[I+1>>0]<<8|d[I+2>>0]<<16|d[I+3>>0]<<24|0)|0)<<(j&7)>>>(n+32|0))+k|0;k=b[t+(I<<2)>>1]|0;I=b[t+(I<<2)+2>>1]|0;l=I<<16>>16;if(I<<16>>16<0){j=j-n|0;j=p>>>0>j>>>0?j:p;I=m+(j>>>3)|0;k=((W_(d[I>>0]|d[I+1>>0]<<8|d[I+2>>0]<<16|d[I+3>>0]<<24|0)|0)<<(j&7)>>>(l+32|0))+k|0;l=b[t+(k<<2)+2>>1]|0;k=b[t+(k<<2)>>1]|0}}else l=n;I=l+j|0;c[v>>2]=p>>>0>I>>>0?I:p;k=(H(k-z|0,A)|0)+o|0;a[h+86416+(r*48|0)+q>>0]=k;k=k&255;if(k>>>0>127){j=33;break a}q=q+1|0;j=a[s>>0]|0}}else{q=0;while(1){if(q>>>0>=(c[f+310112+((j&255)<<2)>>2]|0)>>>0){i=r;break b}o=d[((q+B|0)>>>1)+(h+86416+(i*48|0))>>0]|0;j=c[v>>2]|0;p=c[w>>2]|0;m=c[g>>2]|0;I=m+(j>>>3)|0;I=(W_(d[I>>0]|d[I+1>>0]<<8|d[I+2>>0]<<16|d[I+3>>0]<<24|0)|0)<<(j&7)>>>23;k=b[t+(I<<2)>>1]|0;I=b[t+(I<<2)+2>>1]|0;n=I<<16>>16;if(I<<16>>16<0){j=j+9|0;j=p>>>0>j>>>0?j:p;I=m+(j>>>3)|0;I=((W_(d[I>>0]|d[I+1>>0]<<8|d[I+2>>0]<<16|d[I+3>>0]<<24|0)|0)<<(j&7)>>>(n+32|0))+k|0;k=b[t+(I<<2)>>1]|0;I=b[t+(I<<2)+2>>1]|0;l=I<<16>>16;if(I<<16>>16<0){j=j-n|0;j=p>>>0>j>>>0?j:p;I=m+(j>>>3)|0;k=((W_(d[I>>0]|d[I+1>>0]<<8|d[I+2>>0]<<16|d[I+3>>0]<<24|0)|0)<<(j&7)>>>(l+32|0))+k|0;l=b[t+(k<<2)+2>>1]|0;k=b[t+(k<<2)>>1]|0}}else l=n;I=l+j|0;c[v>>2]=p>>>0>I>>>0?I:p;k=(H(k-z|0,A)|0)+o|0;a[h+86416+(r*48|0)+q>>0]=k;k=k&255;if(k>>>0>127){j=26;break a}q=q+1|0;j=a[s>>0]|0}}}else{j=H(HG(g,y)|0,A)|0;i=i+1|0;a[h+86416+(i*48|0)>>0]=j;r=h+12+i|0;q=1;while(1){if(q>>>0>=(c[f+310112+(d[r>>0]<<2)>>2]|0)>>>0)break b;o=j&255;j=c[v>>2]|0;p=c[w>>2]|0;m=c[g>>2]|0;I=m+(j>>>3)|0;I=(W_(d[I>>0]|d[I+1>>0]<<8|d[I+2>>0]<<16|d[I+3>>0]<<24|0)|0)<<(j&7)>>>23;k=b[x+(I<<2)>>1]|0;I=b[x+(I<<2)+2>>1]|0;n=I<<16>>16;if(I<<16>>16<0){j=j+9|0;j=p>>>0>j>>>0?j:p;I=m+(j>>>3)|0;I=((W_(d[I>>0]|d[I+1>>0]<<8|d[I+2>>0]<<16|d[I+3>>0]<<24|0)|0)<<(j&7)>>>(n+32|0))+k|0;k=b[x+(I<<2)>>1]|0;I=b[x+(I<<2)+2>>1]|0;l=I<<16>>16;if(I<<16>>16<0){j=j-n|0;j=p>>>0>j>>>0?j:p;I=m+(j>>>3)|0;k=((W_(d[I>>0]|d[I+1>>0]<<8|d[I+2>>0]<<16|d[I+3>>0]<<24|0)|0)<<(j&7)>>>(l+32|0))+k|0;l=b[x+(k<<2)+2>>1]|0;k=b[x+(k<<2)>>1]|0}}else l=n;j=l+j|0;c[v>>2]=p>>>0>j>>>0?j:p;j=(H(k-z|0,A)|0)+o|0;a[h+86416+(i*48|0)+q>>0]=j;k=j&255;if(k>>>0>127){j=40;break a}else q=q+1|0}}while(0)}if((j|0)==16){i=c[e+4>>2]|0;c[C>>2]=k;AD(i,16,198904,C);i=-1094995529}else if((j|0)==26){i=c[e+4>>2]|0;c[D>>2]=k;AD(i,16,198904,D);i=-1094995529}else if((j|0)==33){i=c[e+4>>2]|0;c[E>>2]=k;AD(i,16,198904,E);i=-1094995529}else if((j|0)==40){i=c[e+4>>2]|0;c[F>>2]=k;AD(i,16,198904,F);i=-1094995529}else if((j|0)==41){k=h+86416|0;i=h+86416+(l*48|0)|0;j=k+48|0;do{c[k>>2]=c[i>>2];k=k+4|0;i=i+4|0}while((k|0)<(j|0));i=0}Mb=G;return i|0}function Gd(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,C=0,D=0,E=0,F=0,G=0,H=0;H=Mb;Mb=Mb+144|0;F=H+120|0;D=H+112|0;B=H+104|0;A=H+96|0;y=H+88|0;w=H+80|0;u=H+72|0;t=H+64|0;r=H+56|0;q=H+48|0;p=H+40|0;m=H+32|0;l=H+24|0;k=H+16|0;j=H+8|0;h=H;G=H+128|0;v=H+124|0;g=EZ(5792)|0;c[v>>2]=g;a:do if(!g)f=-12;else{z=Px(g,5792,11,0,0)|0;c[G>>2]=z;E=z;if(!z){bU(v);f=-12;break}AD(d,48,178323,h);i=c[b>>2]|0;h=(c[b+4>>2]|0)-i|0;if(h>>>0>4096){c[j>>2]=h;c[j+4>>2]=4096;AD(d,24,178337,j);c[g+5788>>2]=4096;i=c[b>>2]|0;h=4096}else c[g+5788>>2]=h;Mn(g+1692|0,i|0,h|0)|0;h=g+53|0;a[h>>0]=1;s=g+44|0;c[s>>2]=1;n=g+48|0;c[n>>2]=1;o=g+52|0;a[o>>0]=1;a[g+57>>0]=0;c[g+60>>2]=0;c[g+64>>2]=0;a[g+1629>>0]=2;z=CL(b)|0;b:do if(z>>>0<=255){j=CL(b)|0;c[g>>2]=j;if(j>>>0>31){c[l>>2]=j;AD(d,16,176434,l);f=-1094995529;break}i=c[e+64+(j<<2)>>2]|0;if(!i){c[m>>2]=j;AD(d,16,178382,m);f=-1094995529;break}x=c[i+4>>2]|0;m=(mT(b)|0)&255;a[g+41>>0]=m;m=(mT(b)|0)&255;a[g+39>>0]=m;m=HG(b,3)|0;c[g+1624>>2]=m;m=(mT(b)|0)&255;a[g+4>>0]=m;m=(mT(b)|0)&255;a[g+5>>0]=m;m=(CL(b)|0)+1|0;c[g+8>>2]=m;m=(CL(b)|0)+1|0;c[g+12>>2]=m;m=$t(b)|0;c[g+16>>2]=m;m=(mT(b)|0)&255;a[g+20>>0]=m;m=(mT(b)|0)&255;a[g+21>>0]=m;m=(mT(b)|0)&255;a[g+22>>0]=m;i=g+24|0;c[i>>2]=0;do if(m<<24>>24){j=CL(b)|0;c[i>>2]=j;if((j|0)>=0?j>>>0<=(c[x+13324>>2]|0)>>>0:0)break;c[p>>2]=j;AD(d,16,178406,p);f=-1094995529;break b}while(0);i=$t(b)|0;c[g+28>>2]=i;if((i+12|0)>>>0>24){c[q>>2]=i;AD(d,16,178444,q);f=-1094995529;break}i=$t(b)|0;c[g+32>>2]=i;if((i+12|0)>>>0>24){c[r>>2]=i;AD(d,16,178479,r);f=-1094995529;break}q=(mT(b)|0)&255;a[g+36>>0]=q;q=(mT(b)|0)&255;a[g+37>>0]=q;q=(mT(b)|0)&255;a[g+38>>0]=q;q=(mT(b)|0)&255;a[g+40>>0]=q;q=(mT(b)|0)&255;r=g+42|0;a[r>>0]=q;q=(mT(b)|0)&255;a[g+43>>0]=q;do if(a[r>>0]|0){i=(CL(b)|0)+1|0;c[s>>2]=i;i=CL(b)|0;j=i+1|0;c[n>>2]=j;k=c[s>>2]|0;if((k|0)>=1?(k|0)<(c[x+13376>>2]|0):0){if((j|0)>=1?(j|0)<(c[x+13380>>2]|0):0){u=mZ(k)|0;k=g+1648|0;c[k>>2]=u;u=mZ(c[n>>2]|0)|0;c[g+1652>>2]=u;if((c[k>>2]|0)==0|(u|0)==0){f=-12;break b}u=(mT(b)|0)&255;a[o>>0]=u;do if(!(u<<24>>24)){g=0;i=0;j=0;while(1){h=(c[s>>2]|0)+-1|0;if((g|0)>=(h|0))break;u=(CL(b)|0)+1|0;c[(c[k>>2]|0)+(g<<2)>>2]=u;u=aX(i|0,j|0,u|0,0)|0;g=g+1|0;i=u;j=M()|0}g=c[x+13384>>2]|0;u=((g|0)<0)<<31>>31;if(!(j>>>0<u>>>0|(j|0)==(u|0)&i>>>0<g>>>0)){AD(d,16,178595,w);f=-1094995529;break b}c[(c[k>>2]|0)+(h<<2)>>2]=g-i;g=c[v>>2]|0;i=g+48|0;j=g+1652|0;h=0;l=0;m=0;while(1){k=(c[i>>2]|0)+-1|0;if((h|0)>=(k|0))break;w=(CL(b)|0)+1|0;c[(c[j>>2]|0)+(h<<2)>>2]=w;w=aX(l|0,m|0,w|0,0)|0;h=h+1|0;l=w;m=M()|0}h=c[x+13388>>2]|0;w=((h|0)<0)<<31>>31;if(m>>>0<w>>>0|(m|0)==(w|0)&l>>>0<h>>>0){c[(c[j>>2]|0)+(k<<2)>>2]=h-l;h=g+53|0;break}else{AD(d,16,178617,y);f=-1094995529;break b}}while(0);y=(mT(b)|0)&255;a[h>>0]=y;break}c[u>>2]=i;AD(d,16,178556,u);f=-1094995529;break b}c[t>>2]=k+-1;AD(d,16,178514,t);f=-1094995529;break b}while(0);y=(mT(b)|0)&255;a[g+54>>0]=y;y=(mT(b)|0)&255;a[g+55>>0]=y;do if(y<<24>>24?(y=(mT(b)|0)&255,a[g+56>>0]=y,y=(mT(b)|0)&255,a[g+57>>0]=y,y<<24>>24==0):0){h=$t(b)|0;i=$t(b)|0;if((h+6|0)>>>0>12){c[A>>2]=h;AD(d,16,178640,A);f=-1094995529;break b}if((i+6|0)>>>0>12){c[B>>2]=i;AD(d,16,178679,B);f=-1094995529;break b}else{c[g+60>>2]=h<<1;c[g+64>>2]=i<<1;break}}while(0);B=(mT(b)|0)&255;a[g+68>>0]=B;if(B<<24>>24?(ph(g+69|0),f=mj(b,d,g+69|0,x)|0,(f|0)<0):0)break;f=(mT(b)|0)&255;a[g+1617>>0]=f;f=CL(b)|0;if(f>>>0>(c[x+13336>>2]|0)>>>0){c[D>>2]=f;AD(d,16,178716,D);f=-1094995529;break}c[g+1620>>2]=f+2;D=(mT(b)|0)&255;a[g+1628>>0]=D;if((mT(b)|0?(D=mT(b)|0,HG(b,7)|0,(D|0)!=0&(a[x+302>>0]|0)==4):0)?(C=Pn(b,d,g,x)|0,(C|0)<0):0){f=C;break}f=Md(g,x)|0;if((f|0)>=0){g=a$(b)|0;if((g|0)<0){c[F>>2]=0-g;AD(d,16,178767,F);break}else{gS(e,z);c[e+192+(z<<2)>>2]=E;f=0;break a}}}else{c[k>>2]=z;AD(d,16,179880,k);f=-1094995529}while(0);F$(G)}while(0);Mb=H;return f|0}function Hd(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=Mb;Mb=Mb+640|0;u=w+64|0;q=w+48|0;l=w+32|0;k=w+16|0;i=w;o=w+360|0;m=w+80|0;h=c[a+13440>>2]|0;a:do if(!h){i=a+11420|0;g=nm(i,f)|0;if((g|0)>=0){n=a+11128|0;j=a+11700|0;g=c[a+11960>>2]|0;do if(!(c[n>>2]|0))if((g|0)==(c[a+12520>>2]|0)){g=nm(j,f)|0;if((g|0)<0)break a;else break}else{c[l>>2]=219053;c[l+4>>2]=218528;c[l+8>>2]=596;AD(0,0,222515,l);ba()}else if((g|0)==(c[a+80>>2]|0)){g=nm(j,d)|0;if((g|0)<0)break a;else break}else{c[k>>2]=219014;c[k+4>>2]=218528;c[k+8>>2]=592;AD(0,0,222515,k);ba()}while(0);h=a+11980|0;g=nm(h,d)|0;if((g|0)>=0){Mn(m|0,j|0,280)|0;Mn(o|0,h|0,280)|0;t=a+16|0;j=c[t>>2]|0;if((j|0)==(c[a+12>>2]|0)?(c[a+11412>>2]|0)!=0:0)i=(c[a+76>>2]|0)==0?e:i;k=c[n>>2]|0;if(!k){g=(c[a+11132>>2]|0)==0?i:m;if(!(c[a+13444>>2]|0))p=20;else h=o}else{g=(c[a+13444>>2]|0)==0?i:m;if(!(c[a+11132>>2]|0))p=20;else h=o}if((p|0)==20)h=g;do if((j|0)==(c[a+20>>2]|0)?(c[a+12532>>2]|0)!=0:0){if((j|0)==7?c[a+11040>>2]&31|0:0){r=i;v=h;s=g;break}if((h|0)!=(e|0)){s=(h|0)==(i|0);r=s?b:i;v=b;s=s|(h|0)==(g|0)?b:g;break}g=(d|0)>(f|0)?f:d;if(!(c[a+11412>>2]|0)){c[q>>2]=219091;c[q+4>>2]=218528;c[q+8>>2]=623;AD(0,0,222515,q);ba()}else{Fr(b,e,g);break a}}else{r=i;v=h;s=g}while(0);if((r|0)==(e|0))g=k;else{Yh(c[a+13432>>2]|0,r,e,f)|0;g=c[n>>2]|0}h=(r|0)!=(s|0);if(!g){if(h)ne(a,s,r,f,(s|0)==(b|0)&1)|0;if((s|0)==(v|0))q=d;else q=$g(a,v,d,s,f)|0}else{if(h)d=$g(a,s,d,r,f)|0;if((s|0)==(v|0))q=d;else{ne(a,v,s,d,(v|0)==(b|0)&1)|0;q=d}}if((v|0)!=(b|0)&(q|0)!=0){m=a+128|0;if(!(c[m>>2]|0))d=v;else{h=(q|0)>65536?q:65536;if((v|0)==(e|0)){d=a+10760|0;g=nm(d,h)|0;if((g|0)<0)break}else d=v;l=a+10480|0;g=nm(l,h)|0;if((g|0)<0)break;k=a+10740|0;b:do if(!g)g=c[k>>2]|0;else{i=a+10748|0;j=a+10756|0;h=0;while(1){g=c[k>>2]|0;if((h|0)>=(g|0))break b;s=c[a+10480+(h<<2)>>2]|0;e=c[i>>2]|0;g=MR(h|0,0,1942904875,2874)|0;g=aX(g|0,M()|0,3141592,0)|0;g=eR(g|0,M()|0,-1576685468,0)|0;M()|0;g=Gj(a,s,e,g,c[j>>2]|0)|0;if((g|0)<0)break a;else h=h+1|0}}while(0);p=v+260|0;if((g|0)!=(c[p>>2]|0)){c[u>>2]=219104;c[u+4>>2]=218528;c[u+8>>2]=666;AD(0,0,222515,u);ba()}o=a+132|0;if(((c[o>>2]|0)+q|0)>(c[a+10748>>2]|0))c[o>>2]=0;c:do if((c[m>>2]|0)<64){i=a+83180|0;if(!(c[i>>2]|0)){i=a+83176|0;j=a+10744|0;k=a+62612|0;h=0;while(1){if((h|0)>=(g|0))break c;g=(c[a+10480+(h<<2)>>2]|0)+(H(c[o>>2]|0,c[j>>2]|0)|0)|0;mc[c[i>>2]&63](c[d+(h<<2)>>2]|0,c[v+(h<<2)>>2]|0,g,c[k>>2]|0,0,0,q);h=h+1|0;g=c[p>>2]|0}}m=q&-16;n=H(c[v+264>>2]|0,m)|0;d:do if(m){j=a+10744|0;k=a+62616|0;h=0;while(1){if((h|0)>=(g|0))break d;g=(c[a+10480+(h<<2)>>2]|0)+(H(c[o>>2]|0,c[j>>2]|0)|0)|0;mc[c[i>>2]&63](c[d+(h<<2)>>2]|0,c[v+(h<<2)>>2]|0,g,c[k>>2]|0,0,0,m);h=h+1|0;g=c[p>>2]|0}}while(0);if((q|0)==(m|0))break;j=a+83176|0;k=a+10744|0;l=a+62612|0;i=q-m|0;h=0;while(1){if((h|0)>=(g|0))break c;g=(c[a+10480+(h<<2)>>2]|0)+(H(c[o>>2]|0,c[k>>2]|0)|0)+n|0;mc[c[j>>2]&63]((c[d+(h<<2)>>2]|0)+n|0,(c[v+(h<<2)>>2]|0)+n|0,g,c[l>>2]|0,0,0,i);h=h+1|0;g=c[p>>2]|0}}else switch(c[t>>2]|0){case 6:{sl(a,d,v,l,q);break c}case 7:{nl(a,d,v,l,q);break c}case 8:{dm(a,d,v,l,q);break c}case 9:{cm(a,d,v,l,q);break c}default:break c}while(0);c[o>>2]=(c[o>>2]|0)+q}Yh(c[a+13436>>2]|0,b,d,q)|0;g=q}else g=q}}}else if(!(c[a+13444>>2]|0)){Yh(h,b,e,f)|0;g=d;break}else{c[i>>2]=219001;c[i+4>>2]=218528;c[i+8>>2]=581;AD(0,0,222515,i);ba()}while(0);Mb=w;return g|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,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;E=Mb;Mb=Mb+160|0;D=E+88|0;l=E+80|0;h=E+72|0;f=E+64|0;w=E;if((c[a+25696>>2]|0)!=0?(c[e+48>>2]|0)!=5:0){AD(c[a+4>>2]|0,16,207776,f);f=-1094995529}else x=4;do if((x|0)==4){g=c[d+21808>>2]|0;j=a+26360|0;i=(c[j>>2]|0)==0;if(i)f=(c[a+26364>>2]|0)!=3;else f=1;C=c[a+27004>>2]|0;if(!(g>>>0<C>>>0&g<<(f&1)>>>0<C>>>0)){AD(c[a+4>>2]|0,16,207815,h);f=-1094995529;break}z=a+26996|0;t=c[z>>2]|0;f=(g>>>0)/(t>>>0)|0;t=g-(H(f,t)|0)|0;y=d+21788|0;c[y>>2]=t;c[d+21800>>2]=t;t=a+26364|0;C=c[t>>2]|0;f=f<<(((C|0)!=3|i^1)&1);u=d+21792|0;c[u>>2]=f;k=d+21804|0;c[k>>2]=f;f=f+1|0;if((C|0)==2){c[u>>2]=f;c[k>>2]=f}f=ue(a,d)|0;if((f|0)>=0){h=a+28196|0;g=d+840|0;if((c[(c[h>>2]|0)+32>>2]|0)==2){if((c[g>>2]|0)==3){Ni(a,d,-1);if(!(c[j>>2]|0))x=15;else{Ni(a,d,0);Ni(a,d,1);x=15}}}else x=15;if(((x|0)==15?(c[g>>2]|0)==3:0)?(c[d+21844>>2]|0)==0:0)gt(a,d);if(!(c[a+29572>>2]|0))Qh(a,d);s=a+4|0;i=c[s>>2]|0;f=c[i+836>>2]|0;a:do if((f|0)<=47){do if((f|0)>31)if((c[a+27012>>2]|0)==5)x=24;else{x=29;break a}else if((f|0)<=23)if((f|0)>15)if((c[g>>2]|0)==3){x=29;break a}else break;else if((f|0)>7)break;else break a;else x=24;while(0);if((x|0)==24?(c[g>>2]|0)!=1:0){x=29;break}if(!(c[e+68>>2]|0))x=29}else x=29;while(0);if((x|0)==29)c[d+868>>2]=0;A=d+868|0;do if((c[A>>2]|0)==1?(c[a+25632>>2]|0)>1:0)if(!(c[i+96>>2]&1)){c[a+25692>>2]=1;break}else{c[A>>2]=2;break}while(0);B=d+872|0;q=c[B>>2]|0;C=d+876|0;p=c[C>>2]|0;r=c[h>>2]|0;g=c[r+44>>2]|0;g=(g|0)>0?g:0;r=c[r+48>>2]|0;c[d+860>>2]=-33-((q|0)>(p|0)?p:q)-((g|0)>(r|0)?g:r)+((c[(c[a+28200>>2]|0)+1184>>2]|0)*6|0);r=a+29544|0;g=c[r>>2]|0;h=g+1|0;c[r>>2]=h;r=d+832|0;c[r>>2]=h;if(!h)f=c[k>>2]|0;else{f=c[k>>2]|0;b[a+29584+((g&31)<<1)>>1]=f}q=b[a+29584+((h&31)<<1)>>1]|0;if((g|0)>30&((f|0)>=(q|0)&(q+3|0)>=(f|0))){c[l>>2]=h;c[l+4>>2]=32;AD(i,24,207843,l)}n=d+23412|0;o=a+29540|0;p=a+29536|0;m=0;while(1){if((m|0)==2)break;q=c[r>>2]&31;i=d+23404+(m<<2)|0;h=0;while(1){if((h|0)==16)break;j=w+(h<<2)|0;c[j>>2]=60;b:do if((m>>>0<(c[n>>2]|0)>>>0?h>>>0<(c[i>>2]|0)>>>0:0)?(v=c[(c[c[d+23416+(m*1920|0)+(h*40|0)+36>>2]>>2]|0)+248>>2]|0,v|0):0){k=c[v>>2]|0;l=c[o>>2]|0;f=0;while(1){if((f|0)>=(l|0))break;if((c[c[(c[c[a+28332+(f<<2)>>2]>>2]|0)+248>>2]>>2]|0)==(k|0)){x=50;break}f=f+1|0}if((x|0)==50){x=0;c[j>>2]=f}g=c[p>>2]|0;f=0;while(1){if((f|0)>=(g|0))break b;F=c[a+28460+(f<<2)>>2]|0;if(F|0?(c[c[(c[F>>2]|0)+248>>2]>>2]|0)==(k|0):0)break;f=f+1|0}c[j>>2]=f+l}while(0);h=h+1|0}c[a+29920+(q<<9)+(m<<8)+4>>2]=-1;c[a+29920+(q<<9)+(m<<8)>>2]=-1;f=0;while(1){if((f|0)==16)break;c[a+29920+(q<<9)+(m<<8)+(f+2<<2)>>2]=c[d+23416+(m*1920|0)+(f*40|0)+24>>2]&3|c[w+(f<<2)>>2]<<2;f=f+1|0}c[a+29920+(q<<9)+(m<<8)+76>>2]=-1;c[a+29920+(q<<9)+(m<<8)+72>>2]=-1;f=16;while(1){if((f|0)==48)break;c[a+29920+(q<<9)+(m<<8)+(f+4<<2)>>2]=c[d+23416+(m*1920|0)+(f*40|0)+24>>2]&3|c[w+(f+-16>>1<<2)>>2]<<2;f=f+1|0}m=m+1|0}x=c[s>>2]|0;if(!(c[x+680>>2]&1))f=0;else{w=c[r>>2]|0;v=c[t>>2]|0;s=H(c[z>>2]|0,c[u>>2]|0)|0;s=s+(c[y>>2]|0)|0;f=d+836|0;t=(pL(c[f>>2]|0)|0)<<24>>24;u=(c[d+844>>2]|0)==0?1113148:207944;q=(c[e+48>>2]|0)==5?207949:1113148;r=c[a+28228>>2]|0;m=c[a+24312>>2]|0;l=c[m+76>>2]|0;m=c[m+80>>2]|0;n=c[d+23404>>2]|0;o=c[d+23408>>2]|0;p=c[d+848>>2]|0;k=c[A>>2]|0;j=c[B>>2]|0;g=c[C>>2]|0;h=c[d+880>>2]|0;if((h|0)==1)i=(c[d+884>>2]|0)==0?1113148:207954;else i=1113148;if((c[f>>2]|0)==3)f=(c[d+21844>>2]|0)==0?207956:207961;else f=1113148;c[D>>2]=w;c[D+4>>2]=(v|0)==3?207942:(v|0)==1?207938:207940;c[D+8>>2]=s;c[D+12>>2]=t;c[D+16>>2]=u;c[D+20>>2]=q;c[D+24>>2]=r;c[D+28>>2]=l;c[D+32>>2]=m;c[D+36>>2]=n;c[D+40>>2]=o;c[D+44>>2]=p;c[D+48>>2]=k;c[D+52>>2]=j;c[D+56>>2]=g;c[D+60>>2]=h;c[D+64>>2]=i;c[D+68>>2]=f;AD(x,48,207966,D);f=0}}}while(0);Mb=E;return f|0}function Jd(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){h=j2()|0;c[h>>2]=22;h=0;g=0}else{r=b+4|0;q=b+104|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=Uo(b)|0}while((H0(i)|0)!=0);b:do switch(i|0){case 43:case 45:{i=((i|0)==45)<<31>>31;j=c[r>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;p=i;i=d[j>>0]|0;break b}else{p=i;i=Uo(b)|0;break b}}default:p=0}while(0);j=(e|0)==0;do if((e|16|0)==16&(i|0)==48){i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Uo(b)|0;if((i|32|0)!=120)if(j){o=8;n=47;break}else{n=32;break}i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Uo(b)|0;if((d[160241+i>>0]|0)>15){g=(c[q>>2]|0)==0;if(!g)c[r>>2]=(c[r>>2]|0)+-1;if(!f){sC(b,0,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{o=16;n=47}}else{e=j?10:e;if(e>>>0>(d[160241+i>>0]|0)>>>0)n=32;else{if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;sC(b,0,0);h=j2()|0;c[h>>2]=22;h=0;g=0;break a}}while(0);c:do if((n|0)==32)if((e|0)==10){e=i+-48|0;if(e>>>0<10){i=0;do{i=(i*10|0)+e|0;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;j=d[e>>0]|0}else j=Uo(b)|0;e=j+-48|0}while(e>>>0<10&i>>>0<429496729);if(e>>>0<10){m=0;do{f=MR(i|0,m|0,10,0)|0;k=M()|0;l=((e|0)<0)<<31>>31;o=~l;if(k>>>0>o>>>0|(k|0)==(o|0)&f>>>0>~e>>>0){f=10;e=m;n=76;break c}i=aX(f|0,k|0,e|0,l|0)|0;m=M()|0;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;j=d[e>>0]|0}else j=Uo(b)|0;e=j+-48|0}while(e>>>0<10&(m>>>0<429496729|(m|0)==429496729&i>>>0<2576980378));if(e>>>0>9){j=p;e=m}else{f=10;e=m;n=76}}else{j=p;e=0}}else{j=p;e=0;i=0}}else{o=e;n=47}while(0);d:do if((n|0)==47){if(!(o+-1&o)){n=a[222709+((o*23|0)>>>5&7)>>0]|0;f=a[160241+i>>0]|0;e=f&255;if(o>>>0>e>>>0){i=0;do{i=e|i<<n;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;j=d[e>>0]|0}else j=Uo(b)|0;f=a[160241+j>>0]|0;e=f&255}while(i>>>0<134217728&o>>>0>e>>>0);k=e;e=0}else{j=i;k=e;e=0;i=0}l=kV(-1,-1,n|0)|0;m=M()|0;if(o>>>0<=k>>>0|(m>>>0<e>>>0|(m|0)==(e|0)&l>>>0<i>>>0)){f=o;n=76;break}while(1){i=_U(i|0,e|0,n|0)|0;e=M()|0;i=i|f&255;j=c[r>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;j=d[j>>0]|0}else j=Uo(b)|0;f=a[160241+j>>0]|0;if(o>>>0<=(f&255)>>>0|(e>>>0>m>>>0|(e|0)==(m|0)&i>>>0>l>>>0)){f=o;n=76;break d}}}e=a[160241+i>>0]|0;f=e&255;if(o>>>0>f>>>0){i=0;do{i=f+(H(i,o)|0)|0;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;j=d[e>>0]|0}else j=Uo(b)|0;e=a[160241+j>>0]|0;f=e&255}while(i>>>0<119304647&o>>>0>f>>>0);k=e;e=0}else{j=i;k=e;i=0;e=0}if(o>>>0>f>>>0){m=H_(-1,-1,o|0,0)|0;n=M()|0;f=k;while(1){if(e>>>0>n>>>0|(e|0)==(n|0)&i>>>0>m>>>0){f=o;n=76;break d}k=MR(i|0,e|0,o|0,0)|0;l=M()|0;f=f&255;if(l>>>0>4294967295|(l|0)==-1&k>>>0>~f>>>0){f=o;n=76;break d}i=aX(k|0,l|0,f|0,0)|0;e=M()|0;j=c[r>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;j=d[j>>0]|0}else j=Uo(b)|0;f=a[160241+j>>0]|0;if(o>>>0<=(f&255)>>>0){f=o;n=76;break}}}else{f=o;n=76}}while(0);if((n|0)==76)if(f>>>0>(d[160241+j>>0]|0)>>>0){do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Uo(b)|0}while(f>>>0>(d[160241+i>>0]|0)>>>0);j=j2()|0;c[j>>2]=34;j=(g&1|0)==0&0==0?p:0;e=h;i=g}else j=p;if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;if(!(e>>>0<h>>>0|(e|0)==(h|0)&i>>>0<g>>>0)){if(!((g&1|0)!=0|0!=0|(j|0)!=0)){r=j2()|0;c[r>>2]=34;g=aX(g|0,h|0,-1,-1)|0;h=M()|0;break}if(e>>>0>h>>>0|(e|0)==(h|0)&i>>>0>g>>>0){r=j2()|0;c[r>>2]=34;break}}g=((j|0)<0)<<31>>31;g=_W(i^j|0,e^g|0,j|0,g|0)|0;h=M()|0}while(0);L(h|0);return g|0}function Kd(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,s=0,t=0,u=0,v=0.0;u=Mb;Mb=Mb+48|0;r=u+24|0;o=u+16|0;n=u+8|0;m=u;t=u+32|0;p=u+28|0;l=EZ(40)|0;c[t>>2]=l;q=d+8|0;s=c[q>>2]|0;c[p>>2]=s;e=l;a:do if(!l)e=-12;else{v=+Mp(s,p);i=l+8|0;g[i>>3]=v;k=c[p>>2]|0;if((k|0)!=(c[q>>2]|0)){c[l>>2]=0;c[q>>2]=k;c[b>>2]=e;e=0;break}g[i>>3]=1.0;f=c[d+16>>2]|0;b:do if(f|0){e=0;while(1){h=c[f+(e<<2)>>2]|0;if(!h)break b;if(DE(k,h)|0)break;e=e+1|0}t=k+(nA(h)|0)|0;c[q>>2]=t;c[l>>2]=1;c[l+16>>2]=e;c[b>>2]=l;e=0;break a}while(0);e=0;while(1){if(e>>>0>=4)break;f=c[153344+(e<<4)>>2]|0;if(DE(k,f)|0){j=13;break}e=e+1|0}if((j|0)==13){t=k+(nA(f)|0)|0;c[q>>2]=t;c[l>>2]=0;g[i>>3]=+g[153344+(e<<4)+8>>3];c[b>>2]=l;e=0;break}e=FY(k,40)|0;c[q>>2]=e;if(!e){c[m>>2]=s;AD(d,16,217491,m);c[q>>2]=c[p>>2];wP(c[t>>2]|0);e=-22;break}c[q>>2]=e+1;if((a[k>>0]|0)==40){bU(t);e=ws(t,d)|0;if((e|0)<0)break;e=c[q>>2]|0;if((a[e>>0]|0)==41){c[q>>2]=e+1;c[b>>2]=c[t>>2];e=0;break}else{c[n>>2]=s;AD(d,16,217534,n);wP(c[t>>2]|0);e=-22;break}}e=ws(l+20|0,d)|0;if((e|0)<0){wP(c[t>>2]|0);break}f=c[q>>2]|0;e=a[f>>0]|0;if(e<<24>>24==44){c[q>>2]=f+1;ws((c[t>>2]|0)+24|0,d)|0;f=c[q>>2]|0;e=a[f>>0]|0;if(e<<24>>24==44){c[q>>2]=f+1;ws((c[t>>2]|0)+28|0,d)|0;f=c[q>>2]|0;e=a[f>>0]|0}}if(e<<24>>24!=41){c[o>>2]=s;AD(d,16,217555,o);wP(c[t>>2]|0);e=-22;break}c[q>>2]=f+1;k=c[t>>2]|0;c[k>>2]=2;i=c[p>>2]|0;j=k;do if(!(DE(i,217593)|0)){if(DE(i,217598)|0){c[k+16>>2]=2;break}if(DE(i,217603)|0){c[k+16>>2]=3;break}if(DE(i,217608)|0){c[k+16>>2]=4;break}if(DE(i,217612)|0){c[k+16>>2]=5;break}if(DE(i,217616)|0){c[k+16>>2]=6;break}if(DE(i,217620)|0){c[k+16>>2]=7;break}if(DE(i,217625)|0){c[k+16>>2]=8;break}if(DE(i,217630)|0){c[k+16>>2]=9;break}if(DE(i,217635)|0){c[k+16>>2]=10;break}if(DE(i,217639)|0){c[k+16>>2]=11;break}if(DE(i,217643)|0){c[k+16>>2]=12;break}if(DE(i,217647)|0){c[k+16>>2]=13;break}if(DE(i,217652)|0){c[k>>2]=5;break}if(DE(i,217659)|0){c[k>>2]=6;break}if(DE(i,217665)|0){c[k>>2]=10;break}if(DE(i,217669)|0){c[k>>2]=11;break}if(DE(i,217673)|0){c[k>>2]=12;break}if(DE(i,217677)|0){c[k>>2]=13;break}if(DE(i,217680)|0){c[k>>2]=15;break}if(DE(i,217684)|0){c[k>>2]=14;break}if(DE(i,217687)|0){c[k>>2]=16;break}if(DE(i,217691)|0){c[k>>2]=17;break}if(DE(i,217694)|0){c[k>>2]=7;break}if(DE(i,217697)|0){c[k>>2]=8;break}if(DE(i,217703)|0){c[k>>2]=9;break}if(DE(i,217709)|0){c[k>>2]=23;break}if(DE(i,217712)|0){c[k>>2]=24;break}if(DE(i,217718)|0){c[k>>2]=25;break}if(DE(i,217725)|0){c[k>>2]=26;break}if(DE(i,217730)|0){c[k>>2]=27;break}if(DE(i,217736)|0){c[k>>2]=28;break}if(DE(i,217741)|0){c[k>>2]=29;break}if(DE(i,217747)|0){c[k>>2]=30;break}if(DE(i,217753)|0){c[k>>2]=31;break}if(DE(i,217758)|0){c[k>>2]=32;break}if(DE(i,217762)|0){c[k>>2]=18;break}if(DE(i,217766)|0){c[k>>2]=38;break}if(DE(i,217772)|0){c[k>>2]=33;break}if(DE(i,217779)|0){c[k>>2]=34;break}if(DE(i,217785)|0){c[k>>2]=35;break}if(DE(i,217789)|0){c[k>>2]=36;break}if(DE(i,217792)|0){c[k>>2]=37;break}if(DE(i,217798)|0){c[k>>2]=39;break}if(DE(i,217805)|0){c[k>>2]=40;break}if(DE(i,217811)|0){c[k>>2]=41;break}if(DE(i,217819)|0){c[k>>2]=42;break}if(DE(i,217824)|0){c[k>>2]=43;break}if(DE(i,217830)|0){c[k>>2]=44;break}f=c[d+24>>2]|0;c:do if(f|0){e=0;while(1){h=c[f+(e<<2)>>2]|0;if(!h)break c;if(DE(i,h)|0)break;e=e+1|0}c[k+16>>2]=c[(c[d+20>>2]|0)+(e<<2)>>2];c[k>>2]=3;c[b>>2]=j;e=0;break a}while(0);f=c[d+32>>2]|0;d:do if(f|0){e=0;while(1){h=c[f+(e<<2)>>2]|0;if(!h)break d;if(DE(i,h)|0)break;e=e+1|0}c[k+16>>2]=c[(c[d+28>>2]|0)+(e<<2)>>2];c[k>>2]=4;c[b>>2]=j;e=0;break a}while(0);c[r>>2]=s;AD(d,16,217835,r);wP(c[t>>2]|0);e=-22;break a}else c[k+16>>2]=1;while(0);c[b>>2]=j;e=0}while(0);Mb=u;return e|0}function Ld(b,d,e,g){b=b|0;d=d|0;e=e|0;g=g|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.0,w=0.0,x=0.0,y=0.0,z=0.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.0,ea=0.0,fa=0.0,ga=0.0,ha=0,ia=0,ja=0;ca=Mb;Mb=Mb+784|0;r=ca+776|0;s=ca+772|0;u=ca+768|0;t=ca+764|0;Z=ca+32|0;_=ca;l=b+80848|0;m=b+82480|0;n=b+84112|0;o=b+85744|0;p=b+133968|0;q=b+134002|0;c[r>>2]=ca+592;c[s>>2]=ca+416;c[u>>2]=ca+240;c[t>>2]=ca+64;$=(g|0)!=0;aa=$?81664:81760;ba=(c[b+24>>2]|0)<3?1056864:1062752;i=c[b+40>>2]|0;if(i|0){Mn(l|0,b+80848+(i*136|0)|0,136)|0;Mn(b+81664|0,b+81664+(i*136|0)|0,136)|0;Mn(m|0,b+82480+(i*136|0)|0,136)|0;Mn(b+83296|0,b+83296+(i*136|0)|0,136)|0;Mn(n|0,b+84112+(i*136|0)|0,136)|0;Mn(b+84928|0,b+84928+(i*136|0)|0,136)|0;Mn(o|0,b+85744+(i*136|0)|0,136)|0;Mn(b+86560|0,b+86560+(i*136|0)|0,136)|0}i=b+76|0;j=c[b+12>>2]|0;Y=b+44|0;k=c[Y>>2]|0;if($){uA(r,i,j,k,1);uA(s,b+246|0,c[b+28>>2]|0,c[Y>>2]|0,1);i=b+48|0;if(c[i>>2]|0){X=b+16|0;uA(u,b+416|0,c[X>>2]|0,c[Y>>2]|0,0);uA(t,b+586|0,c[X>>2]|0,c[Y>>2]|0,0)}if(!(c[b+760>>2]|0)){Wm(l);Wm(b+81664|0);Wm(m);Wm(b+83296|0);Wm(n);Wm(b+84928|0);Wm(o);Wm(b+86560|0);hW(q,p)}}else{vA(r,i,j,k,1);vA(s,b+246|0,c[b+28>>2]|0,c[Y>>2]|0,1);i=b+48|0;if(c[i>>2]|0){X=b+16|0;vA(u,b+416|0,c[X>>2]|0,c[Y>>2]|0,0);vA(t,b+586|0,c[X>>2]|0,c[Y>>2]|0,0)}if(c[b+760>>2]|0){Nn(l);Nn(b+81664|0);Nn(m);Nn(b+83296|0);Nn(n);Nn(b+84928|0);Nn(o);Nn(b+86560|0);hW(q,p)}}X=167140+(g<<2)|0;V=c[r>>2]|0;W=b+8|0;T=c[s>>2]|0;U=167148+(g<<2)|0;S=c[t>>2]|0;M=c[u>>2]|0;N=167124+(g<<2)|0;O=Z+4|0;P=Z+8|0;Q=Z+12|0;R=_+4|0;C=_+8|0;D=_+12|0;E=Z+16|0;F=_+16|0;G=Z+20|0;H=_+20|0;I=Z+24|0;J=_+24|0;K=Z+28|0;L=_+28|0;g=(g|0)==0;A=Z+16|0;u=0;while(1){if((u|0)>=(c[Y>>2]|0))break;k=c[X>>2]|0;B=u+1|0;j=0;while(1){if((j|0)>=(k|0))break;s=(a[V+(u*34|0)+j>>0]|0)+7+((c[W>>2]|0)*23|0)|0;t=a[T+(u*34|0)+j>>0]|0;w=+f[ba+(s<<7)+(t<<4)>>2];y=+f[ba+(s<<7)+(t<<4)+4>>2];x=+f[ba+(s<<7)+(t<<4)+8>>2];v=+f[ba+(s<<7)+(t<<4)+12>>2];if((c[i>>2]|0)!=0?(j|0)<(c[U>>2]|0):0){r=b+133968+j|0;q=(a[r>>0]<<3)+(a[S+(u*34|0)+j>>0]|0)|0;t=b+134002+j|0;s=(a[t>>0]<<3)+(a[M+(u*34|0)+j>>0]|0)|0;da=+f[1068640+(q<<2)>>2];fa=+f[1070688+(q<<2)>>2];ga=+f[1068640+(s<<2)>>2];ea=+f[1070688+(s<<2)>>2];a[r>>0]=q&63;a[t>>0]=s&63;z=da*ga+fa*ea;ea=fa*ga-da*ea;f[b+81664+(B*136|0)+(j<<2)>>2]=w*fa;f[b+83296+(B*136|0)+(j<<2)>>2]=y*ea;f[b+84928+(B*136|0)+(j<<2)>>2]=x*fa;f[b+86560+(B*136|0)+(j<<2)>>2]=v*ea;w=w*da;y=y*z;x=x*da;v=v*z}f[b+80848+(B*136|0)+(j<<2)>>2]=w;f[b+82480+(B*136|0)+(j<<2)>>2]=y;f[b+84112+(B*136|0)+(j<<2)>>2]=x;f[b+85744+(B*136|0)+(j<<2)>>2]=v;j=j+1|0}k=c[N>>2]|0;l=b+52+(u<<2)|0;m=b+52+(B<<2)|0;j=0;while(1){if((j|0)>=(k|0))break;n=c[l>>2]|0;o=(c[m>>2]|0)-n|0;p=(o|0)!=0;v=p?1.0/+(o|0):1.0;q=a[aa+j>>0]|0;ja=c[b+80848+(u*136|0)+(q<<2)>>2]|0;c[Z>>2]=ja;ia=c[b+82480+(u*136|0)+(q<<2)>>2]|0;c[O>>2]=ia;ha=c[b+84112+(u*136|0)+(q<<2)>>2]|0;c[P>>2]=ha;t=c[b+85744+(u*136|0)+(q<<2)>>2]|0;c[Q>>2]=t;r=c[i>>2]|0;s=(r|0)==0;w=(c[h>>2]=ja,+f[h>>2]);x=(c[h>>2]=ia,+f[h>>2]);y=(c[h>>2]=ha,+f[h>>2]);z=(c[h>>2]=t,+f[h>>2]);do if(!s){t=b+81664+(u*136|0)+(q<<2)|0;if($&(j+-9|0)>>>0<5|g&j>>>0<2){f[E>>2]=-+f[t>>2];f[G>>2]=-+f[b+83296+(u*136|0)+(q<<2)>>2];f[I>>2]=-+f[b+84928+(u*136|0)+(q<<2)>>2];f[K>>2]=-+f[b+86560+(u*136|0)+(q<<2)>>2];break}else{c[A>>2]=c[t>>2];c[G>>2]=c[b+83296+(u*136|0)+(q<<2)>>2];c[I>>2]=c[b+84928+(u*136|0)+(q<<2)>>2];c[K>>2]=c[b+86560+(u*136|0)+(q<<2)>>2];break}}while(0);f[_>>2]=v*(+f[b+80848+(B*136|0)+(q<<2)>>2]-w);f[R>>2]=v*(+f[b+82480+(B*136|0)+(q<<2)>>2]-x);f[C>>2]=v*(+f[b+84112+(B*136|0)+(q<<2)>>2]-y);f[D>>2]=v*(+f[b+85744+(B*136|0)+(q<<2)>>2]-z);if(!s){f[F>>2]=v*(+f[b+81664+(B*136|0)+(q<<2)>>2]-+f[E>>2]);f[H>>2]=v*(+f[b+83296+(B*136|0)+(q<<2)>>2]-+f[G>>2]);f[J>>2]=v*(+f[b+84928+(B*136|0)+(q<<2)>>2]-+f[I>>2]);f[L>>2]=v*(+f[b+86560+(B*136|0)+(q<<2)>>2]-+f[K>>2])}if(p)jc[c[b+134060+(((r|0)!=0&1)<<2)>>2]&255](d+(j<<8)+8+(n<<3)|0,e+(j<<8)+8+(n<<3)|0,Z,_,o);j=j+1|0}u=B}Mb=ca;return}function Md(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=b+44|0;y=mZ((c[w>>2]|0)+1|0)|0;x=b+1656|0;c[x>>2]=y;y=b+48|0;z=mZ((c[y>>2]|0)+1|0)|0;v=b+1660|0;c[v>>2]=z;z=d+13384|0;t=mZ(c[z>>2]|0)|0;i=b+1664|0;c[i>>2]=t;e=c[x>>2]|0;a:do if((e|0)!=0?!((t|0)==0|(c[v>>2]|0)==0):0){q=b+1648|0;if(a[b+52>>0]|0){e=c[q>>2]|0;if(!e){f=mZ(c[w>>2]|0)|0;c[q>>2]=f;f=mZ(c[y>>2]|0)|0;c[b+1652>>2]=f;e=c[q>>2]|0;if(!e){e=-12;break}}else f=c[b+1652>>2]|0;if(!f){e=-12;break}g=0;while(1){h=c[w>>2]|0;if((g|0)>=(h|0))break;t=g+1|0;s=c[z>>2]|0;s=((H(s,t)|0)/(h|0)|0)-((H(s,g)|0)/(h|0)|0)|0;c[e+(g<<2)>>2]=s;g=t}g=d+13388|0;e=0;while(1){h=c[y>>2]|0;if((e|0)>=(h|0))break;t=e+1|0;s=c[g>>2]|0;s=((H(s,t)|0)/(h|0)|0)-((H(s,e)|0)/(h|0)|0)|0;c[f+(e<<2)>>2]=s;e=t}e=c[x>>2]|0}c[e>>2]=0;f=0;g=0;while(1){if((f|0)>=(c[w>>2]|0))break;t=(c[(c[q>>2]|0)+(f<<2)>>2]|0)+g|0;s=f+1|0;c[e+(s<<2)>>2]=t;f=s;g=t}g=c[v>>2]|0;c[g>>2]=0;n=b+1652|0;f=0;h=0;while(1){if((f|0)>=(c[y>>2]|0))break;t=(c[(c[n>>2]|0)+(f<<2)>>2]|0)+h|0;s=f+1|0;c[g+(s<<2)>>2]=t;f=s;h=t}f=0;g=0;while(1){h=c[z>>2]|0;if((g|0)>=(h|0))break;t=f+(g>>>0>(c[e+(f<<2)>>2]|0)>>>0&1)|0;c[(c[i>>2]|0)+(g<<2)>>2]=t;f=t;g=g+1|0}m=H(c[d+13388>>2]|0,h)|0;t=mZ(m)|0;s=b+1668|0;c[s>>2]=t;t=mZ(m)|0;e=b+1672|0;c[e>>2]=t;t=mZ(m)|0;f=b+1676|0;c[f>>2]=t;t=d+13420|0;g=(c[t>>2]|0)+2|0;g=mZ(H(g,g)|0)|0;p=b+1688|0;c[p>>2]=g;o=c[s>>2]|0;if(((o|0)!=0?(r=c[e>>2]|0,(r|0)!=0):0)?(u=c[f>>2]|0,!((g|0)==0|(u|0)==0)):0){i=0;while(1){if((i|0)>=(m|0))break;j=c[z>>2]|0;k=(i|0)/(j|0)|0;l=i-(H(k,j)|0)|0;f=c[w>>2]|0;e=0;while(1){if((e|0)>=(f|0)){e=0;break}g=e+1|0;if(l>>>0<(c[(c[x>>2]|0)+(g<<2)>>2]|0)>>>0)break;else e=g}g=c[y>>2]|0;f=0;while(1){if((f|0)>=(g|0)){h=0;break}h=f+1|0;if(k>>>0<(c[(c[v>>2]|0)+(h<<2)>>2]|0)>>>0){h=f;break}else f=h}f=0;g=0;while(1){if((g|0)==(e|0))break;f=(H(c[(c[q>>2]|0)+(g<<2)>>2]|0,c[(c[n>>2]|0)+(h<<2)>>2]|0)|0)+f|0;g=g+1|0}g=0;while(1){if((g|0)==(h|0))break;f=(H(c[(c[n>>2]|0)+(g<<2)>>2]|0,j)|0)+f|0;g=g+1|0}k=H(c[(c[q>>2]|0)+(e<<2)>>2]|0,k-(c[(c[v>>2]|0)+(h<<2)>>2]|0)|0)|0;l=f+l+k-(c[(c[x>>2]|0)+(e<<2)>>2]|0)|0;c[o+(i<<2)>>2]=l;c[r+(l<<2)>>2]=i;i=i+1|0}e=0;l=0;while(1){if((l|0)>=(c[y>>2]|0))break;m=l+1|0;h=0;while(1){if((h|0)>=(c[w>>2]|0))break;g=c[v>>2]|0;i=g+(m<<2)|0;j=h+1|0;g=c[g+(l<<2)>>2]|0;while(1){if(g>>>0>=(c[i>>2]|0)>>>0)break;f=c[x>>2]|0;k=f+(j<<2)|0;f=c[f+(h<<2)>>2]|0;while(1){if(f>>>0>=(c[k>>2]|0)>>>0)break;r=o+((H(c[z>>2]|0,g)|0)+f<<2)|0;c[u+(c[r>>2]<<2)>>2]=e;f=f+1|0}g=g+1|0}e=e+1|0;h=j}l=m}g=mZ(e)|0;c[b+1680>>2]=g;if(g){f=0;while(1){if((f|0)>=(c[y>>2]|0))break;e=0;while(1){h=c[w>>2]|0;if((e|0)>=(h|0))break;r=H(c[z>>2]|0,c[(c[v>>2]|0)+(f<<2)>>2]|0)|0;u=g+((H(h,f)|0)+e<<2)|0;c[u>>2]=(c[(c[x>>2]|0)+(e<<2)>>2]|0)+r;e=e+1|0}f=f+1|0}i=c[d+13336>>2]|0;h=c[d+13328>>2]|0;g=c[p>>2]|0;j=c[t>>2]|0;n=g+(j+3<<2)|0;c[b+1684>>2]=n;e=0;while(1){f=j+2|0;if((e|0)>=(f|0))break;j=g+((H(f,e)|0)<<2)|0;c[j>>2]=-1;c[g+(e<<2)>>2]=-1;e=e+1|0;j=c[t>>2]|0}l=i-h|0;m=l<<1;k=0;e=j;while(1){if((k|0)>(e|0)){e=0;break a}i=k>>>l;h=0;while(1){if((h|0)>(e|0))break;f=(H(c[z>>2]|0,i)|0)+(h>>>l)|0;f=c[(c[s>>2]|0)+(f<<2)>>2]<<m;g=0;while(1){if((g|0)>=(l|0))break;b=1<<g;f=((b&k|0)==0?0:b<<1<<g)+f+((b&h|0)==0?0:b<<g)|0;g=g+1|0}b=n+((H(e+2|0,k)|0)+h<<2)|0;c[b>>2]=f;h=h+1|0;e=c[t>>2]|0}k=k+1|0}}else e=-12}else e=-12}else e=-12;while(0);return e|0}function Nd(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=Mb;Mb=Mb+80|0;w=x+48|0;r=x+40|0;q=x+32|0;l=x+24|0;k=x+16|0;j=x+8|0;i=x;t=x+56|0;u=l1(e)|0;c[t>>2]=c[e>>2];c[t+4>>2]=c[e+4>>2];c[t+8>>2]=c[e+8>>2];c[t+12>>2]=c[e+12>>2];c[t+16>>2]=c[e+16>>2];v=(mT(t)|0)!=0;a:do if(v){s=mT(t)|0;c[f+4>>2]=s;do if(s|0){h=HG(t,3)|0;if((h|0)>5){c[i>>2]=h;AD(b,16,210075,i);s=75;break a}else{c[f+12>>2]=a[210063+h>>0];c[f+8>>2]=(h|0)>2&1;c[f+16>>2]=a[210069+h>>0];break}}while(0);s=mT(t)|0;c[f+20>>2]=s;do if(s|0){h=HG(t,3)|0;c[f+24>>2]=h;if((h|0)>5){c[j>>2]=h;AD(b,16,210101,j);s=75;break a}else{c[f+28>>2]=a[210063+h>>0];break}}while(0);s=mT(t)|0;c[f+32>>2]=s;s=11}else s=11;while(0);b:do if((s|0)==11){j=mT(t)|0;o=f+36|0;c[o>>2]=j;p=f+44|0;m=f+40|0;c[m>>2]=c[p>>2];j=(HG(t,2)|0)+(210127+(j<<2))|0;j=a[j>>0]|0;c[p>>2]=j;c[f+52>>2]=-1;c:do if(!(c[o>>2]|0)){i=94448+j|0;h=1;while(1){if((h|0)>(j|0)){h=j;break c}c[f+52+(h<<2)>>2]=(h<<5>>>(d[i>>0]|0))+-1;h=h+1|0}}else{i=1;h=j;while(1){if((i|0)>(h|0))break c;o=HG(t,5)|0;c[f+52+(i<<2)>>2]=o;if((o|0)<(c[f+52+(i+-1<<2)>>2]|0))break;i=i+1|0;h=c[p>>2]|0}AD(b,16,210135,k);s=75;break b}while(0);o=f+4|0;d:do if(!(c[o>>2]|0))jv(f+76|0,0,170)|0;else{j=f+76|0;k=f+8|0;i=0;while(1){if((i|0)>=(h|0))break d;n=mT(t)|0;if(Wf(b,t,f,j,c[81648+((n<<1)+(c[k>>2]|0)<<2)>>2]|0,i,n)|0){s=75;break b}i=i+1|0;h=c[p>>2]|0}}while(0);n=f+20|0;e:do if(!(c[n>>2]|0))jv(f+246|0,0,170)|0;else{j=f+246|0;i=0;while(1){if((i|0)>=(h|0))break e;k=mT(t)|0;if(eg(b,t,f,j,(k|0)==0?4:5,i,k)|0){s=75;break b}i=i+1|0;h=c[p>>2]|0}}while(0);do if(c[f+32>>2]|0){h=HG(t,4)|0;if((h|0)==15)h=(HG(t,8)|0)+15|0;h=h<<3;while(1){if((h|0)<=7)break;h=h+-2-(Iy(t,f,HG(t,2)|0)|0)|0}if((h|0)<0){c[l>>2]=h;AD(b,16,210166,l);s=75;break b}else{eW(t,h);h=c[p>>2]|0;break}}while(0);l=f+48|0;c[l>>2]=c[l>>2]&1;if(h){if((c[f+52+(h<<2)>>2]|0)<31){i=h;s=44}}else{i=c[m>>2]|0;s=44}if((s|0)==44){k=i+-1|0;if(!((i|0)<1|(k|0)==(h|0))){if(c[o>>2]|0){h=f+76+(h*34|0)|0;i=f+76+(k*34|0)|0;j=h+34|0;do{a[h>>0]=a[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0))}if(c[n>>2]|0){h=f+246+((c[p>>2]|0)*34|0)|0;i=f+246+(k*34|0)|0;j=h+34|0;do{a[h>>0]=a[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0))}if(c[l>>2]|0){h=f+416+((c[p>>2]|0)*34|0)|0;i=f+416+(k*34|0)|0;j=h+34|0;do{a[h>>0]=a[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));h=f+586+((c[p>>2]|0)*34|0)|0;i=f+586+(k*34|0)|0;j=h+34|0;do{a[h>>0]=a[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0))}}f:do if(c[o>>2]|0){i=c[f+12>>2]|0;j=f+8|0;h=0;while(1){if((h|0)>=(i|0))break f;m=a[f+76+((c[p>>2]|0)*34|0)+h>>0]|0;if((((m|0)>-1?m:0-m|0)|0)>(c[j>>2]<<3|7|0))break;else h=h+1|0}AD(b,16,210192,q);s=75;break b}while(0);g:do if(c[n>>2]|0){i=c[f+12>>2]|0;h=0;while(1){if((h|0)>=(i|0))break g;if((d[f+246+((c[p>>2]|0)*34|0)+h>>0]|0)>7)break;else h=h+1|0}AD(b,16,210209,r);s=75;break b}while(0);r=(c[p>>2]|0)+1|0;c[p>>2]=r;c[f+52+(r<<2)>>2]=31}i=f+756|0;c[f+760>>2]=c[i>>2];if(!(c[o>>2]|0)){if(c[n>>2]|0)s=66}else if((c[f+12>>2]|0)!=34)if(!(c[n>>2]|0)){h=0;s=67}else s=66;else{h=1;s=67}if((s|0)==66){h=(c[f+28>>2]|0)==34&1;s=67}if((s|0)==67)c[i>>2]=h;if(!(c[l>>2]|0))jv(f+416|0,0,340)|0;if(v)c[f>>2]=1;h=(l1(t)|0)-u|0;if((h|0)>(g|0)){c[w>>2]=g;c[w+4>>2]=h;AD(b,16,210226,w);s=75;break}else{fS(e,h);break}}while(0);if((s|0)==75){c[f>>2]=0;fS(e,g);jv(f+76|0,0,680)|0;h=g}Mb=x;return h|0}function Od(d,e,f,g,h,i,j,k,l,m,n){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;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0;J=Mb;Mb=Mb+32|0;D=J;E=J+16|0;F=J+12|0;G=J+8|0;z=c[d+136>>2]|0;v=c[(c[d+3516>>2]|0)+20>>2]|0;A=d+1412|0;p=c[A>>2]|0;w=c[p+13412>>2]|0;j=D;c[j>>2]=0;c[j+4>>2]=0;j=c[z+31288>>2]|0;x=c[z+31296>>2]|0;u=c[z+31292>>2]|0;r=c[z+31304>>2]|0;I=a[l+8+n>>0]|0;B=(n|0)==0&1;C=e+-1|0;q=h+f|0;if(((c[z+31284>>2]|0)!=0?(z=c[p+13340>>2]|0,z=v+(((H(q>>z,w)|0)+(C>>z)|0)*12|0)+10|0,(a[z>>0]|0)!=0):0)?(q|0)<(c[p+13380>>2]|0):0){z=c[p+13336>>2]|0;if((q>>z|0)>=(f>>z|0)?(C>>z|0)>=(e>>z|0):0){o=c[(c[d+1416>>2]|0)+1684>>2]|0;y=c[p+13328>>2]|0;z=c[p+13420>>2]|0;s=z+2|0;i=o+((H(f>>y&z,s)|0)+(e>>y&z)<<2)|0;z=o+((H(q>>y&z,s)|0)+(C>>y&z)<<2)|0;i=(c[z>>2]|0)<=(c[i>>2]|0)&1}else i=1;k=(i|0)!=0}else k=0;o=q+-1|0;if(!j)i=0;else{i=c[p+13340>>2]|0;i=v+(((H(o>>i,w)|0)+(C>>i)|0)*12|0)+10|0;i=(a[i>>0]|0)!=0}y=k|i;if(k){z=c[p+13340>>2]|0;if((Ly(d,C>>z,q>>z,n,E,n,I)|0)==0?(z=c[(c[A>>2]|0)+13340>>2]|0,(Ly(d,C>>z,q>>z,B,E,n,I)|0)==0):0)L=13;else i=1}else L=13;do if((L|0)==13){if(i){z=c[(c[A>>2]|0)+13340>>2]|0;if(Ly(d,C>>z,o>>z,n,E,n,I)|0){i=1;break}z=c[(c[A>>2]|0)+13340>>2]|0;if(Ly(d,C>>z,o>>z,B,E,n,I)|0){i=1;break}}if(k){z=c[(c[A>>2]|0)+13340>>2]|0;if(rm(d,C>>z,q>>z,n,E,n,I)|0){i=1;break}z=c[(c[A>>2]|0)+13340>>2]|0;if(rm(d,C>>z,q>>z,B,E,n,I)|0){i=1;break}}if(i){z=c[(c[A>>2]|0)+13340>>2]|0;if(rm(d,C>>z,o>>z,n,E,n,I)|0){i=1;break}z=c[(c[A>>2]|0)+13340>>2]|0;if(rm(d,C>>z,o>>z,B,E,n,I)|0){i=1;break}}i=0}while(0);s=g+e|0;z=f+-1|0;if(((r|0)!=0?(t=c[A>>2]|0,r=c[t+13340>>2]|0,r=v+(((H(z>>r,w)|0)+(s>>r)|0)*12|0)+10|0,(a[r>>0]|0)!=0):0)?(s|0)<(c[t+13376>>2]|0):0){r=c[t+13336>>2]|0;if((z>>r|0)>=(f>>r|0)?(s>>r|0)>=(e>>r|0):0){p=c[(c[d+1416>>2]|0)+1684>>2]|0;r=c[t+13328>>2]|0;t=c[t+13420>>2]|0;q=t+2|0;j=p+((H(f>>r&t,q)|0)+(e>>r&t)<<2)|0;t=p+((H(z>>r&t,q)|0)+(s>>r&t)<<2)|0;j=(c[t>>2]|0)<=(c[j>>2]|0)&1}else j=1;o=(j|0)!=0}else o=0;q=s+-1|0;if(!u)p=0;else{p=c[(c[A>>2]|0)+13340>>2]|0;p=v+(((H(z>>p,w)|0)+(q>>p)|0)*12|0)+10|0;p=(a[p>>0]|0)!=0}if(!x)j=0;else{j=c[(c[A>>2]|0)+13340>>2]|0;j=v+(((H(z>>j,w)|0)+(C>>j)|0)*12|0)+10|0;j=(a[j>>0]|0)!=0}if(o){x=c[(c[A>>2]|0)+13340>>2]|0;if((Ly(d,s>>x,z>>x,n,F,n,I)|0)==0?(x=c[(c[A>>2]|0)+13340>>2]|0,(Ly(d,s>>x,z>>x,B,F,n,I)|0)==0):0)L=37;else k=1}else L=37;do if((L|0)==37){if(p){x=c[(c[A>>2]|0)+13340>>2]|0;if(Ly(d,q>>x,z>>x,n,F,n,I)|0){k=1;break}x=c[(c[A>>2]|0)+13340>>2]|0;if(Ly(d,q>>x,z>>x,B,F,n,I)|0){k=1;break}}if(j){x=c[(c[A>>2]|0)+13340>>2]|0;if(Ly(d,C>>x,z>>x,n,F,n,I)|0){k=1;break}x=c[(c[A>>2]|0)+13340>>2]|0;if(Ly(d,C>>x,z>>x,B,F,n,I)|0){k=1;break}}k=0}while(0);do if(!y){if(k){c[E>>2]=c[F>>2];i=1}if(o){k=c[(c[A>>2]|0)+13340>>2]|0;k=rm(d,s>>k,z>>k,n,F,n,I)|0;if(k|0)break;k=c[(c[A>>2]|0)+13340>>2]|0;k=rm(d,s>>k,z>>k,B,F,n,I)|0}else k=0;if(!((k|0)!=0|p^1)){k=c[(c[A>>2]|0)+13340>>2]|0;k=rm(d,q>>k,z>>k,n,F,n,I)|0;if(k|0)break;k=c[(c[A>>2]|0)+13340>>2]|0;k=rm(d,q>>k,z>>k,B,F,n,I)|0}if(!((k|0)!=0|j^1)){k=c[(c[A>>2]|0)+13340>>2]|0;k=rm(d,C>>k,z>>k,n,F,n,I)|0;if(!k){k=c[(c[A>>2]|0)+13340>>2]|0;k=rm(d,C>>k,z>>k,B,F,n,I)|0}}}while(0);j=(i|0)!=0;if(j){c[D>>2]=c[E>>2];i=1}else i=0;do if(k){if((j?(b[E>>1]|0)==(b[F>>1]|0):0)?(b[E+2>>1]|0)==(b[F+2>>1]|0):0){K=i;L=63;break}c[D+(i<<2)>>2]=c[F>>2];if((i+1|0)>>>0<2){K=1;L=63}}else{K=i;L=63}while(0);if(((L|0)==63?(K|0)==(m|0)&(a[d+3043>>0]|0)!=0:0)?Gi(d,e,f,g,h,I,G,n)|0:0)c[D+(m<<2)>>2]=c[G>>2];L=l+(n<<2)|0;m=c[D+(m<<2)>>2]|0;b[L>>1]=m;b[L+2>>1]=m>>>16;Mb=J;return}function Pd(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;q=8-g|0;p=8-h|0;s=H(p,q)|0;p=H(p,g)|0;q=H(q,h)|0;o=H(h,g)|0;r=d>>1;a:do if(!o){o=p+q|0;if(!o){g=0;while(1){if((g|0)>=(f|0))break a;q=((e[a>>1]|0)+1+(((H(s,e[c>>1]|0)|0)+32|0)>>>6)|0)>>>1&65535;b[a>>1]=q;q=a+2|0;p=((e[q>>1]|0)+1+(((H(s,e[c+2>>1]|0)|0)+32|0)>>>6)|0)>>>1&65535;b[q>>1]=p;q=a+4|0;p=((e[q>>1]|0)+1+(((H(s,e[c+4>>1]|0)|0)+32|0)>>>6)|0)>>>1&65535;b[q>>1]=p;q=a+6|0;p=((e[q>>1]|0)+1+(((H(s,e[c+6>>1]|0)|0)+32|0)>>>6)|0)>>>1&65535;b[q>>1]=p;q=a+8|0;p=((e[q>>1]|0)+1+(((H(s,e[c+8>>1]|0)|0)+32|0)>>>6)|0)>>>1&65535;b[q>>1]=p;q=a+10|0;p=((e[q>>1]|0)+1+(((H(s,e[c+10>>1]|0)|0)+32|0)>>>6)|0)>>>1&65535;b[q>>1]=p;q=a+12|0;p=((e[q>>1]|0)+1+(((H(s,e[c+12>>1]|0)|0)+32|0)>>>6)|0)>>>1&65535;b[q>>1]=p;q=a+14|0;p=((e[q>>1]|0)+1+(((H(s,e[c+14>>1]|0)|0)+32|0)>>>6)|0)>>>1&65535;b[q>>1]=p;a=a+(r<<1)|0;g=g+1|0;c=c+(r<<1)|0}}else{h=(q|0)==0?1:r;d=h+1|0;i=h+2|0;j=h+3|0;k=h+4|0;l=h+5|0;m=h+6|0;n=h+7|0;g=0;while(1){if((g|0)>=(f|0))break a;q=H(s,e[c>>1]|0)|0;q=((e[a>>1]|0)+1+((q+32+(H(o,e[c+(h<<1)>>1]|0)|0)|0)>>>6)|0)>>>1&65535;b[a>>1]=q;q=a+2|0;p=H(s,e[c+2>>1]|0)|0;p=((e[q>>1]|0)+1+((p+32+(H(o,e[c+(d<<1)>>1]|0)|0)|0)>>>6)|0)>>>1&65535;b[q>>1]=p;q=a+4|0;p=H(s,e[c+4>>1]|0)|0;p=((e[q>>1]|0)+1+((p+32+(H(o,e[c+(i<<1)>>1]|0)|0)|0)>>>6)|0)>>>1&65535;b[q>>1]=p;q=a+6|0;p=H(s,e[c+6>>1]|0)|0;p=((e[q>>1]|0)+1+((p+32+(H(o,e[c+(j<<1)>>1]|0)|0)|0)>>>6)|0)>>>1&65535;b[q>>1]=p;q=a+8|0;p=H(s,e[c+8>>1]|0)|0;p=((e[q>>1]|0)+1+((p+32+(H(o,e[c+(k<<1)>>1]|0)|0)|0)>>>6)|0)>>>1&65535;b[q>>1]=p;q=a+10|0;p=H(s,e[c+10>>1]|0)|0;p=((e[q>>1]|0)+1+((p+32+(H(o,e[c+(l<<1)>>1]|0)|0)|0)>>>6)|0)>>>1&65535;b[q>>1]=p;q=a+12|0;p=H(s,e[c+12>>1]|0)|0;p=((e[q>>1]|0)+1+((p+32+(H(o,e[c+(m<<1)>>1]|0)|0)|0)>>>6)|0)>>>1&65535;b[q>>1]=p;q=a+14|0;p=H(s,e[c+14>>1]|0)|0;p=((e[q>>1]|0)+1+((p+32+(H(o,e[c+(n<<1)>>1]|0)|0)|0)>>>6)|0)>>>1&65535;b[q>>1]=p;a=a+(r<<1)|0;g=g+1|0;c=c+(r<<1)|0}}}else{h=r+1|0;d=r+2|0;i=r+3|0;j=r+4|0;k=r+5|0;l=r+6|0;m=r+7|0;n=r+8|0;g=0;while(1){if((g|0)>=(f|0))break a;y=H(s,e[c>>1]|0)|0;v=c+2|0;z=H(p,e[v>>1]|0)|0;t=c+(r<<1)|0;u=H(q,e[t>>1]|0)|0;x=c+(h<<1)|0;u=((e[a>>1]|0)+1+((y+32+z+u+(H(o,e[x>>1]|0)|0)|0)>>>6)|0)>>>1&65535;b[a>>1]=u;u=a+2|0;v=H(s,e[v>>1]|0)|0;z=c+4|0;y=H(p,e[z>>1]|0)|0;x=H(q,e[x>>1]|0)|0;w=c+(d<<1)|0;x=((e[u>>1]|0)+1+((v+32+y+x+(H(o,e[w>>1]|0)|0)|0)>>>6)|0)>>>1&65535;b[u>>1]=x;u=a+4|0;z=H(s,e[z>>1]|0)|0;x=c+6|0;y=H(p,e[x>>1]|0)|0;w=H(q,e[w>>1]|0)|0;v=c+(i<<1)|0;w=((e[u>>1]|0)+1+((z+32+y+w+(H(o,e[v>>1]|0)|0)|0)>>>6)|0)>>>1&65535;b[u>>1]=w;u=a+6|0;x=H(s,e[x>>1]|0)|0;w=c+8|0;y=H(p,e[w>>1]|0)|0;v=H(q,e[v>>1]|0)|0;z=c+(j<<1)|0;v=((e[u>>1]|0)+1+((x+32+y+v+(H(o,e[z>>1]|0)|0)|0)>>>6)|0)>>>1&65535;b[u>>1]=v;u=a+8|0;w=H(s,e[w>>1]|0)|0;v=c+10|0;y=H(p,e[v>>1]|0)|0;z=H(q,e[z>>1]|0)|0;x=c+(k<<1)|0;z=((e[u>>1]|0)+1+((w+32+y+z+(H(o,e[x>>1]|0)|0)|0)>>>6)|0)>>>1&65535;b[u>>1]=z;u=a+10|0;v=H(s,e[v>>1]|0)|0;z=c+12|0;y=H(p,e[z>>1]|0)|0;x=H(q,e[x>>1]|0)|0;w=c+(l<<1)|0;x=((e[u>>1]|0)+1+((v+32+y+x+(H(o,e[w>>1]|0)|0)|0)>>>6)|0)>>>1&65535;b[u>>1]=x;u=a+12|0;z=H(s,e[z>>1]|0)|0;x=c+14|0;y=H(p,e[x>>1]|0)|0;w=H(q,e[w>>1]|0)|0;v=c+(m<<1)|0;w=((e[u>>1]|0)+1+((z+32+y+w+(H(o,e[v>>1]|0)|0)|0)>>>6)|0)>>>1&65535;b[u>>1]=w;u=a+14|0;x=H(s,e[x>>1]|0)|0;w=H(p,e[c+16>>1]|0)|0;v=H(q,e[v>>1]|0)|0;v=((e[u>>1]|0)+1+((x+32+w+v+(H(o,e[c+(n<<1)>>1]|0)|0)|0)>>>6)|0)>>>1&65535;b[u>>1]=v;a=a+(r<<1)|0;g=g+1|0;c=t}}while(0);return}function Qd(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=Mb;Mb=Mb+112|0;C=D+96|0;B=D+88|0;z=D+80|0;y=D+72|0;q=D+64|0;p=D+56|0;m=D+48|0;l=D+40|0;k=D+32|0;j=D+24|0;i=D+16|0;g=D;if((c[b+25628>>2]|0)==(e|0)?(c[b+29544>>2]|0)==0:0)if(!(c[b+29572>>2]|0))n=1;else{c[g>>2]=208990;c[g+4>>2]=207591;c[g+8>>2]=1685;AD(0,0,222515,g);ba()}else n=0;A=e+4|0;h=PL(A)|0;g=e+21808|0;c[g>>2]=h;h=JE(A)|0;a:do if(h>>>0<=9){i=h>>>0>4;c[e+844>>2]=i&1;i=a[174324+(i?h+-5|0:h)>>0]|0;u=i&255;v=e+836|0;c[v>>2]=u;u=u&3;s=e+840|0;c[s>>2]=u;r=f+48|0;if(!((u|0)==1|(c[r>>2]|0)!=5)){AD(c[b+4>>2]|0,16,209040,j);g=-1094995529;break}h=au(A)|0;c[e+27776>>2]=h;if(h>>>0>255){g=c[b+4>>2]|0;c[k>>2]=h;AD(g,16,209079,k);g=-1094995529;break}g=c[b+27164+(h<<2)>>2]|0;if(!g){g=c[b+4>>2]|0;c[l>>2]=h;AD(g,16,209103,l);g=-1094995529;break}u=c[g+4>>2]|0;g=c[u>>2]|0;h=c[b+27036+(g<<2)>>2]|0;if(!h){C=c[b+4>>2]|0;c[m>>2]=g;AD(C,16,209135,m);g=-1094995529;break}m=c[h+4>>2]|0;j=m+20|0;g=HG(A,c[j>>2]|0)|0;h=e+34732|0;c[h>>2]=g;if(!n?(o=c[b+28228>>2]|0,(o|0)!=(g|0)):0){C=c[b+4>>2]|0;c[p>>2]=o;c[p+4>>2]=g;AD(C,16,209167,p);g=-1094995529;break}c[e+21832>>2]=0;if(!(c[m+64>>2]|0)){if(i<<24>>24==3&(c[m+72>>2]|0)==0){AD(c[b+4>>2]|0,16,209199,q);g=-1;break}if(mT(A)|0)l=(mT(A)|0)+1|0;else l=3}else l=3;c[e+21824>>2]=l;c[e+21828>>2]=(l|0)!=3&1;i=(l|0)==3;g=c[h>>2]|0;if(i)h=c[j>>2]|0;else{h=(c[j>>2]|0)+1|0;g=g<<1|1}c[e+34752>>2]=g;c[e+34756>>2]=1<<h;if((c[r>>2]|0)==5)PL(A)|0;h=m+24|0;g=c[h>>2]|0;if(!g){r=HG(A,c[m+28>>2]|0)|0;c[e+34736>>2]=r;if(i&(c[u+8>>2]|0)==1){r=$t(A)|0;c[e+34740>>2]=r}g=c[h>>2]|0}if(((g|0)==1?(c[m+32>>2]|0)==0:0)?(r=$t(A)|0,c[e+34744>>2]=r,i&(c[u+8>>2]|0)==1):0){r=$t(A)|0;c[e+34748>>2]=r}g=e+21836|0;c[g>>2]=0;if(c[u+60>>2]|0){r=au(A)|0;c[g>>2]=r}g=c[s>>2]|0;if((g|0)==3){g=mT(A)|0;c[e+21844>>2]=g;g=c[s>>2]|0}i=e+23404|0;k=b+4|0;g=gs(e+23412|0,i,A,u,g,l,c[k>>2]|0)|0;if((g|0)>=0){if((c[s>>2]|0)!=1?(t=Br(e,c[k>>2]|0)|0,(t|0)<0):0){c[i>>2]=0;c[e+23408>>2]=0;g=t;break}h=e+880|0;c[h>>2]=0;g=0;while(1){if((g|0)==2)break;c[e+896+(g<<2)>>2]=0;c[e+904+(g<<2)>>2]=0;g=g+1|0}if((c[u+28>>2]|0)!=0?(c[s>>2]|0)==2:0){w=2;g=51}else g=49;if(((g|0)==49?(c[u+32>>2]|0)==1:0)?(c[s>>2]|0)==3:0){w=3;g=51}if((g|0)==51?(x=Yf(A,m,i,w,h,l,c[k>>2]|0)|0,(x|0)<0):0){g=x;break}c[e+34728>>2]=0;do if(c[f+68>>2]|0){if((Bk(e,A,f,c[k>>2]|0)|0)>=0)break;if(c[(c[k>>2]|0)+688>>2]&8|0){g=-1094995529;break a}}while(0);do if((c[s>>2]|0)!=1){if(!(c[u+4>>2]|0))break;g=JE(A)|0;if(g>>>0>2){C=c[k>>2]|0;c[y>>2]=g;AD(C,16,209269,y);g=-1094995529;break a}else{c[e+33928>>2]=g;break}}while(0);c[e+864>>2]=0;g=c[u+36>>2]|0;g=($t(A)|0)+g|0;if(g>>>0>(((c[m+1184>>2]|0)*6|0)+3|0)>>>0){C=c[k>>2]|0;c[z>>2]=g;AD(C,16,209297,z);g=-1094995529;break}c[e+848>>2]=g;c[e+852>>2]=d[u+548+g>>0];c[e+856>>2]=d[u+636+g>>0];g=c[v>>2]|0;if((g|0)==6){mT(A)|0;g=c[v>>2]|0}if((g+-5|0)>>>0<2)$t(A)|0;h=e+868|0;c[h>>2]=1;j=e+872|0;c[j>>2]=0;i=e+876|0;c[i>>2]=0;if(!(c[u+52>>2]|0)){g=0;break}g=JE(A)|0;if(g>>>0>2){C=c[k>>2]|0;c[B>>2]=g;AD(C,16,209317,B);g=-1094995529;break}B=(g|0)==2?2:g^1;c[h>>2]=B;if(!B){g=0;break}h=$t(A)|0;g=$t(A)|0;if((h+6|0)>>>0>12|(g+6|0)>>>0>12){B=c[k>>2]|0;c[C>>2]=h;c[C+4>>2]=g;AD(B,16,209356,C);g=-1094995529;break}else{c[j>>2]=h<<1;c[i>>2]=g<<1;g=0;break}}}else{C=c[b+4>>2]|0;g=c[g>>2]|0;c[i>>2]=h;c[i+4>>2]=g;AD(C,16,209009,i);g=-1094995529}while(0);Mb=D;return g|0}function Rd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;if(!a)return;d=a+-8|0;f=c[278167]|0;a=c[a+-4>>2]|0;b=a&-8;j=d+b|0;do if(!(a&1)){e=c[d>>2]|0;if(!(a&3))return;h=d+(0-e)|0;g=e+b|0;if(h>>>0<f>>>0)return;if((c[278168]|0)==(h|0)){a=j+4|0;b=c[a>>2]|0;if((b&3|0)!=3){i=h;b=g;break}c[278165]=g;c[a>>2]=b&-2;c[h+4>>2]=g|1;c[h+g>>2]=g;return}d=e>>>3;if(e>>>0<256){a=c[h+8>>2]|0;b=c[h+12>>2]|0;if((b|0)==(a|0)){c[278163]=c[278163]&~(1<<d);i=h;b=g;break}else{c[a+12>>2]=b;c[b+8>>2]=a;i=h;b=g;break}}f=c[h+24>>2]|0;a=c[h+12>>2]|0;do if((a|0)==(h|0)){b=h+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){a=0;break}}else b=d;while(1){e=a+20|0;d=c[e>>2]|0;if(!d){e=a+16|0;d=c[e>>2]|0;if(!d)break;else{a=d;b=e}}else{a=d;b=e}}c[b>>2]=0}else{i=c[h+8>>2]|0;c[i+12>>2]=a;c[a+8>>2]=i}while(0);if(f){b=c[h+28>>2]|0;d=1112956+(b<<2)|0;if((c[d>>2]|0)==(h|0)){c[d>>2]=a;if(!a){c[278164]=c[278164]&~(1<<b);i=h;b=g;break}}else{i=f+16|0;c[((c[i>>2]|0)==(h|0)?i:f+20|0)>>2]=a;if(!a){i=h;b=g;break}}c[a+24>>2]=f;b=h+16|0;d=c[b>>2]|0;if(d|0){c[a+16>>2]=d;c[d+24>>2]=a}b=c[b+4>>2]|0;if(b){c[a+20>>2]=b;c[b+24>>2]=a;i=h;b=g}else{i=h;b=g}}else{i=h;b=g}}else{i=d;h=d}while(0);if(h>>>0>=j>>>0)return;a=j+4|0;e=c[a>>2]|0;if(!(e&1))return;if(!(e&2)){if((c[278169]|0)==(j|0)){j=(c[278166]|0)+b|0;c[278166]=j;c[278169]=i;c[i+4>>2]=j|1;if((i|0)!=(c[278168]|0))return;c[278168]=0;c[278165]=0;return}if((c[278168]|0)==(j|0)){j=(c[278165]|0)+b|0;c[278165]=j;c[278168]=h;c[i+4>>2]=j|1;c[h+j>>2]=j;return}f=(e&-8)+b|0;d=e>>>3;do if(e>>>0<256){b=c[j+8>>2]|0;a=c[j+12>>2]|0;if((a|0)==(b|0)){c[278163]=c[278163]&~(1<<d);break}else{c[b+12>>2]=a;c[a+8>>2]=b;break}}else{g=c[j+24>>2]|0;a=c[j+12>>2]|0;do if((a|0)==(j|0)){b=j+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){d=0;break}}else b=d;while(1){e=a+20|0;d=c[e>>2]|0;if(!d){e=a+16|0;d=c[e>>2]|0;if(!d)break;else{a=d;b=e}}else{a=d;b=e}}c[b>>2]=0;d=a}else{d=c[j+8>>2]|0;c[d+12>>2]=a;c[a+8>>2]=d;d=a}while(0);if(g|0){a=c[j+28>>2]|0;b=1112956+(a<<2)|0;if((c[b>>2]|0)==(j|0)){c[b>>2]=d;if(!d){c[278164]=c[278164]&~(1<<a);break}}else{e=g+16|0;c[((c[e>>2]|0)==(j|0)?e:g+20|0)>>2]=d;if(!d)break}c[d+24>>2]=g;a=j+16|0;b=c[a>>2]|0;if(b|0){c[d+16>>2]=b;c[b+24>>2]=d}a=c[a+4>>2]|0;if(a|0){c[d+20>>2]=a;c[a+24>>2]=d}}}while(0);c[i+4>>2]=f|1;c[h+f>>2]=f;if((i|0)==(c[278168]|0)){c[278165]=f;return}}else{c[a>>2]=e&-2;c[i+4>>2]=b|1;c[h+b>>2]=b;f=b}a=f>>>3;if(f>>>0<256){d=1112692+(a<<1<<2)|0;b=c[278163]|0;a=1<<a;if(!(b&a)){c[278163]=b|a;a=d;b=d+8|0}else{b=d+8|0;a=c[b>>2]|0}c[b>>2]=i;c[a+12>>2]=i;c[i+8>>2]=a;c[i+12>>2]=d;return}a=f>>>8;if(a)if(f>>>0>16777215)e=31;else{h=(a+1048320|0)>>>16&8;j=a<<h;g=(j+520192|0)>>>16&4;j=j<<g;e=(j+245760|0)>>>16&2;e=14-(g|h|e)+(j<<e>>>15)|0;e=f>>>(e+7|0)&1|e<<1}else e=0;a=1112956+(e<<2)|0;c[i+28>>2]=e;c[i+20>>2]=0;c[i+16>>2]=0;b=c[278164]|0;d=1<<e;a:do if(!(b&d)){c[278164]=b|d;c[a>>2]=i;c[i+24>>2]=a;c[i+12>>2]=i;c[i+8>>2]=i}else{a=c[a>>2]|0;b:do if((c[a+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=a+16+(e>>>31<<2)|0;b=c[d>>2]|0;if(!b)break;if((c[b+4>>2]&-8|0)==(f|0)){a=b;break b}else{e=e<<1;a=b}}c[d>>2]=i;c[i+24>>2]=a;c[i+12>>2]=i;c[i+8>>2]=i;break a}while(0);h=a+8|0;j=c[h>>2]|0;c[j+12>>2]=i;c[h>>2]=i;c[i+8>>2]=j;c[i+12>>2]=a;c[i+24>>2]=0}while(0);j=(c[278171]|0)+-1|0;c[278171]=j;if(j|0)return;a=1113108;while(1){a=c[a>>2]|0;if(!a)break;else a=a+8|0}c[278171]=-1;return}function Sd(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0;I=Mb;Mb=Mb+240|0;G=I+64|0;F=I+56|0;E=I+48|0;D=I+40|0;p=I+24|0;k=I+16|0;i=I+8|0;A=I+88|0;B=I+68|0;C=g+160|0;AD(e,48,177688,I);do if(mT(b)|0){h=(HG(b,8)|0)&255;if(h>>>0<17){w=20128+(h<<3)|0;x=c[w+4>>2]|0;y=C;c[y>>2]=c[w>>2];c[y+4>>2]=x;break}if((h|0)==255){y=HG(b,16)|0;c[C>>2]=y;y=HG(b,16)|0;c[g+164>>2]=y;break}else{c[i>>2]=h;AD(e,24,177702,i);break}}while(0);y=mT(b)|0;c[g+168>>2]=y;if(y|0){y=mT(b)|0;c[g+172>>2]=y}y=mT(b)|0;c[g+176>>2]=y;a:do if(y|0){h=HG(b,3)|0;c[g+180>>2]=h;h=mT(b)|0;y=g+184|0;c[y>>2]=h;h=mT(b)|0;c[g+188>>2]=h;if(c[y>>2]|0?(j=g+56|0,(c[j>>2]|0)==0):0)c[j>>2]=12;if(h|0){y=(HG(b,8)|0)&255;h=g+192|0;a[h>>0]=y;y=(HG(b,8)|0)&255;i=g+193|0;a[i>>0]=y;y=(HG(b,8)|0)&255;j=g+194|0;a[j>>0]=y;if(!(DY(d[h>>0]|0)|0))a[h>>0]=2;if(!(HY(d[i>>0]|0)|0))a[i>>0]=2;if(!(WY(d[j>>0]|0)|0)){a[j>>0]=2;break}if(!(a[j>>0]|0)){h=g+56|0;switch(c[h>>2]|0){case 5:{c[h>>2]=82;break a}case 78:{c[h>>2]=86;break a}case 308:{c[h>>2]=312;break a}default:break a}}}}while(0);y=mT(b)|0;c[g+196>>2]=y;if(y|0){y=CL(b)|0;c[g+200>>2]=y;y=CL(b)|0;c[g+204>>2]=y}y=mT(b)|0;c[g+208>>2]=y;y=mT(b)|0;c[g+212>>2]=y;y=mT(b)|0;c[g+216>>2]=y;c[B>>2]=c[b>>2];c[B+4>>2]=c[b+4>>2];c[B+8>>2]=c[b+8>>2];c[B+12>>2]=c[b+12>>2];c[B+16>>2]=c[b+16>>2];Mn(A|0,C|0,140)|0;if((a$(b)|0)>67?(mE(b,21)|0)==1048576:0){h=g+220|0;c[h>>2]=0;AD(e,24,177726,k);h=c[h>>2]|0}else{h=mT(b)|0;c[g+220>>2]=h}if((h|0?(y=c[g+4>>2]|0,o=(y|0)<2?2:1,y=(y|0)<3?2:1,m=H(y,CL(b)|0)|0,l=g+224|0,c[l>>2]=m,y=H(CL(b)|0,y)|0,m=g+228|0,c[m>>2]=y,y=H(CL(b)|0,o)|0,n=g+232|0,c[n>>2]=y,o=H(CL(b)|0,o)|0,c[g+236>>2]=o,f|0):0)?c[e+96>>2]&65536|0:0){x=c[m>>2]|0;y=c[n>>2]|0;c[p>>2]=c[l>>2];c[p+4>>2]=x;c[p+8>>2]=y;c[p+12>>2]=o;AD(e,48,177758,p);c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0}l=g+240|0;m=g+264|0;n=g+244|0;o=g+248|0;f=g+268|0;p=g+272|0;q=g+276|0;r=g+280|0;s=g+284|0;t=g+288|0;u=g+292|0;v=g+296|0;w=g+252|0;x=g+260|0;y=g+256|0;j=g+68|0;i=0;b:while(1){g=mT(b)|0;c[l>>2]=g;do if(g){k=(i|0)!=0;if(!(k|(a$(b)|0)>65)){AD(e,24,177838,D);Mn(C|0,A|0,140)|0;c[b>>2]=c[B>>2];c[b+4>>2]=c[B+4>>2];c[b+8>>2]=c[B+8>>2];c[b+12>>2]=c[B+12>>2];c[b+16>>2]=c[B+16>>2];break}h=rO(b,32)|0;c[n>>2]=h;h=rO(b,32)|0;c[o>>2]=h;if(k){z=c[n>>2]|0;c[E>>2]=h;c[E+4>>2]=z;AD(e,32,177883,E)}z=mT(b)|0;c[w>>2]=z;if(z|0){z=CL(b)|0;c[y>>2]=z}z=mT(b)|0;c[x>>2]=z;if(z){wq(b,1,c[j>>2]|0);z=46}else z=46}else z=46;while(0);c:do if((z|0)==46){z=0;g=mT(b)|0;c[m>>2]=g;do if(g|0)if((i|0)!=0|(a$(b)|0)>7){g=mT(b)|0;c[f>>2]=g;g=mT(b)|0;c[p>>2]=g;g=mT(b)|0;c[q>>2]=g;g=CL(b)|0;c[r>>2]=g;g=CL(b)|0;c[s>>2]=g;g=CL(b)|0;c[t>>2]=g;g=CL(b)|0;c[u>>2]=g;g=CL(b)|0;c[v>>2]=g;break}else{AD(e,24,177904,F);Mn(C|0,A|0,140)|0;c[b>>2]=c[B>>2];c[b+4>>2]=c[B+4>>2];c[b+8>>2]=c[B+8>>2];c[b+12>>2]=c[B+12>>2];c[b+16>>2]=c[B+16>>2];break c}while(0);if((i|0)!=0|(a$(b)|0)>0)break b;AD(e,24,177988,G);Mn(C|0,A|0,140)|0;c[b>>2]=c[B>>2];c[b+4>>2]=c[B+4>>2];c[b+8>>2]=c[B+8>>2];c[b+12>>2]=c[B+12>>2];c[b+16>>2]=c[B+16>>2]}while(0);i=1}Mb=I;return}function Td(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;y=c[b+136>>2]|0;z=b+1412|0;j=c[z>>2]|0;i=c[j+13320>>2]|0;x=c[j+13396>>2]|0;k=e>>i;l=f>>i;s=b+1416|0;j=1<<(c[j+13336>>2]|0)-(c[(c[s>>2]|0)+24>>2]|0);c[y+31236>>2]=e;c[y+31240>>2]=f;q=y+31244|0;c[q>>2]=1;o=y+31248|0;c[o>>2]=0;r=y+31252|0;a[r>>0]=0;n=b+7564|0;v=(H(l,x)|0)+k|0;a[(c[n>>2]|0)+v>>0]=0;h=0;while(1){if((h|0)==4)break;a[y+31264+h>>0]=1;h=h+1|0}w=1<<g;u=w>>i;t=j+-1|0;if(a[(c[s>>2]|0)+40>>0]|0){m=(YY(b)|0)&255;a[y+31254>>0]=m;if(m<<24>>24)Ny(b,e,f,g)}else a[y+31254>>0]=0;m=b+2420|0;a:do if((c[m>>2]|0)==2){h=0;i=v;while(1){if((h|0)>=(u|0))break a;jv((c[n>>2]|0)+i|0,0,u|0)|0;h=h+1|0;i=i+x|0}}else{j=iz(b,e,f,k,l)|0;k=j&255;h=0;i=v;while(1){if((h|0)>=(u|0))break;jv((c[n>>2]|0)+i|0,k|0,u|0)|0;h=h+1|0;i=i+x|0}c[q>>2]=(j&255|0)==0?0:2}while(0);b:do if(!(a[(c[n>>2]|0)+v>>0]|0)){if((c[m>>2]|0)==2)h=c[q>>2]|0;else{h=J_(b)|0;c[q>>2]=h}if((h|0)==1?(c[(c[z>>2]|0)+13320>>2]|0)!=(g|0):0)i=25;else i=24;c:do if((i|0)==24){m=qs(b,g)|0;c[o>>2]=m;n=c[q>>2]|0;a[r>>0]=(m|0)==3&(n|0)==1&1;if((n|0)==1)i=25;else{Ou(b,e,f,g);switch(c[o>>2]|0){case 0:{Ge(b,e,f,w,w,g,0);break c}case 1:{p=(w|0)/2|0;Ge(b,e,f,w,p,g,0);Ge(b,e,p+f|0,w,p,g,1);break c}case 2:{p=(w|0)/2|0;Ge(b,e,f,p,w,g,0);Ge(b,p+e|0,f,p,w,g,1);break c}case 4:{p=(w|0)/4|0;Ge(b,e,f,w,p,g,0);Ge(b,e,p+f|0,w,(3<<g|0)/4|0,g,1);break c}case 5:{p=(3<<g|0)/4|0;Ge(b,e,f,w,p,g,0);Ge(b,e,p+f|0,w,(w|0)/4|0,g,1);break c}case 6:{p=(w|0)/4|0;Ge(b,e,f,p,w,g,0);Ge(b,p+e|0,f,(3<<g|0)/4|0,w,g,1);break c}case 7:{p=(3<<g|0)/4|0;Ge(b,e,f,p,w,g,0);Ge(b,p+e|0,f,(w|0)/4|0,w,g,1);break c}case 3:{p=(w|0)/2|0;Ge(b,e,f,p,p,g,0);m=p+e|0;Ge(b,m,f,p,p,g,1);n=p+f|0;Ge(b,e,n,p,p,g,2);Ge(b,m,n,p,p,g,3);break c}default:break c}}}while(0);if((i|0)==25){if(((((c[o>>2]|0)==0?(p=c[z>>2]|0,c[p+64>>2]|0):0)?(c[p+13304>>2]|0)>>>0<=g>>>0:0)?(c[p+13308>>2]|0)>>>0>=g>>>0:0)?D$(b)|0:0){Ou(b,e,f,g);h=gm(b,e,f,g)|0;if(a[(c[z>>2]|0)+13312>>0]|0)Ny(b,e,f,g);if((h|0)<0)break;else{i=55;break}}$h(b,e,f,g)}d:do if((c[q>>2]|0)==1){h=c[z>>2]|0;i=50}else{if((c[o>>2]|0)==0?(a[y+31272>>0]|0)!=0:0)h=c[z>>2]|0;else i=48;do if((i|0)==48){if(eZ(b)|0){h=c[z>>2]|0;if((c[q>>2]|0)==1){i=50;break d}else break}if(a[b+3057>>0]|0){i=55;break b}$e(b,e,f,g);i=55;break b}while(0);h=c[h+13344>>2]|0}while(0);if((i|0)==50)h=(c[h+13348>>2]|0)+(d[r>>0]|0)|0;a[y+31253>>0]=h;h=Gf(b,e,f,e,f,e,f,g,g,0,0,1112400,1112400)|0;if((h|0)>=0)i=55}else{Ge(b,e,f,w,w,g,0);Ou(b,e,f,g);if(!(a[b+3057>>0]|0)){$e(b,e,f,g);i=55}else i=55}while(0);e:do if((i|0)==55){if(a[(c[s>>2]|0)+22>>0]|0?(a[y+300>>0]|0)==0:0)HE(b,e,f,g);j=b+7548|0;k=y+272|0;i=0;h=v;while(1){if((i|0)>=(u|0))break;jv((c[j>>2]|0)+h|0,a[k>>0]|0,u|0)|0;i=i+1|0;h=h+x|0}if((t&w+e|0)==0?(t&w+f|0)==0:0)c[y+276>>2]=a[k>>0];k=c[(c[z>>2]|0)+13320>>2]|0;m=w>>k;l=e>>k;k=f>>k;j=b+7568|0;i=c[y+31232>>2]&255;h=0;while(1){if((h|0)>=(m|0)){h=0;break e}jv((c[j>>2]|0)+((H(c[(c[z>>2]|0)+13396>>2]|0,h+k|0)|0)+l)|0,i|0,m|0)|0;h=h+1|0}}while(0);return h|0}function Ud(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;r=8-g|0;q=8-h|0;s=H(q,r)|0;q=H(q,g)|0;r=H(r,h)|0;h=H(h,g)|0;a:do if(!h){p=q+r|0;if(!p){g=0;while(1){if((g|0)>=(f|0))break a;r=((d[b>>0]|0)+1+(((H(s,d[c>>0]|0)|0)+32|0)>>>6)|0)>>>1&255;a[b>>0]=r;r=b+1|0;q=((d[r>>0]|0)+1+(((H(s,d[c+1>>0]|0)|0)+32|0)>>>6)|0)>>>1&255;a[r>>0]=q;r=b+2|0;q=((d[r>>0]|0)+1+(((H(s,d[c+2>>0]|0)|0)+32|0)>>>6)|0)>>>1&255;a[r>>0]=q;r=b+3|0;q=((d[r>>0]|0)+1+(((H(s,d[c+3>>0]|0)|0)+32|0)>>>6)|0)>>>1&255;a[r>>0]=q;r=b+4|0;q=((d[r>>0]|0)+1+(((H(s,d[c+4>>0]|0)|0)+32|0)>>>6)|0)>>>1&255;a[r>>0]=q;r=b+5|0;q=((d[r>>0]|0)+1+(((H(s,d[c+5>>0]|0)|0)+32|0)>>>6)|0)>>>1&255;a[r>>0]=q;r=b+6|0;q=((d[r>>0]|0)+1+(((H(s,d[c+6>>0]|0)|0)+32|0)>>>6)|0)>>>1&255;a[r>>0]=q;r=b+7|0;q=((d[r>>0]|0)+1+(((H(s,d[c+7>>0]|0)|0)+32|0)>>>6)|0)>>>1&255;a[r>>0]=q;b=b+e|0;g=g+1|0;c=c+e|0}}else{h=(r|0)==0?1:e;i=h+1|0;j=h+2|0;k=h+3|0;l=h+4|0;m=h+5|0;n=h+6|0;o=h+7|0;g=0;while(1){if((g|0)>=(f|0))break a;r=H(s,d[c>>0]|0)|0;r=((d[b>>0]|0)+1+((r+32+(H(p,d[c+h>>0]|0)|0)|0)>>>6)|0)>>>1&255;a[b>>0]=r;r=b+1|0;q=H(s,d[c+1>>0]|0)|0;q=((d[r>>0]|0)+1+((q+32+(H(p,d[c+i>>0]|0)|0)|0)>>>6)|0)>>>1&255;a[r>>0]=q;r=b+2|0;q=H(s,d[c+2>>0]|0)|0;q=((d[r>>0]|0)+1+((q+32+(H(p,d[c+j>>0]|0)|0)|0)>>>6)|0)>>>1&255;a[r>>0]=q;r=b+3|0;q=H(s,d[c+3>>0]|0)|0;q=((d[r>>0]|0)+1+((q+32+(H(p,d[c+k>>0]|0)|0)|0)>>>6)|0)>>>1&255;a[r>>0]=q;r=b+4|0;q=H(s,d[c+4>>0]|0)|0;q=((d[r>>0]|0)+1+((q+32+(H(p,d[c+l>>0]|0)|0)|0)>>>6)|0)>>>1&255;a[r>>0]=q;r=b+5|0;q=H(s,d[c+5>>0]|0)|0;q=((d[r>>0]|0)+1+((q+32+(H(p,d[c+m>>0]|0)|0)|0)>>>6)|0)>>>1&255;a[r>>0]=q;r=b+6|0;q=H(s,d[c+6>>0]|0)|0;q=((d[r>>0]|0)+1+((q+32+(H(p,d[c+n>>0]|0)|0)|0)>>>6)|0)>>>1&255;a[r>>0]=q;r=b+7|0;q=H(s,d[c+7>>0]|0)|0;q=((d[r>>0]|0)+1+((q+32+(H(p,d[c+o>>0]|0)|0)|0)>>>6)|0)>>>1&255;a[r>>0]=q;b=b+e|0;g=g+1|0;c=c+e|0}}}else{i=e+1|0;j=e+2|0;k=e+3|0;l=e+4|0;m=e+5|0;n=e+6|0;o=e+7|0;p=e+8|0;g=0;while(1){if((g|0)>=(f|0))break a;y=H(s,d[c>>0]|0)|0;v=c+1|0;z=H(q,d[v>>0]|0)|0;t=c+e|0;u=H(r,d[t>>0]|0)|0;x=c+i|0;u=((d[b>>0]|0)+1+((y+32+z+u+(H(h,d[x>>0]|0)|0)|0)>>>6)|0)>>>1&255;a[b>>0]=u;u=b+1|0;v=H(s,d[v>>0]|0)|0;z=c+2|0;y=H(q,d[z>>0]|0)|0;x=H(r,d[x>>0]|0)|0;w=c+j|0;x=((d[u>>0]|0)+1+((v+32+y+x+(H(h,d[w>>0]|0)|0)|0)>>>6)|0)>>>1&255;a[u>>0]=x;u=b+2|0;z=H(s,d[z>>0]|0)|0;x=c+3|0;y=H(q,d[x>>0]|0)|0;w=H(r,d[w>>0]|0)|0;v=c+k|0;w=((d[u>>0]|0)+1+((z+32+y+w+(H(h,d[v>>0]|0)|0)|0)>>>6)|0)>>>1&255;a[u>>0]=w;u=b+3|0;x=H(s,d[x>>0]|0)|0;w=c+4|0;y=H(q,d[w>>0]|0)|0;v=H(r,d[v>>0]|0)|0;z=c+l|0;v=((d[u>>0]|0)+1+((x+32+y+v+(H(h,d[z>>0]|0)|0)|0)>>>6)|0)>>>1&255;a[u>>0]=v;u=b+4|0;w=H(s,d[w>>0]|0)|0;v=c+5|0;y=H(q,d[v>>0]|0)|0;z=H(r,d[z>>0]|0)|0;x=c+m|0;z=((d[u>>0]|0)+1+((w+32+y+z+(H(h,d[x>>0]|0)|0)|0)>>>6)|0)>>>1&255;a[u>>0]=z;u=b+5|0;v=H(s,d[v>>0]|0)|0;z=c+6|0;y=H(q,d[z>>0]|0)|0;x=H(r,d[x>>0]|0)|0;w=c+n|0;x=((d[u>>0]|0)+1+((v+32+y+x+(H(h,d[w>>0]|0)|0)|0)>>>6)|0)>>>1&255;a[u>>0]=x;u=b+6|0;z=H(s,d[z>>0]|0)|0;x=c+7|0;y=H(q,d[x>>0]|0)|0;w=H(r,d[w>>0]|0)|0;v=c+o|0;w=((d[u>>0]|0)+1+((z+32+y+w+(H(h,d[v>>0]|0)|0)|0)>>>6)|0)>>>1&255;a[u>>0]=w;u=b+7|0;x=H(s,d[x>>0]|0)|0;w=H(q,d[c+8>>0]|0)|0;v=H(r,d[v>>0]|0)|0;v=((d[u>>0]|0)+1+((x+32+w+v+(H(h,d[c+p>>0]|0)|0)|0)>>>6)|0)>>>1&255;a[u>>0]=v;b=b+e|0;g=g+1|0;c=t}}while(0);return}function Vd(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;s=Mb;Mb=Mb+16|0;l=s;q=c[a+60>>2]|0;r=c[b+60>>2]|0;k=q+25680|0;a:do if((a|0)!=(b|0)){j=(c[k>>2]|0)!=0;do if(j){if((((((((c[q+25656>>2]|0)==(c[r+25656>>2]|0)?(c[q+25660>>2]|0)==(c[r+25660>>2]|0):0)?(c[q+26996>>2]|0)==(c[r+26996>>2]|0):0)?(c[q+26992>>2]|0)==(c[r+26992>>2]|0):0)?(d=c[q+28200>>2]|0,d|0):0)?(e=c[r+28200>>2]|0,(c[d+1184>>2]|0)==(c[e+1184>>2]|0)):0)?(c[d+12>>2]|0)==(c[e+12>>2]|0):0)?(c[d+128>>2]|0)==(c[e+128>>2]|0):0){g=0;break}g=1}else g=0;while(0);h=q+25960|0;i=r+25960|0;Mn(h|0,i|0,384)|0;a=0;while(1){if(a>>>0>=32)break;b=q+27036+(a<<2)|0;F$(b);d=c[r+27036+(a<<2)>>2]|0;if(d|0?(n=FP(d)|0,c[b>>2]=n,(n|0)==0):0){a=-12;break a}a=a+1|0}a=0;while(1){if(a>>>0>=256)break;b=q+27164+(a<<2)|0;F$(b);d=c[r+27164+(a<<2)>>2]|0;if(d|0?(n=FP(d)|0,c[b>>2]=n,(n|0)==0):0){a=-12;break a}a=a+1|0}b=q+28188|0;F$(b);e=q+28192|0;F$(e);d=q+28196|0;c[d>>2]=0;f=q+28200|0;c[f>>2]=0;a=c[r+28188>>2]|0;if(a|0){a=FP(a)|0;c[b>>2]=a;if(!a){a=-12;break}c[d>>2]=c[a+4>>2]}a=c[r+28192>>2]|0;if(a|0){a=FP(a)|0;c[e>>2]=a;if(!a){a=-12;break}c[f>>2]=c[a+4>>2]}if(j&(g|0)==0)a=0;else{c[q+25656>>2]=c[r+25656>>2];c[q+25660>>2]=c[r+25660>>2];c[q+26992>>2]=c[r+26992>>2];c[q+26996>>2]=c[r+26996>>2];c[q+27004>>2]=c[r+27004>>2];c[q+27e3>>2]=c[r+27e3>>2];c[q+26352>>2]=c[r+26352>>2];if((c[k>>2]|0)==0?(c[r+25680>>2]|0)==0:0)a=0;else{a=yg(q)|0;if((a|0)<0){AD(c[q+4>>2]|0,16,207369,l);break}}Mn(h|0,i|0,384)|0}n=c[r+4>>2]|0;f=c[q+4>>2]|0;c[f+136>>2]=c[n+136>>2];c[f+132>>2]=c[n+132>>2];c[f+124>>2]=c[n+124>>2];c[f+128>>2]=c[n+128>>2];c[q+29648>>2]=c[r+29648>>2];c[q+29652>>2]=c[r+29652>>2];c[q+25676>>2]=c[r+25676>>2];c[q+26368>>2]=c[r+26368>>2];c[q+26364>>2]=c[r+26364>>2];c[q+26360>>2]=c[r+26360>>2];f=r+25672|0;n=q+25672|0;c[n>>2]=c[f>>2];b=0;while(1){if(b>>>0>=36)break;d=q+696+(b*656|0)|0;UC(q,d);e=r+696+(b*656|0)|0;if(c[(c[e>>2]|0)+248>>2]|0?(m=_h(q,d,e)|0,(m|0)<0):0){a=m;break a}b=b+1|0}b=c[r+24312>>2]|0;if((b|0)!=0?(o=r+696|0,b>>>0>=o>>>0&b>>>0<(r+24312|0)>>>0):0)b=q+696+(((b-o|0)/656|0)*656|0)|0;else b=0;m=q+24312|0;c[m>>2]=b;b=q+24316|0;UC(q,b);d=r+24316|0;if(c[(c[d>>2]|0)+248>>2]|0?(p=_h(q,b,d)|0,(p|0)<0):0){a=p;break}c[q+29656>>2]=c[r+29656>>2];c[q+25688>>2]=c[r+25688>>2];c[n>>2]=c[f>>2];c[q+27020>>2]=c[r+27020>>2];c[q+27024>>2]=c[r+27024>>2];c[q+29696>>2]=c[r+29696>>2];b=q+28208|0;j=b;k=r+28208|0;l=j+44|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));d=q+28332|0;e=r+28332|0;j=d;k=e;l=j+128|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));f=q+28460|0;g=r+28460|0;j=f;k=g;l=j+128|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));h=q+28588|0;i=r+28588|0;j=h;k=i;l=j+72|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));j=q+28660|0;k=r+28660|0;l=j+64|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));c[q+28724>>2]=c[r+28724>>2];c[q+28728>>2]=c[r+28728>>2];Mn(q+28732|0,r+28732|0,792)|0;c[q+29524>>2]=c[r+29524>>2];c[q+29528>>2]=c[r+29528>>2];c[q+29532>>2]=c[r+29532>>2];c[q+29536>>2]=c[r+29536>>2];c[q+29540>>2]=c[r+29540>>2];oD(d,e,32,q,r);oD(f,g,32,q,r);oD(h,i,18,q,r);c[q+29560>>2]=c[r+29560>>2];if(c[m>>2]|0){if(!(c[n>>2]|0)){a=Bd(q)|0;c[q+28232>>2]=c[q+28212>>2];c[q+28236>>2]=c[b>>2]}c[q+28244>>2]=c[q+28240>>2];c[q+28248>>2]=c[q+28228>>2];c[q+29556>>2]=c[r+29556>>2]}else a=0}else a=0;while(0);Mb=s;return a|0}function Wd(a,e,g,h,i,j,k){a=a|0;e=e|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,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;G=Mb;Mb=Mb+32|0;E=G+16|0;D=G+8|0;C=G;A=i+16|0;B=g+8|0;z=g+16|0;y=a+4|0;o=1;l=0;x=0;a=h;m=0;n=h+-90|0;a:while(1){if((x|0)>=(c[A>>2]|0)){a=0;break}h=0;b:while(1){v=o;c:while(1){d:while(1){e:while(1){if((h|0)>=(d[i>>0]|0))break b;w=c[k+(l<<2)>>2]|0;switch(c[j+(l<<2)>>2]|0){case 14:case 15:break c;case 13:break d;case 0:break;default:break e}while(1){if((h|0)>=(w|0))break;f[e+(l<<2)>>2]=0.0;h=h+1|0;l=l+1|0}}while(1){if((h|0)>=(w|0))break;t=c[278111]|0;o=c[B>>2]|0;u=c[z>>2]|0;r=c[g>>2]|0;q=r+(o>>>3)|0;q=(W_(d[q>>0]|d[q+1>>0]<<8|d[q+2>>0]<<16|d[q+3>>0]<<24|0)|0)<<(o&7)>>>25;p=b[t+(q<<2)>>1]|0;q=b[t+(q<<2)+2>>1]|0;s=q<<16>>16;if(q<<16>>16<0){o=o+7|0;o=u>>>0>o>>>0?o:u;H=r+(o>>>3)|0;H=((W_(d[H>>0]|d[H+1>>0]<<8|d[H+2>>0]<<16|d[H+3>>0]<<24|0)|0)<<(o&7)>>>(s+32|0))+p|0;p=b[t+(H<<2)>>1]|0;H=b[t+(H<<2)+2>>1]|0;q=H<<16>>16;if(H<<16>>16<0){o=o-s|0;o=u>>>0>o>>>0?o:u;H=r+(o>>>3)|0;p=((W_(d[H>>0]|d[H+1>>0]<<8|d[H+2>>0]<<16|d[H+3>>0]<<24|0)|0)<<(o&7)>>>(q+32|0))+p|0;q=b[t+(p<<2)+2>>1]|0;p=b[t+(p<<2)>>1]|0}}else q=s;H=q+o|0;c[B>>2]=u>>>0>H>>>0?H:u;a=a+-60+p|0;if(a>>>0>255){F=42;break a}f[e+(l<<2)>>2]=-+f[878800+(a+100<<2)>>2];h=h+1|0;l=l+1|0}}o=v;v=h;while(1){if((v|0)>=(w|0))break;u=o+-1|0;if((o|0)>0)h=(HG(g,9)|0)+-256|0;else{s=c[278111]|0;h=c[B>>2]|0;t=c[z>>2]|0;q=c[g>>2]|0;H=q+(h>>>3)|0;H=(W_(d[H>>0]|d[H+1>>0]<<8|d[H+2>>0]<<16|d[H+3>>0]<<24|0)|0)<<(h&7)>>>25;o=b[s+(H<<2)>>1]|0;H=b[s+(H<<2)+2>>1]|0;r=H<<16>>16;if(H<<16>>16<0){h=h+7|0;h=t>>>0>h>>>0?h:t;H=q+(h>>>3)|0;H=((W_(d[H>>0]|d[H+1>>0]<<8|d[H+2>>0]<<16|d[H+3>>0]<<24|0)|0)<<(h&7)>>>(r+32|0))+o|0;o=b[s+(H<<2)>>1]|0;H=b[s+(H<<2)+2>>1]|0;p=H<<16>>16;if(H<<16>>16<0){h=h-r|0;h=t>>>0>h>>>0?h:t;H=q+(h>>>3)|0;o=((W_(d[H>>0]|d[H+1>>0]<<8|d[H+2>>0]<<16|d[H+3>>0]<<24|0)|0)<<(h&7)>>>(p+32|0))+o|0;p=b[s+(o<<2)+2>>1]|0;o=b[s+(o<<2)>>1]|0}}else p=r;h=p+h|0;c[B>>2]=t>>>0>h>>>0?h:t;h=o+-60|0}n=h+n|0;h=(n|0)<155?n:155;h=(h|0)>-100?h:-100;if((n|0)!=(h|0)){H=c[y>>2]|0;c[D>>2]=n;c[D+4>>2]=h;GU(H,197557,D)}f[e+(l<<2)>>2]=-+f[878800+(h+200<<2)>>2];o=u;v=v+1|0;l=l+1|0}h=v;v=o}u=h;while(1){if((u|0)>=(w|0))break;s=c[278111]|0;h=c[B>>2]|0;t=c[z>>2]|0;q=c[g>>2]|0;H=q+(h>>>3)|0;H=(W_(d[H>>0]|d[H+1>>0]<<8|d[H+2>>0]<<16|d[H+3>>0]<<24|0)|0)<<(h&7)>>>25;o=b[s+(H<<2)>>1]|0;H=b[s+(H<<2)+2>>1]|0;r=H<<16>>16;if(H<<16>>16<0){h=h+7|0;h=t>>>0>h>>>0?h:t;H=q+(h>>>3)|0;H=((W_(d[H>>0]|d[H+1>>0]<<8|d[H+2>>0]<<16|d[H+3>>0]<<24|0)|0)<<(h&7)>>>(r+32|0))+o|0;o=b[s+(H<<2)>>1]|0;H=b[s+(H<<2)+2>>1]|0;p=H<<16>>16;if(H<<16>>16<0){h=h-r|0;h=t>>>0>h>>>0?h:t;H=q+(h>>>3)|0;o=((W_(d[H>>0]|d[H+1>>0]<<8|d[H+2>>0]<<16|d[H+3>>0]<<24|0)|0)<<(h&7)>>>(p+32|0))+o|0;p=b[s+(o<<2)+2>>1]|0;o=b[s+(o<<2)>>1]|0}}else p=r;h=p+h|0;c[B>>2]=t>>>0>h>>>0?h:t;m=m+-60+o|0;h=(m|0)<100?m:100;h=(h|0)>-155?h:-155;if((m|0)!=(h|0)){H=c[y>>2]|0;c[C>>2]=m;c[C+4>>2]=h;GU(H,197443,C)}c[e+(l<<2)>>2]=c[878800+(200-h<<2)>>2];u=u+1|0;l=l+1|0}h=u;o=v}o=v;x=x+1|0}if((F|0)==42){H=c[y>>2]|0;c[E>>2]=a;AD(H,16,197656,E);a=-1094995529}Mb=G;return a|0}function Xd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=a+b|0;d=c[a+4>>2]|0;do if(!(d&1)){f=c[a>>2]|0;if(!(d&3))return;h=a+(0-f)|0;b=f+b|0;if((c[278168]|0)==(h|0)){a=i+4|0;d=c[a>>2]|0;if((d&3|0)!=3)break;c[278165]=b;c[a>>2]=d&-2;c[h+4>>2]=b|1;c[i>>2]=b;return}e=f>>>3;if(f>>>0<256){a=c[h+8>>2]|0;d=c[h+12>>2]|0;if((d|0)==(a|0)){c[278163]=c[278163]&~(1<<e);break}else{c[a+12>>2]=d;c[d+8>>2]=a;break}}g=c[h+24>>2]|0;a=c[h+12>>2]|0;do if((a|0)==(h|0)){d=h+16|0;e=d+4|0;a=c[e>>2]|0;if(!a){a=c[d>>2]|0;if(!a){a=0;break}}else d=e;while(1){f=a+20|0;e=c[f>>2]|0;if(!e){f=a+16|0;e=c[f>>2]|0;if(!e)break;else{a=e;d=f}}else{a=e;d=f}}c[d>>2]=0}else{f=c[h+8>>2]|0;c[f+12>>2]=a;c[a+8>>2]=f}while(0);if(g){d=c[h+28>>2]|0;e=1112956+(d<<2)|0;if((c[e>>2]|0)==(h|0)){c[e>>2]=a;if(!a){c[278164]=c[278164]&~(1<<d);break}}else{f=g+16|0;c[((c[f>>2]|0)==(h|0)?f:g+20|0)>>2]=a;if(!a)break}c[a+24>>2]=g;d=h+16|0;e=c[d>>2]|0;if(e|0){c[a+16>>2]=e;c[e+24>>2]=a}d=c[d+4>>2]|0;if(d){c[a+20>>2]=d;c[d+24>>2]=a}}}else h=a;while(0);a=i+4|0;e=c[a>>2]|0;if(!(e&2)){if((c[278169]|0)==(i|0)){i=(c[278166]|0)+b|0;c[278166]=i;c[278169]=h;c[h+4>>2]=i|1;if((h|0)!=(c[278168]|0))return;c[278168]=0;c[278165]=0;return}if((c[278168]|0)==(i|0)){i=(c[278165]|0)+b|0;c[278165]=i;c[278168]=h;c[h+4>>2]=i|1;c[h+i>>2]=i;return}f=(e&-8)+b|0;d=e>>>3;do if(e>>>0<256){a=c[i+8>>2]|0;b=c[i+12>>2]|0;if((b|0)==(a|0)){c[278163]=c[278163]&~(1<<d);break}else{c[a+12>>2]=b;c[b+8>>2]=a;break}}else{g=c[i+24>>2]|0;b=c[i+12>>2]|0;do if((b|0)==(i|0)){a=i+16|0;d=a+4|0;b=c[d>>2]|0;if(!b){b=c[a>>2]|0;if(!b){d=0;break}}else a=d;while(1){e=b+20|0;d=c[e>>2]|0;if(!d){e=b+16|0;d=c[e>>2]|0;if(!d)break;else{b=d;a=e}}else{b=d;a=e}}c[a>>2]=0;d=b}else{d=c[i+8>>2]|0;c[d+12>>2]=b;c[b+8>>2]=d;d=b}while(0);if(g|0){b=c[i+28>>2]|0;a=1112956+(b<<2)|0;if((c[a>>2]|0)==(i|0)){c[a>>2]=d;if(!d){c[278164]=c[278164]&~(1<<b);break}}else{e=g+16|0;c[((c[e>>2]|0)==(i|0)?e:g+20|0)>>2]=d;if(!d)break}c[d+24>>2]=g;b=i+16|0;a=c[b>>2]|0;if(a|0){c[d+16>>2]=a;c[a+24>>2]=d}b=c[b+4>>2]|0;if(b|0){c[d+20>>2]=b;c[b+24>>2]=d}}}while(0);c[h+4>>2]=f|1;c[h+f>>2]=f;if((h|0)==(c[278168]|0)){c[278165]=f;return}}else{c[a>>2]=e&-2;c[h+4>>2]=b|1;c[h+b>>2]=b;f=b}b=f>>>3;if(f>>>0<256){d=1112692+(b<<1<<2)|0;a=c[278163]|0;b=1<<b;if(!(a&b)){c[278163]=a|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=h;c[b+12>>2]=h;c[h+8>>2]=b;c[h+12>>2]=d;return}b=f>>>8;if(b)if(f>>>0>16777215)e=31;else{g=(b+1048320|0)>>>16&8;i=b<<g;d=(i+520192|0)>>>16&4;i=i<<d;e=(i+245760|0)>>>16&2;e=14-(d|g|e)+(i<<e>>>15)|0;e=f>>>(e+7|0)&1|e<<1}else e=0;b=1112956+(e<<2)|0;c[h+28>>2]=e;c[h+20>>2]=0;c[h+16>>2]=0;a=c[278164]|0;d=1<<e;if(!(a&d)){c[278164]=a|d;c[b>>2]=h;c[h+24>>2]=b;c[h+12>>2]=h;c[h+8>>2]=h;return}b=c[b>>2]|0;a:do if((c[b+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(f|0)){b=a;break a}else{e=e<<1;b=a}}c[d>>2]=h;c[h+24>>2]=b;c[h+12>>2]=h;c[h+8>>2]=h;return}while(0);g=b+8|0;i=c[g>>2]|0;c[i+12>>2]=h;c[g>>2]=h;c[h+8>>2]=i;c[h+12>>2]=b;c[h+24>>2]=0;return}
|
|
function tc(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,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0;na=Mb;Mb=Mb+80|0;ga=na+56|0;aa=na+48|0;q=na+40|0;r=na+32|0;n=na+24|0;p=na+16|0;ia=na+72|0;Z=na;_=na+68|0;U=na+64|0;ha=f+28200|0;da=c[ha>>2]|0;ja=f+28196|0;m=c[(c[ja>>2]|0)+64>>2]|0;k=da+12|0;ba=((c[k>>2]|0)+-1|0)>>>0<2;ka=c[f+25652>>2]|0;ea=g+21788|0;h=c[ea>>2]|0;fa=g+21792|0;i=c[fa>>2]|0;X=f+27e3|0;ma=(H(c[X>>2]|0,i)|0)+h|0;la=g+21796|0;c[la>>2]=ma;$=g+840|0;W=f+26360|0;if((c[$>>2]|0)!=1){if(!((i&1|0)==0|(c[W>>2]|0)==0)?(c[g+21648>>2]|0)!=0:0)h=c[g+21652>>2]|0;else h=rp(f,g,h,i)|0;if(h){if((c[W>>2]|0?(c[fa>>2]&1|0)==0:0)?(c[(c[f+24364>>2]|0)+(ma<<2)>>2]=2048,la=rp(f,g,c[ea>>2]|0,(c[fa>>2]|0)+1|0)|0,c[g+21652>>2]=la,(la|0)==0):0){la=hG(f,g)|0;c[g+21828>>2]=la;c[g+21832>>2]=la}sd(f,g);b[(c[f+26376>>2]|0)+(ma<<1)>>1]=0;a[(c[f+26380>>2]|0)+ma>>0]=0;c[g+864>>2]=0;h=0}else ca=12}else ca=12;a:do if((ca|0)==12){if(c[W>>2]|0?(c[fa>>2]&1|0)==0:0){Y=hG(f,g)|0;c[g+21828>>2]=Y;c[g+21832>>2]=Y}c[g+21648>>2]=0;V=g+21828|0;pj(f,g,0-(c[V>>2]|0)|0);b:do switch(c[$>>2]|0){case 3:{j=g+32856|0;c:do if(!(BA(j,28-(((c[g+21740>>2]|0)+511|0)>>>8&1)+(((c[g+21732>>2]|0)+511|0)>>>8&1^1)+(g+32904)|0)|0)){c[ia>>2]=0;h=0}else{if(!(BA(j,g+32934|0)|0)){h=(BA(j,g+32936|0)|0)+1|0;c[ia>>2]=h;break}i=(BA(j,g+32935|0)|0)<<3;h=g+32936|0;i=((BA(j,h)|0)<<2)+i|0;i=i+((BA(j,h)|0)<<1)|0;i=i+(BA(j,h)|0)|0;if((i|0)<8){h=i+3|0;c[ia>>2]=h;break}switch(i|0){case 13:{h=Fv(g,32,0)|0;c[ia>>2]=h;ca=36;break b}case 14:{c[ia>>2]=11;h=11;break c}case 15:{c[ia>>2]=22;h=22;break c}default:{h=(i<<1)+-4+(BA(j,h)|0)|0;c[ia>>2]=h;break c}}}while(0);i=a[18864+(h<<2)+2>>0]|0;h=e[18864+(h<<2)>>1]|0;c[ia>>2]=h;Y=0;break}case 2:{h=g+32856|0;if(BA(h,g+32918|0)|0){h=Fv(g,17,0)|0;c[ia>>2]=h;ca=36;break b}if(!(BA(h,g+32919|0)|0))h=(BA(h,g+32920|0)|0)*3|0;else h=2-(BA(h,g+32921|0)|0)|0;i=a[18816+(h<<2)+2>>0]|0;h=e[18816+(h<<2)>>1]|0;c[ia>>2]=h;Y=0;break}default:{h=Fv(g,3,1)|0;c[ia>>2]=h;if(h|0?(c[g+836>>2]|0)==5:0){h=h+-1|0;c[ia>>2]=h;ca=36}else ca=36}}while(0);if((ca|0)==36){Y=d[18704+(h<<2)+3>>0]|0;c[g+21660>>2]=d[18704+(h<<2)+2>>0];h=e[18704+(h<<2)>>1]|0;c[ia>>2]=h;i=0}if(c[V>>2]|0){h=h|128;c[ia>>2]=h}b[(c[f+26356>>2]|0)+(ma<<1)>>1]=c[g+832>>2];if(h&4|0){i=(H(c[da+1184>>2]|0,e[167668+(c[k>>2]<<1)>>1]|0)|0)>>3;j=g+32856|0;h=c[g+32872>>2]|0;k=c[j>>2]|0;h=(k&1|0)==0?h:h+-1|0;h=(k&511|0)==0?h:h+-1|0;k=c[g+32876>>2]|0;if((k-h|0)<(i|0)){h=-1;break}c[g+27780>>2]=h;h=h+i|0;h=sB(j,h,k-h|0)|0;if((h|0)<0)break;b[(c[f+26376>>2]|0)+(ma<<1)>>1]=-2065;a[(c[f+26380>>2]|0)+ma>>0]=0;a[(c[f+24340>>2]|0)+ma>>0]=0;k=(c[f+25956>>2]|0)+(ma*48|0)|0;l=k+48|0;do{a[k>>0]=16;k=k+1|0}while((k|0)<(l|0));c[(c[f+24364>>2]|0)+(ma<<2)>>2]=c[ia>>2];c[g+864>>2]=0;h=0;break}Cc(f,g,h);d:do if(!(h&7)){if(i<<24>>24==4){e:do if((c[$>>2]|0)==3){h=0;while(1){if((h|0)==4)break;ca=(zz(g)|0)&65535;c[Z+(h<<2)>>2]=d[18960+(ca<<2)+2>>0];b[g+28552+(h<<1)>>1]=b[18960+(ca<<2)>>1]|0;h=h+1|0}if((b[g+28554>>1]|b[g+28552>>1]|b[g+28556>>1]|b[g+28558>>1])&256){bV(f,g,ia);a[g+28342>>0]=-2;a[g+28302>>0]=-2;a[g+28326>>0]=-2;a[g+28286>>0]=-2;h=0;while(1){if((h|0)==4)break e;ca=(d[91792+(h<<2)>>0]|0)+(g+28512)|0;T=((e[g+28552+(h<<1)>>1]|0)>>>1&255)*257&65535;b[ca>>1]=T;b[ca+8>>1]=T;h=h+1|0}}}else{h=0;while(1){if((h|0)==4)break e;ca=(UP(g)|0)&65535;c[Z+(h<<2)>>2]=d[18848+(ca<<2)+2>>0];b[g+28552+(h<<1)>>1]=b[18848+(ca<<2)>>1]|0;h=h+1|0}}while(0);T=g+23412|0;o=g+21832|0;n=0;f:while(1){h=c[T>>2]|0;if(n>>>0>=h>>>0){ca=83;break}k=4096<<(n<<1);l=g+23404+(n<<2)|0;j=0;while(1){if(j>>>0>=4)break;h=e[g+28552+(j<<1)>>1]|0;if(!(h&256)){if(k&h){i=c[l>>2]<<c[o>>2];if(i>>>0>1){h=fx(g,n,j<<2)|0;if(h>>>0>=i>>>0){ca=79;break f}}else h=0}else h=-1;S=h&255;ca=d[91792+(j<<2)>>0]|0;a[ca+9+(g+28272+(n*40|0))>>0]=S;a[ca+8+(g+28272+(n*40|0))>>0]=S;a[ca+1+(g+28272+(n*40|0))>>0]=S}j=j+1|0}n=n+1|0}do if((ca|0)==79){g=c[f+4>>2]|0;c[p>>2]=h;c[p+4>>2]=i;AD(g,16,210413,p);h=-1}else if((ca|0)==83){if(!m)m=0;else{S=(c[(c[ha>>2]|0)+72>>2]|0)==0;m=g+28552|0;m=(((S?24117616:7340144)&c[m>>2]|0)==0?((S?24117616:7340144)&c[m+4>>2]|0)==0:0)&1}O=f+24312|0;P=g+21740|0;Q=g+21720|0;R=f+26344|0;S=f+26352|0;N=0;g:while(1){if(N>>>0>=h>>>0){ca=131;break}K=N<<1;G=4096<<K;I=g+28272+(N*40|0)+11|0;J=g+27952+(N*160|0)+40|0;K=12288<<K;L=g+27952+(N*160|0)+42|0;F=0;while(1){if(F>>>0>=4)break;M=F<<2;h=d[91792+M>>0]|0;a[g+28272+(N*40|0)+h>>0]=a[h+1+(g+28272+(N*40|0))>>0]|0;i=e[g+28552+(F<<1)>>1]|0;h:do if(!(i&256)){if(!(G&i)){c[g+27952+(N*160|0)+(h<<2)>>2]=0;c[g+27952+(N*160|0)+(h<<2)+4>>2]=0;c[g+27952+(N*160|0)+(h<<2)+32>>2]=0;c[g+27952+(N*160|0)+(h<<2)+36>>2]=0;ca=127;break}B=(i&24|0)==0?1:2;C=c[Z+(F<<2)>>2]|0;D=(i&8|0)==0;E=(i&16|0)==0;x=(i&32|0)==0;w=0;while(1){if((w|0)>=(C|0))break h;h=91792+((H(w,B)|0)+M)|0;h=a[h>>0]|0;y=h&255;z=g+27952+(N*160|0)+(y<<2)|0;A=g+28352+(N*80|0)+(y<<1)|0;o=a[g+28272+(N*40|0)+y>>0]|0;p=o<<24>>24;u=y+-8|0;q=a[g+28272+(N*40|0)+u>>0]|0;v=y+-1|0;r=a[g+28272+(N*40|0)+v>>0]|0;s=g+27952+(N*160|0)+(v<<2)|0;t=g+27952+(N*160|0)+(u<<2)|0;i=u+B|0;j=a[g+28272+(N*40|0)+i>>0]|0;k=j<<24>>24;j=j<<24>>24==-2;do if((y&7|0)==4&((h&255)>19&(j&(c[W>>2]|0)!=0))){if((a[I>>0]|0)==-2){ca=102;break}n=c[(c[O>>2]|0)+48>>2]|0;c[J>>2]=0;l=(c[P>>2]&128|0)==0;if(!(c[V>>2]|0)){if(l){ca=102;break}l=c[X>>2]|0;h=l+(c[Q>>2]|0)|0;i=(c[fa>>2]<<1&2)+(y>>>5)|0;n=n+((H(i>>>2,l)|0)+h<<2)|0;if(!(c[n>>2]&K)){l=J;k=-1;break}k=c[O>>2]|0;n=c[k+36+(N<<2)>>2]|0;l=(c[(c[R>>2]|0)+(h<<2)>>2]|0)+3+(H(c[S>>2]|0,i)|0)|0;b[J>>1]=b[n+(l<<2)>>1]|0;b[L>>1]=b[n+(l<<2)+2>>1]<<1;l=J;k=a[(c[k+68+(N<<2)>>2]|0)+((i&14)+(h<<2|1))>>0]>>1;break}else{if(!l){ca=102;break}h=c[g+21720+(((h&255)>35&1)<<2)>>2]|0;i=y>>>2;if(!(c[n+(h<<2)>>2]&K)){l=J;k=-1;break}k=c[O>>2]|0;n=c[k+36+(N<<2)>>2]|0;l=(c[(c[R>>2]|0)+(h<<2)>>2]|0)+3+(H(c[S>>2]|0,i&3)|0)|0;b[J>>1]=b[n+(l<<2)>>1]|0;b[L>>1]=(b[n+(l<<2)+2>>1]|0)/2|0;l=J;k=a[(c[k+68+(N<<2)>>2]|0)+(i&2|h<<2|1)>>0]<<1;break}}else ca=102;while(0);do if((ca|0)==102){ca=0;if(j){k=y+-9|0;l=g+27952+(N*160|0)+(k<<2)|0;k=a[g+28272+(N*40|0)+k>>0]|0;break}else{l=g+27952+(N*160|0)+(i<<2)|0;break}}while(0);j=q<<24>>24==o<<24>>24;i=r<<24>>24==o<<24>>24;h=(i&1)+(j&1)+((k|0)==(p|0)&1)|0;do if(h>>>0<=1){if((h|0)!=1){h=b[s>>1]|0;if(r<<24>>24!=-2&(q<<24>>24==-2&(k|0)==-2)){i=b[g+27952+(N*160|0)+(v<<2)+2>>1]|0;break}else{h=jU(h,b[t>>1]|0,b[l>>1]|0)|0;i=jU(b[g+27952+(N*160|0)+(v<<2)+2>>1]|0,b[g+27952+(N*160|0)+(u<<2)+2>>1]|0,b[l+2>>1]|0)|0;break}}if(i){i=b[g+27952+(N*160|0)+(v<<2)+2>>1]|0;h=b[s>>1]|0;break}if(j){i=b[g+27952+(N*160|0)+(u<<2)+2>>1]|0;h=b[t>>1]|0;break}else{i=b[l+2>>1]|0;h=b[l>>1]|0;break}}else{h=jU(b[s>>1]|0,b[t>>1]|0,b[l>>1]|0)|0;i=jU(b[g+27952+(N*160|0)+(v<<2)+2>>1]|0,b[g+27952+(N*160|0)+(u<<2)+2>>1]|0,b[l+2>>1]|0)|0}while(0);t=(d[g+28352+(N*80|0)+(u<<1)+1>>0]|0)+(d[g+28352+(N*80|0)+(v<<1)+1>>0]|0)|0;u=dp(g,40,(d[g+28352+(N*80|0)+(u<<1)>>0]|0)+(d[g+28352+(N*80|0)+(v<<1)>>0]|0)|0,_)|0;v=dp(g,47,t,U)|0;h=u+h|0;i=v+i|0;if((u|0)==-2147483648|(v|0)==-2147483648){ca=125;break g}do if(D){if(!E){k=h&65535;b[z+4>>1]=k;h=i&65535;b[z+6>>1]=h;i=c[_>>2]&255;a[A+2>>0]=i;j=c[U>>2]&255;a[A+3>>0]=j;break}if(x){k=h&65535;h=i&65535;i=c[_>>2]&255;j=c[U>>2]&255;break}else{k=h&65535;b[z+32>>1]=k;h=i&65535;b[z+34>>1]=h;i=c[_>>2]&255;a[A+16>>0]=i;j=c[U>>2]&255;a[A+17>>0]=j;break}}else{k=h&65535;b[z+36>>1]=k;b[z+32>>1]=k;b[z+4>>1]=k;h=i&65535;b[z+38>>1]=h;b[z+34>>1]=h;b[z+6>>1]=h;i=c[_>>2]&255;a[A+18>>0]=i;a[A+16>>0]=i;a[A+2>>0]=i;j=c[U>>2]&255;a[A+19>>0]=j;a[A+17>>0]=j;a[A+3>>0]=j}while(0);b[z>>1]=k;b[g+27952+(N*160|0)+(y<<2)+2>>1]=h;a[A>>0]=i;a[g+28352+(N*80|0)+(y<<1)+1>>0]=j;w=w+1|0}}else ca=127;while(0);if((ca|0)==127){ca=0;c[g+28352+(N*80|0)+(h<<1)>>2]=0;c[g+28352+(N*80|0)+(h<<1)+16>>2]=0}F=F+1|0}N=N+1|0;h=c[T>>2]|0}if((ca|0)==125){h=-1094995529;break}else if((ca|0)==131)break d}while(0);break a}if(h&256|0){bV(f,g,ia);c[g+28376>>2]=0;c[g+28380>>2]=0;c[g+28392>>2]=0;c[g+28396>>2]=0;c[g+28408>>2]=0;c[g+28412>>2]=0;c[g+28424>>2]=0;c[g+28428>>2]=0;c[g+28456>>2]=0;c[g+28460>>2]=0;c[g+28472>>2]=0;c[g+28476>>2]=0;c[g+28488>>2]=0;c[g+28492>>2]=0;c[g+28504>>2]=0;c[g+28508>>2]=0;m=c[da+72>>2]&m;break}if(h&8|0){t=g+23412|0;k=c[ia>>2]|0;l=g+21832|0;j=0;while(1){h=c[t>>2]|0;if(j>>>0>=h>>>0)break;if(k&4096<<(j<<1)|0){i=c[g+23404+(j<<2)>>2]<<c[l>>2];if(i>>>0>1){h=fx(g,j,0)|0;if(h>>>0>=i>>>0){ca=141;break}}else h=0;X=H(h,16843009)|0;c[g+28272+(j*40|0)+12>>2]=X;c[g+28272+(j*40|0)+20>>2]=X;c[g+28272+(j*40|0)+28>>2]=X;c[g+28272+(j*40|0)+36>>2]=X}j=j+1|0}if((ca|0)==141){g=c[f+4>>2]|0;c[n>>2]=h;c[n+4>>2]=i;AD(g,16,210413,n);h=-1;break a}s=0;while(1){if(s>>>0>=h>>>0)break d;if(c[ia>>2]&4096<<(s<<1)){i=a[g+28272+(s*40|0)+12>>0]|0;n=a[g+28272+(s*40|0)+4>>0]|0;o=a[g+28272+(s*40|0)+11>>0]|0;p=g+27952+(s*160|0)+44|0;r=g+27952+(s*160|0)+16|0;h=a[g+28272+(s*40|0)+8>>0]|0;if(h<<24>>24==-2){q=g+27952+(s*160|0)+12|0;l=a[g+28272+(s*40|0)+3>>0]|0}else{q=g+27952+(s*160|0)+32|0;l=h<<24>>24}j=n<<24>>24==i<<24>>24;k=o<<24>>24==i<<24>>24;h=(k&1)+(j&1)+((l|0)==(i<<24>>24|0)&1)|0;do if(h>>>0<=1){if((h|0)!=1){h=b[p>>1]|0;if(o<<24>>24!=-2&(n<<24>>24==-2&(l|0)==-2)){k=b[g+27952+(s*160|0)+46>>1]|0;break}else{h=jU(h,b[r>>1]|0,b[q>>1]|0)|0;k=jU(b[g+27952+(s*160|0)+46>>1]|0,b[g+27952+(s*160|0)+18>>1]|0,b[q+2>>1]|0)|0;break}}if(k){k=b[g+27952+(s*160|0)+46>>1]|0;h=b[p>>1]|0;break}if(j){k=b[g+27952+(s*160|0)+18>>1]|0;h=b[r>>1]|0;break}else{k=b[q+2>>1]|0;h=b[q>>1]|0;break}}else{h=jU(b[p>>1]|0,b[r>>1]|0,b[q>>1]|0)|0;k=jU(b[g+27952+(s*160|0)+46>>1]|0,b[g+27952+(s*160|0)+18>>1]|0,b[q+2>>1]|0)|0}while(0);j=(d[g+28352+(s*80|0)+9>>0]|0)+(d[g+28352+(s*80|0)+23>>0]|0)|0;i=dp(g,40,(d[g+28352+(s*80|0)+8>>0]|0)+(d[g+28352+(s*80|0)+22>>0]|0)|0,Z)|0;j=dp(g,47,j,_)|0;if((i|0)==-2147483648|(j|0)==-2147483648)break;X=(c[_>>2]<<8&65280|c[Z>>2]&255)*65537|0;c[g+28352+(s*80|0)+24>>2]=X;c[g+28352+(s*80|0)+28>>2]=X;c[g+28352+(s*80|0)+40>>2]=X;c[g+28352+(s*80|0)+44>>2]=X;c[g+28352+(s*80|0)+56>>2]=X;c[g+28352+(s*80|0)+60>>2]=X;c[g+28352+(s*80|0)+72>>2]=X;c[g+28352+(s*80|0)+76>>2]=X;h=j+k<<16|i+h&65535;c[g+27952+(s*160|0)+48>>2]=h;c[g+27952+(s*160|0)+52>>2]=h;c[g+27952+(s*160|0)+56>>2]=h;c[g+27952+(s*160|0)+60>>2]=h;c[g+27952+(s*160|0)+80>>2]=h;c[g+27952+(s*160|0)+84>>2]=h;c[g+27952+(s*160|0)+88>>2]=h;c[g+27952+(s*160|0)+92>>2]=h;c[g+27952+(s*160|0)+112>>2]=h;c[g+27952+(s*160|0)+116>>2]=h;c[g+27952+(s*160|0)+120>>2]=h;c[g+27952+(s*160|0)+124>>2]=h;c[g+27952+(s*160|0)+144>>2]=h;c[g+27952+(s*160|0)+148>>2]=h;c[g+27952+(s*160|0)+152>>2]=h;c[g+27952+(s*160|0)+156>>2]=h;h=c[t>>2]|0}s=s+1|0}h=-1094995529;break a}S=g+23412|0;o=c[ia>>2]|0;p=g+21832|0;if(h&16|0){n=0;i:while(1){h=c[S>>2]|0;if(n>>>0>=h>>>0)break;k=n<<1;l=g+23404+(n<<2)|0;j=0;while(1){if(j>>>0>=2)break;if(!(o&4096<<j+k))h=-1;else{i=c[l>>2]<<c[p>>2];if(i>>>0>1){h=fx(g,n,j<<3)|0;if(h>>>0>=i>>>0){ca=174;break i}}else h=0;h=H(h,16843009)|0}U=(j<<4|12)+(g+28272+(n*40|0))|0;c[U>>2]=h;c[U+8>>2]=h;j=j+1|0}n=n+1|0}if((ca|0)==174){g=c[f+4>>2]|0;c[r>>2]=h;c[r+4>>2]=i;AD(g,16,210413,r);h=-1;break a}N=f+24312|0;O=g+21740|0;P=g+21720|0;Q=f+26344|0;R=f+26352|0;M=0;j:while(1){if(M>>>0>=h>>>0)break d;z=M<<1;A=g+28272+(M*40|0)+4|0;B=g+28272+(M*40|0)+27|0;C=g+27952+(M*160|0)+16|0;D=g+27952+(M*160|0)+18|0;E=g+28272+(M*40|0)+11|0;F=g+27952+(M*160|0)+108|0;G=g+27952+(M*160|0)+110|0;I=g+27952+(M*160|0)+40|0;J=12288<<z;K=g+27952+(M*160|0)+42|0;y=0;while(1){if(y>>>0>=2)break;if(!(c[ia>>2]&4096<<y+z)){U=y<<4|12;c[g+28352+(M*80|0)+(U<<1)>>2]=0;c[g+28352+(M*80|0)+(U<<1)+4>>2]=0;c[g+28352+(M*80|0)+(U<<1)+16>>2]=0;c[g+28352+(M*80|0)+(U<<1)+20>>2]=0;T=g+27952+(M*160|0)+(U<<2)|0;U=g+27952+(M*160|0)+(U<<2)+32|0;c[T>>2]=0;c[T+4>>2]=0;c[T+8>>2]=0;c[T+12>>2]=0;c[U>>2]=0;c[U+4>>2]=0;c[U+8>>2]=0;c[U+12>>2]=0}else{x=y<<3;L=y<<4|12;p=a[g+28272+(M*40|0)+L>>0]|0;q=p<<24>>24;do if(!y){if((a[A>>0]|0)!=p<<24>>24){ca=187;break}k=b[D>>1]|0;j=b[C>>1]|0}else{if((a[B>>0]|0)!=p<<24>>24){ca=187;break}k=b[G>>1]|0;j=b[F>>1]|0}while(0);do if((ca|0)==187){ca=0;l=a[91792+x>>0]|0;n=l&255;r=n+-8|0;s=a[g+28272+(M*40|0)+r>>0]|0;t=n+-1|0;u=a[g+28272+(M*40|0)+t>>0]|0;v=g+27952+(M*160|0)+(t<<2)|0;w=g+27952+(M*160|0)+(r<<2)|0;h=n+-4|0;i=a[g+28272+(M*40|0)+h>>0]|0;k=i<<24>>24;i=i<<24>>24==-2;do if((n&7|0)==4&((l&255)>19&(i&(c[W>>2]|0)!=0))){if((a[E>>0]|0)==-2){ca=196;break}o=c[(c[N>>2]|0)+48>>2]|0;c[I>>2]=0;j=(c[O>>2]&128|0)==0;if(!(c[V>>2]|0)){if(j){ca=196;break}U=c[X>>2]|0;i=U+(c[P>>2]|0)|0;h=(c[fa>>2]<<1&2)+(n>>>5)|0;U=o+((H(h>>>2,U)|0)+i<<2)|0;if(!(c[U>>2]&J)){l=I;k=-1;break}k=c[N>>2]|0;U=c[k+36+(M<<2)>>2]|0;l=(c[(c[Q>>2]|0)+(i<<2)>>2]|0)+3+(H(c[R>>2]|0,h)|0)|0;b[I>>1]=b[U+(l<<2)>>1]|0;b[K>>1]=b[U+(l<<2)+2>>1]<<1;l=I;k=a[(c[k+68+(M<<2)>>2]|0)+((h&14)+(i<<2|1))>>0]>>1;break}else{if(!j){ca=196;break}i=c[g+21720+(((l&255)>35&1)<<2)>>2]|0;h=n>>>2;if(!(c[o+(i<<2)>>2]&J)){l=I;k=-1;break}k=c[N>>2]|0;U=c[k+36+(M<<2)>>2]|0;l=(c[(c[Q>>2]|0)+(i<<2)>>2]|0)+3+(H(c[R>>2]|0,h&3)|0)|0;b[I>>1]=b[U+(l<<2)>>1]|0;b[K>>1]=(b[U+(l<<2)+2>>1]|0)/2|0;l=I;k=a[(c[k+68+(M<<2)>>2]|0)+(h&2|i<<2|1)>>0]<<1;break}}else ca=196;while(0);do if((ca|0)==196){ca=0;if(i){k=n+-9|0;l=g+27952+(M*160|0)+(k<<2)|0;k=a[g+28272+(M*40|0)+k>>0]|0;break}else{l=g+27952+(M*160|0)+(h<<2)|0;break}}while(0);j=s<<24>>24==p<<24>>24;i=u<<24>>24==p<<24>>24;h=(i&1)+(j&1)+((k|0)==(q|0)&1)|0;if(h>>>0>1){j=jU(b[v>>1]|0,b[w>>1]|0,b[l>>1]|0)|0;k=jU(b[g+27952+(M*160|0)+(t<<2)+2>>1]|0,b[g+27952+(M*160|0)+(r<<2)+2>>1]|0,b[l+2>>1]|0)|0;break}if((h|0)!=1){j=b[v>>1]|0;if(u<<24>>24!=-2&(s<<24>>24==-2&(k|0)==-2)){k=b[g+27952+(M*160|0)+(t<<2)+2>>1]|0;break}else{j=jU(j,b[w>>1]|0,b[l>>1]|0)|0;k=jU(b[g+27952+(M*160|0)+(t<<2)+2>>1]|0,b[g+27952+(M*160|0)+(r<<2)+2>>1]|0,b[l+2>>1]|0)|0;break}}if(i){k=b[g+27952+(M*160|0)+(t<<2)+2>>1]|0;j=b[v>>1]|0;break}if(j){k=b[g+27952+(M*160|0)+(r<<2)+2>>1]|0;j=b[w>>1]|0;break}else{k=b[l+2>>1]|0;j=b[l>>1]|0;break}}while(0);U=d[91792+x>>0]|0;h=U+-1|0;U=U+-8|0;i=(d[g+28352+(M*80|0)+(U<<1)+1>>0]|0)+(d[g+28352+(M*80|0)+(h<<1)+1>>0]|0)|0;h=dp(g,40,(d[g+28352+(M*80|0)+(U<<1)>>0]|0)+(d[g+28352+(M*80|0)+(h<<1)>>0]|0)|0,Z)|0;i=dp(g,47,i,_)|0;if((h|0)==-2147483648|(i|0)==-2147483648)break j;U=(c[_>>2]<<8&65280|c[Z>>2]&255)*65537|0;c[g+28352+(M*80|0)+(L<<1)>>2]=U;c[g+28352+(M*80|0)+(L<<1)+4>>2]=U;c[g+28352+(M*80|0)+(L<<1)+16>>2]=U;c[g+28352+(M*80|0)+(L<<1)+20>>2]=U;U=i+k<<16|h+j&65535;c[g+27952+(M*160|0)+(L<<2)>>2]=U;c[g+27952+(M*160|0)+(L<<2)+4>>2]=U;c[g+27952+(M*160|0)+(L<<2)+8>>2]=U;c[g+27952+(M*160|0)+(L<<2)+12>>2]=U;c[g+27952+(M*160|0)+(L<<2)+32>>2]=U;c[g+27952+(M*160|0)+(L<<2)+36>>2]=U;c[g+27952+(M*160|0)+(L<<2)+40>>2]=U;c[g+27952+(M*160|0)+(L<<2)+44>>2]=U}y=y+1|0}M=M+1|0;h=c[S>>2]|0}h=-1094995529;break a}n=0;k:while(1){h=c[S>>2]|0;if(n>>>0>=h>>>0)break;k=n<<1;l=g+23404+(n<<2)|0;j=0;while(1){if(j>>>0>=2)break;if(!(o&4096<<j+k))h=-1;else{i=c[l>>2]<<c[p>>2];if(i>>>0>1){h=fx(g,n,j<<2)|0;if(h>>>0>=i>>>0){ca=223;break k}}else h=0;h=h*257&65535}U=(j<<1)+12+(g+28272+(n*40|0))|0;b[U>>1]=h;b[U+8>>1]=h;b[U+16>>1]=h;b[U+24>>1]=h;j=j+1|0}n=n+1|0}if((ca|0)==223){g=c[f+4>>2]|0;c[q>>2]=h;c[q+4>>2]=i;AD(g,16,210413,q);h=-1;break a}N=f+24312|0;O=g+21740|0;P=g+21720|0;Q=f+26344|0;R=f+26352|0;M=0;l:while(1){if(M>>>0>=h>>>0)break d;z=M<<1;A=g+28272+(M*40|0)+11|0;B=g+28272+(M*40|0)+8|0;C=g+27952+(M*160|0)+44|0;D=g+27952+(M*160|0)+46|0;E=g+27952+(M*160|0)+20|0;F=g+28272+(M*40|0)+5|0;G=g+27952+(M*160|0)+32|0;I=g+27952+(M*160|0)+40|0;J=12288<<z;K=g+27952+(M*160|0)+42|0;y=0;while(1){if(y>>>0>=2)break;if(!(c[ia>>2]&4096<<y+z)){U=(y<<1)+12|0;c[g+28352+(M*80|0)+(U<<1)>>2]=0;c[g+28352+(M*80|0)+(U<<1)+16>>2]=0;c[g+28352+(M*80|0)+(U<<1)+32>>2]=0;c[g+28352+(M*80|0)+(U<<1)+48>>2]=0;c[g+27952+(M*160|0)+(U<<2)>>2]=0;c[g+27952+(M*160|0)+(U<<2)+4>>2]=0;c[g+27952+(M*160|0)+(U<<2)+32>>2]=0;c[g+27952+(M*160|0)+(U<<2)+36>>2]=0;c[g+27952+(M*160|0)+(U<<2)+64>>2]=0;c[g+27952+(M*160|0)+(U<<2)+68>>2]=0;c[g+27952+(M*160|0)+(U<<2)+96>>2]=0;c[g+27952+(M*160|0)+(U<<2)+100>>2]=0}else{x=y<<2;L=(y<<1)+12|0;p=a[g+28272+(M*40|0)+L>>0]|0;v=p<<24>>24;do if(!y)if((a[A>>0]|0)==p<<24>>24){k=b[D>>1]|0;j=b[C>>1]|0}else ca=238;else{h=a[B>>0]|0;if(h<<24>>24==-2){i=E;h=a[F>>0]|0}else i=G;if(h<<24>>24!=p<<24>>24){ca=238;break}k=b[i+2>>1]|0;j=b[i>>1]|0}while(0);do if((ca|0)==238){ca=0;h=a[91792+x>>0]|0;n=h&255;q=n+-8|0;r=a[g+28272+(M*40|0)+q>>0]|0;s=n+-1|0;t=a[g+28272+(M*40|0)+s>>0]|0;u=g+27952+(M*160|0)+(s<<2)|0;w=g+27952+(M*160|0)+(q<<2)|0;i=n+-6|0;j=a[g+28272+(M*40|0)+i>>0]|0;k=j<<24>>24;j=j<<24>>24==-2;do if((n&7|0)==4&((h&255)>19&(j&(c[W>>2]|0)!=0))){if((a[A>>0]|0)==-2){ca=247;break}o=c[(c[N>>2]|0)+48>>2]|0;c[I>>2]=0;l=(c[O>>2]&128|0)==0;if(!(c[V>>2]|0)){if(l){ca=247;break}U=c[X>>2]|0;i=U+(c[P>>2]|0)|0;h=(c[fa>>2]<<1&2)+(n>>>5)|0;U=o+((H(h>>>2,U)|0)+i<<2)|0;if(!(c[U>>2]&J)){l=I;k=-1;break}k=c[N>>2]|0;U=c[k+36+(M<<2)>>2]|0;l=(c[(c[Q>>2]|0)+(i<<2)>>2]|0)+3+(H(c[R>>2]|0,h)|0)|0;b[I>>1]=b[U+(l<<2)>>1]|0;b[K>>1]=b[U+(l<<2)+2>>1]<<1;l=I;k=a[(c[k+68+(M<<2)>>2]|0)+((h&14)+(i<<2|1))>>0]>>1;break}else{if(!l){ca=247;break}i=c[g+21720+(((h&255)>35&1)<<2)>>2]|0;h=n>>>2;if(!(c[o+(i<<2)>>2]&J)){l=I;k=-1;break}k=c[N>>2]|0;U=c[k+36+(M<<2)>>2]|0;l=(c[(c[Q>>2]|0)+(i<<2)>>2]|0)+3+(H(c[R>>2]|0,h&3)|0)|0;b[I>>1]=b[U+(l<<2)>>1]|0;b[K>>1]=(b[U+(l<<2)+2>>1]|0)/2|0;l=I;k=a[(c[k+68+(M<<2)>>2]|0)+(h&2|i<<2|1)>>0]<<1;break}}else ca=247;while(0);do if((ca|0)==247){ca=0;if(j){k=n+-9|0;l=g+27952+(M*160|0)+(k<<2)|0;k=a[g+28272+(M*40|0)+k>>0]|0;break}else{l=g+27952+(M*160|0)+(i<<2)|0;break}}while(0);j=r<<24>>24==p<<24>>24;i=t<<24>>24==p<<24>>24;h=(i&1)+(j&1)+((k|0)==(v|0)&1)|0;if(h>>>0>1){j=jU(b[u>>1]|0,b[w>>1]|0,b[l>>1]|0)|0;k=jU(b[g+27952+(M*160|0)+(s<<2)+2>>1]|0,b[g+27952+(M*160|0)+(q<<2)+2>>1]|0,b[l+2>>1]|0)|0;break}if((h|0)!=1){j=b[u>>1]|0;if(t<<24>>24!=-2&(r<<24>>24==-2&(k|0)==-2)){k=b[g+27952+(M*160|0)+(s<<2)+2>>1]|0;break}else{j=jU(j,b[w>>1]|0,b[l>>1]|0)|0;k=jU(b[g+27952+(M*160|0)+(s<<2)+2>>1]|0,b[g+27952+(M*160|0)+(q<<2)+2>>1]|0,b[l+2>>1]|0)|0;break}}if(i){k=b[g+27952+(M*160|0)+(s<<2)+2>>1]|0;j=b[u>>1]|0;break}if(j){k=b[g+27952+(M*160|0)+(q<<2)+2>>1]|0;j=b[w>>1]|0;break}else{k=b[l+2>>1]|0;j=b[l>>1]|0;break}}while(0);U=d[91792+x>>0]|0;h=U+-1|0;U=U+-8|0;i=(d[g+28352+(M*80|0)+(U<<1)+1>>0]|0)+(d[g+28352+(M*80|0)+(h<<1)+1>>0]|0)|0;h=dp(g,40,(d[g+28352+(M*80|0)+(U<<1)>>0]|0)+(d[g+28352+(M*80|0)+(h<<1)>>0]|0)|0,Z)|0;i=dp(g,47,i,_)|0;if((h|0)==-2147483648|(i|0)==-2147483648)break l;U=(c[_>>2]<<8&65280|c[Z>>2]&255)*65537|0;c[g+28352+(M*80|0)+(L<<1)>>2]=U;c[g+28352+(M*80|0)+(L<<1)+16>>2]=U;c[g+28352+(M*80|0)+(L<<1)+32>>2]=U;c[g+28352+(M*80|0)+(L<<1)+48>>2]=U;U=i+k<<16|h+j&65535;c[g+27952+(M*160|0)+(L<<2)>>2]=U;c[g+27952+(M*160|0)+(L<<2)+4>>2]=U;c[g+27952+(M*160|0)+(L<<2)+32>>2]=U;c[g+27952+(M*160|0)+(L<<2)+36>>2]=U;c[g+27952+(M*160|0)+(L<<2)+64>>2]=U;c[g+27952+(M*160|0)+(L<<2)+68>>2]=U;c[g+27952+(M*160|0)+(L<<2)+96>>2]=U;c[g+27952+(M*160|0)+(L<<2)+100>>2]=U}y=y+1|0}M=M+1|0;h=c[S>>2]|0}h=-1094995529;break a}else{if(!(h&1)){Z=g+21660|0;_=Fw(c[f+4>>2]|0,c[g+21760>>2]|0,c[g+21768>>2]|0,c[Z>>2]|0,0)|0;c[Z>>2]=_;if((_|0)<0){h=-1;break a}}else{m:do if((m|0)!=0?(BA(g+32856|0,(c[g+21840>>2]|0)+399+(g+32904)|0)|0)!=0:0){c[ia>>2]=h|16777216;h=0;while(1){if(h>>>0>=16)break m;_=d[91792+h>>0]|0;Z=a[_+-1+(g+21664)>>0]|0;X=a[_+-8+(g+21664)>>0]|0;Z=(Z|0)>(X|0)?X:Z;_=g+21664+_|0;Z=(IK(g,(Z|0)<0?2:Z)|0)*257&65535;b[_>>1]=Z;b[_+8>>1]=Z;h=h+4|0}}else ca=46;while(0);n:do if((ca|0)==46){h=0;while(1){if((h|0)==16)break n;_=d[91792+h>>0]|0;Z=a[_+-1+(g+21664)>>0]|0;X=a[_+-8+(g+21664)>>0]|0;Z=(Z|0)>(X|0)?X:Z;Z=(IK(g,(Z|0)<0?2:Z)|0)&255;a[g+21664+_>>0]=Z;h=h+1|0}}while(0);_=(c[g+21704>>2]|0)+(c[(c[f+26348>>2]|0)+(c[la>>2]<<2)>>2]|0)|0;c[_>>2]=c[g+21700>>2];a[_+4>>0]=a[g+21695>>0]|0;a[_+5>>0]=a[g+21687>>0]|0;a[_+6>>0]=a[g+21679>>0]|0;if((ur(g+21664|0,c[f+4>>2]|0,c[g+21760>>2]|0,c[g+21768>>2]|0)|0)<0){h=-1;break a}}if(!ba){c[g+21656>>2]=6;break}h=rA(f,g)|0;a[(c[f+26380>>2]|0)+ma>>0]=h;h=Fw(c[f+4>>2]|0,c[g+21760>>2]|0,c[g+21768>>2]|0,h,1)|0;if((h|0)<0){h=-1;break a}c[g+21656>>2]=h}while(0);if(c[ia>>2]&120|0){a[(c[f+26380>>2]|0)+ma>>0]=0;k=c[ia>>2]|0;h=c[f+26352>>2]|0;i=(H(h<<2,c[fa>>2]|0)|0)+(c[ea>>2]<<2)|0;l=c[la>>2]<<2;if(!(k&12288)){_=(c[f+24384>>2]|0)+l|0;b[_>>1]=-1;b[_+2>>1]=-1}else{j=(c[f+24352>>2]|0)+(i<<2)|0;Z=g+28e3|0;_=c[Z+4>>2]|0;W=j;c[W>>2]=c[Z>>2];c[W+4>>2]=_;W=g+28008|0;_=c[W+4>>2]|0;Z=j+8|0;c[Z>>2]=c[W>>2];c[Z+4>>2]=_;Z=g+28032|0;_=c[Z+4>>2]|0;W=j+(h<<2)|0;X=W;c[X>>2]=c[Z>>2];c[X+4>>2]=_;X=g+28040|0;_=c[X+4>>2]|0;W=W+8|0;c[W>>2]=c[X>>2];c[W+4>>2]=_;W=g+28064|0;_=c[W+4>>2]|0;X=j+(h<<1<<2)|0;Z=X;c[Z>>2]=c[W>>2];c[Z+4>>2]=_;Z=g+28072|0;_=c[Z+4>>2]|0;X=X+8|0;c[X>>2]=c[Z>>2];c[X+4>>2]=_;X=g+28096|0;_=c[X+4>>2]|0;j=j+(h*3<<2)|0;Z=j;c[Z>>2]=c[X>>2];c[Z+4>>2]=_;Z=g+28104|0;_=c[Z+4>>2]|0;j=j+8|0;c[j>>2]=c[Z>>2];c[j+4>>2]=_;j=(c[g+32848>>2]|0)+(c[(c[f+26348>>2]|0)+(c[la>>2]<<2)>>2]<<1)|0;if(!(k&2048)){X=g+28424|0;Z=c[X+4>>2]|0;_=j;c[_>>2]=c[X>>2];c[_+4>>2]=Z;_=j+6|0;b[_+6>>1]=b[g+28382>>1]|0;b[_+4>>1]=b[g+28398>>1]|0;b[_+2>>1]=b[g+28414>>1]|0}else{c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0}_=(c[f+24384>>2]|0)+l|0;a[_>>0]=a[g+28284>>0]|0;a[_+1>>0]=a[g+28286>>0]|0;a[_+2>>0]=a[g+28300>>0]|0;a[_+3>>0]=a[g+28302>>0]|0}if(k&49152|0){Z=(c[f+24356>>2]|0)+(i<<2)|0;W=g+28160|0;_=c[W+4>>2]|0;V=Z;c[V>>2]=c[W>>2];c[V+4>>2]=_;V=g+28168|0;_=c[V+4>>2]|0;W=Z+8|0;c[W>>2]=c[V>>2];c[W+4>>2]=_;W=g+28192|0;_=c[W+4>>2]|0;V=Z+(h<<2)|0;X=V;c[X>>2]=c[W>>2];c[X+4>>2]=_;X=g+28200|0;_=c[X+4>>2]|0;V=V+8|0;c[V>>2]=c[X>>2];c[V+4>>2]=_;V=g+28224|0;_=c[V+4>>2]|0;X=Z+(h<<1<<2)|0;W=X;c[W>>2]=c[V>>2];c[W+4>>2]=_;W=g+28232|0;_=c[W+4>>2]|0;X=X+8|0;c[X>>2]=c[W>>2];c[X+4>>2]=_;X=g+28256|0;_=c[X+4>>2]|0;h=Z+(h*3<<2)|0;Z=h;c[Z>>2]=c[X>>2];c[Z+4>>2]=_;Z=g+28264|0;_=c[Z+4>>2]|0;h=h+8|0;c[h>>2]=c[Z>>2];c[h+4>>2]=_;h=(c[g+32852>>2]|0)+(c[(c[f+26348>>2]|0)+(c[la>>2]<<2)>>2]<<1)|0;if(!(k&2048)){X=g+28504|0;Z=c[X+4>>2]|0;_=h;c[_>>2]=c[X>>2];c[_+4>>2]=Z;_=h+6|0;b[_+6>>1]=b[g+28462>>1]|0;b[_+4>>1]=b[g+28478>>1]|0;b[_+2>>1]=b[g+28494>>1]|0}else{c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0}_=(c[f+24388>>2]|0)+l|0;a[_>>0]=a[g+28324>>0]|0;a[_+1>>0]=a[g+28326>>0]|0;a[_+2>>0]=a[g+28340>>0]|0;a[_+3>>0]=a[g+28342>>0]|0}if(!((k&64|0)==0|(c[$>>2]|0)!=3)){$=(c[f+26392>>2]|0)+(c[la>>2]<<2)|0;a[$+1>>0]=(e[g+28554>>1]|0)>>>1;a[$+2>>0]=(e[g+28556>>1]|0)>>>1;a[$+3>>0]=(e[g+28558>>1]|0)>>>1}}if(!(c[ia>>2]&2)){h=pC(g)|0;if(ba)u=(sE(g)|0)<<4|h;else u=h}else if(Y>>>0>15&(ba^1)){AD(c[f+4>>2]|0,16,210433,aa);h=-1094995529;break}else u=Y;c[g+21856>>2]=u;b[(c[f+26376>>2]|0)+(ma<<1)>>1]=u;t=(u&15|0)==0;if(!((m|0)==0|t)?(c[ia>>2]&7|0)==0:0){ba=(BA(g+32856|0,(c[g+21840>>2]|0)+399+(g+32904)|0)|0)<<24;c[ia>>2]=c[ia>>2]|ba}k=c[ia>>2]|0;do if(!((k&16777216|0)==0?1:(c[(c[ha>>2]|0)+12>>2]|0)!=3))if((c[f+29696>>2]|0)>>>0<151){i=(k&7|0)==0;j=i?0:64;h=0;while(1){if((h|0)==2)break;ba=c[g+21740+(h<<2)>>2]|0;if((ba|0)!=0&(ba&16777216|0)==0){ba=h<<4;a[ba+99+(g+27824)>>0]=j;a[ba+91+(g+27824)>>0]=j;a[ba+59+(g+27824)>>0]=j;a[ba+51+(g+27824)>>0]=j;a[ba+19+(g+27824)>>0]=j;a[(ba|11)+(g+27824)>>0]=j}h=h+1|0}ba=c[g+21732>>2]|0;h=i?0:1077952576;if(!((ba|0)!=0&(ba&16777216|0)==0))break;c[g+27828>>2]=h;c[g+27868>>2]=h;c[g+27908>>2]=h;break}else{h=0;while(1){if((h|0)==2)break;i=c[g+21740+(h<<2)>>2]|0;if((i|0)!=0&(i&16777216|0)==0){aa=i<<4&64;ba=h<<4;a[ba+99+(g+27824)>>0]=aa;a[ba+91+(g+27824)>>0]=aa;a[ba+59+(g+27824)>>0]=aa;a[ba+51+(g+27824)>>0]=aa;a[ba+19+(g+27824)>>0]=aa;a[(ba|11)+(g+27824)>>0]=aa}h=h+1|0}ba=c[g+21732>>2]|0;h=(ba&4|0)==0?0:1077952576;if(!((ba|0)!=0&(ba&16777216|0)==0))break;c[g+27828>>2]=h;c[g+27868>>2]=h;c[g+27908>>2]=h;break}while(0);c[(c[f+24364>>2]|0)+(ma<<2)>>2]=k;if((u|0)==0?(c[ia>>2]&2|0)==0:0){c[g+27836>>2]=0;c[g+27844>>2]=0;c[g+27852>>2]=0;c[g+27860>>2]=0;c[g+27876>>2]=0;c[g+27884>>2]=0;c[g+27892>>2]=0;c[g+27900>>2]=0;c[g+27916>>2]=0;c[g+27924>>2]=0;c[g+27932>>2]=0;c[g+27940>>2]=0;c[g+864>>2]=0;h=g+848|0}else ca=307;o:do if((ca|0)==307){v=g+32856|0;k=g+864|0;if(!(BA(v,((c[k>>2]|0)==0?60:61)+(g+32904)|0)|0)){c[k>>2]=0;j=g+848|0;h=j;j=c[j>>2]|0}else{l=(c[da+1184>>2]|0)*6|0;m=l+3|0;j=m<<1;h=62;i=1;while(1){if(!(BA(v,g+32904+h|0)|0))break;if((i|0)>=(j|0)){ca=439;break}h=63;i=i+1|0}if((ca|0)==439){h=c[f+4>>2]|0;g=c[fa>>2]|0;c[ga>>2]=c[ea>>2];c[ga+4>>2]=g;AD(h,16,210446,ga);h=-1;break a}h=(i+1|0)>>>1;i=(i&1|0)==0?0-h|0:h;c[k>>2]=i;h=g+848|0;i=(c[h>>2]|0)+i|0;if(i>>>0>m>>>0){fa=(i|0)<0;j=l+4|0;ga=i-j|0;i=i+j|0;j=fa?i:ga;i=fa?i:ga}else j=i;c[h>>2]=i;ga=c[ja>>2]|0;c[g+852>>2]=d[ga+548+j>>0];c[g+856>>2]=d[ga+636+j>>0]}i=c[ia>>2]|0;ga=(i&128|0)==0;r=(j|0)!=0;s=ga?(r?f+26412|0:f+26700|0):r?f+26556|0:f+26844|0;r=ga?(r?f+26428|0:f+26716|0):r?f+26572|0:f+26860|0;p:do if(!(i&2)){q=(i&7|0)==0?3:0;p=(i&16777216|0)==0;o=0;while(1){if((o|0)==4)break p;q:do if(!(1<<o&u)){ga=(d[91792+(o<<2)>>0]|0)+(g+27824)|0;b[ga>>1]=0;b[ga+8>>1]=0}else{if(!p){i=o<<2;k=g+28560+(o<<6<<ka<<1)|0;l=(c[(c[ja>>2]|0)+173812+(q<<2)>>2]|0)+(j<<8)|0;do if((c[(c[ha>>2]|0)+12>>2]|0)==3){m=d[91792+i>>0]|0;ga=(a[m+-1+(g+27824)>>0]|0)!=0&1;if(BA(v,(((a[m+-8+(g+27824)>>0]|0)==0?ga:ga|2)|1012)+(g+32904)|0)|0)break;ga=g+27824+m|0;b[ga>>1]=0;b[ga+8>>1]=0;break q}while(0);we(f,g,k,5,i,r,l,64);break}k=(c[(c[ja>>2]|0)+173788+(q<<2)>>2]|0)+(j<<6)|0;l=o<<2;i=0;while(1){if((i|0)==4)break q;m=i+l|0;n=d[91792+m>>0]|0;ga=(a[n+-1+(g+27824)>>0]|0)!=0&1;if(!(BA(v,((a[n+-8+(g+27824)>>0]|0)==0?ga:ga|2)+93+(g+32904)|0)|0))a[g+27824+n>>0]=0;else we(f,g,g+28560+(m<<4<<ka<<1)|0,2,m,s,k,16);i=i+1|0}}while(0);o=o+1|0}}else{i=g+31632|0;k=i;l=k+64|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(l|0));if(!(BA(v,((c[g+21860>>2]|0)>>>7&2|(c[g+21864>>2]|0)>>>8&1)+85+(g+32904)|0)|0))a[g+27824>>0]=0;else pf(f,g,i,0,48,s,16);if(t){c[g+27836>>2]=0;c[g+27844>>2]=0;c[g+27852>>2]=0;c[g+27860>>2]=0;break}j=(c[(c[ja>>2]|0)+173788>>2]|0)+(j<<6)|0;k=s+1|0;i=0;while(1){if((i|0)==16)break p;l=d[91792+i>>0]|0;ga=(a[l+-1+(g+27824)>>0]|0)!=0&1;if(!(BA(v,((a[l+-8+(g+27824)>>0]|0)==0?ga:ga|2)+89+(g+32904)|0)|0))a[g+27824+l>>0]=0;else we(f,g,g+28560+(i<<4<<ka<<1)|0,1,i,k,j,15);i=i+1|0}}while(0);j=c[(c[ha>>2]|0)+12>>2]|0;if((j|0)!=3){i=(u&48|0)!=0;if((j|0)!=2){r:do if(i){j=g+21864|0;k=g+21860|0;i=0;while(1){if((i|0)==2)break r;l=i+49|0;ga=64<<i;ha=(c[j>>2]&ga|0)!=0&1;if(!(BA(v,((c[k>>2]&ga|0)==0?ha:ha|2)+97+(g+32904)|0)|0))a[(d[91792+l>>0]|0)+(g+27824)>>0]=0;else pf(f,g,g+28560+((i<<8)+256<<ka<<1)|0,3,l,174329,4);i=i+1|0}}while(0);if(!(u&32)){c[g+27876>>2]=0;c[g+27884>>2]=0;c[g+27892>>2]=0;c[g+27900>>2]=0;c[g+27916>>2]=0;c[g+27924>>2]=0;c[g+27932>>2]=0;c[g+27940>>2]=0;break}m=s+1|0;i=0;while(1){if((i|0)==2)break o;n=i+1|0;o=(c[(c[ja>>2]|0)+173788+(((c[ia>>2]&7|0)==0?3:0)+n<<2)>>2]|0)+(c[g+852+(i<<2)>>2]<<6)|0;j=(i<<4)+16|0;i=0;while(1){if((i|0)==4)break;k=j+i|0;l=d[91792+k>>0]|0;ha=(a[l+-1+(g+27824)>>0]|0)!=0&1;if(!(BA(v,((a[l+-8+(g+27824)>>0]|0)==0?ha:ha|2)+101+(g+32904)|0)|0))a[g+27824+l>>0]=0;else we(f,g,g+28560+(k<<4<<ka<<1)|0,4,k,m,o,15);i=i+1|0}i=n}}s:do if(i){j=g+21864|0;k=g+21860|0;i=0;while(1){if((i|0)==2)break s;l=i+49|0;ga=64<<i;ha=(c[j>>2]&ga|0)!=0&1;if(!(BA(v,((c[k>>2]&ga|0)==0?ha:ha|2)+97+(g+32904)|0)|0))a[(d[91792+l>>0]|0)+(g+27824)>>0]=0;else Cf(f,g,g+28560+((i<<8)+256<<ka<<1)|0,l);i=i+1|0}}while(0);if(!(u&32)){c[g+27876>>2]=0;c[g+27884>>2]=0;c[g+27892>>2]=0;c[g+27900>>2]=0;c[g+27916>>2]=0;c[g+27924>>2]=0;c[g+27932>>2]=0;c[g+27940>>2]=0;break}u=16<<ka;q=s+1|0;r=u<<2;i=0;while(1){if((i|0)==2)break o;s=(i<<4)+16|0;t=i+1|0;m=(c[(c[ja>>2]|0)+173788+(((c[ia>>2]&7|0)==0?3:0)+t<<2)>>2]|0)+(c[g+852+(i<<2)>>2]<<6)|0;i=g+28560+(s<<4<<ka<<1)|0;j=0;while(1){if((j|0)==2)break;n=(j<<3)+s|0;k=0;l=i;while(1){if((k|0)==4)break;o=n+k|0;p=d[91792+o>>0]|0;ha=(a[p+-1+(g+27824)>>0]|0)!=0&1;if(!(BA(v,((a[p+-8+(g+27824)>>0]|0)==0?ha:ha|2)+101+(g+32904)|0)|0))a[g+27824+p>>0]=0;else we(f,g,l,4,o,q,m,15);k=k+1|0;l=l+(u<<1)|0}i=i+(r<<1)|0;j=j+1|0}i=t}}i=c[ia>>2]|0;q=c[g+852>>2]|0;t:do if(!(i&2)){p=(i&7|0)==0?4:1;o=(i&16777216|0)==0;n=0;while(1){if((n|0)==4)break t;u:do if(!(1<<n&u)){ha=(d[91792+((n<<2)+16)>>0]|0)+(g+27824)|0;b[ha>>1]=0;b[ha+8>>1]=0}else{if(!o){i=(n<<2)+16|0;j=c[(c[ja>>2]|0)+173812+(p<<2)>>2]|0;k=d[91792+i>>0]|0;ha=(a[k+-1+(g+27824)>>0]|0)!=0&1;if(!(BA(v,(((a[k+-8+(g+27824)>>0]|0)==0?ha:ha|2)|1016)+(g+32904)|0)|0)){ha=g+27824+k|0;b[ha>>1]=0;b[ha+8>>1]=0;break}else{we(f,g,g+28560+(i<<4<<ka<<1)|0,9,i,r,j+(q<<8)|0,64);break}}j=(c[(c[ja>>2]|0)+173788+(p<<2)>>2]|0)+(q<<6)|0;k=(n<<2)+16|0;i=0;while(1){if((i|0)==4)break u;l=k+i|0;m=d[91792+l>>0]|0;ha=(a[m+-1+(g+27824)>>0]|0)!=0&1;if(!(BA(v,(((a[m+-8+(g+27824)>>0]|0)==0?ha:ha|2)|468)+(g+32904)|0)|0))a[g+27824+m>>0]=0;else we(f,g,g+28560+(l<<4<<ka<<1)|0,8,l,s,j,16);i=i+1|0}}while(0);n=n+1|0}}else{i=g+31696|0;k=i;l=k+64|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(l|0));if(!(BA(v,((c[g+21864>>2]|0)>>>9&1|(c[g+21860>>2]|0)>>>8&2|460)+(g+32904)|0)|0))a[g+27864>>0]=0;else pf(f,g,i,6,49,s,16);if(t){c[g+27876>>2]=0;c[g+27884>>2]=0;c[g+27892>>2]=0;c[g+27900>>2]=0;break}j=(c[(c[ja>>2]|0)+173792>>2]|0)+(q<<6)|0;k=s+1|0;i=0;while(1){if((i|0)==16)break t;l=i+16|0;m=d[91792+l>>0]|0;ha=(a[m+-1+(g+27824)>>0]|0)!=0&1;if(!(BA(v,(((a[m+-8+(g+27824)>>0]|0)==0?ha:ha|2)|464)+(g+32904)|0)|0))a[g+27824+m>>0]=0;else we(f,g,g+28560+(l<<4<<ka<<1)|0,7,l,k,j,15);i=i+1|0}}while(0);i=c[ia>>2]|0;q=c[g+856>>2]|0;if(i&2|0){i=g+31760|0;k=i;l=k+64|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(l|0));if(!(BA(v,((c[g+21864>>2]|0)>>>10&1|(c[g+21860>>2]|0)>>>9&2|472)+(g+32904)|0)|0))a[g+27904>>0]=0;else pf(f,g,i,10,50,s,16);if(t){c[g+27916>>2]=0;c[g+27924>>2]=0;c[g+27932>>2]=0;c[g+27940>>2]=0;break}m=(c[(c[ja>>2]|0)+173796>>2]|0)+(q<<6)|0;j=s+1|0;i=0;while(1){if((i|0)==16)break o;k=i+32|0;l=d[91792+k>>0]|0;ja=(a[l+-1+(g+27824)>>0]|0)!=0&1;if(!(BA(v,(((a[l+-8+(g+27824)>>0]|0)==0?ja:ja|2)|476)+(g+32904)|0)|0))a[g+27824+l>>0]=0;else we(f,g,g+28560+(k<<4<<ka<<1)|0,11,k,j,m,15);i=i+1|0}}p=(i&7|0)==0?5:2;o=(i&16777216|0)==0;n=0;while(1){if((n|0)==4)break o;v:do if(!(1<<n&u)){ia=(d[91792+((n<<2)+32)>>0]|0)+(g+27824)|0;b[ia>>1]=0;b[ia+8>>1]=0}else{if(!o){i=(n<<2)+32|0;j=c[(c[ja>>2]|0)+173812+(p<<2)>>2]|0;k=d[91792+i>>0]|0;ia=(a[k+-1+(g+27824)>>0]|0)!=0&1;if(!(BA(v,(((a[k+-8+(g+27824)>>0]|0)==0?ia:ia|2)|1020)+(g+32904)|0)|0)){ia=g+27824+k|0;b[ia>>1]=0;b[ia+8>>1]=0;break}else{we(f,g,g+28560+(i<<4<<ka<<1)|0,13,i,r,j+(q<<8)|0,64);break}}j=(c[(c[ja>>2]|0)+173788+(p<<2)>>2]|0)+(q<<6)|0;k=(n<<2)+32|0;i=0;while(1){if((i|0)==4)break v;l=k+i|0;m=d[91792+l>>0]|0;ia=(a[m+-1+(g+27824)>>0]|0)!=0&1;if(!(BA(v,(((a[m+-8+(g+27824)>>0]|0)==0?ia:ia|2)|480)+(g+32904)|0)|0))a[g+27824+m>>0]=0;else we(f,g,g+28560+(l<<4<<ka<<1)|0,12,l,s,j,16);i=i+1|0}}while(0);n=n+1|0}}while(0);a[(c[f+24340>>2]|0)+ma>>0]=c[h>>2];h=c[la>>2]|0;i=c[f+25956>>2]|0;c[i+(h*48|0)>>2]=c[g+27836>>2];c[i+(h*48|0)+4>>2]=c[g+27844>>2];c[i+(h*48|0)+8>>2]=c[g+27852>>2];c[i+(h*48|0)+12>>2]=c[g+27860>>2];c[i+(h*48|0)+16>>2]=c[g+27876>>2];c[i+(h*48|0)+20>>2]=c[g+27884>>2];c[i+(h*48|0)+32>>2]=c[g+27916>>2];c[i+(h*48|0)+36>>2]=c[g+27924>>2];if(!(c[f+25668>>2]|0)){c[i+(h*48|0)+24>>2]=c[g+27892>>2];c[i+(h*48|0)+28>>2]=c[g+27900>>2];c[i+(h*48|0)+40>>2]=c[g+27932>>2];c[i+(h*48|0)+44>>2]=c[g+27940>>2];h=0}else h=0}while(0);Mb=na;return h|0}function uc(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,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0;na=Mb;Mb=Mb+192|0;fa=na+176|0;_=na+168|0;ba=na+152|0;aa=na+136|0;r=na+128|0;q=na+120|0;p=na+112|0;s=na+104|0;n=na+88|0;o=na+72|0;m=na+64|0;k=na+48|0;ha=na+188|0;T=na+32|0;U=na;ka=f+28196|0;V=c[(c[ka>>2]|0)+64>>2]|0;ga=f+28200|0;$=((c[(c[ga>>2]|0)+12>>2]|0)+-1|0)>>>0<2;ja=c[f+25652>>2]|0;da=g+21788|0;ea=g+21792|0;Y=f+27e3|0;ma=(H(c[Y>>2]|0,c[ea>>2]|0)|0)+(c[da>>2]|0)|0;la=g+21796|0;c[la>>2]=ma;l=g+840|0;if((c[l>>2]|0)!=1){j=g+21816|0;h=c[j>>2]|0;if((h|0)==-1){h=mO(g+4|0)|0;c[j>>2]=h}i=h+-1|0;c[j>>2]=i;if(h){if(c[f+26360>>2]|0?(c[ea>>2]&1|i|0)==0:0){ma=wV(g+4|0)|0;c[g+21828>>2]=ma;c[g+21832>>2]=ma}wd(f,g);h=0}else ca=9}else ca=9;a:do if((ca|0)==9){X=f+26360|0;if(c[X>>2]|0?(c[ea>>2]&1|0)==0:0){ia=wV(g+4|0)|0;c[g+21828>>2]=ia;c[g+21832>>2]=ia}c[g+21648>>2]=0;ia=g+4|0;i=uv(ia)|0;c[ha>>2]=i;b:do switch(c[l>>2]|0){case 3:if(i>>>0<23){Z=a[18864+(i<<2)+2>>0]|0;h=e[18864+(i<<2)>>1]|0;c[ha>>2]=h;i=Z;Z=0;break b}else{h=i+-23|0;c[ha>>2]=h;ca=21;break b}case 2:if(i>>>0<5){Z=a[18816+(i<<2)+2>>0]|0;h=e[18816+(i<<2)>>1]|0;c[ha>>2]=h;i=Z;Z=0;break b}else{h=i+-5|0;c[ha>>2]=h;ca=21;break b}default:{h=i+-1|0;if(i|0?(c[g+836>>2]|0)==5:0){c[ha>>2]=h;ca=21}else{h=i;ca=21}}}while(0);do if((ca|0)==21)if(h>>>0>25){f=c[f+4>>2]|0;la=(pL(c[g+836>>2]|0)|0)<<24>>24;ma=c[da>>2]|0;g=c[ea>>2]|0;c[k>>2]=h;c[k+4>>2]=la;c[k+8>>2]=ma;c[k+12>>2]=g;AD(f,16,205119,k);h=-1;break a}else{Z=d[18704+(h<<2)+3>>0]|0;c[g+21660>>2]=d[18704+(h<<2)+2>>0];h=e[18704+(h<<2)>>1]|0;c[ha>>2]=h;i=0;break}while(0);W=g+21828|0;if(c[W>>2]|0){h=h|128;c[ha>>2]=h}b[(c[f+26356>>2]|0)+(ma<<1)>>1]=c[g+832>>2];if(h&4|0){h=c[ga>>2]|0;h=H(c[h+1184>>2]|0,e[167668+(c[h+12>>2]<<1)>>1]|0)|0;la=BW(ia)|0;c[g+27780>>2]=la;if((a$(ia)|0)<(h|0)){AD(c[f+4>>2]|0,16,205162,m);h=-1094995529;break}else{Q_(ia,h);a[(c[f+24340>>2]|0)+ma>>0]=0;k=(c[f+25956>>2]|0)+(ma*48|0)|0;l=k+48|0;do{a[k>>0]=16;k=k+1|0}while((k|0)<(l|0));c[(c[f+24364>>2]|0)+(ma<<2)>>2]=c[ha>>2];h=0;break}}qj(f,g,h);Sc(f,g,h);c:do if(!(h&7)){if(i<<24>>24==4){d:do if((c[l>>2]|0)==3){h=0;while(1){if(h>>>0>=4)break;j=RK(ia)|0;i=g+28552+(h<<1)|0;b[i>>1]=j;j=j&65535;if(j>>>0>12){ca=55;break}c[T+(h<<2)>>2]=d[18960+(j<<2)+2>>0];b[i>>1]=b[18960+(j<<2)>>1]|0;h=h+1|0}if((ca|0)==55){g=c[f+4>>2]|0;ma=c[da>>2]|0;f=c[ea>>2]|0;c[o>>2]=j;c[o+4>>2]=ma;c[o+8>>2]=f;AD(g,16,205203,o);break}if(!((b[g+28554>>1]|b[g+28552>>1]|b[g+28556>>1]|b[g+28558>>1])&256))ca=63;else{bV(f,g,ha);a[g+28342>>0]=-2;a[g+28302>>0]=-2;a[g+28326>>0]=-2;a[g+28286>>0]=-2;ca=63}}else{h=0;while(1){if(h>>>0>=4){ca=63;break d}j=RK(ia)|0;i=g+28552+(h<<1)|0;b[i>>1]=j;j=j&65535;if(j>>>0>3)break;c[T+(h<<2)>>2]=d[18848+(j<<2)+2>>0];b[i>>1]=b[18848+(j<<2)>>1]|0;h=h+1|0}g=c[f+4>>2]|0;ma=c[da>>2]|0;f=c[ea>>2]|0;c[n>>2]=j;c[n+4>>2]=ma;c[n+8>>2]=f;AD(g,16,205243,n)}while(0);do if((ca|0)==63){S=g+23412|0;m=g+21832|0;l=0;e:while(1){h=c[S>>2]|0;if(l>>>0>=h>>>0)break;if(!(c[ha>>2]&512))k=c[g+23404+(l<<2)>>2]<<c[m>>2];else k=1;j=4096<<(l<<1);i=0;while(1){if(i>>>0>=4)break;h=e[g+28552+(i<<1)>>1]|0;if(!(h&256)){f:do if(!(j&h))h=-1;else switch(k|0){case 1:{h=0;break f}case 2:{h=(wV(ia)|0)^1;break f}default:{h=RK(ia)|0;if(h>>>0<k>>>0)break f;else{ca=76;break e}}}while(0);c[U+(l<<4)+(i<<2)>>2]=h}i=i+1|0}l=l+1|0}if((ca|0)==76){g=c[f+4>>2]|0;c[s>>2]=h;AD(g,16,205283,s);break}if(!V)l=0;else{V=(c[(c[ga>>2]|0)+72>>2]|0)==0;l=g+28552|0;l=(((V?24117616:7340144)&c[l>>2]|0)==0?((V?24117616:7340144)&c[l+4>>2]|0)==0:0)&1}N=f+24312|0;O=g+21740|0;P=g+21720|0;Q=f+26344|0;R=f+26352|0;M=0;while(1){if(M>>>0>=h>>>0)break;J=M<<1;F=4096<<J;G=g+28272+(M*40|0)+11|0;I=g+27952+(M*160|0)+40|0;J=12288<<J;K=g+27952+(M*160|0)+42|0;E=0;while(1){if((E|0)==4)break;h=g+28552+(E<<1)|0;g:do if(!(b[h>>1]&256)){V=c[U+(M<<4)+(E<<2)>>2]&255;L=E<<2;i=d[91792+L>>0]|0;a[i+9+(g+28272+(M*40|0))>>0]=V;a[i+8+(g+28272+(M*40|0))>>0]=V;a[i+1+(g+28272+(M*40|0))>>0]=V;a[g+28272+(M*40|0)+i>>0]=V;h=e[h>>1]|0;if(!(F&h)){c[g+27952+(M*160|0)+(i<<2)+36>>2]=0;c[g+27952+(M*160|0)+(i<<2)+32>>2]=0;c[g+27952+(M*160|0)+(i<<2)+4>>2]=0;c[g+27952+(M*160|0)+(i<<2)>>2]=0;break}A=(h&24|0)==0?1:2;B=c[T+(E<<2)>>2]|0;C=(h&8|0)==0;D=(h&16|0)==0;x=(h&32|0)==0;w=0;while(1){if((w|0)>=(B|0))break g;h=91792+((H(w,A)|0)+L)|0;h=a[h>>0]|0;y=h&255;z=g+27952+(M*160|0)+(y<<2)|0;o=a[g+28272+(M*40|0)+y>>0]|0;p=o<<24>>24;q=y+-8|0;r=a[g+28272+(M*40|0)+q>>0]|0;s=y+-1|0;t=a[g+28272+(M*40|0)+s>>0]|0;u=g+27952+(M*160|0)+(s<<2)|0;v=g+27952+(M*160|0)+(q<<2)|0;i=q+A|0;j=a[g+28272+(M*40|0)+i>>0]|0;k=j<<24>>24;j=j<<24>>24==-2;do if((y&7|0)==4&((h&255)>19&(j&(c[X>>2]|0)!=0))){if((a[G>>0]|0)==-2){ca=98;break}n=c[(c[N>>2]|0)+48>>2]|0;c[I>>2]=0;m=(c[O>>2]&128|0)==0;if(!(c[W>>2]|0)){if(m){ca=98;break}V=c[Y>>2]|0;h=V+(c[P>>2]|0)|0;i=(c[ea>>2]<<1&2)+(y>>>5)|0;V=n+((H(i>>>2,V)|0)+h<<2)|0;if(!(c[V>>2]&J)){m=I;k=-1;break}k=c[N>>2]|0;V=c[k+36+(M<<2)>>2]|0;m=(c[(c[Q>>2]|0)+(h<<2)>>2]|0)+3+(H(c[R>>2]|0,i)|0)|0;b[I>>1]=b[V+(m<<2)>>1]|0;b[K>>1]=b[V+(m<<2)+2>>1]<<1;m=I;k=a[(c[k+68+(M<<2)>>2]|0)+((i&14)+(h<<2|1))>>0]>>1;break}else{if(!m){ca=98;break}h=c[g+21720+(((h&255)>35&1)<<2)>>2]|0;i=y>>>2;if(!(c[n+(h<<2)>>2]&J)){m=I;k=-1;break}k=c[N>>2]|0;V=c[k+36+(M<<2)>>2]|0;m=(c[(c[Q>>2]|0)+(h<<2)>>2]|0)+3+(H(c[R>>2]|0,i&3)|0)|0;b[I>>1]=b[V+(m<<2)>>1]|0;b[K>>1]=(b[V+(m<<2)+2>>1]|0)/2|0;m=I;k=a[(c[k+68+(M<<2)>>2]|0)+(i&2|h<<2|1)>>0]<<1;break}}else ca=98;while(0);do if((ca|0)==98){ca=0;if(j){k=y+-9|0;m=g+27952+(M*160|0)+(k<<2)|0;k=a[g+28272+(M*40|0)+k>>0]|0;break}else{m=g+27952+(M*160|0)+(i<<2)|0;break}}while(0);j=r<<24>>24==o<<24>>24;i=t<<24>>24==o<<24>>24;h=(i&1)+(j&1)+((k|0)==(p|0)&1)|0;do if(h>>>0<=1){if((h|0)!=1){h=b[u>>1]|0;if(t<<24>>24!=-2&(r<<24>>24==-2&(k|0)==-2)){i=b[g+27952+(M*160|0)+(s<<2)+2>>1]|0;break}else{h=jU(h,b[v>>1]|0,b[m>>1]|0)|0;i=jU(b[g+27952+(M*160|0)+(s<<2)+2>>1]|0,b[g+27952+(M*160|0)+(q<<2)+2>>1]|0,b[m+2>>1]|0)|0;break}}if(i){i=b[g+27952+(M*160|0)+(s<<2)+2>>1]|0;h=b[u>>1]|0;break}if(j){i=b[g+27952+(M*160|0)+(q<<2)+2>>1]|0;h=b[v>>1]|0;break}else{i=b[m+2>>1]|0;h=b[m>>1]|0;break}}else{h=jU(b[u>>1]|0,b[v>>1]|0,b[m>>1]|0)|0;i=jU(b[g+27952+(M*160|0)+(s<<2)+2>>1]|0,b[g+27952+(M*160|0)+(q<<2)+2>>1]|0,b[m+2>>1]|0)|0}while(0);V=(Nv(ia)|0)+h|0;h=(Nv(ia)|0)+i|0;i=V&65535;do if(C){if(!D){b[z+4>>1]=i;h=h&65535;b[z+6>>1]=h;break}if(x){h=h&65535;break}else{b[z+32>>1]=i;h=h&65535;b[z+34>>1]=h;break}}else{b[z+36>>1]=i;b[z+32>>1]=i;b[z+4>>1]=i;h=h&65535;b[z+38>>1]=h;b[z+34>>1]=h;b[z+6>>1]=h}while(0);b[z>>1]=i;b[g+27952+(M*160|0)+(y<<2)+2>>1]=h;w=w+1|0}}else{V=d[91792+(E<<2)>>0]|0;a[g+28272+(M*40|0)+V>>0]=a[V+1+(g+28272+(M*40|0))>>0]|0}while(0);E=E+1|0}M=M+1|0;h=c[S>>2]|0}break c}while(0);h=-1;break a}if(h&256|0){bV(f,g,ha);l=c[(c[ga>>2]|0)+72>>2]&V;break}if(h&8|0){s=g+23412|0;t=c[ha>>2]|0;k=g+21832|0;j=0;h:while(1){h=c[s>>2]|0;if(j>>>0>=h>>>0)break;if(t&4096<<(j<<1)|0){i=c[g+23404+(j<<2)>>2]<<c[k>>2];switch(i|0){case 1:{h=0;break}case 2:{h=(wV(ia)|0)^1;break}default:{h=RK(ia)|0;if(h>>>0>=i>>>0){ca=136;break h}}}Y=H(h,16843009)|0;c[g+28272+(j*40|0)+12>>2]=Y;c[g+28272+(j*40|0)+20>>2]=Y;c[g+28272+(j*40|0)+28>>2]=Y;c[g+28272+(j*40|0)+36>>2]=Y}j=j+1|0}if((ca|0)==136){g=c[f+4>>2]|0;c[p>>2]=h;AD(g,16,205283,p);h=-1;break a}r=0;while(1){if(r>>>0>=h>>>0){l=V;break c}if(t&4096<<(r<<1)){i=a[g+28272+(r*40|0)+12>>0]|0;m=a[g+28272+(r*40|0)+4>>0]|0;n=a[g+28272+(r*40|0)+11>>0]|0;o=g+27952+(r*160|0)+44|0;q=g+27952+(r*160|0)+16|0;h=a[g+28272+(r*40|0)+8>>0]|0;if(h<<24>>24==-2){p=g+27952+(r*160|0)+12|0;l=a[g+28272+(r*40|0)+3>>0]|0}else{p=g+27952+(r*160|0)+32|0;l=h<<24>>24}j=m<<24>>24==i<<24>>24;k=n<<24>>24==i<<24>>24;h=(k&1)+(j&1)+((l|0)==(i<<24>>24|0)&1)|0;do if(h>>>0<=1){if((h|0)!=1){h=b[o>>1]|0;if(n<<24>>24!=-2&(m<<24>>24==-2&(l|0)==-2)){i=b[g+27952+(r*160|0)+46>>1]|0;break}else{h=jU(h,b[q>>1]|0,b[p>>1]|0)|0;i=jU(b[g+27952+(r*160|0)+46>>1]|0,b[g+27952+(r*160|0)+18>>1]|0,b[p+2>>1]|0)|0;break}}if(k){i=b[g+27952+(r*160|0)+46>>1]|0;h=b[o>>1]|0;break}if(j){i=b[g+27952+(r*160|0)+18>>1]|0;h=b[q>>1]|0;break}else{i=b[p+2>>1]|0;h=b[p>>1]|0;break}}else{h=jU(b[o>>1]|0,b[q>>1]|0,b[p>>1]|0)|0;i=jU(b[g+27952+(r*160|0)+46>>1]|0,b[g+27952+(r*160|0)+18>>1]|0,b[p+2>>1]|0)|0}while(0);h=(Nv(ia)|0)+h|0;h=(Nv(ia)|0)+i<<16|h&65535;c[g+27952+(r*160|0)+48>>2]=h;c[g+27952+(r*160|0)+52>>2]=h;c[g+27952+(r*160|0)+56>>2]=h;c[g+27952+(r*160|0)+60>>2]=h;c[g+27952+(r*160|0)+80>>2]=h;c[g+27952+(r*160|0)+84>>2]=h;c[g+27952+(r*160|0)+88>>2]=h;c[g+27952+(r*160|0)+92>>2]=h;c[g+27952+(r*160|0)+112>>2]=h;c[g+27952+(r*160|0)+116>>2]=h;c[g+27952+(r*160|0)+120>>2]=h;c[g+27952+(r*160|0)+124>>2]=h;c[g+27952+(r*160|0)+144>>2]=h;c[g+27952+(r*160|0)+148>>2]=h;c[g+27952+(r*160|0)+152>>2]=h;c[g+27952+(r*160|0)+156>>2]=h;h=c[s>>2]|0}r=r+1|0}}Q=g+23412|0;R=c[ha>>2]|0;n=g+21832|0;if(h&16|0){m=0;i:while(1){h=c[Q>>2]|0;if(m>>>0>=h>>>0)break;k=m<<1;l=g+23404+(m<<2)|0;j=0;while(1){if(j>>>0>=2)break;j:do if(!(R&4096<<j+k))h=255;else{i=c[l>>2]<<c[n>>2];switch(i|0){case 1:{h=0;break j}case 2:{h=(wV(ia)|0)^1;break j}default:{h=RK(ia)|0;if(h>>>0<i>>>0)break j;else{ca=166;break i}}}}while(0);U=(j<<4|12)+(g+28272+(m*40|0))|0;T=H(h,16843009)|0;c[U>>2]=T;c[U+8>>2]=T;j=j+1|0}m=m+1|0}if((ca|0)==166){g=c[f+4>>2]|0;c[q>>2]=h;AD(g,16,205283,q);h=-1;break a}L=f+24312|0;M=g+21740|0;N=g+21720|0;O=f+26344|0;P=f+26352|0;K=0;while(1){if(K>>>0>=h>>>0){l=V;break c}y=K<<1;z=g+28272+(K*40|0)+4|0;A=g+28272+(K*40|0)+27|0;B=g+27952+(K*160|0)+16|0;C=g+27952+(K*160|0)+18|0;D=g+28272+(K*40|0)+11|0;E=g+27952+(K*160|0)+108|0;F=g+27952+(K*160|0)+110|0;G=g+27952+(K*160|0)+40|0;I=12288<<y;J=g+27952+(K*160|0)+42|0;x=0;while(1){if((x|0)==2)break;if(!(R&4096<<x+y)){i=0;h=x<<4|12}else{i=x<<3;h=x<<4|12;p=a[g+28272+(K*40|0)+h>>0]|0;q=p<<24>>24;do if(!x){if((a[z>>0]|0)!=p<<24>>24){ca=180;break}j=b[C>>1]|0;i=b[B>>1]|0}else{if((a[A>>0]|0)!=p<<24>>24){ca=180;break}j=b[F>>1]|0;i=b[E>>1]|0}while(0);do if((ca|0)==180){ca=0;i=a[91792+i>>0]|0;n=i&255;r=n+-8|0;s=a[g+28272+(K*40|0)+r>>0]|0;t=n+-1|0;u=a[g+28272+(K*40|0)+t>>0]|0;v=g+27952+(K*160|0)+(t<<2)|0;w=g+27952+(K*160|0)+(r<<2)|0;j=n+-4|0;k=a[g+28272+(K*40|0)+j>>0]|0;l=k<<24>>24;k=k<<24>>24==-2;do if((n&7|0)==4&((i&255)>19&(k&(c[X>>2]|0)!=0))){if((a[D>>0]|0)==-2){ca=189;break}o=c[(c[L>>2]|0)+48>>2]|0;c[G>>2]=0;m=(c[M>>2]&128|0)==0;if(!(c[W>>2]|0)){if(m){ca=189;break}U=c[Y>>2]|0;j=U+(c[N>>2]|0)|0;i=(c[ea>>2]<<1&2)+(n>>>5)|0;U=o+((H(i>>>2,U)|0)+j<<2)|0;if(!(c[U>>2]&I)){m=G;l=-1;break}l=c[L>>2]|0;U=c[l+36+(K<<2)>>2]|0;m=(c[(c[O>>2]|0)+(j<<2)>>2]|0)+3+(H(c[P>>2]|0,i)|0)|0;b[G>>1]=b[U+(m<<2)>>1]|0;b[J>>1]=b[U+(m<<2)+2>>1]<<1;m=G;l=a[(c[l+68+(K<<2)>>2]|0)+((i&14)+(j<<2|1))>>0]>>1;break}else{if(!m){ca=189;break}j=c[g+21720+(((i&255)>35&1)<<2)>>2]|0;i=n>>>2;if(!(c[o+(j<<2)>>2]&I)){m=G;l=-1;break}l=c[L>>2]|0;U=c[l+36+(K<<2)>>2]|0;m=(c[(c[O>>2]|0)+(j<<2)>>2]|0)+3+(H(c[P>>2]|0,i&3)|0)|0;b[G>>1]=b[U+(m<<2)>>1]|0;b[J>>1]=(b[U+(m<<2)+2>>1]|0)/2|0;m=G;l=a[(c[l+68+(K<<2)>>2]|0)+(i&2|j<<2|1)>>0]<<1;break}}else ca=189;while(0);do if((ca|0)==189){ca=0;if(k){l=n+-9|0;m=g+27952+(K*160|0)+(l<<2)|0;l=a[g+28272+(K*40|0)+l>>0]|0;break}else{m=g+27952+(K*160|0)+(j<<2)|0;break}}while(0);k=s<<24>>24==p<<24>>24;j=u<<24>>24==p<<24>>24;i=(j&1)+(k&1)+((l|0)==(q|0)&1)|0;if(i>>>0>1){i=jU(b[v>>1]|0,b[w>>1]|0,b[m>>1]|0)|0;j=jU(b[g+27952+(K*160|0)+(t<<2)+2>>1]|0,b[g+27952+(K*160|0)+(r<<2)+2>>1]|0,b[m+2>>1]|0)|0;break}if((i|0)!=1){i=b[v>>1]|0;if(u<<24>>24!=-2&(s<<24>>24==-2&(l|0)==-2)){j=b[g+27952+(K*160|0)+(t<<2)+2>>1]|0;break}else{i=jU(i,b[w>>1]|0,b[m>>1]|0)|0;j=jU(b[g+27952+(K*160|0)+(t<<2)+2>>1]|0,b[g+27952+(K*160|0)+(r<<2)+2>>1]|0,b[m+2>>1]|0)|0;break}}if(j){j=b[g+27952+(K*160|0)+(t<<2)+2>>1]|0;i=b[v>>1]|0;break}if(k){j=b[g+27952+(K*160|0)+(r<<2)+2>>1]|0;i=b[w>>1]|0;break}else{j=b[m+2>>1]|0;i=b[m>>1]|0;break}}while(0);i=(Nv(ia)|0)+i|0;i=(Nv(ia)|0)+j<<16|i&65535}c[g+27952+(K*160|0)+(h<<2)>>2]=i;c[g+27952+(K*160|0)+(h<<2)+4>>2]=i;c[g+27952+(K*160|0)+(h<<2)+8>>2]=i;c[g+27952+(K*160|0)+(h<<2)+12>>2]=i;c[g+27952+(K*160|0)+(h<<2)+32>>2]=i;c[g+27952+(K*160|0)+(h<<2)+36>>2]=i;c[g+27952+(K*160|0)+(h<<2)+40>>2]=i;c[g+27952+(K*160|0)+(h<<2)+44>>2]=i;x=x+1|0}K=K+1|0;h=c[Q>>2]|0}}m=0;k:while(1){h=c[Q>>2]|0;if(m>>>0>=h>>>0)break;k=m<<1;l=g+23404+(m<<2)|0;j=0;while(1){if(j>>>0>=2)break;l:do if(!(R&4096<<j+k))h=255;else{i=c[l>>2]<<c[n>>2];switch(i|0){case 1:{h=0;break l}case 2:{h=(wV(ia)|0)^1;break l}default:{h=RK(ia)|0;if(h>>>0<i>>>0)break l;else{ca=213;break k}}}}while(0);U=(j<<1)+12+(g+28272+(m*40|0))|0;T=h*257&65535;b[U>>1]=T;b[U+8>>1]=T;b[U+16>>1]=T;b[U+24>>1]=T;j=j+1|0}m=m+1|0}if((ca|0)==213){g=c[f+4>>2]|0;c[r>>2]=h;AD(g,16,205283,r);h=-1;break a}L=f+24312|0;M=g+21740|0;N=g+21720|0;O=f+26344|0;P=f+26352|0;K=0;while(1){if(K>>>0>=h>>>0){l=V;break c}y=K<<1;z=g+28272+(K*40|0)+11|0;A=g+28272+(K*40|0)+8|0;B=g+27952+(K*160|0)+44|0;C=g+27952+(K*160|0)+46|0;D=g+27952+(K*160|0)+20|0;E=g+28272+(K*40|0)+5|0;F=g+27952+(K*160|0)+32|0;G=g+27952+(K*160|0)+40|0;I=12288<<y;J=g+27952+(K*160|0)+42|0;x=0;while(1){if((x|0)==2)break;if(!(R&4096<<x+y)){i=0;h=(x<<1)+12|0}else{j=x<<2;h=(x<<1)+12|0;u=a[g+28272+(K*40|0)+h>>0]|0;w=u<<24>>24;do if(!x)if((a[z>>0]|0)==u<<24>>24){j=b[C>>1]|0;i=b[B>>1]|0}else ca=229;else{i=a[A>>0]|0;if(i<<24>>24==-2){k=D;i=a[E>>0]|0}else k=F;if(i<<24>>24!=u<<24>>24){ca=229;break}j=b[k+2>>1]|0;i=b[k>>1]|0}while(0);do if((ca|0)==229){ca=0;i=a[91792+j>>0]|0;n=i&255;p=n+-8|0;q=a[g+28272+(K*40|0)+p>>0]|0;r=n+-1|0;s=a[g+28272+(K*40|0)+r>>0]|0;t=g+27952+(K*160|0)+(r<<2)|0;v=g+27952+(K*160|0)+(p<<2)|0;j=n+-6|0;k=a[g+28272+(K*40|0)+j>>0]|0;l=k<<24>>24;k=k<<24>>24==-2;do if((n&7|0)==4&((i&255)>19&(k&(c[X>>2]|0)!=0))){if((a[z>>0]|0)==-2){ca=238;break}o=c[(c[L>>2]|0)+48>>2]|0;c[G>>2]=0;m=(c[M>>2]&128|0)==0;if(!(c[W>>2]|0)){if(m){ca=238;break}U=c[Y>>2]|0;j=U+(c[N>>2]|0)|0;i=(c[ea>>2]<<1&2)+(n>>>5)|0;U=o+((H(i>>>2,U)|0)+j<<2)|0;if(!(c[U>>2]&I)){m=G;l=-1;break}l=c[L>>2]|0;U=c[l+36+(K<<2)>>2]|0;m=(c[(c[O>>2]|0)+(j<<2)>>2]|0)+3+(H(c[P>>2]|0,i)|0)|0;b[G>>1]=b[U+(m<<2)>>1]|0;b[J>>1]=b[U+(m<<2)+2>>1]<<1;m=G;l=a[(c[l+68+(K<<2)>>2]|0)+((i&14)+(j<<2|1))>>0]>>1;break}else{if(!m){ca=238;break}j=c[g+21720+(((i&255)>35&1)<<2)>>2]|0;i=n>>>2;if(!(c[o+(j<<2)>>2]&I)){m=G;l=-1;break}l=c[L>>2]|0;U=c[l+36+(K<<2)>>2]|0;m=(c[(c[O>>2]|0)+(j<<2)>>2]|0)+3+(H(c[P>>2]|0,i&3)|0)|0;b[G>>1]=b[U+(m<<2)>>1]|0;b[J>>1]=(b[U+(m<<2)+2>>1]|0)/2|0;m=G;l=a[(c[l+68+(K<<2)>>2]|0)+(i&2|j<<2|1)>>0]<<1;break}}else ca=238;while(0);do if((ca|0)==238){ca=0;if(k){l=n+-9|0;m=g+27952+(K*160|0)+(l<<2)|0;l=a[g+28272+(K*40|0)+l>>0]|0;break}else{m=g+27952+(K*160|0)+(j<<2)|0;break}}while(0);k=q<<24>>24==u<<24>>24;j=s<<24>>24==u<<24>>24;i=(j&1)+(k&1)+((l|0)==(w|0)&1)|0;if(i>>>0>1){i=jU(b[t>>1]|0,b[v>>1]|0,b[m>>1]|0)|0;j=jU(b[g+27952+(K*160|0)+(r<<2)+2>>1]|0,b[g+27952+(K*160|0)+(p<<2)+2>>1]|0,b[m+2>>1]|0)|0;break}if((i|0)!=1){i=b[t>>1]|0;if(s<<24>>24!=-2&(q<<24>>24==-2&(l|0)==-2)){j=b[g+27952+(K*160|0)+(r<<2)+2>>1]|0;break}else{i=jU(i,b[v>>1]|0,b[m>>1]|0)|0;j=jU(b[g+27952+(K*160|0)+(r<<2)+2>>1]|0,b[g+27952+(K*160|0)+(p<<2)+2>>1]|0,b[m+2>>1]|0)|0;break}}if(j){j=b[g+27952+(K*160|0)+(r<<2)+2>>1]|0;i=b[t>>1]|0;break}if(k){j=b[g+27952+(K*160|0)+(p<<2)+2>>1]|0;i=b[v>>1]|0;break}else{j=b[m+2>>1]|0;i=b[m>>1]|0;break}}while(0);i=(Nv(ia)|0)+i|0;i=(Nv(ia)|0)+j<<16|i&65535}c[g+27952+(K*160|0)+(h<<2)>>2]=i;c[g+27952+(K*160|0)+(h<<2)+4>>2]=i;c[g+27952+(K*160|0)+(h<<2)+32>>2]=i;c[g+27952+(K*160|0)+(h<<2)+36>>2]=i;c[g+27952+(K*160|0)+(h<<2)+64>>2]=i;c[g+27952+(K*160|0)+(h<<2)+68>>2]=i;c[g+27952+(K*160|0)+(h<<2)+96>>2]=i;c[g+27952+(K*160|0)+(h<<2)+100>>2]=i;x=x+1|0}K=K+1|0;h=c[Q>>2]|0}}else{if(!(h&1)){X=g+21660|0;Y=Fw(c[f+4>>2]|0,c[g+21760>>2]|0,c[g+21768>>2]|0,c[X>>2]|0,0)|0;c[X>>2]=Y;if((Y|0)<0){h=-1;break a}}else{if((V|0)!=0?(wV(ia)|0)!=0:0){c[ha>>2]=h|16777216;j=4}else j=1;k=(j|0)==4;i=0;while(1){if(i>>>0>=16)break;l=d[91792+i>>0]|0;h=a[l+-1+(g+21664)>>0]|0;Y=a[l+-8+(g+21664)>>0]|0;h=(h|0)>(Y|0)?Y:h;h=(h|0)<0?2:h;if(!(wV(ia)|0)){Y=UN(ia,3)|0;h=Y+((Y|0)>=(h|0)&1)|0}if(k){Y=g+21664+l|0;X=h*257&65535;b[Y>>1]=X;b[Y+8>>1]=X}else a[g+21664+l>>0]=h;i=i+j|0}Y=(c[g+21704>>2]|0)+(c[(c[f+26348>>2]|0)+(c[la>>2]<<2)>>2]|0)|0;c[Y>>2]=c[g+21700>>2];a[Y+4>>0]=a[g+21695>>0]|0;a[Y+5>>0]=a[g+21687>>0]|0;a[Y+6>>0]=a[g+21679>>0]|0;if((ur(g+21664|0,c[f+4>>2]|0,c[g+21760>>2]|0,c[g+21768>>2]|0)|0)<=-1){h=-1;break a}}if(!$){c[g+21656>>2]=6;l=V;break}X=c[f+4>>2]|0;Y=c[g+21760>>2]|0;h=c[g+21768>>2]|0;h=Fw(X,Y,h,RK(ia)|0,1)|0;if((h|0)<0){h=-1;break a}c[g+21656>>2]=h;l=V}while(0);h=c[ha>>2]|0;if(h&120|0){i=c[f+26352>>2]|0;j=(H(i<<2,c[ea>>2]|0)|0)+(c[da>>2]<<2)|0;k=c[la>>2]<<2;if(!(h&12288)){Y=(c[f+24384>>2]|0)+k|0;b[Y>>1]=-1;b[Y+2>>1]=-1}else{Y=(c[f+24352>>2]|0)+(j<<2)|0;W=g+28e3|0;X=c[W+4>>2]|0;U=Y;c[U>>2]=c[W>>2];c[U+4>>2]=X;U=g+28008|0;X=c[U+4>>2]|0;W=Y+8|0;c[W>>2]=c[U>>2];c[W+4>>2]=X;W=g+28032|0;X=c[W+4>>2]|0;U=Y+(i<<2)|0;V=U;c[V>>2]=c[W>>2];c[V+4>>2]=X;V=g+28040|0;X=c[V+4>>2]|0;U=U+8|0;c[U>>2]=c[V>>2];c[U+4>>2]=X;U=g+28064|0;X=c[U+4>>2]|0;V=Y+(i<<1<<2)|0;W=V;c[W>>2]=c[U>>2];c[W+4>>2]=X;W=g+28072|0;X=c[W+4>>2]|0;V=V+8|0;c[V>>2]=c[W>>2];c[V+4>>2]=X;V=g+28096|0;X=c[V+4>>2]|0;Y=Y+(i*3<<2)|0;W=Y;c[W>>2]=c[V>>2];c[W+4>>2]=X;W=g+28104|0;X=c[W+4>>2]|0;Y=Y+8|0;c[Y>>2]=c[W>>2];c[Y+4>>2]=X;Y=(c[f+24384>>2]|0)+k|0;a[Y>>0]=a[g+28284>>0]|0;a[Y+1>>0]=a[g+28286>>0]|0;a[Y+2>>0]=a[g+28300>>0]|0;a[Y+3>>0]=a[g+28302>>0]|0}if(h&49152|0){Y=(c[f+24356>>2]|0)+(j<<2)|0;W=g+28160|0;X=c[W+4>>2]|0;U=Y;c[U>>2]=c[W>>2];c[U+4>>2]=X;U=g+28168|0;X=c[U+4>>2]|0;W=Y+8|0;c[W>>2]=c[U>>2];c[W+4>>2]=X;W=g+28192|0;X=c[W+4>>2]|0;U=Y+(i<<2)|0;V=U;c[V>>2]=c[W>>2];c[V+4>>2]=X;V=g+28200|0;X=c[V+4>>2]|0;U=U+8|0;c[U>>2]=c[V>>2];c[U+4>>2]=X;U=g+28224|0;X=c[U+4>>2]|0;V=Y+(i<<1<<2)|0;W=V;c[W>>2]=c[U>>2];c[W+4>>2]=X;W=g+28232|0;X=c[W+4>>2]|0;V=V+8|0;c[V>>2]=c[W>>2];c[V+4>>2]=X;V=g+28256|0;X=c[V+4>>2]|0;Y=Y+(i*3<<2)|0;W=Y;c[W>>2]=c[V>>2];c[W+4>>2]=X;W=g+28264|0;X=c[W+4>>2]|0;Y=Y+8|0;c[Y>>2]=c[W>>2];c[Y+4>>2]=X;Y=(c[f+24388>>2]|0)+k|0;a[Y>>0]=a[g+28324>>0]|0;a[Y+1>>0]=a[g+28326>>0]|0;a[Y+2>>0]=a[g+28340>>0]|0;a[Y+3>>0]=a[g+28342>>0]|0}}h=c[ha>>2]|0;if(h&2)if(Z>>>0>15&($^1)){AD(c[f+4>>2]|0,16,210433,_);h=-1094995529;break}else w=Z;else{j=uv(ia)|0;do if($){if(j>>>0>47){h=c[f+4>>2]|0;f=c[da>>2]|0;g=c[ea>>2]|0;c[aa>>2]=j;c[aa+4>>2]=f;c[aa+8>>2]=g;AD(h,16,205300,aa);h=-1;break a}h=c[ha>>2]|0;if(!(h&1)){i=h;h=18656+j|0;break}else{i=h;h=18608+j|0;break}}else{if(j>>>0>15){h=c[f+4>>2]|0;f=c[da>>2]|0;g=c[ea>>2]|0;c[ba>>2]=j;c[ba+4>>2]=f;c[ba+8>>2]=g;AD(h,16,205300,ba);h=-1;break a}h=c[ha>>2]|0;if(!(h&1)){i=h;h=78880+j|0;break}else{i=h;h=78864+j|0;break}}while(0);w=d[h>>0]|0;h=i}u=(w&15|0)==0;if((h&7|0)==0&(((l|0)==0|u)^1)){h=(wV(ia)|0)<<24;h=c[ha>>2]|h;c[ha>>2]=h}r=f+26376|0;b[(c[r>>2]|0)+(ma<<1)>>1]=w;c[g+21856>>2]=w&65535;c[(c[f+24364>>2]|0)+(ma<<2)>>2]=h;if((w|0)==0?(c[ha>>2]&2|0)==0:0){c[g+27836>>2]=0;c[g+27844>>2]=0;c[g+27852>>2]=0;c[g+27860>>2]=0;c[g+27876>>2]=0;c[g+27884>>2]=0;c[g+27892>>2]=0;c[g+27900>>2]=0;c[g+27916>>2]=0;c[g+27924>>2]=0;c[g+27932>>2]=0;c[g+27940>>2]=0;h=g+848|0}else ca=280;m:do if((ca|0)==280){i=(c[(c[ga>>2]|0)+1184>>2]|0)*6|0;k=i+3|0;l=Nv(ia)|0;h=g+848|0;j=(c[h>>2]|0)+l|0;c[h>>2]=j;if(j>>>0>k>>>0){i=((j|0)<0?i+4|0:-4-i|0)+j|0;c[h>>2]=i;if(i>>>0>k>>>0){h=c[f+4>>2]|0;f=c[da>>2]|0;g=c[ea>>2]|0;c[fa>>2]=l;c[fa+4>>2]=f;c[fa+8>>2]=g;AD(h,16,205329,fa);h=-1;break a}else j=i}i=c[ka>>2]|0;q=g+852|0;c[q>>2]=d[i+548+j>>0];s=g+856|0;c[s>>2]=d[i+636+j>>0];i=c[ha>>2]|0;fa=(i&128|0)==0;t=(j|0)!=0;v=fa?(t?f+26412|0:f+26700|0):t?f+26556|0:f+26844|0;t=fa?(t?f+26492|0:f+26780|0):t?f+26636|0:f+26924|0;n:do if(!(i&2)){p=(i&7|0)==0?3:0;o=(i&16777216|0)==0;i=0;n=0;while(1){if(n>>>0>=4)break;o:do if(1<<n&w)if(o){m=n<<2;l=0;while(1){if(l>>>0>=4)break o;k=l+m|0;if((cd(f,g,ia,g+28560+(k<<4<<ja<<1)|0,k,v,(c[(c[ka>>2]|0)+173788+(p<<2)>>2]|0)+(j<<6)|0,16)|0)<0){h=-1;break a}l=l+1|0;i=d[(d[91792+k>>0]|0)+(g+27824)>>0]<<n|i}}else{l=g+28560+(n<<6<<ja<<1)|0;m=n<<2;k=0;while(1){if(k>>>0>=4)break;if((cd(f,g,ia,l,k+m|0,t+(k<<4)|0,(c[(c[ka>>2]|0)+173812+(p<<2)>>2]|0)+(j<<8)|0,16)|0)>-1)k=k+1|0;else{h=-1;break a}}ea=(d[91792+m>>0]|0)+(g+27824)|0;fa=(d[ea+8>>0]|0)+(d[ea+1>>0]|0)+(d[ea+9>>0]|0)+(d[ea>>0]|0)&255;a[ea>>0]=fa;i=(fa<<24>>24!=0&1)<<n|i;break}else{fa=(d[91792+(n<<2)>>0]|0)+(g+27824)|0;a[fa+9>>0]=0;a[fa+8>>0]=0;a[fa+1>>0]=0;a[fa>>0]=0}while(0);n=n+1|0}if((i|0)<0){h=-1;break a}}else{i=g+31632|0;k=i;l=k+64|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(l|0));if((cd(f,g,ia,i,48,v,0,16)|0)<0){h=-1;break a}if(u){c[g+27836>>2]=0;c[g+27844>>2]=0;c[g+27852>>2]=0;c[g+27860>>2]=0;i=0;break}l=v+1|0;k=0;while(1){if(k>>>0>=4){i=15;break n}m=k<<2;i=0;while(1){if(i>>>0>=4)break;fa=i+m|0;if((cd(f,g,ia,g+28560+(fa<<4<<ja<<1)|0,fa,l,(c[(c[ka>>2]|0)+173788>>2]|0)+(j<<6)|0,15)|0)>-1)i=i+1|0;else{h=-1;break a}}k=k+1|0}}while(0);r=(c[r>>2]|0)+(ma<<1)|0;b[r>>1]=i<<12|e[r>>1];r=c[(c[ga>>2]|0)+12>>2]|0;if((r|0)!=3){p:do if(w&48|0){j=r<<2;i=0;while(1){if(i>>>0>=2)break p;if((cd(f,g,ia,g+28560+((i<<8)+256<<ja<<1)|0,i+49|0,(c[(c[ga>>2]|0)+12>>2]|0)==2?174333:174329,0,j)|0)<0){h=-1;break a}else i=i+1|0}}while(0);if(!(w&32)){c[g+27876>>2]=0;c[g+27884>>2]=0;c[g+27892>>2]=0;c[g+27900>>2]=0;c[g+27916>>2]=0;c[g+27924>>2]=0;c[g+27932>>2]=0;c[g+27940>>2]=0;break}n=v+1|0;o=16<<ja;i=0;while(1){if(i>>>0>=2)break m;p=i+1|0;q=(c[(c[ka>>2]|0)+173788+(((c[ha>>2]&7|0)==0?3:0)+p<<2)>>2]|0)+(c[g+852+(i<<2)>>2]<<6)|0;l=(i<<4)+16|0;i=g+28560+(l<<4<<ja<<1)|0;j=0;while(1){if((j|0)>=(r|0))break;m=(j<<3)+l|0;k=0;while(1){if(k>>>0>=4)break;if((cd(f,g,ia,i,m+k|0,n,q,15)|0)<=-1){h=-1;break a}k=k+1|0;i=i+(o<<1)|0}j=j+1|0}i=p}}i=c[ha>>2]|0;p=c[q>>2]|0;q:do if(!(i&2)){o=(i&7|0)==0?4:1;n=(i&16777216|0)==0;i=0;m=0;while(1){if(m>>>0>=4)break;r:do if(1<<m&w)if(n){l=(m<<2)+16|0;k=0;while(1){if(k>>>0>=4)break r;j=l+k|0;if((cd(f,g,ia,g+28560+(j<<4<<ja<<1)|0,j,v,(c[(c[ka>>2]|0)+173788+(o<<2)>>2]|0)+(p<<6)|0,16)|0)<0){h=-1;break a}k=k+1|0;i=d[(d[91792+j>>0]|0)+(g+27824)>>0]<<m|i}}else{k=g+28560+((m<<6)+256<<ja<<1)|0;l=(m<<2)+16|0;j=0;while(1){if(j>>>0>=4)break;if((cd(f,g,ia,k,j+l|0,t+(j<<4)|0,(c[(c[ka>>2]|0)+173812+(o<<2)>>2]|0)+(p<<8)|0,16)|0)>-1)j=j+1|0;else{h=-1;break a}}fa=(d[91792+l>>0]|0)+(g+27824)|0;ga=(d[fa+8>>0]|0)+(d[fa+1>>0]|0)+(d[fa+9>>0]|0)+(d[fa>>0]|0)&255;a[fa>>0]=ga;i=(ga<<24>>24!=0&1)<<m|i;break}else{ga=(d[91792+((m<<2)+16)>>0]|0)+(g+27824)|0;a[ga+9>>0]=0;a[ga+8>>0]=0;a[ga+1>>0]=0;a[ga>>0]=0}while(0);m=m+1|0}if((i|0)<0){h=-1;break a}}else{i=g+31696|0;k=i;l=k+64|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(l|0));if((cd(f,g,ia,i,49,v,0,16)|0)<0){h=-1;break a}if(u){c[g+27876>>2]=0;c[g+27884>>2]=0;c[g+27892>>2]=0;c[g+27900>>2]=0;break}k=v+1|0;j=0;while(1){if(j>>>0>=4)break q;l=(j<<2)+16|0;i=0;while(1){if(i>>>0>=4)break;ga=l+i|0;if((cd(f,g,ia,g+28560+(ga<<4<<ja<<1)|0,ga,k,(c[(c[ka>>2]|0)+173792>>2]|0)+(p<<6)|0,15)|0)>-1)i=i+1|0;else{h=-1;break a}}j=j+1|0}}while(0);i=c[ha>>2]|0;p=c[s>>2]|0;if(i&2|0){i=g+31760|0;k=i;l=k+64|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(l|0));if((cd(f,g,ia,i,50,v,0,16)|0)<0){h=-1;break a}if(u){c[g+27916>>2]=0;c[g+27924>>2]=0;c[g+27932>>2]=0;c[g+27940>>2]=0;break}k=v+1|0;j=0;while(1){if(j>>>0>=4)break m;l=(j<<2)+32|0;i=0;while(1){if(i>>>0>=4)break;ha=l+i|0;if((cd(f,g,ia,g+28560+(ha<<4<<ja<<1)|0,ha,k,(c[(c[ka>>2]|0)+173796>>2]|0)+(p<<6)|0,15)|0)>-1)i=i+1|0;else{h=-1;break a}}j=j+1|0}}o=(i&7|0)==0?5:2;n=(i&16777216|0)==0;i=0;m=0;while(1){if(m>>>0>=4)break;s:do if(1<<m&w)if(n){l=(m<<2)+32|0;k=0;while(1){if(k>>>0>=4)break s;j=l+k|0;if((cd(f,g,ia,g+28560+(j<<4<<ja<<1)|0,j,v,(c[(c[ka>>2]|0)+173788+(o<<2)>>2]|0)+(p<<6)|0,16)|0)<0){h=-1;break a}k=k+1|0;i=d[(d[91792+j>>0]|0)+(g+27824)>>0]<<m|i}}else{k=g+28560+((m<<6)+512<<ja<<1)|0;l=(m<<2)+32|0;j=0;while(1){if(j>>>0>=4)break;if((cd(f,g,ia,k,j+l|0,t+(j<<4)|0,(c[(c[ka>>2]|0)+173812+(o<<2)>>2]|0)+(p<<8)|0,16)|0)>-1)j=j+1|0;else{h=-1;break a}}ga=(d[91792+l>>0]|0)+(g+27824)|0;ha=(d[ga+8>>0]|0)+(d[ga+1>>0]|0)+(d[ga+9>>0]|0)+(d[ga>>0]|0)&255;a[ga>>0]=ha;i=(ha<<24>>24!=0&1)<<m|i;break}else{ha=(d[91792+((m<<2)+32)>>0]|0)+(g+27824)|0;a[ha+9>>0]=0;a[ha+8>>0]=0;a[ha+1>>0]=0;a[ha>>0]=0}while(0);m=m+1|0}if((i|0)<0){h=-1;break a}}while(0);a[(c[f+24340>>2]|0)+ma>>0]=c[h>>2];h=c[la>>2]|0;i=c[f+25956>>2]|0;c[i+(h*48|0)>>2]=c[g+27836>>2];c[i+(h*48|0)+4>>2]=c[g+27844>>2];c[i+(h*48|0)+8>>2]=c[g+27852>>2];c[i+(h*48|0)+12>>2]=c[g+27860>>2];c[i+(h*48|0)+16>>2]=c[g+27876>>2];c[i+(h*48|0)+20>>2]=c[g+27884>>2];c[i+(h*48|0)+32>>2]=c[g+27916>>2];c[i+(h*48|0)+36>>2]=c[g+27924>>2];if(!(c[f+25668>>2]|0)){c[i+(h*48|0)+24>>2]=c[g+27892>>2];c[i+(h*48|0)+28>>2]=c[g+27900>>2];c[i+(h*48|0)+40>>2]=c[g+27932>>2];c[i+(h*48|0)+44>>2]=c[g+27940>>2];h=0}else h=0}while(0);Mb=na;return h|0}function vc(e,f,g,h,i,j,k,l,m){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,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0;va=Mb;Mb=Mb+80|0;ta=va+72|0;o=va;r=c[e+96>>2]|0;do if((r|0)!=0?(n=c[e+28196>>2]|0,(c[n+724>>2]|0)==0):0){ga=c[e+25652>>2]|0;sa=c[e+28200>>2]|0;u=c[sa+12>>2]|0;na=(u|0)!=0;pa=(u|0)==3;u=(u|0)==2;V=c[f+21796>>2]|0;s=c[f+21740>>2]|0;la=c[f+21732>>2]|0;sa=H(c[sa+1184>>2]|0,-6)|0;sa=sa+100|0;ra=sa+(c[f+872>>2]|0)|0;sa=sa+(c[f+876>>2]|0)|0;t=c[(c[e+24364>>2]|0)+(V<<2)>>2]|0;ma=c[e+24340>>2]|0;oa=a[ma+V>>0]|0;V=a[ma+(V+-1)>>0]|0;ma=a[ma+(c[f+21712>>2]|0)>>0]|0;qa=d[n+548+oa>>0]|0;ka=oa+1|0;v=ka+V>>1;ka=ka+ma>>1;h=qa+1|0;V=(h+(d[n+548+V>>0]|0)|0)>>>1;ma=(h+(d[n+548+ma>>0]|0)|0)>>>1;if(t&7|0){r=(c[e+26364>>2]|0)==3?167676:167684;f=(s|0)!=0;if(f?(p=v+ra|0,q=v+sa|0,!(p>>>0<68|q>>>0<68)):0)hc[c[e+64>>2]&255](i,l,d[92592+p>>0]|0,d[92432+q>>0]|0);o=(t&16777216|0)!=0;p=ra+oa|0;q=d[92592+p>>0]|0;n=sa+oa|0;h=d[92432+n>>0]|0;n=p>>>0<68|n>>>0<68;if(o){if(!n){jv(ta|0,a[92752+(p<<2)+3>>0]|0,4)|0;jc[c[e+52>>2]&255](i+(8<<ga)|0,l,q,h,ta)}do if(la|0?(w=ka+ra|0,x=d[92592+w>>0]|0,oa=ka+sa|0,y=d[92432+oa>>0]|0,!(w>>>0<68|oa>>>0<68)):0){g=b[r>>1]|0;if(g<<16>>16>3){hc[c[e+60>>2]&255](i,l,x,y);break}else{a[ta>>0]=a[(g<<16>>16)+(92752+(w<<2))>>0]|0;a[ta+1>>0]=a[(b[r+2>>1]|0)+(92752+(w<<2))>>0]|0;a[ta+2>>0]=a[(b[r+4>>1]|0)+(92752+(w<<2))>>0]|0;a[ta+3>>0]=a[(b[r+6>>1]|0)+(92752+(w<<2))>>0]|0;jc[c[e+48>>2]&255](i,l,x,y,ta);break}}while(0);if(!n){jv(ta|0,a[92752+(p<<2)+3>>0]|0,4)|0;jc[c[e+48>>2]&255](i+(l<<3)|0,l,q,h,ta)}}else{if(!n){ja=a[92752+(p<<2)+3>>0]|0;oa=e+52|0;jv(ta|0,ja|0,4)|0;jc[c[oa>>2]&255](i+(4<<ga)|0,l,q,h,ta);jv(ta|0,ja|0,4)|0;jc[c[oa>>2]&255](i+(8<<ga)|0,l,q,h,ta);jv(ta|0,ja|0,4)|0;jc[c[oa>>2]&255](i+(12<<ga)|0,l,q,h,ta)}do if(la|0?(z=ka+ra|0,A=d[92592+z>>0]|0,oa=ka+sa|0,B=d[92432+oa>>0]|0,!(z>>>0<68|oa>>>0<68)):0){g=b[r>>1]|0;if(g<<16>>16>3){hc[c[e+60>>2]&255](i,l,A,B);break}else{a[ta>>0]=a[(g<<16>>16)+(92752+(z<<2))>>0]|0;a[ta+1>>0]=a[(b[r+2>>1]|0)+(92752+(z<<2))>>0]|0;a[ta+2>>0]=a[(b[r+4>>1]|0)+(92752+(z<<2))>>0]|0;a[ta+3>>0]=a[(b[r+6>>1]|0)+(92752+(z<<2))>>0]|0;jc[c[e+48>>2]&255](i,l,A,B,ta);break}}while(0);if(!n){ka=a[92752+(p<<2)+3>>0]|0;oa=e+48|0;jv(ta|0,ka|0,4)|0;jc[c[oa>>2]&255](i+(l<<2)|0,l,q,h,ta);jv(ta|0,ka|0,4)|0;jc[c[oa>>2]&255](i+(l<<3)|0,l,q,h,ta);jv(ta|0,ka|0,4)|0;jc[c[oa>>2]&255](i+(l*12|0)|0,l,q,h,ta)}}if(!na)break;if(pa){if(f?(pa=V+ra|0,C=d[92592+pa>>0]|0,m=V+sa|0,D=d[92432+m>>0]|0,!(pa>>>0<68|m>>>0<68)):0){m=e+64|0;hc[c[m>>2]&255](j,l,C,D);hc[c[m>>2]&255](k,l,C,D)}if(o){g=8<<ga;o=ra+qa|0;p=d[92592+o>>0]|0;n=sa+qa|0;h=d[92432+n>>0]|0;n=o>>>0<68|n>>>0<68;if(!n){qa=a[92752+(o<<2)+3>>0]|0;m=e+52|0;jv(ta|0,qa|0,4)|0;jc[c[m>>2]&255](j+g|0,l,p,h,ta);jv(ta|0,qa|0,4)|0;jc[c[m>>2]&255](k+g|0,l,p,h,ta)}do if(la|0?(J=ma+ra|0,K=d[92592+J>>0]|0,sa=ma+sa|0,L=d[92432+sa>>0]|0,!(J>>>0<68|sa>>>0<68)):0){g=b[r>>1]|0;if(g<<16>>16>3){sa=e+60|0;hc[c[sa>>2]&255](j,l,K,L);hc[c[sa>>2]&255](k,l,K,L);break}else{na=a[(g<<16>>16)+(92752+(J<<2))>>0]|0;a[ta>>0]=na;oa=a[(b[r+2>>1]|0)+(92752+(J<<2))>>0]|0;i=ta+1|0;a[i>>0]=oa;pa=a[(b[r+4>>1]|0)+(92752+(J<<2))>>0]|0;qa=ta+2|0;a[qa>>0]=pa;m=a[(b[r+6>>1]|0)+(92752+(J<<2))>>0]|0;ra=ta+3|0;a[ra>>0]=m;sa=e+48|0;jc[c[sa>>2]&255](j,l,K,L,ta);a[ta>>0]=na;a[i>>0]=oa;a[qa>>0]=pa;a[ra>>0]=m;jc[c[sa>>2]&255](k,l,K,L,ta);break}}while(0);g=l<<3;if(n)break;sa=a[92752+(o<<2)+3>>0]|0;e=e+48|0;jv(ta|0,sa|0,4)|0;jc[c[e>>2]&255](j+g|0,l,p,h,ta);jv(ta|0,sa|0,4)|0;jc[c[e>>2]&255](k+g|0,l,p,h,ta);break}else{g=4<<ga;o=ra+qa|0;p=d[92592+o>>0]|0;n=sa+qa|0;h=d[92432+n>>0]|0;n=o>>>0<68|n>>>0<68;if(!n){pa=a[92752+(o<<2)+3>>0]|0;qa=e+52|0;jv(ta|0,pa|0,4)|0;jc[c[qa>>2]&255](j+g|0,l,p,h,ta);jv(ta|0,pa|0,4)|0;jc[c[qa>>2]&255](k+g|0,l,p,h,ta);m=8<<ga;jv(ta|0,pa|0,4)|0;jc[c[qa>>2]&255](j+m|0,l,p,h,ta);jv(ta|0,pa|0,4)|0;jc[c[qa>>2]&255](k+m|0,l,p,h,ta);m=12<<ga;jv(ta|0,pa|0,4)|0;jc[c[qa>>2]&255](j+m|0,l,p,h,ta);jv(ta|0,pa|0,4)|0;jc[c[qa>>2]&255](k+m|0,l,p,h,ta)}do if(la|0?(M=ma+ra|0,N=d[92592+M>>0]|0,sa=ma+sa|0,O=d[92432+sa>>0]|0,!(M>>>0<68|sa>>>0<68)):0){g=b[r>>1]|0;if(g<<16>>16>3){sa=e+60|0;hc[c[sa>>2]&255](j,l,N,O);hc[c[sa>>2]&255](k,l,N,O);break}else{na=a[(g<<16>>16)+(92752+(M<<2))>>0]|0;a[ta>>0]=na;oa=a[(b[r+2>>1]|0)+(92752+(M<<2))>>0]|0;i=ta+1|0;a[i>>0]=oa;pa=a[(b[r+4>>1]|0)+(92752+(M<<2))>>0]|0;qa=ta+2|0;a[qa>>0]=pa;m=a[(b[r+6>>1]|0)+(92752+(M<<2))>>0]|0;ra=ta+3|0;a[ra>>0]=m;sa=e+48|0;jc[c[sa>>2]&255](j,l,N,O,ta);a[ta>>0]=na;a[i>>0]=oa;a[qa>>0]=pa;a[ra>>0]=m;jc[c[sa>>2]&255](k,l,N,O,ta);break}}while(0);g=l<<2;if(n)break;ra=a[92752+(o<<2)+3>>0]|0;sa=e+48|0;jv(ta|0,ra|0,4)|0;jc[c[sa>>2]&255](j+g|0,l,p,h,ta);jv(ta|0,ra|0,4)|0;jc[c[sa>>2]&255](k+g|0,l,p,h,ta);e=l<<3;jv(ta|0,ra|0,4)|0;jc[c[sa>>2]&255](j+e|0,l,p,h,ta);jv(ta|0,ra|0,4)|0;jc[c[sa>>2]&255](k+e|0,l,p,h,ta);e=l*12|0;jv(ta|0,ra|0,4)|0;jc[c[sa>>2]&255](j+e|0,l,p,h,ta);jv(ta|0,ra|0,4)|0;jc[c[sa>>2]&255](k+e|0,l,p,h,ta);break}}if(u){if(f?(pa=V+ra|0,E=d[92592+pa>>0]|0,l=V+sa|0,F=d[92432+l>>0]|0,!(pa>>>0<68|l>>>0<68)):0){l=e+88|0;hc[c[l>>2]&255](j,m,E,F);hc[c[l>>2]&255](k,m,E,F)}g=4<<ga;o=ra+qa|0;p=d[92592+o>>0]|0;n=sa+qa|0;h=d[92432+n>>0]|0;n=o>>>0<68|n>>>0<68;if(!n){qa=(d[92752+(o<<2)+3>>0]|0)+1&255;l=e+76|0;jv(ta|0,qa|0,4)|0;jc[c[l>>2]&255](j+g|0,m,p,h,ta);jv(ta|0,qa|0,4)|0;jc[c[l>>2]&255](k+g|0,m,p,h,ta)}do if(la|0?(P=ma+ra|0,Q=d[92592+P>>0]|0,sa=ma+sa|0,R=d[92432+sa>>0]|0,!(P>>>0<68|sa>>>0<68)):0){g=b[r>>1]|0;if(g<<16>>16>3){sa=e+84|0;hc[c[sa>>2]&255](j,m,Q,R);hc[c[sa>>2]&255](k,m,Q,R);break}else{na=(d[(g<<16>>16)+(92752+(P<<2))>>0]|0)+1&255;a[ta>>0]=na;oa=(d[(b[r+2>>1]|0)+(92752+(P<<2))>>0]|0)+1&255;i=ta+1|0;a[i>>0]=oa;pa=(d[(b[r+4>>1]|0)+(92752+(P<<2))>>0]|0)+1&255;qa=ta+2|0;a[qa>>0]=pa;ra=(d[(b[r+6>>1]|0)+(92752+(P<<2))>>0]|0)+1&255;l=ta+3|0;a[l>>0]=ra;sa=e+72|0;jc[c[sa>>2]&255](j,m,Q,R,ta);a[ta>>0]=na;a[i>>0]=oa;a[qa>>0]=pa;a[l>>0]=ra;jc[c[sa>>2]&255](k,m,Q,R,ta);break}}while(0);g=m<<2;if(n)break;l=(d[92752+(o<<2)+3>>0]|0)+1&255;sa=e+72|0;jv(ta|0,l|0,4)|0;jc[c[sa>>2]&255](j+g|0,m,p,h,ta);jv(ta|0,l|0,4)|0;jc[c[sa>>2]&255](k+g|0,m,p,h,ta);e=m<<3;jv(ta|0,l|0,4)|0;jc[c[sa>>2]&255](j+e|0,m,p,h,ta);jv(ta|0,l|0,4)|0;jc[c[sa>>2]&255](k+e|0,m,p,h,ta);e=m*12|0;jv(ta|0,l|0,4)|0;jc[c[sa>>2]&255](j+e|0,m,p,h,ta);jv(ta|0,l|0,4)|0;jc[c[sa>>2]&255](k+e|0,m,p,h,ta);break}else{if(f?(pa=V+ra|0,G=d[92592+pa>>0]|0,l=V+sa|0,I=d[92432+l>>0]|0,!(pa>>>0<68|l>>>0<68)):0){l=e+88|0;hc[c[l>>2]&255](j,m,G,I);hc[c[l>>2]&255](k,m,G,I)}g=4<<ga;o=ra+qa|0;p=d[92592+o>>0]|0;n=sa+qa|0;h=d[92432+n>>0]|0;n=o>>>0<68|n>>>0<68;if(!n){qa=(d[92752+(o<<2)+3>>0]|0)+1&255;l=e+76|0;jv(ta|0,qa|0,4)|0;jc[c[l>>2]&255](j+g|0,m,p,h,ta);jv(ta|0,qa|0,4)|0;jc[c[l>>2]&255](k+g|0,m,p,h,ta)}do if(la|0?(S=ma+ra|0,T=d[92592+S>>0]|0,sa=ma+sa|0,U=d[92432+sa>>0]|0,!(S>>>0<68|sa>>>0<68)):0){g=b[r>>1]|0;if(g<<16>>16>3){sa=e+84|0;hc[c[sa>>2]&255](j,m,T,U);hc[c[sa>>2]&255](k,m,T,U);break}else{na=(d[(g<<16>>16)+(92752+(S<<2))>>0]|0)+1&255;a[ta>>0]=na;oa=(d[(b[r+2>>1]|0)+(92752+(S<<2))>>0]|0)+1&255;i=ta+1|0;a[i>>0]=oa;pa=(d[(b[r+4>>1]|0)+(92752+(S<<2))>>0]|0)+1&255;qa=ta+2|0;a[qa>>0]=pa;ra=(d[(b[r+6>>1]|0)+(92752+(S<<2))>>0]|0)+1&255;l=ta+3|0;a[l>>0]=ra;sa=e+72|0;jc[c[sa>>2]&255](j,m,T,U,ta);a[ta>>0]=na;a[i>>0]=oa;a[qa>>0]=pa;a[l>>0]=ra;jc[c[sa>>2]&255](k,m,T,U,ta);break}}while(0);g=m<<2;if(n)break;sa=(d[92752+(o<<2)+3>>0]|0)+1&255;e=e+72|0;jv(ta|0,sa|0,4)|0;jc[c[e>>2]&255](j+g|0,m,p,h,ta);jv(ta|0,sa|0,4)|0;jc[c[e>>2]&255](k+g|0,m,p,h,ta);break}}h=(o|8)+-1&-16;u=h;q=(t&16777216|0)!=0;g=c[f+21856>>2]|0;if(q?!(pa|(g&7|0)!=7):0){p=h;c[p>>2]=131074;c[p+4>>2]=131074;p=u+16|0;c[p>>2]=131074;c[p+4>>2]=131074;p=u+32|0;c[p>>2]=131074;c[p+4>>2]=131074;p=u+48|0;c[p>>2]=131074;c[p+4>>2]=131074;p=4}else{U=0-((t*5|0)>>>5&1)&3|t>>4;p=4-(0-(t>>>3&(g&15|0)==0)&3)|0;pc[r&3](u,f+27824|0,f+28272|0,f+27952|0,(c[f+23412>>2]|0)==2&1,p,(t>>24)+1|0,0-((s*5|0)>>>5&1&U>>>1)&3,U,(c[e+26364>>2]|0)!=3&1)}if(s&7|0){U=h;c[U>>2]=262148;c[U+4>>2]=262148}if(la&7|0){T=(c[e+26364>>2]|0)==3;U=u+32|0;c[U>>2]=T?262148:196611;c[U+4>>2]=T?262148:196611}do if(s|0?(U=h,!((c[U>>2]|0)==0&(c[U+4>>2]|0)==0)):0){n=v+ra|0;o=d[92592+n>>0]|0;U=v+sa|0;g=d[92432+U>>0]|0;do if(!(n>>>0<68|U>>>0<68)){h=b[u>>1]|0;if(h<<16>>16>3){hc[c[e+64>>2]&255](i,l,o,g);break}else{a[ta>>0]=a[(h<<16>>16)+(92752+(n<<2))>>0]|0;a[ta+1>>0]=a[(b[u+2>>1]|0)+(92752+(n<<2))>>0]|0;a[ta+2>>0]=a[(b[u+4>>1]|0)+(92752+(n<<2))>>0]|0;a[ta+3>>0]=a[(b[u+6>>1]|0)+(92752+(n<<2))>>0]|0;jc[c[e+52>>2]&255](i,l,o,g,ta);break}}while(0);if(na){n=V+ra|0;o=d[92592+n>>0]|0;g=V+sa|0;h=d[92432+g>>0]|0;g=n>>>0<68|g>>>0<68;if(pa){if(g)break;g=b[u>>1]|0;if(g<<16>>16>3)hc[c[e+64>>2]&255](j,l,o,h);else{a[ta>>0]=a[(g<<16>>16)+(92752+(n<<2))>>0]|0;a[ta+1>>0]=a[(b[u+2>>1]|0)+(92752+(n<<2))>>0]|0;a[ta+2>>0]=a[(b[u+4>>1]|0)+(92752+(n<<2))>>0]|0;a[ta+3>>0]=a[(b[u+6>>1]|0)+(92752+(n<<2))>>0]|0;jc[c[e+52>>2]&255](j,l,o,h,ta)}g=b[u>>1]|0;if(g<<16>>16>3){hc[c[e+64>>2]&255](k,l,o,h);break}else{a[ta>>0]=a[(g<<16>>16)+(92752+(n<<2))>>0]|0;a[ta+1>>0]=a[(b[u+2>>1]|0)+(92752+(n<<2))>>0]|0;a[ta+2>>0]=a[(b[u+4>>1]|0)+(92752+(n<<2))>>0]|0;a[ta+3>>0]=a[(b[u+6>>1]|0)+(92752+(n<<2))>>0]|0;jc[c[e+52>>2]&255](k,l,o,h,ta);break}}else{if(g)break;g=b[u>>1]|0;if(g<<16>>16>3)hc[c[e+88>>2]&255](j,m,o,h);else{a[ta>>0]=(d[(g<<16>>16)+(92752+(n<<2))>>0]|0)+1;a[ta+1>>0]=(d[(b[u+2>>1]|0)+(92752+(n<<2))>>0]|0)+1;a[ta+2>>0]=(d[(b[u+4>>1]|0)+(92752+(n<<2))>>0]|0)+1;a[ta+3>>0]=(d[(b[u+6>>1]|0)+(92752+(n<<2))>>0]|0)+1;jc[c[e+76>>2]&255](j,m,o,h,ta)}g=b[u>>1]|0;if(g<<16>>16>3){hc[c[e+88>>2]&255](k,m,o,h);break}else{a[ta>>0]=(d[(g<<16>>16)+(92752+(n<<2))>>0]|0)+1;a[ta+1>>0]=(d[(b[u+2>>1]|0)+(92752+(n<<2))>>0]|0)+1;a[ta+2>>0]=(d[(b[u+4>>1]|0)+(92752+(n<<2))>>0]|0)+1;a[ta+3>>0]=(d[(b[u+6>>1]|0)+(92752+(n<<2))>>0]|0)+1;jc[c[e+76>>2]&255](k,m,o,h,ta);break}}}}while(0);do if((p|0)==1){if(la|0?(_=u+32|0,qa=_,oa=c[qa>>2]|0,W=oa&65535,!((oa|0)==0&(c[qa+4>>2]|0)==0)):0){h=ka+ra|0;n=d[92592+h>>0]|0;qa=ka+sa|0;g=d[92432+qa>>0]|0;do if(!(h>>>0<68|qa>>>0<68))if(W<<16>>16>3){hc[c[e+60>>2]&255](i,l,n,g);break}else{a[ta>>0]=a[(W<<16>>16)+(92752+(h<<2))>>0]|0;a[ta+1>>0]=a[(b[u+34>>1]|0)+(92752+(h<<2))>>0]|0;a[ta+2>>0]=a[(b[u+36>>1]|0)+(92752+(h<<2))>>0]|0;a[ta+3>>0]=a[(b[u+38>>1]|0)+(92752+(h<<2))>>0]|0;jc[c[e+48>>2]&255](i,l,n,g,ta);break}while(0);if(na){n=ma+ra|0;o=d[92592+n>>0]|0;g=ma+sa|0;h=d[92432+g>>0]|0;g=n>>>0<68|g>>>0<68;if(pa){if(g)break;g=b[_>>1]|0;if(g<<16>>16>3)hc[c[e+60>>2]&255](j,l,o,h);else{a[ta>>0]=a[(g<<16>>16)+(92752+(n<<2))>>0]|0;a[ta+1>>0]=a[(b[u+34>>1]|0)+(92752+(n<<2))>>0]|0;a[ta+2>>0]=a[(b[u+36>>1]|0)+(92752+(n<<2))>>0]|0;a[ta+3>>0]=a[(b[u+38>>1]|0)+(92752+(n<<2))>>0]|0;jc[c[e+48>>2]&255](j,l,o,h,ta)}g=b[_>>1]|0;if(g<<16>>16>3){hc[c[e+60>>2]&255](k,l,o,h);break}else{a[ta>>0]=a[(g<<16>>16)+(92752+(n<<2))>>0]|0;a[ta+1>>0]=a[(b[u+34>>1]|0)+(92752+(n<<2))>>0]|0;a[ta+2>>0]=a[(b[u+36>>1]|0)+(92752+(n<<2))>>0]|0;a[ta+3>>0]=a[(b[u+38>>1]|0)+(92752+(n<<2))>>0]|0;jc[c[e+48>>2]&255](k,l,o,h,ta);break}}else{if(g)break;g=b[_>>1]|0;if(g<<16>>16>3)hc[c[e+84>>2]&255](j,m,o,h);else{a[ta>>0]=(d[(g<<16>>16)+(92752+(n<<2))>>0]|0)+1;a[ta+1>>0]=(d[(b[u+34>>1]|0)+(92752+(n<<2))>>0]|0)+1;a[ta+2>>0]=(d[(b[u+36>>1]|0)+(92752+(n<<2))>>0]|0)+1;a[ta+3>>0]=(d[(b[u+38>>1]|0)+(92752+(n<<2))>>0]|0)+1;jc[c[e+72>>2]&255](j,m,o,h,ta)}g=b[_>>1]|0;if(g<<16>>16>3){hc[c[e+84>>2]&255](k,m,o,h);break}else{a[ta>>0]=(d[(g<<16>>16)+(92752+(n<<2))>>0]|0)+1;a[ta+1>>0]=(d[(b[u+34>>1]|0)+(92752+(n<<2))>>0]|0)+1;a[ta+2>>0]=(d[(b[u+36>>1]|0)+(92752+(n<<2))>>0]|0)+1;a[ta+3>>0]=(d[(b[u+38>>1]|0)+(92752+(n<<2))>>0]|0)+1;jc[c[e+72>>2]&255](k,m,o,h,ta);break}}}}}else{if(q){q=u+16|0;ja=q;o=c[ja>>2]|0;do if(!((o|0)==0&(c[ja+4>>2]|0)==0)){g=1<<ga;p=g<<3;h=ra+oa|0;n=sa+oa|0;if(!(h>>>0<68|n>>>0<68)){ja=d[92432+n>>0]|0;ia=d[92592+h>>0]|0;a[ta>>0]=a[(o<<16>>16)+(92752+(h<<2))>>0]|0;a[ta+1>>0]=a[(b[u+18>>1]|0)+(92752+(h<<2))>>0]|0;a[ta+2>>0]=a[(b[u+20>>1]|0)+(92752+(h<<2))>>0]|0;a[ta+3>>0]=a[(b[u+22>>1]|0)+(92752+(h<<2))>>0]|0;jc[c[e+52>>2]&255](i+p|0,l,ia,ja,ta)}if(na)if(pa){g=ra+qa|0;h=d[92592+g>>0]|0;ja=sa+qa|0;n=d[92432+ja>>0]|0;if(g>>>0<68|ja>>>0<68)break;a[ta>>0]=a[(b[q>>1]|0)+(92752+(g<<2))>>0]|0;da=u+18|0;ea=ta+1|0;a[ea>>0]=a[(b[da>>1]|0)+(92752+(g<<2))>>0]|0;fa=u+20|0;ga=ta+2|0;a[ga>>0]=a[(b[fa>>1]|0)+(92752+(g<<2))>>0]|0;ha=u+22|0;ia=ta+3|0;a[ia>>0]=a[(b[ha>>1]|0)+(92752+(g<<2))>>0]|0;ja=e+52|0;jc[c[ja>>2]&255](j+p|0,l,h,n,ta);a[ta>>0]=a[(b[q>>1]|0)+(92752+(g<<2))>>0]|0;a[ea>>0]=a[(b[da>>1]|0)+(92752+(g<<2))>>0]|0;a[ga>>0]=a[(b[fa>>1]|0)+(92752+(g<<2))>>0]|0;a[ia>>0]=a[(b[ha>>1]|0)+(92752+(g<<2))>>0]|0;jc[c[ja>>2]&255](k+p|0,l,h,n,ta);break}else{g=g<<2;h=ra+qa|0;n=d[92592+h>>0]|0;ja=sa+qa|0;o=d[92432+ja>>0]|0;if(h>>>0<68|ja>>>0<68)break;a[ta>>0]=(d[(b[q>>1]|0)+(92752+(h<<2))>>0]|0)+1;da=u+18|0;ea=ta+1|0;a[ea>>0]=(d[(b[da>>1]|0)+(92752+(h<<2))>>0]|0)+1;fa=u+20|0;ga=ta+2|0;a[ga>>0]=(d[(b[fa>>1]|0)+(92752+(h<<2))>>0]|0)+1;ha=u+22|0;ia=ta+3|0;a[ia>>0]=(d[(b[ha>>1]|0)+(92752+(h<<2))>>0]|0)+1;ja=e+76|0;jc[c[ja>>2]&255](j+g|0,m,n,o,ta);a[ta>>0]=(d[(b[q>>1]|0)+(92752+(h<<2))>>0]|0)+1;a[ea>>0]=(d[(b[da>>1]|0)+(92752+(h<<2))>>0]|0)+1;a[ga>>0]=(d[(b[fa>>1]|0)+(92752+(h<<2))>>0]|0)+1;a[ia>>0]=(d[(b[ha>>1]|0)+(92752+(h<<2))>>0]|0)+1;jc[c[ja>>2]&255](k+g|0,m,n,o,ta);break}}while(0);do if(la|0?(aa=u+32|0,la=aa,ja=c[la>>2]|0,$=ja&65535,!((ja|0)==0&(c[la+4>>2]|0)==0)):0){h=ka+ra|0;n=d[92592+h>>0]|0;la=ka+sa|0;g=d[92432+la>>0]|0;do if(!(h>>>0<68|la>>>0<68))if($<<16>>16>3){hc[c[e+60>>2]&255](i,l,n,g);break}else{a[ta>>0]=a[($<<16>>16)+(92752+(h<<2))>>0]|0;a[ta+1>>0]=a[(b[u+34>>1]|0)+(92752+(h<<2))>>0]|0;a[ta+2>>0]=a[(b[u+36>>1]|0)+(92752+(h<<2))>>0]|0;a[ta+3>>0]=a[(b[u+38>>1]|0)+(92752+(h<<2))>>0]|0;jc[c[e+48>>2]&255](i,l,n,g,ta);break}while(0);if(na){n=ma+ra|0;o=d[92592+n>>0]|0;g=ma+sa|0;h=d[92432+g>>0]|0;g=n>>>0<68|g>>>0<68;if(pa){if(g)break;g=b[aa>>1]|0;if(g<<16>>16>3)hc[c[e+60>>2]&255](j,l,o,h);else{a[ta>>0]=a[(g<<16>>16)+(92752+(n<<2))>>0]|0;a[ta+1>>0]=a[(b[u+34>>1]|0)+(92752+(n<<2))>>0]|0;a[ta+2>>0]=a[(b[u+36>>1]|0)+(92752+(n<<2))>>0]|0;a[ta+3>>0]=a[(b[u+38>>1]|0)+(92752+(n<<2))>>0]|0;jc[c[e+48>>2]&255](j,l,o,h,ta)}g=b[aa>>1]|0;if(g<<16>>16>3){hc[c[e+60>>2]&255](k,l,o,h);break}else{a[ta>>0]=a[(g<<16>>16)+(92752+(n<<2))>>0]|0;a[ta+1>>0]=a[(b[u+34>>1]|0)+(92752+(n<<2))>>0]|0;a[ta+2>>0]=a[(b[u+36>>1]|0)+(92752+(n<<2))>>0]|0;a[ta+3>>0]=a[(b[u+38>>1]|0)+(92752+(n<<2))>>0]|0;jc[c[e+48>>2]&255](k,l,o,h,ta);break}}else{if(g)break;g=b[aa>>1]|0;if(g<<16>>16>3)hc[c[e+84>>2]&255](j,m,o,h);else{a[ta>>0]=(d[(g<<16>>16)+(92752+(n<<2))>>0]|0)+1;a[ta+1>>0]=(d[(b[u+34>>1]|0)+(92752+(n<<2))>>0]|0)+1;a[ta+2>>0]=(d[(b[u+36>>1]|0)+(92752+(n<<2))>>0]|0)+1;a[ta+3>>0]=(d[(b[u+38>>1]|0)+(92752+(n<<2))>>0]|0)+1;jc[c[e+72>>2]&255](j,m,o,h,ta)}g=b[aa>>1]|0;if(g<<16>>16>3){hc[c[e+84>>2]&255](k,m,o,h);break}else{a[ta>>0]=(d[(g<<16>>16)+(92752+(n<<2))>>0]|0)+1;a[ta+1>>0]=(d[(b[u+34>>1]|0)+(92752+(n<<2))>>0]|0)+1;a[ta+2>>0]=(d[(b[u+36>>1]|0)+(92752+(n<<2))>>0]|0)+1;a[ta+3>>0]=(d[(b[u+38>>1]|0)+(92752+(n<<2))>>0]|0)+1;jc[c[e+72>>2]&255](k,m,o,h,ta);break}}}}while(0);p=u+48|0;ma=p;h=c[ma>>2]|0;if((h|0)==0&(c[ma+4>>2]|0)==0)break;o=l<<3;n=ra+oa|0;g=sa+oa|0;if(!(n>>>0<68|g>>>0<68)){oa=d[92432+g>>0]|0;ma=d[92592+n>>0]|0;a[ta>>0]=a[(h<<16>>16)+(92752+(n<<2))>>0]|0;a[ta+1>>0]=a[(b[u+50>>1]|0)+(92752+(n<<2))>>0]|0;a[ta+2>>0]=a[(b[u+52>>1]|0)+(92752+(n<<2))>>0]|0;a[ta+3>>0]=a[(b[u+54>>1]|0)+(92752+(n<<2))>>0]|0;jc[c[e+48>>2]&255](i+o|0,l,ma,oa,ta)}if(!na)break;if(pa){h=ra+qa|0;n=d[92592+h>>0]|0;sa=sa+qa|0;g=d[92432+sa>>0]|0;if(h>>>0<68|sa>>>0<68)break;a[ta>>0]=a[(b[p>>1]|0)+(92752+(h<<2))>>0]|0;i=u+50|0;pa=ta+1|0;a[pa>>0]=a[(b[i>>1]|0)+(92752+(h<<2))>>0]|0;qa=u+52|0;m=ta+2|0;a[m>>0]=a[(b[qa>>1]|0)+(92752+(h<<2))>>0]|0;ra=u+54|0;sa=ta+3|0;a[sa>>0]=a[(b[ra>>1]|0)+(92752+(h<<2))>>0]|0;e=e+48|0;jc[c[e>>2]&255](j+o|0,l,n,g,ta);a[ta>>0]=a[(b[p>>1]|0)+(92752+(h<<2))>>0]|0;a[pa>>0]=a[(b[i>>1]|0)+(92752+(h<<2))>>0]|0;a[m>>0]=a[(b[qa>>1]|0)+(92752+(h<<2))>>0]|0;a[sa>>0]=a[(b[ra>>1]|0)+(92752+(h<<2))>>0]|0;jc[c[e>>2]&255](k+o|0,l,n,g,ta);break}else{o=m<<2;h=ra+qa|0;n=d[92592+h>>0]|0;sa=sa+qa|0;g=d[92432+sa>>0]|0;if(h>>>0<68|sa>>>0<68)break;a[ta>>0]=(d[(b[p>>1]|0)+(92752+(h<<2))>>0]|0)+1;i=u+50|0;pa=ta+1|0;a[pa>>0]=(d[(b[i>>1]|0)+(92752+(h<<2))>>0]|0)+1;qa=u+52|0;ra=ta+2|0;a[ra>>0]=(d[(b[qa>>1]|0)+(92752+(h<<2))>>0]|0)+1;l=u+54|0;sa=ta+3|0;a[sa>>0]=(d[(b[l>>1]|0)+(92752+(h<<2))>>0]|0)+1;e=e+72|0;jc[c[e>>2]&255](j+o|0,m,n,g,ta);a[ta>>0]=(d[(b[p>>1]|0)+(92752+(h<<2))>>0]|0)+1;a[pa>>0]=(d[(b[i>>1]|0)+(92752+(h<<2))>>0]|0)+1;a[ra>>0]=(d[(b[qa>>1]|0)+(92752+(h<<2))>>0]|0)+1;a[sa>>0]=(d[(b[l>>1]|0)+(92752+(h<<2))>>0]|0)+1;jc[c[e>>2]&255](k+o|0,m,n,g,ta);break}}g=u+8|0;aa=g;h=c[aa>>2]|0;if(!((h|0)==0&(c[aa+4>>2]|0)==0)){n=4<<ga;o=ra+oa|0;p=sa+oa|0;if(!(o>>>0<68|p>>>0<68)){aa=d[92432+p>>0]|0;$=d[92592+o>>0]|0;a[ta>>0]=a[(h<<16>>16)+(92752+(o<<2))>>0]|0;a[ta+1>>0]=a[(b[u+10>>1]|0)+(92752+(o<<2))>>0]|0;a[ta+2>>0]=a[(b[u+12>>1]|0)+(92752+(o<<2))>>0]|0;a[ta+3>>0]=a[(b[u+14>>1]|0)+(92752+(o<<2))>>0]|0;jc[c[e+52>>2]&255](i+n|0,l,$,aa,ta)}if(pa?(X=ra+qa|0,Y=d[92592+X>>0]|0,aa=sa+qa|0,Z=d[92432+aa>>0]|0,!(X>>>0<68|aa>>>0<68)):0){a[ta>>0]=a[(b[g>>1]|0)+(92752+(X<<2))>>0]|0;T=u+10|0;U=ta+1|0;a[U>>0]=a[(b[T>>1]|0)+(92752+(X<<2))>>0]|0;V=u+12|0;W=ta+2|0;a[W>>0]=a[(b[V>>1]|0)+(92752+(X<<2))>>0]|0;_=u+14|0;$=ta+3|0;a[$>>0]=a[(b[_>>1]|0)+(92752+(X<<2))>>0]|0;aa=e+52|0;jc[c[aa>>2]&255](j+n|0,l,Y,Z,ta);a[ta>>0]=a[(b[g>>1]|0)+(92752+(X<<2))>>0]|0;a[U>>0]=a[(b[T>>1]|0)+(92752+(X<<2))>>0]|0;a[W>>0]=a[(b[V>>1]|0)+(92752+(X<<2))>>0]|0;a[$>>0]=a[(b[_>>1]|0)+(92752+(X<<2))>>0]|0;jc[c[aa>>2]&255](k+n|0,l,Y,Z,ta)}}q=u+16|0;aa=q;g=c[aa>>2]|0;do if(!((g|0)==0&(c[aa+4>>2]|0)==0)){h=1<<ga;p=h<<3;n=ra+oa|0;o=sa+oa|0;if(!(n>>>0<68|o>>>0<68)){aa=d[92432+o>>0]|0;$=d[92592+n>>0]|0;a[ta>>0]=a[(g<<16>>16)+(92752+(n<<2))>>0]|0;a[ta+1>>0]=a[(b[u+18>>1]|0)+(92752+(n<<2))>>0]|0;a[ta+2>>0]=a[(b[u+20>>1]|0)+(92752+(n<<2))>>0]|0;a[ta+3>>0]=a[(b[u+22>>1]|0)+(92752+(n<<2))>>0]|0;jc[c[e+52>>2]&255](i+p|0,l,$,aa,ta)}if(na)if(pa){g=ra+qa|0;h=d[92592+g>>0]|0;aa=sa+qa|0;n=d[92432+aa>>0]|0;if(g>>>0<68|aa>>>0<68)break;a[ta>>0]=a[(b[q>>1]|0)+(92752+(g<<2))>>0]|0;W=u+18|0;X=ta+1|0;a[X>>0]=a[(b[W>>1]|0)+(92752+(g<<2))>>0]|0;Y=u+20|0;Z=ta+2|0;a[Z>>0]=a[(b[Y>>1]|0)+(92752+(g<<2))>>0]|0;_=u+22|0;$=ta+3|0;a[$>>0]=a[(b[_>>1]|0)+(92752+(g<<2))>>0]|0;aa=e+52|0;jc[c[aa>>2]&255](j+p|0,l,h,n,ta);a[ta>>0]=a[(b[q>>1]|0)+(92752+(g<<2))>>0]|0;a[X>>0]=a[(b[W>>1]|0)+(92752+(g<<2))>>0]|0;a[Z>>0]=a[(b[Y>>1]|0)+(92752+(g<<2))>>0]|0;a[$>>0]=a[(b[_>>1]|0)+(92752+(g<<2))>>0]|0;jc[c[aa>>2]&255](k+p|0,l,h,n,ta);break}else{g=h<<2;h=ra+qa|0;n=d[92592+h>>0]|0;aa=sa+qa|0;o=d[92432+aa>>0]|0;if(h>>>0<68|aa>>>0<68)break;a[ta>>0]=(d[(b[q>>1]|0)+(92752+(h<<2))>>0]|0)+1;W=u+18|0;X=ta+1|0;a[X>>0]=(d[(b[W>>1]|0)+(92752+(h<<2))>>0]|0)+1;Y=u+20|0;Z=ta+2|0;a[Z>>0]=(d[(b[Y>>1]|0)+(92752+(h<<2))>>0]|0)+1;_=u+22|0;$=ta+3|0;a[$>>0]=(d[(b[_>>1]|0)+(92752+(h<<2))>>0]|0)+1;aa=e+76|0;jc[c[aa>>2]&255](j+g|0,m,n,o,ta);a[ta>>0]=(d[(b[q>>1]|0)+(92752+(h<<2))>>0]|0)+1;a[X>>0]=(d[(b[W>>1]|0)+(92752+(h<<2))>>0]|0)+1;a[Z>>0]=(d[(b[Y>>1]|0)+(92752+(h<<2))>>0]|0)+1;a[$>>0]=(d[(b[_>>1]|0)+(92752+(h<<2))>>0]|0)+1;jc[c[aa>>2]&255](k+g|0,m,n,o,ta);break}}while(0);o=u+24|0;aa=o;p=c[aa>>2]|0;if(!((p|0)==0&(c[aa+4>>2]|0)==0)){g=12<<ga;h=ra+oa|0;n=sa+oa|0;if(!(h>>>0<68|n>>>0<68)){ga=d[92432+n>>0]|0;aa=d[92592+h>>0]|0;a[ta>>0]=a[(p<<16>>16)+(92752+(h<<2))>>0]|0;a[ta+1>>0]=a[(b[u+26>>1]|0)+(92752+(h<<2))>>0]|0;a[ta+2>>0]=a[(b[u+28>>1]|0)+(92752+(h<<2))>>0]|0;a[ta+3>>0]=a[(b[u+30>>1]|0)+(92752+(h<<2))>>0]|0;jc[c[e+52>>2]&255](i+g|0,l,aa,ga,ta)}if(pa?(ba=ra+qa|0,ca=d[92592+ba>>0]|0,ga=sa+qa|0,da=d[92432+ga>>0]|0,!(ba>>>0<68|ga>>>0<68)):0){a[ta>>0]=a[(b[o>>1]|0)+(92752+(ba<<2))>>0]|0;X=u+26|0;Y=ta+1|0;a[Y>>0]=a[(b[X>>1]|0)+(92752+(ba<<2))>>0]|0;Z=u+28|0;_=ta+2|0;a[_>>0]=a[(b[Z>>1]|0)+(92752+(ba<<2))>>0]|0;$=u+30|0;aa=ta+3|0;a[aa>>0]=a[(b[$>>1]|0)+(92752+(ba<<2))>>0]|0;ga=e+52|0;jc[c[ga>>2]&255](j+g|0,l,ca,da,ta);a[ta>>0]=a[(b[o>>1]|0)+(92752+(ba<<2))>>0]|0;a[Y>>0]=a[(b[X>>1]|0)+(92752+(ba<<2))>>0]|0;a[_>>0]=a[(b[Z>>1]|0)+(92752+(ba<<2))>>0]|0;a[aa>>0]=a[(b[$>>1]|0)+(92752+(ba<<2))>>0]|0;jc[c[ga>>2]&255](k+g|0,l,ca,da,ta)}}do if(la|0?(fa=u+32|0,la=fa,ga=c[la>>2]|0,ea=ga&65535,!((ga|0)==0&(c[la+4>>2]|0)==0)):0){h=ka+ra|0;n=d[92592+h>>0]|0;la=ka+sa|0;g=d[92432+la>>0]|0;do if(!(h>>>0<68|la>>>0<68))if(ea<<16>>16>3){hc[c[e+60>>2]&255](i,l,n,g);break}else{a[ta>>0]=a[(ea<<16>>16)+(92752+(h<<2))>>0]|0;a[ta+1>>0]=a[(b[u+34>>1]|0)+(92752+(h<<2))>>0]|0;a[ta+2>>0]=a[(b[u+36>>1]|0)+(92752+(h<<2))>>0]|0;a[ta+3>>0]=a[(b[u+38>>1]|0)+(92752+(h<<2))>>0]|0;jc[c[e+48>>2]&255](i,l,n,g,ta);break}while(0);if(na){n=ma+ra|0;o=d[92592+n>>0]|0;g=ma+sa|0;h=d[92432+g>>0]|0;g=n>>>0<68|g>>>0<68;if(pa){if(g)break;g=b[fa>>1]|0;if(g<<16>>16>3)hc[c[e+60>>2]&255](j,l,o,h);else{a[ta>>0]=a[(g<<16>>16)+(92752+(n<<2))>>0]|0;a[ta+1>>0]=a[(b[u+34>>1]|0)+(92752+(n<<2))>>0]|0;a[ta+2>>0]=a[(b[u+36>>1]|0)+(92752+(n<<2))>>0]|0;a[ta+3>>0]=a[(b[u+38>>1]|0)+(92752+(n<<2))>>0]|0;jc[c[e+48>>2]&255](j,l,o,h,ta)}g=b[fa>>1]|0;if(g<<16>>16>3){hc[c[e+60>>2]&255](k,l,o,h);break}else{a[ta>>0]=a[(g<<16>>16)+(92752+(n<<2))>>0]|0;a[ta+1>>0]=a[(b[u+34>>1]|0)+(92752+(n<<2))>>0]|0;a[ta+2>>0]=a[(b[u+36>>1]|0)+(92752+(n<<2))>>0]|0;a[ta+3>>0]=a[(b[u+38>>1]|0)+(92752+(n<<2))>>0]|0;jc[c[e+48>>2]&255](k,l,o,h,ta);break}}else{if(g)break;g=b[fa>>1]|0;if(g<<16>>16>3)hc[c[e+84>>2]&255](j,m,o,h);else{a[ta>>0]=(d[(g<<16>>16)+(92752+(n<<2))>>0]|0)+1;a[ta+1>>0]=(d[(b[u+34>>1]|0)+(92752+(n<<2))>>0]|0)+1;a[ta+2>>0]=(d[(b[u+36>>1]|0)+(92752+(n<<2))>>0]|0)+1;a[ta+3>>0]=(d[(b[u+38>>1]|0)+(92752+(n<<2))>>0]|0)+1;jc[c[e+72>>2]&255](j,m,o,h,ta)}g=b[fa>>1]|0;if(g<<16>>16>3){hc[c[e+84>>2]&255](k,m,o,h);break}else{a[ta>>0]=(d[(g<<16>>16)+(92752+(n<<2))>>0]|0)+1;a[ta+1>>0]=(d[(b[u+34>>1]|0)+(92752+(n<<2))>>0]|0)+1;a[ta+2>>0]=(d[(b[u+36>>1]|0)+(92752+(n<<2))>>0]|0)+1;a[ta+3>>0]=(d[(b[u+38>>1]|0)+(92752+(n<<2))>>0]|0)+1;jc[c[e+72>>2]&255](k,m,o,h,ta);break}}}}while(0);g=u+40|0;ma=g;h=c[ma>>2]|0;if(!((h|0)==0&(c[ma+4>>2]|0)==0)){n=l<<2;o=ra+oa|0;p=sa+oa|0;if(!(o>>>0<68|p>>>0<68)){ma=d[92432+p>>0]|0;la=d[92592+o>>0]|0;a[ta>>0]=a[(h<<16>>16)+(92752+(o<<2))>>0]|0;a[ta+1>>0]=a[(b[u+42>>1]|0)+(92752+(o<<2))>>0]|0;a[ta+2>>0]=a[(b[u+44>>1]|0)+(92752+(o<<2))>>0]|0;a[ta+3>>0]=a[(b[u+46>>1]|0)+(92752+(o<<2))>>0]|0;jc[c[e+48>>2]&255](i+n|0,l,la,ma,ta)}if(pa?(ha=ra+qa|0,ia=d[92592+ha>>0]|0,ma=sa+qa|0,ja=d[92432+ma>>0]|0,!(ha>>>0<68|ma>>>0<68)):0){a[ta>>0]=a[(b[g>>1]|0)+(92752+(ha<<2))>>0]|0;da=u+42|0;ea=ta+1|0;a[ea>>0]=a[(b[da>>1]|0)+(92752+(ha<<2))>>0]|0;fa=u+44|0;ga=ta+2|0;a[ga>>0]=a[(b[fa>>1]|0)+(92752+(ha<<2))>>0]|0;ka=u+46|0;la=ta+3|0;a[la>>0]=a[(b[ka>>1]|0)+(92752+(ha<<2))>>0]|0;ma=e+48|0;jc[c[ma>>2]&255](j+n|0,l,ia,ja,ta);a[ta>>0]=a[(b[g>>1]|0)+(92752+(ha<<2))>>0]|0;a[ea>>0]=a[(b[da>>1]|0)+(92752+(ha<<2))>>0]|0;a[ga>>0]=a[(b[fa>>1]|0)+(92752+(ha<<2))>>0]|0;a[la>>0]=a[(b[ka>>1]|0)+(92752+(ha<<2))>>0]|0;jc[c[ma>>2]&255](k+n|0,l,ia,ja,ta)}}p=u+48|0;ma=p;g=c[ma>>2]|0;do if(!((g|0)==0&(c[ma+4>>2]|0)==0)){o=l<<3;h=ra+oa|0;n=sa+oa|0;if(!(h>>>0<68|n>>>0<68)){ma=d[92432+n>>0]|0;la=d[92592+h>>0]|0;a[ta>>0]=a[(g<<16>>16)+(92752+(h<<2))>>0]|0;a[ta+1>>0]=a[(b[u+50>>1]|0)+(92752+(h<<2))>>0]|0;a[ta+2>>0]=a[(b[u+52>>1]|0)+(92752+(h<<2))>>0]|0;a[ta+3>>0]=a[(b[u+54>>1]|0)+(92752+(h<<2))>>0]|0;jc[c[e+48>>2]&255](i+o|0,l,la,ma,ta)}if(na)if(pa){g=ra+qa|0;h=d[92592+g>>0]|0;m=sa+qa|0;n=d[92432+m>>0]|0;if(g>>>0<68|m>>>0<68)break;a[ta>>0]=a[(b[p>>1]|0)+(92752+(g<<2))>>0]|0;ia=u+50|0;ja=ta+1|0;a[ja>>0]=a[(b[ia>>1]|0)+(92752+(g<<2))>>0]|0;ka=u+52|0;la=ta+2|0;a[la>>0]=a[(b[ka>>1]|0)+(92752+(g<<2))>>0]|0;ma=u+54|0;na=ta+3|0;a[na>>0]=a[(b[ma>>1]|0)+(92752+(g<<2))>>0]|0;m=e+48|0;jc[c[m>>2]&255](j+o|0,l,h,n,ta);a[ta>>0]=a[(b[p>>1]|0)+(92752+(g<<2))>>0]|0;a[ja>>0]=a[(b[ia>>1]|0)+(92752+(g<<2))>>0]|0;a[la>>0]=a[(b[ka>>1]|0)+(92752+(g<<2))>>0]|0;a[na>>0]=a[(b[ma>>1]|0)+(92752+(g<<2))>>0]|0;jc[c[m>>2]&255](k+o|0,l,h,n,ta);break}else{g=m<<2;h=ra+qa|0;n=d[92592+h>>0]|0;na=sa+qa|0;o=d[92432+na>>0]|0;if(h>>>0<68|na>>>0<68)break;a[ta>>0]=(d[(b[p>>1]|0)+(92752+(h<<2))>>0]|0)+1;ha=u+50|0;ia=ta+1|0;a[ia>>0]=(d[(b[ha>>1]|0)+(92752+(h<<2))>>0]|0)+1;ja=u+52|0;ka=ta+2|0;a[ka>>0]=(d[(b[ja>>1]|0)+(92752+(h<<2))>>0]|0)+1;la=u+54|0;ma=ta+3|0;a[ma>>0]=(d[(b[la>>1]|0)+(92752+(h<<2))>>0]|0)+1;na=e+72|0;jc[c[na>>2]&255](j+g|0,m,n,o,ta);a[ta>>0]=(d[(b[p>>1]|0)+(92752+(h<<2))>>0]|0)+1;a[ia>>0]=(d[(b[ha>>1]|0)+(92752+(h<<2))>>0]|0)+1;a[ka>>0]=(d[(b[ja>>1]|0)+(92752+(h<<2))>>0]|0)+1;a[ma>>0]=(d[(b[la>>1]|0)+(92752+(h<<2))>>0]|0)+1;jc[c[na>>2]&255](k+g|0,m,n,o,ta);break}}while(0);o=u+56|0;m=o;h=c[m>>2]|0;if(!((h|0)==0&(c[m+4>>2]|0)==0)){p=l*12|0;n=ra+oa|0;g=sa+oa|0;if(!(n>>>0<68|g>>>0<68)){m=d[92432+g>>0]|0;oa=d[92592+n>>0]|0;a[ta>>0]=a[(h<<16>>16)+(92752+(n<<2))>>0]|0;a[ta+1>>0]=a[(b[u+58>>1]|0)+(92752+(n<<2))>>0]|0;a[ta+2>>0]=a[(b[u+60>>1]|0)+(92752+(n<<2))>>0]|0;a[ta+3>>0]=a[(b[u+62>>1]|0)+(92752+(n<<2))>>0]|0;jc[c[e+48>>2]&255](i+p|0,l,oa,m,ta)}if(pa){h=ra+qa|0;n=d[92592+h>>0]|0;sa=sa+qa|0;g=d[92432+sa>>0]|0;if(h>>>0<68|sa>>>0<68)break;a[ta>>0]=a[(b[o>>1]|0)+(92752+(h<<2))>>0]|0;i=u+58|0;pa=ta+1|0;a[pa>>0]=a[(b[i>>1]|0)+(92752+(h<<2))>>0]|0;qa=u+60|0;m=ta+2|0;a[m>>0]=a[(b[qa>>1]|0)+(92752+(h<<2))>>0]|0;ra=u+62|0;sa=ta+3|0;a[sa>>0]=a[(b[ra>>1]|0)+(92752+(h<<2))>>0]|0;e=e+48|0;jc[c[e>>2]&255](j+p|0,l,n,g,ta);a[ta>>0]=a[(b[o>>1]|0)+(92752+(h<<2))>>0]|0;a[pa>>0]=a[(b[i>>1]|0)+(92752+(h<<2))>>0]|0;a[m>>0]=a[(b[qa>>1]|0)+(92752+(h<<2))>>0]|0;a[sa>>0]=a[(b[ra>>1]|0)+(92752+(h<<2))>>0]|0;jc[c[e>>2]&255](k+p|0,l,n,g,ta)}}}while(0)}else ua=3;while(0);if((ua|0)==3)wc(e,f,g,h,i,j,k,l,m);Mb=va;return}function wc(f,g,h,i,j,k,l,m,n){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;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0;Qa=Mb;Mb=Mb+32|0;Oa=Qa+24|0;A=Qa;La=f+27e3|0;Ca=(H(c[La>>2]|0,i)|0)+h|0;Da=f+24364|0;Ea=c[(c[Da>>2]|0)+(Ca<<2)>>2]|0;Fa=(Ea>>>6&2^2)+2|0;Ga=f+28200|0;Ja=c[Ga>>2]|0;Ha=(c[Ja+12>>2]|0)!=0;Ja=(H(c[Ja+1184>>2]|0,-6)|0)+48|0;Ia=(c[g+872>>2]|0)+52+Ja|0;Ja=(c[g+876>>2]|0)+52+Ja|0;Ka=f+26360|0;Ba=g+21740|0;if((c[Ka>>2]|0)!=0?(Aa=c[Ba>>2]|0,!((Aa|0)==0|((Aa^Ea)&128|0)==0)):0){h=(A|8)+-1&-16;z=h;a:do if(!(Ea&7)){v=c[g+21828>>2]|0;r=i&1;s=(v|0)!=0;h=f+28196|0;t=f+25956|0;u=f+26376|0;q=0;while(1){if((q|0)==8){o=v;break a}p=s?q>>>2:q&1;o=c[g+21720+(p<<2)>>2]|0;p=c[g+21740+(p<<2)>>2]|0;if(!(p&7)){if((p&16777216|0)==0?1:(c[(c[h>>2]|0)+4>>2]|0)!=0)o=d[(d[93376+(v<<4)+(r<<3)+q>>0]|0)+((c[t>>2]|0)+(o*48|0))>>0]|0;else o=(((s?q&2:r)|0)==0?8192:32768)&e[(c[u>>2]|0)+(o<<1)>>1];o=(o|d[(q>>>1<<3)+12+(g+27824)>>0]|0)==0?1:2}else o=4;b[z+(q<<1)>>1]=o;q=q+1|0}}else{c[h>>2]=262148;c[h+4>>2]=262148;h=z+8|0;c[h>>2]=262148;c[h+4>>2]=262148;h=f+28196|0;o=c[g+21828>>2]|0}while(0);y=c[f+24340>>2]|0;za=a[y+Ca>>0]|0;x=a[y+(c[g+21720>>2]|0)>>0]|0;y=a[y+(c[g+21724>>2]|0)>>0]|0;t=za+1|0;Aa=c[h>>2]|0;w=(d[Aa+548+za>>0]|0)+1|0;za=(d[Aa+636+za>>0]|0)+1|0;h=t+x>>1;u=(w+(d[Aa+548+x>>0]|0)|0)>>>1;x=(za+(d[Aa+636+x>>0]|0)|0)>>>1;t=t+y>>1;w=(w+(d[Aa+548+y>>0]|0)|0)>>>1;y=(za+(d[Aa+636+y>>0]|0)|0)>>>1;do if(!o){s=m<<1;p=h+Ia|0;q=d[92592+p>>0]|0;Aa=h+Ja|0;h=d[92432+Aa>>0]|0;do if(!(p>>>0<68|Aa>>>0<68)){o=b[z>>1]|0;if(o<<16>>16>3){hc[c[f+68>>2]&255](j,s,q,h);break}else{a[Oa>>0]=a[(o<<16>>16)+(92752+(p<<2))>>0]|0;a[Oa+1>>0]=a[(b[z+4>>1]|0)+(92752+(p<<2))>>0]|0;a[Oa+2>>0]=a[(b[z+8>>1]|0)+(92752+(p<<2))>>0]|0;a[Oa+3>>0]=a[(b[z+12>>1]|0)+(92752+(p<<2))>>0]|0;jc[c[f+56>>2]&255](j,s,q,h,Oa);break}}while(0);p=j+m|0;v=z+2|0;q=t+Ia|0;r=d[92592+q>>0]|0;Aa=t+Ja|0;h=d[92432+Aa>>0]|0;do if(!(q>>>0<68|Aa>>>0<68)){o=b[v>>1]|0;if(o<<16>>16>3){hc[c[f+68>>2]&255](p,s,r,h);break}else{a[Oa>>0]=a[(o<<16>>16)+(92752+(q<<2))>>0]|0;a[Oa+1>>0]=a[(b[z+6>>1]|0)+(92752+(q<<2))>>0]|0;a[Oa+2>>0]=a[(b[z+10>>1]|0)+(92752+(q<<2))>>0]|0;a[Oa+3>>0]=a[(b[z+14>>1]|0)+(92752+(q<<2))>>0]|0;jc[c[f+56>>2]&255](p,s,r,h,Oa);break}}while(0);if(Ha){s=n<<1;p=u+Ia|0;q=d[92592+p>>0]|0;h=u+Ja|0;o=d[92432+h>>0]|0;h=p>>>0<68|h>>>0<68;if((c[(c[Ga>>2]|0)+12>>2]|0)==3){do if(!h){h=b[z>>1]|0;if(h<<16>>16>3){hc[c[f+68>>2]&255](k,s,q,o);break}else{a[Oa>>0]=a[(h<<16>>16)+(92752+(p<<2))>>0]|0;a[Oa+1>>0]=a[(b[z+4>>1]|0)+(92752+(p<<2))>>0]|0;a[Oa+2>>0]=a[(b[z+8>>1]|0)+(92752+(p<<2))>>0]|0;a[Oa+3>>0]=a[(b[z+12>>1]|0)+(92752+(p<<2))>>0]|0;jc[c[f+56>>2]&255](k,s,q,o,Oa);break}}while(0);p=k+n|0;q=w+Ia|0;r=d[92592+q>>0]|0;Aa=w+Ja|0;h=d[92432+Aa>>0]|0;do if(!(q>>>0<68|Aa>>>0<68)){o=b[v>>1]|0;if(o<<16>>16>3){hc[c[f+68>>2]&255](p,s,r,h);break}else{a[Oa>>0]=a[(o<<16>>16)+(92752+(q<<2))>>0]|0;a[Oa+1>>0]=a[(b[z+6>>1]|0)+(92752+(q<<2))>>0]|0;a[Oa+2>>0]=a[(b[z+10>>1]|0)+(92752+(q<<2))>>0]|0;a[Oa+3>>0]=a[(b[z+14>>1]|0)+(92752+(q<<2))>>0]|0;jc[c[f+56>>2]&255](p,s,r,h,Oa);break}}while(0);p=x+Ia|0;q=d[92592+p>>0]|0;Aa=x+Ja|0;h=d[92432+Aa>>0]|0;do if(!(p>>>0<68|Aa>>>0<68)){o=b[z>>1]|0;if(o<<16>>16>3){hc[c[f+68>>2]&255](l,s,q,h);break}else{a[Oa>>0]=a[(o<<16>>16)+(92752+(p<<2))>>0]|0;a[Oa+1>>0]=a[(b[z+4>>1]|0)+(92752+(p<<2))>>0]|0;a[Oa+2>>0]=a[(b[z+8>>1]|0)+(92752+(p<<2))>>0]|0;a[Oa+3>>0]=a[(b[z+12>>1]|0)+(92752+(p<<2))>>0]|0;jc[c[f+56>>2]&255](l,s,q,h,Oa);break}}while(0);p=l+n|0;q=y+Ia|0;r=d[92592+q>>0]|0;Aa=y+Ja|0;o=d[92432+Aa>>0]|0;if(q>>>0<68|Aa>>>0<68)break;h=b[v>>1]|0;if(h<<16>>16>3){hc[c[f+68>>2]&255](p,s,r,o);break}else{a[Oa>>0]=a[(h<<16>>16)+(92752+(q<<2))>>0]|0;a[Oa+1>>0]=a[(b[z+6>>1]|0)+(92752+(q<<2))>>0]|0;a[Oa+2>>0]=a[(b[z+10>>1]|0)+(92752+(q<<2))>>0]|0;a[Oa+3>>0]=a[(b[z+14>>1]|0)+(92752+(q<<2))>>0]|0;jc[c[f+56>>2]&255](p,s,r,o,Oa);break}}else{do if(!h){h=b[z>>1]|0;if(h<<16>>16>3){hc[c[f+92>>2]&255](k,s,q,o);break}else{a[Oa>>0]=(d[(h<<16>>16)+(92752+(p<<2))>>0]|0)+1;a[Oa+1>>0]=(d[(b[z+4>>1]|0)+(92752+(p<<2))>>0]|0)+1;a[Oa+2>>0]=(d[(b[z+8>>1]|0)+(92752+(p<<2))>>0]|0)+1;a[Oa+3>>0]=(d[(b[z+12>>1]|0)+(92752+(p<<2))>>0]|0)+1;jc[c[f+80>>2]&255](k,s,q,o,Oa);break}}while(0);p=k+n|0;q=w+Ia|0;r=d[92592+q>>0]|0;Aa=w+Ja|0;h=d[92432+Aa>>0]|0;do if(!(q>>>0<68|Aa>>>0<68)){o=b[v>>1]|0;if(o<<16>>16>3){hc[c[f+92>>2]&255](p,s,r,h);break}else{a[Oa>>0]=(d[(o<<16>>16)+(92752+(q<<2))>>0]|0)+1;a[Oa+1>>0]=(d[(b[z+6>>1]|0)+(92752+(q<<2))>>0]|0)+1;a[Oa+2>>0]=(d[(b[z+10>>1]|0)+(92752+(q<<2))>>0]|0)+1;a[Oa+3>>0]=(d[(b[z+14>>1]|0)+(92752+(q<<2))>>0]|0)+1;jc[c[f+80>>2]&255](p,s,r,h,Oa);break}}while(0);p=x+Ia|0;q=d[92592+p>>0]|0;Aa=x+Ja|0;h=d[92432+Aa>>0]|0;do if(!(p>>>0<68|Aa>>>0<68)){o=b[z>>1]|0;if(o<<16>>16>3){hc[c[f+92>>2]&255](l,s,q,h);break}else{a[Oa>>0]=(d[(o<<16>>16)+(92752+(p<<2))>>0]|0)+1;a[Oa+1>>0]=(d[(b[z+4>>1]|0)+(92752+(p<<2))>>0]|0)+1;a[Oa+2>>0]=(d[(b[z+8>>1]|0)+(92752+(p<<2))>>0]|0)+1;a[Oa+3>>0]=(d[(b[z+12>>1]|0)+(92752+(p<<2))>>0]|0)+1;jc[c[f+80>>2]&255](l,s,q,h,Oa);break}}while(0);p=l+n|0;q=y+Ia|0;r=d[92592+q>>0]|0;Aa=y+Ja|0;o=d[92432+Aa>>0]|0;if(q>>>0<68|Aa>>>0<68)break;h=b[v>>1]|0;if(h<<16>>16>3){hc[c[f+92>>2]&255](p,s,r,o);break}else{a[Oa>>0]=(d[(h<<16>>16)+(92752+(q<<2))>>0]|0)+1;a[Oa+1>>0]=(d[(b[z+6>>1]|0)+(92752+(q<<2))>>0]|0)+1;a[Oa+2>>0]=(d[(b[z+10>>1]|0)+(92752+(q<<2))>>0]|0)+1;a[Oa+3>>0]=(d[(b[z+14>>1]|0)+(92752+(q<<2))>>0]|0)+1;jc[c[f+80>>2]&255](p,s,r,o,Oa);break}}}}else{p=h+Ia|0;q=d[92592+p>>0]|0;Aa=h+Ja|0;h=d[92432+Aa>>0]|0;do if(!(p>>>0<68|Aa>>>0<68)){o=b[z>>1]|0;if(o<<16>>16>3){hc[c[f+68>>2]&255](j,m,q,h);break}else{a[Oa>>0]=a[(o<<16>>16)+(92752+(p<<2))>>0]|0;a[Oa+1>>0]=a[(b[z+2>>1]|0)+(92752+(p<<2))>>0]|0;a[Oa+2>>0]=a[(b[z+4>>1]|0)+(92752+(p<<2))>>0]|0;a[Oa+3>>0]=a[(b[z+6>>1]|0)+(92752+(p<<2))>>0]|0;jc[c[f+56>>2]&255](j,m,q,h,Oa);break}}while(0);p=j+(m<<3)|0;v=z+8|0;q=t+Ia|0;r=d[92592+q>>0]|0;Aa=t+Ja|0;h=d[92432+Aa>>0]|0;do if(!(q>>>0<68|Aa>>>0<68)){o=b[v>>1]|0;if(o<<16>>16>3){hc[c[f+68>>2]&255](p,m,r,h);break}else{a[Oa>>0]=a[(o<<16>>16)+(92752+(q<<2))>>0]|0;a[Oa+1>>0]=a[(b[z+10>>1]|0)+(92752+(q<<2))>>0]|0;a[Oa+2>>0]=a[(b[z+12>>1]|0)+(92752+(q<<2))>>0]|0;a[Oa+3>>0]=a[(b[z+14>>1]|0)+(92752+(q<<2))>>0]|0;jc[c[f+56>>2]&255](p,m,r,h,Oa);break}}while(0);if(Ha){h=c[(c[Ga>>2]|0)+12>>2]|0;if((h|0)==3){p=u+Ia|0;q=d[92592+p>>0]|0;Aa=u+Ja|0;h=d[92432+Aa>>0]|0;do if(!(p>>>0<68|Aa>>>0<68)){o=b[z>>1]|0;if(o<<16>>16>3){hc[c[f+68>>2]&255](k,n,q,h);break}else{a[Oa>>0]=a[(o<<16>>16)+(92752+(p<<2))>>0]|0;a[Oa+1>>0]=a[(b[z+2>>1]|0)+(92752+(p<<2))>>0]|0;a[Oa+2>>0]=a[(b[z+4>>1]|0)+(92752+(p<<2))>>0]|0;a[Oa+3>>0]=a[(b[z+6>>1]|0)+(92752+(p<<2))>>0]|0;jc[c[f+56>>2]&255](k,n,q,h,Oa);break}}while(0);s=n<<3;p=k+s|0;q=w+Ia|0;r=d[92592+q>>0]|0;Aa=w+Ja|0;h=d[92432+Aa>>0]|0;do if(!(q>>>0<68|Aa>>>0<68)){o=b[v>>1]|0;if(o<<16>>16>3){hc[c[f+68>>2]&255](p,n,r,h);break}else{a[Oa>>0]=a[(o<<16>>16)+(92752+(q<<2))>>0]|0;a[Oa+1>>0]=a[(b[z+10>>1]|0)+(92752+(q<<2))>>0]|0;a[Oa+2>>0]=a[(b[z+12>>1]|0)+(92752+(q<<2))>>0]|0;a[Oa+3>>0]=a[(b[z+14>>1]|0)+(92752+(q<<2))>>0]|0;jc[c[f+56>>2]&255](p,n,r,h,Oa);break}}while(0);p=x+Ia|0;q=d[92592+p>>0]|0;Aa=x+Ja|0;h=d[92432+Aa>>0]|0;do if(!(p>>>0<68|Aa>>>0<68)){o=b[z>>1]|0;if(o<<16>>16>3){hc[c[f+68>>2]&255](l,n,q,h);break}else{a[Oa>>0]=a[(o<<16>>16)+(92752+(p<<2))>>0]|0;a[Oa+1>>0]=a[(b[z+2>>1]|0)+(92752+(p<<2))>>0]|0;a[Oa+2>>0]=a[(b[z+4>>1]|0)+(92752+(p<<2))>>0]|0;a[Oa+3>>0]=a[(b[z+6>>1]|0)+(92752+(p<<2))>>0]|0;jc[c[f+56>>2]&255](l,n,q,h,Oa);break}}while(0);p=l+s|0;q=y+Ia|0;r=d[92592+q>>0]|0;Aa=y+Ja|0;o=d[92432+Aa>>0]|0;if(q>>>0<68|Aa>>>0<68)break;h=b[v>>1]|0;if(h<<16>>16>3){hc[c[f+68>>2]&255](p,n,r,o);break}else{a[Oa>>0]=a[(h<<16>>16)+(92752+(q<<2))>>0]|0;a[Oa+1>>0]=a[(b[z+10>>1]|0)+(92752+(q<<2))>>0]|0;a[Oa+2>>0]=a[(b[z+12>>1]|0)+(92752+(q<<2))>>0]|0;a[Oa+3>>0]=a[(b[z+14>>1]|0)+(92752+(q<<2))>>0]|0;jc[c[f+56>>2]&255](p,n,r,o,Oa);break}}p=(h|0)==2;q=u+Ia|0;r=d[92592+q>>0]|0;Aa=u+Ja|0;h=d[92432+Aa>>0]|0;do if(!(q>>>0<68|Aa>>>0<68)){o=b[z>>1]|0;if(o<<16>>16>3){hc[c[f+92>>2]&255](k,n,r,h);break}else{a[Oa>>0]=(d[(o<<16>>16)+(92752+(q<<2))>>0]|0)+1;a[Oa+1>>0]=(d[(b[z+2>>1]|0)+(92752+(q<<2))>>0]|0)+1;a[Oa+2>>0]=(d[(b[z+4>>1]|0)+(92752+(q<<2))>>0]|0)+1;a[Oa+3>>0]=(d[(b[z+6>>1]|0)+(92752+(q<<2))>>0]|0)+1;jc[c[f+80>>2]&255](k,n,r,h,Oa);break}}while(0);if(p){s=n<<3;p=k+s|0;q=w+Ia|0;r=d[92592+q>>0]|0;Aa=w+Ja|0;h=d[92432+Aa>>0]|0;do if(!(q>>>0<68|Aa>>>0<68)){o=b[v>>1]|0;if(o<<16>>16>3){hc[c[f+92>>2]&255](p,n,r,h);break}else{a[Oa>>0]=(d[(o<<16>>16)+(92752+(q<<2))>>0]|0)+1;a[Oa+1>>0]=(d[(b[z+10>>1]|0)+(92752+(q<<2))>>0]|0)+1;a[Oa+2>>0]=(d[(b[z+12>>1]|0)+(92752+(q<<2))>>0]|0)+1;a[Oa+3>>0]=(d[(b[z+14>>1]|0)+(92752+(q<<2))>>0]|0)+1;jc[c[f+80>>2]&255](p,n,r,h,Oa);break}}while(0);p=x+Ia|0;q=d[92592+p>>0]|0;Aa=x+Ja|0;h=d[92432+Aa>>0]|0;do if(!(p>>>0<68|Aa>>>0<68)){o=b[z>>1]|0;if(o<<16>>16>3){hc[c[f+92>>2]&255](l,n,q,h);break}else{a[Oa>>0]=(d[(o<<16>>16)+(92752+(p<<2))>>0]|0)+1;a[Oa+1>>0]=(d[(b[z+2>>1]|0)+(92752+(p<<2))>>0]|0)+1;a[Oa+2>>0]=(d[(b[z+4>>1]|0)+(92752+(p<<2))>>0]|0)+1;a[Oa+3>>0]=(d[(b[z+6>>1]|0)+(92752+(p<<2))>>0]|0)+1;jc[c[f+80>>2]&255](l,n,q,h,Oa);break}}while(0);p=l+s|0;q=y+Ia|0;r=d[92592+q>>0]|0;Aa=y+Ja|0;o=d[92432+Aa>>0]|0;if(q>>>0<68|Aa>>>0<68)break;h=b[v>>1]|0;if(h<<16>>16>3){hc[c[f+92>>2]&255](p,n,r,o);break}else{a[Oa>>0]=(d[(h<<16>>16)+(92752+(q<<2))>>0]|0)+1;a[Oa+1>>0]=(d[(b[z+10>>1]|0)+(92752+(q<<2))>>0]|0)+1;a[Oa+2>>0]=(d[(b[z+12>>1]|0)+(92752+(q<<2))>>0]|0)+1;a[Oa+3>>0]=(d[(b[z+14>>1]|0)+(92752+(q<<2))>>0]|0)+1;jc[c[f+80>>2]&255](p,n,r,o,Oa);break}}else{s=n<<2;p=k+s|0;q=w+Ia|0;r=d[92592+q>>0]|0;Aa=w+Ja|0;h=d[92432+Aa>>0]|0;do if(!(q>>>0<68|Aa>>>0<68)){o=b[v>>1]|0;if(o<<16>>16>3){hc[c[f+92>>2]&255](p,n,r,h);break}else{a[Oa>>0]=(d[(o<<16>>16)+(92752+(q<<2))>>0]|0)+1;a[Oa+1>>0]=(d[(b[z+10>>1]|0)+(92752+(q<<2))>>0]|0)+1;a[Oa+2>>0]=(d[(b[z+12>>1]|0)+(92752+(q<<2))>>0]|0)+1;a[Oa+3>>0]=(d[(b[z+14>>1]|0)+(92752+(q<<2))>>0]|0)+1;jc[c[f+80>>2]&255](p,n,r,h,Oa);break}}while(0);p=x+Ia|0;q=d[92592+p>>0]|0;Aa=x+Ja|0;h=d[92432+Aa>>0]|0;do if(!(p>>>0<68|Aa>>>0<68)){o=b[z>>1]|0;if(o<<16>>16>3){hc[c[f+92>>2]&255](l,n,q,h);break}else{a[Oa>>0]=(d[(o<<16>>16)+(92752+(p<<2))>>0]|0)+1;a[Oa+1>>0]=(d[(b[z+2>>1]|0)+(92752+(p<<2))>>0]|0)+1;a[Oa+2>>0]=(d[(b[z+4>>1]|0)+(92752+(p<<2))>>0]|0)+1;a[Oa+3>>0]=(d[(b[z+6>>1]|0)+(92752+(p<<2))>>0]|0)+1;jc[c[f+80>>2]&255](l,n,q,h,Oa);break}}while(0);p=l+s|0;q=y+Ia|0;r=d[92592+q>>0]|0;Aa=y+Ja|0;o=d[92432+Aa>>0]|0;if(q>>>0<68|Aa>>>0<68)break;h=b[v>>1]|0;if(h<<16>>16>3){hc[c[f+92>>2]&255](p,n,r,o);break}else{a[Oa>>0]=(d[(h<<16>>16)+(92752+(q<<2))>>0]|0)+1;a[Oa+1>>0]=(d[(b[z+10>>1]|0)+(92752+(q<<2))>>0]|0)+1;a[Oa+2>>0]=(d[(b[z+12>>1]|0)+(92752+(q<<2))>>0]|0)+1;a[Oa+3>>0]=(d[(b[z+14>>1]|0)+(92752+(q<<2))>>0]|0)+1;jc[c[f+80>>2]&255](p,n,r,o,Oa);break}}}}while(0);ca=1}else ca=0;da=Ca+-1|0;ea=g+21732|0;fa=Ea>>>3&7;ga=g+21712|0;ha=g+21856|0;ma=(A|8)+-1&-16;ia=ma;ja=Ea&16777216;ka=(Ea&7|0)==0;la=f+24340|0;na=f+25652|0;oa=ia+6|0;pa=ia+4|0;qa=ia+2|0;ra=Oa+1|0;sa=Oa+2|0;ta=Oa+3|0;ua=f+52|0;va=f+48|0;wa=g+852|0;xa=m<<2;ya=g+856|0;za=f+72|0;Aa=f+76|0;Z=(i&1|0)==0;_=Ea&128^128;U=(A|8)+-1&-16;$=U;aa=m<<1;ba=n<<1;G=(A|8)+-1&-16;E=G;F=f+28196|0;I=f+25956|0;J=f+26376|0;K=g+27836|0;L=g+27837|0;M=E+2|0;N=E+4|0;O=E+6|0;P=g+27838|0;Q=g+27839|0;R=$+2|0;S=$+4|0;T=$+6|0;V=f+26364|0;W=f+64|0;X=f+60|0;Y=f+88|0;i=f+84|0;z=0;while(1){if((z|0)==2)break;A=(z|0)==0;B=c[(c[Ga>>2]|0)+12>>2]|0;f=(B|0)==3;B=(B|0)==2;if(A)w=da;else w=c[ga>>2]|0;o=c[(A?Ba:ea)>>2]|0;D=a[93408+(z<<3)+fa>>0]|0;C=D&255;if(D<<24>>24==3)D=(c[ha>>2]&15|0)==0?1:4;else D=4;p=32>>>z|8;y=p&Ea;b:do if(!(ca&A|(o|0)==0)){q=c[Ka>>2]|0;if(!((o&_|0)==0|Z&((z|0)==1&(q|0)!=0)^1)){u=Ca-(c[La>>2]<<1)|0;v=0;while(1){if((v|0)==2)break b;h=c[(c[Da>>2]|0)+(u<<2)>>2]|0;c:do if(!((h|Ea)&7)){if((h&16777216|0)==0?1:(c[(c[F>>2]|0)+4>>2]|0)!=0){o=(c[I>>2]|0)+(u*48|0)+12|0;h=0;while(1){if((h|0)==4)break c;b[E+(h<<1)>>1]=(a[o+h>>0]|a[h+12+(g+27824)>>0])<<24>>24==0?1:2;h=h+1|0}}o=(c[J>>2]|0)+(u<<1)|0;if((b[o>>1]&16384)==0?(a[K>>0]|0)==0:0)h=1;else h=2;b[E>>1]=h;if((b[o>>1]&16384)==0?(a[L>>0]|0)==0:0)h=1;else h=2;b[M>>1]=h;if((b[o>>1]|0)>=0?(a[P>>0]|0)==0:0)h=1;else h=2;b[N>>1]=h;if((b[o>>1]|0)>=0?(a[Q>>0]|0)==0:0)h=1;else h=2;b[O>>1]=h}else{x=G;c[x>>2]=196611;c[x+4>>2]=196611}while(0);p=c[la>>2]|0;h=a[p+u>>0]|0;p=(a[p+Ca>>0]|0)+1+h>>1;o=p+Ia|0;p=p+Ja|0;if(!(o>>>0<68|p>>>0<68)){h=d[92432+p>>0]|0;x=d[92592+o>>0]|0;w=j+(H(v,m)|0)|0;a[Oa>>0]=a[(b[E>>1]|0)+(92752+(o<<2))>>0]|0;a[ra>>0]=a[(b[M>>1]|0)+(92752+(o<<2))>>0]|0;a[sa>>0]=a[(b[N>>1]|0)+(92752+(o<<2))>>0]|0;a[ta>>0]=a[(b[O>>1]|0)+(92752+(o<<2))>>0]|0;jc[c[va>>2]&255](w,aa,x,h,Oa);h=a[(c[la>>2]|0)+u>>0]|0}s=c[F>>2]|0;o=(c[wa>>2]|0)+1+(d[s+548+h>>0]|0)>>1;s=(c[ya>>2]|0)+1+(d[s+636+h>>0]|0)>>1;do if(Ha){t=H(v,n)|0;p=k+t|0;q=o+Ia|0;r=d[92592+q>>0]|0;o=o+Ja|0;h=d[92432+o>>0]|0;o=q>>>0<68|o>>>0<68;if(f){if(!o){a[Oa>>0]=a[(b[E>>1]|0)+(92752+(q<<2))>>0]|0;a[ra>>0]=a[(b[M>>1]|0)+(92752+(q<<2))>>0]|0;a[sa>>0]=a[(b[N>>1]|0)+(92752+(q<<2))>>0]|0;a[ta>>0]=a[(b[O>>1]|0)+(92752+(q<<2))>>0]|0;jc[c[va>>2]&255](p,ba,r,h,Oa)}o=s+Ia|0;h=s+Ja|0;if(o>>>0<68|h>>>0<68)break;x=d[92432+h>>0]|0;w=d[92592+o>>0]|0;a[Oa>>0]=a[(b[E>>1]|0)+(92752+(o<<2))>>0]|0;a[ra>>0]=a[(b[M>>1]|0)+(92752+(o<<2))>>0]|0;a[sa>>0]=a[(b[N>>1]|0)+(92752+(o<<2))>>0]|0;a[ta>>0]=a[(b[O>>1]|0)+(92752+(o<<2))>>0]|0;jc[c[va>>2]&255](l+t|0,ba,w,x,Oa);break}else{if(!o){a[Oa>>0]=(d[(b[E>>1]|0)+(92752+(q<<2))>>0]|0)+1;a[ra>>0]=(d[(b[M>>1]|0)+(92752+(q<<2))>>0]|0)+1;a[sa>>0]=(d[(b[N>>1]|0)+(92752+(q<<2))>>0]|0)+1;a[ta>>0]=(d[(b[O>>1]|0)+(92752+(q<<2))>>0]|0)+1;jc[c[za>>2]&255](p,ba,r,h,Oa)}o=s+Ia|0;h=s+Ja|0;if(o>>>0<68|h>>>0<68)break;x=d[92432+h>>0]|0;w=d[92592+o>>0]|0;a[Oa>>0]=(d[(b[E>>1]|0)+(92752+(o<<2))>>0]|0)+1;a[ra>>0]=(d[(b[M>>1]|0)+(92752+(o<<2))>>0]|0)+1;a[sa>>0]=(d[(b[N>>1]|0)+(92752+(o<<2))>>0]|0)+1;a[ta>>0]=(d[(b[O>>1]|0)+(92752+(o<<2))>>0]|0)+1;jc[c[za>>2]&255](l+t|0,ba,w,x,Oa);break}}while(0);u=(c[La>>2]|0)+u|0;v=v+1|0}}h=o|Ea;d:do if(!(h&7)){h=(z|0)!=0;if(!((q|0)==0|h^1)?((o^Ea)&128|0)!=0:0){s=U;c[s>>2]=65537;c[s+4>>2]=65537;s=0}else if((y|0)==0|(o&p|0)==0)s=1;else{s=(pn(g,12,h?4:11,Fa)|0)&65535;b[T>>1]=s;b[S>>1]=s;b[R>>1]=s;b[$>>1]=s;s=0}q=h?8:1;p=0;while(1){if((p|0)==4)break d;h=(A?p<<3:p)+12|0;o=h-q|0;r=$+(p<<1)|0;if(!((a[g+27824+o>>0]|a[g+27824+h>>0])<<24>>24)){if(s){h=(pn(g,h,o,Fa)|0)&65535;Pa=170}}else{h=2;Pa=170}if((Pa|0)==170){Pa=0;b[r>>1]=h}p=p+1|0}}else{x=U;c[x>>2]=196611;c[x+4>>2]=196611;do if(h&128|0)if(!(c[Ka>>2]|0))if(A&(c[V>>2]|0)!=3)break;else break d;else if(A)break;else break d;while(0);x=U;c[x>>2]=262148;c[x+4>>2]=262148}while(0);r=b[$>>1]|0;s=r<<16>>16;t=b[R>>1]|0;u=b[S>>1]|0;v=b[T>>1]|0;do if((t+s+u|0)!=(0-v|0)){q=c[la>>2]|0;x=a[q+w>>0]|0;q=(a[q+Ca>>0]|0)+1+x>>1;h=c[F>>2]|0;w=(c[wa>>2]|0)+1+(d[h+548+x>>0]|0)>>1;x=(c[ya>>2]|0)+1+(d[h+636+x>>0]|0)>>1;h=q+Ia|0;o=d[92592+h>>0]|0;q=q+Ja|0;p=d[92432+q>>0]|0;q=h>>>0<68|q>>>0<68;if(A){do if(!q)if(r<<16>>16>3){hc[c[W>>2]&255](j,m,o,p);break}else{a[Oa>>0]=a[92752+(h<<2)+s>>0]|0;a[ra>>0]=a[92752+(h<<2)+t>>0]|0;a[sa>>0]=a[92752+(h<<2)+u>>0]|0;a[ta>>0]=a[92752+(h<<2)+v>>0]|0;jc[c[ua>>2]&255](j,m,o,p,Oa);break}while(0);if(!Ha)break;p=w+Ia|0;q=d[92592+p>>0]|0;h=w+Ja|0;o=d[92432+h>>0]|0;h=p>>>0<68|h>>>0<68;if(f){do if(!h){h=b[$>>1]|0;if(h<<16>>16>3){hc[c[W>>2]&255](k,n,q,o);break}else{a[Oa>>0]=a[(h<<16>>16)+(92752+(p<<2))>>0]|0;a[ra>>0]=a[(b[R>>1]|0)+(92752+(p<<2))>>0]|0;a[sa>>0]=a[(b[S>>1]|0)+(92752+(p<<2))>>0]|0;a[ta>>0]=a[(b[T>>1]|0)+(92752+(p<<2))>>0]|0;jc[c[ua>>2]&255](k,n,q,o,Oa);break}}while(0);p=x+Ia|0;q=d[92592+p>>0]|0;x=x+Ja|0;h=d[92432+x>>0]|0;if(p>>>0<68|x>>>0<68)break;o=b[$>>1]|0;if(o<<16>>16>3){hc[c[W>>2]&255](l,n,q,h);break}else{a[Oa>>0]=a[(o<<16>>16)+(92752+(p<<2))>>0]|0;a[ra>>0]=a[(b[R>>1]|0)+(92752+(p<<2))>>0]|0;a[sa>>0]=a[(b[S>>1]|0)+(92752+(p<<2))>>0]|0;a[ta>>0]=a[(b[T>>1]|0)+(92752+(p<<2))>>0]|0;jc[c[ua>>2]&255](l,n,q,h,Oa);break}}else{do if(!h){h=b[$>>1]|0;if(h<<16>>16>3){hc[c[Y>>2]&255](k,n,q,o);break}else{a[Oa>>0]=(d[(h<<16>>16)+(92752+(p<<2))>>0]|0)+1;a[ra>>0]=(d[(b[R>>1]|0)+(92752+(p<<2))>>0]|0)+1;a[sa>>0]=(d[(b[S>>1]|0)+(92752+(p<<2))>>0]|0)+1;a[ta>>0]=(d[(b[T>>1]|0)+(92752+(p<<2))>>0]|0)+1;jc[c[Aa>>2]&255](k,n,q,o,Oa);break}}while(0);p=x+Ia|0;q=d[92592+p>>0]|0;x=x+Ja|0;h=d[92432+x>>0]|0;if(p>>>0<68|x>>>0<68)break;o=b[$>>1]|0;if(o<<16>>16>3){hc[c[Y>>2]&255](l,n,q,h);break}else{a[Oa>>0]=(d[(o<<16>>16)+(92752+(p<<2))>>0]|0)+1;a[ra>>0]=(d[(b[R>>1]|0)+(92752+(p<<2))>>0]|0)+1;a[sa>>0]=(d[(b[S>>1]|0)+(92752+(p<<2))>>0]|0)+1;a[ta>>0]=(d[(b[T>>1]|0)+(92752+(p<<2))>>0]|0)+1;jc[c[Aa>>2]&255](l,n,q,h,Oa);break}}}else{do if(!q)if(r<<16>>16>3){hc[c[X>>2]&255](j,m,o,p);break}else{a[Oa>>0]=a[92752+(h<<2)+s>>0]|0;a[ra>>0]=a[92752+(h<<2)+t>>0]|0;a[sa>>0]=a[92752+(h<<2)+u>>0]|0;a[ta>>0]=a[92752+(h<<2)+v>>0]|0;jc[c[va>>2]&255](j,m,o,p,Oa);break}while(0);if(!Ha)break;p=w+Ia|0;q=d[92592+p>>0]|0;h=w+Ja|0;o=d[92432+h>>0]|0;h=p>>>0<68|h>>>0<68;if(f){do if(!h){h=b[$>>1]|0;if(h<<16>>16>3){hc[c[X>>2]&255](k,n,q,o);break}else{a[Oa>>0]=a[(h<<16>>16)+(92752+(p<<2))>>0]|0;a[ra>>0]=a[(b[R>>1]|0)+(92752+(p<<2))>>0]|0;a[sa>>0]=a[(b[S>>1]|0)+(92752+(p<<2))>>0]|0;a[ta>>0]=a[(b[T>>1]|0)+(92752+(p<<2))>>0]|0;jc[c[va>>2]&255](k,n,q,o,Oa);break}}while(0);p=x+Ia|0;q=d[92592+p>>0]|0;x=x+Ja|0;h=d[92432+x>>0]|0;if(p>>>0<68|x>>>0<68)break;o=b[$>>1]|0;if(o<<16>>16>3){hc[c[X>>2]&255](l,n,q,h);break}else{a[Oa>>0]=a[(o<<16>>16)+(92752+(p<<2))>>0]|0;a[ra>>0]=a[(b[R>>1]|0)+(92752+(p<<2))>>0]|0;a[sa>>0]=a[(b[S>>1]|0)+(92752+(p<<2))>>0]|0;a[ta>>0]=a[(b[T>>1]|0)+(92752+(p<<2))>>0]|0;jc[c[va>>2]&255](l,n,q,h,Oa);break}}else{do if(!h){h=b[$>>1]|0;if(h<<16>>16>3){hc[c[i>>2]&255](k,n,q,o);break}else{a[Oa>>0]=(d[(h<<16>>16)+(92752+(p<<2))>>0]|0)+1;a[ra>>0]=(d[(b[R>>1]|0)+(92752+(p<<2))>>0]|0)+1;a[sa>>0]=(d[(b[S>>1]|0)+(92752+(p<<2))>>0]|0)+1;a[ta>>0]=(d[(b[T>>1]|0)+(92752+(p<<2))>>0]|0)+1;jc[c[za>>2]&255](k,n,q,o,Oa);break}}while(0);p=x+Ia|0;q=d[92592+p>>0]|0;x=x+Ja|0;h=d[92432+x>>0]|0;if(p>>>0<68|x>>>0<68)break;o=b[$>>1]|0;if(o<<16>>16>3){hc[c[i>>2]&255](l,n,q,h);break}else{a[Oa>>0]=(d[(o<<16>>16)+(92752+(p<<2))>>0]|0)+1;a[ra>>0]=(d[(b[R>>1]|0)+(92752+(p<<2))>>0]|0)+1;a[sa>>0]=(d[(b[S>>1]|0)+(92752+(p<<2))>>0]|0)+1;a[ta>>0]=(d[(b[T>>1]|0)+(92752+(p<<2))>>0]|0)+1;jc[c[za>>2]&255](l,n,q,h,Oa);break}}}}while(0)}while(0);w=A|B^1;u=(y|0)==0;v=A?1:8;t=1;while(1){if(t>>>0>=D>>>0)break;s=(ja&t<<24|0)==0;do if(!(w&(s^1))){if(ka){if(!(t&C))if(u)p=1;else{p=(H(t,v)|0)+12|0;p=(pn(g,p,p-v|0,Fa)|0)&65535;b[oa>>1]=p;b[pa>>1]=p;b[qa>>1]=p;b[ia>>1]=p;p=0}else{p=ma;c[p>>2]=0;c[p+4>>2]=0;p=0}q=0;while(1){if((q|0)==4)break;h=(A?t:q)+12+((A?q:t)<<3)|0;o=h-v|0;r=ia+(q<<1)|0;if(!((a[g+27824+o>>0]|a[g+27824+h>>0])<<24>>24)){if(p){h=(pn(g,h,o,Fa)|0)&65535;Pa=233}}else{h=2;Pa=233}if((Pa|0)==233){Pa=0;b[r>>1]=h}q=q+1|0}if(((b[qa>>1]|0)+(b[ia>>1]|0)+(b[pa>>1]|0)|0)==(0-(b[oa>>1]|0)|0))break}else{y=ma;c[y>>2]=196611;c[y+4>>2]=196611}h=a[(c[la>>2]|0)+Ca>>0]|0;if(A){p=t<<2;o=Ia+h|0;h=Ja+h|0;if(!(o>>>0<68|h>>>0<68)){y=d[92432+h>>0]|0;x=d[92592+o>>0]|0;s=j+(p<<c[na>>2])|0;a[Oa>>0]=a[(b[ia>>1]|0)+(92752+(o<<2))>>0]|0;a[ra>>0]=a[(b[qa>>1]|0)+(92752+(o<<2))>>0]|0;a[sa>>0]=a[(b[pa>>1]|0)+(92752+(o<<2))>>0]|0;a[ta>>0]=a[(b[oa>>1]|0)+(92752+(o<<2))>>0]|0;jc[c[ua>>2]&255](s,m,x,y,Oa)}if(!Ha)break;if(f){o=c[wa>>2]|0;h=o+Ia|0;o=o+Ja|0;if(!(h>>>0<68|o>>>0<68)){y=d[92432+o>>0]|0;x=d[92592+h>>0]|0;s=k+(p<<c[na>>2])|0;a[Oa>>0]=a[(b[ia>>1]|0)+(92752+(h<<2))>>0]|0;a[ra>>0]=a[(b[qa>>1]|0)+(92752+(h<<2))>>0]|0;a[sa>>0]=a[(b[pa>>1]|0)+(92752+(h<<2))>>0]|0;a[ta>>0]=a[(b[oa>>1]|0)+(92752+(h<<2))>>0]|0;jc[c[ua>>2]&255](s,n,x,y,Oa)}o=c[ya>>2]|0;h=o+Ia|0;o=o+Ja|0;if(h>>>0<68|o>>>0<68)break;y=d[92432+o>>0]|0;x=d[92592+h>>0]|0;s=l+(p<<c[na>>2])|0;a[Oa>>0]=a[(b[ia>>1]|0)+(92752+(h<<2))>>0]|0;a[ra>>0]=a[(b[qa>>1]|0)+(92752+(h<<2))>>0]|0;a[sa>>0]=a[(b[pa>>1]|0)+(92752+(h<<2))>>0]|0;a[ta>>0]=a[(b[oa>>1]|0)+(92752+(h<<2))>>0]|0;jc[c[ua>>2]&255](s,n,x,y,Oa);break}if(t&1|0)break;p=t<<1;o=c[wa>>2]|0;h=o+Ia|0;o=o+Ja|0;if(!(h>>>0<68|o>>>0<68)){y=d[92432+o>>0]|0;x=d[92592+h>>0]|0;s=k+(p<<c[na>>2])|0;a[Oa>>0]=(d[(b[ia>>1]|0)+(92752+(h<<2))>>0]|0)+1;a[ra>>0]=(d[(b[qa>>1]|0)+(92752+(h<<2))>>0]|0)+1;a[sa>>0]=(d[(b[pa>>1]|0)+(92752+(h<<2))>>0]|0)+1;a[ta>>0]=(d[(b[oa>>1]|0)+(92752+(h<<2))>>0]|0)+1;jc[c[Aa>>2]&255](s,n,x,y,Oa)}o=c[ya>>2]|0;h=o+Ia|0;o=o+Ja|0;if(h>>>0<68|o>>>0<68)break;y=d[92432+o>>0]|0;x=d[92592+h>>0]|0;s=l+(p<<c[na>>2])|0;a[Oa>>0]=(d[(b[ia>>1]|0)+(92752+(h<<2))>>0]|0)+1;a[ra>>0]=(d[(b[qa>>1]|0)+(92752+(h<<2))>>0]|0)+1;a[sa>>0]=(d[(b[pa>>1]|0)+(92752+(h<<2))>>0]|0)+1;a[ta>>0]=(d[(b[oa>>1]|0)+(92752+(h<<2))>>0]|0)+1;jc[c[Aa>>2]&255](s,n,x,y,Oa);break}if(B){if(s?(Ma=Ia+h|0,Na=Ja+h|0,!(Ma>>>0<68|Na>>>0<68)):0){y=d[92432+Na>>0]|0;x=d[92592+Ma>>0]|0;s=j+(H(xa,t)|0)|0;a[Oa>>0]=a[(b[ia>>1]|0)+(92752+(Ma<<2))>>0]|0;a[ra>>0]=a[(b[qa>>1]|0)+(92752+(Ma<<2))>>0]|0;a[sa>>0]=a[(b[pa>>1]|0)+(92752+(Ma<<2))>>0]|0;a[ta>>0]=a[(b[oa>>1]|0)+(92752+(Ma<<2))>>0]|0;jc[c[va>>2]&255](s,m,x,y,Oa)}if(!Ha)break;p=H(t<<2,n)|0;o=c[wa>>2]|0;h=o+Ia|0;o=o+Ja|0;if(!(h>>>0<68|o>>>0<68)){y=d[92432+o>>0]|0;x=d[92592+h>>0]|0;a[Oa>>0]=(d[(b[ia>>1]|0)+(92752+(h<<2))>>0]|0)+1;a[ra>>0]=(d[(b[qa>>1]|0)+(92752+(h<<2))>>0]|0)+1;a[sa>>0]=(d[(b[pa>>1]|0)+(92752+(h<<2))>>0]|0)+1;a[ta>>0]=(d[(b[oa>>1]|0)+(92752+(h<<2))>>0]|0)+1;jc[c[za>>2]&255](k+p|0,n,x,y,Oa)}o=c[ya>>2]|0;h=o+Ia|0;o=o+Ja|0;if(h>>>0<68|o>>>0<68)break;y=d[92432+o>>0]|0;x=d[92592+h>>0]|0;a[Oa>>0]=(d[(b[ia>>1]|0)+(92752+(h<<2))>>0]|0)+1;a[ra>>0]=(d[(b[qa>>1]|0)+(92752+(h<<2))>>0]|0)+1;a[sa>>0]=(d[(b[pa>>1]|0)+(92752+(h<<2))>>0]|0)+1;a[ta>>0]=(d[(b[oa>>1]|0)+(92752+(h<<2))>>0]|0)+1;jc[c[za>>2]&255](l+p|0,n,x,y,Oa);break}o=t<<2;p=Ia+h|0;h=Ja+h|0;if(!(p>>>0<68|h>>>0<68)){y=d[92432+h>>0]|0;x=d[92592+p>>0]|0;s=j+(H(o,m)|0)|0;a[Oa>>0]=a[(b[ia>>1]|0)+(92752+(p<<2))>>0]|0;a[ra>>0]=a[(b[qa>>1]|0)+(92752+(p<<2))>>0]|0;a[sa>>0]=a[(b[pa>>1]|0)+(92752+(p<<2))>>0]|0;a[ta>>0]=a[(b[oa>>1]|0)+(92752+(p<<2))>>0]|0;jc[c[va>>2]&255](s,m,x,y,Oa)}if(Ha){if(f){p=H(o,n)|0;o=c[wa>>2]|0;h=o+Ia|0;o=o+Ja|0;if(!(h>>>0<68|o>>>0<68)){y=d[92432+o>>0]|0;x=d[92592+h>>0]|0;a[Oa>>0]=a[(b[ia>>1]|0)+(92752+(h<<2))>>0]|0;a[ra>>0]=a[(b[qa>>1]|0)+(92752+(h<<2))>>0]|0;a[sa>>0]=a[(b[pa>>1]|0)+(92752+(h<<2))>>0]|0;a[ta>>0]=a[(b[oa>>1]|0)+(92752+(h<<2))>>0]|0;jc[c[va>>2]&255](k+p|0,n,x,y,Oa)}o=c[ya>>2]|0;h=o+Ia|0;o=o+Ja|0;if(h>>>0<68|o>>>0<68)break;y=d[92432+o>>0]|0;x=d[92592+h>>0]|0;a[Oa>>0]=a[(b[ia>>1]|0)+(92752+(h<<2))>>0]|0;a[ra>>0]=a[(b[qa>>1]|0)+(92752+(h<<2))>>0]|0;a[sa>>0]=a[(b[pa>>1]|0)+(92752+(h<<2))>>0]|0;a[ta>>0]=a[(b[oa>>1]|0)+(92752+(h<<2))>>0]|0;jc[c[va>>2]&255](l+p|0,n,x,y,Oa);break}if(!(t&1)){p=H(t<<1,n)|0;o=c[wa>>2]|0;h=o+Ia|0;o=o+Ja|0;if(!(h>>>0<68|o>>>0<68)){y=d[92432+o>>0]|0;x=d[92592+h>>0]|0;a[Oa>>0]=(d[(b[ia>>1]|0)+(92752+(h<<2))>>0]|0)+1;a[ra>>0]=(d[(b[qa>>1]|0)+(92752+(h<<2))>>0]|0)+1;a[sa>>0]=(d[(b[pa>>1]|0)+(92752+(h<<2))>>0]|0)+1;a[ta>>0]=(d[(b[oa>>1]|0)+(92752+(h<<2))>>0]|0)+1;jc[c[za>>2]&255](k+p|0,n,x,y,Oa)}o=c[ya>>2]|0;h=o+Ia|0;o=o+Ja|0;if(!(h>>>0<68|o>>>0<68)){y=d[92432+o>>0]|0;x=d[92592+h>>0]|0;a[Oa>>0]=(d[(b[ia>>1]|0)+(92752+(h<<2))>>0]|0)+1;a[ra>>0]=(d[(b[qa>>1]|0)+(92752+(h<<2))>>0]|0)+1;a[sa>>0]=(d[(b[pa>>1]|0)+(92752+(h<<2))>>0]|0)+1;a[ta>>0]=(d[(b[oa>>1]|0)+(92752+(h<<2))>>0]|0)+1;jc[c[za>>2]&255](l+p|0,n,x,y,Oa)}}}}while(0);t=t+1|0}z=z+1|0}Mb=Qa;return}function xc(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,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=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,$=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;ja=Mb;Mb=Mb+48|0;_=ja+20|0;Y=ja;ia=ja+8|0;ca=g+21788|0;k=c[ca>>2]|0;aa=g+21792|0;o=c[aa>>2]|0;$=g+21796|0;l=c[$>>2]|0;ea=c[(c[f+24364>>2]|0)+(l<<2)>>2]|0;n=f+25960|0;X=g+848|0;if(!(c[X>>2]|0))fa=(c[(c[f+28200>>2]|0)+16>>2]|0)!=0&1;else fa=0;i=f+24316|0;ha=f+25652|0;m=g+21772|0;j=f+12|0;h=0;while(1){if((h|0)==3)break;W=c[ha>>2]|0;Z=c[m>>2]|0;V=(c[(c[i>>2]|0)+(h<<2)>>2]|0)+((H(Z,o)|0)+(k<<W)<<4)|0;c[ia+(h<<2)>>2]=V;W=V+(H(c[ca>>2]<<2&12,Z)|0)+(64<<W)|0;gc[c[j>>2]&1023](W,Z,4);h=h+1|0}j=g+23412|0;a[(c[f+26372>>2]|0)+l>>0]=c[j>>2];Z=g+21828|0;q=c[Z>>2]|0;h=c[m>>2]|0;a:do if(q){p=h<<1;c[g+21784>>2]=p;c[g+21780>>2]=p;n=f+26152|0;b:do if(o&1|0){i=H(h,-15)|0;h=0;while(1){if((h|0)==3)break b;W=ia+(h<<2)|0;c[W>>2]=(c[W>>2]|0)+i;h=h+1|0}}while(0);if(c[f+26360>>2]|0){m=(ea&8|0)==0;j=c[j>>2]|0;i=0;while(1){if(i>>>0>=j>>>0)break a;c:do if(12288<<(i<<1)&ea|0){if(!m){V=g+28272+(i*40|0)+12|0;W=H((a[V>>0]|0)+16^c[aa>>2]&1,16843009)|0;c[V>>2]=W;c[g+28272+(i*40|0)+20>>2]=W;c[g+28272+(i*40|0)+28>>2]=W;c[g+28272+(i*40|0)+36>>2]=W;break}h=0;while(1){if(h>>>0>=16)break c;k=(d[91792+h>>0]|0)+(g+28272+(i*40|0))|0;l=a[k>>0]|0;if(l<<24>>24>-1){W=(c[aa>>2]&1^(l<<24>>24)+16)*257&65535;b[k>>1]=W;b[k+8>>1]=W}h=h+4|0}}while(0);i=i+1|0}}}else{c[g+21784>>2]=h;c[g+21780>>2]=h;p=h}while(0);d:do if(!(ea&4)){e:do if(ea&7){U=g+868|0;i=c[U>>2]|0;f:do if(i|0){j=c[ia>>2]|0;k=c[ia+4>>2]|0;l=c[ia+8>>2]|0;y=c[ha>>2]|0;do if(c[f+26360>>2]|0){h=(c[g+21832>>2]|0)!=0;if(c[aa>>2]&1)if(h){h=1;break}else break f;else{h=(h^1)&1;break}}else h=1;while(0);if((i|0)==2){s=(c[g+832>>2]|0)==(e[(c[f+26356>>2]|0)+((c[$>>2]|0)+-1-(c[f+27e3>>2]|0)<<1)>>1]|0);i=c[g+21732>>2]|0;u=c[ca>>2]|0}else{u=c[ca>>2]|0;s=(u|0)>0;i=(c[aa>>2]|0)>((q|0)!=0|0)&1}w=0-(p+1+y)|0;q=j+w|0;v=k+w|0;w=l+w|0;x=g+27796+(h<<2)|0;t=c[x>>2]|0;r=u+-1|0;k=t+(u*96|0)|0;if(i|0){l=(y|0)==0;do if(s){h=(8<<y)+(t+(r*96|0))|0;W=h;V=c[W>>2]|0;W=c[W+4>>2]|0;i=q+(-7<<y)|0;S=i;T=c[S+4>>2]|0;da=h;c[da>>2]=c[S>>2];c[da+4>>2]=T;da=i;c[da>>2]=V;c[da+4>>2]=W;if(l){h=k;j=q+1|0;i=c[h>>2]|0;h=c[h+4>>2]|0;da=58;break}else{V=h+8|0;l=V;j=c[l>>2]|0;l=c[l+4>>2]|0;h=i+8|0;W=h;da=c[W+4>>2]|0;i=V;c[i>>2]=c[W>>2];c[i+4>>2]=da;c[h>>2]=j;c[h+4>>2]=l;h=k;l=1<<y;j=l;l=q+l|0;i=c[h>>2]|0;h=c[h+4>>2]|0;da=57;break}}else{h=k;i=c[h>>2]|0;h=c[h+4>>2]|0;j=1<<y;m=q+j|0;if(l){j=m;da=58}else{l=m;da=57}}while(0);if((da|0)==57){T=l;da=c[T+4>>2]|0;W=k;c[W>>2]=c[T>>2];c[W+4>>2]=da;W=l;c[W>>2]=i;c[W+4>>2]=h;W=t+(u*96|0)+8|0;l=W;da=c[l>>2]|0;l=c[l+4>>2]|0;k=q+j+8|0;T=k;V=c[T+4>>2]|0;c[W>>2]=c[T>>2];c[W+4>>2]=V;c[k>>2]=da;c[k+4>>2]=l;k=1;l=j}else if((da|0)==58){da=j;l=c[da+4>>2]|0;c[k>>2]=c[da>>2];c[k+4>>2]=l;k=j;c[k>>2]=i;c[k+4>>2]=h;k=0;l=1}h=(8<<y)+(t+(u*96|0))|0;W=h;V=c[W>>2]|0;W=c[W+4>>2]|0;m=9<<y;i=q+m|0;S=i;T=c[S+4>>2]|0;da=h;c[da>>2]=c[S>>2];c[da+4>>2]=T;da=i;c[da>>2]=V;c[da+4>>2]=W;if(k){T=h+8|0;W=T;V=c[W>>2]|0;W=c[W+4>>2]|0;da=i+8|0;R=da;S=c[R+4>>2]|0;c[T>>2]=c[R>>2];c[T+4>>2]=S;c[da>>2]=V;c[da+4>>2]=W}h=(c[ca>>2]|0)+1|0;o=f+26996|0;if((h|0)<(c[o>>2]|0)?(da=(c[x>>2]|0)+(h*96|0)|0,W=da,V=c[W>>2]|0,W=c[W+4>>2]|0,z=q+(17<<y)|0,S=z,T=c[S+4>>2]|0,da,c[da>>2]=c[S>>2],c[da+4>>2]=T,da=z,c[da>>2]=V,c[da+4>>2]=W,k):0){T=(c[x>>2]|0)+(((c[ca>>2]|0)+1|0)*96|0)+8|0;W=T;V=c[W>>2]|0;W=c[W+4>>2]|0;da=z+8|0;R=da;S=c[R+4>>2]|0;c[T>>2]=c[R>>2];c[T+4>>2]=S;c[da>>2]=V;c[da+4>>2]=W}if(s){h=(24<<y)+(t+(r*96|0))|0;W=h;V=c[W>>2]|0;W=c[W+4>>2]|0;j=-7<<y;i=v+j|0;S=i;T=c[S+4>>2]|0;da=h;c[da>>2]=c[S>>2];c[da+4>>2]=T;da=i;c[da>>2]=V;c[da+4>>2]=W;if(k){T=h+8|0;W=T;V=c[W>>2]|0;W=c[W+4>>2]|0;da=i+8|0;R=da;S=c[R+4>>2]|0;c[T>>2]=c[R>>2];c[T+4>>2]=S;c[da>>2]=V;c[da+4>>2]=W}i=(40<<y)+(t+(r*96|0))|0;W=i;V=c[W>>2]|0;W=c[W+4>>2]|0;h=w+j|0;S=h;T=c[S+4>>2]|0;da=i;c[da>>2]=c[S>>2];c[da+4>>2]=T;da=h;c[da>>2]=V;c[da+4>>2]=W;if(k){T=i+8|0;W=T;V=c[W>>2]|0;W=c[W+4>>2]|0;da=h+8|0;R=da;S=c[R+4>>2]|0;c[T>>2]=c[R>>2];c[T+4>>2]=S;c[da>>2]=V;c[da+4>>2]=W;da=70}else da=71}else if(k)da=70;else da=71;if((da|0)==70){T=(16<<y)+(t+(u*96|0))|0;V=T;R=c[V>>2]|0;V=c[V+4>>2]|0;k=v+l|0;Q=k;S=c[Q+4>>2]|0;W=T;c[W>>2]=c[Q>>2];c[W+4>>2]=S;W=k;c[W>>2]=R;c[W+4>>2]=V;T=T+8|0;W=T;V=c[W>>2]|0;W=c[W+4>>2]|0;k=k+8|0;R=k;S=c[R+4>>2]|0;c[T>>2]=c[R>>2];c[T+4>>2]=S;c[k>>2]=V;c[k+4>>2]=W;k=1}else if((da|0)==71){T=(16<<y)+(t+(u*96|0))|0;W=T;V=c[W>>2]|0;W=c[W+4>>2]|0;k=v+l|0;R=k;S=c[R+4>>2]|0;c[T>>2]=c[R>>2];c[T+4>>2]=S;c[k>>2]=V;c[k+4>>2]=W;k=0}h=(24<<y)+(t+(u*96|0))|0;V=h;T=c[V>>2]|0;V=c[V+4>>2]|0;i=v+m|0;R=i;S=c[R+4>>2]|0;W=h;c[W>>2]=c[R>>2];c[W+4>>2]=S;W=i;c[W>>2]=T;c[W+4>>2]=V;if(k){W=h+8|0;T=W;Q=c[T>>2]|0;T=c[T+4>>2]|0;S=i+8|0;R=S;P=c[R+4>>2]|0;c[W>>2]=c[R>>2];c[W+4>>2]=P;c[S>>2]=Q;c[S+4>>2]=T;S=(32<<y)+(t+(u*96|0))|0;T=S;Q=c[T>>2]|0;T=c[T+4>>2]|0;W=w+l|0;P=W;R=c[P+4>>2]|0;V=S;c[V>>2]=c[P>>2];c[V+4>>2]=R;V=W;c[V>>2]=Q;c[V+4>>2]=T;S=S+8|0;V=S;T=c[V>>2]|0;V=c[V+4>>2]|0;W=W+8|0;Q=W;R=c[Q+4>>2]|0;c[S>>2]=c[Q>>2];c[S+4>>2]=R;c[W>>2]=T;c[W+4>>2]=V}else{S=(32<<y)+(t+(u*96|0))|0;V=S;T=c[V>>2]|0;V=c[V+4>>2]|0;W=w+l|0;Q=W;R=c[Q+4>>2]|0;c[S>>2]=c[Q>>2];c[S+4>>2]=R;c[W>>2]=T;c[W+4>>2]=V}i=(40<<y)+(t+(u*96|0))|0;V=i;T=c[V>>2]|0;V=c[V+4>>2]|0;h=w+m|0;R=h;S=c[R+4>>2]|0;W=i;c[W>>2]=c[R>>2];c[W+4>>2]=S;W=h;c[W>>2]=T;c[W+4>>2]=V;if(k){S=i+8|0;V=S;T=c[V>>2]|0;V=c[V+4>>2]|0;W=h+8|0;Q=W;R=c[Q+4>>2]|0;c[S>>2]=c[Q>>2];c[S+4>>2]=R;c[W>>2]=T;c[W+4>>2]=V}h=(c[ca>>2]|0)+1|0;if((h|0)<(c[o>>2]|0)){i=16<<y;W=(c[x>>2]|0)+(h*96|0)+i|0;V=W;T=c[V>>2]|0;V=c[V+4>>2]|0;j=17<<y;h=v+j|0;R=h;S=c[R+4>>2]|0;c[W>>2]=c[R>>2];c[W+4>>2]=S;W=h;c[W>>2]=T;c[W+4>>2]=V;if(k){S=(c[x>>2]|0)+(((c[ca>>2]|0)+1|0)*96|0)+i+8|0;V=S;T=c[V>>2]|0;V=c[V+4>>2]|0;W=h+8|0;Q=W;R=c[Q+4>>2]|0;c[S>>2]=c[Q>>2];c[S+4>>2]=R;c[W>>2]=T;c[W+4>>2]=V}i=32<<y;W=(c[x>>2]|0)+(((c[ca>>2]|0)+1|0)*96|0)+i|0;V=W;T=c[V>>2]|0;V=c[V+4>>2]|0;h=w+j|0;R=h;S=c[R+4>>2]|0;c[W>>2]=c[R>>2];c[W+4>>2]=S;W=h;c[W>>2]=T;c[W+4>>2]=V;if(k){S=(c[x>>2]|0)+(((c[ca>>2]|0)+1|0)*96|0)+i+8|0;V=S;T=c[V>>2]|0;V=c[V+4>>2]|0;W=h+8|0;Q=W;R=c[Q+4>>2]|0;c[S>>2]=c[Q>>2];c[S+4>>2]=R;c[W>>2]=T;c[W+4>>2]=V}}}}while(0);h=ea&1;y=(h|0)==0;E=g+21660|0;V=ea&16777216;z=(V|0)==0;A=(fa|0)!=0;B=(fa|0)==0;C=f+132|0;I=f+28196|0;F=f+144|0;G=f+28200|0;J=g+21764|0;K=0-p|0;L=3-p|0;N=3-((p|0)/2|0)|0;D=g+28560|0;O=f+108|0;P=f+100|0;W=f+140|0;Q=g+21756|0;R=f+29696|0;S=f+112|0;T=f+104|0;x=0;while(1){if((x|0)==3)break;w=c[ha>>2]|0;t=c[ia+(x<<2)>>2]|0;i=c[((x|0)==0?X:g+852+(x+-1<<2)|0)>>2]|0;u=x<<4;v=n+(u<<2)|0;g:do if(y){ec[c[f+25872+(c[E>>2]<<2)>>2]&255](t,p);if(a[(d[91792+(x+48)>>0]|0)+(g+27824)>>0]|0){if(B){gc[c[C>>2]&1023](g+28560+(x<<8<<w<<1)|0,g+31632+(x<<6)|0,c[(c[(c[I>>2]|0)+173788+(x<<2)>>2]|0)+(i<<6)>>2]|0);break}m=g+28560+(x<<8<<w<<1)|0;j=(w|0)==0;k=g+31632+(x<<6)|0;i=0;while(1){if((i|0)==16)break g;l=d[79136+i>>0]|0;if(j)b[m+(l<<1)>>1]=b[g+31632+(x<<6)+(i<<1)>>1]|0;else c[m+(l<<2)>>2]=c[k+(i<<2)>>2];i=i+1|0}}}else{if(!z){if(A){l=c[W>>2]|0;k=l}else{k=c[T>>2]|0;l=c[S>>2]|0}o=x<<8;q=(w|0)==0;m=0;while(1){if(m>>>0>=16)break g;r=t+(c[v+(m<<2)>>2]|0)|0;s=a[(d[91792+m>>0]|0)+(g+21664)>>0]|0;i=s<<24>>24;do if(A?(s<<24>>24<2?(c[(c[G>>2]|0)+4>>2]|0)==244:0):0)if((c[R>>2]|0)>>>0<151){gc[c[f+25916+(i<<2)>>2]&1023](r,g+28560+((m<<4)+o<<w<<1)|0,p);break}else{jc[c[f+25924+(i<<2)>>2]&255](r,g+28560+((m<<4)+o<<w<<1)|0,c[Q>>2]<<m&32768,c[J>>2]<<m&16384,p);break}else da=96;while(0);h:do if((da|0)==96){da=0;s=a[(d[91792+(m+u)>>0]|0)+(g+27824)>>0]|0;hc[c[f+25780+(i<<2)>>2]&255](r,c[Q>>2]<<m&32768,c[J>>2]<<m&16384,p);i:do switch(s<<24>>24){case 0:break h;case 1:{i=(m<<4)+o|0;if(q)j=e[g+28560+(i<<1)>>1]|0;else j=c[D+(i<<2)>>2]|0;if(!j)break i;gc[l&1023](r,g+28560+(i<<w<<1)|0,p);break h}default:i=(m<<4)+o|0}while(0);gc[k&1023](r,g+28560+(i<<w<<1)|0,p)}while(0);m=m+4|0}}if(A){l=c[F>>2]|0;k=l}else{k=c[P>>2]|0;l=c[O>>2]|0}o=x<<8;q=(w|0)==0;r=4<<w;m=0;while(1){if((m|0)==16)break g;s=t+(c[v+(m<<2)>>2]|0)|0;i=a[(d[91792+m>>0]|0)+(g+21664)>>0]|0;j=i<<24>>24;if(A?(i<<24>>24<2?(c[(c[G>>2]|0)+4>>2]|0)==244:0):0)gc[c[f+25908+(j<<2)>>2]&1023](s,g+28560+((m<<4)+o<<w<<1)|0,p);else{do if((i|4)<<24>>24==7){if(c[J>>2]&32768>>>m|0){i=s+r+K|0;break}if(q){i=H(d[s+L>>0]|0,16843009)|0;c[_>>2]=i;i=_;break}else{la=MR(e[s+(N<<1)>>1]|0,0,65537,65537)|0;ka=M()|0;i=Y;c[i>>2]=la;c[i+4>>2]=ka;i=Y;break}}else i=0;while(0);gc[c[f+25720+(j<<2)>>2]&1023](s,i,p);j:do switch(a[(d[91792+(m+u)>>0]|0)+(g+27824)>>0]|0){case 0:break;case 1:{i=(m<<4)+o|0;if(q)j=e[g+28560+(i<<1)>>1]|0;else j=c[D+(i<<2)>>2]|0;if(!j){da=126;break j}gc[l&1023](s,g+28560+(i<<w<<1)|0,p);break}default:{i=(m<<4)+o|0;da=126}}while(0);if((da|0)==126){da=0;gc[k&1023](s,g+28560+(i<<w<<1)|0,p)}}m=m+1|0}}while(0);x=x+1|0}j=c[U>>2]|0;if(j){k=c[ia>>2]|0;l=c[ia+4>>2]|0;o=c[ia+8>>2]|0;z=c[ha>>2]|0;do if(c[f+26360>>2]|0){i=(c[g+21832>>2]|0)!=0;if(c[aa>>2]&1)if(i){m=1;break}else{j=V;i=W;break e}else{m=(i^1)&1;break}}else m=1;while(0);if((j|0)==2){t=(c[g+832>>2]|0)==(e[(c[f+26356>>2]|0)+((c[$>>2]|0)+-1-(c[f+27e3>>2]|0)<<1)>>1]|0);i=c[g+21732>>2]|0;v=c[ca>>2]|0}else{v=c[ca>>2]|0;t=(v|0)>0;i=(c[aa>>2]|0)>((c[Z>>2]|0)!=0|0)&1}x=0-(p+1+z)|0;r=k+x|0;w=l+x|0;x=o+x|0;y=g+27796+(m<<2)|0;u=c[y>>2]|0;s=v+-1|0;k=u+(v*96|0)|0;if(i){m=(z|0)==0;do if(t){i=(8<<z)+(u+(s*96|0))|0;ka=i;da=c[ka>>2]|0;ka=c[ka+4>>2]|0;j=r+(-7<<z)|0;$=j;aa=c[$+4>>2]|0;la=i;c[la>>2]=c[$>>2];c[la+4>>2]=aa;la=j;c[la>>2]=da;c[la+4>>2]=ka;if(m){i=k;k=r+1|0;j=c[i>>2]|0;i=c[i+4>>2]|0;da=154;break}else{aa=i+8|0;l=aa;da=c[l>>2]|0;l=c[l+4>>2]|0;i=j+8|0;ka=i;la=c[ka+4>>2]|0;j=aa;c[j>>2]=c[ka>>2];c[j+4>>2]=la;c[i>>2]=da;c[i+4>>2]=l;i=k;k=1<<z;j=k;k=r+k|0;l=c[i>>2]|0;i=c[i+4>>2]|0;da=153;break}}else{i=k;l=c[i>>2]|0;i=c[i+4>>2]|0;j=1<<z;k=r+j|0;if(m){j=l;da=154}else da=153}while(0);if((da|0)==153){la=k;c[la>>2]=l;c[la+4>>2]=i;la=u+(v*96|0)+8|0;l=c[la+4>>2]|0;m=r+j+8|0;c[m>>2]=c[la>>2];c[m+4>>2]=l;m=j;l=1}else if((da|0)==154){m=k;c[m>>2]=j;c[m+4>>2]=i;m=1;l=0}i=(8<<z)+(u+(v*96|0))|0;ka=i;da=c[ka>>2]|0;ka=c[ka+4>>2]|0;o=9<<z;j=r+o|0;$=j;aa=c[$+4>>2]|0;la=i;c[la>>2]=c[$>>2];c[la+4>>2]=aa;la=j;c[la>>2]=da;c[la+4>>2]=ka;if(l){aa=i+8|0;ka=aa;da=c[ka>>2]|0;ka=c[ka+4>>2]|0;la=j+8|0;_=la;$=c[_+4>>2]|0;c[aa>>2]=c[_>>2];c[aa+4>>2]=$;c[la>>2]=da;c[la+4>>2]=ka}i=(c[ca>>2]|0)+1|0;q=f+26996|0;if((i|0)<(c[q>>2]|0)?(la=(c[y>>2]|0)+(i*96|0)|0,ka=la,da=c[ka>>2]|0,ka=c[ka+4>>2]|0,ba=r+(17<<z)|0,$=ba,aa=c[$+4>>2]|0,la,c[la>>2]=c[$>>2],c[la+4>>2]=aa,la=ba,c[la>>2]=da,c[la+4>>2]=ka,l):0){_=(c[y>>2]|0)+(((c[ca>>2]|0)+1|0)*96|0)+8|0;ka=_;da=c[ka>>2]|0;ka=c[ka+4>>2]|0;la=ba+8|0;$=la;aa=c[$+4>>2]|0;ba=_;c[ba>>2]=c[$>>2];c[ba+4>>2]=aa;c[la>>2]=da;c[la+4>>2]=ka}if(t){i=(24<<z)+(u+(s*96|0))|0;ka=i;da=c[ka>>2]|0;ka=c[ka+4>>2]|0;k=-7<<z;j=w+k|0;aa=j;ba=c[aa+4>>2]|0;la=i;c[la>>2]=c[aa>>2];c[la+4>>2]=ba;la=j;c[la>>2]=da;c[la+4>>2]=ka;if(l){ba=i+8|0;ka=ba;da=c[ka>>2]|0;ka=c[ka+4>>2]|0;la=j+8|0;$=la;aa=c[$+4>>2]|0;c[ba>>2]=c[$>>2];c[ba+4>>2]=aa;c[la>>2]=da;c[la+4>>2]=ka}j=(40<<z)+(u+(s*96|0))|0;ka=j;da=c[ka>>2]|0;ka=c[ka+4>>2]|0;i=x+k|0;aa=i;ba=c[aa+4>>2]|0;la=j;c[la>>2]=c[aa>>2];c[la+4>>2]=ba;la=i;c[la>>2]=da;c[la+4>>2]=ka;if(l){ba=j+8|0;la=ba;ka=c[la>>2]|0;la=c[la+4>>2]|0;da=i+8|0;$=da;aa=c[$+4>>2]|0;c[ba>>2]=c[$>>2];c[ba+4>>2]=aa;c[da>>2]=ka;c[da+4>>2]=la;da=166}else da=167}else if(l)da=166;else da=167;if((da|0)==166){j=(16<<z)+(u+(v*96|0))|0;ka=j;la=c[ka+4>>2]|0;i=w+m|0;l=i;c[l>>2]=c[ka>>2];c[l+4>>2]=la;i=i+8|0;j=j+8|0;l=1}else if((da|0)==167){i=w+m|0;j=(16<<z)+(u+(v*96|0))|0;l=0}ba=j;ka=c[ba+4>>2]|0;c[i>>2]=c[ba>>2];c[i+4>>2]=ka;i=(24<<z)+(u+(v*96|0))|0;ka=i;ba=c[ka>>2]|0;ka=c[ka+4>>2]|0;j=w+o|0;$=j;aa=c[$+4>>2]|0;la=i;c[la>>2]=c[$>>2];c[la+4>>2]=aa;la=j;c[la>>2]=ba;c[la+4>>2]=ka;if(l){i=i+8|0;ba=i;ka=c[ba>>2]|0;ba=c[ba+4>>2]|0;j=j+8|0;aa=j;la=c[aa+4>>2]|0;c[i>>2]=c[aa>>2];c[i+4>>2]=la;c[j>>2]=ka;c[j+4>>2]=ba;j=(32<<z)+(u+(v*96|0))|0;ba=j;ka=c[ba+4>>2]|0;i=x+m|0;la=i;c[la>>2]=c[ba>>2];c[la+4>>2]=ka;i=i+8|0;j=j+8|0}else{i=x+m|0;j=(32<<z)+(u+(v*96|0))|0}ba=j;ka=c[ba+4>>2]|0;j=i;c[j>>2]=c[ba>>2];c[j+4>>2]=ka;j=(40<<z)+(u+(v*96|0))|0;ka=j;ba=c[ka>>2]|0;ka=c[ka+4>>2]|0;i=x+o|0;$=i;aa=c[$+4>>2]|0;la=j;c[la>>2]=c[$>>2];c[la+4>>2]=aa;la=i;c[la>>2]=ba;c[la+4>>2]=ka;if(l){aa=j+8|0;ka=aa;ba=c[ka>>2]|0;ka=c[ka+4>>2]|0;la=i+8|0;_=la;$=c[_+4>>2]|0;c[aa>>2]=c[_>>2];c[aa+4>>2]=$;c[la>>2]=ba;c[la+4>>2]=ka}i=(c[ca>>2]|0)+1|0;if((i|0)<(c[q>>2]|0)){j=16<<z;la=(c[y>>2]|0)+(i*96|0)+j|0;ka=la;ba=c[ka>>2]|0;ka=c[ka+4>>2]|0;k=17<<z;i=w+k|0;$=i;aa=c[$+4>>2]|0;c[la>>2]=c[$>>2];c[la+4>>2]=aa;la=i;c[la>>2]=ba;c[la+4>>2]=ka;if(l){aa=(c[y>>2]|0)+(((c[ca>>2]|0)+1|0)*96|0)+j+8|0;ka=aa;ba=c[ka>>2]|0;ka=c[ka+4>>2]|0;la=i+8|0;_=la;$=c[_+4>>2]|0;c[aa>>2]=c[_>>2];c[aa+4>>2]=$;c[la>>2]=ba;c[la+4>>2]=ka}j=32<<z;la=(c[y>>2]|0)+(((c[ca>>2]|0)+1|0)*96|0)+j|0;ka=la;ba=c[ka>>2]|0;ka=c[ka+4>>2]|0;i=x+k|0;$=i;aa=c[$+4>>2]|0;c[la>>2]=c[$>>2];c[la+4>>2]=aa;la=i;c[la>>2]=ba;c[la+4>>2]=ka;if(l){aa=(c[y>>2]|0)+(((c[ca>>2]|0)+1|0)*96|0)+j+8|0;la=aa;ka=c[la>>2]|0;la=c[la+4>>2]|0;j=i+8|0;ba=j;ca=c[ba+4>>2]|0;i=aa;c[i>>2]=c[ba>>2];c[i+4>>2]=ca;c[j>>2]=ka;c[j+4>>2]=la;j=V;i=W}else{j=V;i=W}}else{j=V;i=W}}else{j=V;i=W}}else{j=V;i=W}}else{jf(f,g,c[ia>>2]|0,c[ia+4>>2]|0,c[ia+8>>2]|0,f+184|0,f+152|0,f+440|0,f+168|0,f+16|0,f+32|0);j=ea&16777216;G=f+28200|0;i=f+140|0;F=f+144|0;E=g+21660|0;D=g+28560|0;h=ea&1}while(0);C=(h|0)==0;A=(ea&2|0)==0;B=g+21856|0;x=(fa|0)==0;y=f+128|0;z=(j|0)==0;o=(j|0)!=0;w=o?4:1;o=o?i:F;q=f+116|0;r=f+120|0;m=0;while(1){if((m|0)==3)break d;s=c[ha>>2]|0;t=c[ia+(m<<2)>>2]|0;u=m<<4;v=n+(u<<2)|0;k:do if(C){if(A){if(!(c[B>>2]&15))break;if(x)if(z){jc[c[q>>2]&255](t,v,g+28560+(m<<8<<s<<1)|0,p,(m*40|0)+(g+27824)|0);break}else{jc[c[r>>2]&255](t,v,g+28560+(m<<8<<s<<1)|0,p,(m*40|0)+(g+27824)|0);break}i=c[o>>2]|0;j=m<<8;h=0;while(1){if(h>>>0>=16)break k;if(a[(d[91792+(h+u)>>0]|0)+(g+27824)>>0]|0)gc[i&1023](t+(c[v+(h<<2)>>2]|0)|0,g+28560+((h<<4)+j<<s<<1)|0,p);h=h+w|0}}if(x){jc[c[y>>2]&255](t,v,g+28560+(m<<8<<s<<1)|0,p,(m*40|0)+(g+27824)|0);break}if((c[(c[G>>2]|0)+4>>2]|0)==244?(ga=c[E>>2]|0,(ga+-1|0)>>>0<2):0){hc[c[f+25944+(ga<<2)>>2]&255](t,v,g+28560+(m<<8<<s<<1)|0,p);break}j=m<<8;k=(s|0)==0;h=0;while(1){if((h|0)==16)break k;l=(h<<4)+j|0;if(!(a[(d[91792+(h+u)>>0]|0)+(g+27824)>>0]|0)){if(k)i=e[g+28560+(l<<1)>>1]|0;else i=c[D+(l<<2)>>2]|0;if(i|0)da=194}else da=194;if((da|0)==194){da=0;gc[c[F>>2]&1023](t+(c[v+(h<<2)>>2]|0)|0,g+28560+(l<<s<<1)|0,p)}h=h+1|0}}while(0);m=m+1|0}}else{if(!(c[ha>>2]|0)){j=g+27780|0;i=0;while(1){if((i|0)==3)break d;k=ia+(i<<2)|0;l=i<<8;h=0;while(1){if((h|0)==16)break;m=(c[k>>2]|0)+(H(h,p)|0)|0;n=(c[j>>2]|0)+l+(h<<4)|0;o=m+16|0;do{a[m>>0]=a[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));h=h+1|0}i=i+1|0}}m=c[(c[f+28200>>2]|0)+1184>>2]|0;ZP(_,c[g+27780>>2]|0,m*768|0);j=0;while(1){if((j|0)==3)break;k=ia+(j<<2)|0;i=0;while(1){if((i|0)==16)break;l=(c[k>>2]|0)+(H(i,p)|0)|0;h=0;while(1){if((h|0)==16)break;la=(HG(_,m)|0)&65535;b[l+(h<<1)>>1]=la;h=h+1|0}i=i+1|0}j=j+1|0}}while(0);Mb=ja;return}function yc(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,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=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;Y=Mb;Mb=Mb+32|0;X=Y+8|0;A=Y;F=g+21788|0;i=c[F>>2]|0;D=g+21792|0;k=c[D>>2]|0;C=g+21796|0;j=c[C>>2]|0;I=c[(c[f+24364>>2]|0)+(j<<2)>>2]|0;y=g+848|0;T=f+28200|0;h=c[T>>2]|0;if(!(c[y>>2]|0))P=(c[h+16>>2]|0)!=0;else P=0;u=16>>>(c[f+25668>>2]|0);U=(c[h+12>>2]|0)==2;S=c[f+24316>>2]|0;V=f+25652|0;t=c[V>>2]|0;B=i<<t;W=g+21772|0;l=c[W>>2]|0;m=(c[S>>2]|0)+((H(l,k)|0)+B<<4)|0;B=B<<3;h=g+21776|0;o=H(H(u,k)|0,c[h>>2]|0)|0;n=(c[S+4>>2]|0)+B+o|0;o=(c[S+8>>2]|0)+B+o|0;B=f+12|0;t=m+(H(l,i<<2&12)|0)+(64<<t)|0;gc[c[B>>2]&1023](t,l,4);l=n+(H(c[F>>2]&7,c[h>>2]|0)|0)|0;gc[c[B>>2]&1023](l+(64<<c[V>>2])|0,o-n|0,2);l=g+23412|0;a[(c[f+26372>>2]|0)+j>>0]=c[l>>2];B=g+21828|0;t=c[B>>2]|0;i=c[W>>2]|0;a:do if(t){q=i<<1;c[g+21780>>2]=q;p=c[h>>2]|0;r=p<<1;c[g+21784>>2]=r;s=f+26152|0;S=(k&1|0)==0;W=m+(H(i,-15)|0)|0;p=H(1-u|0,p)|0;o=S?o:o+p|0;p=S?n:n+p|0;n=S?m:W;if(!(c[f+26360>>2]|0)){L=q;W=r;R=s;K=n;S=p}else{m=(I&8|0)==0;j=c[l>>2]|0;i=0;while(1){if(i>>>0>=j>>>0){L=q;W=r;R=s;K=n;S=p;break a}b:do if(12288<<(i<<1)&I|0){if(!m){S=g+28272+(i*40|0)+12|0;W=H((a[S>>0]|0)+16^c[D>>2]&1,16843009)|0;c[S>>2]=W;c[g+28272+(i*40|0)+20>>2]=W;c[g+28272+(i*40|0)+28>>2]=W;c[g+28272+(i*40|0)+36>>2]=W;break}h=0;while(1){if(h>>>0>=16)break b;k=(d[91792+h>>0]|0)+(g+28272+(i*40|0))|0;l=a[k>>0]|0;if(l<<24>>24>-1){W=(c[D>>2]&1^(l<<24>>24)+16)*257&65535;b[k>>1]=W;b[k+8>>1]=W}h=h+4|0}}while(0);i=i+1|0}}}else{c[g+21780>>2]=i;W=c[h>>2]|0;c[g+21784>>2]=W;L=i;R=f+25960|0;K=m;S=n}while(0);c:do if(!(I&4)){G=(I&7|0)!=0;d:do if(G){z=g+868|0;i=c[z>>2]|0;e:do if(i|0){w=c[V>>2]|0;do if(c[f+26360>>2]|0){h=(c[g+21832>>2]|0)!=0;if(c[D>>2]&1)if(h){h=1;break}else break e;else{h=(h^1)&1;break}}else h=1;while(0);if((i|0)==2){q=(c[g+832>>2]|0)==(e[(c[f+26356>>2]|0)+((c[C>>2]|0)+-1-(c[f+27e3>>2]|0)<<1)>>1]|0);i=c[g+21732>>2]|0;u=c[F>>2]|0}else{u=c[F>>2]|0;q=(u|0)>0;i=(c[D>>2]|0)>((t|0)!=0|0)&1}p=K+(0-(L+1+w))|0;v=0-(W+1+w)|0;s=S+v|0;v=o+v|0;n=g+27796+(h<<2)|0;t=c[n>>2]|0;r=u+-1|0;k=t+(u*96|0)|0;if(i|0){l=(w|0)==0;do if(q){h=(8<<w)+(t+(r*96|0))|0;m=h;j=c[m>>2]|0;m=c[m+4>>2]|0;i=p+(-7<<w)|0;_=i;Z=c[_+4>>2]|0;Q=h;c[Q>>2]=c[_>>2];c[Q+4>>2]=Z;Q=i;c[Q>>2]=j;c[Q+4>>2]=m;if(l){h=k;j=p+1|0;i=c[h>>2]|0;h=c[h+4>>2]|0;Q=71;break}else{Z=h+8|0;l=Z;j=c[l>>2]|0;l=c[l+4>>2]|0;h=i+8|0;_=h;Q=c[_+4>>2]|0;i=Z;c[i>>2]=c[_>>2];c[i+4>>2]=Q;c[h>>2]=j;c[h+4>>2]=l;h=k;l=1<<w;j=l;l=p+l|0;i=c[h>>2]|0;h=c[h+4>>2]|0;Q=70;break}}else{h=k;i=c[h>>2]|0;h=c[h+4>>2]|0;j=1<<w;m=p+j|0;if(l){j=m;Q=71}else{l=m;Q=70}}while(0);if((Q|0)==70){Z=l;_=c[Z+4>>2]|0;m=k;c[m>>2]=c[Z>>2];c[m+4>>2]=_;m=l;c[m>>2]=i;c[m+4>>2]=h;m=t+(u*96|0)+8|0;_=m;Z=c[_>>2]|0;_=c[_+4>>2]|0;j=p+j+8|0;k=j;l=c[k+4>>2]|0;c[m>>2]=c[k>>2];c[m+4>>2]=l;c[j>>2]=Z;c[j+4>>2]=_;j=1}else if((Q|0)==71){m=j;Z=c[m+4>>2]|0;_=k;c[_>>2]=c[m>>2];c[_+4>>2]=Z;c[j>>2]=i;c[j+4>>2]=h;j=0}h=(8<<w)+(t+(u*96|0))|0;Z=h;m=c[Z>>2]|0;Z=c[Z+4>>2]|0;i=p+(9<<w)|0;k=i;l=c[k+4>>2]|0;_=h;c[_>>2]=c[k>>2];c[_+4>>2]=l;_=i;c[_>>2]=m;c[_+4>>2]=Z;if(j){l=h+8|0;Z=l;m=c[Z>>2]|0;Z=c[Z+4>>2]|0;_=i+8|0;i=_;k=c[i+4>>2]|0;c[l>>2]=c[i>>2];c[l+4>>2]=k;c[_>>2]=m;c[_+4>>2]=Z}h=(c[F>>2]|0)+1|0;if((h|0)<(c[f+26996>>2]|0)?(_=(c[n>>2]|0)+(h*96|0)|0,Z=_,m=c[Z>>2]|0,Z=c[Z+4>>2]|0,x=p+(17<<w)|0,l=x,p=c[l+4>>2]|0,_,c[_>>2]=c[l>>2],c[_+4>>2]=p,_=x,c[_>>2]=m,c[_+4>>2]=Z,j):0){l=(c[n>>2]|0)+(((c[F>>2]|0)+1|0)*96|0)+8|0;Z=l;p=c[Z>>2]|0;Z=c[Z+4>>2]|0;_=x+8|0;m=_;n=c[m+4>>2]|0;x=l;c[x>>2]=c[m>>2];c[x+4>>2]=n;c[_>>2]=p;c[_+4>>2]=Z}l=16<<w;if(q){h=t+(r*96|0)+l|0;Z=h;x=c[Z>>2]|0;Z=c[Z+4>>2]|0;k=-7<<w;i=s+k|0;p=i;q=c[p+4>>2]|0;_=h;c[_>>2]=c[p>>2];c[_+4>>2]=q;_=i;c[_>>2]=x;c[_+4>>2]=Z;if(j){q=h+8|0;Z=q;x=c[Z>>2]|0;Z=c[Z+4>>2]|0;_=i+8|0;n=_;p=c[n+4>>2]|0;c[q>>2]=c[n>>2];c[q+4>>2]=p;c[_>>2]=x;c[_+4>>2]=Z}i=(24<<w)+(t+(r*96|0))|0;Z=i;x=c[Z>>2]|0;Z=c[Z+4>>2]|0;h=v+k|0;q=h;r=c[q+4>>2]|0;_=i;c[_>>2]=c[q>>2];c[_+4>>2]=r;_=h;c[_>>2]=x;c[_+4>>2]=Z;if(j){x=i+8|0;_=x;Z=c[_>>2]|0;_=c[_+4>>2]|0;j=h+8|0;q=j;r=c[q+4>>2]|0;c[x>>2]=c[q>>2];c[x+4>>2]=r;c[j>>2]=Z;c[j+4>>2]=_;j=1}else j=0}i=t+(u*96|0)+l|0;Z=i;x=c[Z>>2]|0;Z=c[Z+4>>2]|0;h=s+1+w|0;r=h;s=c[r+4>>2]|0;_=i;c[_>>2]=c[r>>2];c[_+4>>2]=s;_=h;c[_>>2]=x;c[_+4>>2]=Z;if(j){s=i+8|0;Z=s;x=c[Z>>2]|0;Z=c[Z+4>>2]|0;_=h+8|0;q=_;r=c[q+4>>2]|0;c[s>>2]=c[q>>2];c[s+4>>2]=r;c[_>>2]=x;c[_+4>>2]=Z}i=(24<<w)+(t+(u*96|0))|0;Z=i;x=c[Z>>2]|0;Z=c[Z+4>>2]|0;h=v+1+w|0;v=h;w=c[v+4>>2]|0;_=i;c[_>>2]=c[v>>2];c[_+4>>2]=w;_=h;c[_>>2]=x;c[_+4>>2]=Z;if(j){w=i+8|0;Z=w;x=c[Z>>2]|0;Z=c[Z+4>>2]|0;_=h+8|0;u=_;v=c[u+4>>2]|0;c[w>>2]=c[u>>2];c[w+4>>2]=v;c[_>>2]=x;c[_+4>>2]=Z}}}while(0);w=g+21656|0;ec[c[f+25828+(c[w>>2]<<2)>>2]&255](S,W);ec[c[f+25828+(c[w>>2]<<2)>>2]&255](o,W);w=c[V>>2]|0;h=c[y>>2]|0;f:do if(!(I&1)){ec[c[f+25872+(c[g+21660>>2]<<2)>>2]&255](K,L);if(a[g+27824>>0]|0){if(!P){gc[c[f+132>>2]&1023](g+28560|0,g+31632|0,c[(c[(c[f+28196>>2]|0)+173788>>2]|0)+(h<<6)>>2]|0);break}l=g+28560|0;i=(w|0)==0;j=g+31632|0;h=0;while(1){if((h|0)==16)break f;k=d[79136+h>>0]|0;if(i)b[g+28560+(k<<1)>>1]=b[g+31632+(h<<1)>>1]|0;else c[l+(k<<2)>>2]=c[j+(h<<2)>>2];h=h+1|0}}}else{if(I&16777216|0){if(P){k=c[f+140>>2]|0;j=k}else{j=c[f+104>>2]|0;k=c[f+112>>2]|0}m=g+21756|0;n=g+21764|0;p=f+29696|0;q=(w|0)==0;r=g+28560|0;l=0;while(1){if(l>>>0>=16)break f;s=K+(c[R+(l<<2)>>2]|0)|0;h=d[91792+l>>0]|0;_=a[g+21664+h>>0]|0;i=_<<24>>24;do if(P?(_<<24>>24<2?(c[(c[T>>2]|0)+4>>2]|0)==244:0):0)if((c[p>>2]|0)>>>0<151){gc[c[f+25916+(i<<2)>>2]&1023](s,g+28560+(l<<4<<w<<1)|0,L);break}else{jc[c[f+25924+(i<<2)>>2]&255](s,g+28560+(l<<4<<w<<1)|0,c[m>>2]<<l&32768,c[n>>2]<<l&16384,L);break}else Q=98;while(0);g:do if((Q|0)==98){Q=0;_=a[g+27824+h>>0]|0;hc[c[f+25780+(i<<2)>>2]&255](s,c[m>>2]<<l&32768,c[n>>2]<<l&16384,L);switch(_<<24>>24){case 0:break g;case 1:{h=l<<4;if(q)i=e[g+28560+(h<<1)>>1]|0;else i=c[r+(h<<2)>>2]|0;if(i){gc[k&1023](s,g+28560+(h<<w<<1)|0,L);break g}break}default:h=l<<4}gc[j&1023](s,g+28560+(h<<w<<1)|0,L)}while(0);l=l+4|0}}if(P){l=c[f+144>>2]|0;k=l}else{k=c[f+100>>2]|0;l=c[f+108>>2]|0}n=g+21764|0;p=(w|0)==0;q=4<<w;r=0-L|0;s=3-L|0;t=3-((L|0)/2|0)|0;u=g+28560|0;m=0;while(1){if((m|0)==16)break f;v=K+(c[R+(m<<2)>>2]|0)|0;i=d[91792+m>>0]|0;h=a[g+21664+i>>0]|0;j=h<<24>>24;if(P?(h<<24>>24<2?(c[(c[T>>2]|0)+4>>2]|0)==244:0):0)gc[c[f+25908+(j<<2)>>2]&1023](v,g+28560+(m<<4<<w<<1)|0,L);else{do if((h|4)<<24>>24==7){if(c[n>>2]&32768>>>m|0){h=v+q+r|0;break}if(p){h=H(d[v+s>>0]|0,16843009)|0;c[X>>2]=h;h=X;break}else{Z=MR(e[v+(t<<1)>>1]|0,0,65537,65537)|0;_=M()|0;h=A;c[h>>2]=Z;c[h+4>>2]=_;h=A;break}}else h=0;while(0);gc[c[f+25720+(j<<2)>>2]&1023](v,h,L);switch(a[g+27824+i>>0]|0){case 0:break;case 1:{h=m<<4;if(p)i=e[g+28560+(h<<1)>>1]|0;else i=c[u+(h<<2)>>2]|0;if(!i)Q=128;else gc[l&1023](v,g+28560+(h<<w<<1)|0,L);break}default:{h=m<<4;Q=128}}if((Q|0)==128){Q=0;gc[k&1023](v,g+28560+(h<<w<<1)|0,L)}}m=m+1|0}}while(0);i=c[z>>2]|0;if(i|0){v=c[V>>2]|0;do if(c[f+26360>>2]|0){h=(c[g+21832>>2]|0)!=0;if(c[D>>2]&1)if(h){j=1;break}else break d;else{j=(h^1)&1;break}}else j=1;while(0);if((i|0)==2){p=(c[g+832>>2]|0)==(e[(c[f+26356>>2]|0)+((c[C>>2]|0)+-1-(c[f+27e3>>2]|0)<<1)>>1]|0);h=c[g+21732>>2]|0;t=c[F>>2]|0}else{t=c[F>>2]|0;p=(t|0)>0;h=(c[D>>2]|0)>((c[B>>2]|0)!=0|0)&1}n=K+(0-(L+1+v))|0;u=0-(W+1+v)|0;r=S+u|0;u=o+u|0;m=g+27796+(j<<2)|0;s=c[m>>2]|0;q=t+-1|0;j=s+(t*96|0)|0;if(h|0){l=(v|0)==0;do if(p){h=(8<<v)+(s+(q*96|0))|0;Z=h;Q=c[Z>>2]|0;Z=c[Z+4>>2]|0;i=n+(-7<<v)|0;C=i;D=c[C+4>>2]|0;_=h;c[_>>2]=c[C>>2];c[_+4>>2]=D;_=i;c[_>>2]=Q;c[_+4>>2]=Z;if(l){h=j;j=n+1|0;i=c[h>>2]|0;h=c[h+4>>2]|0;Q=155;break}else{D=h+8|0;k=D;Q=c[k>>2]|0;k=c[k+4>>2]|0;h=i+8|0;Z=h;_=c[Z+4>>2]|0;i=D;c[i>>2]=c[Z>>2];c[i+4>>2]=_;c[h>>2]=Q;c[h+4>>2]=k;h=j;j=1<<v;i=j;j=n+j|0;k=c[h>>2]|0;h=c[h+4>>2]|0;Q=154;break}}else{h=j;k=c[h>>2]|0;h=c[h+4>>2]|0;i=1<<v;j=n+i|0;if(l){i=k;Q=155}else Q=154}while(0);if((Q|0)==154){Z=j;c[Z>>2]=k;c[Z+4>>2]=h;Z=s+(t*96|0)+8|0;_=c[Z+4>>2]|0;j=n+i+8|0;c[j>>2]=c[Z>>2];c[j+4>>2]=_;j=1}else if((Q|0)==155){c[j>>2]=i;c[j+4>>2]=h;j=0}h=(8<<v)+(s+(t*96|0))|0;Z=h;D=c[Z>>2]|0;Z=c[Z+4>>2]|0;i=n+(9<<v)|0;B=i;C=c[B+4>>2]|0;_=h;c[_>>2]=c[B>>2];c[_+4>>2]=C;_=i;c[_>>2]=D;c[_+4>>2]=Z;if(j){C=h+8|0;Z=C;D=c[Z>>2]|0;Z=c[Z+4>>2]|0;_=i+8|0;A=_;B=c[A+4>>2]|0;c[C>>2]=c[A>>2];c[C+4>>2]=B;c[_>>2]=D;c[_+4>>2]=Z}h=(c[F>>2]|0)+1|0;if((h|0)<(c[f+26996>>2]|0)?(_=(c[m>>2]|0)+(h*96|0)|0,Z=_,D=c[Z>>2]|0,Z=c[Z+4>>2]|0,E=n+(17<<v)|0,B=E,C=c[B+4>>2]|0,_,c[_>>2]=c[B>>2],c[_+4>>2]=C,_=E,c[_>>2]=D,c[_+4>>2]=Z,j):0){B=(c[m>>2]|0)+(((c[F>>2]|0)+1|0)*96|0)+8|0;Z=B;F=c[Z>>2]|0;Z=c[Z+4>>2]|0;_=E+8|0;C=_;D=c[C+4>>2]|0;E=B;c[E>>2]=c[C>>2];c[E+4>>2]=D;c[_>>2]=F;c[_+4>>2]=Z}l=16<<v;if(p){h=s+(q*96|0)+l|0;Z=h;F=c[Z>>2]|0;Z=c[Z+4>>2]|0;k=-7<<v;i=r+k|0;D=i;E=c[D+4>>2]|0;_=h;c[_>>2]=c[D>>2];c[_+4>>2]=E;_=i;c[_>>2]=F;c[_+4>>2]=Z;if(j){E=h+8|0;Z=E;F=c[Z>>2]|0;Z=c[Z+4>>2]|0;_=i+8|0;C=_;D=c[C+4>>2]|0;c[E>>2]=c[C>>2];c[E+4>>2]=D;c[_>>2]=F;c[_+4>>2]=Z}i=(24<<v)+(s+(q*96|0))|0;Z=i;F=c[Z>>2]|0;Z=c[Z+4>>2]|0;h=u+k|0;D=h;E=c[D+4>>2]|0;_=i;c[_>>2]=c[D>>2];c[_+4>>2]=E;_=h;c[_>>2]=F;c[_+4>>2]=Z;if(j){F=i+8|0;_=F;Z=c[_>>2]|0;_=c[_+4>>2]|0;j=h+8|0;D=j;E=c[D+4>>2]|0;c[F>>2]=c[D>>2];c[F+4>>2]=E;c[j>>2]=Z;c[j+4>>2]=_;j=1}else j=0}i=s+(t*96|0)+l|0;Z=i;F=c[Z>>2]|0;Z=c[Z+4>>2]|0;h=r+1+v|0;D=h;E=c[D+4>>2]|0;_=i;c[_>>2]=c[D>>2];c[_+4>>2]=E;_=h;c[_>>2]=F;c[_+4>>2]=Z;if(j){E=i+8|0;Z=E;F=c[Z>>2]|0;Z=c[Z+4>>2]|0;_=h+8|0;C=_;D=c[C+4>>2]|0;c[E>>2]=c[C>>2];c[E+4>>2]=D;c[_>>2]=F;c[_+4>>2]=Z}i=(24<<v)+(s+(t*96|0))|0;Z=i;F=c[Z>>2]|0;Z=c[Z+4>>2]|0;h=u+1+v|0;D=h;E=c[D+4>>2]|0;_=i;c[_>>2]=c[D>>2];c[_+4>>2]=E;_=h;c[_>>2]=F;c[_+4>>2]=Z;if(j){E=i+8|0;Z=E;F=c[Z>>2]|0;Z=c[Z+4>>2]|0;_=h+8|0;C=_;D=c[C+4>>2]|0;c[E>>2]=c[C>>2];c[E+4>>2]=D;c[_>>2]=F;c[_+4>>2]=Z}}}}else{h=f+184|0;i=f+152|0;j=f+440|0;k=f+168|0;l=f+16|0;m=f+32|0;if(U){af(f,g,K,S,o,h,i,j,k,l,m);break}else{bf(f,g,K,S,o,h,i,j,k,l,m);break}}while(0);n=c[V>>2]|0;h:do if(!(I&1)){if(!(I&2)){if(!(c[g+21856>>2]&15))break;h=I&16777216;if(!P)if(!h){jc[c[f+116>>2]&255](K,R,g+28560|0,L,g+27824|0);break}else{jc[c[f+120>>2]&255](K,R,g+28560|0,L,g+27824|0);break}j=(h|0)!=0;i=j?4:1;j=c[(j?f+140|0:f+144|0)>>2]|0;h=0;while(1){if(h>>>0>=16)break h;if(a[(d[91792+h>>0]|0)+(g+27824)>>0]|0)gc[j&1023](K+(c[R+(h<<2)>>2]|0)|0,g+28560+(h<<4<<n<<1)|0,L);h=h+i|0}}if(!P){jc[c[f+128>>2]&255](K,R,g+28560|0,L,g+27824|0);break}if((c[(c[T>>2]|0)+4>>2]|0)==244?(J=c[g+21660>>2]|0,(J+-1|0)>>>0<2):0){hc[c[f+25944+(J<<2)>>2]&255](K,R,g+28560|0,L);break}j=(n|0)==0;k=f+144|0;l=g+28560|0;i=0;while(1){if((i|0)==16)break h;m=i<<4;if(!(a[(d[91792+i>>0]|0)+(g+27824)>>0]|0)){if(j)h=e[g+28560+(m<<1)>>1]|0;else h=c[l+(m<<2)>>2]|0;if(h|0)Q=186}else Q=186;if((Q|0)==186){Q=0;gc[c[k>>2]&1023](K+(c[R+(i<<2)>>2]|0)|0,g+28560+(m<<n<<1)|0,L)}i=i+1|0}}while(0);if(c[g+21856>>2]&48|0){c[X>>2]=S;h=X+4|0;c[h>>2]=o;i:do if(P){if((G?(c[(c[T>>2]|0)+4>>2]|0)==244:0)?(N=g+21656|0,O=c[N>>2]|0,(O+-1|0)>>>0<2):0){hc[c[f+25932+(O<<2)>>2]&255](S,R+64|0,g+28560+(256<<c[V>>2]<<1)|0,W);hc[c[f+25932+(c[N>>2]<<2)>>2]&255](c[h>>2]|0,R+128|0,g+28560+(512<<c[V>>2]<<1)|0,W);break}p=c[f+144>>2]|0;q=g+28560|0;o=1;while(1){if((o|0)==3)break i;j=o<<4;m=j|4;r=X+(o+-1<<2)|0;i=j;while(1){if(i>>>0>=m>>>0)break;k=c[V>>2]|0;l=i<<4;if(!(a[(d[91792+i>>0]|0)+(g+27824)>>0]|0)){if(!k)h=e[g+28560+(l<<1)>>1]|0;else h=c[q+(l<<2)>>2]|0;if(h|0)Q=214}else Q=214;if((Q|0)==214){Q=0;gc[p&1023]((c[r>>2]|0)+(c[R+(i<<2)>>2]|0)|0,g+28560+(l<<k<<1)|0,W)}i=i+1|0}j:do if(U){n=j|8;i=m;while(1){if(i>>>0>=n>>>0)break j;j=i+4|0;k=c[V>>2]|0;l=i<<4;if(!(a[(d[91792+j>>0]|0)+(g+27824)>>0]|0)){if(!k)h=e[g+28560+(l<<1)>>1]|0;else h=c[q+(l<<2)>>2]|0;if(h|0)Q=224}else Q=224;if((Q|0)==224){Q=0;gc[p&1023]((c[r>>2]|0)+(c[R+(j<<2)>>2]|0)|0,g+28560+(l<<k<<1)|0,W)}i=i+1|0}}while(0);o=o+1|0}}else{h=c[g+852>>2]|0;if(U){h=h+3|0;i=(c[g+856>>2]|0)+3|0}else i=c[g+856>>2]|0;if(a[g+27864>>0]|0)ec[c[f+136>>2]&255](g+28560+(256<<c[V>>2]<<1)|0,c[(c[(c[f+28196>>2]|0)+173788+((G?1:4)<<2)>>2]|0)+(h<<6)>>2]|0);if(a[g+27904>>0]|0)ec[c[f+136>>2]&255](g+28560+(512<<c[V>>2]<<1)|0,c[(c[(c[f+28196>>2]|0)+173788+((G?2:5)<<2)>>2]|0)+(i<<6)>>2]|0);jc[c[f+124>>2]&255](X,R,g+28560|0,W,g+27824|0)}while(0)}}else{h=c[T>>2]|0;m=c[h+1184>>2]|0;if(!(c[V>>2]|0)){i=g+27780|0;h=0;while(1){if((h|0)==16)break;j=K+(H(h,L)|0)|0;k=(c[i>>2]|0)+(h<<4)|0;l=j+16|0;do{a[j>>0]=a[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));h=h+1|0}if(!(c[(c[T>>2]|0)+12>>2]|0)){i=1<<m+-1&255;h=0;while(1){if((h|0)==8)break c;_=H(h,W)|0;jv(S+_|0,i|0,8)|0;jv(o+_|0,i|0,8)|0;h=h+1|0}}else{i=(c[i>>2]|0)+256|0;j=i+(u<<3)|0;h=0;while(1){if((h|0)>=(u|0))break c;_=H(h,W)|0;Z=h<<3;X=i+Z|0;U=X;U=d[U>>0]|d[U+1>>0]<<8|d[U+2>>0]<<16|d[U+3>>0]<<24;X=X+4|0;X=d[X>>0]|d[X+1>>0]<<8|d[X+2>>0]<<16|d[X+3>>0]<<24;g=S+_|0;V=g;a[V>>0]=U;a[V+1>>0]=U>>8;a[V+2>>0]=U>>16;a[V+3>>0]=U>>24;g=g+4|0;a[g>>0]=X;a[g+1>>0]=X>>8;a[g+2>>0]=X>>16;a[g+3>>0]=X>>24;Z=j+Z|0;g=Z;g=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;Z=Z+4|0;Z=d[Z>>0]|d[Z+1>>0]<<8|d[Z+2>>0]<<16|d[Z+3>>0]<<24;_=o+_|0;X=_;a[X>>0]=g;a[X+1>>0]=g>>8;a[X+2>>0]=g>>16;a[X+3>>0]=g>>24;_=_+4|0;a[_>>0]=Z;a[_+1>>0]=Z>>8;a[_+2>>0]=Z>>16;a[_+3>>0]=Z>>24;h=h+1|0}}}ZP(X,c[g+27780>>2]|0,H(m,e[167668+(c[h+12>>2]<<1)>>1]|0)|0);i=0;while(1){if((i|0)==16)break;j=K+(H(i,L)|0)|0;h=0;while(1){if((h|0)==16)break;_=(HG(X,m)|0)&65535;b[j+(h<<1)>>1]=_;h=h+1|0}i=i+1|0}k:do if(!(c[(c[T>>2]|0)+12>>2]|0)){j=1<<m+-1&65535;i=0;while(1){if((i|0)>=(u|0))break k;l=H(i,W)|0;k=S+l|0;l=o+l|0;h=0;while(1){if((h|0)==8)break;b[l+(h<<1)>>1]=j;b[k+(h<<1)>>1]=j;h=h+1|0}i=i+1|0}}else{i=0;while(1){if((i|0)>=(u|0))break;j=S+(H(i,W)|0)|0;h=0;while(1){if((h|0)==8)break;_=(HG(X,m)|0)&65535;b[j+(h<<1)>>1]=_;h=h+1|0}i=i+1|0}i=0;while(1){if((i|0)>=(u|0))break k;j=o+(H(i,W)|0)|0;h=0;while(1){if((h|0)==8)break;_=(HG(X,m)|0)&65535;b[j+(h<<1)>>1]=_;h=h+1|0}i=i+1|0}}while(0)}while(0);Mb=Y;return}function zc(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;w=Mb;Mb=Mb+16|0;n=w;do if(a>>>0<245){k=a>>>0<11?16:a+11&-8;a=k>>>3;m=c[278163]|0;d=m>>>a;if(d&3|0){b=(d&1^1)+a|0;a=1112692+(b<<1<<2)|0;d=a+8|0;e=c[d>>2]|0;f=e+8|0;g=c[f>>2]|0;if((g|0)==(a|0))c[278163]=m&~(1<<b);else{c[g+12>>2]=a;c[d>>2]=g}v=b<<3;c[e+4>>2]=v|3;v=e+v+4|0;c[v>>2]=c[v>>2]|1;v=f;Mb=w;return v|0}l=c[278165]|0;if(k>>>0>l>>>0){if(d|0){b=2<<a;b=d<<a&(b|0-b);b=(b&0-b)+-1|0;i=b>>>12&16;b=b>>>i;d=b>>>5&8;b=b>>>d;g=b>>>2&4;b=b>>>g;a=b>>>1&2;b=b>>>a;e=b>>>1&1;e=(d|i|g|a|e)+(b>>>e)|0;b=1112692+(e<<1<<2)|0;a=b+8|0;g=c[a>>2]|0;i=g+8|0;d=c[i>>2]|0;if((d|0)==(b|0)){a=m&~(1<<e);c[278163]=a}else{c[d+12>>2]=b;c[a>>2]=d;a=m}v=e<<3;h=v-k|0;c[g+4>>2]=k|3;f=g+k|0;c[f+4>>2]=h|1;c[g+v>>2]=h;if(l|0){e=c[278168]|0;b=l>>>3;d=1112692+(b<<1<<2)|0;b=1<<b;if(!(a&b)){c[278163]=a|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=e;c[b+12>>2]=e;c[e+8>>2]=b;c[e+12>>2]=d}c[278165]=h;c[278168]=f;v=i;Mb=w;return v|0}g=c[278164]|0;if(g){d=(g&0-g)+-1|0;f=d>>>12&16;d=d>>>f;e=d>>>5&8;d=d>>>e;h=d>>>2&4;d=d>>>h;i=d>>>1&2;d=d>>>i;j=d>>>1&1;j=c[1112956+((e|f|h|i|j)+(d>>>j)<<2)>>2]|0;d=j;i=j;j=(c[j+4>>2]&-8)-k|0;while(1){a=c[d+16>>2]|0;if(!a){a=c[d+20>>2]|0;if(!a)break}h=(c[a+4>>2]&-8)-k|0;f=h>>>0<j>>>0;d=a;i=f?a:i;j=f?h:j}h=i+k|0;if(h>>>0>i>>>0){f=c[i+24>>2]|0;b=c[i+12>>2]|0;do if((b|0)==(i|0)){a=i+20|0;b=c[a>>2]|0;if(!b){a=i+16|0;b=c[a>>2]|0;if(!b){d=0;break}}while(1){e=b+20|0;d=c[e>>2]|0;if(!d){e=b+16|0;d=c[e>>2]|0;if(!d)break;else{b=d;a=e}}else{b=d;a=e}}c[a>>2]=0;d=b}else{d=c[i+8>>2]|0;c[d+12>>2]=b;c[b+8>>2]=d;d=b}while(0);do if(f|0){b=c[i+28>>2]|0;a=1112956+(b<<2)|0;if((i|0)==(c[a>>2]|0)){c[a>>2]=d;if(!d){c[278164]=g&~(1<<b);break}}else{v=f+16|0;c[((c[v>>2]|0)==(i|0)?v:f+20|0)>>2]=d;if(!d)break}c[d+24>>2]=f;b=c[i+16>>2]|0;if(b|0){c[d+16>>2]=b;c[b+24>>2]=d}b=c[i+20>>2]|0;if(b|0){c[d+20>>2]=b;c[b+24>>2]=d}}while(0);if(j>>>0<16){v=j+k|0;c[i+4>>2]=v|3;v=i+v+4|0;c[v>>2]=c[v>>2]|1}else{c[i+4>>2]=k|3;c[h+4>>2]=j|1;c[h+j>>2]=j;if(l|0){e=c[278168]|0;b=l>>>3;d=1112692+(b<<1<<2)|0;b=1<<b;if(!(b&m)){c[278163]=b|m;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=e;c[b+12>>2]=e;c[e+8>>2]=b;c[e+12>>2]=d}c[278165]=j;c[278168]=h}v=i+8|0;Mb=w;return v|0}else m=k}else m=k}else m=k}else if(a>>>0<=4294967231){a=a+11|0;k=a&-8;e=c[278164]|0;if(e){f=0-k|0;a=a>>>8;if(a)if(k>>>0>16777215)j=31;else{m=(a+1048320|0)>>>16&8;q=a<<m;i=(q+520192|0)>>>16&4;q=q<<i;j=(q+245760|0)>>>16&2;j=14-(i|m|j)+(q<<j>>>15)|0;j=k>>>(j+7|0)&1|j<<1}else j=0;d=c[1112956+(j<<2)>>2]|0;a:do if(!d){d=0;a=0;q=61}else{a=0;i=k<<((j|0)==31?0:25-(j>>>1)|0);g=0;while(1){h=(c[d+4>>2]&-8)-k|0;if(h>>>0<f>>>0)if(!h){a=d;f=0;q=65;break a}else{a=d;f=h}q=c[d+20>>2]|0;d=c[d+16+(i>>>31<<2)>>2]|0;g=(q|0)==0|(q|0)==(d|0)?g:q;if(!d){d=g;q=61;break}else i=i<<1}}while(0);if((q|0)==61){if((d|0)==0&(a|0)==0){a=2<<j;a=(a|0-a)&e;if(!a){m=k;break}m=(a&0-a)+-1|0;h=m>>>12&16;m=m>>>h;g=m>>>5&8;m=m>>>g;i=m>>>2&4;m=m>>>i;j=m>>>1&2;m=m>>>j;d=m>>>1&1;a=0;d=c[1112956+((g|h|i|j|d)+(m>>>d)<<2)>>2]|0}if(!d){i=a;h=f}else q=65}if((q|0)==65){g=d;while(1){m=(c[g+4>>2]&-8)-k|0;d=m>>>0<f>>>0;f=d?m:f;a=d?g:a;d=c[g+16>>2]|0;if(!d)d=c[g+20>>2]|0;if(!d){i=a;h=f;break}else g=d}}if(((i|0)!=0?h>>>0<((c[278165]|0)-k|0)>>>0:0)?(l=i+k|0,l>>>0>i>>>0):0){g=c[i+24>>2]|0;b=c[i+12>>2]|0;do if((b|0)==(i|0)){a=i+20|0;b=c[a>>2]|0;if(!b){a=i+16|0;b=c[a>>2]|0;if(!b){b=0;break}}while(1){f=b+20|0;d=c[f>>2]|0;if(!d){f=b+16|0;d=c[f>>2]|0;if(!d)break;else{b=d;a=f}}else{b=d;a=f}}c[a>>2]=0}else{v=c[i+8>>2]|0;c[v+12>>2]=b;c[b+8>>2]=v}while(0);do if(g){a=c[i+28>>2]|0;d=1112956+(a<<2)|0;if((i|0)==(c[d>>2]|0)){c[d>>2]=b;if(!b){e=e&~(1<<a);c[278164]=e;break}}else{v=g+16|0;c[((c[v>>2]|0)==(i|0)?v:g+20|0)>>2]=b;if(!b)break}c[b+24>>2]=g;a=c[i+16>>2]|0;if(a|0){c[b+16>>2]=a;c[a+24>>2]=b}a=c[i+20>>2]|0;if(a){c[b+20>>2]=a;c[a+24>>2]=b}}while(0);b:do if(h>>>0<16){v=h+k|0;c[i+4>>2]=v|3;v=i+v+4|0;c[v>>2]=c[v>>2]|1}else{c[i+4>>2]=k|3;c[l+4>>2]=h|1;c[l+h>>2]=h;b=h>>>3;if(h>>>0<256){d=1112692+(b<<1<<2)|0;a=c[278163]|0;b=1<<b;if(!(a&b)){c[278163]=a|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=l;c[b+12>>2]=l;c[l+8>>2]=b;c[l+12>>2]=d;break}b=h>>>8;if(b)if(h>>>0>16777215)d=31;else{u=(b+1048320|0)>>>16&8;v=b<<u;t=(v+520192|0)>>>16&4;v=v<<t;d=(v+245760|0)>>>16&2;d=14-(t|u|d)+(v<<d>>>15)|0;d=h>>>(d+7|0)&1|d<<1}else d=0;b=1112956+(d<<2)|0;c[l+28>>2]=d;a=l+16|0;c[a+4>>2]=0;c[a>>2]=0;a=1<<d;if(!(e&a)){c[278164]=e|a;c[b>>2]=l;c[l+24>>2]=b;c[l+12>>2]=l;c[l+8>>2]=l;break}b=c[b>>2]|0;c:do if((c[b+4>>2]&-8|0)!=(h|0)){e=h<<((d|0)==31?0:25-(d>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(h|0)){b=a;break c}else{e=e<<1;b=a}}c[d>>2]=l;c[l+24>>2]=b;c[l+12>>2]=l;c[l+8>>2]=l;break b}while(0);u=b+8|0;v=c[u>>2]|0;c[v+12>>2]=l;c[u>>2]=l;c[l+8>>2]=v;c[l+12>>2]=b;c[l+24>>2]=0}while(0);v=i+8|0;Mb=w;return v|0}else m=k}else m=k}else m=-1;while(0);d=c[278165]|0;if(d>>>0>=m>>>0){b=d-m|0;a=c[278168]|0;if(b>>>0>15){v=a+m|0;c[278168]=v;c[278165]=b;c[v+4>>2]=b|1;c[a+d>>2]=b;c[a+4>>2]=m|3}else{c[278165]=0;c[278168]=0;c[a+4>>2]=d|3;v=a+d+4|0;c[v>>2]=c[v>>2]|1}v=a+8|0;Mb=w;return v|0}h=c[278166]|0;if(h>>>0>m>>>0){t=h-m|0;c[278166]=t;v=c[278169]|0;u=v+m|0;c[278169]=u;c[u+4>>2]=t|1;c[v+4>>2]=m|3;v=v+8|0;Mb=w;return v|0}if(!(c[278281]|0)){c[278283]=4096;c[278282]=4096;c[278284]=-1;c[278285]=-1;c[278286]=0;c[278274]=0;c[278281]=n&-16^1431655768;a=4096}else a=c[278283]|0;i=m+48|0;j=m+47|0;g=a+j|0;f=0-a|0;k=g&f;if(k>>>0<=m>>>0){v=0;Mb=w;return v|0}a=c[278273]|0;if(a|0?(l=c[278271]|0,n=l+k|0,n>>>0<=l>>>0|n>>>0>a>>>0):0){v=0;Mb=w;return v|0}d:do if(!(c[278274]&4)){d=c[278169]|0;e:do if(d){e=1113100;while(1){n=c[e>>2]|0;if(n>>>0<=d>>>0?(n+(c[e+4>>2]|0)|0)>>>0>d>>>0:0)break;a=c[e+8>>2]|0;if(!a){q=128;break e}else e=a}b=g-h&f;if(b>>>0<2147483647){a=yG(b|0)|0;if((a|0)==((c[e>>2]|0)+(c[e+4>>2]|0)|0)){if((a|0)!=(-1|0)){h=b;g=a;q=145;break d}}else{e=a;q=136}}else b=0}else q=128;while(0);do if((q|0)==128){d=yG(0)|0;if((d|0)!=(-1|0)?(b=d,o=c[278282]|0,p=o+-1|0,b=((p&b|0)==0?0:(p+b&0-o)-b|0)+k|0,o=c[278271]|0,p=b+o|0,b>>>0>m>>>0&b>>>0<2147483647):0){n=c[278273]|0;if(n|0?p>>>0<=o>>>0|p>>>0>n>>>0:0){b=0;break}a=yG(b|0)|0;if((a|0)==(d|0)){h=b;g=d;q=145;break d}else{e=a;q=136}}else b=0}while(0);do if((q|0)==136){d=0-b|0;if(!(i>>>0>b>>>0&(b>>>0<2147483647&(e|0)!=(-1|0))))if((e|0)==(-1|0)){b=0;break}else{h=b;g=e;q=145;break d}a=c[278283]|0;a=j-b+a&0-a;if(a>>>0>=2147483647){h=b;g=e;q=145;break d}if((yG(a|0)|0)==(-1|0)){yG(d|0)|0;b=0;break}else{h=a+b|0;g=e;q=145;break d}}while(0);c[278274]=c[278274]|4;q=143}else{b=0;q=143}while(0);if(((q|0)==143?k>>>0<2147483647:0)?(t=yG(k|0)|0,p=yG(0)|0,r=p-t|0,s=r>>>0>(m+40|0)>>>0,!((t|0)==(-1|0)|s^1|t>>>0<p>>>0&((t|0)!=(-1|0)&(p|0)!=(-1|0))^1)):0){h=s?r:b;g=t;q=145}if((q|0)==145){b=(c[278271]|0)+h|0;c[278271]=b;if(b>>>0>(c[278272]|0)>>>0)c[278272]=b;j=c[278169]|0;f:do if(j){b=1113100;while(1){a=c[b>>2]|0;d=c[b+4>>2]|0;if((g|0)==(a+d|0)){q=154;break}e=c[b+8>>2]|0;if(!e)break;else b=e}if(((q|0)==154?(u=b+4|0,(c[b+12>>2]&8|0)==0):0)?g>>>0>j>>>0&a>>>0<=j>>>0:0){c[u>>2]=d+h;v=(c[278166]|0)+h|0;t=j+8|0;t=(t&7|0)==0?0:0-t&7;u=j+t|0;t=v-t|0;c[278169]=u;c[278166]=t;c[u+4>>2]=t|1;c[j+v+4>>2]=40;c[278170]=c[278285];break}if(g>>>0<(c[278167]|0)>>>0)c[278167]=g;d=g+h|0;b=1113100;while(1){if((c[b>>2]|0)==(d|0)){q=162;break}a=c[b+8>>2]|0;if(!a)break;else b=a}if((q|0)==162?(c[b+12>>2]&8|0)==0:0){c[b>>2]=g;l=b+4|0;c[l>>2]=(c[l>>2]|0)+h;l=g+8|0;l=g+((l&7|0)==0?0:0-l&7)|0;b=d+8|0;b=d+((b&7|0)==0?0:0-b&7)|0;k=l+m|0;i=b-l-m|0;c[l+4>>2]=m|3;g:do if((j|0)==(b|0)){v=(c[278166]|0)+i|0;c[278166]=v;c[278169]=k;c[k+4>>2]=v|1}else{if((c[278168]|0)==(b|0)){v=(c[278165]|0)+i|0;c[278165]=v;c[278168]=k;c[k+4>>2]=v|1;c[k+v>>2]=v;break}a=c[b+4>>2]|0;if((a&3|0)==1){h=a&-8;e=a>>>3;h:do if(a>>>0<256){a=c[b+8>>2]|0;d=c[b+12>>2]|0;if((d|0)==(a|0)){c[278163]=c[278163]&~(1<<e);break}else{c[a+12>>2]=d;c[d+8>>2]=a;break}}else{g=c[b+24>>2]|0;a=c[b+12>>2]|0;do if((a|0)==(b|0)){d=b+16|0;e=d+4|0;a=c[e>>2]|0;if(!a){a=c[d>>2]|0;if(!a){a=0;break}}else d=e;while(1){f=a+20|0;e=c[f>>2]|0;if(!e){f=a+16|0;e=c[f>>2]|0;if(!e)break;else{a=e;d=f}}else{a=e;d=f}}c[d>>2]=0}else{v=c[b+8>>2]|0;c[v+12>>2]=a;c[a+8>>2]=v}while(0);if(!g)break;d=c[b+28>>2]|0;e=1112956+(d<<2)|0;do if((c[e>>2]|0)!=(b|0)){v=g+16|0;c[((c[v>>2]|0)==(b|0)?v:g+20|0)>>2]=a;if(!a)break h}else{c[e>>2]=a;if(a|0)break;c[278164]=c[278164]&~(1<<d);break h}while(0);c[a+24>>2]=g;d=b+16|0;e=c[d>>2]|0;if(e|0){c[a+16>>2]=e;c[e+24>>2]=a}d=c[d+4>>2]|0;if(!d)break;c[a+20>>2]=d;c[d+24>>2]=a}while(0);b=b+h|0;f=h+i|0}else f=i;b=b+4|0;c[b>>2]=c[b>>2]&-2;c[k+4>>2]=f|1;c[k+f>>2]=f;b=f>>>3;if(f>>>0<256){d=1112692+(b<<1<<2)|0;a=c[278163]|0;b=1<<b;if(!(a&b)){c[278163]=a|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=k;c[b+12>>2]=k;c[k+8>>2]=b;c[k+12>>2]=d;break}b=f>>>8;do if(!b)e=0;else{if(f>>>0>16777215){e=31;break}u=(b+1048320|0)>>>16&8;v=b<<u;t=(v+520192|0)>>>16&4;v=v<<t;e=(v+245760|0)>>>16&2;e=14-(t|u|e)+(v<<e>>>15)|0;e=f>>>(e+7|0)&1|e<<1}while(0);b=1112956+(e<<2)|0;c[k+28>>2]=e;a=k+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[278164]|0;d=1<<e;if(!(a&d)){c[278164]=a|d;c[b>>2]=k;c[k+24>>2]=b;c[k+12>>2]=k;c[k+8>>2]=k;break}b=c[b>>2]|0;i:do if((c[b+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(f|0)){b=a;break i}else{e=e<<1;b=a}}c[d>>2]=k;c[k+24>>2]=b;c[k+12>>2]=k;c[k+8>>2]=k;break g}while(0);u=b+8|0;v=c[u>>2]|0;c[v+12>>2]=k;c[u>>2]=k;c[k+8>>2]=v;c[k+12>>2]=b;c[k+24>>2]=0}while(0);v=l+8|0;Mb=w;return v|0}b=1113100;while(1){a=c[b>>2]|0;if(a>>>0<=j>>>0?(v=a+(c[b+4>>2]|0)|0,v>>>0>j>>>0):0)break;b=c[b+8>>2]|0}f=v+-47|0;a=f+8|0;a=f+((a&7|0)==0?0:0-a&7)|0;f=j+16|0;a=a>>>0<f>>>0?j:a;b=a+8|0;d=h+-40|0;t=g+8|0;t=(t&7|0)==0?0:0-t&7;u=g+t|0;t=d-t|0;c[278169]=u;c[278166]=t;c[u+4>>2]=t|1;c[g+d+4>>2]=40;c[278170]=c[278285];d=a+4|0;c[d>>2]=27;c[b>>2]=c[278275];c[b+4>>2]=c[278276];c[b+8>>2]=c[278277];c[b+12>>2]=c[278278];c[278275]=g;c[278276]=h;c[278278]=0;c[278277]=b;b=a+24|0;do{u=b;b=b+4|0;c[b>>2]=7}while((u+8|0)>>>0<v>>>0);if((a|0)!=(j|0)){g=a-j|0;c[d>>2]=c[d>>2]&-2;c[j+4>>2]=g|1;c[a>>2]=g;b=g>>>3;if(g>>>0<256){d=1112692+(b<<1<<2)|0;a=c[278163]|0;b=1<<b;if(!(a&b)){c[278163]=a|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=j;c[b+12>>2]=j;c[j+8>>2]=b;c[j+12>>2]=d;break}b=g>>>8;if(b)if(g>>>0>16777215)e=31;else{u=(b+1048320|0)>>>16&8;v=b<<u;t=(v+520192|0)>>>16&4;v=v<<t;e=(v+245760|0)>>>16&2;e=14-(t|u|e)+(v<<e>>>15)|0;e=g>>>(e+7|0)&1|e<<1}else e=0;d=1112956+(e<<2)|0;c[j+28>>2]=e;c[j+20>>2]=0;c[f>>2]=0;b=c[278164]|0;a=1<<e;if(!(b&a)){c[278164]=b|a;c[d>>2]=j;c[j+24>>2]=d;c[j+12>>2]=j;c[j+8>>2]=j;break}b=c[d>>2]|0;j:do if((c[b+4>>2]&-8|0)!=(g|0)){e=g<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(g|0)){b=a;break j}else{e=e<<1;b=a}}c[d>>2]=j;c[j+24>>2]=b;c[j+12>>2]=j;c[j+8>>2]=j;break f}while(0);u=b+8|0;v=c[u>>2]|0;c[v+12>>2]=j;c[u>>2]=j;c[j+8>>2]=v;c[j+12>>2]=b;c[j+24>>2]=0}}else{v=c[278167]|0;if((v|0)==0|g>>>0<v>>>0)c[278167]=g;c[278275]=g;c[278276]=h;c[278278]=0;c[278172]=c[278281];c[278171]=-1;c[278176]=1112692;c[278175]=1112692;c[278178]=1112700;c[278177]=1112700;c[278180]=1112708;c[278179]=1112708;c[278182]=1112716;c[278181]=1112716;c[278184]=1112724;c[278183]=1112724;c[278186]=1112732;c[278185]=1112732;c[278188]=1112740;c[278187]=1112740;c[278190]=1112748;c[278189]=1112748;c[278192]=1112756;c[278191]=1112756;c[278194]=1112764;c[278193]=1112764;c[278196]=1112772;c[278195]=1112772;c[278198]=1112780;c[278197]=1112780;c[278200]=1112788;c[278199]=1112788;c[278202]=1112796;c[278201]=1112796;c[278204]=1112804;c[278203]=1112804;c[278206]=1112812;c[278205]=1112812;c[278208]=1112820;c[278207]=1112820;c[278210]=1112828;c[278209]=1112828;c[278212]=1112836;c[278211]=1112836;c[278214]=1112844;c[278213]=1112844;c[278216]=1112852;c[278215]=1112852;c[278218]=1112860;c[278217]=1112860;c[278220]=1112868;c[278219]=1112868;c[278222]=1112876;c[278221]=1112876;c[278224]=1112884;c[278223]=1112884;c[278226]=1112892;c[278225]=1112892;c[278228]=1112900;c[278227]=1112900;c[278230]=1112908;c[278229]=1112908;c[278232]=1112916;c[278231]=1112916;c[278234]=1112924;c[278233]=1112924;c[278236]=1112932;c[278235]=1112932;c[278238]=1112940;c[278237]=1112940;v=h+-40|0;t=g+8|0;t=(t&7|0)==0?0:0-t&7;u=g+t|0;t=v-t|0;c[278169]=u;c[278166]=t;c[u+4>>2]=t|1;c[g+v+4>>2]=40;c[278170]=c[278285]}while(0);b=c[278166]|0;if(b>>>0>m>>>0){t=b-m|0;c[278166]=t;v=c[278169]|0;u=v+m|0;c[278169]=u;c[u+4>>2]=t|1;c[v+4>>2]=m|3;v=v+8|0;Mb=w;return v|0}}v=j2()|0;c[v>>2]=12;v=0;Mb=w;return v|0}function Ac(a,b,e){a=a|0;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,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,$=0,aa=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;ia=Mb;Mb=Mb+864|0;Z=ia;Y=ia+848|0;da=ia+808|0;X=ia+800|0;W=ia+792|0;V=ia+784|0;U=ia+768|0;R=ia+760|0;Q=ia+752|0;P=ia+744|0;O=ia+728|0;L=ia+712|0;K=ia+704|0;J=ia+696|0;I=ia+688|0;H=ia+672|0;G=ia+664|0;E=ia+656|0;B=ia+648|0;A=ia+640|0;z=ia+632|0;y=ia+624|0;x=ia+616|0;w=ia+608|0;s=ia+600|0;r=ia+592|0;q=ia+584|0;p=ia+576|0;o=ia+560|0;ca=ia+552|0;n=ia+544|0;m=ia+536|0;l=ia+528|0;j=ia+520|0;i=ia+512|0;ha=ia+832|0;_=ia+840|0;$=ia+824|0;c[ha>>2]=0;do if(!(V0(a)|0)){ga=a+12|0;g=c[ga>>2]|0;h=(g|0)==0;if(!b)if(h){AD(a,16,194178,i);f=-22;break}else ea=g;else if(h|(g|0)==(b|0))ea=b;else{f=c[b>>2]|0;c[j>>2]=c[g>>2];c[j+4>>2]=f;AD(a,16,194216,j);f=-22;break}if((c[a+104>>2]|0)>>>0<=268435423){fa=(e|0)!=0;if(fa)KP(ha,c[e>>2]|0,0)|0;b=Hv(a,ea)|0;if((b|0)>=0){T=EZ(116)|0;aa=a+64|0;c[aa>>2]=T;a:do if(!T)f=-12;else{T=EZ(88)|0;c[(c[aa>>2]|0)+16>>2]=T;b:do if(((((((T|0)!=0?(T=CX()|0,c[(c[aa>>2]|0)+12>>2]=T,(T|0)!=0):0)?(T=CX()|0,c[(c[aa>>2]|0)+100>>2]=T,(T|0)!=0):0)?(T=CX()|0,c[(c[aa>>2]|0)+76>>2]=T,(T|0)!=0):0)?(T=A$()|0,c[(c[aa>>2]|0)+68>>2]=T,(T|0)!=0):0)?(T=A$()|0,c[(c[aa>>2]|0)+24>>2]=T,(T|0)!=0):0)?(T=A$()|0,k=c[aa>>2]|0,c[k+40>>2]=T,(T|0)!=0):0){c[k+108>>2]=1;S=ea+52|0;b=c[S>>2]|0;T=a+60|0;do if((b|0)>0){if(!(c[T>>2]|0)){g=EZ(b)|0;c[T>>2]=g;if(!g){f=-12;break a}b=ea+44|0;h=c[b>>2]|0;if(!h)break;c[g>>2]=h;R0(g)}else b=ea+44|0;if(c[b>>2]|0?(f=u0(c[T>>2]|0,ha)|0,(f|0)<0):0)break b}else c[T>>2]=0;while(0);f=u0(a,ha)|0;if((f|0)>=0){b=a+960|0;g=c[b>>2]|0;do if(g|0){if((ov(c[ea>>2]|0,g,44)|0)>=1)break;f=c[b>>2]|0;c[l>>2]=c[ea>>2];c[l+4>>2]=f;AD(a,16,194292,l);f=-22;break b}while(0);i=a+132|0;b=c[i>>2]|0;c:do if(!b)N=38;else{g=c[a+136>>2]|0;if(!g){N=38;break}do if(c[a+124>>2]|0){if(!(c[a+128>>2]|0))break;switch(c[a+48>>2]|0){case 190:case 93:case 28:{N=44;break c}default:{}}}while(0);f=NE(a,b,g)|0;N=41}while(0);do if((N|0)==38){g=c[a+124>>2]|0;if(!g){N=43;break}h=c[a+128>>2]|0;if(!h){N=43;break}f=NE(a,g,h)|0;N=41}while(0);if((N|0)==41){if((f|0)<0)break;b=c[i>>2]|0;N=43}do if((N|0)==43){if(b|0){N=44;break}g=c[a+136>>2]|0;if(g|0){b=0;N=48;break}b=a+124|0;if(c[b>>2]|0){b=0;g=0;N=48;break}if(!(c[a+128>>2]|0))t=b;else{b=0;g=0;N=48}}while(0);if((N|0)==44){g=c[a+136>>2]|0;N=48}do if((N|0)==48){h=a+992|0;F=h;i=a+124|0;if((rr(b,g,c[F>>2]|0,c[F+4>>2]|0,-1,0,a)|0)>=0?(F=h,(rr(c[i>>2]|0,c[a+128>>2]|0,c[F>>2]|0,c[F+4>>2]|0,-1,0,a)|0)>=0):0){t=i;break}AD(a,24,194326,m);NE(a,0,0)|0;t=i}while(0);b=c[t>>2]|0;do if((b|0)>0){g=c[a+128>>2]|0;if((g|0)<=0)break;h=a+228|0;c[Z>>2]=c[h>>2];c[Z+4>>2]=c[h+4>>2];if((KB(b,g,Z)|0)>=0)break;F=a+232|0;D=c[F>>2]|0;c[n>>2]=c[h>>2];c[n+4>>2]=D;AD(a,24,194364,n);c[a+228>>2]=0;c[F>>2]=1}while(0);if(cW(ea)|0)bU(a+848|0);D=a+420|0;if((c[D>>2]|0)>>>0>64){f=-22;break}c[ga>>2]=ea;F=a+8|0;h=c[F>>2]|0;do if((h|0)==-1)N=61;else{if((h|0)==(c[ea+8>>2]|0)){N=61;break}g=a+48|0;l=g;g=c[g>>2]|0;b=h}while(0);do if((N|0)==61){b=a+48|0;g=c[b>>2]|0;if(g|0){l=b;b=h;break}C=c[ea+8>>2]|0;c[F>>2]=C;g=c[ea+12>>2]|0;c[b>>2]=g;l=b;b=C}while(0);h=ea+12|0;do if((g|0)==(c[h>>2]|0)){if(!((b|0)==4?1:(b|0)==(c[ea+8>>2]|0)))break;c[a+432>>2]=0;b=hT(g)|0;C=a+900|0;c[C>>2]=b;b=c[ga>>2]|0;do if(c[b+16>>2]&512|0){if((c[a+672>>2]|0)<=-2)break;b=(xU(ea)|0)==0;b=b?194422:194430;da=c[ea>>2]|0;c[o>>2]=b;c[o+4>>2]=da;c[o+8>>2]=-2;AD(a,16,194438,o);da=(xU(ea)|0)==0;f=c[h>>2]|0;if(da)f=f1(f)|0;else f=e1(f)|0;if(c[f+16>>2]&512|0){f=-733130664;break b}f=c[f>>2]|0;c[p>>2]=b;c[p+4>>2]=f;AD(a,16,194548,p);f=-733130664;break b}while(0);do if((c[F>>2]|0)==1){h=a+108|0;g=a+112|0;if(c[h>>2]|0?c[g>>2]|0:0)break;c[h>>2]=1;c[g>>2]=c[a+416>>2]}while(0);if(!((c[(c[aa>>2]|0)+52>>2]|0)!=0?(c[a+808>>2]&1|0)!=0:0)){f=XQ(a)|0;if((f|0)<0)break b;b=c[ga>>2]|0}g=d[b+40>>0]|0;h=a+792|0;if((c[h>>2]|0)>>>0>g>>>0){c[q>>2]=g;AD(a,24,194597,q);b=c[ga>>2]|0;c[h>>2]=d[b+40>>0]}if(c[a+684>>2]|0){AD(a,24,194658,r);b=c[ga>>2]|0}d:do if(xU(b)|0){r=CX()|0;c[a+796>>2]=r;if(!r){f=-12;break b}m=a+108|0;do if((c[m>>2]|0)>=1){n=a+112|0;if((c[n>>2]|0)<1)break;g=c[ga>>2]|0;b=c[g+32>>2]|0;e:do if(!b)j=g;else{k=a+424|0;j=0;while(1){h=c[b+(j<<2)>>2]|0;if((h|0)==-1)break;i=c[k>>2]|0;if((i|0)==(h|0)){j=g;break e}if((c[D>>2]|0)==1){s=CW(i)|0;s=(s|0)==(CW(c[(c[(c[ga>>2]|0)+32>>2]|0)+(j<<2)>>2]|0)|0);u=c[ga>>2]|0;v=c[u+32>>2]|0;if(s){N=97;break}else{g=u;b=v}}j=j+1|0}if((N|0)==97?(v=v+(j<<2)|0,c[k>>2]=c[v>>2],(c[v>>2]|0)!=-1):0){j=u;break}c[w>>2]=c[k>>2];pU(Z,128,194761,w)|0;f=C0(a0(c[k>>2]|0)|0,Z)|0;c[x>>2]=f;AD(a,16,194764,x);f=-22;break b}while(0);g=c[j+24>>2]|0;f:do if(g|0){h=a+144|0;b=0;while(1){i=c[g+(b<<2)>>2]|0;if((i|0)==-1)break;if((c[h>>2]|0)==(i|0)){N=106;break}else b=b+1|0}if((N|0)==106){switch(i|0){case 14:case 34:case 13:case 315:case 12:break;default:break f}c[a+400>>2]=2;break}switch(c[l>>2]|0){case 10:case 8:{if((c[a+672>>2]|0)<0)break f;break}default:{}}c[y>>2]=c[h>>2];pU(Z,128,194761,y)|0;f=C0(BY(c[h>>2]|0)|0,Z)|0;c[z>>2]=f;AD(a,16,194820,z);f=-22;break b}while(0);h=c[j+28>>2]|0;g=c[a+416>>2]|0;g:do if(h|0){b=0;while(1){i=c[h+(b<<2)>>2]|0;if(!i)break;if((g|0)==(i|0))break g;else b=b+1|0}c[A>>2]=g;AD(a,16,194875,A);f=-22;break b}while(0);if((g|0)<0){c[B>>2]=g;AD(a,16,194875,B);f=-22;break b}i=c[j+36>>2]|0;l=a+448|0;h:do if(i|0){k=l;j=c[k>>2]|0;k=c[k+4>>2]|0;if((j|0)==0&(k|0)==0){AD(a,24,194918,E);break}b=0;while(1){h=i+(b<<3)|0;g=c[h>>2]|0;h=c[h+4>>2]|0;if((g|0)==0&(h|0)==0)break;if((j|0)==(g|0)&(k|0)==(h|0))break h;else b=b+1|0}DQ(Z,512,-1,j,k);c[G>>2]=Z;AD(a,16,194948,G);f=-22;break b}while(0);h=l;g=c[h>>2]|0;h=c[h+4>>2]|0;b=c[D>>2]|0;do if(!((g|0)==0&(h|0)==0)){g=DD(g,h)|0;if(!b){c[D>>2]=g;b=g;break}if((g|0)==(c[D>>2]|0)){b=g;break}f=l;DQ(Z,512,-1,c[f>>2]|0,c[f+4>>2]|0);f=c[D>>2]|0;c[H>>2]=Z;c[H+4>>2]=g;c[H+8>>2]=f;AD(a,16,194996,H);f=-22;break b}while(0);if((b|0)<0){c[I>>2]=b;AD(a,16,195081,I);f=-22;break b}b=c[F>>2]|0;i:do if(!b){b=e0(c[a+144>>2]|0)|0;h=a+788|0;i=c[h>>2]|0;do if((i|0)>=0){if((i|0)<=8)break;b=b+32|0;g=c[b>>2]|0;if((g|0)<9)N=134}else{g=b+32|0;b=g;g=c[g>>2]|0;N=134}while(0);if((N|0)==134){c[J>>2]=i;c[J+4>>2]=g;AD(a,24,195131,J);c[h>>2]=c[b>>2]}do if((c[t>>2]|0)>=1){if((c[a+128>>2]|0)<1)break;b=c[F>>2]|0;break i}while(0);AD(a,16,195210,K);f=-22;break b}while(0);do if(b>>>0<2){g=a+72|0;b=c[g>>2]|0;g=c[g+4>>2]|0;K=aX(b|0,g|0,-1,-1)|0;J=M()|0;if(!(J>>>0<0|(J|0)==0&K>>>0<999))break;K=L;c[K>>2]=b;c[K+4>>2]=g;K=L+8|0;c[K>>2]=b;c[K+4>>2]=g;AD(a,24,195230,L)}while(0);b=a+560|0;if(!(c[b>>2]|0)){L=c[a+512>>2]|0;L=MR(L|0,((L|0)<0)<<31>>31|0,3,0)|0;L=xA(L|0,M()|0,4,0)|0;M()|0;c[b>>2]=L}g=c[a+116>>2]|0;do if(g|0){b=c[m>>2]|0;if(!b)break;if((g|0)<=(2147483647/(b|0)|0|0))break;da=c[n>>2]|0;c[O>>2]=g;c[O+4>>2]=b;c[O+8>>2]=da;AD(a,16,195283,O);break b}while(0);f=c[a+976>>2]|0;if(!f)break d;f=c[f+4>>2]|0;if((c[f+36>>2]|0)!=(c[a+144>>2]|0)){AD(a,16,195336,P);f=-22;break b}h=a+888|0;g=c[h>>2]|0;b=f+40|0;f=c[b>>2]|0;do if((g|0)!=-1){if((g|0)==(f|0)){f=g;break}da=BY(g)|0;f=BY(c[b>>2]|0)|0;c[Q>>2]=da;c[Q+4>>2]=f;AD(a,16,195401,Q);f=-22;break b}while(0);c[h>>2]=f;break d}while(0);AD(a,16,194727,s);f=-22;break b}while(0);Q=a+904|0;c[Q>>2]=0;c[Q+4>>2]=0;c[Q+8>>2]=0;c[Q+12>>2]=0;Q=a+928|0;c[Q>>2]=0;c[Q+4>>2]=-2147483648;Q=a+920|0;c[Q>>2]=0;c[Q+4>>2]=-2147483648;do if(c[a+92>>2]&8192|0){if(c[(c[C>>2]|0)+4>>2]|0)break;AD(a,24,195482,R)}while(0);f=c[ga>>2]|0;b=c[f+76>>2]|0;do if(b){if(c[a+808>>2]&1|0?(c[(c[aa>>2]|0)+52>>2]|0)==0:0)break;f=Vb[b&31](a)|0;if((f|0)<0)break b;f=c[ga>>2]|0}while(0);if(xU(f)|0)c[a+120>>2]=c[a+876>>2];do if(cW(f)|0){f=a+72|0;R=f;if((c[R>>2]|0)==0&(c[R+4>>2]|0)==0){P=Iw(a)|0;Q=M()|0;R=f;c[R>>2]=P;c[R+4>>2]=Q}g=a+448|0;b=g;f=c[b>>2]|0;b=c[b+4>>2]|0;do if((f|0)==0&(b|0)==0)N=173;else{f=DD(f,b)|0;b=c[D>>2]|0;if(!b){c[D>>2]=f;break}if((f|0)==(b|0))break;N=g;DQ(Z,512,-1,c[N>>2]|0,c[N+4>>2]|0);N=c[D>>2]|0;c[U>>2]=Z;c[U+4>>2]=f;c[U+8>>2]=N;AD(a,24,195545,U);N=g;c[N>>2]=0;c[N+4>>2]=0;N=173}while(0);if((N|0)==173)f=c[D>>2]|0;if(f>>>0>64){f=-22;break b}b=a+936|0;g=c[b>>2]|0;j:do if(g|0){if((c[F>>2]|0)!=3){AD(a,16,195665,V);f=-22;break b}f=c[C>>2]|0;if(c[f+16>>2]&65536|0){c[W>>2]=c[f+8>>2];AD(a,24,195725,W);c[a+940>>2]=-1;break}f=a+940|0;switch(c[f>>2]|0){case 0:{c[f>>2]=1;break}case 1:break;default:break j}if(($P(195799,g)|0)==(-1|0)){f=j2()|0;f=0-(c[f>>2]|0)|0;c[X>>2]=c[b>>2];AD(a,16,195805,X);break b}else break}while(0);f=a+880|0;if((c[f>>2]|0)<=0)break;if((c[a+884>>2]|0)<=0)break;c[$>>2]=c[a+116>>2];c[$+4>>2]=1;c[Y>>2]=c[f>>2];c[Y+4>>2]=c[f+4>>2];c[Z>>2]=c[$>>2];c[Z+4>>2]=c[$+4>>2];SA(_,Y,Z);Z=c[_>>2]|0;$=a+108|0;c[$>>2]=c[_+4>>2];c[$+4>>2]=Z}while(0);if((c[S>>2]|0)<=0){f=0;break a}f=c[T>>2]|0;if(!f){f=0;break a}b=c[ea+44>>2]|0;if(!b){f=0;break a}if((c[f>>2]|0)==(b|0)){f=0;break a}c[da>>2]=195870;c[da+4>>2]=193976;c[da+8>>2]=1100;AD(0,0,222515,da);ba()}while(0);AD(a,16,194393,ca);f=-22}}else f=-12;while(0);b=c[ga>>2]|0;if(b|0?c[b+112>>2]&2|0:0)Vb[c[b+92>>2]&31](a)|0;if(c[ea+44>>2]|0?c[ea+52>>2]|0:0)rL(c[a+60>>2]|0);rL(a);rY(a+796|0);pJ(ha);bU(a+60|0);b=c[aa>>2]|0;if(b|0){rY(b+12|0);rY((c[aa>>2]|0)+100|0);rY((c[aa>>2]|0)+76|0);nY((c[aa>>2]|0)+68|0);nY((c[aa>>2]|0)+40|0);nY((c[aa>>2]|0)+24|0);bU((c[aa>>2]|0)+16|0)}bU(aa);c[ga>>2]=0}while(0);yB(ea)|0;if(fa){pJ(e);c[e>>2]=c[ha>>2]}}else f=b}else f=-22}else f=0;while(0);Mb=ia;return f|0}function Bc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;a:do switch(b|0){case 9:{c[a>>2]=21;c[a+4>>2]=30;c[a+8>>2]=31;c[a+12>>2]=32;c[a+16>>2]=33;c[a+20>>2]=12;c[a+24>>2]=34;c[a+28>>2]=27;c[a+32>>2]=13;c[a+36>>2]=14;c[a+40>>2]=15;c[a+44>>2]=16;c[a+48>>2]=28;c[a+52>>2]=29;c[a+56>>2]=30;c[a+60>>2]=31;c[a+80>>2]=21;c[a+76>>2]=21;c[a+72>>2]=21;c[a+68>>2]=21;c[a+64>>2]=21;c[a+100>>2]=1;c[a+96>>2]=1;c[a+92>>2]=1;c[a+88>>2]=1;c[a+84>>2]=1;c[a+104>>2]=1;c[a+108>>2]=2;b=0;while(1){if((b|0)==10)break;c[a+112+(b<<4)>>2]=2;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+112+(b<<4)+4>>2]=3;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+112+(b<<4)+8>>2]=4;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+112+(b<<4)+12>>2]=5;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+272+(b<<4)>>2]=22;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+272+(b<<4)+4>>2]=23;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+272+(b<<4)+8>>2]=24;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+272+(b<<4)+12>>2]=25;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+432+(b<<4)>>2]=1;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+432+(b<<4)+4>>2]=2;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+432+(b<<4)+8>>2]=3;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+432+(b<<4)+12>>2]=4;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+592+(b<<4)>>2]=2;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+592+(b<<4)+4>>2]=3;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+592+(b<<4)+8>>2]=4;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+592+(b<<4)+12>>2]=5;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+752+(b<<4)>>2]=1;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+752+(b<<4)+4>>2]=2;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+752+(b<<4)+8>>2]=3;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+752+(b<<4)+12>>2]=4;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+912+(b<<4)>>2]=2;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+912+(b<<4)+4>>2]=6;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+912+(b<<4)+8>>2]=7;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+912+(b<<4)+12>>2]=8;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+1072+(b<<4)>>2]=22;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+1072+(b<<4)+4>>2]=26;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+1072+(b<<4)+8>>2]=27;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+1072+(b<<4)+12>>2]=28;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+1232+(b<<4)>>2]=1;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+1232+(b<<4)+4>>2]=5;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+1232+(b<<4)+8>>2]=6;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+1232+(b<<4)+12>>2]=7;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+1392+(b<<4)>>2]=2;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+1392+(b<<4)+4>>2]=6;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+1392+(b<<4)+8>>2]=7;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+1392+(b<<4)+12>>2]=8;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+1552+(b<<4)>>2]=1;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+1552+(b<<4)+4>>2]=5;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+1552+(b<<4)+8>>2]=6;b=b+1|0}b=0;while(1){if((b|0)==10){b=102;d=25;e=103;f=26;break a}c[a+1552+(b<<4)+12>>2]=7;b=b+1|0}}case 10:{c[a>>2]=22;c[a+4>>2]=35;c[a+8>>2]=36;c[a+12>>2]=37;c[a+16>>2]=38;c[a+20>>2]=17;c[a+24>>2]=39;c[a+28>>2]=32;c[a+32>>2]=18;c[a+36>>2]=19;c[a+40>>2]=20;c[a+44>>2]=21;c[a+48>>2]=33;c[a+52>>2]=34;c[a+56>>2]=35;c[a+60>>2]=36;c[a+80>>2]=29;c[a+76>>2]=29;c[a+72>>2]=29;c[a+68>>2]=29;c[a+64>>2]=29;c[a+100>>2]=9;c[a+96>>2]=9;c[a+92>>2]=9;c[a+88>>2]=9;c[a+84>>2]=9;c[a+104>>2]=3;c[a+108>>2]=4;b=0;while(1){if((b|0)==10)break;c[a+112+(b<<4)>>2]=10;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+112+(b<<4)+4>>2]=11;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+112+(b<<4)+8>>2]=12;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+112+(b<<4)+12>>2]=13;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+272+(b<<4)>>2]=30;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+272+(b<<4)+4>>2]=31;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+272+(b<<4)+8>>2]=32;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+272+(b<<4)+12>>2]=33;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+432+(b<<4)>>2]=8;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+432+(b<<4)+4>>2]=9;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+432+(b<<4)+8>>2]=10;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+432+(b<<4)+12>>2]=11;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+592+(b<<4)>>2]=9;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+592+(b<<4)+4>>2]=10;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+592+(b<<4)+8>>2]=11;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+592+(b<<4)+12>>2]=12;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+752+(b<<4)>>2]=8;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+752+(b<<4)+4>>2]=9;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+752+(b<<4)+8>>2]=10;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+752+(b<<4)+12>>2]=11;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+912+(b<<4)>>2]=10;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+912+(b<<4)+4>>2]=14;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+912+(b<<4)+8>>2]=15;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+912+(b<<4)+12>>2]=16;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+1072+(b<<4)>>2]=30;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+1072+(b<<4)+4>>2]=34;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+1072+(b<<4)+8>>2]=35;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+1072+(b<<4)+12>>2]=36;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+1232+(b<<4)>>2]=8;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+1232+(b<<4)+4>>2]=12;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+1232+(b<<4)+8>>2]=13;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+1232+(b<<4)+12>>2]=14;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+1392+(b<<4)>>2]=9;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+1392+(b<<4)+4>>2]=13;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+1392+(b<<4)+8>>2]=14;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+1392+(b<<4)+12>>2]=15;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+1552+(b<<4)>>2]=8;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+1552+(b<<4)+4>>2]=12;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+1552+(b<<4)+8>>2]=13;b=b+1|0}b=0;while(1){if((b|0)==10){b=104;d=27;e=105;f=28;break a}c[a+1552+(b<<4)+12>>2]=14;b=b+1|0}}case 12:{c[a>>2]=23;c[a+4>>2]=40;c[a+8>>2]=41;c[a+12>>2]=42;c[a+16>>2]=43;c[a+20>>2]=22;c[a+24>>2]=44;c[a+28>>2]=37;c[a+32>>2]=23;c[a+36>>2]=24;c[a+40>>2]=25;c[a+44>>2]=26;c[a+48>>2]=38;c[a+52>>2]=39;c[a+56>>2]=40;c[a+60>>2]=41;c[a+80>>2]=37;c[a+76>>2]=37;c[a+72>>2]=37;c[a+68>>2]=37;c[a+64>>2]=37;c[a+100>>2]=17;c[a+96>>2]=17;c[a+92>>2]=17;c[a+88>>2]=17;c[a+84>>2]=17;c[a+104>>2]=5;c[a+108>>2]=6;b=0;while(1){if((b|0)==10)break;c[a+112+(b<<4)>>2]=18;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+112+(b<<4)+4>>2]=19;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+112+(b<<4)+8>>2]=20;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+112+(b<<4)+12>>2]=21;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+272+(b<<4)>>2]=38;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+272+(b<<4)+4>>2]=39;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+272+(b<<4)+8>>2]=40;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+272+(b<<4)+12>>2]=41;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+432+(b<<4)>>2]=15;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+432+(b<<4)+4>>2]=16;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+432+(b<<4)+8>>2]=17;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+432+(b<<4)+12>>2]=18;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+592+(b<<4)>>2]=16;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+592+(b<<4)+4>>2]=17;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+592+(b<<4)+8>>2]=18;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+592+(b<<4)+12>>2]=19;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+752+(b<<4)>>2]=15;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+752+(b<<4)+4>>2]=16;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+752+(b<<4)+8>>2]=17;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+752+(b<<4)+12>>2]=18;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+912+(b<<4)>>2]=18;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+912+(b<<4)+4>>2]=22;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+912+(b<<4)+8>>2]=23;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+912+(b<<4)+12>>2]=24;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+1072+(b<<4)>>2]=38;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+1072+(b<<4)+4>>2]=42;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+1072+(b<<4)+8>>2]=43;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+1072+(b<<4)+12>>2]=44;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+1232+(b<<4)>>2]=15;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+1232+(b<<4)+4>>2]=19;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+1232+(b<<4)+8>>2]=20;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+1232+(b<<4)+12>>2]=21;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+1392+(b<<4)>>2]=16;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+1392+(b<<4)+4>>2]=20;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+1392+(b<<4)+8>>2]=21;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+1392+(b<<4)+12>>2]=22;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+1552+(b<<4)>>2]=15;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+1552+(b<<4)+4>>2]=19;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+1552+(b<<4)+8>>2]=20;b=b+1|0}b=0;while(1){if((b|0)==10){b=106;d=29;e=107;f=30;break a}c[a+1552+(b<<4)+12>>2]=21;b=b+1|0}}default:{c[a>>2]=24;c[a+4>>2]=45;c[a+8>>2]=46;c[a+12>>2]=47;c[a+16>>2]=48;c[a+20>>2]=27;c[a+24>>2]=49;c[a+28>>2]=42;c[a+32>>2]=28;c[a+36>>2]=29;c[a+40>>2]=30;c[a+44>>2]=31;c[a+48>>2]=43;c[a+52>>2]=44;c[a+56>>2]=45;c[a+60>>2]=46;c[a+80>>2]=45;c[a+76>>2]=45;c[a+72>>2]=45;c[a+68>>2]=45;c[a+64>>2]=45;c[a+100>>2]=25;c[a+96>>2]=25;c[a+92>>2]=25;c[a+88>>2]=25;c[a+84>>2]=25;c[a+104>>2]=7;c[a+108>>2]=8;b=0;while(1){if((b|0)==10)break;c[a+112+(b<<4)>>2]=26;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+112+(b<<4)+4>>2]=27;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+112+(b<<4)+8>>2]=28;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+112+(b<<4)+12>>2]=29;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+272+(b<<4)>>2]=46;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+272+(b<<4)+4>>2]=47;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+272+(b<<4)+8>>2]=48;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+272+(b<<4)+12>>2]=49;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+432+(b<<4)>>2]=22;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+432+(b<<4)+4>>2]=23;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+432+(b<<4)+8>>2]=24;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+432+(b<<4)+12>>2]=25;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+592+(b<<4)>>2]=23;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+592+(b<<4)+4>>2]=24;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+592+(b<<4)+8>>2]=25;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+592+(b<<4)+12>>2]=26;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+752+(b<<4)>>2]=22;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+752+(b<<4)+4>>2]=23;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+752+(b<<4)+8>>2]=24;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+752+(b<<4)+12>>2]=25;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+912+(b<<4)>>2]=26;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+912+(b<<4)+4>>2]=30;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+912+(b<<4)+8>>2]=31;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+912+(b<<4)+12>>2]=32;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+1072+(b<<4)>>2]=46;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+1072+(b<<4)+4>>2]=50;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+1072+(b<<4)+8>>2]=51;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+1072+(b<<4)+12>>2]=52;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+1232+(b<<4)>>2]=22;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+1232+(b<<4)+4>>2]=26;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+1232+(b<<4)+8>>2]=27;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+1232+(b<<4)+12>>2]=28;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+1392+(b<<4)>>2]=23;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+1392+(b<<4)+4>>2]=27;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+1392+(b<<4)+8>>2]=28;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+1392+(b<<4)+12>>2]=29;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+1552+(b<<4)>>2]=22;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+1552+(b<<4)+4>>2]=26;b=b+1|0}b=0;while(1){if((b|0)==10)break;c[a+1552+(b<<4)+8>>2]=27;b=b+1|0}b=0;while(1){if((b|0)==10){b=108;d=31;e=109;f=32;break a}c[a+1552+(b<<4)+12>>2]=28;b=b+1|0}}}while(0);c[a+1712>>2]=d;c[a+1716>>2]=f;c[a+1720>>2]=b;c[a+1724>>2]=e;c[a+1728>>2]=d;c[a+1732>>2]=f;c[a+1736>>2]=b;c[a+1740>>2]=e;return}function Cc(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,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0;Ga=Mb;Mb=Mb+16|0;wa=Ga+8|0;xa=Ga;ya=c[g+21748>>2]|0;Ea=c[g+21708>>2]|0;na=c[g+21712>>2]|0;oa=c[g+21716>>2]|0;pa=c[g+21720>>2]|0;c[wa>>2]=pa;qa=c[g+21724>>2]|0;c[wa+4>>2]=qa;ra=c[g+21728>>2]|0;sa=c[g+21732>>2]|0;ta=c[g+21736>>2]|0;ua=c[g+21740>>2]|0;c[xa>>2]=ua;va=c[g+21744>>2]|0;c[xa+4>>2]=va;if(!(h&2048)){t=(h&7|0)!=0;a:do if(t){p=(c[(c[f+28196>>2]|0)+56>>2]|0)==0?-1:7;k=g+21768|0;c[k>>2]=65535;i=g+21760|0;c[i>>2]=65535;m=g+21756|0;c[m>>2]=65535;n=g+21764|0;c[n>>2]=61162;o=(p&sa|0)!=0;if(o){i=65535;l=60138}else{c[m>>2]=46079;c[i>>2]=13311;c[n>>2]=9962;i=46079;l=8938}j=h&128;do if((j|0)==(ua&128|0)){if(!(p&ua)){i=i&57183;c[m>>2]=i;c[k>>2]=24415}}else{if(!j){if(!((p&ua|0)==0?1:(c[(c[f+24364>>2]|0)+((c[f+27e3>>2]|0)+pa<<2)>>2]&p|0)==0))break;i=i&57183;c[m>>2]=i;c[k>>2]=24415;break}if(!(p&ua)){i=i&57343;c[m>>2]=i;c[k>>2]=24575;j=24415}else j=65375;if(!(p&va)){i=i&65375;c[m>>2]=i;c[k>>2]=j}}while(0);if(!(p&ra))c[m>>2]=i&32767;if(!(p&ta))c[n>>2]=l;if(h&1|0){if(!(sa&1)){jv(g+21668|0,(o?2:-1)|0,4)|0;l=g+21704|0;m=f+26348|0}else{l=g+21704|0;m=f+26348|0;c[g+21668>>2]=c[(c[l>>2]|0)+(c[(c[m>>2]|0)+(na<<2)>>2]|0)>>2]}k=0;while(1){if((k|0)==2)break a;i=c[xa+(k<<2)>>2]|0;if(!(i&1)){i=(i&p|0)==0?-1:2;j=k<<4;a[j+19+(g+21664)>>0]=i;j=j|11}else{ma=(c[l>>2]|0)+(c[(c[m>>2]|0)+(c[wa+(k<<2)>>2]<<2)>>2]|0)|0;i=k<<1;j=k<<4;a[(j|11)+(g+21664)>>0]=a[ma+(6-(d[ya+i>>0]|0))>>0]|0;i=a[ma+(6-(d[ya+(i|1)>>0]|0))>>0]|0;j=j+19|0}a[g+21664+j>>0]=i;k=k+1|0}}}while(0);s=(sa|0)!=0;do if(s){i=f+25956|0;j=c[i>>2]|0;c[g+27828>>2]=c[j+(na*48|0)+12>>2];if(!(c[f+25668>>2]|0)){c[g+27868>>2]=c[j+(na*48|0)+28>>2];c[g+27908>>2]=c[j+(na*48|0)+44>>2];break}else{c[g+27868>>2]=c[j+(na*48|0)+20>>2];c[g+27908>>2]=c[j+(na*48|0)+36>>2];break}}else{i=t?1077952576:0;c[g+27828>>2]=i;c[g+27868>>2]=i;c[g+27908>>2]=i;i=f+25956|0}while(0);q=t?64:0;r=f+28200|0;p=0;while(1){if((p|0)==2)break;b:do if(!(c[xa+(p<<2)>>2]|0)){j=p<<4;a[j+99+(g+27824)>>0]=q;a[j+91+(g+27824)>>0]=q;a[j+59+(g+27824)>>0]=q;a[j+51+(g+27824)>>0]=q;a[j+19+(g+27824)>>0]=q;k=q;j=j|11}else{j=c[i>>2]|0;k=c[wa+(p<<2)>>2]|0;l=p<<1;m=ya+(l+8)|0;o=p<<4;a[(o|11)+(g+27824)>>0]=a[(d[m>>0]|0)+(j+(k*48|0))>>0]|0;n=ya+(l+9)|0;a[o+19+(g+27824)>>0]=a[(d[n>>0]|0)+(j+(k*48|0))>>0]|0;switch(c[(c[r>>2]|0)+12>>2]|0){case 3:{a[o+51+(g+27824)>>0]=a[(d[m>>0]|0)+16+(j+(k*48|0))>>0]|0;a[o+59+(g+27824)>>0]=a[(d[n>>0]|0)+16+(j+(k*48|0))>>0]|0;a[o+91+(g+27824)>>0]=a[(d[m>>0]|0)+32+(j+(k*48|0))>>0]|0;k=a[(d[n>>0]|0)+32+(j+(k*48|0))>>0]|0;j=o+99|0;break b}case 2:{a[o+51+(g+27824)>>0]=a[(d[m>>0]|0)+14+(j+(k*48|0))>>0]|0;a[o+59+(g+27824)>>0]=a[(d[n>>0]|0)+14+(j+(k*48|0))>>0]|0;a[o+91+(g+27824)>>0]=a[(d[m>>0]|0)+30+(j+(k*48|0))>>0]|0;k=a[(d[n>>0]|0)+30+(j+(k*48|0))>>0]|0;j=o+99|0;break b}default:{ma=p<<3;a[ma+51+(g+27824)>>0]=a[(d[ya+(l+12)>>0]|0)+(j+(k*48|0))>>0]|0;k=a[(d[ya+(l+13)>>0]|0)+(j+(k*48|0))>>0]|0;j=ma+91|0;break b}}}while(0);a[g+27824+j>>0]=k;p=p+1|0}if(s)i=e[(c[f+26376>>2]|0)+(na<<1)>>1]|0;else i=t?1999:15;c[g+21860>>2]=i;if(!ua)i=t?1999:15;else{i=c[f+26376>>2]|0;ma=e[i+(pa<<1)>>1]|0;i=ma>>>(a[ya>>0]&-2&255)&2|ma&2032|(e[i+(qa<<1)>>1]|0)>>>(a[ya+2>>0]&-2&255)<<2&8}c[g+21864>>2]=i}if(!(h&120)){if(h&256|0?c[g+21844>>2]|0:0)u=53}else u=53;c:do if((u|0)==53){x=c[f+26352>>2]|0;y=f+26344|0;z=x*3|0;B=na<<2;A=B|2;B=B|3;C=(h&80|0)==0;D=(sa|0)==0?-16843010:-1;E=(ua|0)==0?-2:-1;F=pa<<2|1;G=(ta|0)==0?-2:-1;I=oa<<2|2;J=(h&2304|0)==0;K=(ra|0)==0?-2:-1;L=g+21752|0;M=x<<1;N=x+3|0;O=Ea<<2;P=f+26360|0;Q=f+26348|0;R=g+21828|0;S=(ra&128|0)!=0;T=ya+1|0;U=g+840|0;V=ya+2|0;W=ya+3|0;X=(sa&128|0)==0;Y=g+28524|0;Z=f+26392|0;_=g+28532|0;$=g+28548|0;aa=g+28540|0;ba=(sa&256|0)==0;ca=(ta&128|0)==0;da=(sa&64|0)==0;ea=g+28516|0;fa=(ua&128|0)==0;ga=g+28518|0;ha=g+28523|0;ia=(va&128|0)==0;ja=g+28539|0;ka=qa<<2|1;w=c[g+23412>>2]|0;la=(ua&320|0)==64;u=(ua&256|0)==0?4:-128;ma=(va&320|0)==64;v=(va&256|0)==0?4:-128;t=0;while(1){if(t>>>0>=w>>>0)break c;n=g+28272+(t*40|0)+12|0;p=c[f+24384+(t<<2)>>2]|0;o=g+27952+(t*160|0)+48|0;q=c[f+24352+(t<<2)>>2]|0;s=12288<<(t<<1);do if(s&h|0){r=(s&sa|0)!=0;if(r){k=(c[(c[y>>2]|0)+(na<<2)>>2]|0)+z|0;j=q+(k<<2)|0;m=c[j+4>>2]|0;l=g+27952+(t*160|0)+16|0;c[l>>2]=c[j>>2];c[l+4>>2]=m;k=q+(k<<2)+8|0;l=c[k+4>>2]|0;m=g+27952+(t*160|0)+24|0;c[m>>2]=c[k>>2];c[m+4>>2]=l;m=a[p+A>>0]|0;a[g+28272+(t*40|0)+5>>0]=m;a[g+28272+(t*40|0)+4>>0]=m;m=a[p+B>>0]|0;a[g+28272+(t*40|0)+7>>0]=m;a[g+28272+(t*40|0)+6>>0]=m}else{m=g+27952+(t*160|0)+16|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[g+28272+(t*40|0)+4>>2]=D}d:do if(C){if(!(s&ua)){c[g+27952+(t*160|0)+44>>2]=0;i=E}else{i=q+((c[(c[y>>2]|0)+(pa<<2)>>2]|0)+3+(H(x,d[ya>>0]|0)|0)<<2)|0;c[g+27952+(t*160|0)+44>>2]=c[i>>2];i=a[p+(F+(a[ya>>0]&-2&255))>>0]|0}a[g+28272+(t*40|0)+11>>0]=i}else{m=0;while(1){if((m|0)==2)break d;j=m<<1;k=m<<4;i=k+-1|0;l=c[xa+(m<<2)>>2]|0;if(!(l&s)){c[o+(i<<2)>>2]=0;k=k|7;c[o+(k<<2)>>2]=0;j=(l|0)==0?-2:-1;a[n+k>>0]=j}else{Ha=c[wa+(m<<2)>>2]|0;Ja=(c[(c[y>>2]|0)+(Ha<<2)>>2]|0)+3|0;Ha=Ha<<2|1;Ia=ya+j|0;l=q+((H(x,d[Ia>>0]|0)|0)+Ja<<2)|0;c[o+(i<<2)>>2]=c[l>>2];j=ya+(j|1)|0;Ja=q+((H(x,d[j>>0]|0)|0)+Ja<<2)|0;l=k|7;c[o+(l<<2)>>2]=c[Ja>>2];a[n+i>>0]=a[p+(Ha+(a[Ia>>0]&-2&255))>>0]|0;j=a[p+(Ha+(a[j>>0]&-2&255))>>0]|0;i=l}a[n+i>>0]=j;m=m+1|0}}while(0);if(!(s&ta)){c[g+27952+(t*160|0)+32>>2]=0;i=G}else{c[g+27952+(t*160|0)+32>>2]=c[q+((c[(c[y>>2]|0)+(oa<<2)>>2]|0)+z<<2)>>2];i=a[p+I>>0]|0}m=g+28272+(t*40|0)+8|0;a[m>>0]=i;l=g+28272+(t*40|0)+6|0;if((a[l>>0]|i)<<24>>24<0){if(!(s&ra)){c[g+27952+(t*160|0)+12>>2]=0;i=K}else{i=c[L>>2]|0;c[g+27952+(t*160|0)+12>>2]=c[q+(N+(c[(c[y>>2]|0)+(Ea<<2)>>2]|0)+(i&M)<<2)>>2];i=a[p+(O|i&2|1)>>0]|0}a[g+28272+(t*40|0)+3>>0]=i}if(J){k=c[g+32848+(t<<2)>>2]|0;a[g+28272+(t*40|0)+30>>0]=-2;a[g+28272+(t*40|0)+14>>0]=-2;c[g+27952+(t*160|0)+56>>2]=0;c[g+27952+(t*160|0)+120>>2]=0;if(r){j=k+(c[(c[Q>>2]|0)+(na<<2)>>2]<<1)|0;i=c[j>>2]|0;j=c[j+4>>2]|0}else{i=0;j=0}Ja=g+28352+(t*80|0)+8|0;c[Ja>>2]=i;c[Ja+4>>2]=j;if(!(s&ua)){b[g+28352+(t*80|0)+22>>1]=0;i=0}else{i=(c[(c[Q>>2]|0)+(pa<<2)>>2]|0)+6|0;b[g+28352+(t*80|0)+22>>1]=b[k+(i-(d[ya>>0]|0)<<1)>>1]|0;i=b[k+(i-(d[T>>0]|0)<<1)>>1]|0}b[g+28352+(t*80|0)+38>>1]=i;if(!(s&va)){b[g+28352+(t*80|0)+54>>1]=0;i=0}else{i=(c[(c[Q>>2]|0)+(qa<<2)>>2]|0)+6|0;b[g+28352+(t*80|0)+54>>1]=b[k+(i-(d[V>>0]|0)<<1)>>1]|0;i=b[k+(i-(d[W>>0]|0)<<1)>>1]|0}b[g+28352+(t*80|0)+70>>1]=i;b[g+28352+(t*80|0)+28>>1]=0;b[g+28352+(t*80|0)+60>>1]=0;if((c[U>>2]|0)==3){j=c[Z>>2]|0;c[Y>>2]=67372036;c[_>>2]=67372036;c[aa>>2]=67372036;c[$>>2]=67372036;do if(ba)if(da){c[ea>>2]=67372036;break}else{a[ea>>0]=a[j+A>>0]|0;a[ga>>0]=a[j+B>>0]|0;break}else c[ea>>2]=-2139062144;while(0);if(la)i=a[j+(F+(a[ya>>0]&-2&255))>>0]|0;else i=u;a[ha>>0]=i;if(ma)i=a[j+(ka+(a[V>>0]&-2&255))>>0]|0;else i=v;a[ja>>0]=i}if(!(c[P>>2]|0))break}else if(!(c[P>>2]|0))break;if(!(c[R>>2]|0)){if(S?(Ca=g+28272+(t*40|0)+3|0,Da=a[Ca>>0]|0,Da<<24>>24>-1):0){a[Ca>>0]=Da<<24>>24>>1;Ja=g+27952+(t*160|0)+14|0;b[Ja>>1]=b[Ja>>1]<<1;Ja=g+28352+(t*80|0)+7|0;a[Ja>>0]=d[Ja>>0]<<1}do if(!X){i=g+28272+(t*40|0)+4|0;j=a[i>>0]|0;if(j<<24>>24>-1){a[i>>0]=j<<24>>24>>1;Ja=g+27952+(t*160|0)+18|0;b[Ja>>1]=b[Ja>>1]<<1;Ja=g+28352+(t*80|0)+9|0;a[Ja>>0]=d[Ja>>0]<<1}i=g+28272+(t*40|0)+5|0;j=a[i>>0]|0;if(j<<24>>24>-1){a[i>>0]=j<<24>>24>>1;Ja=g+27952+(t*160|0)+22|0;b[Ja>>1]=b[Ja>>1]<<1;Ja=g+28352+(t*80|0)+11|0;a[Ja>>0]=d[Ja>>0]<<1}i=a[l>>0]|0;if(i<<24>>24>-1){a[l>>0]=i<<24>>24>>1;Ja=g+27952+(t*160|0)+26|0;b[Ja>>1]=b[Ja>>1]<<1;Ja=g+28352+(t*80|0)+13|0;a[Ja>>0]=d[Ja>>0]<<1}i=g+28272+(t*40|0)+7|0;j=a[i>>0]|0;if(j<<24>>24<=-1)break;a[i>>0]=j<<24>>24>>1;Ja=g+27952+(t*160|0)+30|0;b[Ja>>1]=b[Ja>>1]<<1;Ja=g+28352+(t*80|0)+15|0;a[Ja>>0]=d[Ja>>0]<<1}while(0);if(!ca?(Fa=a[m>>0]|0,Fa<<24>>24>-1):0){a[m>>0]=Fa<<24>>24>>1;Ja=g+27952+(t*160|0)+34|0;b[Ja>>1]=b[Ja>>1]<<1;Ja=g+28352+(t*80|0)+17|0;a[Ja>>0]=d[Ja>>0]<<1}do if(!fa){i=g+28272+(t*40|0)+11|0;j=a[i>>0]|0;if(j<<24>>24>-1){a[i>>0]=j<<24>>24>>1;Ja=g+27952+(t*160|0)+46|0;b[Ja>>1]=b[Ja>>1]<<1;Ja=g+28352+(t*80|0)+23|0;a[Ja>>0]=d[Ja>>0]<<1}i=g+28272+(t*40|0)+19|0;j=a[i>>0]|0;if(j<<24>>24<=-1)break;a[i>>0]=j<<24>>24>>1;Ja=g+27952+(t*160|0)+78|0;b[Ja>>1]=b[Ja>>1]<<1;Ja=g+28352+(t*80|0)+39|0;a[Ja>>0]=d[Ja>>0]<<1}while(0);if(ia)break;i=g+28272+(t*40|0)+27|0;j=a[i>>0]|0;if(j<<24>>24>-1){a[i>>0]=j<<24>>24>>1;Ja=g+27952+(t*160|0)+110|0;b[Ja>>1]=b[Ja>>1]<<1;Ja=g+28352+(t*80|0)+55|0;a[Ja>>0]=d[Ja>>0]<<1}i=g+28272+(t*40|0)+35|0;j=a[i>>0]|0;if(j<<24>>24<=-1)break;a[i>>0]=j<<24>>24>>1;Ja=g+27952+(t*160|0)+142|0;b[Ja>>1]=b[Ja>>1]<<1;Ja=g+28352+(t*80|0)+71|0;a[Ja>>0]=d[Ja>>0]<<1;break}else{if(!S?(za=g+28272+(t*40|0)+3|0,Aa=a[za>>0]|0,Aa<<24>>24>-1):0){a[za>>0]=Aa<<24>>24<<1;Ja=g+27952+(t*160|0)+14|0;b[Ja>>1]=(b[Ja>>1]|0)/2|0;Ja=g+28352+(t*80|0)+7|0;a[Ja>>0]=(d[Ja>>0]|0)>>>1}do if(X){i=g+28272+(t*40|0)+4|0;j=a[i>>0]|0;if(j<<24>>24>-1){a[i>>0]=j<<24>>24<<1;Ja=g+27952+(t*160|0)+18|0;b[Ja>>1]=(b[Ja>>1]|0)/2|0;Ja=g+28352+(t*80|0)+9|0;a[Ja>>0]=(d[Ja>>0]|0)>>>1}i=g+28272+(t*40|0)+5|0;j=a[i>>0]|0;if(j<<24>>24>-1){a[i>>0]=j<<24>>24<<1;Ja=g+27952+(t*160|0)+22|0;b[Ja>>1]=(b[Ja>>1]|0)/2|0;Ja=g+28352+(t*80|0)+11|0;a[Ja>>0]=(d[Ja>>0]|0)>>>1}i=a[l>>0]|0;if(i<<24>>24>-1){a[l>>0]=i<<24>>24<<1;Ja=g+27952+(t*160|0)+26|0;b[Ja>>1]=(b[Ja>>1]|0)/2|0;Ja=g+28352+(t*80|0)+13|0;a[Ja>>0]=(d[Ja>>0]|0)>>>1}i=g+28272+(t*40|0)+7|0;j=a[i>>0]|0;if(j<<24>>24<=-1)break;a[i>>0]=j<<24>>24<<1;Ja=g+27952+(t*160|0)+30|0;b[Ja>>1]=(b[Ja>>1]|0)/2|0;Ja=g+28352+(t*80|0)+15|0;a[Ja>>0]=(d[Ja>>0]|0)>>>1}while(0);if(ca?(Ba=a[m>>0]|0,Ba<<24>>24>-1):0){a[m>>0]=Ba<<24>>24<<1;Ja=g+27952+(t*160|0)+34|0;b[Ja>>1]=(b[Ja>>1]|0)/2|0;Ja=g+28352+(t*80|0)+17|0;a[Ja>>0]=(d[Ja>>0]|0)>>>1}do if(fa){i=g+28272+(t*40|0)+11|0;j=a[i>>0]|0;if(j<<24>>24>-1){a[i>>0]=j<<24>>24<<1;Ja=g+27952+(t*160|0)+46|0;b[Ja>>1]=(b[Ja>>1]|0)/2|0;Ja=g+28352+(t*80|0)+23|0;a[Ja>>0]=(d[Ja>>0]|0)>>>1}i=g+28272+(t*40|0)+19|0;j=a[i>>0]|0;if(j<<24>>24<=-1)break;a[i>>0]=j<<24>>24<<1;Ja=g+27952+(t*160|0)+78|0;b[Ja>>1]=(b[Ja>>1]|0)/2|0;Ja=g+28352+(t*80|0)+39|0;a[Ja>>0]=(d[Ja>>0]|0)>>>1}while(0);if(!ia)break;i=g+28272+(t*40|0)+27|0;j=a[i>>0]|0;if(j<<24>>24>-1){a[i>>0]=j<<24>>24<<1;Ja=g+27952+(t*160|0)+110|0;b[Ja>>1]=(b[Ja>>1]|0)/2|0;Ja=g+28352+(t*80|0)+55|0;a[Ja>>0]=(d[Ja>>0]|0)>>>1}i=g+28272+(t*40|0)+35|0;j=a[i>>0]|0;if(j<<24>>24<=-1)break;a[i>>0]=j<<24>>24<<1;Ja=g+27952+(t*160|0)+142|0;b[Ja>>1]=(b[Ja>>1]|0)/2|0;Ja=g+28352+(t*80|0)+71|0;a[Ja>>0]=(d[Ja>>0]|0)>>>1;break}}while(0);t=t+1|0}}while(0);c[g+21840>>2]=(ua>>>24&1)+(sa>>>24&1);Mb=Ga;return}function Dc(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,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,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0;M=Mb;Mb=Mb+1632|0;L=M+1624|0;D=M+1616|0;A=M+1608|0;z=M+1600|0;x=M+1584|0;n=M+1576|0;i=M+1568|0;w=M+1536|0;I=M+1024|0;K=M+512|0;F=M;j=c[g>>2]|0;a:do if((j|0)<64e3){if((j|0)<32e3){if((j|0)<22050)switch(j|0){case 16e3:{i=53168;G=8;break a}default:{G=7;break a}}switch(j|0){case 22050:{i=53184;G=8;break a}case 24e3:{i=53200;G=8;break a}default:{G=7;break a}}}if((j|0)<44100){switch(j|0){case 32e3:break;default:{G=7;break a}}i=53216;G=8;break}if((j|0)<48e3)switch(j|0){case 44100:{G=5;break a}default:{G=7;break a}}else switch(j|0){case 48e3:{G=5;break a}default:{G=7;break a}}}else{b:do if((j|0)<128e3){if((j|0)<88200)switch(j|0){case 64e3:{G=5;break a}default:{G=7;break a}}if((j|0)<96e3)switch(j|0){case 88200:break b;default:{G=7;break a}}else switch(j|0){case 96e3:break b;default:{G=7;break a}}}else{if((j|0)<176400)switch(j|0){case 128e3:break b;default:{G=7;break a}}if((j|0)<192e3)switch(j|0){case 176400:break b;default:{G=7;break a}}else switch(j|0){case 192e3:break b;default:{G=7;break a}}}while(0);i=53248;G=8}while(0);if((G|0)==5){i=53232;G=8}else if((G|0)==7){g=c[f+4>>2]|0;c[i>>2]=j;AD(g,16,199479,i);i=-1}c:do if((G|0)==8){u=(j|0)<32e3?3e3:(j|0)<64e3?4e3:5e3;C=j>>>1;m=(((u<<8)+C|0)>>>0)/(j>>>0)|0;i=((((u<<7)+C|0)>>>0)/(j>>>0)|0)+(a[i+(d[h>>0]|0)>>0]|0)|0;C=g+52|0;c[C>>2]=i;u=h+1|0;k=a[u>>0]|0;l=k&255;d:do if((k&255)<14){t=g+60|0;c[t>>2]=m;WE(w,m,64,13);c[I>>2]=w;c[I+4>>2]=w+24;i=1;while(1){if(!i)break;i=i+-1|0;k=c[I+(i<<3)>>2]|0;j=c[I+(i<<3)+4>>2]|0;while(1){if(k>>>0>=j>>>0)break;p=j+-2|0;if(k>>>0>=p>>>0){G=42;break}m=j+-4|0;n=k+2|0;r=j;s=k;q=k+(r-s>>2<<1)|0;if((I_(k,j)|0)<=0)if((I_(k,q)|0)>0){l=q;G=17}else l=1;else{l=(I_(j,q)|0)>0;l=l?q:j;G=17}if((G|0)==17){G=0;E=b[l>>1]|0;b[l>>1]=b[k>>1]|0;b[k>>1]=E;l=0}if((I_(q,j)|0)>0){l=b[j>>1]|0;b[j>>1]=b[q>>1]|0;b[q>>1]=l;l=0}if((k|0)==(m|0))break;o=b[q>>1]|0;b[q>>1]=b[p>>1]|0;b[p>>1]=o;o=m;while(1){if(n>>>0>o>>>0)break;while(1){if(n>>>0>o>>>0)break;if((I_(n,p)|0)>=0)break;n=n+2|0}m=o;while(1){if(n>>>0>m>>>0)break;if((I_(m,p)|0)<=0){G=31;break}m=m+-2|0}if((G|0)==31){G=0;E=b[m>>1]|0;b[m>>1]=b[n>>1]|0;b[n>>1]=E;m=m+-2|0;n=n+2|0}o=m}E=b[n>>1]|0;b[n>>1]=b[p>>1]|0;b[p>>1]=E;if(l|0?(q|0)==(n|0)|(q|0)==(n+-2|0):0){l=k;while(1){if(l>>>0>=j>>>0)break;m=l+2|0;if((I_(l,m)|0)<1)l=m;else break}if((l|0)==(j|0))break}E=n;if((r-E|0)<(E-s|0)){c[I+(i<<3)>>2]=k;c[I+(i<<3)+4>>2]=o;k=n+2|0}else{c[I+(i<<3)>>2]=n+2;c[I+(i<<3)+4>>2]=j;j=o}i=i+1|0}if((G|0)==42?(G=0,(I_(k,j)|0)>0):0){E=b[j>>1]|0;b[j>>1]=b[k>>1]|0;b[k>>1]=E}}j=d[u>>0]|0;i=0;while(1){if((i|0)==(j|0))break;c[t>>2]=(c[t>>2]|0)+(b[w+(i<<1)>>1]|0);i=i+1|0}B=t;i=c[t>>2]|0;j=c[g>>2]|0}else switch(k<<24>>24){case 14:{i=i<<1;B=g+60|0;c[B>>2]=i;break d}case 15:{i=i*3|0;B=g+60|0;c[B>>2]=i;break d}default:{i=c[f+4>>2]|0;c[n>>2]=l;AD(i,16,199516,n);i=-1;break c}}while(0);k=i>>>0<64?i:64;c[B>>2]=k;if((j|0)>=32001)if((j|0)!=44100)if((j|0)>47999)y=32;else{c[x>>2]=222636;c[x+4>>2]=199096;c[x+8>>2]=326;AD(0,0,222515,x);ba()}else y=35;else y=48;l=c[C>>2]|0;i=k-l|0;if(i>>>0>y>>>0){g=c[f+4>>2]|0;c[z>>2]=i;AD(g,16,199542,z);i=-1;break}j=a[h+3>>0]|0;if(!(j<<24>>24)){L=a[h+4>>0]|0;k=(L&255)+1|0;L=(i+(L+1&2)|0)>>>k<<1;i=g+92|0;c[i>>2]=L;if(mJ(c[f+4>>2]|0,L,d[g+22>>0]|0)|0){i=-1;break}l=c[i>>2]|0;j=k&65535;m=l+1|0;i=1;while(1){if((i|0)==(m|0))break;b[g+310128+(i<<1)>>1]=j;i=i+1|0}i=c[C>>2]|0;k=(c[B>>2]|0)-i-(H(l,k)|0)|0;if((k|0)>=0){j=g+310128+(l<<1)|0;if(k|0)b[j>>1]=(b[j>>1]|0)+1<<16>>16}else{f=g+310130|0;b[f>>1]=(b[f>>1]|0)+-1<<16>>16;f=g+310132|0;b[f>>1]=(e[f>>1]|0)-((k|0)!=-1&1)}b[g+310128>>1]=i;j=1;while(1){if((j|0)==(m|0)){i=0;break c}L=g+310128+(j<<1)|0;f=(i&65535)+(e[L>>1]|0)|0;b[L>>1]=f;j=j+1|0;i=f}}w=(k*49|0)>>>0>(l*110|0)>>>0;i=w?l<<1:k;z=g+56|0;c[z>>2]=i;v=+(7-(j&255)|0);t=Q1(+qb(+(+(i>>>0)/+(l>>>0)))*v)|0;E=t<<1;e:do if((t|0)<1){g=c[f+4>>2]|0;c[A>>2]=E;AD(g,16,199588,A)}else{b[I>>1]=0;A=I+2|0;WE(A,l,i,E);c[K>>2]=A;c[K+4>>2]=A+(E<<1)+-2;i=1;while(1){if(!i)break;i=i+-1|0;k=c[K+(i<<3)>>2]|0;j=c[K+(i<<3)+4>>2]|0;while(1){if(k>>>0>=j>>>0)break;p=j+-2|0;if(k>>>0>=p>>>0){G=107;break}m=j+-4|0;n=k+2|0;r=j;s=k;q=k+(r-s>>2<<1)|0;if((I_(k,j)|0)<=0)if((I_(k,q)|0)>0){l=q;G=82}else l=1;else{l=(I_(j,q)|0)>0;l=l?q:j;G=82}if((G|0)==82){G=0;A=b[l>>1]|0;b[l>>1]=b[k>>1]|0;b[k>>1]=A;l=0}if((I_(q,j)|0)>0){l=b[j>>1]|0;b[j>>1]=b[q>>1]|0;b[q>>1]=l;l=0}if((k|0)==(m|0))break;o=b[q>>1]|0;b[q>>1]=b[p>>1]|0;b[p>>1]=o;o=m;while(1){if(n>>>0>o>>>0)break;while(1){if(n>>>0>o>>>0)break;if((I_(n,p)|0)>=0)break;n=n+2|0}m=o;while(1){if(n>>>0>m>>>0)break;if((I_(m,p)|0)<=0){G=96;break}m=m+-2|0}if((G|0)==96){G=0;A=b[m>>1]|0;b[m>>1]=b[n>>1]|0;b[n>>1]=A;m=m+-2|0;n=n+2|0}o=m}A=b[n>>1]|0;b[n>>1]=b[p>>1]|0;b[p>>1]=A;if(l|0?(q|0)==(n|0)|(q|0)==(n+-2|0):0){l=k;while(1){if(l>>>0>=j>>>0)break;m=l+2|0;if((I_(l,m)|0)<1)l=m;else break}if((l|0)==(j|0))break}A=n;if((r-A|0)<(A-s|0)){c[K+(i<<3)>>2]=k;c[K+(i<<3)+4>>2]=o;k=n+2|0}else{c[K+(i<<3)>>2]=n+2;c[K+(i<<3)+4>>2]=j;j=o}i=i+1|0}if((G|0)==107?(G=0,(I_(k,j)|0)>0):0){A=b[j>>1]|0;b[j>>1]=b[k>>1]|0;b[k>>1]=A}}u=b[I+(E<<1)>>1]|0;l=c[C>>2]|0;b[I>>1]=l;i=1;while(1){if((i|0)>(E|0))break;j=I+(i<<1)|0;C=b[j>>1]|0;k=C<<16>>16;if(C<<16>>16<1){G=114;break}C=(l&65535)+k|0;b[j>>1]=C;i=i+1|0;l=C}if((G|0)==114){g=c[f+4>>2]|0;c[D>>2]=i;c[D+4>>2]=k;AD(g,16,199613,D);break}do if(w){v=((a[h+4>>0]|0)==0?1.0:.7692307829856873)*v;D=c[B>>2]|0;C=c[z>>2]|0;w=Q1(v*+qb(+(+(D>>>0)/+(C>>>0))))|0;x=w<<1;y=K+2|0;WE(y,C,D,x);if((rR(y,x)|0)<(u|0)){c[F>>2]=y;i=y+(x<<1)+-2|0;c[F+4>>2]=i;j=1;while(1){if(!j)break;j=j+-1|0;t=c[F+(j<<3)+4>>2]|0;k=c[F+(j<<3)>>2]|0;f:while(1){if(k>>>0>=t>>>0)break;p=t+-2|0;if(k>>>0>=p>>>0){G=152;break}l=t+-4|0;n=k+2|0;r=t;s=k;q=k+(r-s>>2<<1)|0;if((I_(k,t)|0)<=0)if((I_(k,q)|0)>0){m=q;G=127}else m=1;else{m=(I_(t,q)|0)>0;m=m?q:t;G=127}if((G|0)==127){G=0;D=b[m>>1]|0;b[m>>1]=b[k>>1]|0;b[k>>1]=D;m=0}if((I_(q,t)|0)>0){m=b[t>>1]|0;b[t>>1]=b[q>>1]|0;b[q>>1]=m;m=0}if((k|0)==(l|0))break;o=b[q>>1]|0;b[q>>1]=b[p>>1]|0;b[p>>1]=o;o=n;while(1){if(o>>>0>l>>>0)break;n=o;while(1){if(n>>>0>l>>>0)break;if((I_(n,p)|0)>=0)break;n=n+2|0}while(1){if(n>>>0>l>>>0)break;if((I_(l,p)|0)<=0){G=141;break}l=l+-2|0}if((G|0)==141){G=0;D=b[l>>1]|0;b[l>>1]=b[n>>1]|0;b[n>>1]=D;n=n+2|0;l=l+-2|0}o=n}D=b[o>>1]|0;b[o>>1]=b[p>>1]|0;b[p>>1]=D;do if(m|0){if(!((q|0)==(o|0)|(q|0)==(o+-2|0)))break;m=k;while(1){if(m>>>0>=t>>>0)break;n=m+2|0;if((I_(m,n)|0)<1)m=n;else break}if((m|0)==(t|0))break f}while(0);D=o;if((r-D|0)<(D-s|0)){c[F+(j<<3)>>2]=k;c[F+(j<<3)+4>>2]=l;l=t;k=o+2|0}else{c[F+(j<<3)>>2]=o+2;c[F+(j<<3)+4>>2]=t}t=l;j=j+1|0}if((G|0)==152?(G=0,(I_(k,t)|0)>0):0){D=b[t>>1]|0;b[t>>1]=b[k>>1]|0;b[k>>1]=D}}B=b[y>>1]|0;A=B<<16>>16;C=u-A|0;D=K+(x<<1)|0;h=b[D>>1]|0;A=(h<<16>>16)-A>>1;C=(C|0)>(A|0)?A:C;b[y>>1]=C+(B&65535);b[D>>1]=(h&65535)-C}else i=y+(x<<1)+-2|0;c[F>>2]=y;c[F+4>>2]=i;i=1;while(1){if(!i)break;i=i+-1|0;s=c[F+(i<<3)+4>>2]|0;j=c[F+(i<<3)>>2]|0;g:while(1){if(j>>>0>=s>>>0)break;o=s+-2|0;if(j>>>0>=o>>>0){G=190;break}k=s+-4|0;m=j+2|0;q=s;r=j;p=j+(q-r>>2<<1)|0;if((I_(j,s)|0)<=0)if((I_(j,p)|0)>0){l=p;G=165}else l=1;else{l=(I_(s,p)|0)>0;l=l?p:s;G=165}if((G|0)==165){G=0;D=b[l>>1]|0;b[l>>1]=b[j>>1]|0;b[j>>1]=D;l=0}if((I_(p,s)|0)>0){l=b[s>>1]|0;b[s>>1]=b[p>>1]|0;b[p>>1]=l;l=0}if((j|0)==(k|0))break;n=b[p>>1]|0;b[p>>1]=b[o>>1]|0;b[o>>1]=n;n=m;while(1){if(n>>>0>k>>>0)break;m=n;while(1){if(m>>>0>k>>>0)break;if((I_(m,o)|0)>=0)break;m=m+2|0}while(1){if(m>>>0>k>>>0)break;if((I_(k,o)|0)<=0){G=179;break}k=k+-2|0}if((G|0)==179){G=0;D=b[k>>1]|0;b[k>>1]=b[m>>1]|0;b[m>>1]=D;m=m+2|0;k=k+-2|0}n=m}D=b[n>>1]|0;b[n>>1]=b[o>>1]|0;b[o>>1]=D;do if(l|0){if(!((p|0)==(n|0)|(p|0)==(n+-2|0)))break;l=j;while(1){if(l>>>0>=s>>>0)break;m=l+2|0;if((I_(l,m)|0)<1)l=m;else break}if((l|0)==(s|0))break g}while(0);D=n;if((q-D|0)<(D-r|0)){c[F+(i<<3)>>2]=j;c[F+(i<<3)+4>>2]=k;k=s;j=n+2|0}else{c[F+(i<<3)>>2]=n+2;c[F+(i<<3)+4>>2]=s}s=k;i=i+1|0}if((G|0)==190?(G=0,(I_(j,s)|0)>0):0){D=b[s>>1]|0;b[s>>1]=b[j>>1]|0;b[j>>1]=D}}j=c[z>>2]|0;b[K>>1]=j;k=1;while(1){if((k|0)>(x|0)){G=199;break}i=K+(k<<1)|0;G=b[i>>1]|0;l=G<<16>>16;if(G<<16>>16<1){G=197;break}G=(j&65535)+l|0;b[i>>1]=G;k=k+1|0;j=G}if((G|0)==197){g=c[f+4>>2]|0;c[L>>2]=k;c[L+4>>2]=l;AD(g,16,199635,L)}else if((G|0)==199?(L=x+E|0,c[g+92>>2]=L,J=E|1,(mJ(c[f+4>>2]|0,L,d[g+22>>0]|0)|0)==0):0){Mn(g+310128|0,I|0,J<<1|0)|0;Mn(g+310128+(J<<1)|0,y|0,w<<2|0)|0;break}break e}else{c[g+92>>2]=E;if(mJ(c[f+4>>2]|0,E,d[g+22>>0]|0)|0)break e;Mn(g+310128|0,I|0,t<<2|2|0)|0}while(0);i=0;break c}while(0);i=-1}while(0);Mb=M;return i|0}function Ec(d,f,g,h){d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=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,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0;fa=Mb;Mb=Mb+576|0;X=fa+432|0;Y=fa+288|0;aa=fa+144|0;Z=fa;r=c[d+136>>2]|0;V=c[d+1412>>2]|0;S=c[V+13424+(h<<2)>>2]|0;R=c[V+13436+(h<<2)>>2]|0;u=32<<S;k=c[V+13328>>2]|0;t=32<<R;l=c[V+13420>>2]|0;m=f>>k&l;n=g>>k&l;s=c[d+1416>>2]|0;o=c[s+1684>>2]|0;p=l+2|0;q=o+((H(n,p)|0)+m<<2)|0;q=c[q>>2]|0;ea=c[d+160>>2]|0;da=(c[ea+32+(h<<2)>>2]|0)>>>1;D=0-da|0;ea=(c[ea+(h<<2)>>2]|0)+(f>>S<<1)+((H(da,g>>R)|0)<<1)|0;T=c[V+13412>>2]|0;W=(h|0)==0;ca=c[(W?r+288|0:r+292|0)>>2]|0;j=X+2|0;i=aa+2|0;$=Y+2|0;ba=Z+2|0;if(!(c[r+31284>>2]|0))v=0;else{v=o+(m+-1+(H(n+(t>>k)&l,p)|0)<<2)|0;v=(q|0)>(c[v>>2]|0)}w=v&1;x=c[r+31288>>2]|0;A=c[r+31296>>2]|0;B=c[r+31292>>2]|0;if(!(c[r+31300>>2]|0))y=0;else{y=o+((H(n+-1|0,p)|0)+(m+(u>>k)&l)<<2)|0;y=(q|0)>(c[y>>2]|0)}k=y&1;K=(t<<1)+g|0;I=V+13380|0;C=c[I>>2]|0;J=t+g|0;K=((K|0)>(C|0)?C:K)-J>>R;C=(u<<1)+f|0;F=V+13376|0;E=c[F>>2]|0;G=u+f|0;C=((C|0)>(E|0)?E:C)-G>>S;E=s+20|0;if((a[E>>0]|0)==1){z=c[V+13340>>2]|0;s=t>>z;u=u>>z;t=(1<<z)+-1|0;r=(t&f|0)==0;t=(t&g|0)==0;u=u+((u|0)==0&1)|0;a:do if(v&r){o=f+-1>>z;p=J>>z;n=(c[V+13416>>2]|0)-p|0;n=(s|0)>(n|0)?n:s;q=d+3516|0;l=0;m=0;while(1){if((l|0)>=(n|0)){w=m;break a}Q=(c[(c[q>>2]|0)+20>>2]|0)+(((H(l+p|0,T)|0)+o|0)*12|0)+10|0;l=l+2|0;m=m|(a[Q>>0]|0)==0}}while(0);b:do if((x|0)==1&r){p=f+-1>>z;q=g>>z;n=(c[V+13416>>2]|0)-q|0;n=(s|0)>(n|0)?n:s;o=d+3516|0;l=0;m=0;while(1){if((m|0)>=(n|0)){r=l;break b}Q=(c[(c[o>>2]|0)+20>>2]|0)+(((H(m+q|0,T)|0)+p|0)*12|0)+10|0;l=l|(a[Q>>0]|0)==0;m=m+2|0}}else r=x;while(0);if((A|0)==1){q=(c[(c[d+3516>>2]|0)+20>>2]|0)+(((H(g+-1>>z,T)|0)+(f+-1>>z)|0)*12|0)+10|0;q=(a[q>>0]|0)==0&1}else q=A;c:do if((B|0)==1&t){p=f>>z;n=T-p|0;n=(u|0)>(n|0)?n:u;o=d+3516|0;p=(H(g+-1>>z,T)|0)+p|0;l=0;m=0;while(1){if((m|0)>=(n|0)){p=l;break c}l=l|(a[(c[(c[o>>2]|0)+20>>2]|0)+((p+m|0)*12|0)+10>>0]|0)==0;m=m+2|0}}else p=B;while(0);d:do if(y&t){m=G>>z;n=T-m|0;n=(u|0)>(n|0)?n:u;o=d+3516|0;m=(H(g+-1>>z,T)|0)+m|0;k=0;l=0;while(1){if((l|0)>=(n|0))break d;k=k|(a[(c[(c[o>>2]|0)+20>>2]|0)+((m+l|0)*12|0)+10>>0]|0)==0;l=l+2|0}}while(0);m=j;n=m+128|0;do{b[m>>1]=32896;m=m+2|0}while((m|0)<(n|0));m=i;n=m+128|0;do{b[m>>1]=32896;m=m+2|0}while((m|0)<(n|0));b[aa>>1]=128;A=q;x=r;B=p;p=k}else p=k;N=(A|0)!=0;if(N){Q=b[ea+(~da<<1)>>1]|0;b[X>>1]=Q;b[aa>>1]=Q}O=(B|0)!=0;if(O){m=i;k=ea+(D<<1)|0;n=m+64|0;do{b[m>>1]=b[k>>1]|0;m=m+2|0;k=k+2|0}while((m|0)<(n|0))}Q=(p|0)!=0;e:do if(Q){l=aa+66|0;m=l;k=ea+(D<<1)+64|0;n=m+64|0;do{b[m>>1]=b[k>>1]|0;m=m+2|0;k=k+2|0}while((m|0)<(n|0));m=MR(e[ea+(31-da+C<<1)>>1]|0,0,65537,65537)|0;n=M()|0;o=32-C|0;l=l+(C<<1)|0;k=0;while(1){if((k|0)>=(o|0))break e;D=l+(k<<1)|0;C=D;b[C>>1]=m;b[C+2>>1]=m>>>16;D=D+4|0;b[D>>1]=n;b[D+2>>1]=n>>>16;k=k+4|0}}while(0);C=(x|0)!=0;f:do if(C){k=0;while(1){if((k|0)==32)break f;D=ea+((H(k,da)|0)+-1<<1)|0;b[j+(k<<1)>>1]=b[D>>1]|0;k=k+1|0}}while(0);z=(w|0)!=0;g:do if(z){l=K+32|0;k=32;while(1){if((k|0)>=(l|0))break;D=ea+((H(k,da)|0)+-1<<1)|0;b[j+(k<<1)>>1]=b[D>>1]|0;k=k+1|0}l=ea+((H(K+31|0,da)|0)+-1<<1)|0;l=MR(e[l>>1]|0,0,65537,65537)|0;m=M()|0;n=32-K|0;o=X+66+(K<<1)|0;k=0;while(1){if((k|0)>=(n|0))break g;D=o+(k<<1)|0;y=D;b[y>>1]=l;b[y+2>>1]=l>>>16;D=D+4|0;b[D>>1]=m;b[D+2>>1]=m>>>16;k=k+4|0}}while(0);h:do if((a[E>>0]|0)==1?(L=w|x,P=(L|0)==0,L=L|A,B|p|L|0):0){F=c[F>>2]|0;y=F-f>>S;I=c[I>>2]|0;w=I-g>>R;y=Q?(((64<<S)+f|0)<(F|0)?64:y):(G|0)<(F|0)?32:y;w=z?(((64<<R)+g|0)<(I|0)?64:w):(J|0)<(I|0)?32:w;do if(!L){m=d+3516|0;n=V+13340|0;o=(-1<<R)+g|0;k=0;while(1){if((k|0)>=(y|0))break;L=c[n>>2]|0;L=(c[(c[m>>2]|0)+20>>2]|0)+(((H(o>>L,T)|0)+((k<<S)+f>>L)|0)*12|0)+10|0;if(!(a[L>>0]|0))break;k=k+1|0}i:do if(k|0){if((f|0)>0)while(1){if((k|0)<=-1)break i;l=k+-1|0;L=c[n>>2]|0;L=(c[(c[m>>2]|0)+20>>2]|0)+(((H(o>>L,T)|0)+((l<<S)+f>>L)|0)*12|0)+10|0;if(a[L>>0]|0)b[aa+(k<<1)>>1]=b[i+(k<<1)>>1]|0;k=l}while(1){if((k|0)<=0)break;l=k+-1|0;L=c[n>>2]|0;L=(c[(c[m>>2]|0)+20>>2]|0)+(((H(o>>L,T)|0)+((l<<S)+f>>L)|0)*12|0)+10|0;if(a[L>>0]|0)b[aa+(k<<1)>>1]=b[i+(k<<1)>>1]|0;k=l}b[aa>>1]=b[i>>1]|0}while(0);q=b[aa>>1]|0;b[X>>1]=q;v=aa;u=X}else{n=c[(c[d+3516>>2]|0)+20>>2]|0;o=c[V+13340>>2]|0;m=(-1<<S)+f>>o;k=z?K+32|0:32;do{L=k;k=k+-1|0;l=H((k<<R)+g>>o,T)|0;if((L|0)<=0)break}while((a[n+((l+m|0)*12|0)+10>>0]|0)!=0);if(!(a[n+((l+(f-(1<<S)>>o)|0)*12|0)+10>>0]|0)){v=aa;u=X;q=b[aa>>1]|0;break}m=H(g-(1<<R)>>o,T)|0;k=0;while(1){if((k|0)>=(y|0))break;if(!(a[n+((((k<<S)+f>>o)+m|0)*12|0)+10>>0]|0))break;k=k+1|0}while(1){if((k|0)<=-1)break;l=k+-1|0;if(a[n+((((l<<S)+f>>o)+m|0)*12|0)+10>>0]|0)b[aa+(k<<1)>>1]=b[i+(k<<1)>>1]|0;k=l}q=b[aa>>1]|0;b[X>>1]=q;v=aa;u=X}while(0);b[u>>1]=q;j:do if(!P){k=MR(q&65535|0,0,65537,65537)|0;n=d+3516|0;o=(-1<<S)+f|0;p=V+13340|0;m=0;l=M()|0;while(1){if((m|0)>=(w|0))break j;P=c[p>>2]|0;P=(c[(c[n>>2]|0)+20>>2]|0)+(((H((m<<R)+g>>P,T)|0)+(o>>P)|0)*12|0)+10|0;if(!(a[P>>0]|0)){k=MR(e[j+((m|3)<<1)>>1]|0,0,65537,65537)|0;l=M()|0}else{P=j+(m<<1)|0;L=P;b[L>>1]=k;b[L+2>>1]=k>>>16;P=P+4|0;b[P>>1]=l;b[P+2>>1]=l>>>16}m=m+4|0}}while(0);k:do if(!C){l=MR(q&65535|0,0,65537,65537)|0;m=M()|0;k=0;while(1){if(k>>>0>=32)break k;P=j+(k<<1)|0;L=P;b[L>>1]=l;b[L+2>>1]=l>>>16;P=P+4|0;b[P>>1]=m;b[P+2>>1]=m>>>16;k=k+4|0}}while(0);l:do if(!z){l=MR(e[X+64>>1]|0,0,65537,65537)|0;m=M()|0;n=X+66|0;k=0;while(1){if(k>>>0>=32)break l;P=n+(k<<1)|0;L=P;b[L>>1]=l;b[L+2>>1]=l>>>16;P=P+4|0;b[P>>1]=m;b[P+2>>1]=m>>>16;k=k+4|0}}while(0);t=(g|0)!=0;m:do if((f|0)!=0&t){o=MR(e[X+(w<<1)>>1]|0,0,65537,65537)|0;l=M()|0;q=(c[d+3516>>2]|0)+20|0;r=(-1<<S)+f|0;s=V+13340|0;p=w+-1|0;while(1){k=c[q>>2]|0;m=c[s>>2]|0;n=r>>m;if((p|0)<=-1)break;L=p+-3|0;P=k+(((H((L<<R)+g>>m,T)|0)+n|0)*12|0)+10|0;k=j+(L<<1)|0;if(!(a[P>>0]|0)){k=MR(e[k>>1]|0,0,65537,65537)|0;l=M()|0}else{P=k;b[P>>1]=o;b[P+2>>1]=o>>>16;k=k+4|0;b[k>>1]=l;b[k+2>>1]=l>>>16;k=o}p=p+-4|0;o=k}P=k+(((H((-1<<R)+g>>m,T)|0)+n|0)*12|0)+10|0;if(a[P>>0]|0)b[u>>1]=b[j>>1]|0}else{if(!f){k=0;while(1){if((k|0)>=(w|0))break m;P=j+(k<<1)|0;L=P;b[L>>1]=0;b[L+2>>1]=0>>>16;P=P+4|0;b[P>>1]=0;b[P+2>>1]=0>>>16;k=k+4|0}}m=MR(e[X+(w<<1)>>1]|0,0,65537,65537)|0;o=d+3516|0;p=(-1<<S)+f|0;q=V+13340|0;n=w+-1|0;l=M()|0;while(1){if((n|0)<=-1)break m;P=c[q>>2]|0;k=n+-3|0;P=(c[(c[o>>2]|0)+20>>2]|0)+(((H((k<<R)+g>>P,T)|0)+(p>>P)|0)*12|0)+10|0;k=j+(k<<1)|0;if(!(a[P>>0]|0)){k=MR(e[k>>1]|0,0,65537,65537)|0;l=M()|0}else{P=k;b[P>>1]=m;b[P+2>>1]=m>>>16;k=k+4|0;b[k>>1]=l;b[k+2>>1]=l>>>16;k=m}n=n+-4|0;m=k}}while(0);k=b[u>>1]|0;b[v>>1]=k;if(t){k=MR(k&65535|0,0,65537,65537)|0;o=d+3516|0;p=V+13340|0;n=(-1<<R)+g|0;m=0;l=M()|0;while(1){if((m|0)>=(y|0))break h;g=c[p>>2]|0;g=(c[(c[o>>2]|0)+20>>2]|0)+(((H(n>>g,T)|0)+((m<<S)+f>>g)|0)*12|0)+10|0;if(!(a[g>>0]|0)){k=MR(e[i+((m|3)<<1)>>1]|0,0,65537,65537)|0;l=M()|0}else{g=i+(m<<1)|0;R=g;b[R>>1]=k;b[R+2>>1]=k>>>16;g=g+4|0;b[g>>1]=l;b[g+2>>1]=l>>>16}m=m+4|0}}}while(0);n:do if(!z){if(C){l=MR(e[X+64>>1]|0,0,65537,65537)|0;m=M()|0;n=X+66|0;k=0;while(1){if(k>>>0>=32){U=147;break n}U=n+(k<<1)|0;T=U;b[T>>1]=l;b[T+2>>1]=l>>>16;U=U+4|0;b[U>>1]=m;b[U+2>>1]=m>>>16;k=k+4|0}}if(N){l=MR(e[X>>1]|0,0,65537,65537)|0;m=M()|0;k=0;while(1){if(k>>>0>=64){U=151;break n}U=j+(k<<1)|0;T=U;b[T>>1]=l;b[T+2>>1]=l>>>16;U=U+4|0;b[U>>1]=m;b[U+2>>1]=m>>>16;k=k+4|0}}if(O){l=b[i>>1]|0;b[X>>1]=l;l=MR(l&65535|0,0,65537,65537)|0;m=M()|0;k=0;while(1){if(k>>>0>=64){U=153;break n}U=j+(k<<1)|0;T=U;b[T>>1]=l;b[T+2>>1]=l>>>16;U=U+4|0;b[U>>1]=m;b[U+2>>1]=m>>>16;k=k+4|0}}if(Q){l=aa+66|0;m=MR(e[l>>1]|0,0,65537,65537)|0;n=M()|0;k=0;while(1){if(k>>>0>=32)break;T=i+(k<<1)|0;S=T;b[S>>1]=m;b[S+2>>1]=m>>>16;T=T+4|0;b[T>>1]=n;b[T+2>>1]=n>>>16;k=k+4|0}l=b[l>>1]|0;b[X>>1]=l;l=MR(l&65535|0,0,65537,65537)|0;m=M()|0;k=0;while(1){if(k>>>0>=64)break n;T=j+(k<<1)|0;S=T;b[S>>1]=l;b[S+2>>1]=l>>>16;T=T+4|0;b[T>>1]=m;b[T+2>>1]=m>>>16;k=k+4|0}}else{b[X>>1]=2048;k=0;while(1){if(k>>>0>=64)break;U=i+(k<<1)|0;T=U;b[T>>1]=2048;b[T+2>>1]=134219776>>>16;U=U+4|0;b[U>>1]=2048;b[U+2>>1]=134219776>>>16;k=k+4|0}k=0;while(1){if(k>>>0>=64){U=147;break n}U=j+(k<<1)|0;T=U;b[T>>1]=2048;b[T+2>>1]=134219776>>>16;U=U+4|0;b[U>>1]=2048;b[U+2>>1]=134219776>>>16;k=k+4|0}}}else U=147;while(0);o:do if((U|0)==147)if(!x){l=MR(e[X+66>>1]|0,0,65537,65537)|0;m=M()|0;k=0;while(1){if(k>>>0>=32){U=151;break o}U=j+(k<<1)|0;T=U;b[T>>1]=l;b[T+2>>1]=l>>>16;U=U+4|0;b[U>>1]=m;b[U+2>>1]=m>>>16;k=k+4|0}}else U=151;while(0);if((U|0)==151)if(!A){b[X>>1]=b[j>>1]|0;U=153}else U=153;p:do if((U|0)==153?(B|0)==0:0){l=MR(e[X>>1]|0,0,65537,65537)|0;m=M()|0;k=0;while(1){if(k>>>0>=32)break p;U=i+(k<<1)|0;T=U;b[T>>1]=l;b[T+2>>1]=l>>>16;U=U+4|0;b[U>>1]=m;b[U+2>>1]=m>>>16;k=k+4|0}}while(0);q:do if(!Q){l=MR(e[aa+64>>1]|0,0,65537,65537)|0;m=M()|0;n=aa+66|0;k=0;while(1){if(k>>>0>=32)break q;U=n+(k<<1)|0;T=U;b[T>>1]=l;b[T+2>>1]=l>>>16;U=U+4|0;b[U>>1]=m;b[U+2>>1]=m>>>16;k=k+4|0}}while(0);n=b[X>>1]|0;b[aa>>1]=n;r:do if(!(c[V+13368>>2]|0)){if(!W?(c[V+4>>2]|0)!=3:0){U=182;break}if((ca|0)!=1){U=ca+-26|0;U=(U|0)>-1?U:26-ca|0;T=ca+-10|0;T=(T|0)>-1?T:10-ca|0;if((((U|0)>(T|0)?T:U)|0)>0){if(W&(a[V+13317>>0]|0)!=0){m=n&65535;k=b[aa+128>>1]|0;l=k&65535;W=l+m-(e[aa+64>>1]<<1)|0;if((((W|0)>-1?W:0-W|0)|0)<128?(_=X+128|0,W=(e[_>>1]|0)+m-(e[X+64>>1]<<1)|0,(((W|0)>-1?W:0-W|0)|0)<128):0){b[Z>>1]=n;b[Z+128>>1]=k;i=0;while(1){if((i|0)==63)break;aa=i+1|0;$=((H(aa,l)|0)+32+(H(63-i|0,m)|0)|0)>>>6&65535;b[ba+(i<<1)>>1]=$;i=aa}i=0;while(1){if((i|0)==63){i=ba;U=182;break r}aa=i+1|0;$=H(63-i|0,m)|0;$=($+32+(H(aa,e[_>>1]|0)|0)|0)>>>6&65535;b[j+(i<<1)>>1]=$;i=aa}}}else k=b[aa+128>>1]|0;b[Y+128>>1]=b[X+128>>1]|0;b[Z+128>>1]=k;k=62;while(1){if((k|0)<=-1)break;b[$+(k<<1)>>1]=((e[j+(k+1<<1)>>1]|0)+2+(e[j+(k<<1)>>1]<<1)+(e[X+(k<<1)>>1]|0)|0)>>>2;k=k+-1|0}j=(((n&65535)<<1)+2+(e[j>>1]|0)+(e[i>>1]|0)|0)>>>2&65535;b[Y>>1]=j;b[Z>>1]=j;j=62;while(1){if((j|0)<=-1){j=$;i=ba;U=182;break r}b[ba+(j<<1)>>1]=((e[i+(j+1<<1)>>1]|0)+2+(e[i+(j<<1)>>1]<<1)+(e[aa+(j<<1)>>1]|0)|0)>>>2;j=j+-1|0}}else U=182}else U=184}else U=182;while(0);s:do if((U|0)==182)switch(ca|0){case 1:{U=184;break s}case 0:{hc[c[d+5764>>2]&255](ea,i,j,da);break s}default:{kc[c[d+5784>>2]&127](ea,i,j,da,h,ca);break s}}while(0);if((U|0)==184)kc[c[d+5768>>2]&127](ea,i,j,da,5,h);Mb=fa;return}function Fc(d,f,g,h){d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=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,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0;fa=Mb;Mb=Mb+576|0;X=fa+432|0;Y=fa+288|0;aa=fa+144|0;Z=fa;r=c[d+136>>2]|0;V=c[d+1412>>2]|0;S=c[V+13424+(h<<2)>>2]|0;R=c[V+13436+(h<<2)>>2]|0;u=32<<S;k=c[V+13328>>2]|0;t=32<<R;l=c[V+13420>>2]|0;m=f>>k&l;n=g>>k&l;s=c[d+1416>>2]|0;o=c[s+1684>>2]|0;p=l+2|0;q=o+((H(n,p)|0)+m<<2)|0;q=c[q>>2]|0;ea=c[d+160>>2]|0;da=(c[ea+32+(h<<2)>>2]|0)>>>1;D=0-da|0;ea=(c[ea+(h<<2)>>2]|0)+(f>>S<<1)+((H(da,g>>R)|0)<<1)|0;T=c[V+13412>>2]|0;W=(h|0)==0;ca=c[(W?r+288|0:r+292|0)>>2]|0;j=X+2|0;i=aa+2|0;$=Y+2|0;ba=Z+2|0;if(!(c[r+31284>>2]|0))v=0;else{v=o+(m+-1+(H(n+(t>>k)&l,p)|0)<<2)|0;v=(q|0)>(c[v>>2]|0)}w=v&1;x=c[r+31288>>2]|0;A=c[r+31296>>2]|0;B=c[r+31292>>2]|0;if(!(c[r+31300>>2]|0))y=0;else{y=o+((H(n+-1|0,p)|0)+(m+(u>>k)&l)<<2)|0;y=(q|0)>(c[y>>2]|0)}k=y&1;K=(t<<1)+g|0;I=V+13380|0;C=c[I>>2]|0;J=t+g|0;K=((K|0)>(C|0)?C:K)-J>>R;C=(u<<1)+f|0;F=V+13376|0;E=c[F>>2]|0;G=u+f|0;C=((C|0)>(E|0)?E:C)-G>>S;E=s+20|0;if((a[E>>0]|0)==1){z=c[V+13340>>2]|0;s=t>>z;u=u>>z;t=(1<<z)+-1|0;r=(t&f|0)==0;t=(t&g|0)==0;u=u+((u|0)==0&1)|0;a:do if(v&r){o=f+-1>>z;p=J>>z;n=(c[V+13416>>2]|0)-p|0;n=(s|0)>(n|0)?n:s;q=d+3516|0;l=0;m=0;while(1){if((l|0)>=(n|0)){w=m;break a}Q=(c[(c[q>>2]|0)+20>>2]|0)+(((H(l+p|0,T)|0)+o|0)*12|0)+10|0;l=l+2|0;m=m|(a[Q>>0]|0)==0}}while(0);b:do if((x|0)==1&r){p=f+-1>>z;q=g>>z;n=(c[V+13416>>2]|0)-q|0;n=(s|0)>(n|0)?n:s;o=d+3516|0;l=0;m=0;while(1){if((m|0)>=(n|0)){r=l;break b}Q=(c[(c[o>>2]|0)+20>>2]|0)+(((H(m+q|0,T)|0)+p|0)*12|0)+10|0;l=l|(a[Q>>0]|0)==0;m=m+2|0}}else r=x;while(0);if((A|0)==1){q=(c[(c[d+3516>>2]|0)+20>>2]|0)+(((H(g+-1>>z,T)|0)+(f+-1>>z)|0)*12|0)+10|0;q=(a[q>>0]|0)==0&1}else q=A;c:do if((B|0)==1&t){p=f>>z;n=T-p|0;n=(u|0)>(n|0)?n:u;o=d+3516|0;p=(H(g+-1>>z,T)|0)+p|0;l=0;m=0;while(1){if((m|0)>=(n|0)){p=l;break c}l=l|(a[(c[(c[o>>2]|0)+20>>2]|0)+((p+m|0)*12|0)+10>>0]|0)==0;m=m+2|0}}else p=B;while(0);d:do if(y&t){m=G>>z;n=T-m|0;n=(u|0)>(n|0)?n:u;o=d+3516|0;m=(H(g+-1>>z,T)|0)+m|0;k=0;l=0;while(1){if((l|0)>=(n|0))break d;k=k|(a[(c[(c[o>>2]|0)+20>>2]|0)+((m+l|0)*12|0)+10>>0]|0)==0;l=l+2|0}}while(0);m=j;n=m+128|0;do{b[m>>1]=32896;m=m+2|0}while((m|0)<(n|0));m=i;n=m+128|0;do{b[m>>1]=32896;m=m+2|0}while((m|0)<(n|0));b[aa>>1]=128;A=q;x=r;B=p;p=k}else p=k;N=(A|0)!=0;if(N){Q=b[ea+(~da<<1)>>1]|0;b[X>>1]=Q;b[aa>>1]=Q}O=(B|0)!=0;if(O){m=i;k=ea+(D<<1)|0;n=m+64|0;do{b[m>>1]=b[k>>1]|0;m=m+2|0;k=k+2|0}while((m|0)<(n|0))}Q=(p|0)!=0;e:do if(Q){l=aa+66|0;m=l;k=ea+(D<<1)+64|0;n=m+64|0;do{b[m>>1]=b[k>>1]|0;m=m+2|0;k=k+2|0}while((m|0)<(n|0));m=MR(e[ea+(31-da+C<<1)>>1]|0,0,65537,65537)|0;n=M()|0;o=32-C|0;l=l+(C<<1)|0;k=0;while(1){if((k|0)>=(o|0))break e;D=l+(k<<1)|0;C=D;b[C>>1]=m;b[C+2>>1]=m>>>16;D=D+4|0;b[D>>1]=n;b[D+2>>1]=n>>>16;k=k+4|0}}while(0);C=(x|0)!=0;f:do if(C){k=0;while(1){if((k|0)==32)break f;D=ea+((H(k,da)|0)+-1<<1)|0;b[j+(k<<1)>>1]=b[D>>1]|0;k=k+1|0}}while(0);z=(w|0)!=0;g:do if(z){l=K+32|0;k=32;while(1){if((k|0)>=(l|0))break;D=ea+((H(k,da)|0)+-1<<1)|0;b[j+(k<<1)>>1]=b[D>>1]|0;k=k+1|0}l=ea+((H(K+31|0,da)|0)+-1<<1)|0;l=MR(e[l>>1]|0,0,65537,65537)|0;m=M()|0;n=32-K|0;o=X+66+(K<<1)|0;k=0;while(1){if((k|0)>=(n|0))break g;D=o+(k<<1)|0;y=D;b[y>>1]=l;b[y+2>>1]=l>>>16;D=D+4|0;b[D>>1]=m;b[D+2>>1]=m>>>16;k=k+4|0}}while(0);h:do if((a[E>>0]|0)==1?(L=w|x,P=(L|0)==0,L=L|A,B|p|L|0):0){F=c[F>>2]|0;y=F-f>>S;I=c[I>>2]|0;w=I-g>>R;y=Q?(((64<<S)+f|0)<(F|0)?64:y):(G|0)<(F|0)?32:y;w=z?(((64<<R)+g|0)<(I|0)?64:w):(J|0)<(I|0)?32:w;do if(!L){m=d+3516|0;n=V+13340|0;o=(-1<<R)+g|0;k=0;while(1){if((k|0)>=(y|0))break;L=c[n>>2]|0;L=(c[(c[m>>2]|0)+20>>2]|0)+(((H(o>>L,T)|0)+((k<<S)+f>>L)|0)*12|0)+10|0;if(!(a[L>>0]|0))break;k=k+1|0}i:do if(k|0){if((f|0)>0)while(1){if((k|0)<=-1)break i;l=k+-1|0;L=c[n>>2]|0;L=(c[(c[m>>2]|0)+20>>2]|0)+(((H(o>>L,T)|0)+((l<<S)+f>>L)|0)*12|0)+10|0;if(a[L>>0]|0)b[aa+(k<<1)>>1]=b[i+(k<<1)>>1]|0;k=l}while(1){if((k|0)<=0)break;l=k+-1|0;L=c[n>>2]|0;L=(c[(c[m>>2]|0)+20>>2]|0)+(((H(o>>L,T)|0)+((l<<S)+f>>L)|0)*12|0)+10|0;if(a[L>>0]|0)b[aa+(k<<1)>>1]=b[i+(k<<1)>>1]|0;k=l}b[aa>>1]=b[i>>1]|0}while(0);q=b[aa>>1]|0;b[X>>1]=q;v=aa;u=X}else{n=c[(c[d+3516>>2]|0)+20>>2]|0;o=c[V+13340>>2]|0;m=(-1<<S)+f>>o;k=z?K+32|0:32;do{L=k;k=k+-1|0;l=H((k<<R)+g>>o,T)|0;if((L|0)<=0)break}while((a[n+((l+m|0)*12|0)+10>>0]|0)!=0);if(!(a[n+((l+(f-(1<<S)>>o)|0)*12|0)+10>>0]|0)){v=aa;u=X;q=b[aa>>1]|0;break}m=H(g-(1<<R)>>o,T)|0;k=0;while(1){if((k|0)>=(y|0))break;if(!(a[n+((((k<<S)+f>>o)+m|0)*12|0)+10>>0]|0))break;k=k+1|0}while(1){if((k|0)<=-1)break;l=k+-1|0;if(a[n+((((l<<S)+f>>o)+m|0)*12|0)+10>>0]|0)b[aa+(k<<1)>>1]=b[i+(k<<1)>>1]|0;k=l}q=b[aa>>1]|0;b[X>>1]=q;v=aa;u=X}while(0);b[u>>1]=q;j:do if(!P){k=MR(q&65535|0,0,65537,65537)|0;n=d+3516|0;o=(-1<<S)+f|0;p=V+13340|0;m=0;l=M()|0;while(1){if((m|0)>=(w|0))break j;P=c[p>>2]|0;P=(c[(c[n>>2]|0)+20>>2]|0)+(((H((m<<R)+g>>P,T)|0)+(o>>P)|0)*12|0)+10|0;if(!(a[P>>0]|0)){k=MR(e[j+((m|3)<<1)>>1]|0,0,65537,65537)|0;l=M()|0}else{P=j+(m<<1)|0;L=P;b[L>>1]=k;b[L+2>>1]=k>>>16;P=P+4|0;b[P>>1]=l;b[P+2>>1]=l>>>16}m=m+4|0}}while(0);k:do if(!C){l=MR(q&65535|0,0,65537,65537)|0;m=M()|0;k=0;while(1){if(k>>>0>=32)break k;P=j+(k<<1)|0;L=P;b[L>>1]=l;b[L+2>>1]=l>>>16;P=P+4|0;b[P>>1]=m;b[P+2>>1]=m>>>16;k=k+4|0}}while(0);l:do if(!z){l=MR(e[X+64>>1]|0,0,65537,65537)|0;m=M()|0;n=X+66|0;k=0;while(1){if(k>>>0>=32)break l;P=n+(k<<1)|0;L=P;b[L>>1]=l;b[L+2>>1]=l>>>16;P=P+4|0;b[P>>1]=m;b[P+2>>1]=m>>>16;k=k+4|0}}while(0);t=(g|0)!=0;m:do if((f|0)!=0&t){o=MR(e[X+(w<<1)>>1]|0,0,65537,65537)|0;l=M()|0;q=(c[d+3516>>2]|0)+20|0;r=(-1<<S)+f|0;s=V+13340|0;p=w+-1|0;while(1){k=c[q>>2]|0;m=c[s>>2]|0;n=r>>m;if((p|0)<=-1)break;L=p+-3|0;P=k+(((H((L<<R)+g>>m,T)|0)+n|0)*12|0)+10|0;k=j+(L<<1)|0;if(!(a[P>>0]|0)){k=MR(e[k>>1]|0,0,65537,65537)|0;l=M()|0}else{P=k;b[P>>1]=o;b[P+2>>1]=o>>>16;k=k+4|0;b[k>>1]=l;b[k+2>>1]=l>>>16;k=o}p=p+-4|0;o=k}P=k+(((H((-1<<R)+g>>m,T)|0)+n|0)*12|0)+10|0;if(a[P>>0]|0)b[u>>1]=b[j>>1]|0}else{if(!f){k=0;while(1){if((k|0)>=(w|0))break m;P=j+(k<<1)|0;L=P;b[L>>1]=0;b[L+2>>1]=0>>>16;P=P+4|0;b[P>>1]=0;b[P+2>>1]=0>>>16;k=k+4|0}}m=MR(e[X+(w<<1)>>1]|0,0,65537,65537)|0;o=d+3516|0;p=(-1<<S)+f|0;q=V+13340|0;n=w+-1|0;l=M()|0;while(1){if((n|0)<=-1)break m;P=c[q>>2]|0;k=n+-3|0;P=(c[(c[o>>2]|0)+20>>2]|0)+(((H((k<<R)+g>>P,T)|0)+(p>>P)|0)*12|0)+10|0;k=j+(k<<1)|0;if(!(a[P>>0]|0)){k=MR(e[k>>1]|0,0,65537,65537)|0;l=M()|0}else{P=k;b[P>>1]=m;b[P+2>>1]=m>>>16;k=k+4|0;b[k>>1]=l;b[k+2>>1]=l>>>16;k=m}n=n+-4|0;m=k}}while(0);k=b[u>>1]|0;b[v>>1]=k;if(t){k=MR(k&65535|0,0,65537,65537)|0;o=d+3516|0;p=V+13340|0;n=(-1<<R)+g|0;m=0;l=M()|0;while(1){if((m|0)>=(y|0))break h;g=c[p>>2]|0;g=(c[(c[o>>2]|0)+20>>2]|0)+(((H(n>>g,T)|0)+((m<<S)+f>>g)|0)*12|0)+10|0;if(!(a[g>>0]|0)){k=MR(e[i+((m|3)<<1)>>1]|0,0,65537,65537)|0;l=M()|0}else{g=i+(m<<1)|0;R=g;b[R>>1]=k;b[R+2>>1]=k>>>16;g=g+4|0;b[g>>1]=l;b[g+2>>1]=l>>>16}m=m+4|0}}}while(0);n:do if(!z){if(C){l=MR(e[X+64>>1]|0,0,65537,65537)|0;m=M()|0;n=X+66|0;k=0;while(1){if(k>>>0>=32){U=147;break n}U=n+(k<<1)|0;T=U;b[T>>1]=l;b[T+2>>1]=l>>>16;U=U+4|0;b[U>>1]=m;b[U+2>>1]=m>>>16;k=k+4|0}}if(N){l=MR(e[X>>1]|0,0,65537,65537)|0;m=M()|0;k=0;while(1){if(k>>>0>=64){U=151;break n}U=j+(k<<1)|0;T=U;b[T>>1]=l;b[T+2>>1]=l>>>16;U=U+4|0;b[U>>1]=m;b[U+2>>1]=m>>>16;k=k+4|0}}if(O){l=b[i>>1]|0;b[X>>1]=l;l=MR(l&65535|0,0,65537,65537)|0;m=M()|0;k=0;while(1){if(k>>>0>=64){U=153;break n}U=j+(k<<1)|0;T=U;b[T>>1]=l;b[T+2>>1]=l>>>16;U=U+4|0;b[U>>1]=m;b[U+2>>1]=m>>>16;k=k+4|0}}if(Q){l=aa+66|0;m=MR(e[l>>1]|0,0,65537,65537)|0;n=M()|0;k=0;while(1){if(k>>>0>=32)break;T=i+(k<<1)|0;S=T;b[S>>1]=m;b[S+2>>1]=m>>>16;T=T+4|0;b[T>>1]=n;b[T+2>>1]=n>>>16;k=k+4|0}l=b[l>>1]|0;b[X>>1]=l;l=MR(l&65535|0,0,65537,65537)|0;m=M()|0;k=0;while(1){if(k>>>0>=64)break n;T=j+(k<<1)|0;S=T;b[S>>1]=l;b[S+2>>1]=l>>>16;T=T+4|0;b[T>>1]=m;b[T+2>>1]=m>>>16;k=k+4|0}}else{b[X>>1]=512;k=0;while(1){if(k>>>0>=64)break;U=i+(k<<1)|0;T=U;b[T>>1]=512;b[T+2>>1]=33554944>>>16;U=U+4|0;b[U>>1]=512;b[U+2>>1]=33554944>>>16;k=k+4|0}k=0;while(1){if(k>>>0>=64){U=147;break n}U=j+(k<<1)|0;T=U;b[T>>1]=512;b[T+2>>1]=33554944>>>16;U=U+4|0;b[U>>1]=512;b[U+2>>1]=33554944>>>16;k=k+4|0}}}else U=147;while(0);o:do if((U|0)==147)if(!x){l=MR(e[X+66>>1]|0,0,65537,65537)|0;m=M()|0;k=0;while(1){if(k>>>0>=32){U=151;break o}U=j+(k<<1)|0;T=U;b[T>>1]=l;b[T+2>>1]=l>>>16;U=U+4|0;b[U>>1]=m;b[U+2>>1]=m>>>16;k=k+4|0}}else U=151;while(0);if((U|0)==151)if(!A){b[X>>1]=b[j>>1]|0;U=153}else U=153;p:do if((U|0)==153?(B|0)==0:0){l=MR(e[X>>1]|0,0,65537,65537)|0;m=M()|0;k=0;while(1){if(k>>>0>=32)break p;U=i+(k<<1)|0;T=U;b[T>>1]=l;b[T+2>>1]=l>>>16;U=U+4|0;b[U>>1]=m;b[U+2>>1]=m>>>16;k=k+4|0}}while(0);q:do if(!Q){l=MR(e[aa+64>>1]|0,0,65537,65537)|0;m=M()|0;n=aa+66|0;k=0;while(1){if(k>>>0>=32)break q;U=n+(k<<1)|0;T=U;b[T>>1]=l;b[T+2>>1]=l>>>16;U=U+4|0;b[U>>1]=m;b[U+2>>1]=m>>>16;k=k+4|0}}while(0);n=b[X>>1]|0;b[aa>>1]=n;r:do if(!(c[V+13368>>2]|0)){if(!W?(c[V+4>>2]|0)!=3:0){U=182;break}if((ca|0)!=1){U=ca+-26|0;U=(U|0)>-1?U:26-ca|0;T=ca+-10|0;T=(T|0)>-1?T:10-ca|0;if((((U|0)>(T|0)?T:U)|0)>0){if(W&(a[V+13317>>0]|0)!=0){m=n&65535;k=b[aa+128>>1]|0;l=k&65535;W=l+m-(e[aa+64>>1]<<1)|0;if((((W|0)>-1?W:0-W|0)|0)<32?(_=X+128|0,W=(e[_>>1]|0)+m-(e[X+64>>1]<<1)|0,(((W|0)>-1?W:0-W|0)|0)<32):0){b[Z>>1]=n;b[Z+128>>1]=k;i=0;while(1){if((i|0)==63)break;aa=i+1|0;$=((H(aa,l)|0)+32+(H(63-i|0,m)|0)|0)>>>6&65535;b[ba+(i<<1)>>1]=$;i=aa}i=0;while(1){if((i|0)==63){i=ba;U=182;break r}aa=i+1|0;$=H(63-i|0,m)|0;$=($+32+(H(aa,e[_>>1]|0)|0)|0)>>>6&65535;b[j+(i<<1)>>1]=$;i=aa}}}else k=b[aa+128>>1]|0;b[Y+128>>1]=b[X+128>>1]|0;b[Z+128>>1]=k;k=62;while(1){if((k|0)<=-1)break;b[$+(k<<1)>>1]=((e[j+(k+1<<1)>>1]|0)+2+(e[j+(k<<1)>>1]<<1)+(e[X+(k<<1)>>1]|0)|0)>>>2;k=k+-1|0}j=(((n&65535)<<1)+2+(e[j>>1]|0)+(e[i>>1]|0)|0)>>>2&65535;b[Y>>1]=j;b[Z>>1]=j;j=62;while(1){if((j|0)<=-1){j=$;i=ba;U=182;break r}b[ba+(j<<1)>>1]=((e[i+(j+1<<1)>>1]|0)+2+(e[i+(j<<1)>>1]<<1)+(e[aa+(j<<1)>>1]|0)|0)>>>2;j=j+-1|0}}else U=182}else U=184}else U=182;while(0);s:do if((U|0)==182)switch(ca|0){case 1:{U=184;break s}case 0:{hc[c[d+5764>>2]&255](ea,i,j,da);break s}default:{kc[c[d+5784>>2]&127](ea,i,j,da,h,ca);break s}}while(0);if((U|0)==184)kc[c[d+5768>>2]&127](ea,i,j,da,5,h);Mb=fa;return}
|
|
|
|
// EMSCRIPTEN_END_FUNCS
|
|
var Qb=[e2,tB,DB,gA,X1,_1,W1,S1,T1,U1,Z1,Y1,R1,x_,e2,e2];var Rb=[w1];var Sb=[c1];var Tb=[t1,iE];var Ub=[T0,yQ];var Vb=[c2,ZU,jQ,kn,hy,S0,XX,Ov,ou,JA,K_,NV,_E,GX,Qq,o0,R_,wj,kA,xK,K1,ss,hU,TW,hj,gU,mP,xB,VU,Oz,c2,c2];var Wb=[z_,od];var Xb=[u1,Vd,Cg,aT,oW,MQ,ip,QU,Ai,aQ,fv,Cd,R$,u1,u1,u1];var Yb=[W0,St,ds,bz,bu,eo,vG,wQ,BC,ZY,TY,yA,c0,W0,W0,W0];var Zb=[m0,Th,Mm,lt,xd,pr,qB,rg];var _b=[x$,zM,XU,Ty,vu,Dl,gj,Di,fh,qt,Dq,Ip,fn,SD,Tg,MD,Gh,aF,aL,bF,RC,fo,av,IA,EE,yv,dH,Dk,IG,up,aC,cC,Lw,Ow,nC,qC,bx,ex,rs,us,ci,El,Jl,um,vi,Wi,Vn,Xo,Un,Wo,x$,x$,x$,x$,x$,x$,x$,x$,x$,x$,x$,x$,x$,x$];var $b=[a_,cg,eu,Ih,gf,xk,PJ,cB,xm,a_,a_,a_,a_,a_,a_,a_];var ac=[fU,Of];var bc=[tY,ke];var cc=[s2,N1,M1,L1,J1,I1,H1,G1,F1,E1,D1,A1,z1,y1,v1,UQ,Fk,ck,s2,s2,s2,s2,s2,s2,s2,s2,s2,s2,s2,s2,s2,s2];var dc=[l2,uY,TB,MW,JX,$0,dC,lx,Pm,P$,E$,C$,v$,h$,Z_,S_,O_,E_,u_,s_,b_,BZ,kZ,aZ,ny,$E,pQ,Tl,dO,$N,rN,nN,Wl,gO,cO,uN,qN,Yl,fO,bO,tN,pN,Ul,eO,aO,sN,oN,RY,iO,FQ,eA,l2,l2,l2,l2,l2,l2,l2,l2,l2,l2,l2,l2,l2];var ec=[P1,GA,Ds,GA,Ds,GA,Ds,GA,Ds,dA,Yr,aG,sw,Hm,ah,rf,de,rw,Lm,ch,tf,fe,qw,Om,dh,vf,ge,tw,Im,bh,sf,ee,CA,oi,ni,ti,Vp,so,WB,UB,ND,KD,$l,sk,Gu,tq,Zt,nu,A_,C_,yW,wX,Xi,LY,Mx,o_,q_,tW,uX,Ax,dE,vF,QK,OK,PK,bZ,ow,Wv,NA,I$,J$,xn,KC,BE,$$,Ay,cz,JC,WB,UB,ND,KD,Pl,kk,tq,Zt,nu,A_,C_,rW,rX,Xi,LY,Mx,o_,q_,mW,jX,NK,LK,MK,PY,ow,Wv,NA,IC,GC,X$,Ay,cz,HC,WB,UB,ND,KD,Ol,jk,tq,Zt,nu,A_,C_,qW,qX,Xi,LY,Mx,o_,q_,lW,iX,HK,DK,FK,OY,ow,Wv,NA,zC,vC,W$,Ay,cz,xC,WB,UB,ND,KD,Hl,fk,tq,Zt,nu,A_,C_,pW,pX,Xi,LY,Mx,o_,q_,kW,hX,GK,CK,EK,NY,ow,Wv,NA,yC,uC,V$,Ay,cz,wC,zO,lO,BP,uP,an,il,lu,vx,jy,B_,D_,zW,xX,vm,MY,fB,p_,r_,uW,vX,fT,PS,QS,cZ,KA,eE,wK,kQ,bQ,Q$,iD,tE,cQ,pE,HP,Do,Lv,dZ,P0,_N,On,al,bW,P1,P1,P1,P1,P1,P1,P1,P1,P1,P1,P1,P1,P1,P1,P1,P1,P1,P1,P1,P1,P1,P1,P1,P1,P1,P1,P1,P1,P1,P1,P1,P1,P1,P1,P1,P1];var fc=[L0,tQ,LT,uQ,MT,L0,L0,L0];var gc=[i1,Ez,wA,hv,Ru,cn,wg,tD,dD,qp,$m,tg,nD,YC,qp,_m,sg,mD,XC,qp,Ym,pg,lD,QC,qp,Hn,Ag,vE,rE,Vo,gD,fD,WC,VC,Gv,bD,_C,OC,MC,Gv,aD,ZC,NC,LC,Gv,_D,VD,QD,PD,Gv,_0,Ks,BT,Qw,Uv,jr,aq,Cp,yp,qr,Cq,Ys,mA,FA,sA,OF,MF,ED,ax,NF,Kn,lR,Cn,fq,Hp,bS,Fy,HA,ut,Nw,Qw,jr,aq,Cp,yp,Cq,Ys,mA,FA,KF,IF,ED,ax,JF,Fy,HA,ut,Nw,Qw,jr,aq,Cp,yp,Cq,Ys,mA,FA,lF,hF,ED,ax,jF,Fy,HA,ut,Nw,Qw,jr,aq,Cp,yp,Cq,Ys,mA,FA,kF,gF,ED,ax,iF,Fy,HA,ut,Nw,AC,Gs,Cr,Zq,ar,hs,pu,BJ,WK,OU,HU,DU,yE,IU,uz,kB,Dt,mw,PA,Zy,e$,ET,PZ,HS,sM,gJ,kO,HI,ER,RG,MV,nG,LN,MH,LM,kH,$_,zT,e_,DS,bM,cJ,jO,BI,CR,CG,DV,fG,hN,CH,JM,eH,o$,YT,g_,jT,JN,aK,fP,QJ,oS,CI,YV,WH,LO,vJ,qO,ZI,q$,_T,i_,lT,TN,gK,lP,ZJ,qS,SI,_V,lI,WO,GJ,yO,kJ,j$,HT,_Z,JS,yM,iJ,oO,LI,KR,SG,RV,rG,PN,VH,RM,qH,c$,CT,k_,ES,dM,hJ,nO,JI,IR,MG,FV,lG,vN,NH,PM,mH,t$,aU,m_,oT,ON,cK,iP,TJ,rS,KI,$V,aI,NO,AJ,tO,$I,d$,DT,OZ,GS,iM,TI,ZN,mI,DR,GG,EV,gG,DN,yH,DM,UG,__,eT,d_,hS,FL,hI,$M,AH,zR,QF,BV,EF,CM,TG,RL,wG,n$,XT,f_,iT,iN,YJ,eP,HJ,iS,tI,VV,GH,EO,jJ,pO,MI,p$,ZT,h_,kT,KN,bK,kP,RJ,pS,GI,ZV,_H,MO,wJ,xO,_I,i$,GT,ZZ,IS,oM,XI,hO,rI,JR,QG,GV,mG,IN,zH,HM,YG,b$,gT,j_,jS,KL,nI,dN,BH,BR,VF,CV,FF,GM,XG,XL,xG,s$,$T,l_,nT,wN,_J,hP,IJ,kS,xI,XV,RH,IO,nJ,sO,OI,d$,rT,rZ,wS,UL,wI,CN,LH,uR,qG,vV,TF,cN,$G,hM,FG,__,OS,HZ,PR,uL,FH,KM,hH,kR,GF,oV,tF,rM,BG,NL,eG,n$,PT,KZ,XS,WM,LJ,RO,uJ,SR,ZH,JV,tH,wO,RI,SN,kI,p$,ST,NZ,_S,lN,WJ,VO,FJ,aS,fI,TV,xH,HO,fJ,YN,FI,i$,vT,yZ,AS,_L,AI,HN,UH,xR,uG,zV,YF,gN,cH,nM,PG,b$,TS,VZ,VR,zL,QH,QM,pH,qR,HF,sV,uF,xM,LG,OL,kG,s$,WT,YZ,dT,_M,OJ,UO,zJ,YR,dI,QV,wH,DO,WI,XN,qI,d$,qT,qZ,vS,TL,vI,BN,KH,tR,pG,uV,SF,bN,_G,gM,EG,__,NS,GZ,OR,tL,EH,BM,gH,jR,AF,nV,nF,qM,AG,EL,dG,n$,OT,JZ,WS,VM,KJ,QO,tJ,RR,YH,IV,sH,vO,QI,RN,jI,p$,RT,MZ,ZS,kN,VJ,KO,EJ,$R,IH,LV,jH,GO,eJ,zN,EI,i$,uT,xZ,zS,ZL,zI,GN,TH,wR,tG,yV,XF,fN,bH,mM,OG,b$,SS,UZ,UR,yL,PH,FM,oH,pR,DF,rV,qF,wM,KG,JL,jG,s$,VT,XZ,cT,ZM,NJ,TO,yJ,XR,cI,PV,vH,CO,VI,WN,pI,d$,pT,pZ,uS,SL,uI,AN,JH,sR,oG,tV,RF,aN,ZG,fM,DG,__,MS,FZ,NR,sL,DH,AM,fH,iR,zF,mV,mF,pM,zG,DL,cG,n$,NT,IZ,VS,UM,JJ,PO,sJ,QR,XH,HV,rH,uO,PI,QN,iI,p$,QT,LZ,YS,jN,UJ,JO,DJ,_R,HH,KV,iH,FO,dJ,yN,DI,i$,tT,wZ,yS,YL,yI,FN,SH,vR,sG,xV,WF,eN,aH,lM,NG,b$,RS,TZ,TR,xL,OH,EM,nH,oR,CF,qV,pF,vM,JG,IL,iG,s$,UT,WZ,bT,YM,MJ,SO,xJ,WR,bI,OV,uH,BO,UI,VN,oI,yK,cM,qE,Yo,bk,qL,n_,vZ,uZ,tZ,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1,i1];var hc=[E0,ek,wl,ql,dw,zx,qx,kx,zx,dk,tl,pl,cw,yx,px,jx,yx,hk,Al,vl,bw,xx,ox,ix,xx,gk,zl,ul,aw,wx,nx,hx,wx,Lk,Kl,Il,cx,wy,ty,py,wy,Xc,Jc,Mc,Gc,dy,$x,Tx,Sx,Wc,Ic,Lc,Fc,dy,$x,Tx,Sx,Vc,Hc,Kc,Ec,dy,$x,Tx,Sx,_c,Pc,Rc,Oc,zy,yy,sy,ry,Dn,gE,ri,Jv,yo,qi,Dj,_e,Te,Ne,Qe,ff,dg,Vq,Qp,BL,PQ,wE,HQ,kE,yo,qi,Dj,_e,Te,Ne,Qe,ff,dg,Vq,Qp,vL,PQ,wE,HQ,kE,yo,qi,Dj,_e,Te,Ne,Qe,ff,dg,Vq,Qp,iL,PQ,wE,HQ,kE,yo,qi,Dj,_e,Te,Ne,Qe,ff,dg,Vq,Qp,hL,PQ,wE,HQ,kE,qq,gn,_k,Ff,Bf,nf,xf,Lf,Eg,nt,As,AT,QQ,xE,IQ,lE,KQ,BQ,KQ,BQ,KQ,BQ,KQ,BQ,LQ,CQ,tm,bi,Xm,jK,SE,RE,fR,NP,hl,fs,ap,Uq,io,Fu,Vr,Du,Or,yj,Bh,E0,E0,E0,E0,E0,E0,E0,E0,E0,E0,E0,E0,E0,E0,E0,E0,E0,E0,E0,E0,E0,E0,E0,E0,E0,E0,E0,E0,E0,E0,E0,E0,E0,E0,E0,E0,E0,E0,E0,E0,E0,E0,E0,E0,E0,E0,E0,E0,E0,E0,E0,E0,E0,E0,E0,E0,E0,E0,E0,E0,E0,E0,E0,E0,E0,E0,E0,E0,E0,E0];var ic=[jZ,pw];var jc=[U$,Cz,Wx,Cx,Uw,Vw,zr,cy,oz,Hy,rx,sx,es,by,Gy,Sz,Sw,Tw,nv,et,Ft,Zk,Sz,vz,Wr,ht,Kt,$k,wz,xz,Zr,Hs,jt,nz,ct,dt,vt,Tz,Pz,Vy,hr,rC,Qj,wk,tk,mq,Nq,Mq,or,Nq,Nz,Iz,Ry,er,mC,Oj,vk,qk,jq,Lq,Iq,mr,Lq,Mz,Hz,Qy,dr,lC,Nj,uk,pk,iq,Kq,Fq,lr,Kq,Lz,Gz,Py,cr,kC,Mj,rk,mk,dq,Eq,Bq,kr,Eq,tz,rz,Oy,$q,jC,ik,Tk,Pk,nr,xr,wr,js,xr,mX,kX,fX,dX,eX,cX,nX,lX,fC,wf,to,_j,ol,_j,ol,_j,ol,_j,ol,Ak,Cl,$u,yF,qu,Gt,lo,aB,xP,uM,$H,oQ,mQ,VB,U$,U$,U$,U$,U$,U$,U$,U$,U$,U$,U$,U$,U$,U$,U$,U$,U$,U$,U$,U$,U$,U$,U$,U$,U$,U$,U$,U$,U$,U$,U$,U$,U$,U$,U$,U$,U$,U$,U$,U$,U$,U$,U$,U$,U$,U$,U$,U$,U$,U$,U$,U$,U$,U$,U$,U$,U$,U$,U$,U$,U$,U$,U$,U$,U$,U$,U$,U$,U$,U$,U$,U$,U$,U$,U$,U$,U$,U$,U$,U$,U$,U$,U$,U$,U$,U$,U$,U$,U$,U$,U$,U$,U$,U$,U$,U$,U$,U$,U$,U$,U$,U$,U$,U$,U$,U$,U$,U$,U$,U$,U$,U$,U$,U$,U$,U$,U$,U$,U$,U$,U$];var kc=[U_,nj,sq,nw,bB,lj,oq,iw,ZA,kj,nq,hw,YA,ej,cq,Vv,WA,Rj,tr,$w,GB,cE,XD,WD,fF,NW,KW,HW,FW,GW,EW,OW,LW,No,Fe,ce,be,cf,No,De,ae,_d,cf,No,Ce,$d,Zd,cf,sr,Af,Me,Ke,Uf,re,xe,Fg,Ug,nk,Wk,cp,Jp,Pd,Ud,_f,fg,jj,zj,ao,Ro,Fz,fz,Dz,ez,Dw,U_,U_,U_,U_,U_,U_,U_,U_,U_,U_,U_,U_,U_,U_,U_,U_,U_,U_,U_,U_,U_,U_,U_,U_,U_,U_,U_,U_,U_,U_,U_,U_,U_,U_,U_,U_,U_,U_,U_,U_,U_,U_,U_,U_,U_,U_,U_,U_,U_,U_,U_,U_,U_,U_];var lc=[gY,ep];var mc=[$Y,Nt,YD,Bp,$o,Zh,Wu,Pu,mm,Mt,UD,Ap,_o,Xh,Uu,Nu,lm,Lt,TD,zp,Zo,Wh,Tu,Mu,km,Bu,LF,Zp,Gp,gi,Bv,rv,Dm,FD,XB,gI,eI,Kv,eK,lK,lK,fK,$Y,$Y,$Y,$Y,$Y,$Y,$Y,$Y,$Y,$Y,$Y,$Y,$Y,$Y,$Y,$Y,$Y,$Y,$Y,$Y,$Y,$Y];var nc=[_X,Mg,jm,bt,gy,Lg,bm,_s,Yx,Kg,am,Zs,Xx,Hg,Zl,Vs,Ux,_g,Tm,Jt,Wy,ev,$J,Oo,bo,Nh,_t,At,Bl,dv,$J,Mo,$n,Mh,Xt,zt,yl,cv,$J,Lo,_n,Lh,Wt,yt,xl,Sv,yP,Fp,bp,di,Zu,Lu,qm,_X,_X,_X,_X,_X,_X,_X,_X,_X,_X,_X];var oc=[tX,sm,hA,Tn,hn,zh,Ss,Is,dl,bA,Qn,dn,xh,Os,Es,bl,fA,Rn,en,yh,Qs,Fs,cl,uB,So,Ao,Sh,Qt,Ht,Gl,tX,tX];var pc=[JW,Zj,Jj,JW];var qc=[AV,fy,on,Nm,mh,ps,Ur,Ik,_x,mn,Km,lh,ns,Qr,Hk,Zx,ln,Jm,kh,ms,Pr,Gk,Qz,Co,In,Fh,ot,at,jl,AV,AV,AV];var rc=[JU,Rk,Ue,Nk,Se,Mk,Re,ll,Xe,JU,JU,JU,JU,JU,JU,JU];var sc=[mS,_v,Am,Rl,Yg,_q,Jq,Yj,Yv,zm,Ml,Xg,Yq,Hq,Xj,Xv,ym,Ll,Wg,Xq,Gq,Wj,Lx,En,Qm,oh,ks,Kr,Ck,mS,mS,mS];return{___divdi3:xA,___em_js__get_do_str:i2,___emscripten_environ_constructor:a1,___errno_location:j2,___muldi3:MR,___remdi3:my,___udivdi3:H_,___uremdi3:eR,__get_daylight:o2,__get_environ:p2,__get_timezone:n2,__get_tzname:r2,_bitshift64Ashr:BU,_bitshift64Lshr:kV,_bitshift64Shl:_U,_emscripten_replace_memory:Pb,_free:Rd,_i64Add:aX,_i64Subtract:_W,_llvm_bswap_i16:X0,_llvm_bswap_i32:W_,_llvm_rint_f64:q0,_llvm_round_f64:G0,_main:WV,_malloc:zc,_memalign:ZW,_memcpy:Mn,_memmove:WL,_memset:jv,_np_create:_w,_np_destroy:SM,_np_get_version:m2,_np_input_data:wi,_np_resize_view:$B,_np_set_buffertime:x0,_np_set_scalemode:F0,_np_set_view:Sl,_np_set_volume:N$,_np_skip_loopfilter:w0,_np_start:pm,_np_stop:vv,_pthread_cond_broadcast:d2,_rintf:q0,_sbrk:yG,dynCall_dd:I0,dynCall_did:H$,dynCall_didd:$Z,dynCall_dii:m$,dynCall_diii:EY,dynCall_ii:s0,dynCall_iidiiii:eV,dynCall_iii:Y_,dynCall_iiii:yY,dynCall_iiiii:sX,dynCall_iiiiii:jW,dynCall_iiiiiii:UU,dynCall_iiiiiiidiiddii:bJ,dynCall_iiiiiiii:iU,dynCall_v:B1,dynCall_vi:M0,dynCall_vii:G$,dynCall_viidi:WX,dynCall_viii:_Y,dynCall_viiii:KX,dynCall_viiiidii:EU,dynCall_viiiii:QW,dynCall_viiiiii:iV,dynCall_viiiiiidi:yT,dynCall_viiiiiii:qU,dynCall_viiiiiiii:FS,dynCall_viiiiiiiii:vQ,dynCall_viiiiiiiiii:GP,dynCall_viiiiiiiiiii:eM,dynCall_viiiiiiiiiiii:uK,dynCall_viiiiiiiiiiiiii:YE,establishStackSpace:B0,stackAlloc:oZ,stackRestore:a2,stackSave:k2}})
|
|
|
|
|
|
// EMSCRIPTEN_END_ASM
|
|
(asmGlobalArg,asmLibraryArg,buffer);var ___divdi3=Module["___divdi3"]=asm["___divdi3"];var ___em_js__get_do_str=Module["___em_js__get_do_str"]=asm["___em_js__get_do_str"];var ___emscripten_environ_constructor=Module["___emscripten_environ_constructor"]=asm["___emscripten_environ_constructor"];var ___errno_location=Module["___errno_location"]=asm["___errno_location"];var ___muldi3=Module["___muldi3"]=asm["___muldi3"];var ___remdi3=Module["___remdi3"]=asm["___remdi3"];var ___udivdi3=Module["___udivdi3"]=asm["___udivdi3"];var ___uremdi3=Module["___uremdi3"]=asm["___uremdi3"];var __get_daylight=Module["__get_daylight"]=asm["__get_daylight"];var __get_environ=Module["__get_environ"]=asm["__get_environ"];var __get_timezone=Module["__get_timezone"]=asm["__get_timezone"];var __get_tzname=Module["__get_tzname"]=asm["__get_tzname"];var _bitshift64Ashr=Module["_bitshift64Ashr"]=asm["_bitshift64Ashr"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var _emscripten_replace_memory=Module["_emscripten_replace_memory"]=asm["_emscripten_replace_memory"];var _free=Module["_free"]=asm["_free"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var _llvm_bswap_i16=Module["_llvm_bswap_i16"]=asm["_llvm_bswap_i16"];var _llvm_bswap_i32=Module["_llvm_bswap_i32"]=asm["_llvm_bswap_i32"];var _llvm_rint_f64=Module["_llvm_rint_f64"]=asm["_llvm_rint_f64"];var _llvm_round_f64=Module["_llvm_round_f64"]=asm["_llvm_round_f64"];var _main=Module["_main"]=asm["_main"];var _malloc=Module["_malloc"]=asm["_malloc"];var _memalign=Module["_memalign"]=asm["_memalign"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var _memmove=Module["_memmove"]=asm["_memmove"];var _memset=Module["_memset"]=asm["_memset"];var _np_create=Module["_np_create"]=asm["_np_create"];var _np_destroy=Module["_np_destroy"]=asm["_np_destroy"];var _np_get_version=Module["_np_get_version"]=asm["_np_get_version"];var _np_input_data=Module["_np_input_data"]=asm["_np_input_data"];var _np_resize_view=Module["_np_resize_view"]=asm["_np_resize_view"];var _np_set_buffertime=Module["_np_set_buffertime"]=asm["_np_set_buffertime"];var _np_set_scalemode=Module["_np_set_scalemode"]=asm["_np_set_scalemode"];var _np_set_view=Module["_np_set_view"]=asm["_np_set_view"];var _np_set_volume=Module["_np_set_volume"]=asm["_np_set_volume"];var _np_skip_loopfilter=Module["_np_skip_loopfilter"]=asm["_np_skip_loopfilter"];var _np_start=Module["_np_start"]=asm["_np_start"];var _np_stop=Module["_np_stop"]=asm["_np_stop"];var _pthread_cond_broadcast=Module["_pthread_cond_broadcast"]=asm["_pthread_cond_broadcast"];var _rintf=Module["_rintf"]=asm["_rintf"];var _sbrk=Module["_sbrk"]=asm["_sbrk"];var establishStackSpace=Module["establishStackSpace"]=asm["establishStackSpace"];var stackAlloc=Module["stackAlloc"]=asm["stackAlloc"];var stackRestore=Module["stackRestore"]=asm["stackRestore"];var stackSave=Module["stackSave"]=asm["stackSave"];var dynCall_dd=Module["dynCall_dd"]=asm["dynCall_dd"];var dynCall_did=Module["dynCall_did"]=asm["dynCall_did"];var dynCall_didd=Module["dynCall_didd"]=asm["dynCall_didd"];var dynCall_dii=Module["dynCall_dii"]=asm["dynCall_dii"];var dynCall_diii=Module["dynCall_diii"]=asm["dynCall_diii"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_iidiiii=Module["dynCall_iidiiii"]=asm["dynCall_iidiiii"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_iiiii=Module["dynCall_iiiii"]=asm["dynCall_iiiii"];var dynCall_iiiiii=Module["dynCall_iiiiii"]=asm["dynCall_iiiiii"];var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=asm["dynCall_iiiiiii"];var dynCall_iiiiiiidiiddii=Module["dynCall_iiiiiiidiiddii"]=asm["dynCall_iiiiiiidiiddii"];var dynCall_iiiiiiii=Module["dynCall_iiiiiiii"]=asm["dynCall_iiiiiiii"];var dynCall_v=Module["dynCall_v"]=asm["dynCall_v"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_viidi=Module["dynCall_viidi"]=asm["dynCall_viidi"];var dynCall_viii=Module["dynCall_viii"]=asm["dynCall_viii"];var dynCall_viiii=Module["dynCall_viiii"]=asm["dynCall_viiii"];var dynCall_viiiidii=Module["dynCall_viiiidii"]=asm["dynCall_viiiidii"];var dynCall_viiiii=Module["dynCall_viiiii"]=asm["dynCall_viiiii"];var dynCall_viiiiii=Module["dynCall_viiiiii"]=asm["dynCall_viiiiii"];var dynCall_viiiiiidi=Module["dynCall_viiiiiidi"]=asm["dynCall_viiiiiidi"];var dynCall_viiiiiii=Module["dynCall_viiiiiii"]=asm["dynCall_viiiiiii"];var dynCall_viiiiiiii=Module["dynCall_viiiiiiii"]=asm["dynCall_viiiiiiii"];var dynCall_viiiiiiiii=Module["dynCall_viiiiiiiii"]=asm["dynCall_viiiiiiiii"];var dynCall_viiiiiiiiii=Module["dynCall_viiiiiiiiii"]=asm["dynCall_viiiiiiiiii"];var dynCall_viiiiiiiiiii=Module["dynCall_viiiiiiiiiii"]=asm["dynCall_viiiiiiiiiii"];var dynCall_viiiiiiiiiiii=Module["dynCall_viiiiiiiiiiii"]=asm["dynCall_viiiiiiiiiiii"];var dynCall_viiiiiiiiiiiiii=Module["dynCall_viiiiiiiiiiiiii"]=asm["dynCall_viiiiiiiiiiiiii"];Module["asm"]=asm;if(memoryInitializer){if(!isDataURI(memoryInitializer)){memoryInitializer=locateFile(memoryInitializer)}if(ENVIRONMENT_IS_NODE||ENVIRONMENT_IS_SHELL){var data=readBinary(memoryInitializer);HEAPU8.set(data,GLOBAL_BASE)}else{addRunDependency("memory initializer");var applyMemoryInitializer=function(data){if(data.byteLength)data=new Uint8Array(data);HEAPU8.set(data,GLOBAL_BASE);if(Module["memoryInitializerRequest"])delete Module["memoryInitializerRequest"].response;removeRunDependency("memory initializer")};var doBrowserLoad=function(){readAsync(memoryInitializer,applyMemoryInitializer,function(){throw"could not load memory initializer "+memoryInitializer})};var memoryInitializerBytes=tryParseAsDataURI(memoryInitializer);if(memoryInitializerBytes){applyMemoryInitializer(memoryInitializerBytes.buffer)}else if(Module["memoryInitializerRequest"]){var useRequest=function(){var request=Module["memoryInitializerRequest"];var response=request.response;if(request.status!==200&&request.status!==0){var data=tryParseAsDataURI(Module["memoryInitializerRequestURL"]);if(data){response=data.buffer}else{console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+request.status+", retrying "+memoryInitializer);doBrowserLoad();return}}applyMemoryInitializer(response)};if(Module["memoryInitializerRequest"].response){setTimeout(useRequest,0)}else{Module["memoryInitializerRequest"].addEventListener("load",useRequest)}}else{doBrowserLoad()}}}var calledRun;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}var calledMain=false;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function callMain(args){args=args||[];var argc=args.length+1;var argv=stackAlloc((argc+1)*4);HEAP32[argv>>2]=allocateUTF8OnStack(thisProgram);for(var i=1;i<argc;i++){HEAP32[(argv>>2)+i]=allocateUTF8OnStack(args[i-1])}HEAP32[(argv>>2)+argc]=0;try{var ret=Module["_main"](argc,argv);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="SimulateInfiniteLoop"){Module["noExitRuntime"]=true;return}else{var toLog=e;if(e&&typeof e==="object"&&e.stack){toLog=[e,e.stack]}err("exception thrown: "+toLog);quit_(1,e)}}finally{calledMain=true}}function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0)return;function doRun(){if(calledRun)return;calledRun=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(shouldRunNow)callMain(args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]&&status===0){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;exitRuntime();if(Module["onExit"])Module["onExit"](status)}quit_(status,new ExitStatus(status))}function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what+="";out(what);err(what);ABORT=true;EXITSTATUS=1;throw"abort("+what+"). Build with -s ASSERTIONS=1 for more info."}Module["abort"]=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"])shouldRunNow=false;Module["noExitRuntime"]=true;run();"use strict";var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return call&&(typeof call==="object"||typeof call==="function")?call:self}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass)}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass}var libnp={create:cwrap("np_create","number",["number"]),destroy:cwrap("np_destroy","number"),start:cwrap("np_start","number",["number","string","string"]),stop:cwrap("np_stop","number",["number"]),input_data:cwrap("np_input_data","number",["number","array","number"]),get_version:cwrap("np_get_version","string"),set_view:cwrap("np_set_view","number",["number","string","number"]),set_scalemode:cwrap("np_set_scalemode","number",["number","number"]),set_buffertime:cwrap("np_set_buffertime","number",["number","number"]),skip_loopfilter:cwrap("np_skip_loopfilter","number",["number","number"]),set_volume:cwrap("np_set_volume","number",["number","number"]),resize_view:cwrap("np_resize_view","number",["number","number","number"])};var NodePlayer=function(_flvjs$EventEmitter){_inherits(NodePlayer,_flvjs$EventEmitter);function NodePlayer(){_classCallCheck(this,NodePlayer);var _this=_possibleConstructorReturn(this,(NodePlayer.__proto__||Object.getPrototypeOf(NodePlayer)).call(this));_this.isMobile=/(iPhone | iPad | iPod | iOS | Android)/i.test(navigator.userAgent)?1:0;_this.ctx=libnp.create(_this.isMobile);_this.version=libnp.get_version();_this.isStart=false;_this.isMSE=false;_this.hasAudio=true;_this.volume=1;_this.loader=new flvjs.WebLoader;_this.loader.on("data",function(data){var buf=new Uint8Array(data);if(libnp.input_data(_this.ctx,buf,buf.length)>0){_this.stop()}});_this.loader.on("start",function(){_this.emit("start")});_this.loader.on("close",function(){_this.stop()});_this.loader.on("error",function(e){_this.emit("error",e);_this.stop()});NP[_this.ctx].emit=_this.emit.bind(_this);return _this}_createClass(NodePlayer,[{key:"setView",value:function setView(canvas){if(this.isMSE){var canv=document.getElementById(canvas);var vide=document.createElement("video");var pare=canv.parentNode;vide.id=canvas;if(canv.width!=300&&canv.height!=150){vide.width=canv.width;vide.height=canv.height}vide.style.cssText=canv.style.cssText;pare.replaceChild(vide,canv);this.videoElement=vide}else{return libnp.set_view(this.ctx,canvas,window.devicePixelRatio||1,screen.width/document.documentElement.clientWidth*window.devicePixelRatio||1)}}},{key:"resizeView",value:function resizeView(w,h){if(!this.isMSE){libnp.resize_view(this.ctx,w,h)}}},{key:"setScaleMode",value:function setScaleMode(mode){return libnp.set_scalemode(this.ctx,mode)}},{key:"setBufferTime",value:function setBufferTime(bufferTime){return libnp.set_buffertime(this.ctx,bufferTime)}},{key:"skipLoopFilter",value:function skipLoopFilter(discard){return libnp.skip_loopfilter(this.ctx,discard)}},{key:"setVolume",value:function setVolume(volume){this.volume=volume;if(this.isMSE){if(this.flvPlayer){this.flvPlayer.volume=volume}}else{libnp.set_volume(this.ctx,volume)}}},{key:"enableAudio",value:function enableAudio(enable){this.hasAudio=enable;this.setVolume(this.hasAudio?1:0)}},{key:"start",value:function start(url){var _this2=this;if(this.isMSE){if(this.flvPlayer){return}var config={type:"flv",url:url};if(!this.hasAudio){config.hasAudio=false}this.flvPlayer=flvjs.createPlayer(config);this.flvPlayer.attachMediaElement(this.videoElement);this.flvPlayer.on(flvjs.Events.ERROR,function(error){_this2.emit("error",error);_this2.stop()});this.flvPlayer.on(flvjs.Events.LOADING_COMPLETE,function(){_this2.stop()});this.flvPlayer.on(flvjs.Events.MEDIA_INFO,function(){if(!_this2.isStart){_this2.isStart=true;_this2.emit("start")}});this.flvPlayer.load();this.flvPlayer.play()}else{if(typeof url!="string"){NP_ERROR("url invalid parameter");return}if(this.isStart){NP_DEBUG("The instance has started, ignore it");return}this.url=url;NP_LOG("call start play url:",this.url);if(libnp.start(this.ctx,url)==0){this.setVolume(this.volume);this.enableAudio(this.hasAudio);this.loader.start(url);this.isStart=true}}}},{key:"stop",value:function stop(){if(this.isMSE){if(this.flvPlayer){this.flvPlayer.detachMediaElement();this.flvPlayer.unload();this.flvPlayer.destroy();this.flvPlayer=null;this.emit("stop");this.isStart=false}}else{if(!this.isStart){NP_DEBUG("The instance has not started yet, ignore it");return}NP_LOG("call stop play url:",this.url);this.isStart=false;this.loader.stop();libnp.stop(this.ctx);this.emit("stop")}}},{key:"useMSE",value:function useMSE(){this.isMSE=flvjs.isSupported();NP_LOG("use MSE:",this.isMSE?"YES":"NO");if(this.isMSE){this.flvPlayer=null;flvjs.LoggingControl.enableAll=false;flvjs.LoggingControl.addLogListener(function(type,str){NP_LOG(type+str)})}}}],[{key:"debug",value:function debug(enable){if(enable){logType=LOG_TYPES.NP_TYPE_NORMAL}else{logType=LOG_TYPES.NP_TYPE_NONE}}}]);return NodePlayer}(flvjs.EventEmitter);if(typeof exports!=="undefined"){if(typeof module!=="undefined"&&module.exports){exports=module.exports=NodePlayer}exports.NodePlayer=NodePlayer}else{Module.NodePlayer=NodePlayer}if(typeof define==="function"&&define.amd){define([],function(){return NodePlayer})}
|
|
|