discord.js/discord.indev.min.js
2016-11-21 01:11:00 +00:00

138 lines
No EOL
1 MiB
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

!function(e){function t(n){if(i[n])return i[n].exports;var r=i[n]={exports:{},id:n,loaded:!1};return e[n].call(r.exports,r,r.exports,t),r.loaded=!0,r.exports}var i={};return t.m=e,t.c=i,t.p="",t(0)}([function(e,t,i){e.exports={Client:i(1),WebhookClient:i(248),Shard:i(249),ShardClientUtil:i(245),ShardingManager:i(250),Collection:i(10),splitMessage:i(11),escapeMarkdown:i(19),fetchRecommendedShards:i(251),Channel:i(50),ClientOAuth2Application:i(34),ClientUser:i(208),DMChannel:i(49),Emoji:i(21),EvaluatedPermissions:i(27),Game:i(24).Game,GroupDMChannel:i(55),Guild:i(47),GuildChannel:i(52),GuildMember:i(25),Invite:i(28),Message:i(16),MessageAttachment:i(17),MessageCollector:i(23),MessageEmbed:i(18),MessageReaction:i(20),OAuth2Application:i(35),PartialGuild:i(29),PartialGuildChannel:i(30),PermissionOverwrites:i(53),Presence:i(24).Presence,ReactionEmoji:i(22),Role:i(26),TextChannel:i(51),User:i(13),VoiceChannel:i(54),Webhook:i(31),version:i(6).version},"undefined"!=typeof window&&(window.Discord=e.exports)},function(module,exports,__webpack_require__){(function(process){const EventEmitter=__webpack_require__(3).EventEmitter,mergeDefault=__webpack_require__(4),Constants=__webpack_require__(5),RESTManager=__webpack_require__(7),ClientDataManager=__webpack_require__(45),ClientManager=__webpack_require__(56),ClientDataResolver=__webpack_require__(57),ClientVoiceManager=__webpack_require__(64),WebSocketManager=__webpack_require__(176),ActionsManager=__webpack_require__(216),Collection=__webpack_require__(10),Presence=__webpack_require__(24).Presence,ShardClientUtil=__webpack_require__(245);class Client extends EventEmitter{constructor(e={}){super(),this.browser="undefined"!=typeof window,!e.shardId&&"SHARD_ID"in process.env&&(e.shardId=Number(process.env.SHARD_ID)),!e.shardCount&&"SHARD_COUNT"in process.env&&(e.shardCount=Number(process.env.SHARD_COUNT)),this.options=mergeDefault(Constants.DefaultOptions,e),this._validateOptions(),this.rest=new RESTManager(this),this.dataManager=new ClientDataManager(this),this.manager=new ClientManager(this),this.ws=new WebSocketManager(this),this.resolver=new ClientDataResolver(this),this.actions=new ActionsManager(this),this.voice=new ClientVoiceManager(this),this.shard=process.send?ShardClientUtil.singleton(this):null,this.users=new Collection,this.guilds=new Collection,this.channels=new Collection,this.presences=new Collection,!this.token&&"CLIENT_TOKEN"in process.env?this.token=process.env.CLIENT_TOKEN:this.token=null,this.email=null,this.password=null,this.user=null,this.readyAt=null,this._timeouts=new Set,this._intervals=new Set,this.options.messageSweepInterval>0&&this.setInterval(this.sweepMessages.bind(this),1e3*this.options.messageSweepInterval)}get status(){return this.ws.status}get uptime(){return this.readyAt?Date.now()-this.readyAt:null}get voiceConnections(){return this.voice.connections}get emojis(){const e=new Collection;for(const t of this.guilds.values())for(const i of t.emojis.values())e.set(i.id,i);return e}get readyTimestamp(){return this.readyAt?this.readyAt.getTime():null}login(e,t=null){return t?this.rest.methods.loginEmailPassword(e,t):this.rest.methods.loginToken(e)}destroy(){for(const e of this._timeouts)clearTimeout(e);for(const t of this._intervals)clearInterval(t);return this._timeouts.clear(),this._intervals.clear(),this.token=null,this.email=null,this.password=null,this.manager.destroy()}syncGuilds(e=this.guilds){this.user.bot||this.ws.send({op:12,d:e instanceof Collection?e.keyArray():e.map(e=>e.id)})}fetchUser(e){return this.users.has(e)?Promise.resolve(this.users.get(e)):this.rest.methods.getUser(e)}fetchInvite(e){const t=this.resolver.resolveInviteCode(e);return this.rest.methods.getInvite(t)}fetchWebhook(e,t){return this.rest.methods.getWebhook(e,t)}sweepMessages(e=this.options.messageCacheLifetime){if("number"!=typeof e||isNaN(e))throw new TypeError("The lifetime must be a number.");if(e<=0)return this.emit("debug","Didn't sweep messages - lifetime is unlimited"),-1;const t=1e3*e,i=Date.now();let n=0,r=0;for(const s of this.channels.values())if(s.messages){n++;for(const e of s.messages.values())i-(e.editedTimestamp||e.createdTimestamp)>t&&(s.messages.delete(e.id),r++)}return this.emit("debug",`Swept ${r} messages older than ${e} seconds in ${n} text-based channels`),r}fetchApplication(){if(!this.user.bot)throw new Error(Constants.Errors.NO_BOT_ACCOUNT);return this.rest.methods.getMyApplication()}setTimeout(e,t,...i){const n=setTimeout(()=>{e(),this._timeouts.delete(n)},t,...i);return this._timeouts.add(n),n}clearTimeout(e){clearTimeout(e),this._timeouts.delete(e)}setInterval(e,t,...i){const n=setInterval(e,t,...i);return this._intervals.add(n),n}clearInterval(e){clearInterval(e),this._intervals.delete(e)}_setPresence(e,t){return this.presences.get(e)?void this.presences.get(e).update(t):void this.presences.set(e,new Presence(t))}_eval(script){return eval(script)}_validateOptions(e=this.options){if("number"!=typeof e.shardCount||isNaN(e.shardCount))throw new TypeError("The shardCount option must be a number.");if("number"!=typeof e.shardId||isNaN(e.shardId))throw new TypeError("The shardId option must be a number.");if(e.shardCount<0)throw new RangeError("The shardCount option must be at least 0.");if(e.shardId<0)throw new RangeError("The shardId option must be at least 0.");if(0!==e.shardId&&e.shardId>=e.shardCount)throw new RangeError("The shardId option must be less than shardCount.");if("number"!=typeof e.messageCacheMaxSize||isNaN(e.messageCacheMaxSize))throw new TypeError("The messageCacheMaxSize option must be a number.");if("number"!=typeof e.messageCacheLifetime||isNaN(e.messageCacheLifetime))throw new TypeError("The messageCacheLifetime option must be a number.");if("number"!=typeof e.messageSweepInterval||isNaN(e.messageSweepInterval))throw new TypeError("The messageSweepInterval option must be a number.");if("boolean"!=typeof e.fetchAllMembers)throw new TypeError("The fetchAllMembers option must be a boolean.");if("boolean"!=typeof e.disableEveryone)throw new TypeError("The disableEveryone option must be a boolean.");if("number"!=typeof e.restWsBridgeTimeout||isNaN(e.restWsBridgeTimeout))throw new TypeError("The restWsBridgeTimeout option must be a number.");if(!(e.disabledEvents instanceof Array))throw new TypeError("The disabledEvents option must be an Array.")}}module.exports=Client}).call(exports,__webpack_require__(2))},function(e,t){function i(){throw new Error("setTimeout has not been defined")}function n(){throw new Error("clearTimeout has not been defined")}function r(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 s(e){if(u===clearTimeout)return clearTimeout(e);if((u===n||!u)&&clearTimeout)return u=clearTimeout,clearTimeout(e);try{return u(e)}catch(t){try{return u.call(null,e)}catch(t){return u.call(this,e)}}}function o(){b&&d&&(b=!1,d.length?p=d.concat(p):w=-1,p.length&&a())}function a(){if(!b){var e=r(o);b=!0;for(var t=p.length;t;){for(d=p,p=[];++w<t;)d&&d[w].run();w=-1,t=p.length}d=null,b=!1,s(e)}}function l(e,t){this.fun=e,this.array=t}function f(){}var h,u,c=e.exports={};!function(){try{h="function"==typeof setTimeout?setTimeout:i}catch(e){h=i}try{u="function"==typeof clearTimeout?clearTimeout:n}catch(e){u=n}}();var d,p=[],b=!1,w=-1;c.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var i=1;i<arguments.length;i++)t[i-1]=arguments[i];p.push(new l(e,t)),1!==p.length||b||r(a)},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=f,c.addListener=f,c.once=f,c.off=f,c.removeListener=f,c.removeAllListeners=f,c.emit=f,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}},function(e,t){function i(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}function n(e){return"function"==typeof e}function r(e){return"number"==typeof e}function s(e){return"object"==typeof e&&null!==e}function o(e){return void 0===e}e.exports=i,i.EventEmitter=i,i.prototype._events=void 0,i.prototype._maxListeners=void 0,i.defaultMaxListeners=10,i.prototype.setMaxListeners=function(e){if(!r(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,i,r,a,l,f;if(this._events||(this._events={}),"error"===e&&(!this._events.error||s(this._events.error)&&!this._events.error.length)){if(t=arguments[1],t instanceof Error)throw t;var h=new Error('Uncaught, unspecified "error" event. ('+t+")");throw h.context=t,h}if(i=this._events[e],o(i))return!1;if(n(i))switch(arguments.length){case 1:i.call(this);break;case 2:i.call(this,arguments[1]);break;case 3:i.call(this,arguments[1],arguments[2]);break;default:a=Array.prototype.slice.call(arguments,1),i.apply(this,a)}else if(s(i))for(a=Array.prototype.slice.call(arguments,1),f=i.slice(),r=f.length,l=0;l<r;l++)f[l].apply(this,a);return!0},i.prototype.addListener=function(e,t){var r;if(!n(t))throw TypeError("listener must be a function");return this._events||(this._events={}),this._events.newListener&&this.emit("newListener",e,n(t.listener)?t.listener:t),this._events[e]?s(this._events[e])?this._events[e].push(t):this._events[e]=[this._events[e],t]:this._events[e]=t,s(this._events[e])&&!this._events[e].warned&&(r=o(this._maxListeners)?i.defaultMaxListeners:this._maxListeners,r&&r>0&&this._events[e].length>r&&(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 i(){this.removeListener(e,i),r||(r=!0,t.apply(this,arguments))}if(!n(t))throw TypeError("listener must be a function");var r=!1;return i.listener=t,this.on(e,i),this},i.prototype.removeListener=function(e,t){var i,r,o,a;if(!n(t))throw TypeError("listener must be a function");if(!this._events||!this._events[e])return this;if(i=this._events[e],o=i.length,r=-1,i===t||n(i.listener)&&i.listener===t)delete this._events[e],this._events.removeListener&&this.emit("removeListener",e,t);else if(s(i)){for(a=o;a-- >0;)if(i[a]===t||i[a].listener&&i[a].listener===t){r=a;break}if(r<0)return this;1===i.length?(i.length=0,delete this._events[e]):i.splice(r,1),this._events.removeListener&&this.emit("removeListener",e,t)}return this},i.prototype.removeAllListeners=function(e){var t,i;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(i=this._events[e],n(i))this.removeListener(e,i);else if(i)for(;i.length;)this.removeListener(e,i[i.length-1]);return delete this._events[e],this},i.prototype.listeners=function(e){var t;return t=this._events&&this._events[e]?n(this._events[e])?[this._events[e]]:this._events[e].slice():[]},i.prototype.listenerCount=function(e){if(this._events){var t=this._events[e];if(n(t))return 1;if(t)return t.length}return 0},i.listenerCount=function(e,t){return e.listenerCount(t)}},function(e,t){e.exports=function e(t,i){if(!i)return t;for(const n in t)({}).hasOwnProperty.call(i,n)?i[n]===Object(i[n])&&(i[n]=e(t[n],i[n])):i[n]=t[n];return i}},function(e,t,i){(function(e){t.Package=i(6),t.DefaultOptions={apiRequestMethod:"sequential",shardId:0,shardCount:0,messageCacheMaxSize:200,messageCacheLifetime:0,messageSweepInterval:0,fetchAllMembers:!1,disableEveryone:!1,sync:!1,restWsBridgeTimeout:5e3,disabledEvents:[],ws:{large_threshold:250,compress:"undefined"==typeof window,properties:{$os:e?e.platform:"discord.js",$browser:"discord.js",$device:"discord.js",$referrer:"",$referring_domain:""}}},t.Errors={NO_TOKEN:"Request to use token, but token was unavailable to the client.",NO_BOT_ACCOUNT:"Only bot accounts are able to make use of this feature.",NO_USER_ACCOUNT:"Only user accounts are able to make use of this feature.",BAD_WS_MESSAGE:"A bad message was received from the websocket; either bad compression, or not JSON.",TOOK_TOO_LONG:"Something took too long to do.",NOT_A_PERMISSION:"Invalid permission string or number.",INVALID_RATE_LIMIT_METHOD:"Unknown rate limiting method.",BAD_LOGIN:"Incorrect login details were provided.",INVALID_SHARD:"Invalid shard settings were provided."};const n=t.PROTOCOL_VERSION=6,r=t.API=`https://discordapp.com/api/v${n}`,s=t.Endpoints={login:`${r}/auth/login`,logout:`${r}/auth/logout`,gateway:`${r}/gateway`,botGateway:`${r}/gateway/bot`,invite:e=>`${r}/invite/${e}`,inviteLink:e=>`https://discord.gg/${e}`,CDN:"https://cdn.discordapp.com",user:e=>`${r}/users/${e}`,userChannels:e=>`${s.user(e)}/channels`,userProfile:e=>`${s.user(e)}/profile`,avatar:(e,t)=>"1"===e?t:`${s.user(e)}/avatars/${t}.jpg`,me:`${r}/users/@me`,meGuild:e=>`${s.me}/guilds/${e}`,relationships:e=>`${s.user(e)}/relationships`,note:e=>`${s.me}/notes/${e}`,guilds:`${r}/guilds`,guild:e=>`${s.guilds}/${e}`,guildIcon:(e,t)=>`${s.guild(e)}/icons/${t}.jpg`,guildPrune:e=>`${s.guild(e)}/prune`,guildEmbed:e=>`${s.guild(e)}/embed`,guildInvites:e=>`${s.guild(e)}/invites`,guildRoles:e=>`${s.guild(e)}/roles`,guildRole:(e,t)=>`${s.guildRoles(e)}/${t}`,guildBans:e=>`${s.guild(e)}/bans`,guildIntegrations:e=>`${s.guild(e)}/integrations`,guildMembers:e=>`${s.guild(e)}/members`,guildMember:(e,t)=>`${s.guildMembers(e)}/${t}`,stupidInconsistentGuildEndpoint:e=>`${s.guildMember(e,"@me")}/nick`,guildChannels:e=>`${s.guild(e)}/channels`,guildEmojis:e=>`${s.guild(e)}/emojis`,channels:`${r}/channels`,channel:e=>`${s.channels}/${e}`,channelMessages:e=>`${s.channel(e)}/messages`,channelInvites:e=>`${s.channel(e)}/invites`,channelTyping:e=>`${s.channel(e)}/typing`,channelPermissions:e=>`${s.channel(e)}/permissions`,channelMessage:(e,t)=>`${s.channelMessages(e)}/${t}`,channelWebhooks:e=>`${s.channel(e)}/webhooks`,messageReactions:(e,t)=>`${s.channelMessage(e,t)}/reactions`,messageReaction:(e,t,i,n)=>`${s.messageReactions(e,t)}/${i}`+`${n?`?limit=${n}`:""}`,selfMessageReaction:(e,t,i,n)=>`${s.messageReaction(e,t,i,n)}/@me`,userMessageReaction:(e,t,i,n,r)=>`${s.messageReaction(e,t,i,n)}/${r}`,webhook:(e,t)=>`${r}/webhooks/${e}${t?`/${t}`:""}`,myApplication:`${r}/oauth2/applications/@me`,getApp:e=>`${r}/oauth2/authorize?client_id=${e}`};t.Status={READY:0,CONNECTING:1,RECONNECTING:2,IDLE:3,NEARLY:4},t.ChannelTypes={text:0,DM:1,voice:2,groupDM:3},t.OPCodes={DISPATCH:0,HEARTBEAT:1,IDENTIFY:2,STATUS_UPDATE:3,VOICE_STATE_UPDATE:4,VOICE_GUILD_PING:5,RESUME:6,RECONNECT:7,REQUEST_GUILD_MEMBERS:8,INVALID_SESSION:9,HELLO:10,HEARTBEAT_ACK:11},t.VoiceOPCodes={IDENTIFY:0,SELECT_PROTOCOL:1,READY:2,HEARTBEAT:3,SESSION_DESCRIPTION:4,SPEAKING:5},t.Events={READY:"ready",GUILD_CREATE:"guildCreate",GUILD_DELETE:"guildDelete",GUILD_UPDATE:"guildUpdate",GUILD_UNAVAILABLE:"guildUnavailable",GUILD_AVAILABLE:"guildAvailable",GUILD_MEMBER_ADD:"guildMemberAdd",GUILD_MEMBER_REMOVE:"guildMemberRemove",GUILD_MEMBER_UPDATE:"guildMemberUpdate",GUILD_MEMBER_AVAILABLE:"guildMemberAvailable",GUILD_MEMBER_SPEAKING:"guildMemberSpeaking",GUILD_MEMBERS_CHUNK:"guildMembersChunk",GUILD_ROLE_CREATE:"roleCreate",GUILD_ROLE_DELETE:"roleDelete",GUILD_ROLE_UPDATE:"roleUpdate",GUILD_EMOJI_CREATE:"guildEmojiCreate",GUILD_EMOJI_DELETE:"guildEmojiDelete",GUILD_EMOJI_UPDATE:"guildEmojiUpdate",GUILD_BAN_ADD:"guildBanAdd",GUILD_BAN_REMOVE:"guildBanRemove",CHANNEL_CREATE:"channelCreate",CHANNEL_DELETE:"channelDelete",CHANNEL_UPDATE:"channelUpdate",CHANNEL_PINS_UPDATE:"channelPinsUpdate",MESSAGE_CREATE:"message",MESSAGE_DELETE:"messageDelete",MESSAGE_UPDATE:"messageUpdate",MESSAGE_BULK_DELETE:"messageDeleteBulk",MESSAGE_REACTION_ADD:"messageReactionAdd",MESSAGE_REACTION_REMOVE:"messageReactionRemove",MESSAGE_REACTION_REMOVE_ALL:"messageReactionRemoveAll",USER_UPDATE:"userUpdate",USER_NOTE_UPDATE:"userNoteUpdate",PRESENCE_UPDATE:"presenceUpdate",VOICE_STATE_UPDATE:"voiceStateUpdate",TYPING_START:"typingStart",TYPING_STOP:"typingStop",DISCONNECT:"disconnect",RECONNECTING:"reconnecting",ERROR:"error",WARN:"warn",DEBUG:"debug"},t.WSEvents={READY:"READY",GUILD_SYNC:"GUILD_SYNC",GUILD_CREATE:"GUILD_CREATE",GUILD_DELETE:"GUILD_DELETE",GUILD_UPDATE:"GUILD_UPDATE",GUILD_MEMBER_ADD:"GUILD_MEMBER_ADD",GUILD_MEMBER_REMOVE:"GUILD_MEMBER_REMOVE",GUILD_MEMBER_UPDATE:"GUILD_MEMBER_UPDATE",GUILD_MEMBERS_CHUNK:"GUILD_MEMBERS_CHUNK",GUILD_ROLE_CREATE:"GUILD_ROLE_CREATE",GUILD_ROLE_DELETE:"GUILD_ROLE_DELETE",GUILD_ROLE_UPDATE:"GUILD_ROLE_UPDATE",GUILD_BAN_ADD:"GUILD_BAN_ADD",GUILD_BAN_REMOVE:"GUILD_BAN_REMOVE",CHANNEL_CREATE:"CHANNEL_CREATE",CHANNEL_DELETE:"CHANNEL_DELETE",CHANNEL_UPDATE:"CHANNEL_UPDATE",CHANNEL_PINS_UPDATE:"CHANNEL_PINS_UPDATE",MESSAGE_CREATE:"MESSAGE_CREATE",MESSAGE_DELETE:"MESSAGE_DELETE",MESSAGE_UPDATE:"MESSAGE_UPDATE",MESSAGE_DELETE_BULK:"MESSAGE_DELETE_BULK",MESSAGE_REACTION_ADD:"MESSAGE_REACTION_ADD",MESSAGE_REACTION_REMOVE:"MESSAGE_REACTION_REMOVE",MESSAGE_REACTION_REMOVE_ALL:"MESSAGE_REACTION_REMOVE_ALL",USER_UPDATE:"USER_UPDATE",USER_NOTE_UPDATE:"USER_NOTE_UPDATE",PRESENCE_UPDATE:"PRESENCE_UPDATE",VOICE_STATE_UPDATE:"VOICE_STATE_UPDATE",TYPING_START:"TYPING_START",FRIEND_ADD:"RELATIONSHIP_ADD",FRIEND_REMOVE:"RELATIONSHIP_REMOVE",VOICE_SERVER_UPDATE:"VOICE_SERVER_UPDATE",RELATIONSHIP_ADD:"RELATIONSHIP_ADD",RELATIONSHIP_REMOVE:"RELATIONSHIP_REMOVE"},t.MessageTypes={0:"DEFAULT",1:"RECIPIENT_ADD",2:"RECIPIENT_REMOVE",3:"CALL",4:"CHANNEL_NAME_CHANGE",5:"CHANNEL_ICON_CHANGE",6:"PINS_ADD"};const o=t.PermissionFlags={CREATE_INSTANT_INVITE:1,KICK_MEMBERS:2,BAN_MEMBERS:4,ADMINISTRATOR:8,MANAGE_CHANNELS:16,MANAGE_GUILD:32,ADD_REACTIONS:64,READ_MESSAGES:1024,SEND_MESSAGES:2048,SEND_TTS_MESSAGES:4096,MANAGE_MESSAGES:8192,EMBED_LINKS:16384,ATTACH_FILES:32768,READ_MESSAGE_HISTORY:65536,MENTION_EVERYONE:1<<17,EXTERNAL_EMOJIS:1<<18,CONNECT:1<<20,SPEAK:1<<21,MUTE_MEMBERS:1<<22,DEAFEN_MEMBERS:1<<23,MOVE_MEMBERS:1<<24,USE_VAD:1<<25,CHANGE_NICKNAME:1<<26,MANAGE_NICKNAMES:1<<27,MANAGE_ROLES_OR_PERMISSIONS:1<<28,MANAGE_WEBHOOKS:1<<29,MANAGE_EMOJIS:1<<30};let a=0;for(const l in o)a|=o[l];t.ALL_PERMISSIONS=a,t.DEFAULT_PERMISSIONS=104324097}).call(t,i(2))},function(e,t){e.exports={name:"discord.js",version:"10.0.1",description:"A powerful library for interacting with the Discord API",main:"./src/index",scripts:{test:"eslint src && node docs/generator test",docs:"node docs/generator","test-docs":"node docs/generator test",lint:"eslint src","web-dist":"npm install && ./node_modules/parallel-webpack/bin/run.js"},repository:{type:"git",url:"git+https://github.com/hydrabolt/discord.js.git"},keywords:["discord","api","bot","client","node","discordapp"],author:"Amish Shah <amishshah.2k@gmail.com>",license:"Apache-2.0",bugs:{url:"https://github.com/hydrabolt/discord.js/issues"},homepage:"https://github.com/hydrabolt/discord.js#readme",dependencies:{superagent:"^3.0.0",tweetnacl:"^0.14.3",ws:"^1.1.1"},peerDependencies:{"node-opus":"^0.2.0",opusscript:"^0.0.1"},devDependencies:{bufferutil:"^1.2.1",eslint:"^3.10.0","jsdoc-to-markdown":"^2.0.0","json-loader":"^0.5.4","parallel-webpack":"^1.5.0","uglify-js":"github:mishoo/UglifyJS2#harmony","utf-8-validate":"^1.2.1",webpack:"^1.13.3",zlibjs:"github:imaya/zlib.js"},engines:{node:">=6.0.0"}}},function(e,t,i){const n=i(8),r=i(9),s=i(36),o=i(38),a=i(39),l=i(5);class f{constructor(e){this.client=e,this.handlers={},this.userAgentManager=new n(this),this.methods=new r(this),this.rateLimitedEndpoints={},this.globallyRateLimited=!1}push(e,t){return new Promise((i,n)=>{e.push({request:t,resolve:i,reject:n})})}getRequestHandler(){switch(this.client.options.apiRequestMethod){case"sequential":return s;case"burst":return o;default:throw new Error(l.Errors.INVALID_RATE_LIMIT_METHOD)}}makeRequest(e,t,i,n,r){const s=new a(this,e,t,i,n,r);if(!this.handlers[s.route]){const e=this.getRequestHandler();this.handlers[s.route]=new e(this,s.route)}return this.push(this.handlers[s.route],s)}}e.exports=f},function(e,t,i){const n=i(5);class r{constructor(e){this.restManager=e,this._userAgent={url:"https://github.com/hydrabolt/discord.js",version:n.Package.version}}set(e){this._userAgent.url=e.url||"https://github.com/hydrabolt/discord.js",this._userAgent.version=e.version||n.Package.version}get userAgent(){return`DiscordBot (${this._userAgent.url}, ${this._userAgent.version})`}}e.exports=r},function(e,t,i){const n=i(5),r=i(10),s=i(11),o=i(12),a=i(13),l=i(25),f=i(26),h=i(28),u=i(31),c=i(32),d=i(34);class p{constructor(e){this.rest=e}loginToken(e=this.rest.client.token){return new Promise((t,i)=>{e=e.replace(/^Bot\s*/i,""),this.rest.client.manager.connectToWebSocket(e,t,i)})}loginEmailPassword(e,t){return this.rest.client.emit("warn","Client launched using email and password - should use token instead"),this.rest.client.email=e,this.rest.client.password=t,this.rest.makeRequest("post",n.Endpoints.login,!1,{email:e,password:t}).then(e=>this.loginToken(e.token))}logout(){return this.rest.makeRequest("post",n.Endpoints.logout,!0,{})}getGateway(){return this.rest.makeRequest("get",n.Endpoints.gateway,!0).then(e=>{return this.rest.client.ws.gateway=`${e.url}/?encoding=json&v=${n.PROTOCOL_VERSION}`,this.rest.client.ws.gateway})}getBotGateway(){return this.rest.makeRequest("get",n.Endpoints.botGateway,!0)}sendMessage(e,t,{tts,nonce,embed,disableEveryone,split}={},i=null){return new Promise((n,r)=>{"undefined"!=typeof t&&(t=this.rest.client.resolver.resolveString(t)),t&&((disableEveryone||"undefined"==typeof disableEveryone&&this.rest.client.options.disableEveryone)&&(t=t.replace(/@(everyone|here)/g,"@$1")),split&&(t=s(t,"object"==typeof split?split:{}))),e instanceof a||e instanceof l?this.createDM(e).then(e=>{this._sendMessageRequest(e,t,i,tts,nonce,embed,n,r)},r):this._sendMessageRequest(e,t,i,tts,nonce,embed,n,r)})}_sendMessageRequest(e,t,i,r,s,o,a,l){if(t instanceof Array){const f=[];let h=this.rest.makeRequest("post",n.Endpoints.channelMessages(e.id),!0,{content:t[0],tts:r,nonce:s},i).catch(l);for(let u=1;u<=t.length;u++)if(u<t.length){const a=u;h=h.then(l=>{return f.push(l),this.rest.makeRequest("post",n.Endpoints.channelMessages(e.id),!0,{content:t[a],tts:r,nonce:s,embed:o},i)},l)}else h.then(e=>{f.push(e),a(this.rest.client.actions.MessageCreate.handle(f).messages)},l)}else this.rest.makeRequest("post",n.Endpoints.channelMessages(e.id),!0,{content:t,tts:r,nonce:s,embed:o},i).then(e=>a(this.rest.client.actions.MessageCreate.handle(e).message),l)}deleteMessage(e){return this.rest.makeRequest("del",n.Endpoints.channelMessage(e.channel.id,e.id),!0).then(()=>this.rest.client.actions.MessageDelete.handle({id:e.id,channel_id:e.channel.id}).message)}bulkDeleteMessages(e,t){return this.rest.makeRequest("post",`${n.Endpoints.channelMessages(e.id)}/bulk_delete`,!0,{messages:t}).then(()=>this.rest.client.actions.MessageDeleteBulk.handle({channel_id:e.id,ids:t}).messages)}updateMessage(e,t,{embed}={}){return t=this.rest.client.resolver.resolveString(t),this.rest.makeRequest("patch",n.Endpoints.channelMessage(e.channel.id,e.id),!0,{content:t,embed:embed}).then(e=>this.rest.client.actions.MessageUpdate.handle(e).updated)}createChannel(e,t,i){return this.rest.makeRequest("post",n.Endpoints.guildChannels(e.id),!0,{name:t,type:i}).then(e=>this.rest.client.actions.ChannelCreate.handle(e).channel)}createDM(e){const t=this.getExistingDM(e);return t?Promise.resolve(t):this.rest.makeRequest("post",n.Endpoints.userChannels(this.rest.client.user.id),!0,{recipient_id:e.id}).then(e=>this.rest.client.actions.ChannelCreate.handle(e).channel)}getExistingDM(e){return this.rest.client.channels.find(t=>t.recipient&&t.recipient.id===e.id)}deleteChannel(e){return(e instanceof a||e instanceof l)&&(e=this.getExistingDM(e)),e?this.rest.makeRequest("del",n.Endpoints.channel(e.id),!0).then(t=>{return t.id=e.id,this.rest.client.actions.ChannelDelete.handle(t).channel}):Promise.reject(new Error("No channel to delete."))}updateChannel(e,t){const i={};return i.name=(t.name||e.name).trim(),i.topic=t.topic||e.topic,i.position=t.position||e.position,i.bitrate=t.bitrate||e.bitrate,i.user_limit=t.userLimit||e.userLimit,this.rest.makeRequest("patch",n.Endpoints.channel(e.id),!0,i).then(e=>this.rest.client.actions.ChannelUpdate.handle(e).updated)}leaveGuild(e){return e.ownerID===this.rest.client.user.id?Promise.reject(new Error("Guild is owned by the client.")):this.rest.makeRequest("del",n.Endpoints.meGuild(e.id),!0).then(()=>this.rest.client.actions.GuildDelete.handle({id:e.id}).guild)}createGuild(e){return e.icon=this.rest.client.resolver.resolveBase64(e.icon)||null,e.region=e.region||"us-central",new Promise((t,i)=>{this.rest.makeRequest("post",n.Endpoints.guilds,!0,e).then(e=>{if(this.rest.client.guilds.has(e.id))return void t(this.rest.client.guilds.get(e.id));const n=i=>{i.id===e.id&&(this.rest.client.removeListener("guildCreate",n),this.rest.client.clearTimeout(r),t(i))};this.rest.client.on("guildCreate",n);const r=this.rest.client.setTimeout(()=>{this.rest.client.removeListener("guildCreate",n),i(new Error("Took too long to receive guild data."))},1e4)},i)})}deleteGuild(e){return this.rest.makeRequest("del",n.Endpoints.guild(e.id),!0).then(()=>this.rest.client.actions.GuildDelete.handle({id:e.id}).guild)}getUser(e){return this.rest.makeRequest("get",n.Endpoints.user(e),!0).then(e=>this.rest.client.actions.UserGet.handle(e).user)}updateCurrentUser(e){const t=this.rest.client.user,i={};return i.username=e.username||t.username,i.avatar=this.rest.client.resolver.resolveBase64(e.avatar)||t.avatar,t.bot||(i.email=e.email||t.email,i.password=this.rest.client.password,e.new_password&&(i.new_password=e.newPassword)),this.rest.makeRequest("patch",n.Endpoints.me,!0,i).then(e=>this.rest.client.actions.UserUpdate.handle(e).updated)}updateGuild(e,t){const i={};return t.name&&(i.name=t.name),t.region&&(i.region=t.region),t.verificationLevel&&(i.verification_level=Number(t.verificationLevel)),t.afkChannel&&(i.afk_channel_id=this.rest.client.resolver.resolveChannel(t.afkChannel).id),t.afkTimeout&&(i.afk_timeout=Number(t.afkTimeout)),t.icon&&(i.icon=this.rest.client.resolver.resolveBase64(t.icon)),t.owner&&(i.owner_id=this.rest.client.resolver.resolveUser(t.owner).id),t.splash&&(i.splash=this.rest.client.resolver.resolveBase64(t.splash)),this.rest.makeRequest("patch",n.Endpoints.guild(e.id),!0,i).then(e=>this.rest.client.actions.GuildUpdate.handle(e).updated)}kickGuildMember(e,t){return this.rest.makeRequest("del",n.Endpoints.guildMember(e.id,t.id),!0).then(()=>this.rest.client.actions.GuildMemberRemove.handle({guild_id:e.id,user:t.user}).member)}createGuildRole(e){return this.rest.makeRequest("post",n.Endpoints.guildRoles(e.id),!0).then(t=>this.rest.client.actions.GuildRoleCreate.handle({guild_id:e.id,role:t}).role)}deleteGuildRole(e){return this.rest.makeRequest("del",n.Endpoints.guildRole(e.guild.id,e.id),!0).then(()=>this.rest.client.actions.GuildRoleDelete.handle({guild_id:e.guild.id,role_id:e.id}).role)}setChannelOverwrite(e,t){return this.rest.makeRequest("put",`${n.Endpoints.channelPermissions(e.id)}/${t.id}`,!0,t)}deletePermissionOverwrites(e){return this.rest.makeRequest("del",`${n.Endpoints.channelPermissions(e.channel.id)}/${e.id}`,!0).then(()=>e)}getChannelMessages(e,t={}){const i=[];t.limit&&i.push(`limit=${t.limit}`),t.around?i.push(`around=${t.around}`):t.before?i.push(`before=${t.before}`):t.after&&i.push(`after=${t.after}`);let r=n.Endpoints.channelMessages(e.id);return i.length>0&&(r+=`?${i.join("&")}`),this.rest.makeRequest("get",r,!0)}getChannelMessage(e,t){const i=e.messages.get(t);return i?Promise.resolve(i):this.rest.makeRequest("get",n.Endpoints.channelMessage(e.id,t),!0)}getGuildMember(e,t){return this.rest.makeRequest("get",n.Endpoints.guildMember(e.id,t.id),!0).then(t=>this.rest.client.actions.GuildMemberGet.handle(e,t).member)}updateGuildMember(e,t){t.channel&&(t.channel_id=this.rest.client.resolver.resolveChannel(t.channel).id),t.roles&&(t.roles=t.roles.map(e=>e instanceof f?e.id:e));let i=n.Endpoints.guildMember(e.guild.id,e.id);if(e.id===this.rest.client.user.id){const r=Object.keys(t);1===r.length&&"nick"===r[0]&&(i=n.Endpoints.stupidInconsistentGuildEndpoint(e.guild.id))}return this.rest.makeRequest("patch",i,!0,t).then(t=>e.guild._updateMember(e,t).mem)}sendTyping(e){return this.rest.makeRequest("post",`${n.Endpoints.channel(e)}/typing`,!0)}banGuildMember(e,t,i=0){const r=this.rest.client.resolver.resolveUserID(t);return r?this.rest.makeRequest("put",`${n.Endpoints.guildBans(e.id)}/${r}?delete-message-days=${i}`,!0,{"delete-message-days":i}).then(()=>{if(t instanceof l)return t;const i=this.rest.client.resolver.resolveUser(r);return i?(t=this.rest.client.resolver.resolveGuildMember(e,i),t||i):r}):Promise.reject(new Error("Couldn't resolve the user ID to ban."))}unbanGuildMember(e,t){return new Promise((i,r)=>{const s=this.rest.client.resolver.resolveUserID(t);if(!s)throw new Error("Couldn't resolve the user ID to unban.");const o=(t,r)=>{t.id===e.id&&r.id===s&&(this.rest.client.removeListener(n.Events.GUILD_BAN_REMOVE,o),this.rest.client.clearTimeout(a),i(r))};this.rest.client.on(n.Events.GUILD_BAN_REMOVE,o);const a=this.rest.client.setTimeout(()=>{this.rest.client.removeListener(n.Events.GUILD_BAN_REMOVE,o),r(new Error("Took too long to receive the ban remove event."))},1e4);this.rest.makeRequest("del",`${n.Endpoints.guildBans(e.id)}/${s}`,!0).catch(e=>{this.rest.client.removeListener(n.Events.GUILD_BAN_REMOVE,o),this.rest.client.clearTimeout(a),r(e)})})}getGuildBans(e){return this.rest.makeRequest("get",n.Endpoints.guildBans(e.id),!0).then(e=>{const t=new r;for(const i of e){const e=this.rest.client.dataManager.newUser(i.user);t.set(e.id,e)}return t})}updateGuildRole(e,t){const i={};if(i.name=t.name||e.name,i.position="undefined"!=typeof t.position?t.position:e.position,i.color=t.color||e.color,"string"==typeof i.color&&i.color.startsWith("#")&&(i.color=parseInt(i.color.replace("#",""),16)),i.hoist="undefined"!=typeof t.hoist?t.hoist:e.hoist,i.mentionable="undefined"!=typeof t.mentionable?t.mentionable:e.mentionable,t.permissions){let e=0;for(let r of t.permissions)"string"==typeof r&&(r=n.PermissionFlags[r]),e|=r;i.permissions=e}else i.permissions=e.permissions;return this.rest.makeRequest("patch",n.Endpoints.guildRole(e.guild.id,e.id),!0,i).then(t=>this.rest.client.actions.GuildRoleUpdate.handle({role:t,guild_id:e.guild.id}).updated)}pinMessage(e){return this.rest.makeRequest("put",`${n.Endpoints.channel(e.channel.id)}/pins/${e.id}`,!0).then(()=>e)}unpinMessage(e){return this.rest.makeRequest("del",`${n.Endpoints.channel(e.channel.id)}/pins/${e.id}`,!0).then(()=>e)}getChannelPinnedMessages(e){return this.rest.makeRequest("get",`${n.Endpoints.channel(e.id)}/pins`,!0)}createChannelInvite(e,t){const i={};return i.temporary=t.temporary,i.max_age=t.maxAge,i.max_uses=t.maxUses,this.rest.makeRequest("post",`${n.Endpoints.channelInvites(e.id)}`,!0,i).then(e=>new h(this.rest.client,e))}deleteInvite(e){return this.rest.makeRequest("del",n.Endpoints.invite(e.code),!0).then(()=>e)}getInvite(e){return this.rest.makeRequest("get",n.Endpoints.invite(e),!0).then(e=>new h(this.rest.client,e))}getGuildInvites(e){return this.rest.makeRequest("get",n.Endpoints.guildInvites(e.id),!0).then(e=>{const t=new r;for(const i of e){const e=new h(this.rest.client,i);t.set(e.code,e)}return t})}pruneGuildMembers(e,t,i){return this.rest.makeRequest(i?"get":"post",`${n.Endpoints.guildPrune(e.id)}?days=${t}`,!0).then(e=>e.pruned)}createEmoji(e,t,i){return this.rest.makeRequest("post",`${n.Endpoints.guildEmojis(e.id)}`,!0,{name:i,image:t}).then(t=>this.rest.client.actions.EmojiCreate.handle(t,e).emoji);
}deleteEmoji(e){return this.rest.makeRequest("delete",`${n.Endpoints.guildEmojis(e.guild.id)}/${e.id}`,!0).then(()=>this.rest.client.actions.EmojiDelete.handle(e).data)}getWebhook(e,t){return this.rest.makeRequest("get",n.Endpoints.webhook(e,t),!t).then(e=>new u(this.rest.client,e))}getGuildWebhooks(e){return this.rest.makeRequest("get",n.Endpoints.guildWebhooks(e.id),!0).then(e=>{const t=new r;for(const i of e)t.set(i.id,new u(this.rest.client,i));return t})}getChannelWebhooks(e){return this.rest.makeRequest("get",n.Endpoints.channelWebhooks(e.id),!0).then(e=>{const t=new r;for(const i of e)t.set(i.id,new u(this.rest.client,i));return t})}createWebhook(e,t,i){return this.rest.makeRequest("post",n.Endpoints.channelWebhooks(e.id),!0,{name:t,avatar:i}).then(e=>new u(this.rest.client,e))}editWebhook(e,t,i){return this.rest.makeRequest("patch",n.Endpoints.webhook(e.id,e.token),!1,{name:t,avatar:i}).then(t=>{return e.name=t.name,e.avatar=t.avatar,e})}deleteWebhook(e){return this.rest.makeRequest("delete",n.Endpoints.webhook(e.id,e.token),!1)}sendWebhookMessage(e,t,{avatarURL,tts,disableEveryone,embeds}={},i=null){return"undefined"!=typeof t&&(t=this.rest.client.resolver.resolveString(t)),t&&(disableEveryone||"undefined"==typeof disableEveryone&&this.rest.client.options.disableEveryone)&&(t=t.replace(/@(everyone|here)/g,"@$1")),this.rest.makeRequest("post",`${n.Endpoints.webhook(e.id,e.token)}?wait=true`,!1,{username:e.name,avatar_url:avatarURL,content:t,tts:tts,file:i,embeds:embeds})}sendSlackWebhookMessage(e,t){return this.rest.makeRequest("post",`${n.Endpoints.webhook(e.id,e.token)}/slack?wait=true`,!1,t)}fetchUserProfile(e){return this.rest.makeRequest("get",n.Endpoints.userProfile(e.id),!0).then(t=>new c(e,t))}addFriend(e){return this.rest.makeRequest("post",n.Endpoints.relationships("@me"),!0,{username:e.username,discriminator:e.discriminator}).then(()=>e)}removeFriend(e){return this.rest.makeRequest("delete",`${n.Endpoints.relationships("@me")}/${e.id}`,!0).then(()=>e)}blockUser(e){return this.rest.makeRequest("put",`${n.Endpoints.relationships("@me")}/${e.id}`,!0,{type:2}).then(()=>e)}unblockUser(e){return this.rest.makeRequest("delete",`${n.Endpoints.relationships("@me")}/${e.id}`,!0).then(()=>e)}setRolePositions(e,t){return this.rest.makeRequest("patch",n.Endpoints.guildRoles(e),!0,t).then(()=>this.rest.client.actions.GuildRolesPositionUpdate.handle({guild_id:e,roles:t}).guild)}addMessageReaction(e,t){return this.rest.makeRequest("put",n.Endpoints.selfMessageReaction(e.channel.id,e.id,t),!0).then(()=>this.rest.client.actions.MessageReactionAdd.handle({user_id:this.rest.client.user.id,message_id:e.id,emoji:o(t),channel_id:e.channel.id}).reaction)}removeMessageReaction(e,t,i){let r=n.Endpoints.selfMessageReaction(e.channel.id,e.id,t);return i.id!==this.rest.client.user.id&&(r=n.Endpoints.userMessageReaction(e.channel.id,e.id,t,null,i.id)),this.rest.makeRequest("delete",r,!0).then(()=>this.rest.client.actions.MessageReactionRemove.handle({user_id:i.id,message_id:e.id,emoji:o(t),channel_id:e.channel.id}).reaction)}removeMessageReactions(e){this.rest.makeRequest("delete",n.Endpoints.messageReactions(e.channel.id,e.id),!0).then(()=>e)}getMessageReactionUsers(e,t,i=100){return this.rest.makeRequest("get",n.Endpoints.messageReaction(e.channel.id,e.id,t,i),!0)}getMyApplication(){return this.rest.makeRequest("get",n.Endpoints.myApplication,!0).then(e=>new d(this.rest.client,e))}setNote(e,t){return this.rest.makeRequest("put",n.Endpoints.note(e.id),!0,{note:t}).then(()=>e)}}e.exports=p},function(e,t){class i extends Map{constructor(e){super(e),this._array=null,this._keyArray=null}set(e,t){super.set(e,t),this._array=null,this._keyArray=null}delete(e){super.delete(e),this._array=null,this._keyArray=null}array(){return this._array&&this._array.length===this.size||(this._array=Array.from(this.values())),this._array}keyArray(){return this._keyArray&&this._keyArray.length===this.size||(this._keyArray=Array.from(this.keys())),this._keyArray}first(){return this.values().next().value}firstKey(){return this.keys().next().value}last(){const e=this.array();return e[e.length-1]}lastKey(){const e=this.keyArray();return e[e.length-1]}random(){const e=this.array();return e[Math.floor(Math.random()*e.length)]}randomKey(){const e=this.keyArray();return e[Math.floor(Math.random()*e.length)]}findAll(e,t){if("string"!=typeof e)throw new TypeError("Key must be a string.");if("undefined"==typeof t)throw new Error("Value must be specified.");const i=[];for(const n of this.values())n[e]===t&&i.push(n);return i}find(e,t){if("string"==typeof e){if("undefined"==typeof t)throw new Error("Value must be specified.");if("id"===e)throw new RangeError("Don't use .find() with IDs. Instead, use .get(id).");for(const i of this.values())if(i[e]===t)return i;return null}if("function"==typeof e){for(const[t,i]of this)if(e(i,t,this))return i;return null}throw new Error("First argument must be a property string or a function.")}findKey(e,t){if("string"==typeof e){if("undefined"==typeof t)throw new Error("Value must be specified.");for(const[i,n]of this)if(n[e]===t)return i;return null}if("function"==typeof e){for(const[t,i]of this)if(e(i,t,this))return t;return null}throw new Error("First argument must be a property string or a function.")}exists(e,t){if("id"===e)throw new RangeError("Don't use .exists() with IDs. Instead, use .has(id).");return Boolean(this.find(e,t))}filter(e,t){t&&(e=e.bind(t));const n=new i;for(const[r,s]of this)e(s,r,this)&&n.set(r,s);return n}filterArray(e,t){t&&(e=e.bind(t));const i=[];for(const[n,r]of this)e(r,n,this)&&i.push(r);return i}map(e,t){t&&(e=e.bind(t));const i=new Array(this.size);let n=0;for(const[r,s]of this)i[n++]=e(s,r,this);return i}some(e,t){t&&(e=e.bind(t));for(const[i,n]of this)if(e(n,i,this))return!0;return!1}every(e,t){t&&(e=e.bind(t));for(const[i,n]of this)if(!e(n,i,this))return!1;return!0}reduce(e,t){let i=t;for(const[n,r]of this)i=e(i,r,n,this);return i}concat(...e){const t=new this.constructor;for(const[i,n]of this)t.set(i,n);for(const r of e)for(const[i,n]of r)t.set(i,n);return t}deleteAll(){const e=[];for(const t of this.values())t.delete&&e.push(t.delete());return e}}e.exports=i},function(e,t){e.exports=function(e,{maxLength=1950,char="\n",prepend="",append=""}={}){if(e.length<=maxLength)return e;const t=e.split(char);if(1===t.length)throw new Error("Message exceeds the max length and contains no split characters.");const i=[""];let n=0;for(let r=0;r<t.length;r++)i[n].length+t[r].length+1>maxLength&&(i[n]+=append,i.push(prepend),n++),i[n]+=(i[n].length>0&&i[n]!==prepend?char:"")+t[r];return i}},function(e,t){e.exports=function(e){if(e.includes("%")&&(e=decodeURIComponent(e)),e.includes(":")){const[t,i]=e.split(":");return{name:t,id:i}}return{name:e,id:null}}},function(e,t,i){const n=i(14),r=i(5),s=i(24).Presence;class o{constructor(e,t){this.client=e,Object.defineProperty(this,"client",{enumerable:!1,configurable:!1}),t&&this.setup(t)}setup(e){this.id=e.id,this.username=e.username,this.discriminator=e.discriminator,this.avatar=e.avatar,this.bot=Boolean(e.bot)}patch(e){for(const t of["id","username","discriminator","avatar","bot"])"undefined"!=typeof e[t]&&(this[t]=e[t])}get createdTimestamp(){return this.id/4194304+14200704e5}get createdAt(){return new Date(this.createdTimestamp)}get presence(){if(this.client.presences.has(this.id))return this.client.presences.get(this.id);for(const e of this.client.guilds.values())if(e.presences.has(this.id))return e.presences.get(this.id);return new s}get avatarURL(){return this.avatar?r.Endpoints.avatar(this.id,this.avatar):null}get note(){return this.client.user.notes.get(this.id)||null}typingIn(e){return e=this.client.resolver.resolveChannel(e),e._typing.has(this.id)}typingSinceIn(e){return e=this.client.resolver.resolveChannel(e),e._typing.has(this.id)?new Date(e._typing.get(this.id).since):null}typingDurationIn(e){return e=this.client.resolver.resolveChannel(e),e._typing.has(this.id)?e._typing.get(this.id).elapsedTime:-1}deleteDM(){return this.client.rest.methods.deleteChannel(this)}addFriend(){return this.client.rest.methods.addFriend(this)}removeFriend(){return this.client.rest.methods.removeFriend(this)}block(){return this.client.rest.methods.blockUser(this)}unblock(){return this.client.rest.methods.unblockUser(this)}fetchProfile(){return this.client.rest.methods.fetchUserProfile(this)}setNote(e){return this.client.rest.methods.setNote(this,e)}equals(e){let t=e&&this.id===e.id&&this.username===e.username&&this.discriminator===e.discriminator&&this.avatar===e.avatar&&this.bot===Boolean(e.bot);return t}toString(){return`<@${this.id}>`}sendMessage(){}sendTTSMessage(){}sendFile(){}sendCode(){}}n.applyToClass(o),e.exports=o},function(e,t,i){function n(e,t){Object.defineProperty(e.prototype,t,Object.getOwnPropertyDescriptor(f.prototype,t))}const r=i(15),s=i(16),o=i(23),a=i(10),l=i(19);class f{constructor(){this.messages=new a,this.lastMessageID=null}sendMessage(e,t={}){return this.client.rest.methods.sendMessage(this,e,t)}sendTTSMessage(e,t={}){return Object.assign(t,{tts:!0}),this.client.rest.methods.sendMessage(this,e,t)}sendFile(e,t,i,n={}){return t||(t="string"==typeof e?r.basename(e):e&&e.path?r.basename(e.path):"file.jpg"),this.client.resolver.resolveBuffer(e).then(e=>this.client.rest.methods.sendMessage(this,i,n,{file:e,name:t}))}sendCode(e,t,i={}){return i.split&&("object"!=typeof i.split&&(i.split={}),i.split.prepend||(i.split.prepend=`\`\`\`${e||""}
`),i.split.append||(i.split.append="\n```")),t=l(this.client.resolver.resolveString(t),!0),this.sendMessage(`\`\`\`${e||""}
${t}
\`\`\``,i)}fetchMessage(e){return this.client.rest.methods.getChannelMessage(this,e).then(e=>{const t=e instanceof s?e:new s(this,e,this.client);return this._cacheMessage(t),t})}fetchMessages(e={}){return this.client.rest.methods.getChannelMessages(this,e).then(e=>{const t=new a;for(const i of e){const e=new s(this,i,this.client);t.set(i.id,e),this._cacheMessage(e)}return t})}fetchPinnedMessages(){return this.client.rest.methods.getChannelPinnedMessages(this).then(e=>{const t=new a;for(const i of e){const e=new s(this,i,this.client);t.set(i.id,e),this._cacheMessage(e)}return t})}startTyping(e){if("undefined"!=typeof e&&e<1)throw new RangeError("Count must be at least 1.");if(this.client.user._typing.has(this.id)){const t=this.client.user._typing.get(this.id);t.count=e||t.count+1}else this.client.user._typing.set(this.id,{count:e||1,interval:this.client.setInterval(()=>{this.client.rest.methods.sendTyping(this.id)},4e3)}),this.client.rest.methods.sendTyping(this.id)}stopTyping(e=false){if(this.client.user._typing.has(this.id)){const t=this.client.user._typing.get(this.id);t.count--,(t.count<=0||e)&&(this.client.clearInterval(t.interval),this.client.user._typing.delete(this.id))}}get typing(){return this.client.user._typing.has(this.id)}get typingCount(){return this.client.user._typing.has(this.id)?this.client.user._typing.get(this.id).count:0}createCollector(e,t={}){return new o(this,e,t)}awaitMessages(e,t={}){return new Promise((i,n)=>{const r=this.createCollector(e,t);r.on("end",(e,r)=>{t.errors&&t.errors.includes(r)?n(e):i(e)})})}bulkDelete(e){if(!isNaN(e))return this.fetchMessages({limit:e}).then(e=>this.bulkDelete(e));if(e instanceof Array||e instanceof a){const t=e instanceof a?e.keyArray():e.map(e=>e.id);return this.client.rest.methods.bulkDeleteMessages(this,t)}throw new TypeError("The messages must be an Array, Collection, or number.")}_cacheMessage(e){const t=this.client.options.messageCacheMaxSize;return 0===t?null:(this.messages.size>=t&&t>0&&this.messages.delete(this.messages.firstKey()),this.messages.set(e.id,e),e)}}t.applyToClass=((e,t=false)=>{const i=["sendMessage","sendTTSMessage","sendFile","sendCode"];t&&(i.push("_cacheMessage"),i.push("fetchMessages"),i.push("fetchMessage"),i.push("bulkDelete"),i.push("startTyping"),i.push("stopTyping"),i.push("typing"),i.push("typingCount"),i.push("fetchPinnedMessages"),i.push("createCollector"),i.push("awaitMessages"));for(const r of i)n(e,r)})},function(e,t,i){(function(e){function i(e,t){for(var i=0,n=e.length-1;n>=0;n--){var r=e[n];"."===r?e.splice(n,1):".."===r?(e.splice(n,1),i++):i&&(e.splice(n,1),i--)}if(t)for(;i--;i)e.unshift("..");return e}function n(e,t){if(e.filter)return e.filter(t);for(var i=[],n=0;n<e.length;n++)t(e[n],n,e)&&i.push(e[n]);return i}var r=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/,s=function(e){return r.exec(e).slice(1)};t.resolve=function(){for(var t="",r=!1,s=arguments.length-1;s>=-1&&!r;s--){var o=s>=0?arguments[s]:e.cwd();if("string"!=typeof o)throw new TypeError("Arguments to path.resolve must be strings");o&&(t=o+"/"+t,r="/"===o.charAt(0))}return t=i(n(t.split("/"),function(e){return!!e}),!r).join("/"),(r?"/":"")+t||"."},t.normalize=function(e){var r=t.isAbsolute(e),s="/"===o(e,-1);return e=i(n(e.split("/"),function(e){return!!e}),!r).join("/"),e||r||(e="."),e&&s&&(e+="/"),(r?"/":"")+e},t.isAbsolute=function(e){return"/"===e.charAt(0)},t.join=function(){var e=Array.prototype.slice.call(arguments,0);return t.normalize(n(e,function(e,t){if("string"!=typeof e)throw new TypeError("Arguments to path.join must be strings");return e}).join("/"))},t.relative=function(e,i){function n(e){for(var t=0;t<e.length&&""===e[t];t++);for(var i=e.length-1;i>=0&&""===e[i];i--);return t>i?[]:e.slice(t,i-t+1)}e=t.resolve(e).substr(1),i=t.resolve(i).substr(1);for(var r=n(e.split("/")),s=n(i.split("/")),o=Math.min(r.length,s.length),a=o,l=0;l<o;l++)if(r[l]!==s[l]){a=l;break}for(var f=[],l=a;l<r.length;l++)f.push("..");return f=f.concat(s.slice(a)),f.join("/")},t.sep="/",t.delimiter=":",t.dirname=function(e){var t=s(e),i=t[0],n=t[1];return i||n?(n&&(n=n.substr(0,n.length-1)),i+n):"."},t.basename=function(e,t){var i=s(e)[2];return t&&i.substr(-1*t.length)===t&&(i=i.substr(0,i.length-t.length)),i},t.extname=function(e){return s(e)[3]};var o="b"==="ab".substr(-1)?function(e,t,i){return e.substr(t,i)}:function(e,t,i){return t<0&&(t=e.length+t),e.substr(t,i)}}).call(t,i(2))},function(e,t,i){const n=i(17),r=i(18),s=i(10),o=i(5),a=i(19),l=i(20);class f{constructor(e,t,i){this.client=i,Object.defineProperty(this,"client",{enumerable:!1,configurable:!1}),this.channel=e,t&&this.setup(t)}setup(e){this.id=e.id,this.type=o.MessageTypes[e.type],this.content=e.content,this.author=this.client.dataManager.newUser(e.author),this.member=this.guild?this.guild.member(this.author)||null:null,this.pinned=e.pinned,this.tts=e.tts,this.nonce=e.nonce,this.system=6===e.type,this.embeds=e.embeds.map(e=>new r(this,e)),this.attachments=new s;for(const t of e.attachments)this.attachments.set(t.id,new n(this,t));this.createdTimestamp=new Date(e.timestamp).getTime(),this.editedTimestamp=e.edited_timestamp?new Date(e.edited_timestamp).getTime():null,this.mentions={users:new s,roles:new s,channels:new s,everyone:e.mention_everyone};for(const i of e.mentions){let e=this.client.users.get(i.id);e?this.mentions.users.set(e.id,e):(e=this.client.dataManager.newUser(i),this.mentions.users.set(e.id,e))}if(e.mention_roles)for(const i of e.mention_roles){const e=this.channel.guild.roles.get(i);e&&this.mentions.roles.set(e.id,e)}if(this.channel.guild){const t=e.content.match(/<#([0-9]{14,20})>/g)||[];for(const i of t){const e=this.channel.guild.channels.get(i.match(/([0-9]{14,20})/g)[0]);e&&this.mentions.channels.set(e.id,e)}}if(this._edits=[],this.reactions=new s,e.reactions&&e.reactions.length>0)for(const a of e.reactions){const e=a.emoji.id?`${a.emoji.name}:${a.emoji.id}`:a.emoji.name;this.reactions.set(e,new l(this,a.emoji,a.count,a.me))}}patch(e){if(e.author&&(this.author=this.client.users.get(e.author.id),this.guild&&(this.member=this.guild.member(this.author))),e.content&&(this.content=e.content),e.timestamp&&(this.createdTimestamp=new Date(e.timestamp).getTime()),e.edited_timestamp&&(this.editedTimestamp=e.edited_timestamp?new Date(e.edited_timestamp).getTime():null),"tts"in e&&(this.tts=e.tts),"mention_everyone"in e&&(this.mentions.everyone=e.mention_everyone),e.nonce&&(this.nonce=e.nonce),e.embeds&&(this.embeds=e.embeds.map(e=>new r(this,e))),e.type>-1&&(this.system=!1,6===e.type&&(this.system=!0)),e.attachments){this.attachments=new s;for(const t of e.attachments)this.attachments.set(t.id,new n(this,t))}if(e.mentions)for(const t of e.mentions){let e=this.client.users.get(t.id);e?this.mentions.users.set(e.id,e):(e=this.client.dataManager.newUser(t),this.mentions.users.set(e.id,e))}if(e.mention_roles)for(const t of e.mention_roles){const e=this.channel.guild.roles.get(t);e&&this.mentions.roles.set(e.id,e)}if(e.id&&(this.id=e.id),this.channel.guild&&e.content){const t=e.content.match(/<#([0-9]{14,20})>/g)||[];for(const i of t){const e=this.channel.guild.channels.get(i.match(/([0-9]{14,20})/g)[0]);e&&this.mentions.channels.set(e.id,e)}}if(e.reactions&&(this.reactions=new s,e.reactions.length>0))for(const i of e.reactions){const t=i.emoji.id?`${i.emoji.name}:${i.emoji.id}`:i.emoji.name;this.reactions.set(t,new l(this,e.emoji,e.count,e.me))}}get createdAt(){return new Date(this.createdTimestamp)}get editedAt(){return this.editedTimestamp?new Date(this.editedTimestamp):null}get guild(){return this.channel.guild||null}get cleanContent(){return this.content.replace(/@(everyone|here)/g,"@$1").replace(/<@!?[0-9]+>/g,e=>{const t=e.replace(/<|!|>|@/g,"");if("dm"===this.channel.type||"group"===this.channel.type)return this.client.users.has(t)?`@${this.client.users.get(t).username}`:e;const i=this.channel.guild.members.get(t);if(i)return i.nickname?`@${i.nickname}`:`@${i.user.username}`;{const i=this.client.users.get(t);return i?`@${i.username}`:e}}).replace(/<#[0-9]+>/g,e=>{const t=this.client.channels.get(e.replace(/<|#|>/g,""));return t?`#${t.name}`:e}).replace(/<@&[0-9]+>/g,e=>{if("dm"===this.channel.type||"group"===this.channel.type)return e;const t=this.guild.roles.get(e.replace(/<|@|>|&/g,""));return t?`@${t.name}`:e})}get edits(){return this._edits.slice().unshift(this)}get editable(){return this.author.id===this.client.user.id}get deletable(){return this.author.id===this.client.user.id||this.guild&&this.channel.permissionsFor(this.client.user).hasPermission(o.PermissionFlags.MANAGE_MESSAGES)}get pinnable(){return!this.guild||this.channel.permissionsFor(this.client.user).hasPermission(o.PermissionFlags.MANAGE_MESSAGES)}isMentioned(e){return e=e&&e.id?e.id:e,this.mentions.users.has(e)||this.mentions.channels.has(e)||this.mentions.roles.has(e)}edit(e,t={}){return this.client.rest.methods.updateMessage(this,e,t)}editCode(e,t){return t=a(this.client.resolver.resolveString(t),!0),this.edit(`\`\`\`${e||""}
${t}
\`\`\``)}pin(){return this.client.rest.methods.pinMessage(this)}unpin(){return this.client.rest.methods.unpinMessage(this)}react(e){if(e=this.client.resolver.resolveEmojiIdentifier(e),!e)throw new TypeError("Emoji must be a string or Emoji/ReactionEmoji");return this.client.rest.methods.addMessageReaction(this,e)}clearReactions(){return this.client.rest.methods.removeMessageReactions(this)}delete(e=0){return e<=0?this.client.rest.methods.deleteMessage(this):new Promise(t=>{this.client.setTimeout(()=>{t(this.delete())},e)})}reply(e,t={}){e=this.client.resolver.resolveString(e);const i=this.guild?`${this.author}, `:"";return e=`${i}${e}`,t.split&&("object"!=typeof t.split&&(t.split={}),t.split.prepend||(t.split.prepend=i)),this.client.rest.methods.sendMessage(this.channel,e,t)}equals(e,t){if(!e)return!1;const i=!e.author&&!e.attachments;if(i)return this.id===e.id&&this.embeds.length===e.embeds.length;let n=this.id===e.id&&this.author.id===e.author.id&&this.content===e.content&&this.tts===e.tts&&this.nonce===e.nonce&&this.embeds.length===e.embeds.length&&this.attachments.length===e.attachments.length;return n&&t&&(n=this.mentions.everyone===e.mentions.everyone&&this.createdTimestamp===new Date(t.timestamp).getTime()&&this.editedTimestamp===new Date(t.edited_timestamp).getTime()),n}toString(){return this.content}_addReaction(e,t){const i=e.id?`${e.name}:${e.id}`:e.name;let n;return this.reactions.has(i)?(n=this.reactions.get(i),n.me||(n.me=t.id===this.client.user.id)):(n=new l(this,e,0,t.id===this.client.user.id),this.reactions.set(i,n)),n.users.has(t.id)?null:(n.users.set(t.id,t),n.count++,n)}_removeReaction(e,t){const i=e.id||e;if(this.reactions.has(i)){const e=this.reactions.get(i);if(e.users.has(t.id))return e.users.delete(t.id),e.count--,t.id===this.client.user.id&&(e.me=!1),e}return null}_clearReactions(){this.reactions.clear()}}e.exports=f},function(e,t){class i{constructor(e,t){this.client=e.client,Object.defineProperty(this,"client",{enumerable:!1,configurable:!1}),this.message=e,this.setup(t)}setup(e){this.id=e.id,this.filename=e.filename,this.filesize=e.size,this.url=e.url,this.proxyURL=e.proxy_url,this.height=e.height,this.width=e.width}}e.exports=i},function(e,t){class i{constructor(e,t){this.client=e.client,Object.defineProperty(this,"client",{enumerable:!1,configurable:!1}),this.message=e,this.setup(t)}setup(e){if(this.title=e.title,this.type=e.type,this.description=e.description,this.url=e.url,this.fields=[],e.fields)for(const t of e.fields)this.fields.push(new o(this,t));this.createdTimestamp=e.timestamp,this.thumbnail=e.thumbnail?new n(this,e.thumbnail):null,this.author=e.author?new s(this,e.author):null,this.provider=e.provider?new r(this,e.provider):null,this.footer=e.footer?new a(this,e.footer):null}get createdAt(){return new Date(this.createdTimestamp)}}class n{constructor(e,t){this.embed=e,this.setup(t)}setup(e){this.url=e.url,this.proxyURL=e.proxy_url,this.height=e.height,this.width=e.width}}class r{constructor(e,t){this.embed=e,this.setup(t)}setup(e){this.name=e.name,this.url=e.url}}class s{constructor(e,t){this.embed=e,this.setup(t)}setup(e){this.name=e.name,this.url=e.url}}class o{constructor(e,t){this.embed=e,this.setup(t)}setup(e){this.name=e.name,this.value=e.value,this.inline=e.inline}}class a{constructor(e,t){this.embed=e,this.setup(t)}setup(e){this.text=e.text,this.iconUrl=e.icon_url,this.proxyIconUrl=e.proxy_icon_url}}i.Thumbnail=n,i.Provider=r,i.Author=s,i.Field=o,i.Footer=a,e.exports=i},function(e,t){e.exports=function(e,t=false,i=false){return t?e.replace(/```/g,"```"):i?e.replace(/\\(`|\\)/g,"$1").replace(/(`|\\)/g,"\\$1"):e.replace(/\\(\*|_|`|~|\\)/g,"$1").replace(/(\*|_|`|~|\\)/g,"\\$1")}},function(e,t,i){const n=i(10),r=i(21),s=i(22);class o{constructor(e,t,i,r){this.message=e,this.me=r,this.count=i||0,this.users=new n,this._emoji=new s(this,t.name,t.id)}get emoji(){if(this._emoji instanceof r)return this._emoji;if(this._emoji.id){const e=this.message.client.emojis;if(e.has(this._emoji.id)){const t=e.get(this._emoji.id);return this._emoji=t,t}}return this._emoji}remove(e=this.message.client.user){const t=this.message;return e=this.message.client.resolver.resolveUserID(e),e?t.client.rest.methods.removeMessageReaction(t,this.emoji.identifier,e):Promise.reject("Couldn't resolve the user ID to remove from the reaction.")}fetchUsers(e=100){const t=this.message;return t.client.rest.methods.getMessageReactionUsers(t,this.emoji.identifier,e).then(e=>{this.users=new n;for(const t of e){const e=this.message.client.dataManager.newUser(t);this.users.set(e.id,e)}return this.count=this.users.size,e})}}e.exports=o},function(e,t,i){const n=i(5),r=i(10);class s{constructor(e,t){this.client=e.client,Object.defineProperty(this,"client",{enumerable:!1,configurable:!1}),this.guild=e,this.setup(t)}setup(e){this.id=e.id,this.name=e.name,this.requiresColons=e.require_colons,this.managed=e.managed,this._roles=e.roles}get createdTimestamp(){return this.id/4194304+14200704e5}get createdAt(){return new Date(this.createdTimestamp)}get roles(){const e=new r;for(const t of this._roles)this.guild.roles.has(t)&&e.set(t,this.guild.roles.get(t));return e}get url(){return`${n.Endpoints.CDN}/emojis/${this.id}.png`}toString(){return this.requiresColons?`<:${this.name}:${this.id}>`:this.name}get identifier(){return this.id?`${this.name}:${this.id}`:encodeURIComponent(this.name)}}e.exports=s},function(e,t){class i{constructor(e,t,i){this.reaction=e,this.name=t,this.id=i}get identifier(){return this.id?`${this.name}:${this.id}`:encodeURIComponent(this.name)}toString(){return this.id?`<:${this.name}:${this.id}>`:this.name}}e.exports=i},function(e,t,i){const n=i(3).EventEmitter,r=i(10);class s extends n{constructor(e,t,i={}){super(),this.channel=e,this.filter=t,this.options=i,this.ended=!1,this.collected=new r,this.listener=(e=>this.verify(e)),this.channel.client.on("message",this.listener),i.time&&this.channel.client.setTimeout(()=>this.stop("time"),i.time)}verify(e){return(!this.channel||this.channel.id===e.channel.id)&&(!!this.filter(e,this)&&(this.collected.set(e.id,e),this.emit("message",e,this),this.collected.size>=this.options.maxMatches?this.stop("matchesLimit"):this.options.max&&this.collected.size===this.options.max&&this.stop("limit"),!0))}get next(){return new Promise((e,t)=>{if(this.ended)return void t(this.collected);const i=()=>{this.removeListener("message",n),this.removeListener("end",r)},n=(...t)=>{i(),e(...t)},r=(...e)=>{i(),t(...e)};this.once("message",n),this.once("end",r)})}stop(e="user"){this.ended||(this.ended=!0,this.channel.client.removeListener("message",this.listener),this.emit("end",this.collected,e))}}e.exports=s},function(e,t){class i{constructor(e={}){this.status=e.status||"offline",this.game=e.game?new n(e.game):null}update(e){this.status=e.status||this.status,this.game=e.game?new n(e.game):null}equals(e){return e&&this.status===e.status&&this.game?this.game.equals(e.game):!e.game}}class n{constructor(e){this.name=e.name,this.type=e.type,this.url=e.url||null}get streaming(){return 1===this.type}equals(e){return e&&this.name===e.name&&this.type===e.type&&this.url===e.url}}t.Presence=i,t.Game=n},function(e,t,i){const n=i(14),r=i(26),s=i(27),o=i(5),a=i(10),l=i(24).Presence;class f{constructor(e,t){this.client=e.client,Object.defineProperty(this,"client",{enumerable:!1,configurable:!1}),this.guild=e,this.user={},this._roles=[],t&&this.setup(t)}setup(e){this.serverDeaf=e.deaf,this.serverMute=e.mute,this.selfMute=e.self_mute,this.selfDeaf=e.self_deaf,this.voiceSessionID=e.session_id,this.voiceChannelID=e.channel_id,this.speaking=!1,this.nickname=e.nick||null,this.joinedTimestamp=new Date(e.joined_at).getTime(),this.user=e.user,this._roles=e.roles}get joinedAt(){return new Date(this.joinedTimestamp)}get presence(){return this.frozenPresence||this.guild.presences.get(this.id)||new l}get roles(){const e=new a,t=this.guild.roles.get(this.guild.id);t&&e.set(t.id,t);for(const i of this._roles){const t=this.guild.roles.get(i);t&&e.set(t.id,t)}return e}get highestRole(){return this.roles.reduce((e,t)=>!e||t.comparePositionTo(e)>0?t:e)}get mute(){return this.selfMute||this.serverMute}get deaf(){return this.selfDeaf||this.serverDeaf}get voiceChannel(){return this.guild.channels.get(this.voiceChannelID)}get id(){return this.user.id}get permissions(){if(this.user.id===this.guild.ownerID)return new s(this,o.ALL_PERMISSIONS);let e=0;const t=this.roles;for(const i of t.values())e|=i.permissions;const n=Boolean(e&o.PermissionFlags.ADMINISTRATOR);return n&&(e=o.ALL_PERMISSIONS),new s(this,e)}get kickable(){if(this.user.id===this.guild.ownerID)return!1;if(this.user.id===this.client.user.id)return!1;const e=this.guild.member(this.client.user);return!!e.hasPermission(o.PermissionFlags.KICK_MEMBERS)&&e.highestRole.comparePositionTo(this.highestRole)>0}get bannable(){if(this.user.id===this.guild.ownerID)return!1;if(this.user.id===this.client.user.id)return!1;const e=this.guild.member(this.client.user);return!!e.hasPermission(o.PermissionFlags.BAN_MEMBERS)&&e.highestRole.comparePositionTo(this.highestRole)>0}permissionsIn(e){if(e=this.client.resolver.resolveChannel(e),!e||!e.guild)throw new Error("Could not resolve channel to a guild channel.");return e.permissionsFor(this)}hasPermission(e,t=false){return!t&&this.user.id===this.guild.ownerID||this.roles.some(i=>i.hasPermission(e,t))}hasPermissions(e,t=false){return!t&&this.user.id===this.guild.ownerID||e.every(e=>this.hasPermission(e,t))}missingPermissions(e,t=false){return e.filter(e=>!this.hasPermission(e,t))}edit(e){return this.client.rest.methods.updateGuildMember(this,e)}setMute(e){return this.edit({mute:e})}setDeaf(e){return this.edit({deaf:e})}setVoiceChannel(e){return this.edit({channel:e})}setRoles(e){return this.edit({roles:e})}addRole(e){return this.addRoles([e])}addRoles(e){let t;if(e instanceof a){t=this._roles.slice();for(const i of e.values())t.push(i.id)}else t=this._roles.concat(e);return this.edit({roles:t})}removeRole(e){return this.removeRoles([e])}removeRoles(e){const t=this._roles.slice();if(e instanceof a)for(const i of e.values()){const e=t.indexOf(i.id);e>=0&&t.splice(e,1)}else for(const i of e){const e=t.indexOf(i instanceof r?i.id:i);e>=0&&t.splice(e,1)}return this.edit({roles:t})}setNickname(e){return this.edit({nick:e})}deleteDM(){return this.client.rest.methods.deleteChannel(this)}kick(){return this.client.rest.methods.kickGuildMember(this.guild,this)}ban(e=0){return this.client.rest.methods.banGuildMember(this.guild,this,e)}toString(){return`<@${this.nickname?"!":""}${this.user.id}>`}sendMessage(){}sendTTSMessage(){}sendFile(){}sendCode(){}}n.applyToClass(f),e.exports=f},function(e,t,i){const n=i(5);class r{constructor(e,t){this.client=e.client,Object.defineProperty(this,"client",{enumerable:!1,configurable:!1}),this.guild=e,t&&this.setup(t)}setup(e){this.id=e.id,this.name=e.name,this.color=e.color,this.hoist=e.hoist,this.position=e.position,this.permissions=e.permissions,this.managed=e.managed,this.mentionable=e.mentionable}get createdTimestamp(){return this.id/4194304+14200704e5}get createdAt(){return new Date(this.createdTimestamp)}get hexColor(){let e=this.color.toString(16);for(;e.length<6;)e=`0${e}`;return`#${e}`}get members(){return this.guild.members.filter(e=>e.roles.has(this.id))}serialize(){const e={};for(const t in n.PermissionFlags)e[t]=this.hasPermission(t);return e}hasPermission(e,t=false){return e=this.client.resolver.resolvePermission(e),!t&&(this.permissions&n.PermissionFlags.ADMINISTRATOR)>0||(this.permissions&e)>0}hasPermissions(e,t=false){return e.every(e=>this.hasPermission(e,t))}comparePositionTo(e){return this.constructor.comparePositions(this,e)}edit(e){return this.client.rest.methods.updateGuildRole(this,e)}setName(e){return this.edit({name:e})}setColor(e){return this.edit({color:e})}setHoist(e){return this.edit({hoist:e})}setPosition(e){return this.guild.setRolePosition(this,e)}setPermissions(e){return this.edit({permissions:e})}setMentionable(e){return this.edit({mentionable:e})}delete(){return this.client.rest.methods.deleteGuildRole(this)}get editable(){if(this.managed)return!1;const e=this.guild.member(this.client.user);return!!e.hasPermission(n.PermissionFlags.MANAGE_ROLES_OR_PERMISSIONS)&&e.highestRole.comparePositionTo(this)>0}equals(e){return e&&this.id===e.id&&this.name===e.name&&this.color===e.color&&this.hoist===e.hoist&&this.position===e.position&&this.permissions===e.permissions&&this.managed===e.managed}toString(){return`<@&${this.id}>`}static comparePositions(e,t){return e.position===t.position?t.id-e.id:e.position-t.position}}e.exports=r},function(e,t,i){const n=i(5);class r{constructor(e,t){this.member=e,this.raw=t}serialize(){const e={};for(const t in n.PermissionFlags)e[t]=this.hasPermission(t);return e}hasPermission(e,t=false){return e=this.member.client.resolver.resolvePermission(e),!t&&(this.raw&n.PermissionFlags.ADMINISTRATOR)>0||(this.raw&e)>0}hasPermissions(e,t=false){return e.every(e=>this.hasPermission(e,t))}missingPermissions(e,t=false){return e.filter(e=>!this.hasPermission(e,t))}}e.exports=r},function(e,t,i){const n=i(29),r=i(30),s=i(5);class o{constructor(e,t){this.client=e,Object.defineProperty(this,"client",{enumerable:!1,configurable:!1}),this.setup(t)}setup(e){this.guild=this.client.guilds.get(e.guild.id)||new n(this.client,e.guild),this.code=e.code,this.temporary=e.temporary,this.maxAge=e.max_age,this.uses=e.uses,this.maxUses=e.max_uses,e.inviter&&(this.inviter=this.client.dataManager.newUser(e.inviter)),this.channel=this.client.channels.get(e.channel.id)||new r(this.client,e.channel),this.createdTimestamp=new Date(e.created_at).getTime()}get createdAt(){return new Date(this.createdTimestamp)}get expiresTimestamp(){return this.createdTimestamp+1e3*this.maxAge}get expiresAt(){return new Date(this.expiresTimestamp)}get url(){return s.Endpoints.inviteLink(this.code)}delete(){return this.client.rest.methods.deleteInvite(this)}toString(){return this.url}}e.exports=o},function(e,t){class i{constructor(e,t){this.client=e,Object.defineProperty(this,"client",{enumerable:!1,configurable:!1}),this.setup(t)}setup(e){this.id=e.id,this.name=e.name,this.icon=e.icon,this.splash=e.splash}}e.exports=i},function(e,t,i){const n=i(5);class r{constructor(e,t){this.client=e,Object.defineProperty(this,"client",{enumerable:!1,configurable:!1}),this.setup(t)}setup(e){this.id=e.id,this.name=e.name,this.type=n.ChannelTypes.text===e.type?"text":"voice"}}e.exports=r},function(e,t,i){const n=i(15),r=i(19);class s{constructor(e,t,i){e?(this.client=e,Object.defineProperty(this,"client",{enumerable:!1,configurable:!1}),t&&this.setup(t)):(this.id=t,this.token=i,this.client=this)}setup(e){this.name=e.name,this.token=e.token,this.avatar=e.avatar,this.id=e.id,this.guildID=e.guild_id,this.channelID=e.channel_id,e.user&&(this.owner=e.user)}sendMessage(e,t={}){return this.client.rest.methods.sendWebhookMessage(this,e,t)}sendSlackMessage(e){return this.client.rest.methods.sendSlackWebhookMessage(this,e)}sendTTSMessage(e,t={}){return Object.assign(t,{tts:!0}),this.client.rest.methods.sendWebhookMessage(this,e,t)}sendFile(e,t,i,r={}){return t||(t="string"==typeof e?n.basename(e):e&&e.path?n.basename(e.path):"file.jpg"),this.client.resolver.resolveBuffer(e).then(e=>this.client.rest.methods.sendWebhookMessage(this,i,r,{file:e,name:t}))}sendCode(e,t,i={}){return i.split&&("object"!=typeof i.split&&(i.split={}),i.split.prepend||(i.split.prepend=`\`\`\`${e||""}
`),i.split.append||(i.split.append="\n```")),t=r(this.client.resolver.resolveString(t),!0),this.sendMessage(`\`\`\`${e||""}
${t}
\`\`\``,i)}edit(e=this.name,t){return t?this.client.resolver.resolveBuffer(t).then(t=>{const i=this.client.resolver.resolveBase64(t);return this.client.rest.methods.editWebhook(this,e,i)}):this.client.rest.methods.editWebhook(this,e).then(e=>{return this.setup(e),this})}delete(){return this.client.rest.methods.deleteWebhook(this)}}e.exports=s},function(e,t,i){const n=i(10),r=i(33);class s{constructor(e,t){this.user=e,this.client=this.user.client,Object.defineProperty(this,"client",{enumerable:!1,configurable:!1}),this.mutualGuilds=new n,this.connections=new n,this.setup(t)}setup(e){for(const t of e.mutual_guilds)this.client.guilds.has(t.id)&&this.mutualGuilds.set(t.id,this.client.guilds.get(t.id));for(const i of e.connected_accounts)this.connections.set(i.id,new r(this.user,i))}}e.exports=s},function(e,t){class i{constructor(e,t){this.user=e,this.setup(t)}setup(e){this.type=e.type,this.name=e.name,this.id=e.id,this.revoked=e.revoked,this.integrations=e.integrations}}e.exports=i},function(e,t,i){const n=i(13),r=i(35);class s extends r{setup(e){super.setup(e),this.flags=e.flags,this.owner=new n(this.client,e.owner)}}e.exports=s},function(e,t){class i{constructor(e,t){this.client=e,Object.defineProperty(this,"client",{enumerable:!1,configurable:!1}),this.setup(t)}setup(e){this.id=e.id,this.name=e.name,this.description=e.description,this.icon=e.icon,this.iconURL=`https://cdn.discordapp.com/app-icons/${this.id}/${this.icon}.jpg`,this.rpcOrigins=e.rpc_origins}get createdTimestamp(){return this.id/4194304+14200704e5}get createdAt(){return new Date(this.createdTimestamp)}toString(){return this.name}}e.exports=i},function(e,t,i){const n=i(37);class r extends n{constructor(e,t){super(e,t),this.waiting=!1,this.endpoint=t,this.timeDifference=0}push(e){super.push(e),this.handle()}execute(e){return new Promise(t=>{e.request.gen().end((i,n)=>{if(n&&n.headers&&(this.requestLimit=n.headers["x-ratelimit-limit"],this.requestResetTime=1e3*Number(n.headers["x-ratelimit-reset"]),this.requestRemaining=Number(n.headers["x-ratelimit-remaining"]),this.timeDifference=Date.now()-new Date(n.headers.date).getTime()),i)429===i.status?(this.restManager.client.setTimeout(()=>{this.waiting=!1,this.globalLimit=!1,t()},Number(n.headers["retry-after"])+500),n.headers["x-ratelimit-global"]&&(this.globalLimit=!0)):(this.queue.shift(),this.waiting=!1,e.reject(i),t(i));else{this.queue.shift(),this.globalLimit=!1;const i=n&&n.body?n.body:{};e.resolve(i),0===this.requestRemaining?this.restManager.client.setTimeout(()=>{this.waiting=!1,t(i)},this.requestResetTime-Date.now()+this.timeDifference+1e3):(this.waiting=!1,t(i))}})})}handle(){if(super.handle(),!this.waiting&&0!==this.queue.length&&!this.globalLimit){this.waiting=!0;const e=this.queue[0];this.execute(e).then(()=>this.handle())}}}e.exports=r},function(e,t){class i{constructor(e){this.restManager=e,this.queue=[]}get globalLimit(){return this.restManager.globallyRateLimited}set globalLimit(e){this.restManager.globallyRateLimited=e}push(e){this.queue.push(e)}handle(){}}e.exports=i},function(e,t,i){const n=i(37);class r extends n{constructor(e,t){super(e,t),this.requestRemaining=1,this.first=!0}push(e){super.push(e),this.handle()}handleNext(e){this.waiting||(this.waiting=!0,this.restManager.client.setTimeout(()=>{this.requestRemaining=this.requestLimit,this.waiting=!1,this.handle()},e))}execute(e){e.request.gen().end((t,i)=>{if(i&&i.headers&&(this.requestLimit=i.headers["x-ratelimit-limit"],this.requestResetTime=1e3*Number(i.headers["x-ratelimit-reset"]),this.requestRemaining=Number(i.headers["x-ratelimit-remaining"]),this.timeDifference=Date.now()-new Date(i.headers.date).getTime(),this.handleNext(this.requestResetTime-Date.now()+this.timeDifference+1e3)),t)429===t.status?(this.requestRemaining=0,this.queue.unshift(e),this.restManager.client.setTimeout(()=>{this.globalLimit=!1,this.handle()},Number(i.headers["retry-after"])+500),i.headers["x-ratelimit-global"]&&(this.globalLimit=!0)):e.reject(t);else{this.globalLimit=!1;const t=i&&i.body?i.body:{};e.resolve(t),this.first&&(this.first=!1,this.handle())}})}handle(){if(super.handle(),!(this.requestRemaining<1||0===this.queue.length||this.globalLimit))for(;this.queue.length>0&&this.requestRemaining>0;)this.execute(this.queue.shift()),this.requestRemaining--}}e.exports=r},function(e,t,i){function n(e){let t=e.split("?")[0];if(t.includes("/channels/")||t.includes("/guilds/")){const e=~t.indexOf("/channels/")?t.indexOf("/channels/"):t.indexOf("/guilds/"),i=t.substring(e).split("/")[2];t=t.replace(/(\d{8,})/g,":id").replace(":id",i)}return t}const r=i(40),s=i(5);class o{constructor(e,t,i,r,s,o){this.rest=e,this.method=t,this.url=i,this.auth=r,this.data=s,this.file=o,this.route=n(this.url)}getAuth(){if(this.rest.client.token&&this.rest.client.user&&this.rest.client.user.bot)return`Bot ${this.rest.client.token}`;if(this.rest.client.token)return this.rest.client.token;throw new Error(s.Errors.NO_TOKEN)}gen(){const e=r[this.method](this.url);if(this.auth&&e.set("authorization",this.getAuth()),this.file&&this.file.file){e.attach("file",this.file.file,this.file.name),this.data=this.data||{};for(const t in this.data)this.data[t]&&e.field(t,this.data[t])}else this.data&&e.send(this.data);return e.set("User-Agent",this.rest.userAgentManager.userAgent),e}}e.exports=o},function(e,t,i){function n(){}function r(e){if(!m(e))return e;var t=[];for(var i in e)s(t,i,e[i]);return t.join("&")}function s(e,t,i){if(null!=i)if(Array.isArray(i))i.forEach(function(i){s(e,t,i)});else if(m(i))for(var n in i)s(e,t+"["+n+"]",i[n]);else e.push(encodeURIComponent(t)+"="+encodeURIComponent(i));else null===i&&e.push(encodeURIComponent(t))}function o(e){for(var t,i,n={},r=e.split("&"),s=0,o=r.length;s<o;++s)t=r[s],i=t.indexOf("="),i==-1?n[decodeURIComponent(t)]="":n[decodeURIComponent(t.slice(0,i))]=decodeURIComponent(t.slice(i+1));return n}function a(e){var t,i,n,r,s=e.split(/\r?\n/),o={};s.pop();for(var a=0,l=s.length;a<l;++a)i=s[a],t=i.indexOf(":"),n=i.slice(0,t).toLowerCase(),r=_(i.slice(t+1)),o[n]=r;return o}function l(e){return/[\/+]json\b/.test(e)}function f(e){return e.split(/ *; */).shift()}function h(e){return e.split(/ *; */).reduce(function(e,t){var i=t.split(/ *= */),n=i.shift(),r=i.shift();return n&&r&&(e[n]=r),e},{})}function u(e,t){t=t||{},this.req=e,this.xhr=this.req.xhr,this.text="HEAD"!=this.req.method&&(""===this.xhr.responseType||"text"===this.xhr.responseType)||"undefined"==typeof this.xhr.responseType?this.xhr.responseText:null,this.statusText=this.req.xhr.statusText,this._setStatusProperties(this.xhr.status),this.header=this.headers=a(this.xhr.getAllResponseHeaders()),this.header["content-type"]=this.xhr.getResponseHeader("content-type"),this._setHeaderProperties(this.header),this.body="HEAD"!=this.req.method?this._parseBody(this.text?this.text:this.xhr.response):null}function c(e,t){var i=this;this._query=this._query||[],this.method=e,this.url=t,this.header={},this._header={},this.on("end",function(){var e=null,t=null;try{t=new u(i)}catch(t){return e=new Error("Parser is unable to parse the response"),e.parse=!0,e.original=t,i.xhr?(e.rawResponse="undefined"==typeof i.xhr.responseType?i.xhr.responseText:i.xhr.response,e.statusCode=i.xhr.status?i.xhr.status:null):(e.rawResponse=null,e.statusCode=null),i.callback(e)}i.emit("response",t);var n;try{(t.status<200||t.status>=300)&&(n=new Error(t.statusText||"Unsuccessful HTTP response"),n.original=e,n.response=t,n.status=t.status)}catch(e){n=e}n?i.callback(n,t):i.callback(null,t)})}function d(e,t){var i=g("DELETE",e);return t&&i.end(t),i}var p;"undefined"!=typeof window?p=window:"undefined"!=typeof self?p=self:(console.warn("Using browser-only version of superagent in non-browser environment"),p=this);var b=i(41),w=i(42),m=i(43),g=e.exports=i(44).bind(null,c);g.getXHR=function(){if(!(!p.XMLHttpRequest||p.location&&"file:"==p.location.protocol&&p.ActiveXObject))return new XMLHttpRequest;try{return new ActiveXObject("Microsoft.XMLHTTP")}catch(e){}try{return new ActiveXObject("Msxml2.XMLHTTP.6.0")}catch(e){}try{return new ActiveXObject("Msxml2.XMLHTTP.3.0")}catch(e){}try{return new ActiveXObject("Msxml2.XMLHTTP")}catch(e){}throw Error("Browser-only verison of superagent could not find XHR")};var _="".trim?function(e){return e.trim()}:function(e){return e.replace(/(^\s*|\s*$)/g,"")};g.serializeObject=r,g.parseString=o,g.types={html:"text/html",json:"application/json",xml:"application/xml",urlencoded:"application/x-www-form-urlencoded",form:"application/x-www-form-urlencoded","form-data":"application/x-www-form-urlencoded"},g.serialize={"application/x-www-form-urlencoded":r,"application/json":JSON.stringify},g.parse={"application/x-www-form-urlencoded":o,"application/json":JSON.parse},u.prototype.get=function(e){return this.header[e.toLowerCase()]},u.prototype._setHeaderProperties=function(e){var t=this.header["content-type"]||"";this.type=f(t);var i=h(t);for(var n in i)this[n]=i[n]},u.prototype._parseBody=function(e){var t=g.parse[this.type];return!t&&l(this.type)&&(t=g.parse["application/json"]),t&&e&&(e.length||e instanceof Object)?t(e):null},u.prototype._setStatusProperties=function(e){1223===e&&(e=204);var t=e/100|0;this.status=this.statusCode=e,this.statusType=t,this.info=1==t,this.ok=2==t,this.clientError=4==t,this.serverError=5==t,this.error=(4==t||5==t)&&this.toError(),this.accepted=202==e,this.noContent=204==e,this.badRequest=400==e,this.unauthorized=401==e,this.notAcceptable=406==e,this.notFound=404==e,this.forbidden=403==e},u.prototype.toError=function(){var e=this.req,t=e.method,i=e.url,n="cannot "+t+" "+i+" ("+this.status+")",r=new Error(n);return r.status=this.status,r.method=t,r.url=i,r},g.Response=u,b(c.prototype),w(c.prototype),c.prototype.type=function(e){return this.set("Content-Type",g.types[e]||e),this},c.prototype.responseType=function(e){return this._responseType=e,this},c.prototype.accept=function(e){return this.set("Accept",g.types[e]||e),this},c.prototype.auth=function(e,t,i){switch(i||(i={type:"basic"}),i.type){case"basic":var n=btoa(e+":"+t);this.set("Authorization","Basic "+n);break;case"auto":this.username=e,this.password=t}return this},c.prototype.query=function(e){return"string"!=typeof e&&(e=r(e)),e&&this._query.push(e),this},c.prototype.attach=function(e,t,i){if(this._data)throw Error("superagent can't mix .send() and .attach()");return this._getFormData().append(e,t,i||t.name),this},c.prototype._getFormData=function(){return this._formData||(this._formData=new p.FormData),this._formData},c.prototype.callback=function(e,t){var i=this._callback;this.clearTimeout(),e&&this.emit("error",e),i(e,t)},c.prototype.crossDomainError=function(){var e=new Error("Request has been terminated\nPossible causes: the network is offline, Origin is not allowed by Access-Control-Allow-Origin, the page is being unloaded, etc.");e.crossDomain=!0,e.status=this.status,e.method=this.method,e.url=this.url,this.callback(e)},c.prototype.buffer=c.prototype.ca=c.prototype.agent=function(){return console.warn("This is not supported in browser version of superagent"),this},c.prototype.pipe=c.prototype.write=function(){throw Error("Streaming is not supported in browser version of superagent")},c.prototype._timeoutError=function(){var e=this._timeout,t=new Error("timeout of "+e+"ms exceeded");t.timeout=e,this.callback(t)},c.prototype._appendQueryString=function(){var e=this._query.join("&");e&&(this.url+=~this.url.indexOf("?")?"&"+e:"?"+e)},c.prototype._isHost=function(e){return e&&"object"==typeof e&&!Array.isArray(e)&&"[object Object]"!==Object.prototype.toString.call(e)},c.prototype.end=function(e){var t=this,i=this.xhr=g.getXHR(),r=this._timeout,s=this._formData||this._data;this._callback=e||n,i.onreadystatechange=function(){if(4==i.readyState){var e;try{e=i.status}catch(t){e=0}if(0==e){if(t.timedout)return t._timeoutError();if(t._aborted)return;return t.crossDomainError()}t.emit("end")}};var o=function(e,i){i.total>0&&(i.percent=i.loaded/i.total*100),i.direction=e,t.emit("progress",i)};if(this.hasListeners("progress"))try{i.onprogress=o.bind(null,"download"),i.upload&&(i.upload.onprogress=o.bind(null,"upload"))}catch(e){}if(r&&!this._timer&&(this._timer=setTimeout(function(){t.timedout=!0,t.abort()},r)),this._appendQueryString(),this.username&&this.password?i.open(this.method,this.url,!0,this.username,this.password):i.open(this.method,this.url,!0),this._withCredentials&&(i.withCredentials=!0),"GET"!=this.method&&"HEAD"!=this.method&&"string"!=typeof s&&!this._isHost(s)){var a=this._header["content-type"],f=this._serializer||g.serialize[a?a.split(";")[0]:""];!f&&l(a)&&(f=g.serialize["application/json"]),f&&(s=f(s))}for(var h in this.header)null!=this.header[h]&&i.setRequestHeader(h,this.header[h]);return this._responseType&&(i.responseType=this._responseType),this.emit("request",this),i.send("undefined"!=typeof s?s:null),this},g.Request=c,g.get=function(e,t,i){var n=g("GET",e);return"function"==typeof t&&(i=t,t=null),t&&n.query(t),i&&n.end(i),n},g.head=function(e,t,i){var n=g("HEAD",e);return"function"==typeof t&&(i=t,t=null),t&&n.send(t),i&&n.end(i),n},g.options=function(e,t,i){var n=g("OPTIONS",e);return"function"==typeof t&&(i=t,t=null),t&&n.send(t),i&&n.end(i),n},g.del=d,g.delete=d,g.patch=function(e,t,i){var n=g("PATCH",e);return"function"==typeof t&&(i=t,t=null),t&&n.send(t),i&&n.end(i),n},g.post=function(e,t,i){var n=g("POST",e);return"function"==typeof t&&(i=t,t=null),t&&n.send(t),i&&n.end(i),n},g.put=function(e,t,i){var n=g("PUT",e);return"function"==typeof t&&(i=t,t=null),t&&n.send(t),i&&n.end(i),n}},function(e,t,i){function n(e){if(e)return r(e)}function r(e){for(var t in n.prototype)e[t]=n.prototype[t];return e}e.exports=n,n.prototype.on=n.prototype.addEventListener=function(e,t){return this._callbacks=this._callbacks||{},(this._callbacks["$"+e]=this._callbacks["$"+e]||[]).push(t),this},n.prototype.once=function(e,t){function i(){this.off(e,i),t.apply(this,arguments)}return i.fn=t,this.on(e,i),this},n.prototype.off=n.prototype.removeListener=n.prototype.removeAllListeners=n.prototype.removeEventListener=function(e,t){if(this._callbacks=this._callbacks||{},0==arguments.length)return this._callbacks={},this;var i=this._callbacks["$"+e];if(!i)return this;if(1==arguments.length)return delete this._callbacks["$"+e],this;for(var n,r=0;r<i.length;r++)if(n=i[r],n===t||n.fn===t){i.splice(r,1);break}return this},n.prototype.emit=function(e){this._callbacks=this._callbacks||{};var t=[].slice.call(arguments,1),i=this._callbacks["$"+e];if(i){i=i.slice(0);for(var n=0,r=i.length;n<r;++n)i[n].apply(this,t)}return this},n.prototype.listeners=function(e){return this._callbacks=this._callbacks||{},this._callbacks["$"+e]||[]},n.prototype.hasListeners=function(e){return!!this.listeners(e).length}},function(e,t,i){function n(e){if(e)return r(e)}function r(e){for(var t in n.prototype)e[t]=n.prototype[t];return e}var s=i(43);e.exports=n,n.prototype.clearTimeout=function(){return this._timeout=0,clearTimeout(this._timer),this},n.prototype.parse=function(e){return this._parser=e,this},n.prototype.serialize=function(e){return this._serializer=e,this},n.prototype.timeout=function(e){return this._timeout=e,this},n.prototype.then=function(e,t){if(!this._fullfilledPromise){var i=this;this._fullfilledPromise=new Promise(function(e,t){i.end(function(i,n){i?t(i):e(n)})})}return this._fullfilledPromise.then(e,t)},n.prototype.catch=function(e){return this.then(void 0,e)},n.prototype.use=function(e){return e(this),this},n.prototype.get=function(e){return this._header[e.toLowerCase()]},n.prototype.getHeader=n.prototype.get,n.prototype.set=function(e,t){if(s(e)){for(var i in e)this.set(i,e[i]);return this}return this._header[e.toLowerCase()]=t,this.header[e]=t,this},n.prototype.unset=function(e){return delete this._header[e.toLowerCase()],delete this.header[e],this},n.prototype.field=function(e,t){if(null===e||void 0===e)throw new Error(".field(name, val) name can not be empty");if(s(e)){for(var i in e)this.field(i,e[i]);return this}if(null===t||void 0===t)throw new Error(".field(name, val) val can not be empty");return this._getFormData().append(e,t),this},n.prototype.abort=function(){return this._aborted?this:(this._aborted=!0,this.xhr&&this.xhr.abort(),this.req&&this.req.abort(),this.clearTimeout(),this.emit("abort"),this)},n.prototype.withCredentials=function(){return this._withCredentials=!0,this},n.prototype.redirects=function(e){return this._maxRedirects=e,this},n.prototype.toJSON=function(){return{method:this.method,url:this.url,data:this._data,headers:this._header}},n.prototype.send=function(e){var t=s(e),i=this._header["content-type"];if(t&&!this._data)Array.isArray(e)?this._data=[]:this._isHost(e)||(this._data={});else if(e&&this._data&&this._isHost(this._data))throw Error("Can't merge these send calls");if(t&&s(this._data))for(var n in e)this._data[n]=e[n];else"string"==typeof e?(i||this.type("form"),i=this._header["content-type"],"application/x-www-form-urlencoded"==i?this._data=this._data?this._data+"&"+e:e:this._data=(this._data||"")+e):this._data=e;return!t||this._isHost(e)?this:(i||this.type("json"),this)}},function(e,t){function i(e){return null!==e&&"object"==typeof e}e.exports=i},function(e,t){function i(e,t,i){return"function"==typeof i?new e("GET",t).end(i):2==arguments.length?new e("GET",t):new e(t,i)}e.exports=i},function(e,t,i){const n=i(5),r=i(46),s=i(47),o=i(13),a=i(49),l=i(21),f=i(51),h=i(54),u=i(52),c=i(55);class d{constructor(e){this.client=e}get pastReady(){return this.client.ws.status===n.Status.READY}newGuild(e){const t=this.client.guilds.has(e.id),i=new s(this.client,e);return this.client.guilds.set(i.id,i),this.pastReady&&!t&&(this.client.options.fetchAllMembers?i.fetchMembers().then(()=>{this.client.emit(n.Events.GUILD_CREATE,i)}):this.client.emit(n.Events.GUILD_CREATE,i)),i}newUser(e){if(this.client.users.has(e.id))return this.client.users.get(e.id);const t=new o(this.client,e);return this.client.users.set(t.id,t),t}newChannel(e,t){const i=this.client.channels.has(e.id);let r;return e.type===n.ChannelTypes.DM?r=new a(this.client,e):e.type===n.ChannelTypes.groupDM?r=new c(this.client,e):(t=t||this.client.guilds.get(e.guild_id),t&&(e.type===n.ChannelTypes.text?(r=new f(t,e),t.channels.set(r.id,r)):e.type===n.ChannelTypes.voice&&(r=new h(t,e),t.channels.set(r.id,r)))),r?(this.pastReady&&!i&&this.client.emit(n.Events.CHANNEL_CREATE,r),this.client.channels.set(r.id,r),r):null}newEmoji(e,t){const i=t.emojis.has(e.id);if(e&&!i){let i=new l(t,e);return this.client.emit(n.Events.EMOJI_CREATE,i),t.emojis.set(i.id,i),i}return i?t.emojis.get(e.id):null}killEmoji(e){e instanceof l&&e.guild&&(this.client.emit(n.Events.EMOJI_DELETE,e),e.guild.emojis.delete(e.id))}killGuild(e){const t=this.client.guilds.has(e.id);this.client.guilds.delete(e.id),t&&this.pastReady&&this.client.emit(n.Events.GUILD_DELETE,e)}killUser(e){this.client.users.delete(e.id)}killChannel(e){this.client.channels.delete(e.id),e instanceof u&&e.guild.channels.delete(e.id)}updateGuild(e,t){const i=r(e);e.setup(t),this.pastReady&&this.client.emit(n.Events.GUILD_UPDATE,i,e)}updateChannel(e,t){e.setup(t)}updateEmoji(e,t){const i=r(e);e.setup(t),this.client.emit(n.Events.GUILD_EMOJI_UPDATE,i,e)}}e.exports=d},function(e,t){e.exports=function(e){const t=Object.create(e);return Object.assign(t,e),t}},function(e,t,i){const n=i(13),r=i(26),s=i(21),o=i(24).Presence,a=i(25),l=i(5),f=i(10),h=i(46),u=i(48);class c{constructor(e,t){this.client=e,Object.defineProperty(this,"client",{enumerable:!1,configurable:!1}),this.members=new f,this.channels=new f,this.roles=new f,t&&(t.unavailable?(this.available=!1,this.id=t.id):(this.available=!0,this.setup(t)))}setup(e){this.name=e.name,this.icon=e.icon,this.splash=e.splash,this.region=e.region,this.memberCount=e.member_count||this.memberCount,this.large=e.large||this.large,this.presences=new f,this.features=e.features,this.emojis=new f;for(const t of e.emojis)this.emojis.set(t.id,new s(this,t));if(this.afkTimeout=e.afk_timeout,this.afkChannelID=e.afk_channel_id,this.embedEnabled=e.embed_enabled,this.verificationLevel=e.verification_level,this.joinedTimestamp=e.joined_at?new Date(e.joined_at).getTime():this.joinedTimestamp,this.id=e.id,this.available=!e.unavailable,this.features=e.features||this.features||[],e.members){this.members.clear();for(const t of e.members)this._addMember(t,!1)}if(e.owner_id&&(this.ownerID=e.owner_id),e.channels){this.channels.clear();for(const t of e.channels)this.client.dataManager.newChannel(t,this)}if(e.roles){this.roles.clear();for(const t of e.roles){const e=new r(this,t);this.roles.set(e.id,e)}}if(e.presences)for(const i of e.presences)this._setPresence(i.user.id,i);if(this._rawVoiceStates=new f,e.voice_states)for(const n of e.voice_states){this._rawVoiceStates.set(n.user_id,n);const e=this.members.get(n.user_id);e&&(e.serverMute=n.mute,e.serverDeaf=n.deaf,e.selfMute=n.self_mute,e.selfDeaf=n.self_deaf,e.voiceSessionID=n.session_id,e.voiceChannelID=n.channel_id,this.channels.get(n.channel_id).members.set(e.user.id,e))}}get createdTimestamp(){return this.id/4194304+14200704e5}get createdAt(){return new Date(this.createdTimestamp)}get joinedAt(){return new Date(this.joinedTimestamp)}get iconURL(){return this.icon?l.Endpoints.guildIcon(this.id,this.icon):null}get owner(){return this.members.get(this.ownerID)}get voiceConnection(){return this.client.voice.connections.get(this.id)||null}get defaultChannel(){return this.channels.get(this.id)}member(e){return this.client.resolver.resolveGuildMember(this,e)}fetchBans(){return this.client.rest.methods.getGuildBans(this)}fetchInvites(){return this.client.rest.methods.getGuildInvites(this)}fetchWebhooks(){return this.client.rest.methods.getGuildWebhooks(this)}fetchMember(e){return this._fetchWaiter?Promise.reject(new Error("Already fetching guild members.")):(e=this.client.resolver.resolveUser(e),e?this.members.has(e.id)?Promise.resolve(this.members.get(e.id)):this.client.rest.methods.getGuildMember(this,e):Promise.reject(new Error("User is not cached. Use Client.fetchUser first.")))}fetchMembers(e=""){return new Promise((t,i)=>{if(this._fetchWaiter)throw new Error("Already fetching guild members in ${this.id}.");return this.memberCount===this.members.size?void t(this):(this._fetchWaiter=t,this.client.ws.send({op:l.OPCodes.REQUEST_GUILD_MEMBERS,d:{guild_id:this.id,query:e,limit:0}}),this._checkChunks(),void this.client.setTimeout(()=>i(new Error("Members didn't arrive in time.")),12e4))})}edit(e){return this.client.rest.methods.updateGuild(this,e)}setName(e){return this.edit({name:e})}setRegion(e){return this.edit({region:e})}setVerificationLevel(e){return this.edit({verificationLevel:e})}setAFKChannel(e){return this.edit({afkChannel:e})}setAFKTimeout(e){return this.edit({afkTimeout:e})}setIcon(e){return this.edit({icon:e})}setOwner(e){return this.edit({owner:e})}setSplash(e){return this.edit({splash:e})}ban(e,t=0){return this.client.rest.methods.banGuildMember(this,e,t)}unban(e){return this.client.rest.methods.unbanGuildMember(this,e)}pruneMembers(e,t=false){if("number"!=typeof e)throw new TypeError("Days must be a number.");return this.client.rest.methods.pruneGuildMembers(this,e,t)}sync(){this.client.user.bot||this.client.syncGuilds([this])}createChannel(e,t){return this.client.rest.methods.createChannel(this,e,t)}createRole(e){const t=this.client.rest.methods.createGuildRole(this);return e?t.then(t=>t.edit(e)):t}createEmoji(e,t){return new Promise(i=>{e.startsWith("data:")?i(this.client.rest.methods.createEmoji(this,e,t)):this.client.resolver.resolveBuffer(e).then(e=>i(this.client.rest.methods.createEmoji(this,e,t)))})}deleteEmoji(e){return e instanceof s||(e=this.emojis.get(e)),this.client.rest.methods.deleteEmoji(e)}leave(){return this.client.rest.methods.leaveGuild(this)}delete(){return this.client.rest.methods.deleteGuild(this)}setRolePosition(e,t){if(e instanceof r)e=e.id;else if("string"!=typeof e)return Promise.reject(new Error("Supplied role is not a role or string"));if(t=Number(t),isNaN(t))return Promise.reject(new Error("Supplied position is not a number"));const i=this.roles.array().map(i=>({id:i.id,position:i.id===e?t:i.position<t?i.position:i.position+1}));return this.client.rest.methods.setRolePositions(this.id,i)}equals(e){let t=e&&this.id===e.id&&this.available===!e.unavailable&&this.splash===e.splash&&this.region===e.region&&this.name===e.name&&this.memberCount===e.member_count&&this.large===e.large&&this.icon===e.icon&&u(this.features,e.features)&&this.ownerID===e.owner_id&&this.verificationLevel===e.verification_level&&this.embedEnabled===e.embed_enabled;return t&&(this.embedChannel?this.embedChannel.id!==e.embed_channel_id&&(t=!1):e.embed_channel_id&&(t=!1)),t}toString(){return this.name}_addMember(e,t=true){const i=this.members.has(e.user.id);e.user instanceof n||(e.user=this.client.dataManager.newUser(e.user)),e.joined_at=e.joined_at||0;const r=new a(this,e);if(this.members.set(r.id,r),this._rawVoiceStates&&this._rawVoiceStates.get(r.user.id)){const e=this._rawVoiceStates.get(r.user.id);r.serverMute=e.mute,r.serverDeaf=e.deaf,r.selfMute=e.self_mute,r.selfDeaf=e.self_deaf,r.voiceSessionID=e.session_id,r.voiceChannelID=e.channel_id,this.channels.get(e.channel_id).members.set(r.user.id,r)}return this.client.ws.status===l.Status.READY&&t&&!i&&this.client.emit(l.Events.GUILD_MEMBER_ADD,r),this._checkChunks(),r}_updateMember(e,t){const i=h(e);t.roles&&(e._roles=t.roles),"undefined"!=typeof t.nick&&(e.nickname=t.nick);const n=e.nickname!==i.nickname||!u(e._roles,i._roles);return this.client.ws.status===l.Status.READY&&n&&this.client.emit(l.Events.GUILD_MEMBER_UPDATE,i,e),{old:i,mem:e}}_removeMember(e){this.members.delete(e.id),this._checkChunks()}_memberSpeakUpdate(e,t){const i=this.members.get(e);i&&i.speaking!==t&&(i.speaking=t,this.client.emit(l.Events.GUILD_MEMBER_SPEAKING,i,t))}_setPresence(e,t){return this.presences.get(e)?void this.presences.get(e).update(t):void this.presences.set(e,new o(t))}_checkChunks(){this._fetchWaiter&&this.members.size===this.memberCount&&(this._fetchWaiter(this),this._fetchWaiter=null)}}e.exports=c},function(e,t){e.exports=function(e,t){if(e===t)return!0;if(e.length!==t.length)return!1;for(const i in e){const n=e[i],r=t.indexOf(n);r&&t.splice(r,1)}return 0===t.length}},function(e,t,i){const n=i(50),r=i(14),s=i(10);class o extends n{constructor(e,t){super(e,t),this.type="dm",this.messages=new s,this._typing=new Map}setup(e){super.setup(e),this.recipient=this.client.dataManager.newUser(e.recipients[0]),this.lastMessageID=e.last_message_id}toString(){return this.recipient.toString()}sendMessage(){}sendTTSMessage(){}sendFile(){}sendCode(){}fetchMessage(){}fetchMessages(){}fetchPinnedMessages(){}startTyping(){}stopTyping(){}get typing(){}get typingCount(){}createCollector(){}awaitMessages(){}bulkDelete(){}_cacheMessage(){}}r.applyToClass(o,!0),e.exports=o},function(e,t){class i{constructor(e,t){this.client=e,Object.defineProperty(this,"client",{enumerable:!1,configurable:!1}),this.type=null,t&&this.setup(t)}setup(e){this.id=e.id}get createdTimestamp(){return this.id/4194304+14200704e5}get createdAt(){return new Date(this.createdTimestamp)}delete(){return this.client.rest.methods.deleteChannel(this)}}e.exports=i},function(e,t,i){const n=i(52),r=i(14),s=i(10);class o extends n{constructor(e,t){super(e,t),this.type="text",this.messages=new s,this._typing=new Map}setup(e){super.setup(e),this.topic=e.topic,this.lastMessageID=e.last_message_id}get members(){const e=new s;for(const t of this.guild.members.values())this.permissionsFor(t).hasPermission("READ_MESSAGES")&&e.set(t.id,t);return e}fetchWebhooks(){return this.client.rest.methods.getChannelWebhooks(this)}createWebhook(e,t){return new Promise(i=>{t.startsWith("data:")?i(this.client.rest.methods.createWebhook(this,e,t)):this.client.resolver.resolveBuffer(t).then(t=>i(this.client.rest.methods.createWebhook(this,e,t)))})}sendMessage(){}sendTTSMessage(){}sendFile(){}sendCode(){}fetchMessage(){}fetchMessages(){}fetchPinnedMessages(){}startTyping(){}stopTyping(){}get typing(){}get typingCount(){}createCollector(){}awaitMessages(){}bulkDelete(){}_cacheMessage(){}}r.applyToClass(o,!0),e.exports=o},function(e,t,i){const n=i(50),r=i(26),s=i(53),o=i(27),a=i(5),l=i(10),f=i(48);class h extends n{constructor(e,t){super(e.client,t),this.guild=e}setup(e){if(super.setup(e),this.name=e.name,this.position=e.position,this.permissionOverwrites=new l,e.permission_overwrites)for(const t of e.permission_overwrites)this.permissionOverwrites.set(t.id,new s(this,t))}permissionsFor(e){if(e=this.client.resolver.resolveGuildMember(this.guild,e),!e)return null;if(e.id===this.guild.ownerID)return new o(e,a.ALL_PERMISSIONS);let t=0;const i=e.roles;for(const n of i.values())t|=n.permissions;const r=this.overwritesFor(e,!0,i);for(const s of r.role.concat(r.member))t&=~s.denyData,t|=s.allowData;const l=Boolean(t&a.PermissionFlags.ADMINISTRATOR);return l&&(t=a.ALL_PERMISSIONS),new o(e,t)}overwritesFor(e,t=false,i=null){if(t||(e=this.client.resolver.resolveGuildMember(this.guild,e)),!e)return[];i=i||e.roles;const n=[],r=[];for(const s of this.permissionOverwrites.values())s.id===e.id?r.push(s):i.has(s.id)&&n.push(s);return{role:n,member:r}}overwritePermissions(e,t){const i={allow:0,deny:0};if(e instanceof r)i.type="role";else if(this.guild.roles.has(e))e=this.guild.roles.get(e),i.type="role";else if(e=this.client.resolver.resolveUser(e),i.type="member",!e)return Promise.reject(new TypeError("Supplied parameter was neither a User nor a Role."));i.id=e.id;const n=this.permissionOverwrites.get(e.id);n&&(i.allow=n.allowData,i.deny=n.denyData);for(const s in t)t[s]===!0?(i.allow|=a.PermissionFlags[s]||0,i.deny&=~(a.PermissionFlags[s]||0)):t[s]===!1?(i.allow&=~(a.PermissionFlags[s]||0),i.deny|=a.PermissionFlags[s]||0):null===t[s]&&(i.allow&=~(a.PermissionFlags[s]||0),i.deny&=~(a.PermissionFlags[s]||0));return this.client.rest.methods.setChannelOverwrite(this,i)}edit(e){return this.client.rest.methods.updateChannel(this,e)}setName(e){return this.edit({name:e})}setPosition(e){return this.client.rest.methods.updateChannel(this,{position:e})}setTopic(e){return this.client.rest.methods.updateChannel(this,{topic:e})}createInvite(e={}){return this.client.rest.methods.createChannelInvite(this,e)}equals(e){let t=e&&this.id===e.id&&this.type===e.type&&this.topic===e.topic&&this.position===e.position&&this.name===e.name;if(t)if(this.permissionOverwrites&&e.permissionOverwrites){const i=this.permissionOverwrites.keyArray(),n=e.permissionOverwrites.keyArray();t=f(i,n)}else t=!this.permissionOverwrites&&!e.permissionOverwrites;return t}toString(){return`<#${this.id}>`}}e.exports=h},function(e,t){class i{constructor(e,t){this.channel=e,t&&this.setup(t)}setup(e){this.id=e.id,this.type=e.type,this.denyData=e.deny,this.allowData=e.allow}delete(){return this.channel.client.rest.methods.deletePermissionOverwrites(this)}}e.exports=i},function(e,t,i){const n=i(52),r=i(10);class s extends n{constructor(e,t){super(e,t),this.members=new r,this.type="voice"}setup(e){super.setup(e),this.bitrate=e.bitrate,this.userLimit=e.user_limit}get connection(){const e=this.guild.voiceConnection;return e&&e.channel.id===this.id?e:null}get joinable(){return this.permissionsFor(this.client.user).hasPermission("CONNECT")}get speakable(){return this.permissionsFor(this.client.user).hasPermission("SPEAK")}setBitrate(e){return this.edit({bitrate:e})}setUserLimit(e){return this.edit({userLimit:e})}join(){return this.client.voice.joinChannel(this)}leave(){const e=this.client.voice.connections.get(this.guild.id);e&&e.channel.id===this.id&&e.disconnect()}}e.exports=s},function(e,t,i){const n=i(50),r=i(14),s=i(10),o=i(48);class a extends n{constructor(e,t){super(e,t),this.type="group",this.messages=new s,this._typing=new Map}setup(e){if(super.setup(e),this.name=e.name,this.icon=e.icon,this.ownerID=e.owner_id,this.recipients||(this.recipients=new s),e.recipients)for(const t of e.recipients){const e=this.client.dataManager.newUser(t);
this.recipients.set(e.id,e)}this.lastMessageID=e.last_message_id}get owner(){return this.client.users.get(this.ownerID)}equals(e){const t=e&&this.id===e.id&&this.name===e.name&&this.icon===e.icon&&this.ownerID===e.ownerID;if(t){const t=this.recipients.keyArray(),i=e.recipients.keyArray();return o(t,i)}return t}toString(){return this.name}sendMessage(){}sendTTSMessage(){}sendFile(){}sendCode(){}fetchMessage(){}fetchMessages(){}fetchPinnedMessages(){}startTyping(){}stopTyping(){}get typing(){}get typingCount(){}createCollector(){}awaitMessages(){}bulkDelete(){}_cacheMessage(){}}r.applyToClass(a,!0),e.exports=a},function(e,t,i){const n=i(5);class r{constructor(e){this.client=e,this.heartbeatInterval=null}connectToWebSocket(e,t,i){this.client.emit(n.Events.DEBUG,`Authenticated using token ${e}`),this.client.token=e;const r=this.client.setTimeout(()=>i(new Error(n.Errors.TOOK_TOO_LONG)),3e5);this.client.rest.methods.getGateway().then(s=>{this.client.emit(n.Events.DEBUG,`Using gateway ${s}`),this.client.ws.connect(s),this.client.ws.once("close",e=>{4004===e.code&&i(new Error(n.Errors.BAD_LOGIN)),4010===e.code&&i(new Error(n.Errors.INVALID_SHARD))}),this.client.once(n.Events.READY,()=>{t(e),this.client.clearTimeout(r)})},i)}setupKeepAlive(e){this.heartbeatInterval=this.client.setInterval(()=>{this.client.emit("debug","Sending heartbeat"),this.client.ws.send({op:n.OPCodes.HEARTBEAT,d:this.client.ws.sequence},!0)},e)}destroy(){return new Promise(e=>{this.client.ws.destroy(),this.client.user.bot?e():e(this.client.rest.methods.logout())})}}e.exports=r},function(e,t,i){(function(t){const n=i(15),r=i(62),s=i(40),o=i(5),a=i(63),l=i(13),f=i(16),h=i(47),u=i(50),c=i(25),d=i(21),p=i(22);class b{constructor(e){this.client=e}resolveUser(e){return e instanceof l?e:"string"==typeof e?this.client.users.get(e)||null:e instanceof c?e.user:e instanceof f?e.author:e instanceof h?e.owner:null}resolveUserID(e){return e instanceof l||e instanceof c?e.id:"string"==typeof e?e||null:e instanceof f?e.author.id:e instanceof h?e.ownerID:null}resolveGuild(e){return e instanceof h?e:"string"==typeof e?this.client.guilds.get(e)||null:null}resolveGuildMember(e,t){return t instanceof c?t:(e=this.resolveGuild(e),t=this.resolveUser(t),e&&t?e.members.get(t.id)||null:null)}resolveChannel(e){return e instanceof u?e:e instanceof f?e.channel:e instanceof h?e.channels.get(e.id)||null:"string"==typeof e?this.client.channels.get(e)||null:null}resolveInviteCode(e){const t=/discord(?:app)?\.(?:gg|com\/invite)\/([a-z0-9]{5})/i,i=t.exec(e);return i&&i[1]?i[1]:e}resolvePermission(e){if("string"==typeof e&&(e=o.PermissionFlags[e]),"number"!=typeof e||e<1)throw new Error(o.Errors.NOT_A_PERMISSION);return e}resolveString(e){return"string"==typeof e?e:e instanceof Array?e.join("\n"):String(e)}resolveBase64(e){return e instanceof t?`data:image/jpg;base64,${e.toString("base64")}`:e}resolveBuffer(e){return e instanceof t?Promise.resolve(e):this.client.browser&&e instanceof ArrayBuffer?Promise.resolve(a(e)):"string"==typeof e?new Promise((i,o)=>{if(/^https?:\/\//.test(e)){const n=s.get(e).set("Content-Type","blob");this.client.browser&&n.responseType("arraybuffer"),n.end((e,n)=>{return e?o(e):this.client.browser?i(a(n.xhr.response)):n.body instanceof t?i(n.body):o(new TypeError("Body is not a Buffer"))})}else{const t=n.resolve(e);r.stat(t,(e,n)=>{if(e&&o(e),!n||!n.isFile())throw new Error(`The file could not be found: ${t}`);r.readFile(t,(e,t)=>{e?o(e):i(t)})})}}):Promise.reject(new TypeError("The resource must be a string or Buffer."))}resolveEmojiIdentifier(e){return e instanceof d||e instanceof p?e.identifier:"string"!=typeof e||e.includes("%")?null:encodeURIComponent(e)}}e.exports=b}).call(t,i(58).Buffer)},function(e,t,i){(function(e,n){/*!
* The buffer module from node.js, for the browser.
*
* @author Feross Aboukhadijeh <feross@feross.org> <http://feross.org>
* @license MIT
*/
"use strict";function r(){try{var e=new Uint8Array(1);return e.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===e.foo()&&"function"==typeof e.subarray&&0===e.subarray(1,1).byteLength}catch(e){return!1}}function s(){return e.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function o(t,i){if(s()<i)throw new RangeError("Invalid typed array length");return e.TYPED_ARRAY_SUPPORT?(t=new Uint8Array(i),t.__proto__=e.prototype):(null===t&&(t=new e(i)),t.length=i),t}function e(t,i,n){if(!(e.TYPED_ARRAY_SUPPORT||this instanceof e))return new e(t,i,n);if("number"==typeof t){if("string"==typeof i)throw new Error("If encoding is specified then the first argument must be a string");return h(this,t)}return a(this,t,i,n)}function a(e,t,i,n){if("number"==typeof t)throw new TypeError('"value" argument must not be a number');return"undefined"!=typeof ArrayBuffer&&t instanceof ArrayBuffer?d(e,t,i,n):"string"==typeof t?u(e,t,i):p(e,t)}function l(e){if("number"!=typeof e)throw new TypeError('"size" argument must be a number');if(e<0)throw new RangeError('"size" argument must not be negative')}function f(e,t,i,n){return l(t),t<=0?o(e,t):void 0!==i?"string"==typeof n?o(e,t).fill(i,n):o(e,t).fill(i):o(e,t)}function h(t,i){if(l(i),t=o(t,i<0?0:0|b(i)),!e.TYPED_ARRAY_SUPPORT)for(var n=0;n<i;++n)t[n]=0;return t}function u(t,i,n){if("string"==typeof n&&""!==n||(n="utf8"),!e.isEncoding(n))throw new TypeError('"encoding" must be a valid string encoding');var r=0|m(i,n);t=o(t,r);var s=t.write(i,n);return s!==r&&(t=t.slice(0,s)),t}function c(e,t){var i=t.length<0?0:0|b(t.length);e=o(e,i);for(var n=0;n<i;n+=1)e[n]=255&t[n];return e}function d(t,i,n,r){if(i.byteLength,n<0||i.byteLength<n)throw new RangeError("'offset' is out of bounds");if(i.byteLength<n+(r||0))throw new RangeError("'length' is out of bounds");return i=void 0===n&&void 0===r?new Uint8Array(i):void 0===r?new Uint8Array(i,n):new Uint8Array(i,n,r),e.TYPED_ARRAY_SUPPORT?(t=i,t.__proto__=e.prototype):t=c(t,i),t}function p(t,i){if(e.isBuffer(i)){var n=0|b(i.length);return t=o(t,n),0===t.length?t:(i.copy(t,0,0,n),t)}if(i){if("undefined"!=typeof ArrayBuffer&&i.buffer instanceof ArrayBuffer||"length"in i)return"number"!=typeof i.length||K(i.length)?o(t,0):c(t,i);if("Buffer"===i.type&&Q(i.data))return c(t,i.data)}throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}function b(e){if(e>=s())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+s().toString(16)+" bytes");return 0|e}function w(t){return+t!=t&&(t=0),e.alloc(+t)}function m(t,i){if(e.isBuffer(t))return t.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(t)||t instanceof ArrayBuffer))return t.byteLength;"string"!=typeof t&&(t=""+t);var n=t.length;if(0===n)return 0;for(var r=!1;;)switch(i){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":case void 0:return W(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return Z(t).length;default:if(r)return W(t).length;i=(""+i).toLowerCase(),r=!0}}function g(e,t,i){var n=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===i||i>this.length)&&(i=this.length),i<=0)return"";if(i>>>=0,t>>>=0,i<=t)return"";for(e||(e="utf8");;)switch(e){case"hex":return O(this,t,i);case"utf8":case"utf-8":return C(this,t,i);case"ascii":return x(this,t,i);case"latin1":case"binary":return I(this,t,i);case"base64":return R(this,t,i);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return N(this,t,i);default:if(n)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),n=!0}}function _(e,t,i){var n=e[t];e[t]=e[i],e[i]=n}function v(t,i,n,r,s){if(0===t.length)return-1;if("string"==typeof n?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,isNaN(n)&&(n=s?0:t.length-1),n<0&&(n=t.length+n),n>=t.length){if(s)return-1;n=t.length-1}else if(n<0){if(!s)return-1;n=0}if("string"==typeof i&&(i=e.from(i,r)),e.isBuffer(i))return 0===i.length?-1:k(t,i,n,r,s);if("number"==typeof i)return i&=255,e.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?s?Uint8Array.prototype.indexOf.call(t,i,n):Uint8Array.prototype.lastIndexOf.call(t,i,n):k(t,[i],n,r,s);throw new TypeError("val must be string, number or Buffer")}function k(e,t,i,n,r){function s(e,t){return 1===o?e[t]:e.readUInt16BE(t*o)}var o=1,a=e.length,l=t.length;if(void 0!==n&&(n=String(n).toLowerCase(),"ucs2"===n||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(e.length<2||t.length<2)return-1;o=2,a/=2,l/=2,i/=2}var f;if(r){var h=-1;for(f=i;f<a;f++)if(s(e,f)===s(t,h===-1?0:f-h)){if(h===-1&&(h=f),f-h+1===l)return h*o}else h!==-1&&(f-=f-h),h=-1}else for(i+l>a&&(i=a-l),f=i;f>=0;f--){for(var u=!0,c=0;c<l;c++)if(s(e,f+c)!==s(t,c)){u=!1;break}if(u)return f}return-1}function y(e,t,i,n){i=Number(i)||0;var r=e.length-i;n?(n=Number(n),n>r&&(n=r)):n=r;var s=t.length;if(s%2!==0)throw new TypeError("Invalid hex string");n>s/2&&(n=s/2);for(var o=0;o<n;++o){var a=parseInt(t.substr(2*o,2),16);if(isNaN(a))return o;e[i+o]=a}return o}function E(e,t,i,n){return $(W(t,e.length-i),e,i,n)}function A(e,t,i,n){return $(V(t),e,i,n)}function T(e,t,i,n){return A(e,t,i,n)}function S(e,t,i,n){return $(Z(t),e,i,n)}function M(e,t,i,n){return $(Y(t,e.length-i),e,i,n)}function R(e,t,i){return 0===t&&i===e.length?X.fromByteArray(e):X.fromByteArray(e.slice(t,i))}function C(e,t,i){i=Math.min(e.length,i);for(var n=[],r=t;r<i;){var s=e[r],o=null,a=s>239?4:s>223?3:s>191?2:1;if(r+a<=i){var l,f,h,u;switch(a){case 1:s<128&&(o=s);break;case 2:l=e[r+1],128===(192&l)&&(u=(31&s)<<6|63&l,u>127&&(o=u));break;case 3:l=e[r+1],f=e[r+2],128===(192&l)&&128===(192&f)&&(u=(15&s)<<12|(63&l)<<6|63&f,u>2047&&(u<55296||u>57343)&&(o=u));break;case 4:l=e[r+1],f=e[r+2],h=e[r+3],128===(192&l)&&128===(192&f)&&128===(192&h)&&(u=(15&s)<<18|(63&l)<<12|(63&f)<<6|63&h,u>65535&&u<1114112&&(o=u))}}null===o?(o=65533,a=1):o>65535&&(o-=65536,n.push(o>>>10&1023|55296),o=56320|1023&o),n.push(o),r+=a}return P(n)}function P(e){var t=e.length;if(t<=ee)return String.fromCharCode.apply(String,e);for(var i="",n=0;n<t;)i+=String.fromCharCode.apply(String,e.slice(n,n+=ee));return i}function x(e,t,i){var n="";i=Math.min(e.length,i);for(var r=t;r<i;++r)n+=String.fromCharCode(127&e[r]);return n}function I(e,t,i){var n="";i=Math.min(e.length,i);for(var r=t;r<i;++r)n+=String.fromCharCode(e[r]);return n}function O(e,t,i){var n=e.length;(!t||t<0)&&(t=0),(!i||i<0||i>n)&&(i=n);for(var r="",s=t;s<i;++s)r+=q(e[s]);return r}function N(e,t,i){for(var n=e.slice(t,i),r="",s=0;s<n.length;s+=2)r+=String.fromCharCode(n[s]+256*n[s+1]);return r}function D(e,t,i){if(e%1!==0||e<0)throw new RangeError("offset is not uint");if(e+t>i)throw new RangeError("Trying to access beyond buffer length")}function L(t,i,n,r,s,o){if(!e.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(i>s||i<o)throw new RangeError('"value" argument is out of bounds');if(n+r>t.length)throw new RangeError("Index out of range")}function U(e,t,i,n){t<0&&(t=65535+t+1);for(var r=0,s=Math.min(e.length-i,2);r<s;++r)e[i+r]=(t&255<<8*(n?r:1-r))>>>8*(n?r:1-r)}function B(e,t,i,n){t<0&&(t=4294967295+t+1);for(var r=0,s=Math.min(e.length-i,4);r<s;++r)e[i+r]=t>>>8*(n?r:3-r)&255}function j(e,t,i,n,r,s){if(i+n>e.length)throw new RangeError("Index out of range");if(i<0)throw new RangeError("Index out of range")}function F(e,t,i,n,r){return r||j(e,t,i,4,3.4028234663852886e38,-3.4028234663852886e38),J.write(e,t,i,n,23,4),i+4}function G(e,t,i,n,r){return r||j(e,t,i,8,1.7976931348623157e308,-1.7976931348623157e308),J.write(e,t,i,n,52,8),i+8}function H(e){if(e=z(e).replace(te,""),e.length<2)return"";for(;e.length%4!==0;)e+="=";return e}function z(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}function q(e){return e<16?"0"+e.toString(16):e.toString(16)}function W(e,t){t=t||1/0;for(var i,n=e.length,r=null,s=[],o=0;o<n;++o){if(i=e.charCodeAt(o),i>55295&&i<57344){if(!r){if(i>56319){(t-=3)>-1&&s.push(239,191,189);continue}if(o+1===n){(t-=3)>-1&&s.push(239,191,189);continue}r=i;continue}if(i<56320){(t-=3)>-1&&s.push(239,191,189),r=i;continue}i=(r-55296<<10|i-56320)+65536}else r&&(t-=3)>-1&&s.push(239,191,189);if(r=null,i<128){if((t-=1)<0)break;s.push(i)}else if(i<2048){if((t-=2)<0)break;s.push(i>>6|192,63&i|128)}else if(i<65536){if((t-=3)<0)break;s.push(i>>12|224,i>>6&63|128,63&i|128)}else{if(!(i<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;s.push(i>>18|240,i>>12&63|128,i>>6&63|128,63&i|128)}}return s}function V(e){for(var t=[],i=0;i<e.length;++i)t.push(255&e.charCodeAt(i));return t}function Y(e,t){for(var i,n,r,s=[],o=0;o<e.length&&!((t-=2)<0);++o)i=e.charCodeAt(o),n=i>>8,r=i%256,s.push(r),s.push(n);return s}function Z(e){return X.toByteArray(H(e))}function $(e,t,i,n){for(var r=0;r<n&&!(r+i>=t.length||r>=e.length);++r)t[r+i]=e[r];return r}function K(e){return e!==e}var X=i(59),J=i(60),Q=i(61);t.Buffer=e,t.SlowBuffer=w,t.INSPECT_MAX_BYTES=50,e.TYPED_ARRAY_SUPPORT=void 0!==n.TYPED_ARRAY_SUPPORT?n.TYPED_ARRAY_SUPPORT:r(),t.kMaxLength=s(),e.poolSize=8192,e._augment=function(t){return t.__proto__=e.prototype,t},e.from=function(e,t,i){return a(null,e,t,i)},e.TYPED_ARRAY_SUPPORT&&(e.prototype.__proto__=Uint8Array.prototype,e.__proto__=Uint8Array,"undefined"!=typeof Symbol&&Symbol.species&&e[Symbol.species]===e&&Object.defineProperty(e,Symbol.species,{value:null,configurable:!0})),e.alloc=function(e,t,i){return f(null,e,t,i)},e.allocUnsafe=function(e){return h(null,e)},e.allocUnsafeSlow=function(e){return h(null,e)},e.isBuffer=function(e){return!(null==e||!e._isBuffer)},e.compare=function(t,i){if(!e.isBuffer(t)||!e.isBuffer(i))throw new TypeError("Arguments must be Buffers");if(t===i)return 0;for(var n=t.length,r=i.length,s=0,o=Math.min(n,r);s<o;++s)if(t[s]!==i[s]){n=t[s],r=i[s];break}return n<r?-1:r<n?1:0},e.isEncoding=function(e){switch(String(e).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},e.concat=function(t,i){if(!Q(t))throw new TypeError('"list" argument must be an Array of Buffers');if(0===t.length)return e.alloc(0);var n;if(void 0===i)for(i=0,n=0;n<t.length;++n)i+=t[n].length;var r=e.allocUnsafe(i),s=0;for(n=0;n<t.length;++n){var o=t[n];if(!e.isBuffer(o))throw new TypeError('"list" argument must be an Array of Buffers');o.copy(r,s),s+=o.length}return r},e.byteLength=m,e.prototype._isBuffer=!0,e.prototype.swap16=function(){var e=this.length;if(e%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var t=0;t<e;t+=2)_(this,t,t+1);return this},e.prototype.swap32=function(){var e=this.length;if(e%4!==0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var t=0;t<e;t+=4)_(this,t,t+3),_(this,t+1,t+2);return this},e.prototype.swap64=function(){var e=this.length;if(e%8!==0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var t=0;t<e;t+=8)_(this,t,t+7),_(this,t+1,t+6),_(this,t+2,t+5),_(this,t+3,t+4);return this},e.prototype.toString=function(){var e=0|this.length;return 0===e?"":0===arguments.length?C(this,0,e):g.apply(this,arguments)},e.prototype.equals=function(t){if(!e.isBuffer(t))throw new TypeError("Argument must be a Buffer");return this===t||0===e.compare(this,t)},e.prototype.inspect=function(){var e="",i=t.INSPECT_MAX_BYTES;return this.length>0&&(e=this.toString("hex",0,i).match(/.{2}/g).join(" "),this.length>i&&(e+=" ... ")),"<Buffer "+e+">"},e.prototype.compare=function(t,i,n,r,s){if(!e.isBuffer(t))throw new TypeError("Argument must be a Buffer");if(void 0===i&&(i=0),void 0===n&&(n=t?t.length:0),void 0===r&&(r=0),void 0===s&&(s=this.length),i<0||n>t.length||r<0||s>this.length)throw new RangeError("out of range index");if(r>=s&&i>=n)return 0;if(r>=s)return-1;if(i>=n)return 1;if(i>>>=0,n>>>=0,r>>>=0,s>>>=0,this===t)return 0;for(var o=s-r,a=n-i,l=Math.min(o,a),f=this.slice(r,s),h=t.slice(i,n),u=0;u<l;++u)if(f[u]!==h[u]){o=f[u],a=h[u];break}return o<a?-1:a<o?1:0},e.prototype.includes=function(e,t,i){return this.indexOf(e,t,i)!==-1},e.prototype.indexOf=function(e,t,i){return v(this,e,t,i,!0)},e.prototype.lastIndexOf=function(e,t,i){return v(this,e,t,i,!1)},e.prototype.write=function(e,t,i,n){if(void 0===t)n="utf8",i=this.length,t=0;else if(void 0===i&&"string"==typeof t)n=t,i=this.length,t=0;else{if(!isFinite(t))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");t|=0,isFinite(i)?(i|=0,void 0===n&&(n="utf8")):(n=i,i=void 0)}var r=this.length-t;if((void 0===i||i>r)&&(i=r),e.length>0&&(i<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var s=!1;;)switch(n){case"hex":return y(this,e,t,i);case"utf8":case"utf-8":return E(this,e,t,i);case"ascii":return A(this,e,t,i);case"latin1":case"binary":return T(this,e,t,i);case"base64":return S(this,e,t,i);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return M(this,e,t,i);default:if(s)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),s=!0}},e.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var ee=4096;e.prototype.slice=function(t,i){var n=this.length;t=~~t,i=void 0===i?n:~~i,t<0?(t+=n,t<0&&(t=0)):t>n&&(t=n),i<0?(i+=n,i<0&&(i=0)):i>n&&(i=n),i<t&&(i=t);var r;if(e.TYPED_ARRAY_SUPPORT)r=this.subarray(t,i),r.__proto__=e.prototype;else{var s=i-t;r=new e(s,void 0);for(var o=0;o<s;++o)r[o]=this[o+t]}return r},e.prototype.readUIntLE=function(e,t,i){e|=0,t|=0,i||D(e,t,this.length);for(var n=this[e],r=1,s=0;++s<t&&(r*=256);)n+=this[e+s]*r;return n},e.prototype.readUIntBE=function(e,t,i){e|=0,t|=0,i||D(e,t,this.length);for(var n=this[e+--t],r=1;t>0&&(r*=256);)n+=this[e+--t]*r;return n},e.prototype.readUInt8=function(e,t){return t||D(e,1,this.length),this[e]},e.prototype.readUInt16LE=function(e,t){return t||D(e,2,this.length),this[e]|this[e+1]<<8},e.prototype.readUInt16BE=function(e,t){return t||D(e,2,this.length),this[e]<<8|this[e+1]},e.prototype.readUInt32LE=function(e,t){return t||D(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},e.prototype.readUInt32BE=function(e,t){return t||D(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},e.prototype.readIntLE=function(e,t,i){e|=0,t|=0,i||D(e,t,this.length);for(var n=this[e],r=1,s=0;++s<t&&(r*=256);)n+=this[e+s]*r;return r*=128,n>=r&&(n-=Math.pow(2,8*t)),n},e.prototype.readIntBE=function(e,t,i){e|=0,t|=0,i||D(e,t,this.length);for(var n=t,r=1,s=this[e+--n];n>0&&(r*=256);)s+=this[e+--n]*r;return r*=128,s>=r&&(s-=Math.pow(2,8*t)),s},e.prototype.readInt8=function(e,t){return t||D(e,1,this.length),128&this[e]?(255-this[e]+1)*-1:this[e]},e.prototype.readInt16LE=function(e,t){t||D(e,2,this.length);var i=this[e]|this[e+1]<<8;return 32768&i?4294901760|i:i},e.prototype.readInt16BE=function(e,t){t||D(e,2,this.length);var i=this[e+1]|this[e]<<8;return 32768&i?4294901760|i:i},e.prototype.readInt32LE=function(e,t){return t||D(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},e.prototype.readInt32BE=function(e,t){return t||D(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},e.prototype.readFloatLE=function(e,t){return t||D(e,4,this.length),J.read(this,e,!0,23,4)},e.prototype.readFloatBE=function(e,t){return t||D(e,4,this.length),J.read(this,e,!1,23,4)},e.prototype.readDoubleLE=function(e,t){return t||D(e,8,this.length),J.read(this,e,!0,52,8)},e.prototype.readDoubleBE=function(e,t){return t||D(e,8,this.length),J.read(this,e,!1,52,8)},e.prototype.writeUIntLE=function(e,t,i,n){if(e=+e,t|=0,i|=0,!n){var r=Math.pow(2,8*i)-1;L(this,e,t,i,r,0)}var s=1,o=0;for(this[t]=255&e;++o<i&&(s*=256);)this[t+o]=e/s&255;return t+i},e.prototype.writeUIntBE=function(e,t,i,n){if(e=+e,t|=0,i|=0,!n){var r=Math.pow(2,8*i)-1;L(this,e,t,i,r,0)}var s=i-1,o=1;for(this[t+s]=255&e;--s>=0&&(o*=256);)this[t+s]=e/o&255;return t+i},e.prototype.writeUInt8=function(t,i,n){return t=+t,i|=0,n||L(this,t,i,1,255,0),e.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),this[i]=255&t,i+1},e.prototype.writeUInt16LE=function(t,i,n){return t=+t,i|=0,n||L(this,t,i,2,65535,0),e.TYPED_ARRAY_SUPPORT?(this[i]=255&t,this[i+1]=t>>>8):U(this,t,i,!0),i+2},e.prototype.writeUInt16BE=function(t,i,n){return t=+t,i|=0,n||L(this,t,i,2,65535,0),e.TYPED_ARRAY_SUPPORT?(this[i]=t>>>8,this[i+1]=255&t):U(this,t,i,!1),i+2},e.prototype.writeUInt32LE=function(t,i,n){return t=+t,i|=0,n||L(this,t,i,4,4294967295,0),e.TYPED_ARRAY_SUPPORT?(this[i+3]=t>>>24,this[i+2]=t>>>16,this[i+1]=t>>>8,this[i]=255&t):B(this,t,i,!0),i+4},e.prototype.writeUInt32BE=function(t,i,n){return t=+t,i|=0,n||L(this,t,i,4,4294967295,0),e.TYPED_ARRAY_SUPPORT?(this[i]=t>>>24,this[i+1]=t>>>16,this[i+2]=t>>>8,this[i+3]=255&t):B(this,t,i,!1),i+4},e.prototype.writeIntLE=function(e,t,i,n){if(e=+e,t|=0,!n){var r=Math.pow(2,8*i-1);L(this,e,t,i,r-1,-r)}var s=0,o=1,a=0;for(this[t]=255&e;++s<i&&(o*=256);)e<0&&0===a&&0!==this[t+s-1]&&(a=1),this[t+s]=(e/o>>0)-a&255;return t+i},e.prototype.writeIntBE=function(e,t,i,n){if(e=+e,t|=0,!n){var r=Math.pow(2,8*i-1);L(this,e,t,i,r-1,-r)}var s=i-1,o=1,a=0;for(this[t+s]=255&e;--s>=0&&(o*=256);)e<0&&0===a&&0!==this[t+s+1]&&(a=1),this[t+s]=(e/o>>0)-a&255;return t+i},e.prototype.writeInt8=function(t,i,n){return t=+t,i|=0,n||L(this,t,i,1,127,-128),e.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),t<0&&(t=255+t+1),this[i]=255&t,i+1},e.prototype.writeInt16LE=function(t,i,n){return t=+t,i|=0,n||L(this,t,i,2,32767,-32768),e.TYPED_ARRAY_SUPPORT?(this[i]=255&t,this[i+1]=t>>>8):U(this,t,i,!0),i+2},e.prototype.writeInt16BE=function(t,i,n){return t=+t,i|=0,n||L(this,t,i,2,32767,-32768),e.TYPED_ARRAY_SUPPORT?(this[i]=t>>>8,this[i+1]=255&t):U(this,t,i,!1),i+2},e.prototype.writeInt32LE=function(t,i,n){return t=+t,i|=0,n||L(this,t,i,4,2147483647,-2147483648),e.TYPED_ARRAY_SUPPORT?(this[i]=255&t,this[i+1]=t>>>8,this[i+2]=t>>>16,this[i+3]=t>>>24):B(this,t,i,!0),i+4},e.prototype.writeInt32BE=function(t,i,n){return t=+t,i|=0,n||L(this,t,i,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),e.TYPED_ARRAY_SUPPORT?(this[i]=t>>>24,this[i+1]=t>>>16,this[i+2]=t>>>8,this[i+3]=255&t):B(this,t,i,!1),i+4},e.prototype.writeFloatLE=function(e,t,i){return F(this,e,t,!0,i)},e.prototype.writeFloatBE=function(e,t,i){return F(this,e,t,!1,i)},e.prototype.writeDoubleLE=function(e,t,i){return G(this,e,t,!0,i)},e.prototype.writeDoubleBE=function(e,t,i){return G(this,e,t,!1,i)},e.prototype.copy=function(t,i,n,r){if(n||(n=0),r||0===r||(r=this.length),i>=t.length&&(i=t.length),i||(i=0),r>0&&r<n&&(r=n),r===n)return 0;if(0===t.length||0===this.length)return 0;if(i<0)throw new RangeError("targetStart out of bounds");if(n<0||n>=this.length)throw new RangeError("sourceStart out of bounds");if(r<0)throw new RangeError("sourceEnd out of bounds");r>this.length&&(r=this.length),t.length-i<r-n&&(r=t.length-i+n);var s,o=r-n;if(this===t&&n<i&&i<r)for(s=o-1;s>=0;--s)t[s+i]=this[s+n];else if(o<1e3||!e.TYPED_ARRAY_SUPPORT)for(s=0;s<o;++s)t[s+i]=this[s+n];else Uint8Array.prototype.set.call(t,this.subarray(n,n+o),i);return o},e.prototype.fill=function(t,i,n,r){if("string"==typeof t){if("string"==typeof i?(r=i,i=0,n=this.length):"string"==typeof n&&(r=n,n=this.length),1===t.length){var s=t.charCodeAt(0);s<256&&(t=s)}if(void 0!==r&&"string"!=typeof r)throw new TypeError("encoding must be a string");if("string"==typeof r&&!e.isEncoding(r))throw new TypeError("Unknown encoding: "+r)}else"number"==typeof t&&(t&=255);if(i<0||this.length<i||this.length<n)throw new RangeError("Out of range index");if(n<=i)return this;i>>>=0,n=void 0===n?this.length:n>>>0,t||(t=0);var o;if("number"==typeof t)for(o=i;o<n;++o)this[o]=t;else{var a=e.isBuffer(t)?t:W(new e(t,r).toString()),l=a.length;for(o=0;o<n-i;++o)this[o+i]=a[o%l]}return this};var te=/[^+\/0-9A-Za-z-_]/g}).call(t,i(58).Buffer,function(){return this}())},function(e,t){"use strict";function i(e){var t=e.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");return"="===e[t-2]?2:"="===e[t-1]?1:0}function n(e){return 3*e.length/4-i(e)}function r(e){var t,n,r,s,o,a,l=e.length;o=i(e),a=new h(3*l/4-o),r=o>0?l-4:l;var u=0;for(t=0,n=0;t<r;t+=4,n+=3)s=f[e.charCodeAt(t)]<<18|f[e.charCodeAt(t+1)]<<12|f[e.charCodeAt(t+2)]<<6|f[e.charCodeAt(t+3)],a[u++]=s>>16&255,a[u++]=s>>8&255,a[u++]=255&s;return 2===o?(s=f[e.charCodeAt(t)]<<2|f[e.charCodeAt(t+1)]>>4,a[u++]=255&s):1===o&&(s=f[e.charCodeAt(t)]<<10|f[e.charCodeAt(t+1)]<<4|f[e.charCodeAt(t+2)]>>2,a[u++]=s>>8&255,a[u++]=255&s),a}function s(e){return l[e>>18&63]+l[e>>12&63]+l[e>>6&63]+l[63&e]}function o(e,t,i){for(var n,r=[],o=t;o<i;o+=3)n=(e[o]<<16)+(e[o+1]<<8)+e[o+2],r.push(s(n));return r.join("")}function a(e){for(var t,i=e.length,n=i%3,r="",s=[],a=16383,f=0,h=i-n;f<h;f+=a)s.push(o(e,f,f+a>h?h:f+a));return 1===n?(t=e[i-1],r+=l[t>>2],r+=l[t<<4&63],r+="=="):2===n&&(t=(e[i-2]<<8)+e[i-1],r+=l[t>>10],r+=l[t>>4&63],r+=l[t<<2&63],r+="="),s.push(r),s.join("")}t.byteLength=n,t.toByteArray=r,t.fromByteArray=a;for(var l=[],f=[],h="undefined"!=typeof Uint8Array?Uint8Array:Array,u="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",c=0,d=u.length;c<d;++c)l[c]=u[c],f[u.charCodeAt(c)]=c;f["-".charCodeAt(0)]=62,f["_".charCodeAt(0)]=63},function(e,t){t.read=function(e,t,i,n,r){var s,o,a=8*r-n-1,l=(1<<a)-1,f=l>>1,h=-7,u=i?r-1:0,c=i?-1:1,d=e[t+u];for(u+=c,s=d&(1<<-h)-1,d>>=-h,h+=a;h>0;s=256*s+e[t+u],u+=c,h-=8);for(o=s&(1<<-h)-1,s>>=-h,h+=n;h>0;o=256*o+e[t+u],u+=c,h-=8);if(0===s)s=1-f;else{if(s===l)return o?NaN:(d?-1:1)*(1/0);o+=Math.pow(2,n),s-=f}return(d?-1:1)*o*Math.pow(2,s-n)},t.write=function(e,t,i,n,r,s){var o,a,l,f=8*s-r-1,h=(1<<f)-1,u=h>>1,c=23===r?Math.pow(2,-24)-Math.pow(2,-77):0,d=n?0:s-1,p=n?1:-1,b=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(a=isNaN(t)?1:0,o=h):(o=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-o))<1&&(o--,l*=2),t+=o+u>=1?c/l:c*Math.pow(2,1-u),t*l>=2&&(o++,l/=2),o+u>=h?(a=0,o=h):o+u>=1?(a=(t*l-1)*Math.pow(2,r),o+=u):(a=t*Math.pow(2,u-1)*Math.pow(2,r),o=0));r>=8;e[i+d]=255&a,d+=p,a/=256,r-=8);for(o=o<<r|a,f+=r;f>0;e[i+d]=255&o,d+=p,o/=256,f-=8);e[i+d-p]|=128*b}},function(e,t){var i={}.toString;e.exports=Array.isArray||function(e){return"[object Array]"==i.call(e)}},function(e,t){},function(e,t,i){(function(t){function i(e){const i=new t(e.byteLength),n=new Uint8Array(e);for(var r=0;r<i.length;++r)i[r]=n[r];return i}function n(e){const t=new ArrayBuffer(2*e.length),i=new Uint16Array(t);for(var n=0,r=e.length;n<r;n++)i[n]=e.charCodeAt(n);return t}e.exports=function(e){return"string"==typeof e&&(e=n(e)),i(e)}}).call(t,i(58).Buffer)},function(e,t,i){const n=i(10),r=i(4),s=i(5),o=i(65),a=i(3).EventEmitter;class l{constructor(e){this.client=e,this.connections=new n,this.pending=new n,this.client.on("self.voiceServer",this.onVoiceServer.bind(this)),this.client.on("self.voiceStateUpdate",this.onVoiceStateUpdate.bind(this))}onVoiceServer(e){this.pending.has(e.guild_id)&&this.pending.get(e.guild_id).setTokenAndEndpoint(e.token,e.endpoint)}onVoiceStateUpdate(e){this.pending.has(e.guild_id)&&this.pending.get(e.guild_id).setSessionID(e.session_id)}sendVoiceStateUpdate(e,t={}){if(!this.client.user)throw new Error("Unable to join because there is no client user.");if(!e.permissionsFor)throw new Error("Channel does not support permissionsFor; is it really a voice channel?");const i=e.permissionsFor(this.client.user);if(!i)throw new Error("There is no permission set for the client user in this channel - are they part of the guild?");if(!i.hasPermission("CONNECT"))throw new Error("You do not have permission to join this voice channel.");t=r({guild_id:e.guild.id,channel_id:e.id,self_mute:!1,self_deaf:!1},t),this.client.ws.send({op:s.OPCodes.VOICE_STATE_UPDATE,d:t})}joinChannel(e){return new Promise((t,i)=>{if(this.client.browser)throw new Error("Voice connections are not available in browsers.");if(this.pending.get(e.guild.id))throw new Error("Already connecting to this guild's voice server.");if(!e.joinable)throw new Error("You do not have permission to join this voice channel.");const n=this.connections.get(e.guild.id);if(n)return n.channel.id!==e.id&&(this.sendVoiceStateUpdate(e),this.connections.get(e.guild.id).channel=e),void t(n);const r=new f(this,e);this.pending.set(e.guild.id,r),r.on("fail",t=>{this.pending.delete(e.guild.id),i(t)}),r.on("pass",n=>{this.pending.delete(e.guild.id),this.connections.set(e.guild.id,n),n.once("ready",()=>t(n)),n.once("error",i),n.once("disconnect",()=>this.connections.delete(e.guild.id))})})}}class f extends a{constructor(e,t){super(),this.voiceManager=e,this.channel=t,this.deathTimer=this.voiceManager.client.setTimeout(()=>this.fail(new Error("Connection not established within 15 seconds.")),15e3),this.data={},this.sendVoiceStateUpdate()}checkReady(){return!!(this.data.token&&this.data.endpoint&&this.data.session_id)&&(this.pass(),!0)}setTokenAndEndpoint(e,t){return e?t?this.data.token?void this.fail(new Error("There is already a registered token for this connection.")):this.data.endpoint?void this.fail(new Error("There is already a registered endpoint for this connection.")):(t=t.match(/([^:]*)/)[0])?(this.data.token=e,this.data.endpoint=t,void this.checkReady()):void this.fail(new Error("Failed to find an endpoint.")):void this.fail(new Error("Endpoint not provided from voice server packet.")):void this.fail(new Error("Token not provided from voice server packet."))}setSessionID(e){return e?this.data.session_id?void this.fail(new Error("There is already a registered session ID for this connection.")):(this.data.session_id=e,void this.checkReady()):void this.fail(new Error("Session ID not supplied."))}clean(){clearInterval(this.deathTimer),this.emit("fail",new Error("Clean-up triggered :fourTriggered:"))}pass(){clearInterval(this.deathTimer),this.emit("pass",this.upgrade())}fail(e){this.emit("fail",e),this.clean()}sendVoiceStateUpdate(){try{this.voiceManager.sendVoiceStateUpdate(this.channel)}catch(e){this.fail(e)}}upgrade(){return new o(this)}}e.exports=l},function(e,t,i){const n=i(66),r=i(159),s=i(5),o=i(161),a=i(174),l=i(3).EventEmitter,f=i(62);class h extends l{constructor(e){super(),this.voiceManager=e.voiceManager,this.channel=e.channel,this.speaking=!1,this.receivers=[],this.authentication=e.data,this.player=new o(this),this.player.on("debug",e=>{this.emit("debug",`audio player - ${e}`)}),this.player.on("error",e=>{this.emit("warn",e),this.player.cleanup()}),this.ssrcMap=new Map,this.ready=!1,this.sockets={},this.connect()}setSpeaking(e){this.speaking!==e&&(this.speaking=e,this.sockets.ws.sendPacket({op:s.VoiceOPCodes.SPEAKING,d:{speaking:!0,delay:0}}).catch(e=>{this.emit("debug",e)}))}disconnect(){this.emit("closing"),this.voiceManager.client.ws.send({op:s.OPCodes.VOICE_STATE_UPDATE,d:{guild_id:this.channel.guild.id,channel_id:null,self_mute:!1,self_deaf:!1}}),this.emit("disconnect")}connect(){if(this.sockets.ws)throw new Error("There is already an existing WebSocket connection.");if(this.sockets.udp)throw new Error("There is already an existing UDP connection.");this.sockets.ws=new n(this),this.sockets.udp=new r(this),this.sockets.ws.on("error",e=>this.emit("error",e)),this.sockets.udp.on("error",e=>this.emit("error",e)),this.sockets.ws.once("ready",e=>{this.authentication.port=e.port,this.authentication.ssrc=e.ssrc,this.sockets.udp.findEndpointAddress().then(e=>{this.sockets.udp.createUDPSocket(e)},e=>this.emit("error",e))}),this.sockets.ws.once("sessionDescription",(e,t)=>{this.authentication.encryptionMode=e,this.authentication.secretKey=t,this.emit("ready"),this.ready=!0}),this.sockets.ws.on("speaking",e=>{const t=this.channel.guild,i=this.voiceManager.client.users.get(e.user_id);if(this.ssrcMap.set(+e.ssrc,i),!e.speaking)for(const n of this.receivers){const e=n.opusStreams.get(i.id),t=n.pcmStreams.get(i.id);e&&(e.push(null),e.open=!1,n.opusStreams.delete(i.id)),t&&(t.push(null),t.open=!1,n.pcmStreams.delete(i.id))}this.ready&&this.emit("speaking",i,e.speaking),t._memberSpeakUpdate(e.user_id,e.speaking)})}playFile(e,t){return this.playStream(f.createReadStream(e),t)}playStream(e,{seek=0,volume=1,passes=1}={}){const t={seek:seek,volume:volume,passes:passes};return this.player.playUnknownStream(e,t)}playConvertedStream(e,{seek=0,volume=1,passes=1}={}){const t={seek:seek,volume:volume,passes:passes};return this.player.playPCMStream(e,t)}createReceiver(){const e=new a(this);return this.receivers.push(e),e}}e.exports=h},function(e,t,i){const n=i(67),r=i(5),s=i(158),o=i(3).EventEmitter;class a extends o{constructor(e){super(),this.voiceConnection=e,this.attempts=0,this.connect(),this.dead=!1,this.voiceConnection.on("closing",this.shutdown.bind(this))}shutdown(){this.dead=!0,this.reset()}get client(){return this.voiceConnection.voiceManager.client}reset(){this.ws&&(this.ws.readyState!==n.CLOSED&&this.ws.close(),this.ws=null),this.clearHeartbeat()}connect(){if(!this.dead){if(this.ws&&this.reset(),this.attempts>5)return void this.emit("error",new Error(`Too many connection attempts (${this.attempts}).`));this.attempts++,this.ws=new n(`wss://${this.voiceConnection.authentication.endpoint}`),this.ws.onopen=this.onOpen.bind(this),this.ws.onmessage=this.onMessage.bind(this),this.ws.onclose=this.onClose.bind(this),this.ws.onerror=this.onError.bind(this)}}send(e){return new Promise((t,i)=>{if(!this.ws||this.ws.readyState!==n.OPEN)throw new Error(`Voice websocket not open to send ${e}.`);this.ws.send(e,null,n=>{n?i(n):t(e)})})}sendPacket(e){try{e=JSON.stringify(e)}catch(e){return Promise.reject(e)}return this.send(e)}onOpen(){this.sendPacket({op:r.OPCodes.DISPATCH,d:{server_id:this.voiceConnection.channel.guild.id,user_id:this.client.user.id,token:this.voiceConnection.authentication.token,session_id:this.voiceConnection.authentication.session_id}}).catch(()=>{this.emit("error",new Error("Tried to send join packet, but the WebSocket is not open."))})}onMessage(e){try{return this.onPacket(JSON.parse(e.data))}catch(e){return this.onError(e)}}onClose(){this.dead||this.client.setTimeout(this.connect.bind(this),1e3*this.attempts)}onError(e){this.emit("error",e)}onPacket(e){switch(e.op){case r.VoiceOPCodes.READY:this.setHeartbeat(e.d.heartbeat_interval),this.emit("ready",e.d);break;case r.VoiceOPCodes.SESSION_DESCRIPTION:this.emit("sessionDescription",e.d.mode,new s(e.d.secret_key));break;case r.VoiceOPCodes.SPEAKING:this.emit("speaking",e.d);break;default:this.emit("unknownPacket",e)}}setHeartbeat(e){return!e||isNaN(e)?void this.onError(new Error("Tried to set voice heartbeat but no valid interval was specified.")):(this.heartbeatInterval&&(this.emit("warn","A voice heartbeat interval is being overwritten"),clearInterval(this.heartbeatInterval)),void(this.heartbeatInterval=this.client.setInterval(this.sendHeartbeat.bind(this),e)))}clearHeartbeat(){return this.heartbeatInterval?(clearInterval(this.heartbeatInterval),void(this.heartbeatInterval=null)):void this.emit("warn","Tried to clear a heartbeat interval that does not exist")}sendHeartbeat(){this.sendPacket({op:r.VoiceOPCodes.HEARTBEAT,d:null}).catch(()=>{this.emit("warn","Tried to send heartbeat, but connection is not open"),this.clearHeartbeat()})}}e.exports=a},function(e,t,i){"use strict";/*!
* ws: a node.js websocket client
* Copyright(c) 2011 Einar Otto Stangvik <einaros@gmail.com>
* MIT Licensed
*/
var n=e.exports=i(68);n.Server=i(156),n.Sender=i(116),n.Receiver=i(147),n.createServer=function(e,t){var i=new n.Server(e);return"function"==typeof t&&i.on("connection",t),i},n.connect=n.createConnection=function(e,t){var i=new n(e);return"function"==typeof t&&i.on("open",t),i}},function(e,t,i){(function(t,n){"use strict";function r(e,t,i){return this instanceof r==!1?new r(e,t,i):(P.call(this),t&&!Array.isArray(t)&&"object"==typeof t&&(i=t,t=null),"string"==typeof t&&(t=[t]),Array.isArray(t)||(t=[]),this._socket=null,this._ultron=null,this._closeReceived=!1,this.bytesReceived=0,this.readyState=null,this.supports={},this.extensions={},this._binaryType="nodebuffer",void(Array.isArray(e)?f.apply(this,e.concat(i)):h.apply(this,[e,t,i])))}function s(e,t,i){this.type="message",this.data=e,this.target=i,this.binary=t}function o(e,t,i){this.type="close",this.wasClean="undefined"==typeof e||1e3===e,this.code=e,this.reason=t,this.target=i}function a(e){this.type="open",this.target=e}function l(e,t,i){var n=t;return t&&(e&&443!=i||!e&&80!=i)&&(n=n+":"+i),n}function f(e,t,i,n){n=new E({protocolVersion:x,protocol:null,extensions:{},maxPayload:0}).merge(n),this.protocol=n.value.protocol,this.protocolVersion=n.value.protocolVersion,this.extensions=n.value.extensions,this.supports.binary="hixie-76"!==this.protocolVersion,this.upgradeReq=e,this.readyState=r.CONNECTING,this._isServer=!0,this.maxPayload=n.value.maxPayload,"hixie-76"===n.value.protocolVersion?u.call(this,M,S,t,i):u.call(this,T,A,t,i)}function h(e,i,n){if(n=new E({origin:null,protocolVersion:x,host:null,headers:null,protocol:i.join(","),agent:null,pfx:null,key:null,passphrase:null,cert:null,ca:null,ciphers:null,rejectUnauthorized:null,perMessageDeflate:!0,localAddress:null}).merge(n),8!==n.value.protocolVersion&&13!==n.value.protocolVersion)throw new Error("unsupported protocol version");var s=w.parse(e),o="ws+unix:"===s.protocol;if(!s.host&&!o)throw new Error("invalid url");var a,f="wss:"===s.protocol||"https:"===s.protocol,h=f?_:g,c=s.port||(f?443:80),d=s.auth,p={};n.value.perMessageDeflate&&(a=new C(typeof n.value.perMessageDeflate!==!0?n.value.perMessageDeflate:{},!1),p[C.extensionName]=a.offer()),this._isServer=!1,this.url=e,this.protocolVersion=n.value.protocolVersion,this.supports.binary="hixie-76"!==this.protocolVersion;var m=new t(n.value.protocolVersion+"-"+Date.now()).toString("base64"),k=v.createHash("sha1");k.update(m+"258EAFA5-E914-47DA-95CA-C5AB0DC85B11");var y=k.digest("base64"),S=n.value.agent,M=l(f,s.hostname,c),P={port:c,host:s.hostname,headers:{Connection:"Upgrade",Upgrade:"websocket",Host:M,"Sec-WebSocket-Version":n.value.protocolVersion,"Sec-WebSocket-Key":m}};if(d&&(P.headers.Authorization="Basic "+new t(d).toString("base64")),n.value.protocol&&(P.headers["Sec-WebSocket-Protocol"]=n.value.protocol),n.value.host&&(P.headers.Host=n.value.host),n.value.headers)for(var I in n.value.headers)n.value.headers.hasOwnProperty(I)&&(P.headers[I]=n.value.headers[I]);Object.keys(p).length&&(P.headers["Sec-WebSocket-Extensions"]=R.format(p)),(n.isDefinedAndNonNull("pfx")||n.isDefinedAndNonNull("key")||n.isDefinedAndNonNull("passphrase")||n.isDefinedAndNonNull("cert")||n.isDefinedAndNonNull("ca")||n.isDefinedAndNonNull("ciphers")||n.isDefinedAndNonNull("rejectUnauthorized"))&&(n.isDefinedAndNonNull("pfx")&&(P.pfx=n.value.pfx),n.isDefinedAndNonNull("key")&&(P.key=n.value.key),n.isDefinedAndNonNull("passphrase")&&(P.passphrase=n.value.passphrase),n.isDefinedAndNonNull("cert")&&(P.cert=n.value.cert),n.isDefinedAndNonNull("ca")&&(P.ca=n.value.ca),n.isDefinedAndNonNull("ciphers")&&(P.ciphers=n.value.ciphers),n.isDefinedAndNonNull("rejectUnauthorized")&&(P.rejectUnauthorized=n.value.rejectUnauthorized),S||(S=new h.Agent(P))),P.path=s.path||"/",S&&(P.agent=S),o&&(P.socketPath=s.pathname),n.value.localAddress&&(P.localAddress=n.value.localAddress),n.value.origin&&(n.value.protocolVersion<13?P.headers["Sec-WebSocket-Origin"]=n.value.origin:P.headers.Origin=n.value.origin);var O=this,N=h.request(P);N.on("error",function(e){O.emit("error",e),b.call(O,e)}),N.once("response",function(e){var t;O.emit("unexpected-response",N,e)||(t=new Error("unexpected server response ("+e.statusCode+")"),N.abort(),O.emit("error",t)),b.call(O,t)}),N.once("upgrade",function(e,t,i){if(O.readyState===r.CLOSED)return O.emit("close"),O.removeAllListeners(),void t.end();var s=e.headers["sec-websocket-accept"];if("undefined"==typeof s||s!==y)return O.emit("error","invalid server key"),O.removeAllListeners(),void t.end();var o=e.headers["sec-websocket-protocol"],l=(n.value.protocol||"").split(/, */),f=null;if(!n.value.protocol&&o?f="server sent a subprotocol even though none requested":n.value.protocol&&!o?f="server sent no subprotocol even though requested":o&&l.indexOf(o)===-1&&(f="server responded with an invalid protocol"),f)return O.emit("error",f),O.removeAllListeners(),void t.end();o&&(O.protocol=o);var h=R.parse(e.headers["sec-websocket-extensions"]);if(a&&h[C.extensionName]){try{a.accept(h[C.extensionName])}catch(e){return O.emit("error","invalid extension parameter"),O.removeAllListeners(),void t.end()}O.extensions[C.extensionName]=a}u.call(O,T,A,t,i),N.removeAllListeners(),N=null,S=null}),N.end(),this.readyState=r.CONNECTING}function u(e,t,i,s){function o(e){f||h.readyState===r.CLOSED||(f=!0,i.removeListener("data",o),l.on("data",a),s&&s.length>0&&(a(s),s=null),e&&a(e))}function a(e){h.bytesReceived+=e.length,h._receiver.add(e)}var l=this._ultron=new y(i),f=!1,h=this;i.setTimeout(0),i.setNoDelay(!0),this._receiver=new e(this.extensions,this.maxPayload),this._socket=i,l.on("end",b.bind(this)),l.on("close",b.bind(this)),l.on("error",b.bind(this)),l.on("data",o),n.nextTick(o),h._receiver.ontext=function(e,t){t=t||{},h.emit("message",e,t)},h._receiver.onbinary=function(e,t){t=t||{},t.binary=!0,h.emit("message",e,t)},h._receiver.onping=function(e,t){t=t||{},h.pong(e,{mask:!h._isServer,binary:t.binary===!0},!0),h.emit("ping",e,t)},h._receiver.onpong=function(e,t){h.emit("pong",e,t||{})},h._receiver.onclose=function(e,t,i){i=i||{},h._closeReceived=!0,h.close(e,t)},h._receiver.onerror=function(e,t){h.close("undefined"!=typeof t?t:1002,""),h.emit("error",e instanceof Error?e:new Error(e))},this._sender=new t(i,this.extensions),this._sender.on("error",function(e){h.close(1002,""),h.emit("error",e)}),this.readyState=r.OPEN,this.emit("open")}function c(e){e._queue=e._queue||[]}function d(e){var t=e._queue;if("undefined"!=typeof t){delete e._queue;for(var i=0,n=t.length;i<n;++i)t[i]()}}function p(e,t,i,n){t.on("data",function(t){return e.readyState!==r.OPEN?void("function"==typeof n?n(new Error("not opened")):(delete e._queue,e.emit("error",new Error("not opened")))):(i.fin=!1,void e._sender.send(t,i))}),t.on("end",function(){return e.readyState!==r.OPEN?void("function"==typeof n?n(new Error("not opened")):(delete e._queue,e.emit("error",new Error("not opened")))):(i.fin=!0,e._sender.send(null,i),void("function"==typeof n&&n(null)))})}function b(e){if(this.readyState!==r.CLOSED){if(this.readyState=r.CLOSED,clearTimeout(this._closeTimer),this._closeTimer=null,!e&&this._closeReceived||(this._closeCode=1006),this.emit("close",this._closeCode||1e3,this._closeMessage||""),this._socket){this._ultron&&this._ultron.destroy(),this._socket.on("error",function(){try{this.destroy()}catch(e){}});try{e?this._socket.destroy():this._socket.end()}catch(e){}this._socket=null,this._ultron=null}this._sender&&(this._sender.removeAllListeners(),this._sender=null),this._receiver&&(this._receiver.cleanup(),this._receiver=null),this.extensions[C.extensionName]&&this.extensions[C.extensionName].cleanup(),this.extensions=null,this.removeAllListeners(),this.on("error",function(){}),delete this._queue}}/*!
* ws: a node.js websocket client
* Copyright(c) 2011 Einar Otto Stangvik <einaros@gmail.com>
* MIT Licensed
*/
var w=i(69),m=i(75),g=i(78),_=i(98),v=i(99),k=i(80),y=i(114),E=i(115),A=i(116),T=i(147),S=i(153),M=i(154),R=i(155),C=i(125),P=i(3).EventEmitter,x=13,I=3e4;m.inherits(r,P),["CONNECTING","OPEN","CLOSING","CLOSED"].forEach(function(e,t){r.prototype[e]=r[e]=t}),r.prototype.close=function(e,t){if(this.readyState!==r.CLOSED){if(this.readyState===r.CONNECTING)return void(this.readyState=r.CLOSED);if(this.readyState===r.CLOSING)return void(this._closeReceived&&this._isServer&&this.terminate());var i=this;try{this.readyState=r.CLOSING,this._closeCode=e,this._closeMessage=t;var n=!this._isServer;this._sender.close(e,t,n,function(e){e&&i.emit("error",e),i._closeReceived&&i._isServer?i.terminate():(clearTimeout(i._closeTimer),i._closeTimer=setTimeout(b.bind(i,!0),I))})}catch(e){this.emit("error",e)}}},r.prototype.pause=function(){if(this.readyState!==r.OPEN)throw new Error("not opened");return this._socket.pause()},r.prototype.ping=function(e,t,i){if(this.readyState!==r.OPEN){if(i===!0)return;throw new Error("not opened")}t=t||{},"undefined"==typeof t.mask&&(t.mask=!this._isServer),this._sender.ping(e,t)},r.prototype.pong=function(e,t,i){if(this.readyState!==r.OPEN){if(i===!0)return;throw new Error("not opened")}t=t||{},"undefined"==typeof t.mask&&(t.mask=!this._isServer),this._sender.pong(e,t)},r.prototype.resume=function(){if(this.readyState!==r.OPEN)throw new Error("not opened");return this._socket.resume()},r.prototype.send=function(e,i,s){if("function"==typeof i&&(s=i,i={}),this.readyState!==r.OPEN){if("function"!=typeof s)throw new Error("not opened");return void s(new Error("not opened"))}if(e||(e=""),this._queue){var o=this;return void this._queue.push(function(){o.send(e,i,s)})}i=i||{},i.fin=!0,"undefined"==typeof i.binary&&(i.binary=e instanceof ArrayBuffer||e instanceof t||e instanceof Uint8Array||e instanceof Uint16Array||e instanceof Uint32Array||e instanceof Int8Array||e instanceof Int16Array||e instanceof Int32Array||e instanceof Float32Array||e instanceof Float64Array),"undefined"==typeof i.mask&&(i.mask=!this._isServer),"undefined"==typeof i.compress&&(i.compress=!0),this.extensions[C.extensionName]||(i.compress=!1);var a="function"==typeof k.Readable?k.Readable:k.Stream;if(e instanceof a){c(this);var o=this;p(this,e,i,function(e){n.nextTick(function(){d(o)}),"function"==typeof s&&s(e)})}else this._sender.send(e,i,s)},r.prototype.stream=function(e,t){function i(o,a){try{if(s.readyState!==r.OPEN)throw new Error("not opened");e.fin=a===!0,s._sender.send(o,e),a?d(s):n.nextTick(t.bind(null,null,i))}catch(e){"function"==typeof t?t(e):(delete s._queue,s.emit("error",e))}}"function"==typeof e&&(t=e,e={});var s=this;if("function"!=typeof t)throw new Error("callback must be provided");if(this.readyState!==r.OPEN){if("function"!=typeof t)throw new Error("not opened");return void t(new Error("not opened"))}return this._queue?void this._queue.push(function(){s.stream(e,t)}):(e=e||{},"undefined"==typeof e.mask&&(e.mask=!this._isServer),"undefined"==typeof e.compress&&(e.compress=!0),this.extensions[C.extensionName]||(e.compress=!1),c(this),void n.nextTick(t.bind(null,null,i)))},r.prototype.terminate=function(){if(this.readyState!==r.CLOSED)if(this._socket){this.readyState=r.CLOSING;try{this._socket.end()}catch(e){return void b.call(this,!0)}this._closeTimer&&clearTimeout(this._closeTimer),this._closeTimer=setTimeout(b.bind(this,!0),I)}else this.readyState===r.CONNECTING&&b.call(this,!0)},Object.defineProperty(r.prototype,"bufferedAmount",{get:function(){var e=0;return this._socket&&(e=this._socket.bufferSize||0),e}}),Object.defineProperty(r.prototype,"binaryType",{get:function(){return this._binaryType},set:function(e){if("arraybuffer"!==e&&"nodebuffer"!==e)throw new SyntaxError('unsupported binaryType: must be either "nodebuffer" or "arraybuffer"');this._binaryType=e}}),["open","error","close","message"].forEach(function(e){Object.defineProperty(r.prototype,"on"+e,{get:function(){var t=this.listeners(e)[0];return t?t._listener?t._listener:t:void 0},set:function(t){this.removeAllListeners(e),this.addEventListener(e,t)}})}),r.prototype.addEventListener=function(e,t){function i(e,i){i.binary&&"arraybuffer"===this.binaryType&&(e=new Uint8Array(e).buffer),t.call(f,new s(e,!!i.binary,f))}function n(e,i){t.call(f,new o(e,i,f))}function r(e){e.type="error",e.target=f,t.call(f,e)}function l(){t.call(f,new a(f))}var f=this;"function"==typeof t&&("message"===e?(i._listener=t,this.on(e,i)):"close"===e?(n._listener=t,this.on(e,n)):"error"===e?(r._listener=t,this.on(e,r)):"open"===e?(l._listener=t,this.on(e,l)):this.on(e,t))},e.exports=r,e.exports.buildHostHeader=l}).call(t,i(58).Buffer,i(2))},function(e,t,i){function n(){this.protocol=null,this.slashes=null,this.auth=null,this.host=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.query=null,this.pathname=null,this.path=null,this.href=null}function r(e,t,i){if(e&&f(e)&&e instanceof n)return e;var r=new n;return r.parse(e,t,i),r}function s(e){return l(e)&&(e=r(e)),e instanceof n?e.format():n.prototype.format.call(e)}function o(e,t){return r(e,!1,!0).resolve(t)}function a(e,t){return e?r(e,!1,!0).resolveObject(t):t}function l(e){return"string"==typeof e}function f(e){return"object"==typeof e&&null!==e}function h(e){return null===e}function u(e){return null==e}var c=i(70);t.parse=r,t.resolve=o,t.resolveObject=a,t.format=s,t.Url=n;var d=/^([a-z0-9.+-]+:)/i,p=/:[0-9]*$/,b=["<",">",'"',"`"," ","\r","\n","\t"],w=["{","}","|","\\","^","`"].concat(b),m=["'"].concat(w),g=["%","/","?",";","#"].concat(m),_=["/","?","#"],v=255,k=/^[a-z0-9A-Z_-]{0,63}$/,y=/^([a-z0-9A-Z_-]{0,63})(.*)$/,E={javascript:!0,"javascript:":!0},A={javascript:!0,"javascript:":!0},T={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},S=i(72);n.prototype.parse=function(e,t,i){if(!l(e))throw new TypeError("Parameter 'url' must be a string, not "+typeof e);var n=e;n=n.trim();var r=d.exec(n);if(r){r=r[0];var s=r.toLowerCase();this.protocol=s,n=n.substr(r.length)}if(i||r||n.match(/^\/\/[^@\/]+@[^@\/]+/)){var o="//"===n.substr(0,2);!o||r&&A[r]||(n=n.substr(2),this.slashes=!0)}if(!A[r]&&(o||r&&!T[r])){for(var a=-1,f=0;f<_.length;f++){var h=n.indexOf(_[f]);h!==-1&&(a===-1||h<a)&&(a=h)}var u,p;p=a===-1?n.lastIndexOf("@"):n.lastIndexOf("@",a),p!==-1&&(u=n.slice(0,p),n=n.slice(p+1),this.auth=decodeURIComponent(u)),a=-1;for(var f=0;f<g.length;f++){var h=n.indexOf(g[f]);h!==-1&&(a===-1||h<a)&&(a=h)}a===-1&&(a=n.length),this.host=n.slice(0,a),n=n.slice(a),this.parseHost(),this.hostname=this.hostname||"";var b="["===this.hostname[0]&&"]"===this.hostname[this.hostname.length-1];if(!b)for(var w=this.hostname.split(/\./),f=0,M=w.length;f<M;f++){var R=w[f];if(R&&!R.match(k)){for(var C="",P=0,x=R.length;P<x;P++)C+=R.charCodeAt(P)>127?"x":R[P];if(!C.match(k)){var I=w.slice(0,f),O=w.slice(f+1),N=R.match(y);N&&(I.push(N[1]),O.unshift(N[2])),O.length&&(n="/"+O.join(".")+n),this.hostname=I.join(".");break}}}if(this.hostname.length>v?this.hostname="":this.hostname=this.hostname.toLowerCase(),!b){for(var D=this.hostname.split("."),L=[],f=0;f<D.length;++f){var U=D[f];L.push(U.match(/[^A-Za-z0-9_-]/)?"xn--"+c.encode(U):U)}this.hostname=L.join(".")}var B=this.port?":"+this.port:"",j=this.hostname||"";this.host=j+B,this.href+=this.host,b&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),"/"!==n[0]&&(n="/"+n))}if(!E[s])for(var f=0,M=m.length;f<M;f++){var F=m[f],G=encodeURIComponent(F);G===F&&(G=escape(F)),n=n.split(F).join(G)}var H=n.indexOf("#");H!==-1&&(this.hash=n.substr(H),n=n.slice(0,H));var z=n.indexOf("?");if(z!==-1?(this.search=n.substr(z),this.query=n.substr(z+1),t&&(this.query=S.parse(this.query)),n=n.slice(0,z)):t&&(this.search="",this.query={}),n&&(this.pathname=n),T[s]&&this.hostname&&!this.pathname&&(this.pathname="/"),this.pathname||this.search){var B=this.pathname||"",U=this.search||"";this.path=B+U}return this.href=this.format(),this},n.prototype.format=function(){var e=this.auth||"";e&&(e=encodeURIComponent(e),e=e.replace(/%3A/i,":"),e+="@");var t=this.protocol||"",i=this.pathname||"",n=this.hash||"",r=!1,s="";this.host?r=e+this.host:this.hostname&&(r=e+(this.hostname.indexOf(":")===-1?this.hostname:"["+this.hostname+"]"),this.port&&(r+=":"+this.port)),this.query&&f(this.query)&&Object.keys(this.query).length&&(s=S.stringify(this.query));var o=this.search||s&&"?"+s||"";return t&&":"!==t.substr(-1)&&(t+=":"),this.slashes||(!t||T[t])&&r!==!1?(r="//"+(r||""),i&&"/"!==i.charAt(0)&&(i="/"+i)):r||(r=""),n&&"#"!==n.charAt(0)&&(n="#"+n),o&&"?"!==o.charAt(0)&&(o="?"+o),i=i.replace(/[?#]/g,function(e){return encodeURIComponent(e)}),o=o.replace("#","%23"),t+r+i+o+n},n.prototype.resolve=function(e){return this.resolveObject(r(e,!1,!0)).format()},n.prototype.resolveObject=function(e){if(l(e)){var t=new n;t.parse(e,!1,!0),e=t}var i=new n;if(Object.keys(this).forEach(function(e){i[e]=this[e]},this),i.hash=e.hash,""===e.href)return i.href=i.format(),i;if(e.slashes&&!e.protocol)return Object.keys(e).forEach(function(t){"protocol"!==t&&(i[t]=e[t])}),T[i.protocol]&&i.hostname&&!i.pathname&&(i.path=i.pathname="/"),i.href=i.format(),i;if(e.protocol&&e.protocol!==i.protocol){if(!T[e.protocol])return Object.keys(e).forEach(function(t){i[t]=e[t]}),i.href=i.format(),i;if(i.protocol=e.protocol,e.host||A[e.protocol])i.pathname=e.pathname;else{for(var r=(e.pathname||"").split("/");r.length&&!(e.host=r.shift()););e.host||(e.host=""),e.hostname||(e.hostname=""),""!==r[0]&&r.unshift(""),r.length<2&&r.unshift(""),i.pathname=r.join("/")}if(i.search=e.search,i.query=e.query,i.host=e.host||"",i.auth=e.auth,i.hostname=e.hostname||e.host,i.port=e.port,i.pathname||i.search){var s=i.pathname||"",o=i.search||"";i.path=s+o}return i.slashes=i.slashes||e.slashes,i.href=i.format(),i}var a=i.pathname&&"/"===i.pathname.charAt(0),f=e.host||e.pathname&&"/"===e.pathname.charAt(0),c=f||a||i.host&&e.pathname,d=c,p=i.pathname&&i.pathname.split("/")||[],r=e.pathname&&e.pathname.split("/")||[],b=i.protocol&&!T[i.protocol];if(b&&(i.hostname="",i.port=null,i.host&&(""===p[0]?p[0]=i.host:p.unshift(i.host)),i.host="",e.protocol&&(e.hostname=null,e.port=null,e.host&&(""===r[0]?r[0]=e.host:r.unshift(e.host)),e.host=null),c=c&&(""===r[0]||""===p[0])),f)i.host=e.host||""===e.host?e.host:i.host,i.hostname=e.hostname||""===e.hostname?e.hostname:i.hostname,i.search=e.search,i.query=e.query,p=r;else if(r.length)p||(p=[]),p.pop(),p=p.concat(r),i.search=e.search,i.query=e.query;else if(!u(e.search)){if(b){i.hostname=i.host=p.shift();var w=!!(i.host&&i.host.indexOf("@")>0)&&i.host.split("@");w&&(i.auth=w.shift(),i.host=i.hostname=w.shift())}return i.search=e.search,i.query=e.query,h(i.pathname)&&h(i.search)||(i.path=(i.pathname?i.pathname:"")+(i.search?i.search:"")),i.href=i.format(),i}if(!p.length)return i.pathname=null,i.search?i.path="/"+i.search:i.path=null,i.href=i.format(),i;for(var m=p.slice(-1)[0],g=(i.host||e.host)&&("."===m||".."===m)||""===m,_=0,v=p.length;v>=0;v--)m=p[v],"."==m?p.splice(v,1):".."===m?(p.splice(v,1),_++):_&&(p.splice(v,1),_--);if(!c&&!d)for(;_--;_)p.unshift("..");!c||""===p[0]||p[0]&&"/"===p[0].charAt(0)||p.unshift(""),g&&"/"!==p.join("/").substr(-1)&&p.push("");var k=""===p[0]||p[0]&&"/"===p[0].charAt(0);if(b){i.hostname=i.host=k?"":p.length?p.shift():"";var w=!!(i.host&&i.host.indexOf("@")>0)&&i.host.split("@");w&&(i.auth=w.shift(),i.host=i.hostname=w.shift())}return c=c||i.host&&p.length,c&&!k&&p.unshift(""),p.length?i.pathname=p.join("/"):(i.pathname=null,i.path=null),h(i.pathname)&&h(i.search)||(i.path=(i.pathname?i.pathname:"")+(i.search?i.search:"")),i.auth=e.auth||i.auth,i.slashes=i.slashes||e.slashes,i.href=i.format(),i},n.prototype.parseHost=function(){var e=this.host,t=p.exec(e);t&&(t=t[0],":"!==t&&(this.port=t.substr(1)),e=e.substr(0,e.length-t.length)),e&&(this.hostname=e)}},function(e,t,i){var n;(function(e,r){!function(s){function o(e){throw RangeError(I[e])}function a(e,t){for(var i=e.length,n=[];i--;)n[i]=t(e[i]);return n}function l(e,t){var i=e.split("@"),n="";i.length>1&&(n=i[0]+"@",e=i[1]),e=e.replace(x,".");var r=e.split("."),s=a(r,t).join(".");return n+s}function f(e){for(var t,i,n=[],r=0,s=e.length;r<s;)t=e.charCodeAt(r++),t>=55296&&t<=56319&&r<s?(i=e.charCodeAt(r++),56320==(64512&i)?n.push(((1023&t)<<10)+(1023&i)+65536):(n.push(t),r--)):n.push(t);return n}function h(e){return a(e,function(e){var t="";return e>65535&&(e-=65536,t+=D(e>>>10&1023|55296),e=56320|1023&e),t+=D(e)}).join("")}function u(e){return e-48<10?e-22:e-65<26?e-65:e-97<26?e-97:k}function c(e,t){return e+22+75*(e<26)-((0!=t)<<5)}function d(e,t,i){var n=0;for(e=i?N(e/T):e>>1,e+=N(e/t);e>O*E>>1;n+=k)e=N(e/O);return N(n+(O+1)*e/(e+A))}function p(e){var t,i,n,r,s,a,l,f,c,p,b=[],w=e.length,m=0,g=M,_=S;for(i=e.lastIndexOf(R),i<0&&(i=0),n=0;n<i;++n)e.charCodeAt(n)>=128&&o("not-basic"),b.push(e.charCodeAt(n));for(r=i>0?i+1:0;r<w;){for(s=m,a=1,l=k;r>=w&&o("invalid-input"),f=u(e.charCodeAt(r++)),(f>=k||f>N((v-m)/a))&&o("overflow"),m+=f*a,c=l<=_?y:l>=_+E?E:l-_,!(f<c);l+=k)p=k-c,a>N(v/p)&&o("overflow"),a*=p;t=b.length+1,_=d(m-s,t,0==s),N(m/t)>v-g&&o("overflow"),g+=N(m/t),m%=t,b.splice(m++,0,g)}return h(b)}function b(e){var t,i,n,r,s,a,l,h,u,p,b,w,m,g,_,A=[];for(e=f(e),w=e.length,t=M,i=0,s=S,a=0;a<w;++a)b=e[a],b<128&&A.push(D(b));for(n=r=A.length,r&&A.push(R);n<w;){for(l=v,a=0;a<w;++a)b=e[a],b>=t&&b<l&&(l=b);for(m=n+1,l-t>N((v-i)/m)&&o("overflow"),i+=(l-t)*m,t=l,a=0;a<w;++a)if(b=e[a],b<t&&++i>v&&o("overflow"),b==t){for(h=i,u=k;p=u<=s?y:u>=s+E?E:u-s,!(h<p);u+=k)_=h-p,g=k-p,A.push(D(c(p+_%g,0))),h=N(_/g);A.push(D(c(h,0))),s=d(i,m,n==r),i=0,++n}++i,++t}return A.join("")}function w(e){return l(e,function(e){return C.test(e)?p(e.slice(4).toLowerCase()):e})}function m(e){return l(e,function(e){return P.test(e)?"xn--"+b(e):e})}var g=("object"==typeof t&&t&&!t.nodeType&&t,"object"==typeof e&&e&&!e.nodeType&&e,"object"==typeof r&&r);g.global!==g&&g.window!==g&&g.self!==g||(s=g);var _,v=2147483647,k=36,y=1,E=26,A=38,T=700,S=72,M=128,R="-",C=/^xn--/,P=/[^\x20-\x7E]/,x=/[\x2E\u3002\uFF0E\uFF61]/g,I={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},O=k-y,N=Math.floor,D=String.fromCharCode;_={version:"1.3.2",ucs2:{decode:f,encode:h},decode:p,encode:b,toASCII:m,toUnicode:w},n=function(){return _}.call(t,i,t,e),!(void 0!==n&&(e.exports=n))}(this)}).call(t,i(71)(e),function(){return this}())},function(e,t){e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children=[],e.webpackPolyfill=1),e}},function(e,t,i){"use strict";t.decode=t.parse=i(73),t.encode=t.stringify=i(74)},function(e,t){"use strict";function i(e,t){return Object.prototype.hasOwnProperty.call(e,t)}e.exports=function(e,t,n,r){t=t||"&",n=n||"=";var s={};if("string"!=typeof e||0===e.length)return s;var o=/\+/g;e=e.split(t);var a=1e3;r&&"number"==typeof r.maxKeys&&(a=r.maxKeys);var l=e.length;a>0&&l>a&&(l=a);for(var f=0;f<l;++f){var h,u,c,d,p=e[f].replace(o,"%20"),b=p.indexOf(n);b>=0?(h=p.substr(0,b),u=p.substr(b+1)):(h=p,u=""),c=decodeURIComponent(h),d=decodeURIComponent(u),i(s,c)?Array.isArray(s[c])?s[c].push(d):s[c]=[s[c],d]:s[c]=d}return s}},function(e,t){"use strict";var i=function(e){switch(typeof e){case"string":return e;case"boolean":return e?"true":"false";case"number":return isFinite(e)?e:"";default:return""}};e.exports=function(e,t,n,r){return t=t||"&",n=n||"=",null===e&&(e=void 0),"object"==typeof e?Object.keys(e).map(function(r){var s=encodeURIComponent(i(r))+n;return Array.isArray(e[r])?e[r].map(function(e){return s+encodeURIComponent(i(e))}).join(t):s+encodeURIComponent(i(e[r]))}).join(t):r?encodeURIComponent(i(r))+n+encodeURIComponent(i(e)):""}},function(e,t,i){(function(e,n){function r(e,i){var n={seen:[],stylize:o};return arguments.length>=3&&(n.depth=arguments[2]),arguments.length>=4&&(n.colors=arguments[3]),b(i)?n.showHidden=i:i&&t._extend(n,i),k(n.showHidden)&&(n.showHidden=!1),k(n.depth)&&(n.depth=2),k(n.colors)&&(n.colors=!1),k(n.customInspect)&&(n.customInspect=!0),n.colors&&(n.stylize=s),l(n,e,n.depth)}function s(e,t){var i=r.styles[t];return i?"["+r.colors[i][0]+"m"+e+"["+r.colors[i][1]+"m":e}function o(e,t){return e}function a(e){var t={};return e.forEach(function(e,i){t[e]=!0}),t}function l(e,i,n){if(e.customInspect&&i&&S(i.inspect)&&i.inspect!==t.inspect&&(!i.constructor||i.constructor.prototype!==i)){var r=i.inspect(n,e);return _(r)||(r=l(e,r,n)),r}var s=f(e,i);if(s)return s;var o=Object.keys(i),b=a(o);if(e.showHidden&&(o=Object.getOwnPropertyNames(i)),T(i)&&(o.indexOf("message")>=0||o.indexOf("description")>=0))return h(i);if(0===o.length){if(S(i)){var w=i.name?": "+i.name:"";return e.stylize("[Function"+w+"]","special")}if(y(i))return e.stylize(RegExp.prototype.toString.call(i),"regexp");if(A(i))return e.stylize(Date.prototype.toString.call(i),"date");if(T(i))return h(i)}var m="",g=!1,v=["{","}"];if(p(i)&&(g=!0,v=["[","]"]),S(i)){var k=i.name?": "+i.name:"";m=" [Function"+k+"]"}if(y(i)&&(m=" "+RegExp.prototype.toString.call(i)),A(i)&&(m=" "+Date.prototype.toUTCString.call(i)),T(i)&&(m=" "+h(i)),0===o.length&&(!g||0==i.length))return v[0]+m+v[1];if(n<0)return y(i)?e.stylize(RegExp.prototype.toString.call(i),"regexp"):e.stylize("[Object]","special");e.seen.push(i);var E;return E=g?u(e,i,n,b,o):o.map(function(t){return c(e,i,n,b,t,g)}),e.seen.pop(),d(E,m,v)}function f(e,t){if(k(t))return e.stylize("undefined","undefined");if(_(t)){var i="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(i,"string")}return g(t)?e.stylize(""+t,"number"):b(t)?e.stylize(""+t,"boolean"):w(t)?e.stylize("null","null"):void 0}function h(e){return"["+Error.prototype.toString.call(e)+"]"}function u(e,t,i,n,r){for(var s=[],o=0,a=t.length;o<a;++o)x(t,String(o))?s.push(c(e,t,i,n,String(o),!0)):s.push("");return r.forEach(function(r){r.match(/^\d+$/)||s.push(c(e,t,i,n,r,!0))}),s}function c(e,t,i,n,r,s){var o,a,f;if(f=Object.getOwnPropertyDescriptor(t,r)||{value:t[r]},f.get?a=f.set?e.stylize("[Getter/Setter]","special"):e.stylize("[Getter]","special"):f.set&&(a=e.stylize("[Setter]","special")),x(n,r)||(o="["+r+"]"),a||(e.seen.indexOf(f.value)<0?(a=w(i)?l(e,f.value,null):l(e,f.value,i-1),a.indexOf("\n")>-1&&(a=s?a.split("\n").map(function(e){return" "+e}).join("\n").substr(2):"\n"+a.split("\n").map(function(e){return" "+e}).join("\n"))):a=e.stylize("[Circular]","special")),k(o)){if(s&&r.match(/^\d+$/))return a;o=JSON.stringify(""+r),o.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(o=o.substr(1,o.length-2),o=e.stylize(o,"name")):(o=o.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),o=e.stylize(o,"string"))}return o+": "+a}function d(e,t,i){var n=0,r=e.reduce(function(e,t){return n++,t.indexOf("\n")>=0&&n++,e+t.replace(/\u001b\[\d\d?m/g,"").length+1},0);return r>60?i[0]+(""===t?"":t+"\n ")+" "+e.join(",\n ")+" "+i[1]:i[0]+t+" "+e.join(", ")+" "+i[1]}function p(e){return Array.isArray(e)}function b(e){return"boolean"==typeof e}function w(e){return null===e}function m(e){return null==e}function g(e){return"number"==typeof e}function _(e){return"string"==typeof e}function v(e){return"symbol"==typeof e}function k(e){return void 0===e}function y(e){return E(e)&&"[object RegExp]"===R(e)}function E(e){return"object"==typeof e&&null!==e}function A(e){return E(e)&&"[object Date]"===R(e)}function T(e){return E(e)&&("[object Error]"===R(e)||e instanceof Error)}function S(e){return"function"==typeof e}function M(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||"undefined"==typeof e}function R(e){return Object.prototype.toString.call(e)}function C(e){return e<10?"0"+e.toString(10):e.toString(10)}function P(){var e=new Date,t=[C(e.getHours()),C(e.getMinutes()),C(e.getSeconds())].join(":");return[e.getDate(),D[e.getMonth()],t].join(" ")}function x(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var I=/%[sdj%]/g;t.format=function(e){if(!_(e)){for(var t=[],i=0;i<arguments.length;i++)t.push(r(arguments[i]));return t.join(" ")}for(var i=1,n=arguments,s=n.length,o=String(e).replace(I,function(e){if("%%"===e)return"%";if(i>=s)return e;switch(e){case"%s":return String(n[i++]);case"%d":return Number(n[i++]);case"%j":try{return JSON.stringify(n[i++])}catch(e){return"[Circular]"}default:return e}}),a=n[i];i<s;a=n[++i])o+=w(a)||!E(a)?" "+a:" "+r(a);return o},t.deprecate=function(i,r){function s(){if(!o){if(n.throwDeprecation)throw new Error(r);n.traceDeprecation?console.trace(r):console.error(r),o=!0}return i.apply(this,arguments)}if(k(e.process))return function(){return t.deprecate(i,r).apply(this,arguments)};if(n.noDeprecation===!0)return i;var o=!1;return s};var O,N={};t.debuglog=function(e){if(k(O)&&(O=n.env.NODE_DEBUG||""),e=e.toUpperCase(),!N[e])if(new RegExp("\\b"+e+"\\b","i").test(O)){var i=n.pid;N[e]=function(){var n=t.format.apply(t,arguments);console.error("%s %d: %s",e,i,n)}}else N[e]=function(){};return N[e]},t.inspect=r,r.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},r.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},t.isArray=p,t.isBoolean=b,t.isNull=w,t.isNullOrUndefined=m,t.isNumber=g,t.isString=_,t.isSymbol=v,t.isUndefined=k,t.isRegExp=y,t.isObject=E,t.isDate=A,t.isError=T,t.isFunction=S,t.isPrimitive=M,t.isBuffer=i(76);var D=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];t.log=function(){console.log("%s - %s",P(),t.format.apply(t,arguments))},t.inherits=i(77),t._extend=function(e,t){if(!t||!E(t))return e;for(var i=Object.keys(t),n=i.length;n--;)e[i[n]]=t[i[n]];return e}}).call(t,function(){return this}(),i(2))},function(e,t){e.exports=function(e){return e&&"object"==typeof e&&"function"==typeof e.copy&&"function"==typeof e.fill&&"function"==typeof e.readUInt8}},function(e,t){"function"==typeof Object.create?e.exports=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:e.exports=function(e,t){e.super_=t;var i=function(){};i.prototype=t.prototype,e.prototype=new i,e.prototype.constructor=e}},function(e,t,i){var n=e.exports,r=(i(3).EventEmitter,i(79)),s=i(69);n.request=function(e,t){"string"==typeof e&&(e=s.parse(e)),e||(e={}),e.host||e.port||(e.port=parseInt(window.location.port,10)),!e.host&&e.hostname&&(e.host=e.hostname),e.protocol||(e.scheme?e.protocol=e.scheme+":":e.protocol=window.location.protocol),e.host||(e.host=window.location.hostname||window.location.host),/:/.test(e.host)&&(e.port||(e.port=e.host.split(":")[1]),e.host=e.host.split(":")[0]),e.port||(e.port="https:"==e.protocol?443:80);var i=new r(new o,e);return t&&i.on("response",t),i},n.get=function(e,t){e.method="GET";var i=n.request(e,t);return i.end(),i},n.Agent=function(){},n.Agent.defaultMaxSockets=4;var o=function(){if("undefined"==typeof window)throw new Error("no window object present");if(window.XMLHttpRequest)return window.XMLHttpRequest;if(window.ActiveXObject){for(var e=["Msxml2.XMLHTTP.6.0","Msxml2.XMLHTTP.3.0","Microsoft.XMLHTTP"],t=0;t<e.length;t++)try{var i=new window.ActiveXObject(e[t]);return function(){if(i){var n=i;return i=null,n}return new window.ActiveXObject(e[t])}}catch(e){}throw new Error("ajax not supported in this browser")}throw new Error("ajax not supported in this browser")}();n.STATUS_CODES={100:"Continue",101:"Switching Protocols",102:"Processing",200:"OK",201:"Created",202:"Accepted",203:"Non-Authoritative Information",204:"No Content",205:"Reset Content",206:"Partial Content",207:"Multi-Status",300:"Multiple Choices",301:"Moved Permanently",302:"Moved Temporarily",303:"See Other",304:"Not Modified",305:"Use Proxy",307:"Temporary Redirect",400:"Bad Request",401:"Unauthorized",402:"Payment Required",403:"Forbidden",404:"Not Found",405:"Method Not Allowed",406:"Not Acceptable",407:"Proxy Authentication Required",408:"Request Time-out",409:"Conflict",410:"Gone",411:"Length Required",412:"Precondition Failed",413:"Request Entity Too Large",414:"Request-URI Too Large",415:"Unsupported Media Type",416:"Requested Range Not Satisfiable",417:"Expectation Failed",418:"I'm a teapot",422:"Unprocessable Entity",423:"Locked",424:"Failed Dependency",425:"Unordered Collection",426:"Upgrade Required",428:"Precondition Required",429:"Too Many Requests",431:"Request Header Fields Too Large",500:"Internal Server Error",501:"Not Implemented",502:"Bad Gateway",503:"Service Unavailable",504:"Gateway Time-out",505:"HTTP Version Not Supported",506:"Variant Also Negotiates",507:"Insufficient Storage",509:"Bandwidth Limit Exceeded",510:"Not Extended",511:"Network Authentication Required"}},function(e,t,i){var n=i(80),r=i(96),s=i(97),o=i(81),a=e.exports=function(e,t){var i=this;i.writable=!0,i.xhr=e,i.body=[],i.uri=(t.protocol||"http:")+"//"+t.host+(t.port?":"+t.port:"")+(t.path||"/"),"undefined"==typeof t.withCredentials&&(t.withCredentials=!0);try{e.withCredentials=t.withCredentials}catch(e){}if(t.responseType)try{e.responseType=t.responseType}catch(e){}if(e.open(t.method||"GET",i.uri,!0),e.onerror=function(e){i.emit("error",new Error("Network error"))},i._headers={},t.headers)for(var n=l(t.headers),o=0;o<n.length;o++){var a=n[o];if(i.isSafeRequestHeader(a)){var f=t.headers[a];i.setHeader(a,f)}}t.auth&&this.setHeader("Authorization","Basic "+s.btoa(t.auth));var h=new r;h.on("close",function(){i.emit("close")}),h.on("ready",function(){i.emit("response",h)}),h.on("error",function(e){i.emit("error",e)}),e.onreadystatechange=function(){e.__aborted||h.handle(e)}};o(a,n),a.prototype.setHeader=function(e,t){this._headers[e.toLowerCase()]=t},a.prototype.getHeader=function(e){return this._headers[e.toLowerCase()]},a.prototype.removeHeader=function(e){delete this._headers[e.toLowerCase()]},a.prototype.write=function(e){this.body.push(e)},a.prototype.destroy=function(e){this.xhr.__aborted=!0,this.xhr.abort(),this.emit("close")},a.prototype.end=function(e){void 0!==e&&this.body.push(e);for(var t=l(this._headers),i=0;i<t.length;i++){var n=t[i],r=this._headers[n];if(f(r))for(var s=0;s<r.length;s++)this.xhr.setRequestHeader(n,r[s]);else this.xhr.setRequestHeader(n,r)}if(0===this.body.length)this.xhr.send("");else if("string"==typeof this.body[0])this.xhr.send(this.body.join(""));else if(f(this.body[0])){for(var o=[],i=0;i<this.body.length;i++)o.push.apply(o,this.body[i]);this.xhr.send(o)}else if(/Array/.test(Object.prototype.toString.call(this.body[0]))){for(var a=0,i=0;i<this.body.length;i++)a+=this.body[i].length;for(var o=new this.body[0].constructor(a),h=0,i=0;i<this.body.length;i++)for(var c=this.body[i],s=0;s<c.length;s++)o[h++]=c[s];this.xhr.send(o)}else if(u(this.body[0]))this.xhr.send(this.body[0]);else{for(var o="",i=0;i<this.body.length;i++)o+=this.body[i].toString();this.xhr.send(o)}},a.unsafeHeaders=["accept-charset","accept-encoding","access-control-request-headers","access-control-request-method","connection","content-length","cookie","cookie2","content-transfer-encoding","date","expect","host","keep-alive","origin","referer","te","trailer","transfer-encoding","upgrade","user-agent","via"],a.prototype.isSafeRequestHeader=function(e){return!!e&&h(a.unsafeHeaders,e.toLowerCase())===-1};var l=Object.keys||function(e){var t=[];for(var i in e)t.push(i);return t},f=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)},h=function(e,t){if(e.indexOf)return e.indexOf(t);for(var i=0;i<e.length;i++)if(e[i]===t)return i;return-1},u=function(e){return"undefined"!=typeof Blob&&e instanceof Blob||("undefined"!=typeof ArrayBuffer&&e instanceof ArrayBuffer||("undefined"!=typeof FormData&&e instanceof FormData||void 0))}},function(e,t,i){function n(){r.call(this)}e.exports=n;var r=i(3).EventEmitter,s=i(81);s(n,r),n.Readable=i(82),n.Writable=i(92),n.Duplex=i(93),n.Transform=i(94),n.PassThrough=i(95),n.Stream=n,n.prototype.pipe=function(e,t){function i(t){e.writable&&!1===e.write(t)&&f.pause&&f.pause()}function n(){f.readable&&f.resume&&f.resume()}function s(){h||(h=!0,e.end())}function o(){h||(h=!0,"function"==typeof e.destroy&&e.destroy())}function a(e){if(l(),0===r.listenerCount(this,"error"))throw e}function l(){f.removeListener("data",i),e.removeListener("drain",n),f.removeListener("end",s),f.removeListener("close",o),f.removeListener("error",a),e.removeListener("error",a),f.removeListener("end",l),f.removeListener("close",l),e.removeListener("close",l)}var f=this;f.on("data",i),e.on("drain",n),e._isStdio||t&&t.end===!1||(f.on("end",s),f.on("close",o));var h=!1;return f.on("error",a),e.on("error",a),f.on("end",l),f.on("close",l),e.on("close",l),e.emit("pipe",f),e}},function(e,t){"function"==typeof Object.create?e.exports=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:e.exports=function(e,t){e.super_=t;var i=function(){};i.prototype=t.prototype,e.prototype=new i,e.prototype.constructor=e}},function(e,t,i){(function(n){t=e.exports=i(83),t.Stream=i(80),t.Readable=t,t.Writable=i(88),t.Duplex=i(87),t.Transform=i(90),t.PassThrough=i(91),n.browser||"disable"!==n.env.READABLE_STREAM||(e.exports=i(80))}).call(t,i(2))},function(e,t,i){(function(t){function n(e,t){var n=i(87);e=e||{};var r=e.highWaterMark,s=e.objectMode?16:16384;this.highWaterMark=r||0===r?r:s,this.highWaterMark=~~this.highWaterMark,this.buffer=[],this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.objectMode=!!e.objectMode,t instanceof n&&(this.objectMode=this.objectMode||!!e.readableObjectMode),this.defaultEncoding=e.defaultEncoding||"utf8",this.ranOut=!1,this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(R||(R=i(89).StringDecoder),this.decoder=new R(e.encoding),this.encoding=e.encoding)}function r(e){i(87);return this instanceof r?(this._readableState=new n(e,this),this.readable=!0,void S.call(this)):new r(e)}function s(e,t,i,n,r){var s=f(t,i);if(s)e.emit("error",s);else if(M.isNullOrUndefined(i))t.reading=!1,t.ended||h(e,t);else if(t.objectMode||i&&i.length>0)if(t.ended&&!r){var a=new Error("stream.push() after EOF");e.emit("error",a)}else if(t.endEmitted&&r){var a=new Error("stream.unshift() after end event");e.emit("error",a)}else!t.decoder||r||n||(i=t.decoder.write(i)),r||(t.reading=!1),t.flowing&&0===t.length&&!t.sync?(e.emit("data",i),e.read(0)):(t.length+=t.objectMode?1:i.length,r?t.buffer.unshift(i):t.buffer.push(i),t.needReadable&&u(e)),d(e,t);else r||(t.reading=!1);return o(t)}function o(e){return!e.ended&&(e.needReadable||e.length<e.highWaterMark||0===e.length)}function a(e){if(e>=P)e=P;else{e--;for(var t=1;t<32;t<<=1)e|=e>>t;e++}return e}function l(e,t){return 0===t.length&&t.ended?0:t.objectMode?0===e?0:1:isNaN(e)||M.isNull(e)?t.flowing&&t.buffer.length?t.buffer[0].length:t.length:e<=0?0:(e>t.highWaterMark&&(t.highWaterMark=a(e)),e>t.length?t.ended?t.length:(t.needReadable=!0,0):e)}function f(e,t){var i=null;return M.isBuffer(t)||M.isString(t)||M.isNullOrUndefined(t)||e.objectMode||(i=new TypeError("Invalid non-string/buffer chunk")),i}function h(e,t){if(t.decoder&&!t.ended){var i=t.decoder.end();i&&i.length&&(t.buffer.push(i),t.length+=t.objectMode?1:i.length)}t.ended=!0,u(e)}function u(e){var i=e._readableState;i.needReadable=!1,i.emittedReadable||(C("emitReadable",i.flowing),i.emittedReadable=!0,i.sync?t.nextTick(function(){c(e)}):c(e))}function c(e){C("emit readable"),e.emit("readable"),g(e)}function d(e,i){i.readingMore||(i.readingMore=!0,t.nextTick(function(){p(e,i)}))}function p(e,t){for(var i=t.length;!t.reading&&!t.flowing&&!t.ended&&t.length<t.highWaterMark&&(C("maybeReadMore read 0"),e.read(0),i!==t.length);)i=t.length;t.readingMore=!1;
}function b(e){return function(){var t=e._readableState;C("pipeOnDrain",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,0===t.awaitDrain&&T.listenerCount(e,"data")&&(t.flowing=!0,g(e))}}function w(e,i){i.resumeScheduled||(i.resumeScheduled=!0,t.nextTick(function(){m(e,i)}))}function m(e,t){t.resumeScheduled=!1,e.emit("resume"),g(e),t.flowing&&!t.reading&&e.read(0)}function g(e){var t=e._readableState;if(C("flow",t.flowing),t.flowing)do var i=e.read();while(null!==i&&t.flowing)}function _(e,t){var i,n=t.buffer,r=t.length,s=!!t.decoder,o=!!t.objectMode;if(0===n.length)return null;if(0===r)i=null;else if(o)i=n.shift();else if(!e||e>=r)i=s?n.join(""):A.concat(n,r),n.length=0;else if(e<n[0].length){var a=n[0];i=a.slice(0,e),n[0]=a.slice(e)}else if(e===n[0].length)i=n.shift();else{i=s?"":new A(e);for(var l=0,f=0,h=n.length;f<h&&l<e;f++){var a=n[0],u=Math.min(e-l,a.length);s?i+=a.slice(0,u):a.copy(i,l,0,u),u<a.length?n[0]=a.slice(u):n.shift(),l+=u}}return i}function v(e){var i=e._readableState;if(i.length>0)throw new Error("endReadable called on non-empty stream");i.endEmitted||(i.ended=!0,t.nextTick(function(){i.endEmitted||0!==i.length||(i.endEmitted=!0,e.readable=!1,e.emit("end"))}))}function k(e,t){for(var i=0,n=e.length;i<n;i++)t(e[i],i)}function y(e,t){for(var i=0,n=e.length;i<n;i++)if(e[i]===t)return i;return-1}e.exports=r;var E=i(84),A=i(58).Buffer;r.ReadableState=n;var T=i(3).EventEmitter;T.listenerCount||(T.listenerCount=function(e,t){return e.listeners(t).length});var S=i(80),M=i(85);M.inherits=i(81);var R,C=i(86);C=C&&C.debuglog?C.debuglog("stream"):function(){},M.inherits(r,S),r.prototype.push=function(e,t){var i=this._readableState;return M.isString(e)&&!i.objectMode&&(t=t||i.defaultEncoding,t!==i.encoding&&(e=new A(e,t),t="")),s(this,i,e,t,!1)},r.prototype.unshift=function(e){var t=this._readableState;return s(this,t,e,"",!0)},r.prototype.setEncoding=function(e){return R||(R=i(89).StringDecoder),this._readableState.decoder=new R(e),this._readableState.encoding=e,this};var P=8388608;r.prototype.read=function(e){C("read",e);var t=this._readableState,i=e;if((!M.isNumber(e)||e>0)&&(t.emittedReadable=!1),0===e&&t.needReadable&&(t.length>=t.highWaterMark||t.ended))return C("read: emitReadable",t.length,t.ended),0===t.length&&t.ended?v(this):u(this),null;if(e=l(e,t),0===e&&t.ended)return 0===t.length&&v(this),null;var n=t.needReadable;C("need readable",n),(0===t.length||t.length-e<t.highWaterMark)&&(n=!0,C("length less than watermark",n)),(t.ended||t.reading)&&(n=!1,C("reading or ended",n)),n&&(C("do read"),t.reading=!0,t.sync=!0,0===t.length&&(t.needReadable=!0),this._read(t.highWaterMark),t.sync=!1),n&&!t.reading&&(e=l(i,t));var r;return r=e>0?_(e,t):null,M.isNull(r)&&(t.needReadable=!0,e=0),t.length-=e,0!==t.length||t.ended||(t.needReadable=!0),i!==e&&t.ended&&0===t.length&&v(this),M.isNull(r)||this.emit("data",r),r},r.prototype._read=function(e){this.emit("error",new Error("not implemented"))},r.prototype.pipe=function(e,i){function n(e){C("onunpipe"),e===u&&s()}function r(){C("onend"),e.end()}function s(){C("cleanup"),e.removeListener("close",l),e.removeListener("finish",f),e.removeListener("drain",w),e.removeListener("error",a),e.removeListener("unpipe",n),u.removeListener("end",r),u.removeListener("end",s),u.removeListener("data",o),!c.awaitDrain||e._writableState&&!e._writableState.needDrain||w()}function o(t){C("ondata");var i=e.write(t);!1===i&&(C("false write response, pause",u._readableState.awaitDrain),u._readableState.awaitDrain++,u.pause())}function a(t){C("onerror",t),h(),e.removeListener("error",a),0===T.listenerCount(e,"error")&&e.emit("error",t)}function l(){e.removeListener("finish",f),h()}function f(){C("onfinish"),e.removeListener("close",l),h()}function h(){C("unpipe"),u.unpipe(e)}var u=this,c=this._readableState;switch(c.pipesCount){case 0:c.pipes=e;break;case 1:c.pipes=[c.pipes,e];break;default:c.pipes.push(e)}c.pipesCount+=1,C("pipe count=%d opts=%j",c.pipesCount,i);var d=(!i||i.end!==!1)&&e!==t.stdout&&e!==t.stderr,p=d?r:s;c.endEmitted?t.nextTick(p):u.once("end",p),e.on("unpipe",n);var w=b(u);return e.on("drain",w),u.on("data",o),e._events&&e._events.error?E(e._events.error)?e._events.error.unshift(a):e._events.error=[a,e._events.error]:e.on("error",a),e.once("close",l),e.once("finish",f),e.emit("pipe",u),c.flowing||(C("pipe resume"),u.resume()),e},r.prototype.unpipe=function(e){var t=this._readableState;if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes?this:(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this),this);if(!e){var i=t.pipes,n=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var r=0;r<n;r++)i[r].emit("unpipe",this);return this}var r=y(t.pipes,e);return r===-1?this:(t.pipes.splice(r,1),t.pipesCount-=1,1===t.pipesCount&&(t.pipes=t.pipes[0]),e.emit("unpipe",this),this)},r.prototype.on=function(e,i){var n=S.prototype.on.call(this,e,i);if("data"===e&&!1!==this._readableState.flowing&&this.resume(),"readable"===e&&this.readable){var r=this._readableState;if(!r.readableListening)if(r.readableListening=!0,r.emittedReadable=!1,r.needReadable=!0,r.reading)r.length&&u(this,r);else{var s=this;t.nextTick(function(){C("readable nexttick read 0"),s.read(0)})}}return n},r.prototype.addListener=r.prototype.on,r.prototype.resume=function(){var e=this._readableState;return e.flowing||(C("resume"),e.flowing=!0,e.reading||(C("resume read 0"),this.read(0)),w(this,e)),this},r.prototype.pause=function(){return C("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(C("pause"),this._readableState.flowing=!1,this.emit("pause")),this},r.prototype.wrap=function(e){var t=this._readableState,i=!1,n=this;e.on("end",function(){if(C("wrapped end"),t.decoder&&!t.ended){var e=t.decoder.end();e&&e.length&&n.push(e)}n.push(null)}),e.on("data",function(r){if(C("wrapped data"),t.decoder&&(r=t.decoder.write(r)),r&&(t.objectMode||r.length)){var s=n.push(r);s||(i=!0,e.pause())}});for(var r in e)M.isFunction(e[r])&&M.isUndefined(this[r])&&(this[r]=function(t){return function(){return e[t].apply(e,arguments)}}(r));var s=["error","close","destroy","pause","resume"];return k(s,function(t){e.on(t,n.emit.bind(n,t))}),n._read=function(t){C("wrapped _read",t),i&&(i=!1,e.resume())},n},r._fromList=_}).call(t,i(2))},function(e,t){e.exports=Array.isArray||function(e){return"[object Array]"==Object.prototype.toString.call(e)}},function(e,t,i){(function(e){function i(e){return Array.isArray?Array.isArray(e):"[object Array]"===w(e)}function n(e){return"boolean"==typeof e}function r(e){return null===e}function s(e){return null==e}function o(e){return"number"==typeof e}function a(e){return"string"==typeof e}function l(e){return"symbol"==typeof e}function f(e){return void 0===e}function h(e){return"[object RegExp]"===w(e)}function u(e){return"object"==typeof e&&null!==e}function c(e){return"[object Date]"===w(e)}function d(e){return"[object Error]"===w(e)||e instanceof Error}function p(e){return"function"==typeof e}function b(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||"undefined"==typeof e}function w(e){return Object.prototype.toString.call(e)}t.isArray=i,t.isBoolean=n,t.isNull=r,t.isNullOrUndefined=s,t.isNumber=o,t.isString=a,t.isSymbol=l,t.isUndefined=f,t.isRegExp=h,t.isObject=u,t.isDate=c,t.isError=d,t.isFunction=p,t.isPrimitive=b,t.isBuffer=e.isBuffer}).call(t,i(58).Buffer)},function(e,t){},function(e,t,i){(function(t){function n(e){return this instanceof n?(l.call(this,e),f.call(this,e),e&&e.readable===!1&&(this.readable=!1),e&&e.writable===!1&&(this.writable=!1),this.allowHalfOpen=!0,e&&e.allowHalfOpen===!1&&(this.allowHalfOpen=!1),void this.once("end",r)):new n(e)}function r(){this.allowHalfOpen||this._writableState.ended||t.nextTick(this.end.bind(this))}function s(e,t){for(var i=0,n=e.length;i<n;i++)t(e[i],i)}e.exports=n;var o=Object.keys||function(e){var t=[];for(var i in e)t.push(i);return t},a=i(85);a.inherits=i(81);var l=i(83),f=i(88);a.inherits(n,l),s(o(f.prototype),function(e){n.prototype[e]||(n.prototype[e]=f.prototype[e])})}).call(t,i(2))},function(e,t,i){(function(t){function n(e,t,i){this.chunk=e,this.encoding=t,this.callback=i}function r(e,t){var n=i(87);e=e||{};var r=e.highWaterMark,s=e.objectMode?16:16384;this.highWaterMark=r||0===r?r:s,this.objectMode=!!e.objectMode,t instanceof n&&(this.objectMode=this.objectMode||!!e.writableObjectMode),this.highWaterMark=~~this.highWaterMark,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1;var o=e.decodeStrings===!1;this.decodeStrings=!o,this.defaultEncoding=e.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(e){d(t,e)},this.writecb=null,this.writelen=0,this.buffer=[],this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1}function s(e){var t=i(87);return this instanceof s||this instanceof t?(this._writableState=new r(e,this),this.writable=!0,void E.call(this)):new s(e)}function o(e,i,n){var r=new Error("write after end");e.emit("error",r),t.nextTick(function(){n(r)})}function a(e,i,n,r){var s=!0;if(!(y.isBuffer(n)||y.isString(n)||y.isNullOrUndefined(n)||i.objectMode)){var o=new TypeError("Invalid non-string/buffer chunk");e.emit("error",o),t.nextTick(function(){r(o)}),s=!1}return s}function l(e,t,i){return!e.objectMode&&e.decodeStrings!==!1&&y.isString(t)&&(t=new k(t,i)),t}function f(e,t,i,r,s){i=l(t,i,r),y.isBuffer(i)&&(r="buffer");var o=t.objectMode?1:i.length;t.length+=o;var a=t.length<t.highWaterMark;return a||(t.needDrain=!0),t.writing||t.corked?t.buffer.push(new n(i,r,s)):h(e,t,!1,o,i,r,s),a}function h(e,t,i,n,r,s,o){t.writelen=n,t.writecb=o,t.writing=!0,t.sync=!0,i?e._writev(r,t.onwrite):e._write(r,s,t.onwrite),t.sync=!1}function u(e,i,n,r,s){n?t.nextTick(function(){i.pendingcb--,s(r)}):(i.pendingcb--,s(r)),e._writableState.errorEmitted=!0,e.emit("error",r)}function c(e){e.writing=!1,e.writecb=null,e.length-=e.writelen,e.writelen=0}function d(e,i){var n=e._writableState,r=n.sync,s=n.writecb;if(c(n),i)u(e,n,r,i,s);else{var o=m(e,n);o||n.corked||n.bufferProcessing||!n.buffer.length||w(e,n),r?t.nextTick(function(){p(e,n,o,s)}):p(e,n,o,s)}}function p(e,t,i,n){i||b(e,t),t.pendingcb--,n(),_(e,t)}function b(e,t){0===t.length&&t.needDrain&&(t.needDrain=!1,e.emit("drain"))}function w(e,t){if(t.bufferProcessing=!0,e._writev&&t.buffer.length>1){for(var i=[],n=0;n<t.buffer.length;n++)i.push(t.buffer[n].callback);t.pendingcb++,h(e,t,!0,t.length,t.buffer,"",function(e){for(var n=0;n<i.length;n++)t.pendingcb--,i[n](e)}),t.buffer=[]}else{for(var n=0;n<t.buffer.length;n++){var r=t.buffer[n],s=r.chunk,o=r.encoding,a=r.callback,l=t.objectMode?1:s.length;if(h(e,t,!1,l,s,o,a),t.writing){n++;break}}n<t.buffer.length?t.buffer=t.buffer.slice(n):t.buffer.length=0}t.bufferProcessing=!1}function m(e,t){return t.ending&&0===t.length&&!t.finished&&!t.writing}function g(e,t){t.prefinished||(t.prefinished=!0,e.emit("prefinish"))}function _(e,t){var i=m(e,t);return i&&(0===t.pendingcb?(g(e,t),t.finished=!0,e.emit("finish")):g(e,t)),i}function v(e,i,n){i.ending=!0,_(e,i),n&&(i.finished?t.nextTick(n):e.once("finish",n)),i.ended=!0}e.exports=s;var k=i(58).Buffer;s.WritableState=r;var y=i(85);y.inherits=i(81);var E=i(80);y.inherits(s,E),s.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe. Not readable."))},s.prototype.write=function(e,t,i){var n=this._writableState,r=!1;return y.isFunction(t)&&(i=t,t=null),y.isBuffer(e)?t="buffer":t||(t=n.defaultEncoding),y.isFunction(i)||(i=function(){}),n.ended?o(this,n,i):a(this,n,e,i)&&(n.pendingcb++,r=f(this,n,e,t,i)),r},s.prototype.cork=function(){var e=this._writableState;e.corked++},s.prototype.uncork=function(){var e=this._writableState;e.corked&&(e.corked--,e.writing||e.corked||e.finished||e.bufferProcessing||!e.buffer.length||w(this,e))},s.prototype._write=function(e,t,i){i(new Error("not implemented"))},s.prototype._writev=null,s.prototype.end=function(e,t,i){var n=this._writableState;y.isFunction(e)?(i=e,e=null,t=null):y.isFunction(t)&&(i=t,t=null),y.isNullOrUndefined(e)||this.write(e,t),n.corked&&(n.corked=1,this.uncork()),n.ending||n.finished||v(this,n,i)}}).call(t,i(2))},function(e,t,i){function n(e){if(e&&!l(e))throw new Error("Unknown encoding: "+e)}function r(e){return e.toString(this.encoding)}function s(e){this.charReceived=e.length%2,this.charLength=this.charReceived?2:0}function o(e){this.charReceived=e.length%3,this.charLength=this.charReceived?3:0}var a=i(58).Buffer,l=a.isEncoding||function(e){switch(e&&e.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}},f=t.StringDecoder=function(e){switch(this.encoding=(e||"utf8").toLowerCase().replace(/[-_]/,""),n(e),this.encoding){case"utf8":this.surrogateSize=3;break;case"ucs2":case"utf16le":this.surrogateSize=2,this.detectIncompleteChar=s;break;case"base64":this.surrogateSize=3,this.detectIncompleteChar=o;break;default:return void(this.write=r)}this.charBuffer=new a(6),this.charReceived=0,this.charLength=0};f.prototype.write=function(e){for(var t="";this.charLength;){var i=e.length>=this.charLength-this.charReceived?this.charLength-this.charReceived:e.length;if(e.copy(this.charBuffer,this.charReceived,0,i),this.charReceived+=i,this.charReceived<this.charLength)return"";e=e.slice(i,e.length),t=this.charBuffer.slice(0,this.charLength).toString(this.encoding);var n=t.charCodeAt(t.length-1);if(!(n>=55296&&n<=56319)){if(this.charReceived=this.charLength=0,0===e.length)return t;break}this.charLength+=this.surrogateSize,t=""}this.detectIncompleteChar(e);var r=e.length;this.charLength&&(e.copy(this.charBuffer,0,e.length-this.charReceived,r),r-=this.charReceived),t+=e.toString(this.encoding,0,r);var r=t.length-1,n=t.charCodeAt(r);if(n>=55296&&n<=56319){var s=this.surrogateSize;return this.charLength+=s,this.charReceived+=s,this.charBuffer.copy(this.charBuffer,s,0,s),e.copy(this.charBuffer,0,0,s),t.substring(0,r)}return t},f.prototype.detectIncompleteChar=function(e){for(var t=e.length>=3?3:e.length;t>0;t--){var i=e[e.length-t];if(1==t&&i>>5==6){this.charLength=2;break}if(t<=2&&i>>4==14){this.charLength=3;break}if(t<=3&&i>>3==30){this.charLength=4;break}}this.charReceived=t},f.prototype.end=function(e){var t="";if(e&&e.length&&(t=this.write(e)),this.charReceived){var i=this.charReceived,n=this.charBuffer,r=this.encoding;t+=n.slice(0,i).toString(r)}return t}},function(e,t,i){function n(e,t){this.afterTransform=function(e,i){return r(t,e,i)},this.needTransform=!1,this.transforming=!1,this.writecb=null,this.writechunk=null}function r(e,t,i){var n=e._transformState;n.transforming=!1;var r=n.writecb;if(!r)return e.emit("error",new Error("no writecb in Transform class"));n.writechunk=null,n.writecb=null,l.isNullOrUndefined(i)||e.push(i),r&&r(t);var s=e._readableState;s.reading=!1,(s.needReadable||s.length<s.highWaterMark)&&e._read(s.highWaterMark)}function s(e){if(!(this instanceof s))return new s(e);a.call(this,e),this._transformState=new n(e,this);var t=this;this._readableState.needReadable=!0,this._readableState.sync=!1,this.once("prefinish",function(){l.isFunction(this._flush)?this._flush(function(e){o(t,e)}):o(t)})}function o(e,t){if(t)return e.emit("error",t);var i=e._writableState,n=e._transformState;if(i.length)throw new Error("calling transform done when ws.length != 0");if(n.transforming)throw new Error("calling transform done when still transforming");return e.push(null)}e.exports=s;var a=i(87),l=i(85);l.inherits=i(81),l.inherits(s,a),s.prototype.push=function(e,t){return this._transformState.needTransform=!1,a.prototype.push.call(this,e,t)},s.prototype._transform=function(e,t,i){throw new Error("not implemented")},s.prototype._write=function(e,t,i){var n=this._transformState;if(n.writecb=i,n.writechunk=e,n.writeencoding=t,!n.transforming){var r=this._readableState;(n.needTransform||r.needReadable||r.length<r.highWaterMark)&&this._read(r.highWaterMark)}},s.prototype._read=function(e){var t=this._transformState;l.isNull(t.writechunk)||!t.writecb||t.transforming?t.needTransform=!0:(t.transforming=!0,this._transform(t.writechunk,t.writeencoding,t.afterTransform))}},function(e,t,i){function n(e){return this instanceof n?void r.call(this,e):new n(e)}e.exports=n;var r=i(90),s=i(85);s.inherits=i(81),s.inherits(n,r),n.prototype._transform=function(e,t,i){i(null,e)}},function(e,t,i){e.exports=i(88)},function(e,t,i){e.exports=i(87)},function(e,t,i){e.exports=i(90)},function(e,t,i){e.exports=i(91)},function(e,t,i){function n(e){for(var t=e.getAllResponseHeaders().split(/\r?\n/),i={},n=0;n<t.length;n++){var r=t[n];if(""!==r){var s=r.match(/^([^:]+):\s*(.*)/);if(s){var o=s[1].toLowerCase(),a=s[2];void 0!==i[o]?l(i[o])?i[o].push(a):i[o]=[i[o],a]:i[o]=a}else i[r]=!0}}return i}var r=i(80),s=i(75),o=e.exports=function(e){this.offset=0,this.readable=!0};s.inherits(o,r);var a={streaming:!0,status2:!0};o.prototype.getResponse=function(e){var t=String(e.responseType).toLowerCase();return"blob"===t?e.responseBlob||e.response:"arraybuffer"===t?e.response:e.responseText},o.prototype.getHeader=function(e){return this.headers[e.toLowerCase()]},o.prototype.handle=function(e){if(2===e.readyState&&a.status2){try{this.statusCode=e.status,this.headers=n(e)}catch(e){a.status2=!1}a.status2&&this.emit("ready")}else if(a.streaming&&3===e.readyState){try{this.statusCode||(this.statusCode=e.status,this.headers=n(e),this.emit("ready"))}catch(e){}try{this._emitData(e)}catch(e){a.streaming=!1}}else 4===e.readyState&&(this.statusCode||(this.statusCode=e.status,this.emit("ready")),this._emitData(e),e.error?this.emit("error",this.getResponse(e)):this.emit("end"),this.emit("close"))},o.prototype._emitData=function(e){var t=this.getResponse(e);return t.toString().match(/ArrayBuffer/)?(this.emit("data",new Uint8Array(t,this.offset)),void(this.offset=t.byteLength)):void(t.length>this.offset&&(this.emit("data",t.slice(this.offset)),this.offset=t.length))};var l=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)}},function(e,t,i){!function(){function e(e){this.message=e}var i=t,n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";e.prototype=new Error,e.prototype.name="InvalidCharacterError",i.btoa||(i.btoa=function(t){for(var i,r,s=0,o=n,a="";t.charAt(0|s)||(o="=",s%1);a+=o.charAt(63&i>>8-s%1*8)){if(r=t.charCodeAt(s+=.75),r>255)throw new e("'btoa' failed: The string to be encoded contains characters outside of the Latin1 range.");i=i<<8|r}return a}),i.atob||(i.atob=function(t){if(t=t.replace(/=+$/,""),t.length%4==1)throw new e("'atob' failed: The string to be decoded is not correctly encoded.");for(var i,r,s=0,o=0,a="";r=t.charAt(o++);~r&&(i=s%4?64*i+r:r,s++%4)?a+=String.fromCharCode(255&i>>(-2*s&6)):0)r=n.indexOf(r);return a})}()},function(e,t,i){var n=i(78),r=e.exports;for(var s in n)n.hasOwnProperty(s)&&(r[s]=n[s]);r.request=function(e,t){return e||(e={}),e.scheme="https",n.request.call(this,e,t)}},function(e,t,i){(function(e){function n(){var e=[].slice.call(arguments).join(" ");throw new Error([e,"we accept pull requests","http://github.com/dominictarr/crypto-browserify"].join("\n"))}function r(e,t){for(var i in e)t(e[i],i)}var s=i(100);t.createHash=i(102),t.createHmac=i(111),t.randomBytes=function(t,i){if(!i||!i.call)return new e(s(t));try{i.call(this,void 0,new e(s(t)))}catch(e){i(e)}},t.getHashes=function(){return["sha1","sha256","sha512","md5","rmd160"]};var o=i(112)(t);t.pbkdf2=o.pbkdf2,t.pbkdf2Sync=o.pbkdf2Sync,r(["createCredentials","createCipher","createCipheriv","createDecipher","createDecipheriv","createSign","createVerify","createDiffieHellman"],function(e){t[e]=function(){n("sorry,",e,"is not implemented yet")}})}).call(t,i(58).Buffer)},function(e,t,i){(function(t,n){!function(){var r=("undefined"==typeof window?t:window)||{};_crypto=r.crypto||r.msCrypto||i(101),e.exports=function(e){if(_crypto.getRandomValues){var t=new n(e);return _crypto.getRandomValues(t),t}if(_crypto.randomBytes)return _crypto.randomBytes(e);throw new Error("secure random number generation not supported by this browser\nuse chrome, FireFox or Internet Explorer 11")}}()}).call(t,function(){return this}(),i(58).Buffer)},function(e,t){},function(e,t,i){(function(t){function n(e){return function(){var i=[],n={update:function(e,n){return t.isBuffer(e)||(e=new t(e,n)),i.push(e),this},digest:function(n){var r=t.concat(i),s=e(r);return i=null,n?s.toString(n):s}};return n}}var r=i(103),s=n(i(108)),o=n(i(110));e.exports=function(e){return"md5"===e?new s:"rmd160"===e?new o:r(e)}}).call(t,i(58).Buffer)},function(e,t,i){var t=e.exports=function(e){var i=t[e];if(!i)throw new Error(e+" is not supported (we accept pull requests)");return new i},n=i(58).Buffer,r=i(104)(n);t.sha1=i(105)(n,r),t.sha256=i(106)(n,r),t.sha512=i(107)(n,r)},function(e,t){e.exports=function(e){function t(t,i){this._block=new e(t),this._finalSize=i,this._blockSize=t,this._len=0,this._s=0}return t.prototype.init=function(){this._s=0,this._len=0},t.prototype.update=function(t,i){"string"==typeof t&&(i=i||"utf8",t=new e(t,i));for(var n=this._len+=t.length,r=this._s=this._s||0,s=0,o=this._block;r<n;){for(var a=Math.min(t.length,s+this._blockSize-r%this._blockSize),l=a-s,f=0;f<l;f++)o[r%this._blockSize+f]=t[f+s];r+=l,s+=l,r%this._blockSize===0&&this._update(o)}return this._s=r,this},t.prototype.digest=function(e){var t=8*this._len;this._block[this._len%this._blockSize]=128,this._block.fill(0,this._len%this._blockSize+1),t%(8*this._blockSize)>=8*this._finalSize&&(this._update(this._block),this._block.fill(0)),this._block.writeInt32BE(t,this._blockSize-4);var i=this._update(this._block)||this._hash();return e?i.toString(e):i},t.prototype._update=function(){throw new Error("_update must be implemented by subclass")},t}},function(e,t,i){var n=i(75).inherits;e.exports=function(e,t){function i(){return p.length?p.pop().init():this instanceof i?(this._w=d,t.call(this,64,56),this._h=null,void this.init()):new i}function r(e,t,i,n){return e<20?t&i|~t&n:e<40?t^i^n:e<60?t&i|t&n|i&n:t^i^n}function s(e){return e<20?1518500249:e<40?1859775393:e<60?-1894007588:-899497514}function o(e,t){return e+t|0}function a(e,t){return e<<t|e>>>32-t}var l=0,f=4,h=8,u=12,c=16,d=new("undefined"==typeof Int32Array?Array:Int32Array)(80),p=[];return n(i,t),i.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,t.prototype.init.call(this),this},i.prototype._POOL=p,i.prototype._update=function(e){var t,i,n,l,f,h,u,c,d,p;t=h=this._a,i=u=this._b,n=c=this._c,l=d=this._d,f=p=this._e;for(var b=this._w,w=0;w<80;w++){var m=b[w]=w<16?e.readInt32BE(4*w):a(b[w-3]^b[w-8]^b[w-14]^b[w-16],1),g=o(o(a(t,5),r(w,i,n,l)),o(o(f,m),s(w)));f=l,l=n,n=a(i,30),i=t,t=g}this._a=o(t,h),this._b=o(i,u),this._c=o(n,c),this._d=o(l,d),this._e=o(f,p)},i.prototype._hash=function(){p.length<100&&p.push(this);var t=new e(20);return t.writeInt32BE(0|this._a,l),t.writeInt32BE(0|this._b,f),t.writeInt32BE(0|this._c,h),t.writeInt32BE(0|this._d,u),t.writeInt32BE(0|this._e,c),t},i}},function(e,t,i){var n=i(75).inherits;e.exports=function(e,t){function i(){this.init(),this._w=d,t.call(this,64,56)}function r(e,t){return e>>>t|e<<32-t}function s(e,t){return e>>>t}function o(e,t,i){return e&t^~e&i}function a(e,t,i){return e&t^e&i^t&i}function l(e){return r(e,2)^r(e,13)^r(e,22)}function f(e){return r(e,6)^r(e,11)^r(e,25)}function h(e){return r(e,7)^r(e,18)^s(e,3)}function u(e){return r(e,17)^r(e,19)^s(e,10)}var c=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],d=new Array(64);return n(i,t),i.prototype.init=function(){return this._a=1779033703,this._b=-1150833019,this._c=1013904242,this._d=-1521486534,this._e=1359893119,this._f=-1694144372,this._g=528734635,this._h=1541459225,this._len=this._s=0,this},i.prototype._update=function(e){var t,i,n,r,s,d,p,b,w,m,g=this._w;t=0|this._a,i=0|this._b,n=0|this._c,r=0|this._d,s=0|this._e,d=0|this._f,p=0|this._g,b=0|this._h;for(var _=0;_<64;_++){var v=g[_]=_<16?e.readInt32BE(4*_):u(g[_-2])+g[_-7]+h(g[_-15])+g[_-16];w=b+f(s)+o(s,d,p)+c[_]+v,m=l(t)+a(t,i,n),b=p,p=d,d=s,s=r+w,r=n,n=i,i=t,t=w+m}this._a=t+this._a|0,this._b=i+this._b|0,this._c=n+this._c|0,this._d=r+this._d|0,this._e=s+this._e|0,this._f=d+this._f|0,this._g=p+this._g|0,this._h=b+this._h|0},i.prototype._hash=function(){var t=new e(32);return t.writeInt32BE(this._a,0),t.writeInt32BE(this._b,4),t.writeInt32BE(this._c,8),t.writeInt32BE(this._d,12),t.writeInt32BE(this._e,16),t.writeInt32BE(this._f,20),t.writeInt32BE(this._g,24),t.writeInt32BE(this._h,28),t},i}},function(e,t,i){var n=i(75).inherits;e.exports=function(e,t){function i(){this.init(),this._w=l,t.call(this,128,112)}function r(e,t,i){return e>>>i|t<<32-i}function s(e,t,i){return e&t^~e&i}function o(e,t,i){return e&t^e&i^t&i}var a=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591],l=new Array(160);return n(i,t),i.prototype.init=function(){return this._a=1779033703,this._b=-1150833019,this._c=1013904242,this._d=-1521486534,this._e=1359893119,this._f=-1694144372,this._g=528734635,this._h=1541459225,this._al=-205731576,this._bl=-2067093701,this._cl=-23791573,this._dl=1595750129,this._el=-1377402159,this._fl=725511199,this._gl=-79577749,this._hl=327033209,this._len=this._s=0,this},i.prototype._update=function(e){var t,i,n,l,f,h,u,c,d,p,b,w,m,g,_,v,k=this._w;t=0|this._a,i=0|this._b,n=0|this._c,l=0|this._d,f=0|this._e,h=0|this._f,u=0|this._g,c=0|this._h,d=0|this._al,p=0|this._bl,b=0|this._cl,w=0|this._dl,m=0|this._el,g=0|this._fl,_=0|this._gl,v=0|this._hl;for(var y=0;y<80;y++){var E,A,T=2*y;if(y<16)E=k[T]=e.readInt32BE(4*T),A=k[T+1]=e.readInt32BE(4*T+4);else{var S=k[T-30],M=k[T-30+1],R=r(S,M,1)^r(S,M,8)^S>>>7,C=r(M,S,1)^r(M,S,8)^r(M,S,7);S=k[T-4],M=k[T-4+1];var P=r(S,M,19)^r(M,S,29)^S>>>6,x=r(M,S,19)^r(S,M,29)^r(M,S,6),I=k[T-14],O=k[T-14+1],N=k[T-32],D=k[T-32+1];A=C+O,E=R+I+(A>>>0<C>>>0?1:0),A+=x,E=E+P+(A>>>0<x>>>0?1:0),A+=D,E=E+N+(A>>>0<D>>>0?1:0),k[T]=E,k[T+1]=A}var L=o(t,i,n),U=o(d,p,b),B=r(t,d,28)^r(d,t,2)^r(d,t,7),j=r(d,t,28)^r(t,d,2)^r(t,d,7),F=r(f,m,14)^r(f,m,18)^r(m,f,9),G=r(m,f,14)^r(m,f,18)^r(f,m,9),H=a[T],z=a[T+1],q=s(f,h,u),W=s(m,g,_),V=v+G,Y=c+F+(V>>>0<v>>>0?1:0);V+=W,Y=Y+q+(V>>>0<W>>>0?1:0),V+=z,Y=Y+H+(V>>>0<z>>>0?1:0),V+=A,Y=Y+E+(V>>>0<A>>>0?1:0);var Z=j+U,$=B+L+(Z>>>0<j>>>0?1:0);c=u,v=_,u=h,_=g,h=f,g=m,m=w+V|0,f=l+Y+(m>>>0<w>>>0?1:0)|0,l=n,w=b,n=i,b=p,i=t,p=d,d=V+Z|0,t=Y+$+(d>>>0<V>>>0?1:0)|0}this._al=this._al+d|0,this._bl=this._bl+p|0,this._cl=this._cl+b|0,this._dl=this._dl+w|0,this._el=this._el+m|0,this._fl=this._fl+g|0,this._gl=this._gl+_|0,this._hl=this._hl+v|0,this._a=this._a+t+(this._al>>>0<d>>>0?1:0)|0,this._b=this._b+i+(this._bl>>>0<p>>>0?1:0)|0,this._c=this._c+n+(this._cl>>>0<b>>>0?1:0)|0,this._d=this._d+l+(this._dl>>>0<w>>>0?1:0)|0,this._e=this._e+f+(this._el>>>0<m>>>0?1:0)|0,this._f=this._f+h+(this._fl>>>0<g>>>0?1:0)|0,this._g=this._g+u+(this._gl>>>0<_>>>0?1:0)|0,this._h=this._h+c+(this._hl>>>0<v>>>0?1:0)|0},i.prototype._hash=function(){function t(e,t,n){i.writeInt32BE(e,n),i.writeInt32BE(t,n+4)}var i=new e(64);return t(this._a,this._al,0),t(this._b,this._bl,8),t(this._c,this._cl,16),t(this._d,this._dl,24),t(this._e,this._el,32),t(this._f,this._fl,40),t(this._g,this._gl,48),t(this._h,this._hl,56),i},i}},function(e,t,i){function n(e,t){e[t>>5]|=128<<t%32,e[(t+64>>>9<<4)+14]=t;for(var i=1732584193,n=-271733879,r=-1732584194,h=271733878,u=0;u<e.length;u+=16){var c=i,d=n,p=r,b=h;i=s(i,n,r,h,e[u+0],7,-680876936),h=s(h,i,n,r,e[u+1],12,-389564586),r=s(r,h,i,n,e[u+2],17,606105819),n=s(n,r,h,i,e[u+3],22,-1044525330),i=s(i,n,r,h,e[u+4],7,-176418897),h=s(h,i,n,r,e[u+5],12,1200080426),r=s(r,h,i,n,e[u+6],17,-1473231341),n=s(n,r,h,i,e[u+7],22,-45705983),i=s(i,n,r,h,e[u+8],7,1770035416),h=s(h,i,n,r,e[u+9],12,-1958414417),r=s(r,h,i,n,e[u+10],17,-42063),n=s(n,r,h,i,e[u+11],22,-1990404162),i=s(i,n,r,h,e[u+12],7,1804603682),h=s(h,i,n,r,e[u+13],12,-40341101),r=s(r,h,i,n,e[u+14],17,-1502002290),n=s(n,r,h,i,e[u+15],22,1236535329),i=o(i,n,r,h,e[u+1],5,-165796510),h=o(h,i,n,r,e[u+6],9,-1069501632),r=o(r,h,i,n,e[u+11],14,643717713),n=o(n,r,h,i,e[u+0],20,-373897302),i=o(i,n,r,h,e[u+5],5,-701558691),h=o(h,i,n,r,e[u+10],9,38016083),r=o(r,h,i,n,e[u+15],14,-660478335),n=o(n,r,h,i,e[u+4],20,-405537848),i=o(i,n,r,h,e[u+9],5,568446438),h=o(h,i,n,r,e[u+14],9,-1019803690),r=o(r,h,i,n,e[u+3],14,-187363961),n=o(n,r,h,i,e[u+8],20,1163531501),i=o(i,n,r,h,e[u+13],5,-1444681467),h=o(h,i,n,r,e[u+2],9,-51403784),r=o(r,h,i,n,e[u+7],14,1735328473),n=o(n,r,h,i,e[u+12],20,-1926607734),i=a(i,n,r,h,e[u+5],4,-378558),h=a(h,i,n,r,e[u+8],11,-2022574463),r=a(r,h,i,n,e[u+11],16,1839030562),n=a(n,r,h,i,e[u+14],23,-35309556),i=a(i,n,r,h,e[u+1],4,-1530992060),h=a(h,i,n,r,e[u+4],11,1272893353),r=a(r,h,i,n,e[u+7],16,-155497632),n=a(n,r,h,i,e[u+10],23,-1094730640),i=a(i,n,r,h,e[u+13],4,681279174),h=a(h,i,n,r,e[u+0],11,-358537222),r=a(r,h,i,n,e[u+3],16,-722521979),n=a(n,r,h,i,e[u+6],23,76029189),i=a(i,n,r,h,e[u+9],4,-640364487),h=a(h,i,n,r,e[u+12],11,-421815835),r=a(r,h,i,n,e[u+15],16,530742520),n=a(n,r,h,i,e[u+2],23,-995338651),i=l(i,n,r,h,e[u+0],6,-198630844),h=l(h,i,n,r,e[u+7],10,1126891415),r=l(r,h,i,n,e[u+14],15,-1416354905),n=l(n,r,h,i,e[u+5],21,-57434055),i=l(i,n,r,h,e[u+12],6,1700485571),h=l(h,i,n,r,e[u+3],10,-1894986606),r=l(r,h,i,n,e[u+10],15,-1051523),n=l(n,r,h,i,e[u+1],21,-2054922799),i=l(i,n,r,h,e[u+8],6,1873313359),h=l(h,i,n,r,e[u+15],10,-30611744),r=l(r,h,i,n,e[u+6],15,-1560198380),n=l(n,r,h,i,e[u+13],21,1309151649),i=l(i,n,r,h,e[u+4],6,-145523070),h=l(h,i,n,r,e[u+11],10,-1120210379),r=l(r,h,i,n,e[u+2],15,718787259),n=l(n,r,h,i,e[u+9],21,-343485551),i=f(i,c),n=f(n,d),r=f(r,p),
h=f(h,b)}return Array(i,n,r,h)}function r(e,t,i,n,r,s){return f(h(f(f(t,e),f(n,s)),r),i)}function s(e,t,i,n,s,o,a){return r(t&i|~t&n,e,t,s,o,a)}function o(e,t,i,n,s,o,a){return r(t&n|i&~n,e,t,s,o,a)}function a(e,t,i,n,s,o,a){return r(t^i^n,e,t,s,o,a)}function l(e,t,i,n,s,o,a){return r(i^(t|~n),e,t,s,o,a)}function f(e,t){var i=(65535&e)+(65535&t),n=(e>>16)+(t>>16)+(i>>16);return n<<16|65535&i}function h(e,t){return e<<t|e>>>32-t}var u=i(109);e.exports=function(e){return u.hash(e,n,16)}},function(e,t,i){(function(t){function i(e,i){if(e.length%s!==0){var n=e.length+(s-e.length%s);e=t.concat([e,o],n)}for(var r=[],a=i?e.readInt32BE:e.readInt32LE,l=0;l<e.length;l+=s)r.push(a.call(e,l));return r}function n(e,i,n){for(var r=new t(i),s=n?r.writeInt32BE:r.writeInt32LE,o=0;o<e.length;o++)s.call(r,e[o],4*o,!0);return r}function r(e,r,s,o){t.isBuffer(e)||(e=new t(e));var l=r(i(e,o),e.length*a);return n(l,s,o)}var s=4,o=new t(s);o.fill(0);var a=8;e.exports={hash:r}}).call(t,i(58).Buffer)},function(e,t,i){(function(t){function i(e,t,i){return e^t^i}function n(e,t,i){return e&t|~e&i}function r(e,t,i){return(e|~t)^i}function s(e,t,i){return e&i|t&~i}function o(e,t,i){return e^(t|~i)}function a(e,t){return e<<t|e>>>32-t}function l(e){var i=[1732584193,4023233417,2562383102,271733878,3285377520];"string"==typeof e&&(e=new t(e,"utf8"));var n=b(e),r=8*e.length,s=8*e.length;n[r>>>5]|=128<<24-r%32,n[(r+64>>>9<<4)+14]=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8);for(var o=0;o<n.length;o+=16)m(i,n,o);for(var o=0;o<5;o++){var a=i[o];i[o]=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8)}var l=w(i);return new t(l)}e.exports=l;/** @preserve
(c) 2012 by Cédric Mesnil. All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
- Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
- Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
var f=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],h=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],u=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],c=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11],d=[0,1518500249,1859775393,2400959708,2840853838],p=[1352829926,1548603684,1836072691,2053994217,0],b=function(e){for(var t=[],i=0,n=0;i<e.length;i++,n+=8)t[n>>>5]|=e[i]<<24-n%32;return t},w=function(e){for(var t=[],i=0;i<32*e.length;i+=8)t.push(e[i>>>5]>>>24-i%32&255);return t},m=function(e,t,l){for(var b=0;b<16;b++){var w=l+b,m=t[w];t[w]=16711935&(m<<8|m>>>24)|4278255360&(m<<24|m>>>8)}var g,_,v,k,y,E,A,T,S,M;E=g=e[0],A=_=e[1],T=v=e[2],S=k=e[3],M=y=e[4];for(var R,b=0;b<80;b+=1)R=g+t[l+f[b]]|0,R+=b<16?i(_,v,k)+d[0]:b<32?n(_,v,k)+d[1]:b<48?r(_,v,k)+d[2]:b<64?s(_,v,k)+d[3]:o(_,v,k)+d[4],R|=0,R=a(R,u[b]),R=R+y|0,g=y,y=k,k=a(v,10),v=_,_=R,R=E+t[l+h[b]]|0,R+=b<16?o(A,T,S)+p[0]:b<32?s(A,T,S)+p[1]:b<48?r(A,T,S)+p[2]:b<64?n(A,T,S)+p[3]:i(A,T,S)+p[4],R|=0,R=a(R,c[b]),R=R+M|0,E=M,M=S,S=a(T,10),T=A,A=R;R=e[1]+v+S|0,e[1]=e[2]+k+M|0,e[2]=e[3]+y+E|0,e[3]=e[4]+g+A|0,e[4]=e[0]+_+T|0,e[0]=R}}).call(t,i(58).Buffer)},function(e,t,i){(function(t){function n(e,i){if(!(this instanceof n))return new n(e,i);this._opad=l,this._alg=e;var o="sha512"===e?128:64;i=this._key=t.isBuffer(i)?i:new t(i),i.length>o?i=r(e).update(i).digest():i.length<o&&(i=t.concat([i,s],o));for(var a=this._ipad=new t(o),l=this._opad=new t(o),f=0;f<o;f++)a[f]=54^i[f],l[f]=92^i[f];this._hash=r(e).update(a)}var r=i(102),s=new t(128);s.fill(0),e.exports=n,n.prototype.update=function(e,t){return this._hash.update(e,t),this},n.prototype.digest=function(e){var t=this._hash.digest();return r(this._alg).update(this._opad).update(t).digest(e)}}).call(t,i(58).Buffer)},function(e,t,i){var n=i(113);e.exports=function(e,t){t=t||{};var i=n(e);return t.pbkdf2=i.pbkdf2,t.pbkdf2Sync=i.pbkdf2Sync,t}},function(e,t,i){(function(t){e.exports=function(e){function i(e,t,i,r,s,o){if("function"==typeof s&&(o=s,s=void 0),"function"!=typeof o)throw new Error("No callback provided to pbkdf2");setTimeout(function(){var a;try{a=n(e,t,i,r,s)}catch(e){return o(e)}o(void 0,a)})}function n(i,n,r,s,o){if("number"!=typeof r)throw new TypeError("Iterations not a number");if(r<0)throw new TypeError("Bad iterations");if("number"!=typeof s)throw new TypeError("Key length not a number");if(s<0)throw new TypeError("Bad key length");o=o||"sha1",t.isBuffer(i)||(i=new t(i)),t.isBuffer(n)||(n=new t(n));var a,l,f,h=1,u=new t(s),c=new t(n.length+4);n.copy(c,0,0,n.length);for(var d=1;d<=h;d++){c.writeUInt32BE(d,n.length);var p=e.createHmac(o,i).update(c).digest();if(!a&&(a=p.length,f=new t(a),h=Math.ceil(s/a),l=s-(h-1)*a,s>(Math.pow(2,32)-1)*a))throw new TypeError("keylen exceeds maximum length");p.copy(f,0,0,a);for(var b=1;b<r;b++){p=e.createHmac(o,i).update(p).digest();for(var w=0;w<a;w++)f[w]^=p[w]}var m=(d-1)*a,g=d==h?l:a;f.copy(u,m,0,g)}return u}return{pbkdf2:i,pbkdf2Sync:n}}}).call(t,i(58).Buffer)},function(e,t){"use strict";function i(e){return this instanceof i?(this.id=r++,void(this.ee=e)):new i(e)}var n=Object.prototype.hasOwnProperty,r=0;i.prototype.on=function(e,t,i){return t.__ultron=this.id,this.ee.on(e,t,i),this},i.prototype.once=function(e,t,i){return t.__ultron=this.id,this.ee.once(e,t,i),this},i.prototype.remove=function(){var e,t=arguments;if(1===t.length&&"string"==typeof t[0])t=t[0].split(/[, ]+/);else if(!t.length){t=[];for(e in this.ee._events)n.call(this.ee._events,e)&&t.push(e)}for(var i=0;i<t.length;i++)for(var r=this.ee.listeners(t[i]),s=0;s<r.length;s++){if(e=r[s],e.listener){if(e.listener.__ultron!==this.id)continue;delete e.listener.__ultron}else{if(e.__ultron!==this.id)continue;delete e.__ultron}this.ee.removeListener(t[i],e)}return this},i.prototype.destroy=function(){return!!this.ee&&(this.remove(),this.ee=null,!0)},e.exports=i},function(e,t,i){function n(e){var t={},i=this.value={};Object.keys(e).forEach(function(n){t[n]=e[n],Object.defineProperty(i,n,{get:function(){return t[n]},configurable:!1,enumerable:!0})}),this.reset=function(){return Object.keys(e).forEach(function(i){t[i]=e[i]}),this},this.merge=function(e,i){if(e=e||{},"[object Array]"===Object.prototype.toString.call(i)){for(var n=[],r=0,s=i.length;r<s;++r){var o=i[r];o in e||n.push(o)}if(n.length>0)throw n.length>1?new Error("options "+n.slice(0,n.length-1).join(", ")+" and "+n[n.length-1]+" must be defined"):new Error("option "+n[0]+" must be defined")}return Object.keys(e).forEach(function(i){i in t&&(t[i]=e[i])}),this},this.copy=function(t){var n={};return Object.keys(e).forEach(function(e){t.indexOf(e)!==-1&&(n[e]=i[e])}),n},this.read=function(e,t){if("function"==typeof t){var i=this;r.readFile(e,function(e,n){if(e)return t(e);var r=JSON.parse(n);i.merge(r),t()})}else{var n=JSON.parse(r.readFileSync(e));this.merge(n)}return this},this.isDefined=function(e){return"undefined"!=typeof i[e]},this.isDefinedAndNonNull=function(e){return"undefined"!=typeof i[e]&&null!==i[e]},Object.freeze(i),Object.freeze(this)}/*!
* Copyright(c) 2011 Einar Otto Stangvik <einaros@gmail.com>
* MIT Licensed
*/
var r=i(62);e.exports=n},function(e,t,i){(function(t){function n(e,t){if(this instanceof n==!1)throw new TypeError("Classes can't be function-called");l.EventEmitter.call(this),this._socket=e,this.extensions=t||{},this.firstFragment=!0,this.compress=!1,this.messageHandlers=[],this.processing=!1}function r(e,t){this[t]=(65280&e)>>8,this[t+1]=255&e}function s(e,t){this[t]=(4278190080&e)>>24,this[t+1]=(16711680&e)>>16,this[t+2]=(65280&e)>>8,this[t+3]=255&e}function o(e){for(var i=new Uint8Array(e.buffer||e),n=e.byteLength||e.length,r=e.byteOffset||0,s=new t(n),o=0;o<n;++o)s[o]=i[r+o];return s}function a(){return new t([~~(255*Math.random()),~~(255*Math.random()),~~(255*Math.random()),~~(255*Math.random())])}/*!
* ws: a node.js websocket client
* Copyright(c) 2011 Einar Otto Stangvik <einaros@gmail.com>
* MIT Licensed
*/
var l=i(3),f=i(75),h=(l.EventEmitter,i(117)),u=i(118).BufferUtil,c=i(125);f.inherits(n,l.EventEmitter),n.prototype.close=function(e,i,n,s){if("undefined"!=typeof e&&("number"!=typeof e||!h.isValidErrorCode(e)))throw new Error("first argument must be a valid error code number");e=e||1e3;var o=new t(2+(i?t.byteLength(i):0));r.call(o,e,0),o.length>2&&o.write(i,2);var a=this;this.messageHandlers.push(function(e){a.frameAndSend(8,o,!0,n),e(),"function"==typeof s&&s()}),this.flush()},n.prototype.ping=function(e,t){var i=t&&t.mask,n=this;this.messageHandlers.push(function(t){n.frameAndSend(9,e||"",!0,i),t()}),this.flush()},n.prototype.pong=function(e,t){var i=t&&t.mask,n=this;this.messageHandlers.push(function(t){n.frameAndSend(10,e||"",!0,i),t()}),this.flush()},n.prototype.send=function(e,t,i){var n=!t||t.fin!==!1,r=t&&t.mask,s=t&&t.compress,o=t&&t.binary?2:1;this.firstFragment===!1?(o=0,s=!1):(this.firstFragment=!1,this.compress=s),n&&(this.firstFragment=!0);var a=this.compress,l=this;this.messageHandlers.push(function(t){l.applyExtensions(e,n,a,function(e,a){return e?void("function"==typeof i?i(e):l.emit("error",e)):(l.frameAndSend(o,a,n,r,s,i),void t())})}),this.flush()},n.prototype.frameAndSend=function(e,i,n,l,f,h){var c=!1;if(i){t.isBuffer(i)||(c=!0,!i||"undefined"==typeof i.byteLength&&"undefined"==typeof i.buffer?("number"==typeof i&&(i=i.toString()),i=new t(i)):i=o(i));var d=i.length,p=l?6:2,b=d;d>=65536?(p+=8,b=127):d>125&&(p+=2,b=126);var w=d<32768||l&&!c,m=w?d+p:p,g=new t(m);switch(g[0]=n?128|e:e,f&&(g[0]|=64),b){case 126:r.call(g,d,2);break;case 127:s.call(g,0,2),s.call(g,d,6)}if(l){g[1]=128|b;var _=a();if(g[p-4]=_[0],g[p-3]=_[1],g[p-2]=_[2],g[p-1]=_[3],w){u.mask(i,_,g,p,d);try{this._socket.write(g,"binary",h)}catch(e){"function"==typeof h?h(e):this.emit("error",e)}}else{u.mask(i,_,i,0,d);try{this._socket.write(g,"binary"),this._socket.write(i,"binary",h)}catch(e){"function"==typeof h?h(e):this.emit("error",e)}}}else if(g[1]=b,w){i.copy(g,p);try{this._socket.write(g,"binary",h)}catch(e){"function"==typeof h?h(e):this.emit("error",e)}}else try{this._socket.write(g,"binary"),this._socket.write(i,"binary",h)}catch(e){"function"==typeof h?h(e):this.emit("error",e)}}else try{this._socket.write(new t([e|(n?128:0),0|(l?128:0)].concat(l?[0,0,0,0]:[])),"binary",h)}catch(e){"function"==typeof h?h(e):this.emit("error",e)}},n.prototype.flush=function(){if(!this.processing){var e=this.messageHandlers.shift();if(e){this.processing=!0;var t=this;e(function(){t.processing=!1,t.flush()})}}},n.prototype.applyExtensions=function(e,t,i,n){i&&e?((e.buffer||e)instanceof ArrayBuffer&&(e=o(e)),this.extensions[c.extensionName].compress(e,t,n)):n(null,e)},e.exports=n}).call(t,i(58).Buffer)},function(e,t){/*!
* ws: a node.js websocket client
* Copyright(c) 2011 Einar Otto Stangvik <einaros@gmail.com>
* MIT Licensed
*/
e.exports={isValidErrorCode:function(e){return e>=1e3&&e<=1011&&1004!=e&&1005!=e&&1006!=e||e>=3e3&&e<=4999},1e3:"normal",1001:"going away",1002:"protocol error",1003:"unsupported data",1004:"reserved",1005:"reserved for extensions",1006:"reserved for extensions",1007:"inconsistent or invalid data",1008:"policy violation",1009:"message too big",1010:"extension handshake missing",1011:"an unexpected condition prevented the request from being fulfilled"}},function(e,t,i){"use strict";/*!
* ws: a node.js websocket client
* Copyright(c) 2011 Einar Otto Stangvik <einaros@gmail.com>
* MIT Licensed
*/
try{e.exports=i(119)}catch(t){e.exports=i(124)}},function(e,t,i){"use strict";try{e.exports=i(120)("bufferutil")}catch(t){e.exports=i(123)}},function(e,t,i){(function(n,r){function s(e){"string"==typeof e?e={bindings:e}:e||(e={}),e.__proto__=u,e.module_root||(e.module_root=t.getRoot(t.getFileName())),".node"!=a.extname(e.bindings)&&(e.bindings+=".node");for(var n,r,s,o=[],f=0,h=e.try.length;f<h;f++){n=l.apply(null,e.try[f].map(function(t){return e[t]||t})),o.push(n);try{return r=e.path?i(121).resolve(n):i(121)(n),e.path||(r.path=n),r}catch(e){if(!/not find/i.test(e.message))throw e}}throw s=new Error("Could not locate the bindings file. Tried:\n"+o.map(function(t){return e.arrow+t}).join("\n")),s.tries=o,s}var o=i(62),a=i(15),l=a.join,f=a.dirname,h=o.existsSync||a.existsSync,u={arrow:n.env.NODE_BINDINGS_ARROW||" → ",compiled:n.env.NODE_BINDINGS_COMPILED_DIR||"compiled",platform:n.platform,arch:n.arch,version:n.versions.node,bindings:"bindings.node",try:[["module_root","build","bindings"],["module_root","build","Debug","bindings"],["module_root","build","Release","bindings"],["module_root","out","Debug","bindings"],["module_root","Debug","bindings"],["module_root","out","Release","bindings"],["module_root","Release","bindings"],["module_root","build","default","bindings"],["module_root","compiled","version","platform","arch","bindings"]]};e.exports=t=s,t.getFileName=function(e){var t,i=Error.prepareStackTrace,n=Error.stackTraceLimit,s={};return Error.stackTraceLimit=10,Error.prepareStackTrace=function(i,n){for(var s=0,o=n.length;s<o;s++)if(t=n[s].getFileName(),t!==r){if(!e)return;if(t!==e)return}},Error.captureStackTrace(s),s.stack,Error.prepareStackTrace=i,Error.stackTraceLimit=n,t},t.getRoot=function(e){for(var t,i=f(e);;){if("."===i&&(i=n.cwd()),h(l(i,"package.json"))||h(l(i,"node_modules")))return i;if(t===i)throw new Error('Could not find module root given file: "'+e+'". Do you have a `package.json` file? ');t=i,i=l(i,"..")}}}).call(t,i(2),"/index.js")},function(e,t,i){function n(e){return i(r(e))}function r(e){return s[e]||function(){throw new Error("Cannot find module '"+e+"'.")}()}var s={"./bindings":120,"./bindings.js":120,"./package":122,"./package.json":122};n.keys=function(){return Object.keys(s)},n.resolve=r,e.exports=n,n.id=121},function(e,t){e.exports={_args:[[{raw:"bindings@~1.2.1",scope:null,escapedName:"bindings",name:"bindings",rawSpec:"~1.2.1",spec:">=1.2.1 <1.3.0",type:"range"},"/home/travis/build/hydrabolt/discord.js/node_modules/node-opus"]],_from:"bindings@>=1.2.1 <1.3.0",_id:"bindings@1.2.1",_inCache:!0,_installable:!0,_location:"/bindings",_npmUser:{name:"tootallnate",email:"nathan@tootallnate.net"},_npmVersion:"1.4.14",_phantomChildren:{},_requested:{raw:"bindings@~1.2.1",scope:null,escapedName:"bindings",name:"bindings",rawSpec:"~1.2.1",spec:">=1.2.1 <1.3.0",type:"range"},_requiredBy:["/node-opus","/ref"],_resolved:"https://registry.npmjs.org/bindings/-/bindings-1.2.1.tgz",_shasum:"14ad6113812d2d37d72e67b4cacb4bb726505f11",_shrinkwrap:null,_spec:"bindings@~1.2.1",_where:"/home/travis/build/hydrabolt/discord.js/node_modules/node-opus",author:{name:"Nathan Rajlich",email:"nathan@tootallnate.net",url:"http://tootallnate.net"},bugs:{url:"https://github.com/TooTallNate/node-bindings/issues"},dependencies:{},description:"Helper module for loading your native module's .node file",devDependencies:{},directories:{},dist:{shasum:"14ad6113812d2d37d72e67b4cacb4bb726505f11",tarball:"https://registry.npmjs.org/bindings/-/bindings-1.2.1.tgz"},gitHead:"e404152ee27f8478ccbc7122ee051246e8e5ec02",homepage:"https://github.com/TooTallNate/node-bindings",keywords:["native","addon","bindings","gyp","waf","c","c++"],license:"MIT",main:"./bindings.js",maintainers:[{name:"TooTallNate",email:"nathan@tootallnate.net"},{name:"tootallnate",email:"nathan@tootallnate.net"}],name:"bindings",optionalDependencies:{},readme:"ERROR: No README data found!",repository:{type:"git",url:"git://github.com/TooTallNate/node-bindings.git"},scripts:{},version:"1.2.1"}},function(e,t){"use strict";/*!
* bufferutil: WebSocket buffer utils
* Copyright(c) 2015 Einar Otto Stangvik <einaros@gmail.com>
* MIT Licensed
*/
e.exports.BufferUtil={merge:function(e,t){for(var i=0,n=0,r=t.length;i<r;++i){var s=t[i];s.copy(e,n),n+=s.length}},mask:function(e,t,i,n,r){for(var s,o=t.readUInt32LE(0,!0),a=0;a<r-3;a+=4)s=o^e.readUInt32LE(a,!0),s<0&&(s=4294967296+s),i.writeUInt32LE(s,n+a,!0);switch(r%4){case 3:i[n+a+2]=e[a+2]^t[2];case 2:i[n+a+1]=e[a+1]^t[1];case 1:i[n+a]=e[a]^t[0]}},unmask:function(e,t){for(var i,n=t.readUInt32LE(0,!0),r=e.length,s=0;s<r-3;s+=4)i=n^e.readUInt32LE(s,!0),i<0&&(i=4294967296+i),e.writeUInt32LE(i,s,!0);switch(r%4){case 3:e[s+2]=e[s+2]^t[2];case 2:e[s+1]=e[s+1]^t[1];case 1:e[s]=e[s]^t[0]}}}},function(e,t){/*!
* ws: a node.js websocket client
* Copyright(c) 2011 Einar Otto Stangvik <einaros@gmail.com>
* MIT Licensed
*/
t.BufferUtil={merge:function(e,t){for(var i=0,n=0,r=t.length;n<r;++n){var s=t[n];s.copy(e,i),i+=s.length}},mask:function(e,t,i,n,r){for(var s=t.readUInt32LE(0,!0),o=0;o<r-3;o+=4){var a=s^e.readUInt32LE(o,!0);a<0&&(a=4294967296+a),i.writeUInt32LE(a,n+o,!0)}switch(r%4){case 3:i[n+o+2]=e[o+2]^t[2];case 2:i[n+o+1]=e[o+1]^t[1];case 1:i[n+o]=e[o]^t[0];case 0:}},unmask:function(e,t){for(var i=t.readUInt32LE(0,!0),n=e.length,r=0;r<n-3;r+=4){var s=i^e.readUInt32LE(r,!0);s<0&&(s=4294967296+s),e.writeUInt32LE(s,r,!0)}switch(n%4){case 3:e[r+2]=e[r+2]^t[2];case 2:e[r+1]=e[r+1]^t[1];case 1:e[r]=e[r]^t[0];case 0:}}}},function(e,t,i){(function(t){function n(e,t,i){if(this instanceof n==!1)throw new TypeError("Classes can't be function-called");this._options=e||{},this._isServer=!!t,this._inflate=null,this._deflate=null,this.params=null,this._maxPayload=i||0}var r=i(126),s=[8,9,10,11,12,13,14,15],o=15,a=8;n.extensionName="permessage-deflate",n.prototype.offer=function(){var e={};return this._options.serverNoContextTakeover&&(e.server_no_context_takeover=!0),this._options.clientNoContextTakeover&&(e.client_no_context_takeover=!0),this._options.serverMaxWindowBits&&(e.server_max_window_bits=this._options.serverMaxWindowBits),this._options.clientMaxWindowBits?e.client_max_window_bits=this._options.clientMaxWindowBits:null==this._options.clientMaxWindowBits&&(e.client_max_window_bits=!0),e},n.prototype.accept=function(e){e=this.normalizeParams(e);var t;return t=this._isServer?this.acceptAsServer(e):this.acceptAsClient(e),this.params=t,t},n.prototype.cleanup=function(){this._inflate&&(this._inflate.writeInProgress?this._inflate.pendingClose=!0:(this._inflate.close&&this._inflate.close(),this._inflate=null)),this._deflate&&(this._deflate.writeInProgress?this._deflate.pendingClose=!0:(this._deflate.close&&this._deflate.close(),this._deflate=null))},n.prototype.acceptAsServer=function(e){var t={},i=e.some(function(e){if(t={},(this._options.serverNoContextTakeover!==!1||!e.server_no_context_takeover)&&(this._options.serverMaxWindowBits!==!1||!e.server_max_window_bits)&&!("number"==typeof this._options.serverMaxWindowBits&&"number"==typeof e.server_max_window_bits&&this._options.serverMaxWindowBits>e.server_max_window_bits)&&("number"!=typeof this._options.clientMaxWindowBits||e.client_max_window_bits))return(this._options.serverNoContextTakeover||e.server_no_context_takeover)&&(t.server_no_context_takeover=!0),this._options.clientNoContextTakeover&&(t.client_no_context_takeover=!0),this._options.clientNoContextTakeover!==!1&&e.client_no_context_takeover&&(t.client_no_context_takeover=!0),"number"==typeof this._options.serverMaxWindowBits?t.server_max_window_bits=this._options.serverMaxWindowBits:"number"==typeof e.server_max_window_bits&&(t.server_max_window_bits=e.server_max_window_bits),"number"==typeof this._options.clientMaxWindowBits?t.client_max_window_bits=this._options.clientMaxWindowBits:this._options.clientMaxWindowBits!==!1&&"number"==typeof e.client_max_window_bits&&(t.client_max_window_bits=e.client_max_window_bits),!0},this);if(!i)throw new Error("Doesn't support the offered configuration");return t},n.prototype.acceptAsClient=function(e){var t=e[0];if(null!=this._options.clientNoContextTakeover&&this._options.clientNoContextTakeover===!1&&t.client_no_context_takeover)throw new Error('Invalid value for "client_no_context_takeover"');if(null!=this._options.clientMaxWindowBits){if(this._options.clientMaxWindowBits===!1&&t.client_max_window_bits)throw new Error('Invalid value for "client_max_window_bits"');if("number"==typeof this._options.clientMaxWindowBits&&(!t.client_max_window_bits||t.client_max_window_bits>this._options.clientMaxWindowBits))throw new Error('Invalid value for "client_max_window_bits"')}return t},n.prototype.normalizeParams=function(e){return e.map(function(e){return Object.keys(e).forEach(function(t){var i=e[t];if(i.length>1)throw new Error("Multiple extension parameters for "+t);switch(i=i[0],t){case"server_no_context_takeover":case"client_no_context_takeover":if(i!==!0)throw new Error("invalid extension parameter value for "+t+" ("+i+")");e[t]=!0;break;case"server_max_window_bits":case"client_max_window_bits":if("string"==typeof i&&(i=parseInt(i,10),!~s.indexOf(i)))throw new Error("invalid extension parameter value for "+t+" ("+i+")");if(!this._isServer&&i===!0)throw new Error("Missing extension parameter value for "+t);e[t]=i;break;default:throw new Error("Not defined extension parameter ("+t+")")}},this),e},this)},n.prototype.decompress=function(e,i,n){function s(e){l(),n(e)}function a(e){if(void 0!==u._maxPayload&&null!==u._maxPayload&&u._maxPayload>0&&(d+=e.length,d>u._maxPayload)){c=[],l();var t={type:1009};return void n(t)}c.push(e)}function l(){u._inflate&&(u._inflate.removeListener("error",s),u._inflate.removeListener("data",a),u._inflate.writeInProgress=!1,(i&&u.params[f+"_no_context_takeover"]||u._inflate.pendingClose)&&(u._inflate.close&&u._inflate.close(),u._inflate=null))}var f=this._isServer?"client":"server";if(!this._inflate){var h=this.params[f+"_max_window_bits"];this._inflate=r.createInflateRaw({windowBits:"number"==typeof h?h:o})}this._inflate.writeInProgress=!0;var u=this,c=[],d=0;this._inflate.on("error",s).on("data",a),this._inflate.write(e),i&&this._inflate.write(new t([0,0,255,255])),this._inflate.flush(function(){l(),n(null,t.concat(c))})},n.prototype.compress=function(e,i,n){function s(e){f(),n(e)}function l(e){d.push(e)}function f(){c._deflate&&(c._deflate.removeListener("error",s),c._deflate.removeListener("data",l),c._deflate.writeInProgress=!1,(i&&c.params[h+"_no_context_takeover"]||c._deflate.pendingClose)&&(c._deflate.close&&c._deflate.close(),c._deflate=null))}var h=this._isServer?"server":"client";if(!this._deflate){var u=this.params[h+"_max_window_bits"];this._deflate=r.createDeflateRaw({flush:r.Z_SYNC_FLUSH,windowBits:"number"==typeof u?u:o,memLevel:this._options.memLevel||a})}this._deflate.writeInProgress=!0;var c=this,d=[];this._deflate.on("error",s).on("data",l),this._deflate.write(e),this._deflate.flush(function(){f();var e=t.concat(d);i&&(e=e.slice(0,e.length-4)),n(null,e)})},e.exports=n}).call(t,i(58).Buffer)},function(e,t,i){(function(e,n){function r(t,i,n){function r(){for(var e;null!==(e=t.read());)a.push(e),l+=e.length;t.once("readable",r)}function s(e){t.removeListener("end",o),t.removeListener("readable",r),n(e)}function o(){var i=e.concat(a,l);a=[],n(null,i),t.close()}var a=[],l=0;t.on("error",s),t.on("end",o),t.end(i),r()}function s(t,i){if("string"==typeof i&&(i=new e(i)),!e.isBuffer(i))throw new TypeError("Not a string or buffer");var n=b.Z_FINISH;return t._processChunk(i,n)}function o(e){return this instanceof o?void d.call(this,e,b.DEFLATE):new o(e)}function a(e){return this instanceof a?void d.call(this,e,b.INFLATE):new a(e)}function l(e){return this instanceof l?void d.call(this,e,b.GZIP):new l(e)}function f(e){return this instanceof f?void d.call(this,e,b.GUNZIP):new f(e)}function h(e){return this instanceof h?void d.call(this,e,b.DEFLATERAW):new h(e)}function u(e){return this instanceof u?void d.call(this,e,b.INFLATERAW):new u(e)}function c(e){return this instanceof c?void d.call(this,e,b.UNZIP):new c(e)}function d(i,n){if(this._opts=i=i||{},this._chunkSize=i.chunkSize||t.Z_DEFAULT_CHUNK,p.call(this,i),i.flush&&i.flush!==b.Z_NO_FLUSH&&i.flush!==b.Z_PARTIAL_FLUSH&&i.flush!==b.Z_SYNC_FLUSH&&i.flush!==b.Z_FULL_FLUSH&&i.flush!==b.Z_FINISH&&i.flush!==b.Z_BLOCK)throw new Error("Invalid flush flag: "+i.flush);if(this._flushFlag=i.flush||b.Z_NO_FLUSH,i.chunkSize&&(i.chunkSize<t.Z_MIN_CHUNK||i.chunkSize>t.Z_MAX_CHUNK))throw new Error("Invalid chunk size: "+i.chunkSize);if(i.windowBits&&(i.windowBits<t.Z_MIN_WINDOWBITS||i.windowBits>t.Z_MAX_WINDOWBITS))throw new Error("Invalid windowBits: "+i.windowBits);if(i.level&&(i.level<t.Z_MIN_LEVEL||i.level>t.Z_MAX_LEVEL))throw new Error("Invalid compression level: "+i.level);if(i.memLevel&&(i.memLevel<t.Z_MIN_MEMLEVEL||i.memLevel>t.Z_MAX_MEMLEVEL))throw new Error("Invalid memLevel: "+i.memLevel);if(i.strategy&&i.strategy!=t.Z_FILTERED&&i.strategy!=t.Z_HUFFMAN_ONLY&&i.strategy!=t.Z_RLE&&i.strategy!=t.Z_FIXED&&i.strategy!=t.Z_DEFAULT_STRATEGY)throw new Error("Invalid strategy: "+i.strategy);if(i.dictionary&&!e.isBuffer(i.dictionary))throw new Error("Invalid dictionary: it should be a Buffer instance");this._binding=new b.Zlib(n);var r=this;this._hadError=!1,this._binding.onerror=function(e,i){r._binding=null,r._hadError=!0;var n=new Error(e);n.errno=i,n.code=t.codes[i],r.emit("error",n)};var s=t.Z_DEFAULT_COMPRESSION;"number"==typeof i.level&&(s=i.level);var o=t.Z_DEFAULT_STRATEGY;"number"==typeof i.strategy&&(o=i.strategy),this._binding.init(i.windowBits||t.Z_DEFAULT_WINDOWBITS,s,i.memLevel||t.Z_DEFAULT_MEMLEVEL,o,i.dictionary),this._buffer=new e(this._chunkSize),this._offset=0,this._closed=!1,this._level=s,this._strategy=o,this.once("end",this.close)}var p=i(127),b=i(134),w=i(75),m=i(146).ok;b.Z_MIN_WINDOWBITS=8,b.Z_MAX_WINDOWBITS=15,b.Z_DEFAULT_WINDOWBITS=15,b.Z_MIN_CHUNK=64,b.Z_MAX_CHUNK=1/0,b.Z_DEFAULT_CHUNK=16384,b.Z_MIN_MEMLEVEL=1,b.Z_MAX_MEMLEVEL=9,b.Z_DEFAULT_MEMLEVEL=8,b.Z_MIN_LEVEL=-1,b.Z_MAX_LEVEL=9,b.Z_DEFAULT_LEVEL=b.Z_DEFAULT_COMPRESSION,Object.keys(b).forEach(function(e){e.match(/^Z/)&&(t[e]=b[e])}),t.codes={Z_OK:b.Z_OK,Z_STREAM_END:b.Z_STREAM_END,Z_NEED_DICT:b.Z_NEED_DICT,Z_ERRNO:b.Z_ERRNO,Z_STREAM_ERROR:b.Z_STREAM_ERROR,Z_DATA_ERROR:b.Z_DATA_ERROR,Z_MEM_ERROR:b.Z_MEM_ERROR,Z_BUF_ERROR:b.Z_BUF_ERROR,Z_VERSION_ERROR:b.Z_VERSION_ERROR},Object.keys(t.codes).forEach(function(e){t.codes[t.codes[e]]=e}),t.Deflate=o,t.Inflate=a,t.Gzip=l,t.Gunzip=f,t.DeflateRaw=h,t.InflateRaw=u,t.Unzip=c,t.createDeflate=function(e){return new o(e)},t.createInflate=function(e){return new a(e)},t.createDeflateRaw=function(e){return new h(e)},t.createInflateRaw=function(e){return new u(e)},t.createGzip=function(e){return new l(e)},t.createGunzip=function(e){return new f(e)},t.createUnzip=function(e){return new c(e)},t.deflate=function(e,t,i){return"function"==typeof t&&(i=t,t={}),r(new o(t),e,i)},t.deflateSync=function(e,t){return s(new o(t),e)},t.gzip=function(e,t,i){return"function"==typeof t&&(i=t,t={}),r(new l(t),e,i)},t.gzipSync=function(e,t){return s(new l(t),e)},t.deflateRaw=function(e,t,i){return"function"==typeof t&&(i=t,t={}),r(new h(t),e,i)},t.deflateRawSync=function(e,t){return s(new h(t),e)},t.unzip=function(e,t,i){return"function"==typeof t&&(i=t,t={}),r(new c(t),e,i)},t.unzipSync=function(e,t){return s(new c(t),e)},t.inflate=function(e,t,i){return"function"==typeof t&&(i=t,t={}),r(new a(t),e,i)},t.inflateSync=function(e,t){return s(new a(t),e)},t.gunzip=function(e,t,i){return"function"==typeof t&&(i=t,t={}),r(new f(t),e,i)},t.gunzipSync=function(e,t){return s(new f(t),e)},t.inflateRaw=function(e,t,i){return"function"==typeof t&&(i=t,t={}),r(new u(t),e,i)},t.inflateRawSync=function(e,t){return s(new u(t),e)},w.inherits(d,p),d.prototype.params=function(e,i,r){if(e<t.Z_MIN_LEVEL||e>t.Z_MAX_LEVEL)throw new RangeError("Invalid compression level: "+e);if(i!=t.Z_FILTERED&&i!=t.Z_HUFFMAN_ONLY&&i!=t.Z_RLE&&i!=t.Z_FIXED&&i!=t.Z_DEFAULT_STRATEGY)throw new TypeError("Invalid strategy: "+i);if(this._level!==e||this._strategy!==i){var s=this;this.flush(b.Z_SYNC_FLUSH,function(){s._binding.params(e,i),s._hadError||(s._level=e,s._strategy=i,r&&r())})}else n.nextTick(r)},d.prototype.reset=function(){return this._binding.reset()},d.prototype._flush=function(t){this._transform(new e(0),"",t)},d.prototype.flush=function(t,i){var r=this._writableState;if(("function"==typeof t||void 0===t&&!i)&&(i=t,t=b.Z_FULL_FLUSH),r.ended)i&&n.nextTick(i);else if(r.ending)i&&this.once("end",i);else if(r.needDrain){var s=this;this.once("drain",function(){s.flush(i)})}else this._flushFlag=t,this.write(new e(0),"",i)},d.prototype.close=function(e){if(e&&n.nextTick(e),!this._closed){this._closed=!0,this._binding.close();var t=this;n.nextTick(function(){t.emit("close")})}},d.prototype._transform=function(t,i,n){var r,s=this._writableState,o=s.ending||s.ended,a=o&&(!t||s.length===t.length);if(null===!t&&!e.isBuffer(t))return n(new Error("invalid input"));a?r=b.Z_FINISH:(r=this._flushFlag,t.length>=s.length&&(this._flushFlag=this._opts.flush||b.Z_NO_FLUSH));this._processChunk(t,r,n)},d.prototype._processChunk=function(t,i,n){function r(h,d){if(!l._hadError){var p=o-d;if(m(p>=0,"have should not go down"),p>0){var b=l._buffer.slice(l._offset,l._offset+p);l._offset+=p,f?l.push(b):(u.push(b),c+=b.length)}if((0===d||l._offset>=l._chunkSize)&&(o=l._chunkSize,l._offset=0,l._buffer=new e(l._chunkSize)),0===d){if(a+=s-h,s=h,!f)return!0;var w=l._binding.write(i,t,a,s,l._buffer,l._offset,l._chunkSize);return w.callback=r,void(w.buffer=t)}return!!f&&void n()}}var s=t&&t.length,o=this._chunkSize-this._offset,a=0,l=this,f="function"==typeof n;if(!f){var h,u=[],c=0;this.on("error",function(e){h=e});do var d=this._binding.writeSync(i,t,a,s,this._buffer,this._offset,o);while(!this._hadError&&r(d[0],d[1]));if(this._hadError)throw h;var p=e.concat(u,c);return this.close(),p}var b=this._binding.write(i,t,a,s,this._buffer,this._offset,o);b.buffer=t,b.callback=r},w.inherits(o,d),w.inherits(a,d),w.inherits(l,d),w.inherits(f,d),w.inherits(h,d),w.inherits(u,d),w.inherits(c,d)}).call(t,i(58).Buffer,i(2))},function(e,t,i){e.exports=i(128)},function(e,t,i){function n(e,t){this.afterTransform=function(e,i){return r(t,e,i)},this.needTransform=!1,this.transforming=!1,this.writecb=null,this.writechunk=null}function r(e,t,i){var n=e._transformState;n.transforming=!1;var r=n.writecb;if(!r)return e.emit("error",new Error("no writecb in Transform class"));n.writechunk=null,n.writecb=null,l.isNullOrUndefined(i)||e.push(i),r&&r(t);var s=e._readableState;s.reading=!1,(s.needReadable||s.length<s.highWaterMark)&&e._read(s.highWaterMark)}function s(e){if(!(this instanceof s))return new s(e);a.call(this,e),this._transformState=new n(e,this);var t=this;this._readableState.needReadable=!0,this._readableState.sync=!1,this.once("prefinish",function(){l.isFunction(this._flush)?this._flush(function(e){o(t,e)}):o(t)})}function o(e,t){if(t)return e.emit("error",t);var i=e._writableState,n=e._transformState;if(i.length)throw new Error("calling transform done when ws.length != 0");if(n.transforming)throw new Error("calling transform done when still transforming");return e.push(null)}e.exports=s;var a=i(129),l=i(85);l.inherits=i(81),l.inherits(s,a),s.prototype.push=function(e,t){return this._transformState.needTransform=!1,a.prototype.push.call(this,e,t)},s.prototype._transform=function(e,t,i){throw new Error("not implemented")},s.prototype._write=function(e,t,i){var n=this._transformState;if(n.writecb=i,n.writechunk=e,n.writeencoding=t,!n.transforming){var r=this._readableState;(n.needTransform||r.needReadable||r.length<r.highWaterMark)&&this._read(r.highWaterMark)}},s.prototype._read=function(e){var t=this._transformState;l.isNull(t.writechunk)||!t.writecb||t.transforming?t.needTransform=!0:(t.transforming=!0,this._transform(t.writechunk,t.writeencoding,t.afterTransform))}},function(e,t,i){(function(t){function n(e){return this instanceof n?(l.call(this,e),f.call(this,e),e&&e.readable===!1&&(this.readable=!1),e&&e.writable===!1&&(this.writable=!1),this.allowHalfOpen=!0,e&&e.allowHalfOpen===!1&&(this.allowHalfOpen=!1),void this.once("end",r)):new n(e)}function r(){this.allowHalfOpen||this._writableState.ended||t.nextTick(this.end.bind(this))}function s(e,t){for(var i=0,n=e.length;i<n;i++)t(e[i],i)}e.exports=n;var o=Object.keys||function(e){var t=[];for(var i in e)t.push(i);return t},a=i(85);a.inherits=i(81);var l=i(130),f=i(133);a.inherits(n,l),s(o(f.prototype),function(e){n.prototype[e]||(n.prototype[e]=f.prototype[e])})}).call(t,i(2))},function(e,t,i){(function(t){function n(e,t){var n=i(129);e=e||{};var r=e.highWaterMark,s=e.objectMode?16:16384;this.highWaterMark=r||0===r?r:s,this.highWaterMark=~~this.highWaterMark,this.buffer=[],this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.objectMode=!!e.objectMode,t instanceof n&&(this.objectMode=this.objectMode||!!e.readableObjectMode),this.defaultEncoding=e.defaultEncoding||"utf8",this.ranOut=!1,this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(R||(R=i(89).StringDecoder),this.decoder=new R(e.encoding),this.encoding=e.encoding)}function r(e){i(129);return this instanceof r?(this._readableState=new n(e,this),this.readable=!0,void S.call(this)):new r(e)}function s(e,t,i,n,r){var s=f(t,i);if(s)e.emit("error",s);else if(M.isNullOrUndefined(i))t.reading=!1,t.ended||h(e,t);else if(t.objectMode||i&&i.length>0)if(t.ended&&!r){var a=new Error("stream.push() after EOF");e.emit("error",a)}else if(t.endEmitted&&r){var a=new Error("stream.unshift() after end event");e.emit("error",a)}else!t.decoder||r||n||(i=t.decoder.write(i)),r||(t.reading=!1),t.flowing&&0===t.length&&!t.sync?(e.emit("data",i),e.read(0)):(t.length+=t.objectMode?1:i.length,r?t.buffer.unshift(i):t.buffer.push(i),t.needReadable&&u(e)),d(e,t);else r||(t.reading=!1);return o(t)}function o(e){return!e.ended&&(e.needReadable||e.length<e.highWaterMark||0===e.length)}function a(e){if(e>=P)e=P;else{e--;for(var t=1;t<32;t<<=1)e|=e>>t;e++}return e}function l(e,t){return 0===t.length&&t.ended?0:t.objectMode?0===e?0:1:isNaN(e)||M.isNull(e)?t.flowing&&t.buffer.length?t.buffer[0].length:t.length:e<=0?0:(e>t.highWaterMark&&(t.highWaterMark=a(e)),e>t.length?t.ended?t.length:(t.needReadable=!0,0):e)}function f(e,t){var i=null;return M.isBuffer(t)||M.isString(t)||M.isNullOrUndefined(t)||e.objectMode||(i=new TypeError("Invalid non-string/buffer chunk")),i}function h(e,t){if(t.decoder&&!t.ended){var i=t.decoder.end();i&&i.length&&(t.buffer.push(i),t.length+=t.objectMode?1:i.length)}t.ended=!0,u(e)}function u(e){var i=e._readableState;i.needReadable=!1,i.emittedReadable||(C("emitReadable",i.flowing),i.emittedReadable=!0,i.sync?t.nextTick(function(){c(e)}):c(e))}function c(e){C("emit readable"),e.emit("readable"),g(e)}function d(e,i){i.readingMore||(i.readingMore=!0,t.nextTick(function(){p(e,i)}))}function p(e,t){for(var i=t.length;!t.reading&&!t.flowing&&!t.ended&&t.length<t.highWaterMark&&(C("maybeReadMore read 0"),e.read(0),i!==t.length);)i=t.length;t.readingMore=!1}function b(e){return function(){var t=e._readableState;C("pipeOnDrain",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,0===t.awaitDrain&&T.listenerCount(e,"data")&&(t.flowing=!0,g(e))}}function w(e,i){i.resumeScheduled||(i.resumeScheduled=!0,t.nextTick(function(){m(e,i)}))}function m(e,t){t.resumeScheduled=!1,e.emit("resume"),g(e),t.flowing&&!t.reading&&e.read(0)}function g(e){var t=e._readableState;if(C("flow",t.flowing),t.flowing)do var i=e.read();while(null!==i&&t.flowing)}function _(e,t){var i,n=t.buffer,r=t.length,s=!!t.decoder,o=!!t.objectMode;if(0===n.length)return null;if(0===r)i=null;else if(o)i=n.shift();else if(!e||e>=r)i=s?n.join(""):A.concat(n,r),n.length=0;else if(e<n[0].length){var a=n[0];i=a.slice(0,e),n[0]=a.slice(e)}else if(e===n[0].length)i=n.shift();else{i=s?"":new A(e);for(var l=0,f=0,h=n.length;f<h&&l<e;f++){var a=n[0],u=Math.min(e-l,a.length);s?i+=a.slice(0,u):a.copy(i,l,0,u),u<a.length?n[0]=a.slice(u):n.shift(),l+=u}}return i}function v(e){var i=e._readableState;if(i.length>0)throw new Error("endReadable called on non-empty stream");i.endEmitted||(i.ended=!0,t.nextTick(function(){i.endEmitted||0!==i.length||(i.endEmitted=!0,e.readable=!1,e.emit("end"))}))}function k(e,t){for(var i=0,n=e.length;i<n;i++)t(e[i],i)}function y(e,t){for(var i=0,n=e.length;i<n;i++)if(e[i]===t)return i;return-1}e.exports=r;var E=i(131),A=i(58).Buffer;r.ReadableState=n;var T=i(3).EventEmitter;T.listenerCount||(T.listenerCount=function(e,t){return e.listeners(t).length});var S=i(80),M=i(85);M.inherits=i(81);var R,C=i(132);C=C&&C.debuglog?C.debuglog("stream"):function(){},M.inherits(r,S),r.prototype.push=function(e,t){var i=this._readableState;return M.isString(e)&&!i.objectMode&&(t=t||i.defaultEncoding,t!==i.encoding&&(e=new A(e,t),t="")),s(this,i,e,t,!1)},r.prototype.unshift=function(e){var t=this._readableState;return s(this,t,e,"",!0)},r.prototype.setEncoding=function(e){return R||(R=i(89).StringDecoder),this._readableState.decoder=new R(e),this._readableState.encoding=e,this};var P=8388608;r.prototype.read=function(e){C("read",e);var t=this._readableState,i=e;if((!M.isNumber(e)||e>0)&&(t.emittedReadable=!1),0===e&&t.needReadable&&(t.length>=t.highWaterMark||t.ended))return C("read: emitReadable",t.length,t.ended),0===t.length&&t.ended?v(this):u(this),null;if(e=l(e,t),0===e&&t.ended)return 0===t.length&&v(this),null;var n=t.needReadable;C("need readable",n),(0===t.length||t.length-e<t.highWaterMark)&&(n=!0,C("length less than watermark",n)),(t.ended||t.reading)&&(n=!1,C("reading or ended",n)),n&&(C("do read"),t.reading=!0,t.sync=!0,0===t.length&&(t.needReadable=!0),this._read(t.highWaterMark),t.sync=!1),n&&!t.reading&&(e=l(i,t));var r;return r=e>0?_(e,t):null,M.isNull(r)&&(t.needReadable=!0,e=0),t.length-=e,0!==t.length||t.ended||(t.needReadable=!0),i!==e&&t.ended&&0===t.length&&v(this),M.isNull(r)||this.emit("data",r),r},r.prototype._read=function(e){this.emit("error",new Error("not implemented"))},r.prototype.pipe=function(e,i){function n(e){C("onunpipe"),e===u&&s()}function r(){C("onend"),e.end()}function s(){C("cleanup"),e.removeListener("close",l),e.removeListener("finish",f),e.removeListener("drain",w),e.removeListener("error",a),e.removeListener("unpipe",n),u.removeListener("end",r),u.removeListener("end",s),u.removeListener("data",o),!c.awaitDrain||e._writableState&&!e._writableState.needDrain||w()}function o(t){C("ondata");var i=e.write(t);!1===i&&(C("false write response, pause",u._readableState.awaitDrain),u._readableState.awaitDrain++,u.pause())}function a(t){C("onerror",t),h(),e.removeListener("error",a),0===T.listenerCount(e,"error")&&e.emit("error",t)}function l(){e.removeListener("finish",f),h()}function f(){C("onfinish"),e.removeListener("close",l),h()}function h(){C("unpipe"),u.unpipe(e)}var u=this,c=this._readableState;switch(c.pipesCount){case 0:c.pipes=e;break;case 1:c.pipes=[c.pipes,e];break;default:c.pipes.push(e)}c.pipesCount+=1,C("pipe count=%d opts=%j",c.pipesCount,i);var d=(!i||i.end!==!1)&&e!==t.stdout&&e!==t.stderr,p=d?r:s;c.endEmitted?t.nextTick(p):u.once("end",p),e.on("unpipe",n);var w=b(u);return e.on("drain",w),u.on("data",o),e._events&&e._events.error?E(e._events.error)?e._events.error.unshift(a):e._events.error=[a,e._events.error]:e.on("error",a),e.once("close",l),e.once("finish",f),e.emit("pipe",u),c.flowing||(C("pipe resume"),u.resume()),e},r.prototype.unpipe=function(e){var t=this._readableState;if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes?this:(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this),this);if(!e){var i=t.pipes,n=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var r=0;r<n;r++)i[r].emit("unpipe",this);return this}var r=y(t.pipes,e);return r===-1?this:(t.pipes.splice(r,1),t.pipesCount-=1,1===t.pipesCount&&(t.pipes=t.pipes[0]),e.emit("unpipe",this),this)},r.prototype.on=function(e,i){var n=S.prototype.on.call(this,e,i);if("data"===e&&!1!==this._readableState.flowing&&this.resume(),"readable"===e&&this.readable){var r=this._readableState;if(!r.readableListening)if(r.readableListening=!0,r.emittedReadable=!1,r.needReadable=!0,r.reading)r.length&&u(this,r);else{var s=this;t.nextTick(function(){C("readable nexttick read 0"),s.read(0)})}}return n},r.prototype.addListener=r.prototype.on,r.prototype.resume=function(){var e=this._readableState;return e.flowing||(C("resume"),e.flowing=!0,e.reading||(C("resume read 0"),this.read(0)),w(this,e)),this},r.prototype.pause=function(){return C("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(C("pause"),this._readableState.flowing=!1,this.emit("pause")),this},r.prototype.wrap=function(e){var t=this._readableState,i=!1,n=this;e.on("end",function(){if(C("wrapped end"),t.decoder&&!t.ended){var e=t.decoder.end();e&&e.length&&n.push(e)}n.push(null)}),e.on("data",function(r){if(C("wrapped data"),t.decoder&&(r=t.decoder.write(r)),r&&(t.objectMode||r.length)){var s=n.push(r);s||(i=!0,e.pause())}});for(var r in e)M.isFunction(e[r])&&M.isUndefined(this[r])&&(this[r]=function(t){return function(){return e[t].apply(e,arguments)}}(r));var s=["error","close","destroy","pause","resume"];return k(s,function(t){e.on(t,n.emit.bind(n,t))}),n._read=function(t){C("wrapped _read",t),i&&(i=!1,e.resume())},n},r._fromList=_}).call(t,i(2))},function(e,t){e.exports=Array.isArray||function(e){return"[object Array]"==Object.prototype.toString.call(e)}},function(e,t){},function(e,t,i){(function(t){function n(e,t,i){this.chunk=e,this.encoding=t,this.callback=i}function r(e,t){var n=i(129);e=e||{};var r=e.highWaterMark,s=e.objectMode?16:16384;this.highWaterMark=r||0===r?r:s,this.objectMode=!!e.objectMode,t instanceof n&&(this.objectMode=this.objectMode||!!e.writableObjectMode),this.highWaterMark=~~this.highWaterMark,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1;var o=e.decodeStrings===!1;this.decodeStrings=!o,this.defaultEncoding=e.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(e){d(t,e)},this.writecb=null,this.writelen=0,this.buffer=[],this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1}function s(e){var t=i(129);return this instanceof s||this instanceof t?(this._writableState=new r(e,this),this.writable=!0,void E.call(this)):new s(e)}function o(e,i,n){var r=new Error("write after end");e.emit("error",r),t.nextTick(function(){n(r)})}function a(e,i,n,r){var s=!0;if(!(y.isBuffer(n)||y.isString(n)||y.isNullOrUndefined(n)||i.objectMode)){var o=new TypeError("Invalid non-string/buffer chunk");e.emit("error",o),t.nextTick(function(){r(o)}),s=!1}return s}function l(e,t,i){return!e.objectMode&&e.decodeStrings!==!1&&y.isString(t)&&(t=new k(t,i)),t}function f(e,t,i,r,s){i=l(t,i,r),y.isBuffer(i)&&(r="buffer");var o=t.objectMode?1:i.length;t.length+=o;var a=t.length<t.highWaterMark;return a||(t.needDrain=!0),t.writing||t.corked?t.buffer.push(new n(i,r,s)):h(e,t,!1,o,i,r,s),a}function h(e,t,i,n,r,s,o){t.writelen=n,t.writecb=o,t.writing=!0,t.sync=!0,i?e._writev(r,t.onwrite):e._write(r,s,t.onwrite),t.sync=!1}function u(e,i,n,r,s){n?t.nextTick(function(){i.pendingcb--,s(r)}):(i.pendingcb--,s(r)),e._writableState.errorEmitted=!0,e.emit("error",r)}function c(e){e.writing=!1,e.writecb=null,e.length-=e.writelen,e.writelen=0}function d(e,i){var n=e._writableState,r=n.sync,s=n.writecb;if(c(n),i)u(e,n,r,i,s);else{var o=m(e,n);o||n.corked||n.bufferProcessing||!n.buffer.length||w(e,n),r?t.nextTick(function(){p(e,n,o,s)}):p(e,n,o,s)}}function p(e,t,i,n){i||b(e,t),t.pendingcb--,n(),_(e,t)}function b(e,t){0===t.length&&t.needDrain&&(t.needDrain=!1,e.emit("drain"))}function w(e,t){if(t.bufferProcessing=!0,e._writev&&t.buffer.length>1){for(var i=[],n=0;n<t.buffer.length;n++)i.push(t.buffer[n].callback);t.pendingcb++,h(e,t,!0,t.length,t.buffer,"",function(e){for(var n=0;n<i.length;n++)t.pendingcb--,i[n](e)}),t.buffer=[]}else{for(var n=0;n<t.buffer.length;n++){var r=t.buffer[n],s=r.chunk,o=r.encoding,a=r.callback,l=t.objectMode?1:s.length;if(h(e,t,!1,l,s,o,a),t.writing){n++;break}}n<t.buffer.length?t.buffer=t.buffer.slice(n):t.buffer.length=0}t.bufferProcessing=!1}function m(e,t){return t.ending&&0===t.length&&!t.finished&&!t.writing}function g(e,t){t.prefinished||(t.prefinished=!0,e.emit("prefinish"))}function _(e,t){var i=m(e,t);return i&&(0===t.pendingcb?(g(e,t),t.finished=!0,e.emit("finish")):g(e,t)),i}function v(e,i,n){i.ending=!0,_(e,i),n&&(i.finished?t.nextTick(n):e.once("finish",n)),i.ended=!0}e.exports=s;var k=i(58).Buffer;s.WritableState=r;var y=i(85);y.inherits=i(81);var E=i(80);y.inherits(s,E),s.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe. Not readable."))},s.prototype.write=function(e,t,i){var n=this._writableState,r=!1;return y.isFunction(t)&&(i=t,t=null),y.isBuffer(e)?t="buffer":t||(t=n.defaultEncoding),y.isFunction(i)||(i=function(){}),n.ended?o(this,n,i):a(this,n,e,i)&&(n.pendingcb++,r=f(this,n,e,t,i)),r},s.prototype.cork=function(){var e=this._writableState;e.corked++},s.prototype.uncork=function(){var e=this._writableState;e.corked&&(e.corked--,e.writing||e.corked||e.finished||e.bufferProcessing||!e.buffer.length||w(this,e))},s.prototype._write=function(e,t,i){i(new Error("not implemented"))},s.prototype._writev=null,s.prototype.end=function(e,t,i){var n=this._writableState;y.isFunction(e)?(i=e,e=null,t=null):y.isFunction(t)&&(i=t,t=null),y.isNullOrUndefined(e)||this.write(e,t),n.corked&&(n.corked=1,this.uncork()),n.ending||n.finished||v(this,n,i)}}).call(t,i(2))},function(e,t,i){(function(e,n){function r(e){if(e<t.DEFLATE||e>t.UNZIP)throw new TypeError("Bad argument");this.mode=e,this.init_done=!1,this.write_in_progress=!1,this.pending_close=!1,this.windowBits=0,this.level=0,this.memLevel=0,this.strategy=0,this.dictionary=null}function s(e,t){for(var i=0;i<e.length;i++)this[t+i]=e[i]}var o=i(135),a=i(136),l=i(137),f=i(142),h=i(145);for(var u in h)t[u]=h[u];t.NONE=0,t.DEFLATE=1,t.INFLATE=2,t.GZIP=3,t.GUNZIP=4,t.DEFLATERAW=5,t.INFLATERAW=6,t.UNZIP=7,r.prototype.init=function(e,i,n,r,s){switch(this.windowBits=e,this.level=i,this.memLevel=n,this.strategy=r,this.mode!==t.GZIP&&this.mode!==t.GUNZIP||(this.windowBits+=16),this.mode===t.UNZIP&&(this.windowBits+=32),this.mode!==t.DEFLATERAW&&this.mode!==t.INFLATERAW||(this.windowBits=-this.windowBits),this.strm=new a,this.mode){case t.DEFLATE:case t.GZIP:case t.DEFLATERAW:var o=l.deflateInit2(this.strm,this.level,t.Z_DEFLATED,this.windowBits,this.memLevel,this.strategy);break;case t.INFLATE:case t.GUNZIP:case t.INFLATERAW:case t.UNZIP:var o=f.inflateInit2(this.strm,this.windowBits);break;default:throw new Error("Unknown mode "+this.mode)}return o!==t.Z_OK?void this._error(o):(this.write_in_progress=!1,void(this.init_done=!0))},r.prototype.params=function(){throw new Error("deflateParams Not supported")},r.prototype._writeCheck=function(){if(!this.init_done)throw new Error("write before init");if(this.mode===t.NONE)throw new Error("already finalized");if(this.write_in_progress)throw new Error("write already in progress");if(this.pending_close)throw new Error("close is pending")},r.prototype.write=function(t,i,n,r,s,o,a){this._writeCheck(),this.write_in_progress=!0;var l=this;return e.nextTick(function(){l.write_in_progress=!1;var e=l._write(t,i,n,r,s,o,a);l.callback(e[0],e[1]),l.pending_close&&l.close()}),this},r.prototype.writeSync=function(e,t,i,n,r,s,o){return this._writeCheck(),this._write(e,t,i,n,r,s,o)},r.prototype._write=function(e,i,r,o,a,h,u){if(this.write_in_progress=!0,e!==t.Z_NO_FLUSH&&e!==t.Z_PARTIAL_FLUSH&&e!==t.Z_SYNC_FLUSH&&e!==t.Z_FULL_FLUSH&&e!==t.Z_FINISH&&e!==t.Z_BLOCK)throw new Error("Invalid flush value");null==i&&(i=new n(0),o=0,r=0),a._set?a.set=a._set:a.set=s;var c=this.strm;switch(c.avail_in=o,c.input=i,c.next_in=r,c.avail_out=u,c.output=a,c.next_out=h,this.mode){case t.DEFLATE:case t.GZIP:case t.DEFLATERAW:var d=l.deflate(c,e);break;case t.UNZIP:case t.INFLATE:case t.GUNZIP:case t.INFLATERAW:var d=f.inflate(c,e);break;default:throw new Error("Unknown mode "+this.mode)}return d!==t.Z_STREAM_END&&d!==t.Z_OK&&this._error(d),this.write_in_progress=!1,[c.avail_in,c.avail_out]},r.prototype.close=function(){return this.write_in_progress?void(this.pending_close=!0):(this.pending_close=!1,this.mode===t.DEFLATE||this.mode===t.GZIP||this.mode===t.DEFLATERAW?l.deflateEnd(this.strm):f.inflateEnd(this.strm),void(this.mode=t.NONE))},r.prototype.reset=function(){switch(this.mode){case t.DEFLATE:case t.DEFLATERAW:var e=l.deflateReset(this.strm);break;case t.INFLATE:case t.INFLATERAW:var e=f.inflateReset(this.strm)}e!==t.Z_OK&&this._error(e);
},r.prototype._error=function(e){this.onerror(o[e]+": "+this.strm.msg,e),this.write_in_progress=!1,this.pending_close&&this.close()},t.Zlib=r}).call(t,i(2),i(58).Buffer)},function(e,t){"use strict";e.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},function(e,t){"use strict";function i(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}e.exports=i},function(e,t,i){"use strict";function n(e,t){return e.msg=N[t],t}function r(e){return(e<<1)-(e>4?9:0)}function s(e){for(var t=e.length;--t>=0;)e[t]=0}function o(e){var t=e.state,i=t.pending;i>e.avail_out&&(i=e.avail_out),0!==i&&(P.arraySet(e.output,t.pending_buf,t.pending_out,i,e.next_out),e.next_out+=i,t.pending_out+=i,e.total_out+=i,e.avail_out-=i,t.pending-=i,0===t.pending&&(t.pending_out=0))}function a(e,t){x._tr_flush_block(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,o(e.strm)}function l(e,t){e.pending_buf[e.pending++]=t}function f(e,t){e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=255&t}function h(e,t,i,n){var r=e.avail_in;return r>n&&(r=n),0===r?0:(e.avail_in-=r,P.arraySet(t,e.input,e.next_in,r,i),1===e.state.wrap?e.adler=I(e.adler,t,r,i):2===e.state.wrap&&(e.adler=O(e.adler,t,r,i)),e.next_in+=r,e.total_in+=r,r)}function u(e,t){var i,n,r=e.max_chain_length,s=e.strstart,o=e.prev_length,a=e.nice_match,l=e.strstart>e.w_size-ue?e.strstart-(e.w_size-ue):0,f=e.window,h=e.w_mask,u=e.prev,c=e.strstart+he,d=f[s+o-1],p=f[s+o];e.prev_length>=e.good_match&&(r>>=2),a>e.lookahead&&(a=e.lookahead);do if(i=t,f[i+o]===p&&f[i+o-1]===d&&f[i]===f[s]&&f[++i]===f[s+1]){s+=2,i++;do;while(f[++s]===f[++i]&&f[++s]===f[++i]&&f[++s]===f[++i]&&f[++s]===f[++i]&&f[++s]===f[++i]&&f[++s]===f[++i]&&f[++s]===f[++i]&&f[++s]===f[++i]&&s<c);if(n=he-(c-s),s=c-he,n>o){if(e.match_start=t,o=n,n>=a)break;d=f[s+o-1],p=f[s+o]}}while((t=u[t&h])>l&&0!==--r);return o<=e.lookahead?o:e.lookahead}function c(e){var t,i,n,r,s,o=e.w_size;do{if(r=e.window_size-e.lookahead-e.strstart,e.strstart>=o+(o-ue)){P.arraySet(e.window,e.window,o,o,0),e.match_start-=o,e.strstart-=o,e.block_start-=o,i=e.hash_size,t=i;do n=e.head[--t],e.head[t]=n>=o?n-o:0;while(--i);i=o,t=i;do n=e.prev[--t],e.prev[t]=n>=o?n-o:0;while(--i);r+=o}if(0===e.strm.avail_in)break;if(i=h(e.strm,e.window,e.strstart+e.lookahead,r),e.lookahead+=i,e.lookahead+e.insert>=fe)for(s=e.strstart-e.insert,e.ins_h=e.window[s],e.ins_h=(e.ins_h<<e.hash_shift^e.window[s+1])&e.hash_mask;e.insert&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[s+fe-1])&e.hash_mask,e.prev[s&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=s,s++,e.insert--,!(e.lookahead+e.insert<fe)););}while(e.lookahead<ue&&0!==e.strm.avail_in)}function d(e,t){var i=65535;for(i>e.pending_buf_size-5&&(i=e.pending_buf_size-5);;){if(e.lookahead<=1){if(c(e),0===e.lookahead&&t===D)return ve;if(0===e.lookahead)break}e.strstart+=e.lookahead,e.lookahead=0;var n=e.block_start+i;if((0===e.strstart||e.strstart>=n)&&(e.lookahead=e.strstart-n,e.strstart=n,a(e,!1),0===e.strm.avail_out))return ve;if(e.strstart-e.block_start>=e.w_size-ue&&(a(e,!1),0===e.strm.avail_out))return ve}return e.insert=0,t===B?(a(e,!0),0===e.strm.avail_out?ye:Ee):e.strstart>e.block_start&&(a(e,!1),0===e.strm.avail_out)?ve:ve}function p(e,t){for(var i,n;;){if(e.lookahead<ue){if(c(e),e.lookahead<ue&&t===D)return ve;if(0===e.lookahead)break}if(i=0,e.lookahead>=fe&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+fe-1])&e.hash_mask,i=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),0!==i&&e.strstart-i<=e.w_size-ue&&(e.match_length=u(e,i)),e.match_length>=fe)if(n=x._tr_tally(e,e.strstart-e.match_start,e.match_length-fe),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=fe){e.match_length--;do e.strstart++,e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+fe-1])&e.hash_mask,i=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart;while(0!==--e.match_length);e.strstart++}else e.strstart+=e.match_length,e.match_length=0,e.ins_h=e.window[e.strstart],e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+1])&e.hash_mask;else n=x._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(n&&(a(e,!1),0===e.strm.avail_out))return ve}return e.insert=e.strstart<fe-1?e.strstart:fe-1,t===B?(a(e,!0),0===e.strm.avail_out?ye:Ee):e.last_lit&&(a(e,!1),0===e.strm.avail_out)?ve:ke}function b(e,t){for(var i,n,r;;){if(e.lookahead<ue){if(c(e),e.lookahead<ue&&t===D)return ve;if(0===e.lookahead)break}if(i=0,e.lookahead>=fe&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+fe-1])&e.hash_mask,i=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),e.prev_length=e.match_length,e.prev_match=e.match_start,e.match_length=fe-1,0!==i&&e.prev_length<e.max_lazy_match&&e.strstart-i<=e.w_size-ue&&(e.match_length=u(e,i),e.match_length<=5&&(e.strategy===V||e.match_length===fe&&e.strstart-e.match_start>4096)&&(e.match_length=fe-1)),e.prev_length>=fe&&e.match_length<=e.prev_length){r=e.strstart+e.lookahead-fe,n=x._tr_tally(e,e.strstart-1-e.prev_match,e.prev_length-fe),e.lookahead-=e.prev_length-1,e.prev_length-=2;do++e.strstart<=r&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+fe-1])&e.hash_mask,i=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart);while(0!==--e.prev_length);if(e.match_available=0,e.match_length=fe-1,e.strstart++,n&&(a(e,!1),0===e.strm.avail_out))return ve}else if(e.match_available){if(n=x._tr_tally(e,0,e.window[e.strstart-1]),n&&a(e,!1),e.strstart++,e.lookahead--,0===e.strm.avail_out)return ve}else e.match_available=1,e.strstart++,e.lookahead--}return e.match_available&&(n=x._tr_tally(e,0,e.window[e.strstart-1]),e.match_available=0),e.insert=e.strstart<fe-1?e.strstart:fe-1,t===B?(a(e,!0),0===e.strm.avail_out?ye:Ee):e.last_lit&&(a(e,!1),0===e.strm.avail_out)?ve:ke}function w(e,t){for(var i,n,r,s,o=e.window;;){if(e.lookahead<=he){if(c(e),e.lookahead<=he&&t===D)return ve;if(0===e.lookahead)break}if(e.match_length=0,e.lookahead>=fe&&e.strstart>0&&(r=e.strstart-1,n=o[r],n===o[++r]&&n===o[++r]&&n===o[++r])){s=e.strstart+he;do;while(n===o[++r]&&n===o[++r]&&n===o[++r]&&n===o[++r]&&n===o[++r]&&n===o[++r]&&n===o[++r]&&n===o[++r]&&r<s);e.match_length=he-(s-r),e.match_length>e.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=fe?(i=x._tr_tally(e,1,e.match_length-fe),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(i=x._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),i&&(a(e,!1),0===e.strm.avail_out))return ve}return e.insert=0,t===B?(a(e,!0),0===e.strm.avail_out?ye:Ee):e.last_lit&&(a(e,!1),0===e.strm.avail_out)?ve:ke}function m(e,t){for(var i;;){if(0===e.lookahead&&(c(e),0===e.lookahead)){if(t===D)return ve;break}if(e.match_length=0,i=x._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,i&&(a(e,!1),0===e.strm.avail_out))return ve}return e.insert=0,t===B?(a(e,!0),0===e.strm.avail_out?ye:Ee):e.last_lit&&(a(e,!1),0===e.strm.avail_out)?ve:ke}function g(e,t,i,n,r){this.good_length=e,this.max_lazy=t,this.nice_length=i,this.max_chain=n,this.func=r}function _(e){e.window_size=2*e.w_size,s(e.head),e.max_lazy_match=C[e.level].max_lazy,e.good_match=C[e.level].good_length,e.nice_match=C[e.level].nice_length,e.max_chain_length=C[e.level].max_chain,e.strstart=0,e.block_start=0,e.lookahead=0,e.insert=0,e.match_length=e.prev_length=fe-1,e.match_available=0,e.ins_h=0}function v(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=J,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new P.Buf16(2*ae),this.dyn_dtree=new P.Buf16(2*(2*se+1)),this.bl_tree=new P.Buf16(2*(2*oe+1)),s(this.dyn_ltree),s(this.dyn_dtree),s(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new P.Buf16(le+1),this.heap=new P.Buf16(2*re+1),s(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new P.Buf16(2*re+1),s(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function k(e){var t;return e&&e.state?(e.total_in=e.total_out=0,e.data_type=X,t=e.state,t.pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap?de:ge,e.adler=2===t.wrap?0:1,t.last_flush=D,x._tr_init(t),F):n(e,H)}function y(e){var t=k(e);return t===F&&_(e.state),t}function E(e,t){return e&&e.state?2!==e.state.wrap?H:(e.state.gzhead=t,F):H}function A(e,t,i,r,s,o){if(!e)return H;var a=1;if(t===W&&(t=6),r<0?(a=0,r=-r):r>15&&(a=2,r-=16),s<1||s>Q||i!==J||r<8||r>15||t<0||t>9||o<0||o>$)return n(e,H);8===r&&(r=9);var l=new v;return e.state=l,l.strm=e,l.wrap=a,l.gzhead=null,l.w_bits=r,l.w_size=1<<l.w_bits,l.w_mask=l.w_size-1,l.hash_bits=s+7,l.hash_size=1<<l.hash_bits,l.hash_mask=l.hash_size-1,l.hash_shift=~~((l.hash_bits+fe-1)/fe),l.window=new P.Buf8(2*l.w_size),l.head=new P.Buf16(l.hash_size),l.prev=new P.Buf16(l.w_size),l.lit_bufsize=1<<s+6,l.pending_buf_size=4*l.lit_bufsize,l.pending_buf=new P.Buf8(l.pending_buf_size),l.d_buf=1*l.lit_bufsize,l.l_buf=3*l.lit_bufsize,l.level=t,l.strategy=o,l.method=i,y(e)}function T(e,t){return A(e,t,J,ee,te,K)}function S(e,t){var i,a,h,u;if(!e||!e.state||t>j||t<0)return e?n(e,H):H;if(a=e.state,!e.output||!e.input&&0!==e.avail_in||a.status===_e&&t!==B)return n(e,0===e.avail_out?q:H);if(a.strm=e,i=a.last_flush,a.last_flush=t,a.status===de)if(2===a.wrap)e.adler=0,l(a,31),l(a,139),l(a,8),a.gzhead?(l(a,(a.gzhead.text?1:0)+(a.gzhead.hcrc?2:0)+(a.gzhead.extra?4:0)+(a.gzhead.name?8:0)+(a.gzhead.comment?16:0)),l(a,255&a.gzhead.time),l(a,a.gzhead.time>>8&255),l(a,a.gzhead.time>>16&255),l(a,a.gzhead.time>>24&255),l(a,9===a.level?2:a.strategy>=Y||a.level<2?4:0),l(a,255&a.gzhead.os),a.gzhead.extra&&a.gzhead.extra.length&&(l(a,255&a.gzhead.extra.length),l(a,a.gzhead.extra.length>>8&255)),a.gzhead.hcrc&&(e.adler=O(e.adler,a.pending_buf,a.pending,0)),a.gzindex=0,a.status=pe):(l(a,0),l(a,0),l(a,0),l(a,0),l(a,0),l(a,9===a.level?2:a.strategy>=Y||a.level<2?4:0),l(a,Ae),a.status=ge);else{var c=J+(a.w_bits-8<<4)<<8,d=-1;d=a.strategy>=Y||a.level<2?0:a.level<6?1:6===a.level?2:3,c|=d<<6,0!==a.strstart&&(c|=ce),c+=31-c%31,a.status=ge,f(a,c),0!==a.strstart&&(f(a,e.adler>>>16),f(a,65535&e.adler)),e.adler=1}if(a.status===pe)if(a.gzhead.extra){for(h=a.pending;a.gzindex<(65535&a.gzhead.extra.length)&&(a.pending!==a.pending_buf_size||(a.gzhead.hcrc&&a.pending>h&&(e.adler=O(e.adler,a.pending_buf,a.pending-h,h)),o(e),h=a.pending,a.pending!==a.pending_buf_size));)l(a,255&a.gzhead.extra[a.gzindex]),a.gzindex++;a.gzhead.hcrc&&a.pending>h&&(e.adler=O(e.adler,a.pending_buf,a.pending-h,h)),a.gzindex===a.gzhead.extra.length&&(a.gzindex=0,a.status=be)}else a.status=be;if(a.status===be)if(a.gzhead.name){h=a.pending;do{if(a.pending===a.pending_buf_size&&(a.gzhead.hcrc&&a.pending>h&&(e.adler=O(e.adler,a.pending_buf,a.pending-h,h)),o(e),h=a.pending,a.pending===a.pending_buf_size)){u=1;break}u=a.gzindex<a.gzhead.name.length?255&a.gzhead.name.charCodeAt(a.gzindex++):0,l(a,u)}while(0!==u);a.gzhead.hcrc&&a.pending>h&&(e.adler=O(e.adler,a.pending_buf,a.pending-h,h)),0===u&&(a.gzindex=0,a.status=we)}else a.status=we;if(a.status===we)if(a.gzhead.comment){h=a.pending;do{if(a.pending===a.pending_buf_size&&(a.gzhead.hcrc&&a.pending>h&&(e.adler=O(e.adler,a.pending_buf,a.pending-h,h)),o(e),h=a.pending,a.pending===a.pending_buf_size)){u=1;break}u=a.gzindex<a.gzhead.comment.length?255&a.gzhead.comment.charCodeAt(a.gzindex++):0,l(a,u)}while(0!==u);a.gzhead.hcrc&&a.pending>h&&(e.adler=O(e.adler,a.pending_buf,a.pending-h,h)),0===u&&(a.status=me)}else a.status=me;if(a.status===me&&(a.gzhead.hcrc?(a.pending+2>a.pending_buf_size&&o(e),a.pending+2<=a.pending_buf_size&&(l(a,255&e.adler),l(a,e.adler>>8&255),e.adler=0,a.status=ge)):a.status=ge),0!==a.pending){if(o(e),0===e.avail_out)return a.last_flush=-1,F}else if(0===e.avail_in&&r(t)<=r(i)&&t!==B)return n(e,q);if(a.status===_e&&0!==e.avail_in)return n(e,q);if(0!==e.avail_in||0!==a.lookahead||t!==D&&a.status!==_e){var p=a.strategy===Y?m(a,t):a.strategy===Z?w(a,t):C[a.level].func(a,t);if(p!==ye&&p!==Ee||(a.status=_e),p===ve||p===ye)return 0===e.avail_out&&(a.last_flush=-1),F;if(p===ke&&(t===L?x._tr_align(a):t!==j&&(x._tr_stored_block(a,0,0,!1),t===U&&(s(a.head),0===a.lookahead&&(a.strstart=0,a.block_start=0,a.insert=0))),o(e),0===e.avail_out))return a.last_flush=-1,F}return t!==B?F:a.wrap<=0?G:(2===a.wrap?(l(a,255&e.adler),l(a,e.adler>>8&255),l(a,e.adler>>16&255),l(a,e.adler>>24&255),l(a,255&e.total_in),l(a,e.total_in>>8&255),l(a,e.total_in>>16&255),l(a,e.total_in>>24&255)):(f(a,e.adler>>>16),f(a,65535&e.adler)),o(e),a.wrap>0&&(a.wrap=-a.wrap),0!==a.pending?F:G)}function M(e){var t;return e&&e.state?(t=e.state.status,t!==de&&t!==pe&&t!==be&&t!==we&&t!==me&&t!==ge&&t!==_e?n(e,H):(e.state=null,t===ge?n(e,z):F)):H}function R(e,t){var i,n,r,o,a,l,f,h,u=t.length;if(!e||!e.state)return H;if(i=e.state,o=i.wrap,2===o||1===o&&i.status!==de||i.lookahead)return H;for(1===o&&(e.adler=I(e.adler,t,u,0)),i.wrap=0,u>=i.w_size&&(0===o&&(s(i.head),i.strstart=0,i.block_start=0,i.insert=0),h=new P.Buf8(i.w_size),P.arraySet(h,t,u-i.w_size,i.w_size,0),t=h,u=i.w_size),a=e.avail_in,l=e.next_in,f=e.input,e.avail_in=u,e.next_in=0,e.input=t,c(i);i.lookahead>=fe;){n=i.strstart,r=i.lookahead-(fe-1);do i.ins_h=(i.ins_h<<i.hash_shift^i.window[n+fe-1])&i.hash_mask,i.prev[n&i.w_mask]=i.head[i.ins_h],i.head[i.ins_h]=n,n++;while(--r);i.strstart=n,i.lookahead=fe-1,c(i)}return i.strstart+=i.lookahead,i.block_start=i.strstart,i.insert=i.lookahead,i.lookahead=0,i.match_length=i.prev_length=fe-1,i.match_available=0,e.next_in=l,e.input=f,e.avail_in=a,i.wrap=o,F}var C,P=i(138),x=i(139),I=i(140),O=i(141),N=i(135),D=0,L=1,U=3,B=4,j=5,F=0,G=1,H=-2,z=-3,q=-5,W=-1,V=1,Y=2,Z=3,$=4,K=0,X=2,J=8,Q=9,ee=15,te=8,ie=29,ne=256,re=ne+1+ie,se=30,oe=19,ae=2*re+1,le=15,fe=3,he=258,ue=he+fe+1,ce=32,de=42,pe=69,be=73,we=91,me=103,ge=113,_e=666,ve=1,ke=2,ye=3,Ee=4,Ae=3;C=[new g(0,0,0,0,d),new g(4,4,8,4,p),new g(4,5,16,8,p),new g(4,6,32,32,p),new g(4,4,16,16,b),new g(8,16,32,32,b),new g(8,16,128,128,b),new g(8,32,128,256,b),new g(32,128,258,1024,b),new g(32,258,258,4096,b)],t.deflateInit=T,t.deflateInit2=A,t.deflateReset=y,t.deflateResetKeep=k,t.deflateSetHeader=E,t.deflate=S,t.deflateEnd=M,t.deflateSetDictionary=R,t.deflateInfo="pako deflate (from Nodeca project)"},function(e,t){"use strict";var i="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Int32Array;t.assign=function(e){for(var t=Array.prototype.slice.call(arguments,1);t.length;){var i=t.shift();if(i){if("object"!=typeof i)throw new TypeError(i+"must be non-object");for(var n in i)i.hasOwnProperty(n)&&(e[n]=i[n])}}return e},t.shrinkBuf=function(e,t){return e.length===t?e:e.subarray?e.subarray(0,t):(e.length=t,e)};var n={arraySet:function(e,t,i,n,r){if(t.subarray&&e.subarray)return void e.set(t.subarray(i,i+n),r);for(var s=0;s<n;s++)e[r+s]=t[i+s]},flattenChunks:function(e){var t,i,n,r,s,o;for(n=0,t=0,i=e.length;t<i;t++)n+=e[t].length;for(o=new Uint8Array(n),r=0,t=0,i=e.length;t<i;t++)s=e[t],o.set(s,r),r+=s.length;return o}},r={arraySet:function(e,t,i,n,r){for(var s=0;s<n;s++)e[r+s]=t[i+s]},flattenChunks:function(e){return[].concat.apply([],e)}};t.setTyped=function(e){e?(t.Buf8=Uint8Array,t.Buf16=Uint16Array,t.Buf32=Int32Array,t.assign(t,n)):(t.Buf8=Array,t.Buf16=Array,t.Buf32=Array,t.assign(t,r))},t.setTyped(i)},function(e,t,i){"use strict";function n(e){for(var t=e.length;--t>=0;)e[t]=0}function r(e,t,i,n,r){this.static_tree=e,this.extra_bits=t,this.extra_base=i,this.elems=n,this.max_length=r,this.has_stree=e&&e.length}function s(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}function o(e){return e<256?le[e]:le[256+(e>>>7)]}function a(e,t){e.pending_buf[e.pending++]=255&t,e.pending_buf[e.pending++]=t>>>8&255}function l(e,t,i){e.bi_valid>$-i?(e.bi_buf|=t<<e.bi_valid&65535,a(e,e.bi_buf),e.bi_buf=t>>$-e.bi_valid,e.bi_valid+=i-$):(e.bi_buf|=t<<e.bi_valid&65535,e.bi_valid+=i)}function f(e,t,i){l(e,i[2*t],i[2*t+1])}function h(e,t){var i=0;do i|=1&e,e>>>=1,i<<=1;while(--t>0);return i>>>1}function u(e){16===e.bi_valid?(a(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):e.bi_valid>=8&&(e.pending_buf[e.pending++]=255&e.bi_buf,e.bi_buf>>=8,e.bi_valid-=8)}function c(e,t){var i,n,r,s,o,a,l=t.dyn_tree,f=t.max_code,h=t.stat_desc.static_tree,u=t.stat_desc.has_stree,c=t.stat_desc.extra_bits,d=t.stat_desc.extra_base,p=t.stat_desc.max_length,b=0;for(s=0;s<=Z;s++)e.bl_count[s]=0;for(l[2*e.heap[e.heap_max]+1]=0,i=e.heap_max+1;i<Y;i++)n=e.heap[i],s=l[2*l[2*n+1]+1]+1,s>p&&(s=p,b++),l[2*n+1]=s,n>f||(e.bl_count[s]++,o=0,n>=d&&(o=c[n-d]),a=l[2*n],e.opt_len+=a*(s+o),u&&(e.static_len+=a*(h[2*n+1]+o)));if(0!==b){do{for(s=p-1;0===e.bl_count[s];)s--;e.bl_count[s]--,e.bl_count[s+1]+=2,e.bl_count[p]--,b-=2}while(b>0);for(s=p;0!==s;s--)for(n=e.bl_count[s];0!==n;)r=e.heap[--i],r>f||(l[2*r+1]!==s&&(e.opt_len+=(s-l[2*r+1])*l[2*r],l[2*r+1]=s),n--)}}function d(e,t,i){var n,r,s=new Array(Z+1),o=0;for(n=1;n<=Z;n++)s[n]=o=o+i[n-1]<<1;for(r=0;r<=t;r++){var a=e[2*r+1];0!==a&&(e[2*r]=h(s[a]++,a))}}function p(){var e,t,i,n,s,o=new Array(Z+1);for(i=0,n=0;n<H-1;n++)for(he[n]=i,e=0;e<1<<te[n];e++)fe[i++]=n;for(fe[i-1]=n,s=0,n=0;n<16;n++)for(ue[n]=s,e=0;e<1<<ie[n];e++)le[s++]=n;for(s>>=7;n<W;n++)for(ue[n]=s<<7,e=0;e<1<<ie[n]-7;e++)le[256+s++]=n;for(t=0;t<=Z;t++)o[t]=0;for(e=0;e<=143;)oe[2*e+1]=8,e++,o[8]++;for(;e<=255;)oe[2*e+1]=9,e++,o[9]++;for(;e<=279;)oe[2*e+1]=7,e++,o[7]++;for(;e<=287;)oe[2*e+1]=8,e++,o[8]++;for(d(oe,q+1,o),e=0;e<W;e++)ae[2*e+1]=5,ae[2*e]=h(e,5);ce=new r(oe,te,z+1,q,Z),de=new r(ae,ie,0,W,Z),pe=new r(new Array(0),ne,0,V,K)}function b(e){var t;for(t=0;t<q;t++)e.dyn_ltree[2*t]=0;for(t=0;t<W;t++)e.dyn_dtree[2*t]=0;for(t=0;t<V;t++)e.bl_tree[2*t]=0;e.dyn_ltree[2*X]=1,e.opt_len=e.static_len=0,e.last_lit=e.matches=0}function w(e){e.bi_valid>8?a(e,e.bi_buf):e.bi_valid>0&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0}function m(e,t,i,n){w(e),n&&(a(e,i),a(e,~i)),I.arraySet(e.pending_buf,e.window,t,i,e.pending),e.pending+=i}function g(e,t,i,n){var r=2*t,s=2*i;return e[r]<e[s]||e[r]===e[s]&&n[t]<=n[i]}function _(e,t,i){for(var n=e.heap[i],r=i<<1;r<=e.heap_len&&(r<e.heap_len&&g(t,e.heap[r+1],e.heap[r],e.depth)&&r++,!g(t,n,e.heap[r],e.depth));)e.heap[i]=e.heap[r],i=r,r<<=1;e.heap[i]=n}function v(e,t,i){var n,r,s,a,h=0;if(0!==e.last_lit)do n=e.pending_buf[e.d_buf+2*h]<<8|e.pending_buf[e.d_buf+2*h+1],r=e.pending_buf[e.l_buf+h],h++,0===n?f(e,r,t):(s=fe[r],f(e,s+z+1,t),a=te[s],0!==a&&(r-=he[s],l(e,r,a)),n--,s=o(n),f(e,s,i),a=ie[s],0!==a&&(n-=ue[s],l(e,n,a)));while(h<e.last_lit);f(e,X,t)}function k(e,t){var i,n,r,s=t.dyn_tree,o=t.stat_desc.static_tree,a=t.stat_desc.has_stree,l=t.stat_desc.elems,f=-1;for(e.heap_len=0,e.heap_max=Y,i=0;i<l;i++)0!==s[2*i]?(e.heap[++e.heap_len]=f=i,e.depth[i]=0):s[2*i+1]=0;for(;e.heap_len<2;)r=e.heap[++e.heap_len]=f<2?++f:0,s[2*r]=1,e.depth[r]=0,e.opt_len--,a&&(e.static_len-=o[2*r+1]);for(t.max_code=f,i=e.heap_len>>1;i>=1;i--)_(e,s,i);r=l;do i=e.heap[1],e.heap[1]=e.heap[e.heap_len--],_(e,s,1),n=e.heap[1],e.heap[--e.heap_max]=i,e.heap[--e.heap_max]=n,s[2*r]=s[2*i]+s[2*n],e.depth[r]=(e.depth[i]>=e.depth[n]?e.depth[i]:e.depth[n])+1,s[2*i+1]=s[2*n+1]=r,e.heap[1]=r++,_(e,s,1);while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1],c(e,t),d(s,f,e.bl_count)}function y(e,t,i){var n,r,s=-1,o=t[1],a=0,l=7,f=4;for(0===o&&(l=138,f=3),t[2*(i+1)+1]=65535,n=0;n<=i;n++)r=o,o=t[2*(n+1)+1],++a<l&&r===o||(a<f?e.bl_tree[2*r]+=a:0!==r?(r!==s&&e.bl_tree[2*r]++,e.bl_tree[2*J]++):a<=10?e.bl_tree[2*Q]++:e.bl_tree[2*ee]++,a=0,s=r,0===o?(l=138,f=3):r===o?(l=6,f=3):(l=7,f=4))}function E(e,t,i){var n,r,s=-1,o=t[1],a=0,h=7,u=4;for(0===o&&(h=138,u=3),n=0;n<=i;n++)if(r=o,o=t[2*(n+1)+1],!(++a<h&&r===o)){if(a<u){do f(e,r,e.bl_tree);while(0!==--a)}else 0!==r?(r!==s&&(f(e,r,e.bl_tree),a--),f(e,J,e.bl_tree),l(e,a-3,2)):a<=10?(f(e,Q,e.bl_tree),l(e,a-3,3)):(f(e,ee,e.bl_tree),l(e,a-11,7));a=0,s=r,0===o?(h=138,u=3):r===o?(h=6,u=3):(h=7,u=4)}}function A(e){var t;for(y(e,e.dyn_ltree,e.l_desc.max_code),y(e,e.dyn_dtree,e.d_desc.max_code),k(e,e.bl_desc),t=V-1;t>=3&&0===e.bl_tree[2*re[t]+1];t--);return e.opt_len+=3*(t+1)+5+5+4,t}function T(e,t,i,n){var r;for(l(e,t-257,5),l(e,i-1,5),l(e,n-4,4),r=0;r<n;r++)l(e,e.bl_tree[2*re[r]+1],3);E(e,e.dyn_ltree,t-1),E(e,e.dyn_dtree,i-1)}function S(e){var t,i=4093624447;for(t=0;t<=31;t++,i>>>=1)if(1&i&&0!==e.dyn_ltree[2*t])return N;if(0!==e.dyn_ltree[18]||0!==e.dyn_ltree[20]||0!==e.dyn_ltree[26])return D;for(t=32;t<z;t++)if(0!==e.dyn_ltree[2*t])return D;return N}function M(e){be||(p(),be=!0),e.l_desc=new s(e.dyn_ltree,ce),e.d_desc=new s(e.dyn_dtree,de),e.bl_desc=new s(e.bl_tree,pe),e.bi_buf=0,e.bi_valid=0,b(e)}function R(e,t,i,n){l(e,(U<<1)+(n?1:0),3),m(e,t,i,!0)}function C(e){l(e,B<<1,3),f(e,X,oe),u(e)}function P(e,t,i,n){var r,s,o=0;e.level>0?(e.strm.data_type===L&&(e.strm.data_type=S(e)),k(e,e.l_desc),k(e,e.d_desc),o=A(e),r=e.opt_len+3+7>>>3,s=e.static_len+3+7>>>3,s<=r&&(r=s)):r=s=i+5,i+4<=r&&t!==-1?R(e,t,i,n):e.strategy===O||s===r?(l(e,(B<<1)+(n?1:0),3),v(e,oe,ae)):(l(e,(j<<1)+(n?1:0),3),T(e,e.l_desc.max_code+1,e.d_desc.max_code+1,o+1),v(e,e.dyn_ltree,e.dyn_dtree)),b(e),n&&w(e)}function x(e,t,i){return e.pending_buf[e.d_buf+2*e.last_lit]=t>>>8&255,e.pending_buf[e.d_buf+2*e.last_lit+1]=255&t,e.pending_buf[e.l_buf+e.last_lit]=255&i,e.last_lit++,0===t?e.dyn_ltree[2*i]++:(e.matches++,t--,e.dyn_ltree[2*(fe[i]+z+1)]++,e.dyn_dtree[2*o(t)]++),e.last_lit===e.lit_bufsize-1}var I=i(138),O=4,N=0,D=1,L=2,U=0,B=1,j=2,F=3,G=258,H=29,z=256,q=z+1+H,W=30,V=19,Y=2*q+1,Z=15,$=16,K=7,X=256,J=16,Q=17,ee=18,te=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],ie=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],ne=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],re=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],se=512,oe=new Array(2*(q+2));n(oe);var ae=new Array(2*W);n(ae);var le=new Array(se);n(le);var fe=new Array(G-F+1);n(fe);var he=new Array(H);n(he);var ue=new Array(W);n(ue);var ce,de,pe,be=!1;t._tr_init=M,t._tr_stored_block=R,t._tr_flush_block=P,t._tr_tally=x,t._tr_align=C},function(e,t){"use strict";function i(e,t,i,n){for(var r=65535&e|0,s=e>>>16&65535|0,o=0;0!==i;){o=i>2e3?2e3:i,i-=o;do r=r+t[n++]|0,s=s+r|0;while(--o);r%=65521,s%=65521}return r|s<<16|0}e.exports=i},function(e,t){"use strict";function i(){for(var e,t=[],i=0;i<256;i++){e=i;for(var n=0;n<8;n++)e=1&e?3988292384^e>>>1:e>>>1;t[i]=e}return t}function n(e,t,i,n){var s=r,o=n+i;e^=-1;for(var a=n;a<o;a++)e=e>>>8^s[255&(e^t[a])];return e^-1}var r=i();e.exports=n},function(e,t,i){"use strict";function n(e){return(e>>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24)}function r(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new g.Buf16(320),this.work=new g.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function s(e){var t;return e&&e.state?(t=e.state,e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=1&t.wrap),t.mode=U,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new g.Buf32(be),t.distcode=t.distdyn=new g.Buf32(we),t.sane=1,t.back=-1,C):I}function o(e){var t;return e&&e.state?(t=e.state,t.wsize=0,t.whave=0,t.wnext=0,s(e)):I}function a(e,t){var i,n;return e&&e.state?(n=e.state,t<0?(i=0,t=-t):(i=(t>>4)+1,t<48&&(t&=15)),t&&(t<8||t>15)?I:(null!==n.window&&n.wbits!==t&&(n.window=null),n.wrap=i,n.wbits=t,o(e))):I}function l(e,t){var i,n;return e?(n=new r,e.state=n,n.window=null,i=a(e,t),i!==C&&(e.state=null),i):I}function f(e){return l(e,ge)}function h(e){if(_e){var t;for(w=new g.Buf32(512),m=new g.Buf32(32),t=0;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(y(A,e.lens,0,288,w,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;y(T,e.lens,0,32,m,0,e.work,{bits:5}),_e=!1}e.lencode=w,e.lenbits=9,e.distcode=m,e.distbits=5}function u(e,t,i,n){var r,s=e.state;return null===s.window&&(s.wsize=1<<s.wbits,s.wnext=0,s.whave=0,s.window=new g.Buf8(s.wsize)),n>=s.wsize?(g.arraySet(s.window,t,i-s.wsize,s.wsize,0),s.wnext=0,s.whave=s.wsize):(r=s.wsize-s.wnext,r>n&&(r=n),g.arraySet(s.window,t,i-n,r,s.wnext),n-=r,n?(g.arraySet(s.window,t,i-n,n,0),s.wnext=n,s.whave=s.wsize):(s.wnext+=r,s.wnext===s.wsize&&(s.wnext=0),s.whave<s.wsize&&(s.whave+=r))),0}function c(e,t){var i,r,s,o,a,l,f,c,d,p,b,w,m,be,we,me,ge,_e,ve,ke,ye,Ee,Ae,Te,Se=0,Me=new g.Buf8(4),Re=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!e||!e.state||!e.output||!e.input&&0!==e.avail_in)return I;i=e.state,i.mode===Z&&(i.mode=$),a=e.next_out,s=e.output,f=e.avail_out,o=e.next_in,r=e.input,l=e.avail_in,c=i.hold,d=i.bits,p=l,b=f,Ee=C;e:for(;;)switch(i.mode){case U:if(0===i.wrap){i.mode=$;break}for(;d<16;){if(0===l)break e;l--,c+=r[o++]<<d,d+=8}if(2&i.wrap&&35615===c){i.check=0,Me[0]=255&c,Me[1]=c>>>8&255,i.check=v(i.check,Me,2,0),c=0,d=0,i.mode=B;break}if(i.flags=0,i.head&&(i.head.done=!1),!(1&i.wrap)||(((255&c)<<8)+(c>>8))%31){e.msg="incorrect header check",i.mode=ce;break}if((15&c)!==L){e.msg="unknown compression method",i.mode=ce;break}if(c>>>=4,d-=4,ye=(15&c)+8,0===i.wbits)i.wbits=ye;else if(ye>i.wbits){e.msg="invalid window size",i.mode=ce;break}i.dmax=1<<ye,e.adler=i.check=1,i.mode=512&c?V:Z,c=0,d=0;break;case B:for(;d<16;){if(0===l)break e;l--,c+=r[o++]<<d,d+=8}if(i.flags=c,(255&i.flags)!==L){e.msg="unknown compression method",i.mode=ce;break}if(57344&i.flags){e.msg="unknown header flags set",i.mode=ce;break}i.head&&(i.head.text=c>>8&1),512&i.flags&&(Me[0]=255&c,Me[1]=c>>>8&255,i.check=v(i.check,Me,2,0)),c=0,d=0,i.mode=j;case j:for(;d<32;){if(0===l)break e;l--,c+=r[o++]<<d,d+=8}i.head&&(i.head.time=c),512&i.flags&&(Me[0]=255&c,Me[1]=c>>>8&255,Me[2]=c>>>16&255,Me[3]=c>>>24&255,i.check=v(i.check,Me,4,0)),c=0,d=0,i.mode=F;case F:for(;d<16;){if(0===l)break e;l--,c+=r[o++]<<d,d+=8}i.head&&(i.head.xflags=255&c,i.head.os=c>>8),512&i.flags&&(Me[0]=255&c,Me[1]=c>>>8&255,i.check=v(i.check,Me,2,0)),c=0,d=0,i.mode=G;case G:if(1024&i.flags){for(;d<16;){if(0===l)break e;l--,c+=r[o++]<<d,d+=8}i.length=c,i.head&&(i.head.extra_len=c),512&i.flags&&(Me[0]=255&c,Me[1]=c>>>8&255,i.check=v(i.check,Me,2,0)),c=0,d=0}else i.head&&(i.head.extra=null);i.mode=H;case H:if(1024&i.flags&&(w=i.length,w>l&&(w=l),w&&(i.head&&(ye=i.head.extra_len-i.length,i.head.extra||(i.head.extra=new Array(i.head.extra_len)),g.arraySet(i.head.extra,r,o,w,ye)),512&i.flags&&(i.check=v(i.check,r,w,o)),l-=w,o+=w,i.length-=w),i.length))break e;i.length=0,i.mode=z;case z:if(2048&i.flags){if(0===l)break e;w=0;do ye=r[o+w++],i.head&&ye&&i.length<65536&&(i.head.name+=String.fromCharCode(ye));while(ye&&w<l);if(512&i.flags&&(i.check=v(i.check,r,w,o)),l-=w,o+=w,ye)break e}else i.head&&(i.head.name=null);i.length=0,i.mode=q;case q:if(4096&i.flags){if(0===l)break e;w=0;do ye=r[o+w++],i.head&&ye&&i.length<65536&&(i.head.comment+=String.fromCharCode(ye));while(ye&&w<l);if(512&i.flags&&(i.check=v(i.check,r,w,o)),l-=w,o+=w,ye)break e}else i.head&&(i.head.comment=null);i.mode=W;case W:if(512&i.flags){for(;d<16;){if(0===l)break e;l--,c+=r[o++]<<d,d+=8}if(c!==(65535&i.check)){e.msg="header crc mismatch",i.mode=ce;break}c=0,d=0}i.head&&(i.head.hcrc=i.flags>>9&1,i.head.done=!0),e.adler=i.check=0,i.mode=Z;break;case V:for(;d<32;){if(0===l)break e;l--,c+=r[o++]<<d,d+=8}e.adler=i.check=n(c),c=0,d=0,i.mode=Y;case Y:if(0===i.havedict)return e.next_out=a,e.avail_out=f,e.next_in=o,e.avail_in=l,i.hold=c,i.bits=d,x;e.adler=i.check=1,i.mode=Z;case Z:if(t===M||t===R)break e;case $:if(i.last){c>>>=7&d,d-=7&d,i.mode=fe;break}for(;d<3;){if(0===l)break e;l--,c+=r[o++]<<d,d+=8}switch(i.last=1&c,c>>>=1,d-=1,3&c){case 0:i.mode=K;break;case 1:if(h(i),i.mode=ie,t===R){c>>>=2,d-=2;break e}break;case 2:i.mode=Q;break;case 3:e.msg="invalid block type",i.mode=ce}c>>>=2,d-=2;break;case K:for(c>>>=7&d,d-=7&d;d<32;){if(0===l)break e;l--,c+=r[o++]<<d,d+=8}if((65535&c)!==(c>>>16^65535)){e.msg="invalid stored block lengths",i.mode=ce;break}if(i.length=65535&c,c=0,d=0,i.mode=X,t===R)break e;case X:i.mode=J;case J:if(w=i.length){if(w>l&&(w=l),w>f&&(w=f),0===w)break e;g.arraySet(s,r,o,w,a),l-=w,o+=w,f-=w,a+=w,i.length-=w;break}i.mode=Z;break;case Q:for(;d<14;){if(0===l)break e;l--,c+=r[o++]<<d,d+=8}if(i.nlen=(31&c)+257,c>>>=5,d-=5,i.ndist=(31&c)+1,c>>>=5,d-=5,i.ncode=(15&c)+4,c>>>=4,d-=4,i.nlen>286||i.ndist>30){e.msg="too many length or distance symbols",i.mode=ce;break}i.have=0,i.mode=ee;case ee:for(;i.have<i.ncode;){for(;d<3;){if(0===l)break e;l--,c+=r[o++]<<d,d+=8}i.lens[Re[i.have++]]=7&c,c>>>=3,d-=3}for(;i.have<19;)i.lens[Re[i.have++]]=0;if(i.lencode=i.lendyn,i.lenbits=7,Ae={bits:i.lenbits},Ee=y(E,i.lens,0,19,i.lencode,0,i.work,Ae),i.lenbits=Ae.bits,Ee){e.msg="invalid code lengths set",i.mode=ce;break}i.have=0,i.mode=te;case te:for(;i.have<i.nlen+i.ndist;){for(;Se=i.lencode[c&(1<<i.lenbits)-1],we=Se>>>24,me=Se>>>16&255,ge=65535&Se,!(we<=d);){if(0===l)break e;l--,c+=r[o++]<<d,d+=8}if(ge<16)c>>>=we,d-=we,i.lens[i.have++]=ge;else{if(16===ge){for(Te=we+2;d<Te;){if(0===l)break e;l--,c+=r[o++]<<d,d+=8}if(c>>>=we,d-=we,0===i.have){e.msg="invalid bit length repeat",i.mode=ce;break}ye=i.lens[i.have-1],w=3+(3&c),c>>>=2,d-=2}else if(17===ge){for(Te=we+3;d<Te;){if(0===l)break e;l--,c+=r[o++]<<d,d+=8}c>>>=we,d-=we,ye=0,w=3+(7&c),c>>>=3,d-=3}else{for(Te=we+7;d<Te;){if(0===l)break e;l--,c+=r[o++]<<d,d+=8}c>>>=we,d-=we,ye=0,w=11+(127&c),c>>>=7,d-=7}if(i.have+w>i.nlen+i.ndist){e.msg="invalid bit length repeat",i.mode=ce;break}for(;w--;)i.lens[i.have++]=ye}}if(i.mode===ce)break;if(0===i.lens[256]){e.msg="invalid code -- missing end-of-block",i.mode=ce;break}if(i.lenbits=9,Ae={bits:i.lenbits},Ee=y(A,i.lens,0,i.nlen,i.lencode,0,i.work,Ae),i.lenbits=Ae.bits,Ee){e.msg="invalid literal/lengths set",i.mode=ce;break}if(i.distbits=6,i.distcode=i.distdyn,Ae={bits:i.distbits},Ee=y(T,i.lens,i.nlen,i.ndist,i.distcode,0,i.work,Ae),i.distbits=Ae.bits,Ee){e.msg="invalid distances set",i.mode=ce;break}if(i.mode=ie,t===R)break e;case ie:i.mode=ne;case ne:if(l>=6&&f>=258){e.next_out=a,e.avail_out=f,e.next_in=o,e.avail_in=l,i.hold=c,i.bits=d,k(e,b),a=e.next_out,s=e.output,f=e.avail_out,o=e.next_in,r=e.input,l=e.avail_in,c=i.hold,d=i.bits,i.mode===Z&&(i.back=-1);break}for(i.back=0;Se=i.lencode[c&(1<<i.lenbits)-1],we=Se>>>24,me=Se>>>16&255,ge=65535&Se,!(we<=d);){if(0===l)break e;l--,c+=r[o++]<<d,d+=8}if(me&&0===(240&me)){for(_e=we,ve=me,ke=ge;Se=i.lencode[ke+((c&(1<<_e+ve)-1)>>_e)],we=Se>>>24,me=Se>>>16&255,ge=65535&Se,!(_e+we<=d);){if(0===l)break e;l--,c+=r[o++]<<d,d+=8}c>>>=_e,d-=_e,i.back+=_e}if(c>>>=we,d-=we,i.back+=we,i.length=ge,0===me){i.mode=le;break}if(32&me){i.back=-1,i.mode=Z;break}if(64&me){e.msg="invalid literal/length code",i.mode=ce;break}i.extra=15&me,i.mode=re;case re:if(i.extra){for(Te=i.extra;d<Te;){if(0===l)break e;l--,c+=r[o++]<<d,d+=8}i.length+=c&(1<<i.extra)-1,c>>>=i.extra,d-=i.extra,i.back+=i.extra}i.was=i.length,i.mode=se;case se:for(;Se=i.distcode[c&(1<<i.distbits)-1],we=Se>>>24,me=Se>>>16&255,ge=65535&Se,!(we<=d);){if(0===l)break e;l--,c+=r[o++]<<d,d+=8}if(0===(240&me)){
for(_e=we,ve=me,ke=ge;Se=i.distcode[ke+((c&(1<<_e+ve)-1)>>_e)],we=Se>>>24,me=Se>>>16&255,ge=65535&Se,!(_e+we<=d);){if(0===l)break e;l--,c+=r[o++]<<d,d+=8}c>>>=_e,d-=_e,i.back+=_e}if(c>>>=we,d-=we,i.back+=we,64&me){e.msg="invalid distance code",i.mode=ce;break}i.offset=ge,i.extra=15&me,i.mode=oe;case oe:if(i.extra){for(Te=i.extra;d<Te;){if(0===l)break e;l--,c+=r[o++]<<d,d+=8}i.offset+=c&(1<<i.extra)-1,c>>>=i.extra,d-=i.extra,i.back+=i.extra}if(i.offset>i.dmax){e.msg="invalid distance too far back",i.mode=ce;break}i.mode=ae;case ae:if(0===f)break e;if(w=b-f,i.offset>w){if(w=i.offset-w,w>i.whave&&i.sane){e.msg="invalid distance too far back",i.mode=ce;break}w>i.wnext?(w-=i.wnext,m=i.wsize-w):m=i.wnext-w,w>i.length&&(w=i.length),be=i.window}else be=s,m=a-i.offset,w=i.length;w>f&&(w=f),f-=w,i.length-=w;do s[a++]=be[m++];while(--w);0===i.length&&(i.mode=ne);break;case le:if(0===f)break e;s[a++]=i.length,f--,i.mode=ne;break;case fe:if(i.wrap){for(;d<32;){if(0===l)break e;l--,c|=r[o++]<<d,d+=8}if(b-=f,e.total_out+=b,i.total+=b,b&&(e.adler=i.check=i.flags?v(i.check,s,b,a-b):_(i.check,s,b,a-b)),b=f,(i.flags?c:n(c))!==i.check){e.msg="incorrect data check",i.mode=ce;break}c=0,d=0}i.mode=he;case he:if(i.wrap&&i.flags){for(;d<32;){if(0===l)break e;l--,c+=r[o++]<<d,d+=8}if(c!==(4294967295&i.total)){e.msg="incorrect length check",i.mode=ce;break}c=0,d=0}i.mode=ue;case ue:Ee=P;break e;case ce:Ee=O;break e;case de:return N;case pe:default:return I}return e.next_out=a,e.avail_out=f,e.next_in=o,e.avail_in=l,i.hold=c,i.bits=d,(i.wsize||b!==e.avail_out&&i.mode<ce&&(i.mode<fe||t!==S))&&u(e,e.output,e.next_out,b-e.avail_out)?(i.mode=de,N):(p-=e.avail_in,b-=e.avail_out,e.total_in+=p,e.total_out+=b,i.total+=b,i.wrap&&b&&(e.adler=i.check=i.flags?v(i.check,s,b,e.next_out-b):_(i.check,s,b,e.next_out-b)),e.data_type=i.bits+(i.last?64:0)+(i.mode===Z?128:0)+(i.mode===ie||i.mode===X?256:0),(0===p&&0===b||t===S)&&Ee===C&&(Ee=D),Ee)}function d(e){if(!e||!e.state)return I;var t=e.state;return t.window&&(t.window=null),e.state=null,C}function p(e,t){var i;return e&&e.state?(i=e.state,0===(2&i.wrap)?I:(i.head=t,t.done=!1,C)):I}function b(e,t){var i,n,r,s=t.length;return e&&e.state?(i=e.state,0!==i.wrap&&i.mode!==Y?I:i.mode===Y&&(n=1,n=_(n,t,s,0),n!==i.check)?O:(r=u(e,t,s,s))?(i.mode=de,N):(i.havedict=1,C)):I}var w,m,g=i(138),_=i(140),v=i(141),k=i(143),y=i(144),E=0,A=1,T=2,S=4,M=5,R=6,C=0,P=1,x=2,I=-2,O=-3,N=-4,D=-5,L=8,U=1,B=2,j=3,F=4,G=5,H=6,z=7,q=8,W=9,V=10,Y=11,Z=12,$=13,K=14,X=15,J=16,Q=17,ee=18,te=19,ie=20,ne=21,re=22,se=23,oe=24,ae=25,le=26,fe=27,he=28,ue=29,ce=30,de=31,pe=32,be=852,we=592,me=15,ge=me,_e=!0;t.inflateReset=o,t.inflateReset2=a,t.inflateResetKeep=s,t.inflateInit=f,t.inflateInit2=l,t.inflate=c,t.inflateEnd=d,t.inflateGetHeader=p,t.inflateSetDictionary=b,t.inflateInfo="pako inflate (from Nodeca project)"},function(e,t){"use strict";var i=30,n=12;e.exports=function(e,t){var r,s,o,a,l,f,h,u,c,d,p,b,w,m,g,_,v,k,y,E,A,T,S,M,R;r=e.state,s=e.next_in,M=e.input,o=s+(e.avail_in-5),a=e.next_out,R=e.output,l=a-(t-e.avail_out),f=a+(e.avail_out-257),h=r.dmax,u=r.wsize,c=r.whave,d=r.wnext,p=r.window,b=r.hold,w=r.bits,m=r.lencode,g=r.distcode,_=(1<<r.lenbits)-1,v=(1<<r.distbits)-1;e:do{w<15&&(b+=M[s++]<<w,w+=8,b+=M[s++]<<w,w+=8),k=m[b&_];t:for(;;){if(y=k>>>24,b>>>=y,w-=y,y=k>>>16&255,0===y)R[a++]=65535&k;else{if(!(16&y)){if(0===(64&y)){k=m[(65535&k)+(b&(1<<y)-1)];continue t}if(32&y){r.mode=n;break e}e.msg="invalid literal/length code",r.mode=i;break e}E=65535&k,y&=15,y&&(w<y&&(b+=M[s++]<<w,w+=8),E+=b&(1<<y)-1,b>>>=y,w-=y),w<15&&(b+=M[s++]<<w,w+=8,b+=M[s++]<<w,w+=8),k=g[b&v];i:for(;;){if(y=k>>>24,b>>>=y,w-=y,y=k>>>16&255,!(16&y)){if(0===(64&y)){k=g[(65535&k)+(b&(1<<y)-1)];continue i}e.msg="invalid distance code",r.mode=i;break e}if(A=65535&k,y&=15,w<y&&(b+=M[s++]<<w,w+=8,w<y&&(b+=M[s++]<<w,w+=8)),A+=b&(1<<y)-1,A>h){e.msg="invalid distance too far back",r.mode=i;break e}if(b>>>=y,w-=y,y=a-l,A>y){if(y=A-y,y>c&&r.sane){e.msg="invalid distance too far back",r.mode=i;break e}if(T=0,S=p,0===d){if(T+=u-y,y<E){E-=y;do R[a++]=p[T++];while(--y);T=a-A,S=R}}else if(d<y){if(T+=u+d-y,y-=d,y<E){E-=y;do R[a++]=p[T++];while(--y);if(T=0,d<E){y=d,E-=y;do R[a++]=p[T++];while(--y);T=a-A,S=R}}}else if(T+=d-y,y<E){E-=y;do R[a++]=p[T++];while(--y);T=a-A,S=R}for(;E>2;)R[a++]=S[T++],R[a++]=S[T++],R[a++]=S[T++],E-=3;E&&(R[a++]=S[T++],E>1&&(R[a++]=S[T++]))}else{T=a-A;do R[a++]=R[T++],R[a++]=R[T++],R[a++]=R[T++],E-=3;while(E>2);E&&(R[a++]=R[T++],E>1&&(R[a++]=R[T++]))}break}}break}}while(s<o&&a<f);E=w>>3,s-=E,w-=E<<3,b&=(1<<w)-1,e.next_in=s,e.next_out=a,e.avail_in=s<o?5+(o-s):5-(s-o),e.avail_out=a<f?257+(f-a):257-(a-f),r.hold=b,r.bits=w}},function(e,t,i){"use strict";var n=i(138),r=15,s=852,o=592,a=0,l=1,f=2,h=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],u=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],c=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],d=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];e.exports=function(e,t,i,p,b,w,m,g){var _,v,k,y,E,A,T,S,M,R=g.bits,C=0,P=0,x=0,I=0,O=0,N=0,D=0,L=0,U=0,B=0,j=null,F=0,G=new n.Buf16(r+1),H=new n.Buf16(r+1),z=null,q=0;for(C=0;C<=r;C++)G[C]=0;for(P=0;P<p;P++)G[t[i+P]]++;for(O=R,I=r;I>=1&&0===G[I];I--);if(O>I&&(O=I),0===I)return b[w++]=20971520,b[w++]=20971520,g.bits=1,0;for(x=1;x<I&&0===G[x];x++);for(O<x&&(O=x),L=1,C=1;C<=r;C++)if(L<<=1,L-=G[C],L<0)return-1;if(L>0&&(e===a||1!==I))return-1;for(H[1]=0,C=1;C<r;C++)H[C+1]=H[C]+G[C];for(P=0;P<p;P++)0!==t[i+P]&&(m[H[t[i+P]]++]=P);if(e===a?(j=z=m,A=19):e===l?(j=h,F-=257,z=u,q-=257,A=256):(j=c,z=d,A=-1),B=0,P=0,C=x,E=w,N=O,D=0,k=-1,U=1<<O,y=U-1,e===l&&U>s||e===f&&U>o)return 1;for(var W=0;;){W++,T=C-D,m[P]<A?(S=0,M=m[P]):m[P]>A?(S=z[q+m[P]],M=j[F+m[P]]):(S=96,M=0),_=1<<C-D,v=1<<N,x=v;do v-=_,b[E+(B>>D)+v]=T<<24|S<<16|M|0;while(0!==v);for(_=1<<C-1;B&_;)_>>=1;if(0!==_?(B&=_-1,B+=_):B=0,P++,0===--G[C]){if(C===I)break;C=t[i+m[P]]}if(C>O&&(B&y)!==k){for(0===D&&(D=O),E+=x,N=C-D,L=1<<N;N+D<I&&(L-=G[N+D],!(L<=0));)N++,L<<=1;if(U+=1<<N,e===l&&U>s||e===f&&U>o)return 1;k=B&y,b[k]=O<<24|N<<16|E-w|0}}return 0!==B&&(b[E+B]=C-D<<24|64<<16|0),g.bits=O,0}},function(e,t){"use strict";e.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},function(e,t,i){(function(t){"use strict";/*!
* The buffer module from node.js, for the browser.
*
* @author Feross Aboukhadijeh <feross@feross.org> <http://feross.org>
* @license MIT
*/
function n(e,t){if(e===t)return 0;for(var i=e.length,n=t.length,r=0,s=Math.min(i,n);r<s;++r)if(e[r]!==t[r]){i=e[r],n=t[r];break}return i<n?-1:n<i?1:0}function r(e){return t.Buffer&&"function"==typeof t.Buffer.isBuffer?t.Buffer.isBuffer(e):!(null==e||!e._isBuffer)}function s(e){return Object.prototype.toString.call(e)}function o(e){return!r(e)&&("function"==typeof t.ArrayBuffer&&("function"==typeof ArrayBuffer.isView?ArrayBuffer.isView(e):!!e&&(e instanceof DataView||!!(e.buffer&&e.buffer instanceof ArrayBuffer))))}function a(e){if(v.isFunction(e)){if(E)return e.name;var t=e.toString(),i=t.match(T);return i&&i[1]}}function l(e,t){return"string"==typeof e?e.length<t?e:e.slice(0,t):e}function f(e){if(E||!v.isFunction(e))return v.inspect(e);var t=a(e),i=t?": "+t:"";return"[Function"+i+"]"}function h(e){return l(f(e.actual),128)+" "+e.operator+" "+l(f(e.expected),128)}function u(e,t,i,n,r){throw new A.AssertionError({message:i,actual:e,expected:t,operator:n,stackStartFunction:r})}function c(e,t){e||u(e,!0,t,"==",A.ok)}function d(e,t,i,a){if(e===t)return!0;if(r(e)&&r(t))return 0===n(e,t);if(v.isDate(e)&&v.isDate(t))return e.getTime()===t.getTime();if(v.isRegExp(e)&&v.isRegExp(t))return e.source===t.source&&e.global===t.global&&e.multiline===t.multiline&&e.lastIndex===t.lastIndex&&e.ignoreCase===t.ignoreCase;if(null!==e&&"object"==typeof e||null!==t&&"object"==typeof t){if(o(e)&&o(t)&&s(e)===s(t)&&!(e instanceof Float32Array||e instanceof Float64Array))return 0===n(new Uint8Array(e.buffer),new Uint8Array(t.buffer));if(r(e)!==r(t))return!1;a=a||{actual:[],expected:[]};var l=a.actual.indexOf(e);return l!==-1&&l===a.expected.indexOf(t)||(a.actual.push(e),a.expected.push(t),b(e,t,i,a))}return i?e===t:e==t}function p(e){return"[object Arguments]"==Object.prototype.toString.call(e)}function b(e,t,i,n){if(null===e||void 0===e||null===t||void 0===t)return!1;if(v.isPrimitive(e)||v.isPrimitive(t))return e===t;if(i&&Object.getPrototypeOf(e)!==Object.getPrototypeOf(t))return!1;var r=p(e),s=p(t);if(r&&!s||!r&&s)return!1;if(r)return e=y.call(e),t=y.call(t),d(e,t,i);var o,a,l=S(e),f=S(t);if(l.length!==f.length)return!1;for(l.sort(),f.sort(),a=l.length-1;a>=0;a--)if(l[a]!==f[a])return!1;for(a=l.length-1;a>=0;a--)if(o=l[a],!d(e[o],t[o],i,n))return!1;return!0}function w(e,t,i){d(e,t,!0)&&u(e,t,i,"notDeepStrictEqual",w)}function m(e,t){if(!e||!t)return!1;if("[object RegExp]"==Object.prototype.toString.call(t))return t.test(e);try{if(e instanceof t)return!0}catch(e){}return!Error.isPrototypeOf(t)&&t.call({},e)===!0}function g(e){var t;try{e()}catch(e){t=e}return t}function _(e,t,i,n){var r;if("function"!=typeof t)throw new TypeError('"block" argument must be a function');"string"==typeof i&&(n=i,i=null),r=g(t),n=(i&&i.name?" ("+i.name+").":".")+(n?" "+n:"."),e&&!r&&u(r,i,"Missing expected exception"+n);var s="string"==typeof n,o=!e&&v.isError(r),a=!e&&r&&!i;if((o&&s&&m(r,i)||a)&&u(r,i,"Got unwanted exception"+n),e&&r&&i&&!m(r,i)||!e&&r)throw r}var v=i(75),k=Object.prototype.hasOwnProperty,y=Array.prototype.slice,E=function(){return"foo"===function(){}.name}(),A=e.exports=c,T=/\s*function\s+([^\(\s]*)\s*/;A.AssertionError=function(e){this.name="AssertionError",this.actual=e.actual,this.expected=e.expected,this.operator=e.operator,e.message?(this.message=e.message,this.generatedMessage=!1):(this.message=h(this),this.generatedMessage=!0);var t=e.stackStartFunction||u;if(Error.captureStackTrace)Error.captureStackTrace(this,t);else{var i=new Error;if(i.stack){var n=i.stack,r=a(t),s=n.indexOf("\n"+r);if(s>=0){var o=n.indexOf("\n",s+1);n=n.substring(o+1)}this.stack=n}}},v.inherits(A.AssertionError,Error),A.fail=u,A.ok=c,A.equal=function(e,t,i){e!=t&&u(e,t,i,"==",A.equal)},A.notEqual=function(e,t,i){e==t&&u(e,t,i,"!=",A.notEqual)},A.deepEqual=function(e,t,i){d(e,t,!1)||u(e,t,i,"deepEqual",A.deepEqual)},A.deepStrictEqual=function(e,t,i){d(e,t,!0)||u(e,t,i,"deepStrictEqual",A.deepStrictEqual)},A.notDeepEqual=function(e,t,i){d(e,t,!1)&&u(e,t,i,"notDeepEqual",A.notDeepEqual)},A.notDeepStrictEqual=w,A.strictEqual=function(e,t,i){e!==t&&u(e,t,i,"===",A.strictEqual)},A.notStrictEqual=function(e,t,i){e===t&&u(e,t,i,"!==",A.notStrictEqual)},A.throws=function(e,t,i){_(!0,e,t,i)},A.doesNotThrow=function(e,t,i){_(!1,e,t,i)},A.ifError=function(e){if(e)throw e};var S=Object.keys||function(e){var t=[];for(var i in e)k.call(e,i)&&t.push(i);return t}}).call(t,function(){return this}())},function(e,t,i){(function(t){function n(e,i){if(this instanceof n==!1)throw new TypeError("Classes can't be function-called");"number"==typeof e&&(i=e,e={});var r=-1;this.fragmentedBufferPool=new h(1024,function(e,t){return e.used+t},function(e){return r=r>=0?Math.ceil((r+e.used)/2):e.used});var s=-1;this.unfragmentedBufferPool=new h(1024,function(e,t){return e.used+t},function(e){return s=s>=0?Math.ceil((s+e.used)/2):e.used}),this.extensions=e||{},this.maxPayload=i||0,this.currentPayloadLength=0,this.state={activeFragmentedOperation:null,lastFragment:!1,masked:!1,opcode:0,fragmentedOperation:!1},this.overflow=[],this.headerBuffer=new t(10),this.expectOffset=0,this.expectBuffer=null,this.expectHandler=null,this.currentMessage=[],this.currentMessageLength=0,this.messageHandlers=[],this.expectHeader(2,this.processPacket),this.dead=!1,this.processing=!1,this.onerror=function(){},this.ontext=function(){},this.onbinary=function(){},this.onclose=function(){},this.onping=function(){},this.onpong=function(){}}function r(e){return(this[e]<<8)+this[e+1]}function s(e){return(this[e]<<24)+(this[e+1]<<16)+(this[e+2]<<8)+this[e+3]}function o(e,t,i,n){switch(e){default:t.copy(i,n,0,e);break;case 16:i[n+15]=t[15];case 15:i[n+14]=t[14];case 14:i[n+13]=t[13];case 13:i[n+12]=t[12];case 12:i[n+11]=t[11];case 11:i[n+10]=t[10];case 10:i[n+9]=t[9];case 9:i[n+8]=t[8];case 8:i[n+7]=t[7];case 7:i[n+6]=t[6];case 6:i[n+5]=t[5];case 5:i[n+4]=t[4];case 4:i[n+3]=t[3];case 3:i[n+2]=t[2];case 2:i[n+1]=t[1];case 1:i[n]=t[0]}}function a(e){var t={};for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i]);return t}/*!
* ws: a node.js websocket client
* Copyright(c) 2011 Einar Otto Stangvik <einaros@gmail.com>
* MIT Licensed
*/
var l=(i(75),i(148).Validation),f=i(117),h=i(152),u=i(118).BufferUtil,c=i(125);e.exports=n,n.prototype.add=function(e){if(!this.dead){var t=e.length;if(0!=t){if(null==this.expectBuffer)return void this.overflow.push(e);var i=Math.min(t,this.expectBuffer.length-this.expectOffset);for(o(i,e,this.expectBuffer,this.expectOffset),this.expectOffset+=i,i<t&&this.overflow.push(e.slice(i));this.expectBuffer&&this.expectOffset==this.expectBuffer.length;){var n=this.expectBuffer;this.expectBuffer=null,this.expectOffset=0,this.expectHandler.call(this,n)}}}},n.prototype.cleanup=function(){this.dead=!0,this.overflow=null,this.headerBuffer=null,this.expectBuffer=null,this.expectHandler=null,this.unfragmentedBufferPool=null,this.fragmentedBufferPool=null,this.state=null,this.currentMessage=null,this.onerror=null,this.ontext=null,this.onbinary=null,this.onclose=null,this.onping=null,this.onpong=null},n.prototype.expectHeader=function(e,t){if(0==e)return void t(null);this.expectBuffer=this.headerBuffer.slice(this.expectOffset,this.expectOffset+e),this.expectHandler=t;for(var i=e;i>0&&this.overflow.length>0;){var n=this.overflow.pop();i<n.length&&this.overflow.push(n.slice(i));var r=Math.min(n.length,i);o(r,n,this.expectBuffer,this.expectOffset),this.expectOffset+=r,i-=r}},n.prototype.expectData=function(e,t){if(0==e)return void t(null);this.expectBuffer=this.allocateFromPool(e,this.state.fragmentedOperation),this.expectHandler=t;for(var i=e;i>0&&this.overflow.length>0;){var n=this.overflow.pop();i<n.length&&this.overflow.push(n.slice(i));var r=Math.min(n.length,i);o(r,n,this.expectBuffer,this.expectOffset),this.expectOffset+=r,i-=r}},n.prototype.allocateFromPool=function(e,t){return(t?this.fragmentedBufferPool:this.unfragmentedBufferPool).get(e)},n.prototype.processPacket=function(e){if(this.extensions[c.extensionName]){if(0!=(48&e[0]))return void this.error("reserved fields (2, 3) must be empty",1002)}else if(0!=(112&e[0]))return void this.error("reserved fields must be empty",1002);this.state.lastFragment=128==(128&e[0]),this.state.masked=128==(128&e[1]);var t=64==(64&e[0]),i=15&e[0];if(0===i){if(t)return void this.error("continuation frame cannot have the Per-message Compressed bits",1002);if(this.state.fragmentedOperation=!0,this.state.opcode=this.state.activeFragmentedOperation,1!=this.state.opcode&&2!=this.state.opcode)return void this.error("continuation frame cannot follow current opcode",1002)}else{if(i<3&&null!=this.state.activeFragmentedOperation)return void this.error("data frames after the initial data frame must have opcode 0",1002);if(i>=8&&t)return void this.error("control frames cannot have the Per-message Compressed bits",1002);this.state.compressed=t,this.state.opcode=i,this.state.lastFragment===!1?(this.state.fragmentedOperation=!0,this.state.activeFragmentedOperation=i):this.state.fragmentedOperation=!1}var n=d[this.state.opcode];"undefined"==typeof n?this.error("no handler for opcode "+this.state.opcode,1002):n.start.call(this,e)},n.prototype.endPacket=function(){this.dead||(this.state.fragmentedOperation?this.state.lastFragment&&this.fragmentedBufferPool.reset(!0):this.unfragmentedBufferPool.reset(!0),this.expectOffset=0,this.expectBuffer=null,this.expectHandler=null,this.state.lastFragment&&this.state.opcode===this.state.activeFragmentedOperation&&(this.state.activeFragmentedOperation=null),this.currentPayloadLength=0,this.state.lastFragment=!1,this.state.opcode=null!=this.state.activeFragmentedOperation?this.state.activeFragmentedOperation:0,this.state.masked=!1,this.expectHeader(2,this.processPacket))},n.prototype.reset=function(){this.dead||(this.state={activeFragmentedOperation:null,lastFragment:!1,masked:!1,opcode:0,fragmentedOperation:!1},this.fragmentedBufferPool.reset(!0),this.unfragmentedBufferPool.reset(!0),this.expectOffset=0,this.expectBuffer=null,this.expectHandler=null,this.overflow=[],this.currentMessage=[],this.currentMessageLength=0,this.messageHandlers=[],this.currentPayloadLength=0)},n.prototype.unmask=function(e,t,i){return null!=e&&null!=t&&u.unmask(t,e),i?t:null!=t?t.toString("utf8"):""},n.prototype.error=function(e,t){if(!this.dead)return this.reset(),"string"==typeof e?this.onerror(new Error(e),t):e.constructor==Error?this.onerror(e,t):this.onerror(new Error("An error occured"),t),this},n.prototype.flush=function(){if(!this.processing&&!this.dead){var e=this.messageHandlers.shift();if(e){this.processing=!0;var t=this;e(function(){t.processing=!1,t.flush()})}}},n.prototype.applyExtensions=function(e,t,i,n){var r=this;i?this.extensions[c.extensionName].decompress(e,t,function(e,t){if(!r.dead)return e?void n(new Error("invalid compressed data")):void n(null,t)}):n(null,e)},n.prototype.maxPayloadExceeded=function(e){if(void 0===this.maxPayload||null===this.maxPayload||this.maxPayload<1)return!1;var t=this.currentPayloadLength+e;return t<this.maxPayload?(this.currentPayloadLength=t,!1):(this.error("payload cannot exceed "+this.maxPayload+" bytes",1009),this.messageBuffer=[],this.cleanup(),!0)};var d={1:{start:function(e){var t=this,i=127&e[1];if(i<126){if(t.maxPayloadExceeded(i))return void t.error("Maximumpayload exceeded in compressed text message. Aborting...",1009);d[1].getData.call(t,i)}else 126==i?t.expectHeader(2,function(e){var i=r.call(e,0);return t.maxPayloadExceeded(i)?void t.error("Maximumpayload exceeded in compressed text message. Aborting...",1009):void d[1].getData.call(t,i)}):127==i&&t.expectHeader(8,function(e){if(0!=s.call(e,0))return void t.error("packets with length spanning more than 32 bit is currently not supported",1008);var i=s.call(e,4);return t.maxPayloadExceeded(i)?void t.error("Maximumpayload exceeded in compressed text message. Aborting...",1009):void d[1].getData.call(t,s.call(e,4))})},getData:function(e){var t=this;t.state.masked?t.expectHeader(4,function(i){var n=i;t.expectData(e,function(e){d[1].finish.call(t,n,e)})}):t.expectData(e,function(e){d[1].finish.call(t,null,e)})},finish:function(e,i){var n=this,r=this.unmask(e,i,!0)||new t(0),s=a(this.state);this.messageHandlers.push(function(e){n.applyExtensions(r,s.lastFragment,s.compressed,function(i,r){if(i)return 1009===i.type?n.error("Maximumpayload exceeded in compressed text message. Aborting...",1009):n.error(i.message,1007);if(null!=r){if(!(0==n.maxPayload||n.maxPayload>0&&n.currentMessageLength+r.length<n.maxPayload))return n.currentMessage=null,n.currentMessage=[],n.currentMessageLength=0,void n.error(new Error("Maximum payload exceeded. maxPayload: "+n.maxPayload),1009);n.currentMessage.push(r),n.currentMessageLength+=r.length}if(s.lastFragment){var o=t.concat(n.currentMessage);if(n.currentMessage=[],n.currentMessageLength=0,!l.isValidUTF8(o))return void n.error("invalid utf8 sequence",1007);n.ontext(o.toString("utf8"),{masked:s.masked,buffer:o})}e()})}),this.flush(),this.endPacket()}},2:{start:function(e){var t=this,i=127&e[1];if(i<126){if(t.maxPayloadExceeded(i))return void t.error("Max payload exceeded in compressed text message. Aborting...",1009);d[2].getData.call(t,i)}else 126==i?t.expectHeader(2,function(e){var i=r.call(e,0);return t.maxPayloadExceeded(i)?void t.error("Max payload exceeded in compressed text message. Aborting...",1009):void d[2].getData.call(t,i)}):127==i&&t.expectHeader(8,function(e){if(0!=s.call(e,0))return void t.error("packets with length spanning more than 32 bit is currently not supported",1008);var i=s.call(e,4,!0);return t.maxPayloadExceeded(i)?void t.error("Max payload exceeded in compressed text message. Aborting...",1009):void d[2].getData.call(t,i)})},getData:function(e){var t=this;t.state.masked?t.expectHeader(4,function(i){var n=i;t.expectData(e,function(e){d[2].finish.call(t,n,e)})}):t.expectData(e,function(e){d[2].finish.call(t,null,e)})},finish:function(e,i){var n=this,r=this.unmask(e,i,!0)||new t(0),s=a(this.state);this.messageHandlers.push(function(e){n.applyExtensions(r,s.lastFragment,s.compressed,function(i,r){if(i)return 1009===i.type?n.error("Max payload exceeded in compressed binary message. Aborting...",1009):n.error(i.message,1007);if(null!=r){if(!(0==n.maxPayload||n.maxPayload>0&&n.currentMessageLength+r.length<n.maxPayload))return n.currentMessage=null,n.currentMessage=[],n.currentMessageLength=0,void n.error(new Error("Maximum payload exceeded"),1009);n.currentMessage.push(r),n.currentMessageLength+=r.length}if(s.lastFragment){var o=t.concat(n.currentMessage);n.currentMessage=[],n.currentMessageLength=0,n.onbinary(o,{masked:s.masked,buffer:o})}e()})}),this.flush(),this.endPacket()}},8:{start:function(e){var t=this;if(0==t.state.lastFragment)return void t.error("fragmented close is not supported",1002);var i=127&e[1];i<126?d[8].getData.call(t,i):t.error("control frames cannot have more than 125 bytes of data",1002)},getData:function(e){var t=this;t.state.masked?t.expectHeader(4,function(i){var n=i;t.expectData(e,function(e){d[8].finish.call(t,n,e)})}):t.expectData(e,function(e){d[8].finish.call(t,null,e)})},finish:function(e,t){var i=this;t=i.unmask(e,t,!0);var n=a(this.state);this.messageHandlers.push(function(){if(t&&1==t.length)return void i.error("close packets with data must be at least two bytes long",1002);var e=t&&t.length>1?r.call(t,0):1e3;if(!f.isValidErrorCode(e))return void i.error("invalid error code",1002);var s="";if(t&&t.length>2){var o=t.slice(2);if(!l.isValidUTF8(o))return void i.error("invalid utf8 sequence",1007);s=o.toString("utf8")}i.onclose(e,s,{masked:n.masked}),i.reset()}),this.flush()}},9:{start:function(e){var t=this;if(0==t.state.lastFragment)return void t.error("fragmented ping is not supported",1002);var i=127&e[1];i<126?d[9].getData.call(t,i):t.error("control frames cannot have more than 125 bytes of data",1002)},getData:function(e){var t=this;t.state.masked?t.expectHeader(4,function(i){var n=i;t.expectData(e,function(e){d[9].finish.call(t,n,e)})}):t.expectData(e,function(e){d[9].finish.call(t,null,e)})},finish:function(e,t){var i=this;t=this.unmask(e,t,!0);var n=a(this.state);this.messageHandlers.push(function(e){i.onping(t,{masked:n.masked,binary:!0}),e()}),this.flush(),this.endPacket()}},10:{start:function(e){var t=this;if(0==t.state.lastFragment)return void t.error("fragmented pong is not supported",1002);var i=127&e[1];i<126?d[10].getData.call(t,i):t.error("control frames cannot have more than 125 bytes of data",1002)},getData:function(e){var t=this;this.state.masked?this.expectHeader(4,function(i){var n=i;t.expectData(e,function(e){d[10].finish.call(t,n,e)})}):this.expectData(e,function(e){d[10].finish.call(t,null,e)})},finish:function(e,t){var i=this;t=i.unmask(e,t,!0);var n=a(this.state);this.messageHandlers.push(function(e){i.onpong(t,{masked:n.masked,binary:!0}),e()}),this.flush(),this.endPacket()}}}}).call(t,i(58).Buffer)},function(e,t,i){"use strict";/*!
* ws: a node.js websocket client
* Copyright(c) 2011 Einar Otto Stangvik <einaros@gmail.com>
* MIT Licensed
*/
try{e.exports=i(149)}catch(t){e.exports=i(151)}},function(e,t,i){"use strict";try{e.exports=i(120)("validation")}catch(t){e.exports=i(150)}},function(e,t){"use strict";/*!
* UTF-8 validate: UTF-8 validation for WebSockets.
* Copyright(c) 2015 Einar Otto Stangvik <einaros@gmail.com>
* MIT Licensed
*/
e.exports.Validation={isValidUTF8:function(e){return!0}}},function(e,t){/*!
* ws: a node.js websocket client
* Copyright(c) 2011 Einar Otto Stangvik <einaros@gmail.com>
* MIT Licensed
*/
t.Validation={isValidUTF8:function(e){return!0}}},function(e,t,i){(function(t){function n(e,i,r){if(this instanceof n==!1)throw new TypeError("Classes can't be function-called");"function"==typeof e?(r=i,i=e,e=0):"undefined"==typeof e&&(e=0),this._growStrategy=(i||function(e,t){return e.used+t}).bind(null,this),this._shrinkStrategy=(r||function(t){return e}).bind(null,this),this._buffer=e?new t(e):null,this._offset=0,this._used=0,this._changeFactor=0,this.__defineGetter__("size",function(){return null==this._buffer?0:this._buffer.length}),this.__defineGetter__("used",function(){return this._used})}/*!
* ws: a node.js websocket client
* Copyright(c) 2011 Einar Otto Stangvik <einaros@gmail.com>
* MIT Licensed
*/
i(75);n.prototype.get=function(e){if(null==this._buffer||this._offset+e>this._buffer.length){var i=new t(this._growStrategy(e));this._buffer=i,this._offset=0}this._used+=e;var n=this._buffer.slice(this._offset,this._offset+e);return this._offset+=e,n},n.prototype.reset=function(e){var i=this._shrinkStrategy();i<this.size&&(this._changeFactor-=1),(e||this._changeFactor<-2)&&(this._changeFactor=0,this._buffer=i?new t(i):null),this._offset=0,this._used=0},e.exports=n}).call(t,i(58).Buffer)},function(e,t,i){(function(t){function n(e){if(this instanceof n==!1)throw new TypeError("Classes can't be function-called");r.EventEmitter.call(this),this.socket=e,this.continuationFrame=!1,this.isClosed=!1}/*!
* ws: a node.js websocket client
* Copyright(c) 2011 Einar Otto Stangvik <einaros@gmail.com>
* MIT Licensed
*/
var r=i(3),s=i(75);r.EventEmitter;e.exports=n,s.inherits(n,r.EventEmitter),n.prototype.send=function(e,i,n){if(!this.isClosed){var r="string"==typeof e,s=r?t.byteLength(e):e.length,o=s>127?2:1,a=0==this.continuationFrame,l=!i||!("undefined"!=typeof i.fin&&!i.fin),f=new t((a?i&&i.binary?1+o:1:0)+s+(!l||i&&i.binary?0:1)),h=a?1:0;a&&(i&&i.binary?(f.write("€","binary"),o>1&&f.write(String.fromCharCode(128+s/128),h++,"binary"),f.write(String.fromCharCode(127&s),h++,"binary")):f.write("\0","binary")),r?f.write(e,h,"utf8"):e.copy(f,h,0),l?(i&&i.binary||f.write("ÿ",h+s,"binary"),this.continuationFrame=!1):this.continuationFrame=!0;try{this.socket.write(f,"binary",n)}catch(e){this.error(e.toString())}}},n.prototype.close=function(e,i,n,r){if(!this.isClosed){this.isClosed=!0;try{this.continuationFrame&&this.socket.write(new t([255],"binary")),this.socket.write(new t([255,0]),"binary",r)}catch(e){this.error(e.toString())}}},n.prototype.ping=function(e,t){},n.prototype.pong=function(e,t){},n.prototype.error=function(e){return this.emit("error",e),this}}).call(t,i(58).Buffer)},function(e,t,i){(function(t){function n(){if(this instanceof n==!1)throw new TypeError("Classes can't be function-called");this.state=s,this.buffers=[],this.messageEnd=-1,this.spanLength=0,this.dead=!1,this.onerror=function(){},this.ontext=function(){},this.onbinary=function(){},this.onclose=function(){},this.onping=function(){},this.onpong=function(){}}function r(e,t){for(var i=0,n=e.length;i<n;++i)if(e[i]===t)return i;return-1}/*!
* ws: a node.js websocket client
* Copyright(c) 2011 Einar Otto Stangvik <einaros@gmail.com>
* MIT Licensed
*/
var s=(i(75),0),o=1,a=2,l=3;e.exports=n,n.prototype.add=function(e){function t(){if(i.state===s){if(2==e.length&&255==e[0]&&0==e[1])return i.reset(),void i.onclose();if(128===e[0])i.messageEnd=0,i.state=a,e=e.slice(1);else{if(0!==e[0])return void i.error("payload must start with 0x00 byte",!0);e=e.slice(1),i.state=o}}if(i.state===a){for(var t=0;t<e.length&&128&e[t];)i.messageEnd=128*i.messageEnd+(127&e[t]),++t;t<e.length&&(i.messageEnd=128*i.messageEnd+(127&e[t]),i.state=l,++t),t>0&&(e=e.slice(t))}if(i.state===l){var n=i.messageEnd-i.spanLength;return e.length>=n?(i.buffers.push(e),i.spanLength+=n,i.messageEnd=n,i.parse()):(i.buffers.push(e),void(i.spanLength+=e.length))}return i.buffers.push(e),(i.messageEnd=r(e,255))!=-1?(i.spanLength+=i.messageEnd,i.parse()):void(i.spanLength+=e.length)}if(!this.dead)for(var i=this;e;)e=t()},n.prototype.cleanup=function(){this.dead=!0,this.state=s,this.buffers=[]},n.prototype.parse=function(){for(var e=new t(this.spanLength),i=0,n=0,r=this.buffers.length;n<r-1;++n){var s=this.buffers[n];s.copy(e,i),i+=s.length}var a=this.buffers[this.buffers.length-1];this.messageEnd>0&&a.copy(e,i,0,this.messageEnd),this.state!==o&&--this.messageEnd;var l=null;return this.messageEnd<a.length-1&&(l=a.slice(this.messageEnd+1)),this.reset(),this.ontext(e.toString("utf8")),l},n.prototype.error=function(e,t){if(!this.dead)return this.reset(),"string"==typeof e?this.onerror(new Error(e),t):e.constructor==Error?this.onerror(e,t):this.onerror(new Error("An error occured"),t),this},n.prototype.reset=function(e){this.dead||(this.state=s,this.buffers=[],this.messageEnd=-1,this.spanLength=0)}}).call(t,i(58).Buffer)},function(e,t,i){function n(e){e=e||"";var t={};return e.split(",").forEach(function(e){var i=e.split(";"),n=i.shift().trim(),r=t[n]=t[n]||[],s={};i.forEach(function(e){var t=e.trim().split("="),i=t[0],n=t[1];"undefined"==typeof n?n=!0:('"'===n[0]&&(n=n.slice(1)),'"'===n[n.length-1]&&(n=n.slice(0,n.length-1))),(s[i]=s[i]||[]).push(n)}),r.push(s)}),t}function r(e){return Object.keys(e).map(function(t){var i=e[t];return s.isArray(i)||(i=[i]),i.map(function(e){return[t].concat(Object.keys(e).map(function(t){var i=e[t];return s.isArray(i)||(i=[i]),i.map(function(e){return e===!0?t:t+"="+e}).join("; ")})).join("; ")}).join(", ")}).join(", ")}var s=i(75);t.parse=n,t.format=r},function(e,t,i){(function(t){function n(e,i){if(this instanceof n==!1)return new n(e,i);if(f.EventEmitter.call(this),e=new c({host:"0.0.0.0",port:null,server:null,verifyClient:null,handleProtocols:null,path:null,noServer:!1,disableHixie:!1,clientTracking:!0,perMessageDeflate:!0,maxPayload:104857600}).merge(e),!e.isDefinedAndNonNull("port")&&!e.isDefinedAndNonNull("server")&&!e.value.noServer)throw new TypeError("`port` or a `server` must be provided");var r=this;if(e.isDefinedAndNonNull("port"))this._server=h.createServer(function(e,t){var i=h.STATUS_CODES[426];t.writeHead(426,{"Content-Length":i.length,"Content-Type":"text/plain"}),t.end(i)}),this._server.allowHalfOpen=!1,this._server.listen(e.value.port,e.value.host,i),this._closeServer=function(){r._server&&r._server.close()};else if(e.value.server&&(this._server=e.value.server,e.value.path)){if(this._server._webSocketPaths&&e.value.server._webSocketPaths[e.value.path])throw new Error("two instances of WebSocketServer cannot listen on the same http server path");"object"!=typeof this._server._webSocketPaths&&(this._server._webSocketPaths={}),this._server._webSocketPaths[e.value.path]=1}this._server&&(this._onceServerListening=function(){r.emit("listening")},this._server.once("listening",this._onceServerListening)),"undefined"!=typeof this._server&&(this._onServerError=function(e){r.emit("error",e)},this._server.on("error",this._onServerError),this._onServerUpgrade=function(e,i,n){var s=new t(n.length);n.copy(s),r.handleUpgrade(e,i,s,function(t){r.emit("connection"+e.url,t),r.emit("connection",t)})},this._server.on("upgrade",this._onServerUpgrade)),this.options=e.value,this.path=e.value.path,this.clients=[]}function r(e,t,i,n){var r=function(){try{t.destroy()}catch(e){}};if(t.on("error",r),!e.headers["sec-websocket-key"])return void a(t,400,"Bad Request");var s=parseInt(e.headers["sec-websocket-version"]);if([8,13].indexOf(s)===-1)return void a(t,400,"Bad Request");var l=e.headers["sec-websocket-protocol"],f=s<13?e.headers["sec-websocket-origin"]:e.headers.origin,c=p.parse(e.headers["sec-websocket-extensions"]),b=this,w=function(l){var f=e.headers["sec-websocket-key"],h=u.createHash("sha1");h.update(f+"258EAFA5-E914-47DA-95CA-C5AB0DC85B11"),f=h.digest("base64");var w=["HTTP/1.1 101 Switching Protocols","Upgrade: websocket","Connection: Upgrade","Sec-WebSocket-Accept: "+f];"undefined"!=typeof l&&w.push("Sec-WebSocket-Protocol: "+l);var m={};try{m=o.call(b,c)}catch(e){return void a(t,400,"Bad Request")}if(Object.keys(m).length){var g={};Object.keys(m).forEach(function(e){g[e]=[m[e].params]}),w.push("Sec-WebSocket-Extensions: "+p.format(g))}b.emit("headers",w),t.setTimeout(0),t.setNoDelay(!0);try{t.write(w.concat("","").join("\r\n"))}catch(e){try{t.destroy()}catch(e){}return}var _=new d([e,t,i],{protocolVersion:s,protocol:l,extensions:m,maxPayload:b.options.maxPayload});b.options.clientTracking&&(b.clients.push(_),_.on("close",function(){var e=b.clients.indexOf(_);e!=-1&&b.clients.splice(e,1)})),t.removeListener("error",r),n(_)},m=function(){if("function"==typeof b.options.handleProtocols){var e=(l||"").split(/, */),i=!1;b.options.handleProtocols(e,function(e,n){i=!0,e?w(n):a(t,401,"Unauthorized")});return void(i||a(t,501,"Could not process protocols"))}"undefined"!=typeof l?w(l.split(/, */)[0]):w()};if("function"==typeof this.options.verifyClient){var g={origin:f,secure:"undefined"!=typeof e.connection.authorized||"undefined"!=typeof e.connection.encrypted,req:e};if(2==this.options.verifyClient.length)return void this.options.verifyClient(g,function(e,i,n){"undefined"==typeof i&&(i=401),"undefined"==typeof n&&(n=h.STATUS_CODES[i]),e?m():a(t,i,n)});if(!this.options.verifyClient(g))return void a(t,401,"Unauthorized")}m()}function s(e,i,n,r){var s=function(){try{i.destroy()}catch(e){}};if(i.on("error",s),this.options.disableHixie)return void a(i,401,"Hixie support disabled");if(!e.headers["sec-websocket-key2"])return void a(i,400,"Bad Request");var o=e.headers.origin,l=this,f=function(){var f;f=e.headers["x-forwarded-host"]?e.headers["x-forwarded-host"]:e.headers.host;var h=("https"===e.headers["x-forwarded-proto"]||i.encrypted?"wss":"ws")+"://"+f+e.url,c=e.headers["sec-websocket-protocol"],p=function(){var e=["HTTP/1.1 101 Switching Protocols","Upgrade: WebSocket","Connection: Upgrade","Sec-WebSocket-Location: "+h];return"undefined"!=typeof c&&e.push("Sec-WebSocket-Protocol: "+c),"undefined"!=typeof o&&e.push("Sec-WebSocket-Origin: "+o),new t(e.concat("","").join("\r\n"))},b=function(){i.setTimeout(0),i.setNoDelay(!0);var e=p();try{i.write(e,"binary",function(e){e&&i.removeListener("data",k)})}catch(e){try{i.destroy()}catch(e){}return}},w=function(n,o,f){var h=e.headers["sec-websocket-key1"],p=e.headers["sec-websocket-key2"],b=u.createHash("md5");[h,p].forEach(function(e){var t=parseInt(e.replace(/[^\d]/g,"")),n=e.replace(/[^ ]/g,"").length;return 0===n||t%n!==0?void a(i,400,"Bad Request"):(t/=n,void b.update(String.fromCharCode(t>>24&255,t>>16&255,t>>8&255,255&t)))}),b.update(n.toString("binary")),i.setTimeout(0),i.setNoDelay(!0);try{var w=new t(b.digest("binary"),"binary"),m=new t(f.length+w.length);f.copy(m,0),w.copy(m,f.length),i.write(m,"binary",function(t){if(!t){var n=new d([e,i,o],{protocolVersion:"hixie-76",protocol:c});l.options.clientTracking&&(l.clients.push(n),n.on("close",function(){var e=l.clients.indexOf(n);e!=-1&&l.clients.splice(e,1)})),i.removeListener("error",s),r(n)}})}catch(e){try{i.destroy()}catch(e){}return}},m=8;if(n&&n.length>=m){var g=n.slice(0,m),_=n.length>m?n.slice(m):null;w.call(l,g,_,p())}else{var g=new t(m);n.copy(g,0);var v=n.length,_=null,k=function(e){var n=Math.min(e.length,m-v);0!==n&&(e.copy(g,v,0,n),v+=n,v==m&&(i.removeListener("data",k),n<e.length&&(_=e.slice(n)),w.call(l,g,_,new t(0))))};i.on("data",k),b()}};if("function"==typeof this.options.verifyClient){var c={origin:o,secure:"undefined"!=typeof e.connection.authorized||"undefined"!=typeof e.connection.encrypted,req:e};if(2==this.options.verifyClient.length){var l=this;return void this.options.verifyClient(c,function(e,t,n){"undefined"==typeof t&&(t=401),"undefined"==typeof n&&(n=h.STATUS_CODES[t]),e?f.apply(l):a(i,t,n)})}if(!this.options.verifyClient(c))return void a(i,401,"Unauthorized")}f()}function o(e){var t={},i=this.options.perMessageDeflate,n=this.options.maxPayload;if(i&&e[b.extensionName]){var r=new b(i!==!0?i:{},!0,n);r.accept(e[b.extensionName]),t[b.extensionName]=r}return t}function a(e,t,i){try{var n=["HTTP/1.1 "+t+" "+i,"Content-type: text/html"];e.write(n.concat("","").join("\r\n"))}catch(e){}finally{try{e.destroy()}catch(e){}}}/*!
* ws: a node.js websocket client
* Copyright(c) 2011 Einar Otto Stangvik <einaros@gmail.com>
* MIT Licensed
*/
var l=i(75),f=i(3),h=i(78),u=i(99),c=i(115),d=i(68),p=i(155),b=i(125),w=(i(157),i(69));l.inherits(n,f.EventEmitter),n.prototype.close=function(e){var t=null;try{for(var i=0,n=this.clients.length;i<n;++i)this.clients[i].terminate()}catch(e){t=e}this.path&&this._server._webSocketPaths&&(delete this._server._webSocketPaths[this.path],0==Object.keys(this._server._webSocketPaths).length&&delete this._server._webSocketPaths);try{"undefined"!=typeof this._closeServer&&this._closeServer()}finally{this._server&&(this._server.removeListener("listening",this._onceServerListening),this._server.removeListener("error",this._onServerError),this._server.removeListener("upgrade",this._onServerUpgrade)),delete this._server}if(e)e(t);else if(t)throw t},n.prototype.handleUpgrade=function(e,t,i,n){if(this.options.path){var o=w.parse(e.url);if(o&&o.pathname!==this.options.path)return}return"undefined"==typeof e.headers.upgrade||"websocket"!==e.headers.upgrade.toLowerCase()?void a(t,400,"Bad Request"):void(e.headers["sec-websocket-key1"]?s.apply(this,arguments):r.apply(this,arguments))},e.exports=n}).call(t,i(58).Buffer)},function(e,t){},function(e,t){class i{constructor(e){this.key=new Uint8Array(new ArrayBuffer(e.length));for(const t in e)this.key[t]=e[t]}}e.exports=i},function(e,t,i){(function(t){function n(e){try{const i=new t(e);let n="";for(let r=4;r<i.indexOf(0,r);r++)n+=String.fromCharCode(i[r]);const s=parseInt(i.readUIntLE(i.length-2,2).toString(10),10);return{address:n,port:s}}catch(e){return{error:e}}}const r=i(62),s=i(160),o=i(5),a=i(3).EventEmitter;class l extends a{constructor(e){super(),this.voiceConnection=e,this.socket=null,this.discordAddress=null,this.localAddress=null,this.localPort=null,this.voiceConnection.on("closing",this.shutdown.bind(this))}shutdown(){if(this.socket){try{this.socket.close()}catch(e){return}this.socket=null}}get discordPort(){return this.voiceConnection.authentication.port}findEndpointAddress(){return new Promise((e,t)=>{s.lookup(this.voiceConnection.authentication.endpoint,(i,n)=>{return i?void t(i):(this.discordAddress=n,void e(n))})})}send(e){return new Promise((t,i)=>{if(!this.socket)throw new Error("Tried to send a UDP packet, but there is no socket available.");if(!this.discordAddress||!this.discordPort)throw new Error("Malformed UDP address or port.");this.socket.send(e,0,e.length,this.discordPort,this.discordAddress,n=>{n?i(n):t(e)})})}createUDPSocket(e){this.discordAddress=e;const i=this.socket=r.createSocket("udp4");i.once("message",e=>{const t=n(e);return t.error?void this.emit("error",t.error):(this.localAddress=t.address,this.localPort=t.port,void this.voiceConnection.sockets.ws.sendPacket({op:o.VoiceOPCodes.SELECT_PROTOCOL,d:{protocol:"udp",data:{address:t.address,port:t.port,mode:"xsalsa20_poly1305"}}}))});const s=new t(70);s.writeUIntBE(this.voiceConnection.authentication.ssrc,0,4),this.send(s)}}e.exports=l}).call(t,i(58).Buffer)},function(e,t){t.lookup=t.resolve4=t.resolve6=t.resolveCname=t.resolveMx=t.resolveNs=t.resolveTxt=t.resolveSrv=t.resolveNaptr=t.reverse=t.resolve=function(){if(arguments.length){var e=arguments[arguments.length-1];e&&"function"==typeof e&&e(null,"0.0.0.0")}}},function(e,t,i){const n=i(162),r=i(165),s=i(3).EventEmitter,o=i(171);class a extends s{constructor(e){super(),this.voiceConnection=e,this.audioToPCM=new(n.fetch()),this.opusEncoder=r.fetch(),this.currentConverter=null,this.dispatcher=null,this.audioToPCM.on("error",e=>this.emit("error",e)),this.streamingData={channels:2,count:0,sequence:0,timestamp:0,pausedTime:0},this.voiceConnection.on("closing",()=>this.cleanup(null,"voice connection closing"))}playUnknownStream(e,{seek=0,volume=1,passes=1}={}){const t={seek:seek,volume:volume,passes:passes};e.on("end",()=>{this.emit("debug","Input stream to converter has ended")}),e.on("error",e=>this.emit("error",e));const i=this.audioToPCM.createConvertStream(t.seek);return i.on("error",e=>this.emit("error",e)),i.setInput(e),this.playPCMStream(i.process.stdout,i,t)}cleanup(e,t){this.emit("debug",`Clean up triggered due to ${t}`);const i=e&&this.dispatcher&&this.dispatcher.stream===e;!this.currentConverter||e&&!i||(this.currentConverter.destroy(),this.currentConverter=null)}playPCMStream(e,t,{seek=0,volume=1,passes=1}={}){const i={seek:seek,volume:volume,passes:passes};e.on("end",()=>this.emit("debug","PCM input stream ended")),this.cleanup(null,"outstanding play stream"),this.currentConverter=t,this.dispatcher&&(this.streamingData=this.dispatcher.streamingData),e.on("error",e=>this.emit("error",e));const n=new o(this,e,this.streamingData,i);return n.on("error",e=>this.emit("error",e)),n.on("end",()=>this.cleanup(n.stream,"dispatcher ended")),n.on("speaking",e=>this.voiceConnection.setSpeaking(e)),this.dispatcher=n,n.on("debug",e=>this.emit("debug",`Stream dispatch - ${e}`)),n}}e.exports=a},function(e,t,i){t.fetch=(()=>i(163))},function(e,t,i){function n(){for(const e of["ffmpeg","avconv","./ffmpeg","./avconv"])if(!s.spawnSync(e,["-h"]).error)return e;throw new Error("FFMPEG was not found on your system, so audio cannot be played. Please make sure FFMPEG is installed and in your PATH.")}const r=i(164),s=i(62),o=i(3).EventEmitter;class a extends o{constructor(e){super(),this.process=e,this.input=null,this.process.on("error",e=>this.emit("error",e))}setInput(e){this.input=e,e.pipe(this.process.stdin,{end:!1}),this.input.on("error",e=>this.emit("error",e)),this.process.stdin.on("error",e=>this.emit("error",e))}destroy(){this.emit("debug","destroying a ffmpeg process:"),this.input&&this.input.unpipe&&this.process.stdin&&(this.input.unpipe(this.process.stdin),this.emit("unpiped the user input stream from the process input stream")),this.process.stdin&&(this.process.stdin.end(),this.emit("ended the process stdin")),this.process.stdin.destroy&&(this.process.stdin.destroy(),this.emit("destroyed the process stdin")),this.process.kill&&(this.process.kill(),this.emit("killed the process"))}}class l extends r{constructor(e){super(e),this.command=n()}handleError(e,t){e.destroy&&e.destroy(),this.emit("error",t)}createConvertStream(e=0){super.createConvertStream();const t=s.spawn(this.command,["-analyzeduration","0","-loglevel","0","-i","-","-f","s16le","-ar","48000","-ac","2","-ss",String(e),"pipe:1"],{stdio:["pipe","pipe","ignore"]});return new a(t)}}e.exports=l},function(e,t,i){const n=i(3).EventEmitter;class r extends n{constructor(e){super(),this.player=e}createConvertStream(){}}e.exports=r},function(e,t,i){function n(e){try{return new e}catch(e){return null}}const r=[i(166),i(168)];t.add=(e=>{r.push(e)}),t.fetch=(()=>{for(const e of r){const t=n(e);if(t)return t}throw new Error("Couldn't find an Opus engine.")})},function(e,t,i){const n=i(167);let r;class s extends n{constructor(e){super(e);try{r=i(!function(){var e=new Error('Cannot find module "node-opus"');throw e.code="MODULE_NOT_FOUND",e}())}catch(e){throw e}this.encoder=new r.OpusEncoder(48e3,2)}encode(e){return super.encode(e),this.encoder.encode(e,1920)}decode(e){return super.decode(e),this.encoder.decode(e,1920)}}e.exports=s},function(e,t){class i{constructor(e){this.player=e}encode(e){return e}decode(e){return e}}e.exports=i},function(e,t,i){const n=i(167);let r;class s extends n{constructor(e){super(e);try{r=i(169)}catch(e){throw e}this.encoder=new r(48e3,2)}encode(e){return super.encode(e),this.encoder.encode(e,960)}decode(e){return super.decode(e),this.encoder.decode(e)}}e.exports=s},function(e,t,i){(function(t){"use strict";function n(e,t,i){if(!~a.indexOf(e))throw new RangeError(`${e} is an invalid sampling rate.`);this.samplingRate=e,this.channels=t||1,this.application=i||s.AUDIO,this.handler=new r.OpusScriptHandler(this.samplingRate,this.channels,this.application),this.inPCMLength=l*this.channels*2,this.inPCMPointer=r._malloc(this.inPCMLength),this.inPCM=r.HEAPU16.subarray(this.inPCMPointer,this.inPCMPointer+this.inPCMLength),this.inOpusPointer=r._malloc(f),this.inOpus=r.HEAPU8.subarray(this.inOpusPointer,this.inOpusPointer+f),this.outOpusPointer=r._malloc(f),this.outOpus=r.HEAPU8.subarray(this.outOpusPointer,this.outOpusPointer+f),this.outPCMLength=l*this.channels*2,this.outPCMPointer=r._malloc(this.outPCMLength),this.outPCM=r.HEAPU16.subarray(this.outPCMPointer,this.outPCMPointer+this.outPCMLength)}var r=i(170),s={VOIP:2048,AUDIO:2049,RESTRICTED_LOWDELAY:2051},o={0:"OK","-1":"Bad argument","-2":"Buffer too small","-3":"Internal error","-4":"Invalid packet","-5":"Unimplemented","-6":"Invalid state","-7":"Memory allocation fail"},a=[8e3,12e3,16e3,24e3,48e3],l=2880,f=3828,h=4002;n.prototype.setBitrate=function(e){this.bitrate=e||64e3,r.setValue(this.bitratePointer,this.bitrate,"i32");var t=r._opus_encoder_ctl(this.handler,h,this.bitratePointer);if(t<0)throw new Error("Failed to set bitrate: "+o[""+r.getValue(t,"i32")])},n.prototype.encode=function(e,i){this.inPCM.set(e);var n=this.handler._encode(this.inPCM.byteOffset,e.length,this.outOpusPointer,i);if(n<0)throw new Error("Encode error: "+o[""+n]);return new t(this.outOpus.subarray(0,n))},n.prototype.decode=function(e){this.inOpus.set(e);var i=this.handler._decode(this.inOpusPointer,e.length,this.outPCM.byteOffset);if(i<0)throw new Error("Decode error: "+o[""+i]);return new t(this.outPCM.subarray(0,i*this.channels*2))},n.Application=s,n.Error=o,n.VALID_SAMPLING_RATES=a,n.MAX_PACKET_SIZE=f,e.exports=n}).call(t,i(58).Buffer)},function(module,exports,__webpack_require__){(function(process,__dirname,module){function globalEval(e){eval.call(null,e)}function assert(e,t){e||abort("Assertion failed: "+t)}function getCFunc(ident){var func=Module["_"+ident];if(!func)try{func=eval("_"+ident)}catch(e){}return assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)"),func}function setValue(e,t,i,n){switch(i=i||"i8","*"===i.charAt(i.length-1)&&(i="i32"),i){case"i1":HEAP8[e>>0]=t;break;case"i8":HEAP8[e>>0]=t;break;case"i16":HEAP16[e>>1]=t;break;case"i32":HEAP32[e>>2]=t;break;case"i64":tempI64=[t>>>0,(tempDouble=t,+Math_abs(tempDouble)>=1?tempDouble>0?(0|Math_min(+Math_floor(tempDouble/4294967296),4294967295))>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[e>>2]=tempI64[0],HEAP32[e+4>>2]=tempI64[1];break;case"float":HEAPF32[e>>2]=t;break;case"double":HEAPF64[e>>3]=t;break;default:abort("invalid type for setValue: "+i)}}function getValue(e,t,i){switch(t=t||"i8","*"===t.charAt(t.length-1)&&(t="i32"),t){case"i1":return HEAP8[e>>0];case"i8":return HEAP8[e>>0];case"i16":return HEAP16[e>>1];case"i32":return HEAP32[e>>2];case"i64":return HEAP32[e>>2];case"float":return HEAPF32[e>>2];case"double":return HEAPF64[e>>3];default:abort("invalid type for setValue: "+t)}return null}function allocate(e,t,i,n){var r,s;"number"==typeof e?(r=!0,s=e):(r=!1,s=e.length);var o,a="string"==typeof t?t:null;if(o=i==ALLOC_NONE?n:["function"==typeof _malloc?_malloc:Runtime.staticAlloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][void 0===i?ALLOC_STATIC:i](Math.max(s,a?1:t.length)),r){var l,n=o;for(assert(0==(3&o)),l=o+(s&-4);n<l;n+=4)HEAP32[n>>2]=0;for(l=o+s;n<l;)HEAP8[n++>>0]=0;return o}if("i8"===a)return e.subarray||e.slice?HEAPU8.set(e,o):HEAPU8.set(new Uint8Array(e),o),o;for(var f,h,u,c=0;c<s;){var d=e[c];"function"==typeof d&&(d=Runtime.getFunctionIndex(d)),f=a||t[c],0!==f?("i64"==f&&(f="i32"),setValue(o+c,d,f),u!==f&&(h=Runtime.getNativeTypeSize(f),u=f),c+=h):c++}return o}function Pointer_stringify(e,t){if(0===t||!e)return"";for(var i,n=0,r=0;;){if(i=HEAPU8[e+r>>0],n|=i,0==i&&!t)break;if(r++,t&&r==t)break}t||(t=r);var s="";if(n<128){for(var o,a=1024;t>0;)o=String.fromCharCode.apply(String,HEAPU8.subarray(e,e+Math.min(t,a))),s=s?s+o:o,e+=a,t-=a;return s}return Module.UTF8ToString(e)}function UTF8ArrayToString(e,t){for(var i,n,r,s,o,a,l="";;){if(i=e[t++],!i)return l;if(128&i)if(n=63&e[t++],192!=(224&i))if(r=63&e[t++],224==(240&i)?i=(15&i)<<12|n<<6|r:(s=63&e[t++],240==(248&i)?i=(7&i)<<18|n<<12|r<<6|s:(o=63&e[t++],248==(252&i)?i=(3&i)<<24|n<<18|r<<12|s<<6|o:(a=63&e[t++],i=(1&i)<<30|n<<24|r<<18|s<<12|o<<6|a))),i<65536)l+=String.fromCharCode(i);else{var f=i-65536;l+=String.fromCharCode(55296|f>>10,56320|1023&f)}else l+=String.fromCharCode((31&i)<<6|n);else l+=String.fromCharCode(i)}}function stringToUTF8Array(e,t,i,n){if(!(n>0))return 0;for(var r=i,s=i+n-1,o=0;o<e.length;++o){var a=e.charCodeAt(o);if(a>=55296&&a<=57343&&(a=65536+((1023&a)<<10)|1023&e.charCodeAt(++o)),a<=127){if(i>=s)break;t[i++]=a}else if(a<=2047){if(i+1>=s)break;t[i++]=192|a>>6,t[i++]=128|63&a}else if(a<=65535){if(i+2>=s)break;t[i++]=224|a>>12,t[i++]=128|a>>6&63,t[i++]=128|63&a}else if(a<=2097151){if(i+3>=s)break;t[i++]=240|a>>18,t[i++]=128|a>>12&63,t[i++]=128|a>>6&63,t[i++]=128|63&a}else if(a<=67108863){if(i+4>=s)break;t[i++]=248|a>>24,t[i++]=128|a>>18&63,t[i++]=128|a>>12&63,t[i++]=128|a>>6&63,t[i++]=128|63&a}else{if(i+5>=s)break;t[i++]=252|a>>30,t[i++]=128|a>>24&63,t[i++]=128|a>>18&63,t[i++]=128|a>>12&63,t[i++]=128|a>>6&63,t[i++]=128|63&a}}return t[i]=0,i-r}function lengthBytesUTF8(e){for(var t=0,i=0;i<e.length;++i){var n=e.charCodeAt(i);n>=55296&&n<=57343&&(n=65536+((1023&n)<<10)|1023&e.charCodeAt(++i)),n<=127?++t:t+=n<=2047?2:n<=65535?3:n<=2097151?4:n<=67108863?5:6}return t}function demangle(e){var t=!!Module.___cxa_demangle;if(t)try{var i=_malloc(e.length);writeStringToMemory(e.substr(1),i);var n=_malloc(4),r=Module.___cxa_demangle(i,0,0,n);if(0===getValue(n,"i32")&&r)return Pointer_stringify(r)}catch(t){return e}finally{i&&_free(i),n&&_free(n),r&&_free(r)}return Runtime.warnOnce("warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling"),e}function demangleAll(e){return e.replace(/__Z[\w\d_]+/g,function(e){var t=demangle(e);return e===t?e:e+" ["+t+"]"})}function jsStackTrace(){var e=new Error;if(!e.stack){try{throw new Error(0)}catch(t){e=t}if(!e.stack)return"(no stack trace available)"}return e.stack.toString()}function stackTrace(){return demangleAll(jsStackTrace())}function alignMemoryPage(e){return e%4096>0&&(e+=4096-e%4096),e}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)}function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which adjusts the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}function enlargeMemory(){abortOnCannotGrowMemory()}function callRuntimeCallbacks(e){for(;e.length>0;){var t=e.shift();if("function"!=typeof t){var i=t.func;"number"==typeof i?void 0===t.arg?Runtime.dynCall("v",i):Runtime.dynCall("vi",i,[t.arg]):i(void 0===t.arg?null:t.arg)}else t()}}function preRun(){if(Module.preRun)for("function"==typeof Module.preRun&&(Module.preRun=[Module.preRun]);Module.preRun.length;)addOnPreRun(Module.preRun.shift());callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){runtimeInitialized||(runtimeInitialized=!0,callRuntimeCallbacks(__ATINIT__))}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__),runtimeExited=!0}function postRun(){if(Module.postRun)for("function"==typeof Module.postRun&&(Module.postRun=[Module.postRun]);Module.postRun.length;)addOnPostRun(Module.postRun.shift());callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(e){__ATPRERUN__.unshift(e)}function addOnPostRun(e){__ATPOSTRUN__.unshift(e)}function intArrayFromString(e,t,i){var n=i>0?i:lengthBytesUTF8(e)+1,r=new Array(n),s=stringToUTF8Array(e,r,0,r.length);return t&&(r.length=s),r}function writeStringToMemory(e,t,i){for(var n=intArrayFromString(e,i),r=0;r<n.length;){var s=n[r];HEAP8[t+r>>0]=s,r+=1}}function writeArrayToMemory(e,t){for(var i=0;i<e.length;i++)HEAP8[t++>>0]=e[i]}function writeAsciiToMemory(e,t,i){for(var n=0;n<e.length;++n)HEAP8[t++>>0]=e.charCodeAt(n);i||(HEAP8[t>>0]=0)}function ___setErrNo(e){return Module.___errno_location&&(HEAP32[Module.___errno_location()>>2]=e),e}function _sysconf(e){switch(e){case 30:return PAGE_SIZE;case 85:return totalMemory/PAGE_SIZE;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:return 200809;case 79:return 0;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1e3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:return"object"==typeof navigator?navigator.hardwareConcurrency||1:1}return ___setErrNo(ERRNO_CODES.EINVAL),-1}function embind_init_charCodes(){for(var e=new Array(256),t=0;t<256;++t)e[t]=String.fromCharCode(t);embind_charCodes=e}function readLatin1String(e){for(var t="",i=e;HEAPU8[i];)t+=embind_charCodes[HEAPU8[i++]];return t}function makeLegalFunctionName(e){if(void 0===e)return"_unknown";e=e.replace(/[^a-zA-Z0-9_]/g,"$");var t=e.charCodeAt(0);return t>=char_0&&t<=char_9?"_"+e:e}function createNamedFunction(e,t){return e=makeLegalFunctionName(e),new Function("body","return function "+e+'() {\n "use strict"; return body.apply(this, arguments);\n};\n')(t)}function extendError(e,t){var i=createNamedFunction(t,function(e){this.name=t,this.message=e;var i=new Error(e).stack;void 0!==i&&(this.stack=this.toString()+"\n"+i.replace(/^Error(:[^\n]*)?\n/,""))});return i.prototype=Object.create(e.prototype),i.prototype.constructor=i,i.prototype.toString=function(){return void 0===this.message?this.name:this.name+": "+this.message},i}function throwBindingError(e){throw new BindingError(e)}function throwInternalError(e){throw new InternalError(e)}function whenDependentTypesAreResolved(e,t,i){function n(t){var n=i(t);n.length!==e.length&&throwInternalError("Mismatched type converter count");for(var r=0;r<e.length;++r)registerType(e[r],n[r])}e.forEach(function(e){typeDependencies[e]=t});var r=new Array(t.length),s=[],o=0;t.forEach(function(e,t){registeredTypes.hasOwnProperty(e)?r[t]=registeredTypes[e]:(s.push(e),awaitingDependencies.hasOwnProperty(e)||(awaitingDependencies[e]=[]),awaitingDependencies[e].push(function(){r[t]=registeredTypes[e],++o,o===s.length&&n(r)}))}),0===s.length&&n(r)}function registerType(e,t,i){if(i=i||{},!("argPackAdvance"in t))throw new TypeError("registerType registeredInstance requires argPackAdvance");var n=t.name;if(e||throwBindingError('type "'+n+'" must have a positive integer typeid pointer'),registeredTypes.hasOwnProperty(e)){if(i.ignoreDuplicateRegistrations)return;throwBindingError("Cannot register type '"+n+"' twice")}if(registeredTypes[e]=t,delete typeDependencies[e],awaitingDependencies.hasOwnProperty(e)){var r=awaitingDependencies[e];delete awaitingDependencies[e],r.forEach(function(e){e()})}}function __embind_register_void(e,t){t=readLatin1String(t),registerType(e,{isVoid:!0,name:t,argPackAdvance:0,fromWireType:function(){},toWireType:function(e,t){}})}function __ZSt18uncaught_exceptionv(){return!!__ZSt18uncaught_exceptionv.uncaught_exception}function ___resumeException(e){throw EXCEPTIONS.last||(EXCEPTIONS.last=e),EXCEPTIONS.clearRef(EXCEPTIONS.deAdjust(e)),e+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}function ___cxa_find_matching_catch(){var e=EXCEPTIONS.last;if(!e)return 0|(asm.setTempRet0(0),0);var t=EXCEPTIONS.infos[e],i=t.type;if(!i)return 0|(asm.setTempRet0(0),e);var n=Array.prototype.slice.call(arguments);Module.___cxa_is_pointer_type(i);___cxa_find_matching_catch.buffer||(___cxa_find_matching_catch.buffer=_malloc(4)),HEAP32[___cxa_find_matching_catch.buffer>>2]=e,e=___cxa_find_matching_catch.buffer;for(var r=0;r<n.length;r++)if(n[r]&&Module.___cxa_can_catch(n[r],i,e))return e=HEAP32[e>>2],t.adjusted=e,0|(asm.setTempRet0(n[r]),e);return e=HEAP32[e>>2],0|(asm.setTempRet0(i),e)}function ___cxa_throw(e,t,i){throw EXCEPTIONS.infos[e]={ptr:e,adjusted:e,type:t,destructor:i,refcount:0},EXCEPTIONS.last=e,"uncaught_exception"in __ZSt18uncaught_exceptionv?__ZSt18uncaught_exceptionv.uncaught_exception++:__ZSt18uncaught_exceptionv.uncaught_exception=1,e+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}function getShiftFromSize(e){switch(e){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+e)}}function __embind_register_bool(e,t,i,n,r){var s=getShiftFromSize(i);t=readLatin1String(t),registerType(e,{name:t,fromWireType:function(e){return!!e},toWireType:function(e,t){return t?n:r},argPackAdvance:8,readValueFromPointer:function(e){var n;if(1===i)n=HEAP8;else if(2===i)n=HEAP16;else{if(4!==i)throw new TypeError("Unknown boolean type size: "+t);n=HEAP32}return this.fromWireType(n[e>>s])},destructorFunction:null})}function _abort(){Module.abort()}function _free(){}function _malloc(e){var t=Runtime.dynamicAlloc(e+8);return t+8&4294967288}function simpleReadValueFromPointer(e){return this.fromWireType(HEAPU32[e>>2])}function __embind_register_std_string(e,t){t=readLatin1String(t),registerType(e,{name:t,fromWireType:function(e){for(var t=HEAPU32[e>>2],i=new Array(t),n=0;n<t;++n)i[n]=String.fromCharCode(HEAPU8[e+4+n]);return _free(e),i.join("")},toWireType:function(e,t){function i(e,t){return e[t]}function n(e,t){return e.charCodeAt(t)}t instanceof ArrayBuffer&&(t=new Uint8Array(t));var r;t instanceof Uint8Array?r=i:t instanceof Int8Array?r=i:"string"==typeof t?r=n:throwBindingError("Cannot pass non-string to std::string");var s=t.length,o=_malloc(4+s);HEAPU32[o>>2]=s;for(var a=0;a<s;++a){var l=r(t,a);l>255&&(_free(o),throwBindingError("String has UTF-16 code units that do not fit in 8 bits")),HEAPU8[o+4+a]=l}return null!==e&&e.push(_free,o),o},argPackAdvance:8,readValueFromPointer:simpleReadValueFromPointer,destructorFunction:function(e){_free(e)}})}function __embind_register_std_wstring(e,t,i){i=readLatin1String(i);var n,r;2===t?(n=function(){return HEAPU16},r=1):4===t&&(n=function(){return HEAPU32},r=2),registerType(e,{name:i,fromWireType:function(e){for(var t=n(),i=HEAPU32[e>>2],s=new Array(i),o=e+4>>r,a=0;a<i;++a)s[a]=String.fromCharCode(t[o+a]);return _free(e),s.join("")},toWireType:function(e,i){var s=n(),o=i.length,a=_malloc(4+o*t);HEAPU32[a>>2]=o;for(var l=a+4>>r,f=0;f<o;++f)s[l+f]=i.charCodeAt(f);return null!==e&&e.push(_free,a),a},argPackAdvance:8,readValueFromPointer:simpleReadValueFromPointer,destructorFunction:function(e){_free(e)}})}function ClassHandle_isAliasOf(e){if(!(this instanceof ClassHandle))return!1;if(!(e instanceof ClassHandle))return!1;for(var t=this.$$.ptrType.registeredClass,i=this.$$.ptr,n=e.$$.ptrType.registeredClass,r=e.$$.ptr;t.baseClass;)i=t.upcast(i),t=t.baseClass;for(;n.baseClass;)r=n.upcast(r),n=n.baseClass;return t===n&&i===r}function shallowCopyInternalPointer(e){return{count:e.count,deleteScheduled:e.deleteScheduled,preservePointerOnDelete:e.preservePointerOnDelete,ptr:e.ptr,ptrType:e.ptrType,smartPtr:e.smartPtr,smartPtrType:e.smartPtrType}}function throwInstanceAlreadyDeleted(e){function t(e){return e.$$.ptrType.registeredClass.name}throwBindingError(t(e)+" instance already deleted")}function ClassHandle_clone(){if(this.$$.ptr||throwInstanceAlreadyDeleted(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var e=Object.create(Object.getPrototypeOf(this),{$$:{value:shallowCopyInternalPointer(this.$$)}});return e.$$.count.value+=1,e.$$.deleteScheduled=!1,e}function runDestructor(e){var t=e.$$;t.smartPtr?t.smartPtrType.rawDestructor(t.smartPtr):t.ptrType.registeredClass.rawDestructor(t.ptr)}function ClassHandle_delete(){this.$$.ptr||throwInstanceAlreadyDeleted(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&throwBindingError("Object already scheduled for deletion"),this.$$.count.value-=1;var e=0===this.$$.count.value;e&&runDestructor(this),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)}function ClassHandle_isDeleted(){return!this.$$.ptr}function flushPendingDeletes(){for(;deletionQueue.length;){var e=deletionQueue.pop();e.$$.deleteScheduled=!1,e.delete()}}function ClassHandle_deleteLater(){return this.$$.ptr||throwInstanceAlreadyDeleted(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&throwBindingError("Object already scheduled for deletion"),deletionQueue.push(this),1===deletionQueue.length&&delayFunction&&delayFunction(flushPendingDeletes),this.$$.deleteScheduled=!0,this}function init_ClassHandle(){ClassHandle.prototype.isAliasOf=ClassHandle_isAliasOf,ClassHandle.prototype.clone=ClassHandle_clone,ClassHandle.prototype.delete=ClassHandle_delete,ClassHandle.prototype.isDeleted=ClassHandle_isDeleted,ClassHandle.prototype.deleteLater=ClassHandle_deleteLater}function ClassHandle(){}function ensureOverloadTable(e,t,i){if(void 0===e[t].overloadTable){var n=e[t];e[t]=function(){return e[t].overloadTable.hasOwnProperty(arguments.length)||throwBindingError("Function '"+i+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+e[t].overloadTable+")!"),e[t].overloadTable[arguments.length].apply(this,arguments)},e[t].overloadTable=[],e[t].overloadTable[n.argCount]=n}}function exposePublicSymbol(e,t,i){Module.hasOwnProperty(e)?((void 0===i||void 0!==Module[e].overloadTable&&void 0!==Module[e].overloadTable[i])&&throwBindingError("Cannot register public name '"+e+"' twice"),ensureOverloadTable(Module,e,e),Module.hasOwnProperty(i)&&throwBindingError("Cannot register multiple overloads of a function with the same number of arguments ("+i+")!"),Module[e].overloadTable[i]=t):(Module[e]=t,void 0!==i&&(Module[e].numArguments=i))}function RegisteredClass(e,t,i,n,r,s,o,a){this.name=e,this.constructor=t,this.instancePrototype=i,this.rawDestructor=n,this.baseClass=r,this.getActualType=s,this.upcast=o,this.downcast=a,this.pureVirtualFunctions=[]}function upcastPointer(e,t,i){for(;t!==i;)t.upcast||throwBindingError("Expected null or instance of "+i.name+", got an instance of "+t.name),e=t.upcast(e),t=t.baseClass;return e}function constNoSmartPtrRawPointerToWireType(e,t){if(null===t)return this.isReference&&throwBindingError("null is not a valid "+this.name),0;t.$$||throwBindingError('Cannot pass "'+_embind_repr(t)+'" as a '+this.name),t.$$.ptr||throwBindingError("Cannot pass deleted object as a pointer of type "+this.name);var i=t.$$.ptrType.registeredClass,n=upcastPointer(t.$$.ptr,i,this.registeredClass);return n}function genericPointerToWireType(e,t){if(null===t){if(this.isReference&&throwBindingError("null is not a valid "+this.name),this.isSmartPointer){var i=this.rawConstructor();return null!==e&&e.push(this.rawDestructor,i),i}return 0}t.$$||throwBindingError('Cannot pass "'+_embind_repr(t)+'" as a '+this.name),t.$$.ptr||throwBindingError("Cannot pass deleted object as a pointer of type "+this.name),!this.isConst&&t.$$.ptrType.isConst&&throwBindingError("Cannot convert argument of type "+(t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name)+" to parameter type "+this.name);var n=t.$$.ptrType.registeredClass,i=upcastPointer(t.$$.ptr,n,this.registeredClass);if(this.isSmartPointer)switch(void 0===t.$$.smartPtr&&throwBindingError("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:t.$$.smartPtrType===this?i=t.$$.smartPtr:throwBindingError("Cannot convert argument of type "+(t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name)+" to parameter type "+this.name);break;case 1:i=t.$$.smartPtr;break;case 2:if(t.$$.smartPtrType===this)i=t.$$.smartPtr;else{var r=t.clone();i=this.rawShare(i,__emval_register(function(){r.delete()})),null!==e&&e.push(this.rawDestructor,i)}break;default:throwBindingError("Unsupporting sharing policy")}return i}function nonConstNoSmartPtrRawPointerToWireType(e,t){if(null===t)return this.isReference&&throwBindingError("null is not a valid "+this.name),0;t.$$||throwBindingError('Cannot pass "'+_embind_repr(t)+'" as a '+this.name),t.$$.ptr||throwBindingError("Cannot pass deleted object as a pointer of type "+this.name),t.$$.ptrType.isConst&&throwBindingError("Cannot convert argument of type "+t.$$.ptrType.name+" to parameter type "+this.name);var i=t.$$.ptrType.registeredClass,n=upcastPointer(t.$$.ptr,i,this.registeredClass);return n}function RegisteredPointer_getPointee(e){return this.rawGetPointee&&(e=this.rawGetPointee(e)),e}function RegisteredPointer_destructor(e){this.rawDestructor&&this.rawDestructor(e)}function RegisteredPointer_deleteObject(e){null!==e&&e.delete()}function downcastPointer(e,t,i){if(t===i)return e;if(void 0===i.baseClass)return null;var n=downcastPointer(e,t,i.baseClass);return null===n?null:i.downcast(n)}function getInheritedInstanceCount(){return Object.keys(registeredInstances).length}function getLiveInheritedInstances(){var e=[];for(var t in registeredInstances)registeredInstances.hasOwnProperty(t)&&e.push(registeredInstances[t]);return e}function setDelayFunction(e){delayFunction=e,deletionQueue.length&&delayFunction&&delayFunction(flushPendingDeletes)}function init_embind(){Module.getInheritedInstanceCount=getInheritedInstanceCount,Module.getLiveInheritedInstances=getLiveInheritedInstances,Module.flushPendingDeletes=flushPendingDeletes,Module.setDelayFunction=setDelayFunction}function getBasestPointer(e,t){for(void 0===t&&throwBindingError("ptr should not be undefined");e.baseClass;)t=e.upcast(t),e=e.baseClass;return t}function getInheritedInstance(e,t){return t=getBasestPointer(e,t),registeredInstances[t]}function makeClassHandle(e,t){t.ptrType&&t.ptr||throwInternalError("makeClassHandle requires ptr and ptrType");var i=!!t.smartPtrType,n=!!t.smartPtr;return i!==n&&throwInternalError("Both smartPtrType and smartPtr must be specified"),t.count={value:1},Object.create(e,{$$:{value:t}})}function RegisteredPointer_fromWireType(e){function t(){return this.isSmartPointer?makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:i,smartPtrType:this,smartPtr:e}):makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this,ptr:e})}var i=this.getPointee(e);if(!i)return this.destructor(e),null;var n=getInheritedInstance(this.registeredClass,i);if(void 0!==n){if(0===n.$$.count.value)return n.$$.ptr=i,n.$$.smartPtr=e,n.clone();var r=n.clone();return this.destructor(e),r}var s=this.registeredClass.getActualType(i),o=registeredPointers[s];if(!o)return t.call(this);var a;a=this.isConst?o.constPointerType:o.pointerType;var l=downcastPointer(i,this.registeredClass,a.registeredClass);return null===l?t.call(this):this.isSmartPointer?makeClassHandle(a.registeredClass.instancePrototype,{ptrType:a,
ptr:l,smartPtrType:this,smartPtr:e}):makeClassHandle(a.registeredClass.instancePrototype,{ptrType:a,ptr:l})}function init_RegisteredPointer(){RegisteredPointer.prototype.getPointee=RegisteredPointer_getPointee,RegisteredPointer.prototype.destructor=RegisteredPointer_destructor,RegisteredPointer.prototype.argPackAdvance=8,RegisteredPointer.prototype.readValueFromPointer=simpleReadValueFromPointer,RegisteredPointer.prototype.deleteObject=RegisteredPointer_deleteObject,RegisteredPointer.prototype.fromWireType=RegisteredPointer_fromWireType}function RegisteredPointer(e,t,i,n,r,s,o,a,l,f,h){this.name=e,this.registeredClass=t,this.isReference=i,this.isConst=n,this.isSmartPointer=r,this.pointeeType=s,this.sharingPolicy=o,this.rawGetPointee=a,this.rawConstructor=l,this.rawShare=f,this.rawDestructor=h,r||void 0!==t.baseClass?this.toWireType=genericPointerToWireType:n?(this.toWireType=constNoSmartPtrRawPointerToWireType,this.destructorFunction=null):(this.toWireType=nonConstNoSmartPtrRawPointerToWireType,this.destructorFunction=null)}function replacePublicSymbol(e,t,i){Module.hasOwnProperty(e)||throwInternalError("Replacing nonexistant public symbol"),void 0!==Module[e].overloadTable&&void 0!==i?Module[e].overloadTable[i]=t:Module[e]=t}function requireFunction(e,t){function i(i){for(var n=[],r=1;r<e.length;++r)n.push("a"+r);var s="dynCall_"+e+"_"+t,o="return function "+s+"("+n.join(", ")+") {\n";return o+=" return dynCall(rawFunction"+(n.length?", ":"")+n.join(", ")+");\n",o+="};\n",new Function("dynCall","rawFunction",o)(i,t)}e=readLatin1String(e);var n;if(void 0!==Module["FUNCTION_TABLE_"+e])n=Module["FUNCTION_TABLE_"+e][t];else if("undefined"!=typeof FUNCTION_TABLE)n=FUNCTION_TABLE[t];else{var r=asm["dynCall_"+e];void 0===r&&(r=asm["dynCall_"+e.replace(/f/g,"d")],void 0===r&&throwBindingError("No dynCall invoker for signature: "+e)),n=i(r)}return"function"!=typeof n&&throwBindingError("unknown function pointer with signature "+e+": "+t),n}function getTypeName(e){var t=___getTypeName(e),i=readLatin1String(t);return _free(t),i}function throwUnboundTypeError(e,t){function i(e){if(!r[e]&&!registeredTypes[e]){if(typeDependencies[e])return void typeDependencies[e].forEach(i);n.push(e),r[e]=!0}}var n=[],r={};throw t.forEach(i),new UnboundTypeError(e+": "+n.map(getTypeName).join([", "]))}function __embind_register_class(e,t,i,n,r,s,o,a,l,f,h,u,c){h=readLatin1String(h),s=requireFunction(r,s),a&&(a=requireFunction(o,a)),f&&(f=requireFunction(l,f)),c=requireFunction(u,c);var d=makeLegalFunctionName(h);exposePublicSymbol(d,function(){throwUnboundTypeError("Cannot construct "+h+" due to unbound types",[n])}),whenDependentTypesAreResolved([e,t,i],n?[n]:[],function(t){t=t[0];var i,r;n?(i=t.registeredClass,r=i.instancePrototype):r=ClassHandle.prototype;var o=createNamedFunction(d,function(){if(Object.getPrototypeOf(this)!==l)throw new BindingError("Use 'new' to construct "+h);if(void 0===u.constructor_body)throw new BindingError(h+" has no accessible constructor");var e=u.constructor_body[arguments.length];if(void 0===e)throw new BindingError("Tried to invoke ctor of "+h+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(u.constructor_body).toString()+") parameters instead!");return e.apply(this,arguments)}),l=Object.create(r,{constructor:{value:o}});o.prototype=l;var u=new RegisteredClass(h,o,l,c,i,s,a,f),p=new RegisteredPointer(h,u,!0,!1,!1),b=new RegisteredPointer(h+"*",u,!1,!1,!1),w=new RegisteredPointer(h+" const*",u,!1,!0,!1);return registeredPointers[e]={pointerType:b,constPointerType:w},replacePublicSymbol(d,o),[p,b,w]})}function _exp2(){Module.printErr("missing function: exp2"),abort(-1)}function _embind_repr(e){if(null===e)return"null";var t=typeof e;return"object"===t||"array"===t||"function"===t?e.toString():""+e}function integerReadValueFromPointer(e,t,i){switch(t){case 0:return i?function(e){return HEAP8[e]}:function(e){return HEAPU8[e]};case 1:return i?function(e){return HEAP16[e>>1]}:function(e){return HEAPU16[e>>1]};case 2:return i?function(e){return HEAP32[e>>2]}:function(e){return HEAPU32[e>>2]};default:throw new TypeError("Unknown integer type: "+e)}}function __embind_register_integer(e,t,i,n,r){t=readLatin1String(t),r===-1&&(r=4294967295);var s=getShiftFromSize(i),o=function(e){return e};if(0===n){var a=32-8*i;o=function(e){return e<<a>>>a}}registerType(e,{name:t,fromWireType:o,toWireType:function(e,i){if("number"!=typeof i&&"boolean"!=typeof i)throw new TypeError('Cannot convert "'+_embind_repr(i)+'" to '+this.name);if(i<n||i>r)throw new TypeError('Passing a number "'+_embind_repr(i)+'" from JS side to C/C++ side to an argument of type "'+t+'", which is outside the valid range ['+n+", "+r+"]!");return 0|i},argPackAdvance:8,readValueFromPointer:integerReadValueFromPointer(t,s,0!==n),destructorFunction:null})}function __emval_decref(e){e>4&&0===--emval_handle_array[e].refcount&&(emval_handle_array[e]=void 0,emval_free_list.push(e))}function count_emval_handles(){for(var e=0,t=5;t<emval_handle_array.length;++t)void 0!==emval_handle_array[t]&&++e;return e}function get_first_emval(){for(var e=5;e<emval_handle_array.length;++e)if(void 0!==emval_handle_array[e])return emval_handle_array[e];return null}function init_emval(){Module.count_emval_handles=count_emval_handles,Module.get_first_emval=get_first_emval}function __emval_register(e){switch(e){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:var t=emval_free_list.length?emval_free_list.pop():emval_handle_array.length;return emval_handle_array[t]={refcount:1,value:e},t}}function __embind_register_emval(e,t){t=readLatin1String(t),registerType(e,{name:t,fromWireType:function(e){var t=emval_handle_array[e].value;return __emval_decref(e),t},toWireType:function(e,t){return __emval_register(t)},argPackAdvance:8,readValueFromPointer:simpleReadValueFromPointer,destructorFunction:null})}function ___cxa_allocate_exception(e){return _malloc(e)}function __embind_register_memory_view(e,t,i){function n(e){e>>=2;var t=HEAPU32,i=t[e],n=t[e+1];return new s(t.buffer,n,i)}var r=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array],s=r[t];i=readLatin1String(i),registerType(e,{name:i,fromWireType:n,argPackAdvance:8,readValueFromPointer:n},{ignoreDuplicateRegistrations:!0})}function floatReadValueFromPointer(e,t){switch(t){case 2:return function(e){return this.fromWireType(HEAPF32[e>>2])};case 3:return function(e){return this.fromWireType(HEAPF64[e>>3])};default:throw new TypeError("Unknown float type: "+e)}}function __embind_register_float(e,t,i){var n=getShiftFromSize(i);t=readLatin1String(t),registerType(e,{name:t,fromWireType:function(e){return e},toWireType:function(e,t){if("number"!=typeof t&&"boolean"!=typeof t)throw new TypeError('Cannot convert "'+_embind_repr(t)+'" to '+this.name);return t},argPackAdvance:8,readValueFromPointer:floatReadValueFromPointer(t,n),destructorFunction:null})}function _emscripten_memcpy_big(e,t,i){return HEAPU8.set(HEAPU8.subarray(t,t+i),e),e}function _llvm_stackrestore(e){var t=_llvm_stacksave,i=t.LLVM_SAVEDSTACKS[e];t.LLVM_SAVEDSTACKS.splice(e,1),Runtime.stackRestore(i)}function _sbrk(e){var t=_sbrk;t.called||(DYNAMICTOP=alignMemoryPage(DYNAMICTOP),t.called=!0,assert(Runtime.dynamicAlloc),t.alloc=Runtime.dynamicAlloc,Runtime.dynamicAlloc=function(){abort("cannot dynamically allocate, sbrk now has control")});var i=DYNAMICTOP;if(0!=e){var n=t.alloc(e);if(!n)return-1>>>0}return i}function _llvm_stacksave(){var e=_llvm_stacksave;return e.LLVM_SAVEDSTACKS||(e.LLVM_SAVEDSTACKS=[]),e.LLVM_SAVEDSTACKS.push(Runtime.stackSave()),e.LLVM_SAVEDSTACKS.length-1}function ___gxx_personality_v0(){}function heap32VectorToArray(e,t){for(var i=[],n=0;n<e;n++)i.push(HEAP32[(t>>2)+n]);return i}function runDestructors(e){for(;e.length;){var t=e.pop(),i=e.pop();i(t)}}function __embind_register_class_constructor(e,t,i,n,r,s){var o=heap32VectorToArray(t,i);r=requireFunction(n,r),whenDependentTypesAreResolved([],[e],function(e){e=e[0];var i="constructor "+e.name;if(void 0===e.registeredClass.constructor_body&&(e.registeredClass.constructor_body=[]),void 0!==e.registeredClass.constructor_body[t-1])throw new BindingError("Cannot register multiple constructors with identical number of parameters ("+(t-1)+") for class '"+e.name+"'! Overload resolution is currently only performed using the parameter count, not actual type info!");return e.registeredClass.constructor_body[t-1]=function(){throwUnboundTypeError("Cannot construct "+e.name+" due to unbound types",o)},whenDependentTypesAreResolved([],o,function(n){return e.registeredClass.constructor_body[t-1]=function(){arguments.length!==t-1&&throwBindingError(i+" called with "+arguments.length+" arguments, expected "+(t-1));var e=[],o=new Array(t);o[0]=s;for(var a=1;a<t;++a)o[a]=n[a].toWireType(e,arguments[a-1]);var l=r.apply(null,o);return runDestructors(e),n[0].fromWireType(l)},[]}),[]})}function _time(e){var t=Date.now()/1e3|0;return e&&(HEAP32[e>>2]=t),t}function _pthread_self(){return 0}function new_(e,t){if(!(e instanceof Function))throw new TypeError("new_ called with constructor type "+typeof e+" which is not a function");var i=createNamedFunction(e.name||"unknownFunctionName",function(){});i.prototype=e.prototype;var n=new i,r=e.apply(n,t);return r instanceof Object?r:n}function craftInvokerFunction(e,t,i,n,r){var s=t.length;s<2&&throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var o=null!==t[1]&&null!==i,a="",l="",f=0;f<s-2;++f)a+=(0!==f?", ":"")+"arg"+f,l+=(0!==f?", ":"")+"arg"+f+"Wired";for(var h="return function "+makeLegalFunctionName(e)+"("+a+") {\nif (arguments.length !== "+(s-2)+") {\nthrowBindingError('function "+e+" called with ' + arguments.length + ' arguments, expected "+(s-2)+" args!');\n}\n",u=!1,f=1;f<t.length;++f)if(null!==t[f]&&void 0===t[f].destructorFunction){u=!0;break}u&&(h+="var destructors = [];\n");var c=u?"destructors":"null",d=["throwBindingError","invoker","fn","runDestructors","retType","classParam"],p=[throwBindingError,n,r,runDestructors,t[0],t[1]];o&&(h+="var thisWired = classParam.toWireType("+c+", this);\n");for(var f=0;f<s-2;++f)h+="var arg"+f+"Wired = argType"+f+".toWireType("+c+", arg"+f+"); // "+t[f+2].name+"\n",d.push("argType"+f),p.push(t[f+2]);o&&(l="thisWired"+(l.length>0?", ":"")+l);var b="void"!==t[0].name;if(h+=(b?"var rv = ":"")+"invoker(fn"+(l.length>0?", ":"")+l+");\n",u)h+="runDestructors(destructors);\n";else for(var f=o?1:2;f<t.length;++f){var w=1===f?"thisWired":"arg"+(f-2)+"Wired";null!==t[f].destructorFunction&&(h+=w+"_dtor("+w+"); // "+t[f].name+"\n",d.push(w+"_dtor"),p.push(t[f].destructorFunction))}b&&(h+="var ret = retType.fromWireType(rv);\nreturn ret;\n"),h+="}\n",d.push(h);var m=new_(Function,d).apply(null,p);return m}function __embind_register_class_function(e,t,i,n,r,s,o,a){var l=heap32VectorToArray(i,n);t=readLatin1String(t),s=requireFunction(r,s),whenDependentTypesAreResolved([],[e],function(e){function n(){throwUnboundTypeError("Cannot call "+r+" due to unbound types",l)}e=e[0];var r=e.name+"."+t;a&&e.registeredClass.pureVirtualFunctions.push(t);var f=e.registeredClass.instancePrototype,h=f[t];return void 0===h||void 0===h.overloadTable&&h.className!==e.name&&h.argCount===i-2?(n.argCount=i-2,n.className=e.name,f[t]=n):(ensureOverloadTable(f,t,r),f[t].overloadTable[i-2]=n),whenDependentTypesAreResolved([],l,function(n){var a=craftInvokerFunction(r,n,e,s,o);return void 0===f[t].overloadTable?f[t]=a:f[t].overloadTable[i-2]=a,[]}),[]})}function invoke_iiii(e,t,i,n){try{return Module.dynCall_iiii(e,t,i,n)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_viiiii(e,t,i,n,r,s){try{Module.dynCall_viiiii(e,t,i,n,r,s)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_vi(e,t){try{Module.dynCall_vi(e,t)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_iiiiiii(e,t,i,n,r,s,o){try{return Module.dynCall_iiiiiii(e,t,i,n,r,s,o)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_ii(e,t){try{return Module.dynCall_ii(e,t)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_viiiiiii(e,t,i,n,r,s,o,a){try{Module.dynCall_viiiiiii(e,t,i,n,r,s,o,a)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_v(e){try{Module.dynCall_v(e)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_iiiii(e,t,i,n,r){try{return Module.dynCall_iiiii(e,t,i,n,r)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_viiiiii(e,t,i,n,r,s,o){try{Module.dynCall_viiiiii(e,t,i,n,r,s,o)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_iiiiii(e,t,i,n,r,s){try{return Module.dynCall_iiiiii(e,t,i,n,r,s)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_viiii(e,t,i,n,r){try{Module.dynCall_viiii(e,t,i,n,r)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function ExitStatus(e){this.name="ExitStatus",this.message="Program terminated with exit("+e+")",this.status=e}function run(e){function t(){Module.calledRun||(Module.calledRun=!0,ABORT||(ensureInitRuntime(),preMain(),Module.onRuntimeInitialized&&Module.onRuntimeInitialized(),Module._main&&shouldRunNow&&Module.callMain(e),postRun()))}e=e||Module.arguments,null===preloadStartTime&&(preloadStartTime=Date.now()),runDependencies>0||(preRun(),runDependencies>0||Module.calledRun||(Module.setStatus?(Module.setStatus("Running..."),setTimeout(function(){setTimeout(function(){Module.setStatus("")},1),t()},1)):t()))}function exit(e,t){if(!t||!Module.noExitRuntime)throw Module.noExitRuntime||(ABORT=!0,EXITSTATUS=e,STACKTOP=initialStackTop,exitRuntime(),Module.onExit&&Module.onExit(e)),ENVIRONMENT_IS_NODE?process.exit(e):ENVIRONMENT_IS_SHELL&&"function"==typeof quit&&quit(e),new ExitStatus(e)}function abort(e){void 0!==e?(Module.print(e),Module.printErr(e),e=JSON.stringify(e)):e="",ABORT=!0,EXITSTATUS=1;var t="\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.",i="abort("+e+") at "+stackTrace()+t;throw abortDecorators&&abortDecorators.forEach(function(t){i=t(i,e)}),i}var Module;Module||(Module=("undefined"!=typeof Module?Module:null)||{});var moduleOverrides={};for(var key in Module)Module.hasOwnProperty(key)&&(moduleOverrides[key]=Module[key]);var ENVIRONMENT_IS_WEB=!1,ENVIRONMENT_IS_WORKER=!1,ENVIRONMENT_IS_NODE=!1,ENVIRONMENT_IS_SHELL=!1;if(Module.ENVIRONMENT)if("WEB"===Module.ENVIRONMENT)ENVIRONMENT_IS_WEB=!0;else if("WORKER"===Module.ENVIRONMENT)ENVIRONMENT_IS_WORKER=!0;else if("NODE"===Module.ENVIRONMENT)ENVIRONMENT_IS_NODE=!0;else{if("SHELL"!==Module.ENVIRONMENT)throw new Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.");ENVIRONMENT_IS_SHELL=!0}else ENVIRONMENT_IS_WEB="object"==typeof window,ENVIRONMENT_IS_WORKER="function"==typeof importScripts,ENVIRONMENT_IS_NODE="object"==typeof process&&!0&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER,ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;if(ENVIRONMENT_IS_NODE){Module.print||(Module.print=console.log),Module.printErr||(Module.printErr=console.warn);var nodeFS,nodePath;Module.read=function(e,t){nodeFS||(nodeFS=__webpack_require__(62)),nodePath||(nodePath=__webpack_require__(15)),e=nodePath.normalize(e);var i=nodeFS.readFileSync(e);return i||e==nodePath.resolve(e)||(e=path.join(__dirname,"..","src",e),i=nodeFS.readFileSync(e)),i&&!t&&(i=i.toString()),i},Module.readBinary=function(e){var t=Module.read(e,!0);return t.buffer||(t=new Uint8Array(t)),assert(t.buffer),t},Module.load=function(e){globalEval(read(e))},Module.thisProgram||(process.argv.length>1?Module.thisProgram=process.argv[1].replace(/\\/g,"/"):Module.thisProgram="unknown-program"),Module.arguments=process.argv.slice(2),module.exports=Module,Module.inspect=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL)Module.print||(Module.print=print),"undefined"!=typeof printErr&&(Module.printErr=printErr),"undefined"!=typeof read?Module.read=read:Module.read=function(){throw"no read() available (jsc?)"},Module.readBinary=function(e){if("function"==typeof readbuffer)return new Uint8Array(readbuffer(e));var t=read(e,"binary");return assert("object"==typeof t),t},"undefined"!=typeof scriptArgs?Module.arguments=scriptArgs:"undefined"!=typeof arguments&&(Module.arguments=arguments);else{if(!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER)throw"Unknown runtime environment. Where are we?";if(Module.read=function(e){var t=new XMLHttpRequest;return t.open("GET",e,!1),t.send(null),t.responseText},Module.readAsync=function(e,t,i){var n=new XMLHttpRequest;n.open("GET",e,!0),n.responseType="arraybuffer",n.onload=function(){200==n.status||0==n.status&&n.response?t(n.response):i()},n.onerror=i,n.send(null)},"undefined"!=typeof arguments&&(Module.arguments=arguments),"undefined"!=typeof console)Module.print||(Module.print=function(e){console.log(e)}),Module.printErr||(Module.printErr=function(e){console.warn(e)});else{var TRY_USE_DUMP=!1;Module.print||(Module.print=TRY_USE_DUMP&&"undefined"!=typeof dump?function(e){dump(e)}:function(e){})}ENVIRONMENT_IS_WORKER&&(Module.load=importScripts),"undefined"==typeof Module.setWindowTitle&&(Module.setWindowTitle=function(e){document.title=e})}!Module.load&&Module.read&&(Module.load=function(e){globalEval(Module.read(e))}),Module.print||(Module.print=function(){}),Module.printErr||(Module.printErr=Module.print),Module.arguments||(Module.arguments=[]),Module.thisProgram||(Module.thisProgram="./this.program"),Module.print=Module.print,Module.printErr=Module.printErr,Module.preRun=[],Module.postRun=[];for(var key in moduleOverrides)moduleOverrides.hasOwnProperty(key)&&(Module[key]=moduleOverrides[key]);moduleOverrides=void 0;var Runtime={setTempRet0:function(e){tempRet0=e},getTempRet0:function(){return tempRet0},stackSave:function(){return STACKTOP},stackRestore:function(e){STACKTOP=e},getNativeTypeSize:function(e){switch(e){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("*"===e[e.length-1])return Runtime.QUANTUM_SIZE;if("i"===e[0]){var t=parseInt(e.substr(1));return assert(t%8===0),t/8}return 0}},getNativeFieldSize:function(e){return Math.max(Runtime.getNativeTypeSize(e),Runtime.QUANTUM_SIZE)},STACK_ALIGN:16,prepVararg:function(e,t){return"double"===t||"i64"===t?7&e&&(assert(4===(7&e)),e+=4):assert(0===(3&e)),e},getAlignSize:function(e,t,i){return i||"i64"!=e&&"double"!=e?e?Math.min(t||(e?Runtime.getNativeFieldSize(e):0),Runtime.QUANTUM_SIZE):Math.min(t,8):8},dynCall:function(e,t,i){return i&&i.length?(i.splice||(i=Array.prototype.slice.call(i)),i.splice(0,0,t),Module["dynCall_"+e].apply(null,i)):Module["dynCall_"+e].call(null,t)},functionPointers:[],addFunction:function(e){for(var t=0;t<Runtime.functionPointers.length;t++)if(!Runtime.functionPointers[t])return Runtime.functionPointers[t]=e,2*(1+t);throw"Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS."},removeFunction:function(e){Runtime.functionPointers[(e-2)/2]=null},warnOnce:function(e){Runtime.warnOnce.shown||(Runtime.warnOnce.shown={}),Runtime.warnOnce.shown[e]||(Runtime.warnOnce.shown[e]=1,Module.printErr(e))},funcWrappers:{},getFuncWrapper:function(e,t){assert(t),Runtime.funcWrappers[t]||(Runtime.funcWrappers[t]={});var i=Runtime.funcWrappers[t];return i[e]||(i[e]=function(){return Runtime.dynCall(t,e,arguments)}),i[e]},getCompilerSetting:function(e){throw"You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work"},stackAlloc:function(e){var t=STACKTOP;return STACKTOP=STACKTOP+e|0,STACKTOP=STACKTOP+15&-16,t},staticAlloc:function(e){var t=STATICTOP;return STATICTOP=STATICTOP+e|0,STATICTOP=STATICTOP+15&-16,t},dynamicAlloc:function(e){var t=DYNAMICTOP;if(DYNAMICTOP=DYNAMICTOP+e|0,DYNAMICTOP=DYNAMICTOP+15&-16,DYNAMICTOP>=TOTAL_MEMORY){var i=enlargeMemory();if(!i)return DYNAMICTOP=t,0}return t},alignMemory:function(e,t){var i=e=Math.ceil(e/(t?t:16))*(t?t:16);return i},makeBigInt:function(e,t,i){var n=i?+(e>>>0)+4294967296*+(t>>>0):+(e>>>0)+4294967296*+(0|t);return n},GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0},ABORT=!1,EXITSTATUS=0,ccall;!function(){function parseJSFunc(e){var t=e.toString().match(sourceRegex).slice(1);return{arguments:t[0],body:t[1],returnValue:t[2]}}function ensureJSsource(){if(!JSsource){JSsource={};for(var e in JSfuncs)JSfuncs.hasOwnProperty(e)&&(JSsource[e]=parseJSFunc(JSfuncs[e]))}}var JSfuncs={stackSave:function(){Runtime.stackSave()},stackRestore:function(){Runtime.stackRestore()},arrayToC:function(e){var t=Runtime.stackAlloc(e.length);return writeArrayToMemory(e,t),t},stringToC:function(e){var t=0;return null!==e&&void 0!==e&&0!==e&&(t=Runtime.stackAlloc((e.length<<2)+1),writeStringToMemory(e,t)),t}},toC={string:JSfuncs.stringToC,array:JSfuncs.arrayToC};ccall=function(e,t,i,n,r){var s=getCFunc(e),o=[],a=0;if(n)for(var l=0;l<n.length;l++){var f=toC[i[l]];f?(0===a&&(a=Runtime.stackSave()),o[l]=f(n[l])):o[l]=n[l]}var h=s.apply(null,o);if("string"===t&&(h=Pointer_stringify(h)),0!==a){if(r&&r.async)return void EmterpreterAsync.asyncFinalizers.push(function(){Runtime.stackRestore(a)});Runtime.stackRestore(a)}return h};var sourceRegex=/^function\s*[a-zA-Z$_0-9]*\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/,JSsource=null;cwrap=function cwrap(ident,returnType,argTypes){argTypes=argTypes||[];var cfunc=getCFunc(ident),numericArgs=argTypes.every(function(e){return"number"===e}),numericRet="string"!==returnType;if(numericRet&&numericArgs)return cfunc;var argNames=argTypes.map(function(e,t){return"$"+t}),funcstr="(function("+argNames.join(",")+") {",nargs=argTypes.length;if(!numericArgs){ensureJSsource(),funcstr+="var stack = "+JSsource.stackSave.body+";";for(var i=0;i<nargs;i++){var arg=argNames[i],type=argTypes[i];if("number"!==type){var convertCode=JSsource[type+"ToC"];funcstr+="var "+convertCode.arguments+" = "+arg+";",funcstr+=convertCode.body+";",funcstr+=arg+"=("+convertCode.returnValue+");"}}}var cfuncname=parseJSFunc(function(){return cfunc}).returnValue;if(funcstr+="var ret = "+cfuncname+"("+argNames.join(",")+");",!numericRet){var strgfy=parseJSFunc(function(){return Pointer_stringify}).returnValue;funcstr+="ret = "+strgfy+"(ret);"}return numericArgs||(ensureJSsource(),funcstr+=JSsource.stackRestore.body.replace("()","(stack)")+";"),funcstr+="return ret})",eval(funcstr)}}(),Module.setValue=setValue,Module.getValue=getValue;for(var ALLOC_NORMAL=0,ALLOC_STATIC=2,ALLOC_DYNAMIC=3,ALLOC_NONE=4,PAGE_SIZE=4096,HEAP,buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64,STATIC_BASE=0,STATICTOP=0,staticSealed=!1,STACK_BASE=0,STACKTOP=0,STACK_MAX=0,DYNAMIC_BASE=0,DYNAMICTOP=0,TOTAL_STACK=Module.TOTAL_STACK||5242880,TOTAL_MEMORY=Module.TOTAL_MEMORY||16777216,totalMemory=65536;totalMemory<TOTAL_MEMORY||totalMemory<2*TOTAL_STACK;)totalMemory<16777216?totalMemory*=2:totalMemory+=16777216;if(totalMemory!==TOTAL_MEMORY&&(TOTAL_MEMORY=totalMemory),buffer=Module.buffer?Module.buffer:new ArrayBuffer(TOTAL_MEMORY),updateGlobalBufferViews(),HEAP32[0]=255,255!==HEAPU8[0]||0!==HEAPU8[3])throw"Typed arrays 2 must be run on a little-endian system";Module.HEAP=HEAP,Module.buffer=buffer,Module.HEAP8=HEAP8,Module.HEAP16=HEAP16,Module.HEAP32=HEAP32,Module.HEAPU8=HEAPU8,Module.HEAPU16=HEAPU16,Module.HEAPU32=HEAPU32,Module.HEAPF32=HEAPF32,Module.HEAPF64=HEAPF64;var __ATPRERUN__=[],__ATINIT__=[],__ATMAIN__=[],__ATEXIT__=[],__ATPOSTRUN__=[],runtimeInitialized=!1,runtimeExited=!1;Math.imul&&Math.imul(4294967295,5)===-5||(Math.imul=function(e,t){var i=e>>>16,n=65535&e,r=t>>>16,s=65535&t;return n*s+(i*s+n*r<<16)|0}),Math.imul=Math.imul,Math.clz32||(Math.clz32=function(e){e>>>=0;for(var t=0;t<32;t++)if(e&1<<31-t)return t;return 32}),Math.clz32=Math.clz32;var Math_abs=Math.abs,Math_cos=Math.cos,Math_sin=Math.sin,Math_tan=Math.tan,Math_acos=Math.acos,Math_asin=Math.asin,Math_atan=Math.atan,Math_atan2=Math.atan2,Math_exp=Math.exp,Math_log=Math.log,Math_sqrt=Math.sqrt,Math_ceil=Math.ceil,Math_floor=Math.floor,Math_pow=Math.pow,Math_imul=Math.imul,Math_fround=Math.fround,Math_min=Math.min,Math_clz32=Math.clz32,runDependencies=0,runDependencyWatcher=null,dependenciesFulfilled=null;Module.preloadedImages={},Module.preloadedAudios={};var ASM_CONSTS=[];STATIC_BASE=8,STATICTOP=STATIC_BASE+35488,__ATINIT__.push({func:function(){__GLOBAL__sub_I_opusscript_encoder_cpp()}},{func:function(){__GLOBAL__sub_I_bind_cpp()}}),allocate([32,90,0,0,152,108,0,0,160,90,0,0,172,108,0,0,0,0,0,0,8,0,0,0,160,90,0,0,193,108,0,0,1,0,0,0,8,0,0,0,188,90,0,0,7,130,0,0,0,0,0,0,1,0,0,0,72,0,0,0,0,0,0,0,32,90,0,0,70,130,0,0,188,90,0,0,120,130,0,0,0,0,0,0,1,0,0,0,72,0,0,0,0,0,0,0,188,90,0,0,216,130,0,0,0,0,0,0,1,0,0,0,72,0,0,0,0,0,0,0,32,90,0,0,36,131,0,0,32,90,0,0,71,131,0,0,32,90,0,0,132,131,0,0,32,90,0,0,200,131,0,0,32,90,0,0,14,132,0,0,32,90,0,0,76,132,0,0,32,90,0,0,147,132,0,0,32,90,0,0,207,132,0,0,32,90,0,0,20,133,0,0,32,90,0,0,81,133,0,0,32,90,0,0,94,134,0,0,32,90,0,0,156,134,0,0,32,90,0,0,219,134,0,0,32,90,0,0,148,135,0,0,72,90,0,0,114,135,0,0,16,1,0,0,0,0,0,0,72,90,0,0,31,135,0,0,240,0,0,0,0,0,0,0,72,90,0,0,68,135,0,0,32,1,0,0,0,0,0,0,32,90,0,0,101,135,0,0,72,90,0,0,161,135,0,0,232,0,0,0,0,0,0,0,72,90,0,0,225,135,0,0,16,1,0,0,0,0,0,0,72,90,0,0,189,135,0,0,56,1,0,0,0,0,0,0,72,90,0,0,3,136,0,0,16,1,0,0,0,0,0,0,132,90,0,0,43,136,0,0,132,90,0,0,45,136,0,0,132,90,0,0,48,136,0,0,132,90,0,0,50,136,0,0,132,90,0,0,52,136,0,0,132,90,0,0,54,136,0,0,132,90,0,0,56,136,0,0,132,90,0,0,58,136,0,0,132,90,0,0,60,136,0,0,132,90,0,0,62,136,0,0,132,90,0,0,64,136,0,0,132,90,0,0,66,136,0,0,132,90,0,0,68,136,0,0,132,90,0,0,70,136,0,0,72,90,0,0,72,136,0,0,240,0,0,0,0,0,0,0,16,0,0,0,168,1,0,0,168,1,0,0,168,1,0,0,168,1,0,0,16,0,0,0,168,1,0,0,168,1,0,0,168,1,0,0,168,1,0,0,168,1,0,0,16,0,0,0,168,1,0,0,168,1,0,0,168,1,0,0,0,0,157,62,0,64,94,62,0,192,4,62,0,128,237,62,0,64,137,62,0,0,0,0,0,192,76,63,0,0,205,61,0,0,0,0,34,109,0,0,42,109,0,0,59,109,0,0,76,109,0,0,91,109,0,0,108,109,0,0,132,109,0,0,146,109,0,0,16,39,0,0,232,3,0,0,248,42,0,0,232,3,0,0,188,52,0,0,232,3,0,0,176,54,0,0,208,7,0,0,224,46,0,0,232,3,0,0,176,54,0,0,232,3,0,0,128,62,0,0,232,3,0,0,32,78,0,0,232,3,0,0,240,85,0,0,232,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,46,0,0,16,39,0,0,16,39,0,0,248,42,0,0,248,42,0,0,128,62,0,0,188,52,0,0,188,52,0,0,152,58,0,0,152,58,0,0,32,78,0,0,128,62,0,0,128,62,0,0,80,70,0,0,80,70,0,0,192,93,0,0,80,70,0,0,80,70,0,0,8,82,0,0,8,82,0,0,0,125,0,0,240,85,0,0,240,85,0,0,96,109,0,0,96,109,0,0,0,250,0,0,112,148,0,0,112,148,0,0,80,195,0,0,80,195,0,0,230,90,52,56,119,78,51,57,211,217,201,57,146,145,51,58,204,96,140,58,97,251,201,58,153,126,9,59,203,128,51,59,213,37,99,59,119,46,140,59,168,138,169,59,69,184,201,59,135,166,236,59,232,46,9,60,174,102,29,60,247,2,51,60,147,255,73,60,79,88,98,60,94,17,124,60,46,145,139,60,189,199,153,60,92,172,168,60,243,60,184,60,129,121,200,60,238,95,217,60,57,240,234,60,99,42,253,60,53,7,8,61,16,204,17,61,205,228,27,61,97,80,38,61,203,14,49,61,0,31,60,61,254,128,71,61,198,52,83,61,63,56,95,61,105,139,107,61,69,46,120,61,105,144,130,61,123,48,137,61,224,247,143,61,138,229,150,61,123,249,157,61,177,51,165,61,33,147,172,61,80,24,180,61,51,194,187,61,79,145,195,61,18,132,203,61,2,155,211,61,31,214,219,61,215,51,228,61,175,180,236,61,33,88,245,61,168,29,254,61,161,130,3,62,242,6,8,62,199,155,12,62,221,64,17,62,52,246,21,62,69,187,26,62,17,144,31,62,84,116,36,62,203,103,41,62,51,106,46,62,141,123,51,62,82,155,56,62,197,201,61,62,28,6,67,62,89,80,72,62,122,168,77,62,183,13,83,62,82,128,88,62,8,0,94,62,84,140,99,62,242,36,105,62,37,202,110,62,36,123,116,62,172,55,122,62,0,0,128,62,171,233,130,62,249,216,133,62,133,205,136,62,80,199,139,62,55,198,142,62,247,201,145,62,179,210,148,62,38,224,151,62,15,242,154,62,108,8,158,62,28,35,161,62,255,65,164,62,208,100,167,62,177,139,170,62,28,182,173,62,84,228,176,62,211,21,180,62,186,74,183,62,232,130,186,62,249,189,189,62,13,252,192,62,226,60,196,62,86,128,199,62,71,198,202,62,149,14,206,62,251,88,209,62,122,165,212,62,241,243,215,62,28,68,219,62,217,149,222,62,8,233,225,62,167,61,229,62,83,147,232,62,12,234,235,62,175,65,239,62,28,154,242,62,14,243,245,62,136,76,249,62,34,166,252,62,0,0,0,63,239,172,1,63,188,89,3,63,121,6,5,63,242,178,6,63,41,95,8,63,250,10,10,63,86,182,11,63,44,97,13,63,124,11,15,63,19,181,16,63,242,93,18,63,8,6,20,63,67,173,21,63,130,83,23,63,182,248,24,63,220,156,26,63,213,63,28,63,143,225,29,63,249,129,31,63,4,33,33,63,140,190,34,63,163,90,36,63,23,245,37,63,214,141,39,63,242,36,41,63,40,186,42,63,152,77,44,63,1,223,45,63,114,110,47,63,202,251,48,63,249,134,50,63,237,15,52,63,167,150,53,63,4,27,55,63,229,156,56,63,88,28,58,63,61,153,59,63,131,19,61,63,42,139,62,63,0,0,64,63,21,114,65,63,55,225,66,63,119,77,68,63,195,182,69,63,235,28,71,63,254,127,72,63,236,223,73,63,146,60,75,63,225,149,76,63,234,235,77,63,121,62,79,63,143,141,80,63,43,217,81,63,29,33,83,63,115,101,84,63,13,166,85,63,235,226,86,63,252,27,88,63,47,81,89,63,115,130,90,63,201,175,91,63,14,217,92,63,67,254,93,63,88,31,95,63,75,60,96,63,252,84,97,63,106,105,98,63,133,121,99,63,60,133,100,63,160,140,101,63,126,143,102,63,214,141,103,63,186,135,104,63,246,124,105,63,156,109,106,63,138,89,107,63,209,64,108,63,79,35,109,63,4,1,110,63,241,217,110,63,243,173,111,63,28,125,112,63,73,71,113,63,124,12,114,63,180,204,114,63,240,135,115,63,16,62,116,63,19,239,116,63,250,154,117,63,179,65,118,63,63,227,118,63,141,127,119,63,173,22,120,63,126,168,120,63,1,53,121,63,52,188,121,63,24,62,122,63,157,186,122,63,194,49,123,63,119,163,123,63,187,15,124,63,159,118,124,63,2,216,124,63,244,51,125,63,101,138,125,63,68,219,125,63,179,38,126,63,143,108,126,63,235,172,126,63,163,231,126,63,218,28,127,63,127,76,127,63,129,118,127,63,2,155,127,63,208,185,127,63,28,211,127,63,197,230,127,63,203,244,127,63,47,253,127,63,0,0,128,63,2,0,0,0,4,0,0,0,6,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,16,0,0,0,20,0,0,0,24,0,0,0,28,0,0,0,32,0,0,0,40,0,0,0,48,0,0,0,56,0,0,0,68,0,0,0,80,0,0,0,96,0,0,0,120,0,0,0,1,0,0,0,2,0,0,0,4,0,0,0,6,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,16,0,0,0,20,0,0,0,24,0,0,0,28,0,0,0,32,0,0,0,40,0,0,0,48,0,0,0,56,0,0,0,68,0,0,0,80,0,0,0,96,0,0,0,120,0,0,0,160,0,0,0,200,0,0,0,0,0,128,62,0,0,128,62,0,0,128,62,0,0,128,62,0,0,128,62,0,0,128,62,0,0,128,62,0,0,128,62,0,0,128,62,0,0,128,62,0,0,128,62,0,0,128,62,0,0,128,62,0,0,128,62,0,0,128,62,0,0,128,62,208,37,180,62,151,57,173,62,9,165,159,62,250,237,139,62,205,172,101,62,248,169,42,62,52,48,210,61,90,241,13,61,90,241,13,189,52,48,210,189,248,169,42,190,205,172,101,190,250,237,139,190,9,165,159,190,151,57,173,190,208,37,180,190,135,138,177,62,27,131,150,62,96,35,73,62,196,66,141,61,196,66,141,189,96,35,73,190,27,131,150,190,135,138,177,190,135,138,177,190,27,131,150,190,96,35,73,190,196,66,141,189,196,66,141,61,96,35,73,62,27,131,150,62,135,138,177,62,151,57,173,62,205,172,101,62,90,241,13,61,248,169,42,190,9,165,159,190,208,37,180,190,250,237,139,190,52,48,210,189,52,48,210,61,250,237,139,62,208,37,180,62,9,165,159,62,248,169,42,62,90,241,13,189,205,172,101,190,151,57,173,190,125,61,167,62,210,139,10,62,210,139,10,190,125,61,167,190,125,61,167,190,210,139,10,190,210,139,10,62,125,61,167,62,125,61,167,62,210,139,10,62,210,139,10,190,125,61,167,190,125,61,167,190,210,139,10,190,210,139,10,62,125,61,167,62,9,165,159,62,90,241,13,61,250,237,139,190,151,57,173,190,52,48,210,189,205,172,101,62,208,37,180,62,248,169,42,62,248,169,42,190,208,37,180,190,205,172,101,190,52,48,210,61,151,57,173,62,250,237,139,62,90,241,13,189,9,165,159,190,27,131,150,62,196,66,141,189,135,138,177,190,96,35,73,190,96,35,73,62,135,138,177,62,196,66,141,61,27,131,150,190,27,131,150,190,196,66,141,61,135,138,177,62,96,35,73,62,96,35,73,190,135,138,177,190,196,66,141,189,27,131,150,62,250,237,139,62,248,169,42,190,151,57,173,190,90,241,13,61,208,37,180,62,52,48,210,61,9,165,159,190,205,172,101,190,205,172,101,62,9,165,159,62,52,48,210,189,208,37,180,190,90,241,13,189,151,57,173,62,248,169,42,62,250,237,139,190,22,235,181,64,30,107,94,64,35,164,226,63,185,197,204,63,91,124,113,64,184,115,10,64,116,96,161,63,136,245,142,63,19,155,245,63,0,0,0,0,5,193,35,61,233,125,163,61,37,150,244,61,226,116,34,62,172,28,74,62,221,37,113,62,52,186,139,62,180,119,158,62,228,191,176,62,173,136,194,62,37,201,211,62,24,122,228,62,24,149,244,62,200,10,2,63,28,124,9,63,73,157,16,63,202,109,23,63,192,237,29,63,159,29,36,63,84,254,41,63,46,145,47,63,224,215,52,63,99,212,57,63,240,136,62,63,211,247,66,63,171,35,71,63,23,15,75,63,216,188,78,63,173,47,82,63,106,106,85,63,206,111,88,63,154,66,91,63,142,229,93,63,75,91,96,63,110,166,98,63,100,201,100,63,155,198,102,63,111,160,104,63,247,88,106,63,128,242,107,63,223,110,109,63,11,208,110,63,202,23,112,63,224,71,113,63,225,97,114,63,77,103,115,63,150,89,116,63,12,58,117,63,255,9,118,63,138,202,118,63,187,124,119,63,192,33,120,63,98,186,120,63,157,71,121,63,75,202,121,63,36,67,122,63,242,178,122,63,59,26,123,63,200,121,123,63,32,210,123,63,200,35,124,63,55,111,124,63,242,180,124,63,94,245,124,63,224,48,125,63,236,103,125,63,183,154,125,63,180,201,125,63,6,245,125,63,17,29,126,63,24,66,126,63,78,100,126,63,211,131,126,63,253,160,126,63,237,187,126,63,195,212,126,63,179,235,126,63,239,0,127,63,135,20,127,63,141,38,127,63,67,55,127,63,170,70,127,63,227,84,127,63,15,98,127,63,47,110,127,63,100,121,127,63,190,131,127,63,63,141,127,63,24,150,127,63,56,158,127,63,194,165,127,63,163,172,127,63,16,179,127,63,245,184,127,63,119,190,127,63,114,195,127,63,25,200,127,63,108,204,127,63,91,208,127,63,6,212,127,63,111,215,127,63,131,218,127,63,102,221,127,63,21,224,127,63,130,226,127,63,205,228,127,63,230,230,127,63,205,232,127,63,146,234,127,63,70,236,127,63,200,237,127,63,40,239,127,63,120,240,127,63,166,241,127,63,195,242,127,63,191,243,127,63,186,244,127,63,148,245,127,63,94,246,127,63,39,247,127,63,207,247,127,63,119,248,127,63,253,248,127,63,148,249,127,63,9,250,127,63,127,250,127,63,244,250,127,63,89,251,127,63,173,251,127,63,1,252,127,63,84,252,127,63,152,252,127,63,219,252,127,63,30,253,127,63,80,253,127,63,130,253,127,63,181,253,127,63,231,253,127,63,9,254,127,63,59,254,127,63,93,254,127,63,126,254,127,63,143,254,127,63,176,254,127,63,210,254,127,63,227,254,127,63,244,254,127,63,21,255,127,63,38,255,127,63,55,255,127,63,71,255,127,63,88,255,127,63,88,255,127,63,105,255,127,63,122,255,127,63,122,255,127,63,139,255,127,63,155,255,127,63,155,255,127,63,155,255,127,63,172,255,127,63,172,255,127,63,189,255,127,63,189,255,127,63,189,255,127,63,206,255,127,63,206,255,127,63,206,255,127,63,206,255,127,63,206,255,127,63,222,255,127,63,222,255,127,63,222,255,127,63,222,255,127,63,222,255,127,63,222,255,127,63,239,255,127,63,239,255,127,63,239,255,127,63,239,255,127,63,239,255,127,63,239,255,127,63,239,255,127,63,239,255,127,63,239,255,127,63,239,255,127,63,239,255,127,63,239,255,127,63,239,255,127,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,92,201,154,191,92,181,225,188,29,102,249,60,41,7,147,189,76,199,183,189,254,214,206,61,107,200,73,189,213,203,143,61,162,63,153,60,131,208,139,59,7,3,132,61,170,154,224,189,251,30,245,189,156,141,17,188,11,14,47,62,98,192,50,62,25,231,135,190,14,59,130,189,104,203,145,190,133,66,136,191,57,185,79,62,205,228,19,64,254,212,48,192,107,127,215,190,71,229,50,63,144,218,206,64,190,165,135,61,26,70,155,61,241,153,81,61,23,176,46,61,228,249,236,61,194,18,135,190,137,197,57,188,107,74,66,190,44,114,190,189,15,94,147,190,234,136,189,61,164,240,234,60,161,171,163,188,103,180,69,190,98,101,132,62,179,149,151,60,242,210,237,61,140,77,203,61,221,29,0,188,97,51,136,190,116,69,145,62,227,199,40,65,110,133,40,191,198,53,86,63,106,222,81,65,36,209,160,192,56,103,140,191,137,42,151,189,64,184,167,60,103,126,53,60,37,104,2,187,152,220,139,59,239,146,24,62,41,174,154,61,238,207,229,61,197,96,84,189,236,162,232,60,105,97,197,60,53,77,78,189,26,24,25,190,227,199,8,190,182,159,12,190,150,33,238,61,117,202,115,62,250,97,164,61,125,168,30,61,218,27,188,61,180,142,129,64,129,149,79,64,2,43,55,191,225,93,2,65,218,44,239,193,246,40,148,63,255,147,255,189,102,233,185,60,124,187,64,189,90,0,9,189,207,206,19,61,20,106,55,61,121,110,41,187,165,84,157,188,137,151,231,189,90,72,224,61,75,81,51,189,51,156,28,61,194,238,34,188,128,99,31,190,82,12,48,62,141,123,99,190,91,8,6,191,166,34,58,189,54,144,14,191,23,244,66,63,23,217,44,192,69,13,98,191,113,29,99,63,107,15,63,63,168,25,186,190,127,137,184,62,66,91,14,61,15,97,124,188,56,153,225,59,58,135,27,188,169,33,128,61,86,182,79,189,178,164,23,61,110,10,117,60,67,86,119,61,71,94,145,189,118,138,21,189,47,196,202,61,104,185,34,189,150,10,146,62,113,231,2,62,77,45,27,190,59,29,136,62,111,117,170,189,14,67,85,61,140,214,101,63,202,224,224,62,144,131,64,192,163,1,248,63,103,68,209,190,54,172,153,62,227,194,181,191,69,74,243,61,178,70,61,189,146,230,79,61,22,83,196,188,77,235,128,189,165,98,8,188,160,53,223,189,183,222,5,189,46,143,213,61,96,168,136,189,8,242,66,61,75,175,141,61,63,127,107,189,121,33,13,190,10,242,83,190,129,236,37,190,88,114,85,190,45,39,17,62,57,41,148,190,154,153,73,191,163,146,186,61,240,50,51,62,10,46,2,192,198,80,68,64,133,124,156,63,95,210,6,64,48,139,159,61,171,63,98,190,60,106,12,62,216,26,128,189,100,118,150,189,195,14,51,62,84,195,14,190,131,32,198,61,103,30,170,61,167,7,101,190,13,250,210,61,147,139,209,189,146,6,103,62,123,20,30,62,83,93,64,62,22,226,15,188,77,188,3,62,60,50,190,190,86,68,245,190,73,76,32,62,106,48,141,63,196,124,161,191,19,13,178,61,28,181,18,190,57,185,11,64,18,218,56,192,38,27,207,61,119,219,157,190,203,101,99,62,140,44,105,190,51,31,12,188,188,93,47,60,26,189,253,59,149,207,151,188,8,181,250,60,252,55,111,190,62,86,165,61,13,54,245,188,175,150,27,62,31,19,137,190,22,143,70,61,87,93,7,62,150,148,107,190,235,59,183,62,168,114,154,61,167,149,226,61,103,155,163,191,174,216,83,64,156,192,84,63,188,118,89,190,203,161,165,193,252,24,147,191,62,46,0,61,22,207,170,188,109,194,3,188,13,228,52,60,76,23,226,60,94,191,253,58,3,71,93,188,3,132,201,187,99,6,79,61,150,27,49,188,190,138,88,58,58,177,199,188,119,103,165,190,169,211,139,61,238,8,15,191,175,7,211,189,41,34,51,62,108,152,1,190,136,13,214,189,43,79,216,62,52,234,139,189,171,91,185,191,106,189,51,63,173,78,54,63,236,24,215,190,201,60,38,64,232,221,243,188,27,145,57,189,185,75,7,189,85,29,13,189,165,90,213,188,35,17,122,189,144,195,187,61,245,244,209,60,72,108,215,189,184,241,157,61,150,18,184,189,131,161,62,190,154,92,164,190,4,27,103,190,120,11,52,62,56,129,129,62,107,40,61,63,2,212,26,64,153,129,234,61,4,200,160,190,198,164,27,63,129,178,221,63,87,38,6,192,164,253,27,191,240,80,152,63,51,53,233,61,233,239,53,190,169,237,160,189,98,49,178,190,76,105,194,189,155,132,156,188,254,240,171,62,96,4,109,189,194,104,6,62,43,18,243,189,64,75,7,190,254,95,117,190,119,167,65,58,2,102,62,190,146,232,5,190,239,116,223,190,94,16,17,190,187,191,16,61,20,198,91,189,132,137,197,189,111,45,99,62,109,168,248,63,76,137,228,191,91,211,116,64,35,190,111,64,182,185,23,64,227,170,182,191,215,183,61,61,62,230,104,189,170,229,88,61,29,114,211,189,226,147,174,190,198,194,208,61,79,145,79,191,195,98,52,62,3,119,240,62,144,222,203,60,19,213,219,189,99,71,19,190,169,61,59,189,229,122,71,63,75,144,17,190,9,129,33,61,106,161,36,62,200,38,53,191,91,181,27,191,126,24,137,63,124,155,162,191,249,189,17,64,54,205,203,64,10,20,5,63,165,73,85,192,70,122,1,190,179,80,193,189,15,198,217,60,14,62,126,61,52,147,57,60,169,249,130,190,29,176,150,189,125,219,130,189,206,112,195,189,88,226,81,190,21,24,149,59,62,81,99,61,5,105,38,190,235,230,18,191,183,124,132,62,140,185,75,62,61,164,179,60,75,230,192,190,43,50,2,191,22,24,157,189,25,142,39,191,248,165,143,64,103,237,88,64,227,25,22,192,193,57,49,193,167,116,139,64,15,127,213,63,227,129,82,189,253,114,140,189,204,192,55,188,190,157,243,57,254,123,112,190,116,92,173,190,227,167,17,190,212,126,43,190,24,177,15,190,150,176,214,189,48,100,213,189,144,204,52,60,123,190,230,189,57,165,178,61,42,224,46,190,69,155,179,189,224,157,252,61,43,133,32,190,158,208,75,62,116,208,101,189,126,54,102,63,242,249,167,61,143,194,165,191,164,231,241,60,55,166,17,64,235,228,112,191,169,2,36,188,156,111,228,189,154,93,7,190,171,9,226,189,126,29,24,61,207,152,147,188,19,0,45,188,234,106,161,60,33,229,39,61,192,163,92,189,78,155,209,189,224,208,64,189,139,78,54,62,105,25,137,190,231,167,216,189,95,207,215,189,194,73,127,61,52,190,47,189,194,195,52,62,247,234,35,190,168,58,18,192,101,141,246,191,116,98,95,62,180,188,26,65,146,116,83,64,160,55,225,191,122,200,4,62,228,73,242,61,246,36,16,62,235,223,138,61,12,62,77,59,137,205,108,188,56,33,254,188,96,209,200,188,25,60,12,62,132,189,25,62,45,11,230,61,121,161,154,189,35,221,143,190,130,83,127,190,19,129,46,191,240,31,1,61,12,6,151,62,139,187,38,61,202,197,144,62,4,57,176,190,69,129,234,192,30,81,97,190,142,119,15,191,191,154,239,191,3,62,227,192,179,210,8,65,196,66,5,64,192,93,118,62,189,24,162,63,174,156,253,60,179,152,140,191,122,142,92,63,186,189,196,191,106,106,137,63,198,138,140,64,99,180,38,192,82,12,192,62,126,200,251,61,169,231,85,59,40,244,70,63,137,7,2,192,108,206,113,191,82,242,128,64,216,127,133,190,63,111,14,63,148,220,97,190,2,183,226,191,40,212,91,191,230,150,194,191,215,190,72,191,25,32,177,62,201,21,72,189,50,146,165,190,160,168,64,191,202,112,4,63,170,96,96,63,69,100,184,191,174,185,195,190,108,236,198,191,0,0,128,63,0,0,0,64,0,0,64,64,0,0,128,64,0,0,160,64,0,0,192,64,0,0,224,64,0,0,0,65,0,0,128,65,0,0,192,65,0,0,16,66,0,0,48,66,0,0,72,66,0,0,96,66,0,0,120,66,0,0,134,66,0,0,144,66,0,0,158,66,0,0,176,66,0,0,212,66,0,0,6,67,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,64,64,0,0,64,64,0,0,128,64,0,0,160,64,0,0,192,64,0,0,0,65,0,0,0,65,149,139,0,0,55,152,0,0,255,165,0,0,4,181,0,0,103,197,0,0,69,215,0,0,193,234,0,0,255,255,0,0,128,187,0,0,120,0,0,0,21,0,0,0,21,0,0,0,0,154,89,63,0,0,0,0,0,0,128,63,0,0,128,63,220,90,0,0,3,0,0,0,8,0,0,0,120,0,0,0,11,0,0,0,58,110,0,0,8,91,0,0,36,21,0,0,128,7,0,0,3,0,0,0,4,23,0,0,60,38,0,0,116,38,0,0,172,38,0,0,228,38,0,0,136,1,0,0,58,98,0,0,33,111,0,0,169,112,0,0,106,28,141,56,82,187,30,58,8,105,220,58,130,237,87,59,137,99,178,59,3,42,5,60,48,220,57,60,180,62,119,60,28,163,158,60,209,242,197,60,254,134,241,60,155,171,16,61,5,173,42,61,132,194,70,61,83,230,100,61,17,137,130,61,135,159,147,61,203,178,165,61,209,190,184,61,58,191,204,61,84,175,225,61,20,138,247,61,14,37,7,62,217,244,18,62,95,49,31,62,104,215,43,62,138,227,56,62,48,82,70,62,148,31,84,62,191,71,98,62,142,198,112,62,176,151,127,62,82,91,135,62,96,15,143,62,152,229,150,62,121,219,158,62,112,238,166,62,216,27,175,62,251,96,183,62,17,187,191,62,70,39,200,62,183,162,208,62,120,42,217,62,148,187,225,62,12,83,234,62,222,237,242,62,6,137,251,62,190,16,2,63,31,90,6,63,36,159,10,63,80,222,14,63,43,22,19,63,65,69,23,63,37,106,27,63,115,131,31,63,206,143,35,63,230,141,39,63,116,124,43,63,63,90,47,63,25,38,51,63,231,222,54,63,153,131,58,63,51,19,62,63,197,140,65,63,119,239,68,63,127,58,72,63,39,109,75,63,206,134,78,63,229,134,81,63,241,108,84,63,142,56,87,63,105,233,89,63,69,127,92,63,250,249,94,63,115,89,97,63,175,157,99,63,193,198,101,63,207,212,103,63,17,200,105,63,210,160,107,63,110,95,109,63,80,4,111,63,244,143,112,63,230,2,114,63,189,93,115,63,31,161,116,63,191,205,117,63,87,228,118,63,176,229,119,63,151,210,120,63,227,171,121,63,115,114,122,63,39,39,123,63,231,202,123,63,157,94,124,63,53,227,124,63,156,89,125,63,189,194,125,63,134,31,126,63,222,112,126,63,171,183,126,63,207,244,126,63,38,41,127,63,134,85,127,63,190,122,127,63,150,153,127,63,204,178,127,63,20,199,127,63,28,215,127,63,130,227,127,63,221,236,127,63,182,243,127,63,138,248,127,63,200,251,127,63,214,253,127,63,7,255,127,63,165,255,127,63,232,255,127,63,253,255,127,63,0,0,128,63,224,1,0,0,135,136,8,59,255,255,255,255,5,0,96,0,3,0,32,0,4,0,8,0,2,0,4,0,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,50,91,0,0,60,23,0,0,0,0,0,0,0,0,128,63,0,0,0,128,99,250,127,63,191,117,86,188,139,233,127,63,10,113,214,188,121,205,127,63,231,206,32,189,47,166,127,63,58,94,86,189,175,115,127,63,19,242,133,189,249,53,127,63,42,175,160,189,18,237,126,63,51,101,187,189,253,152,126,63,4,19,214,189,188,57,126,63,115,183,240,189,85,207,125,63,168,168,5,190,203,89,125,63,187,239,18,190,37,217,124,63,92,48,32,190,103,77,124,63,245,105,45,190,152,182,123,63,243,155,58,190,190,20,123,63,194,197,71,190,226,103,122,63,205,230,84,190,9,176,121,63,130,254,97,190,60,237,120,63,77,12,111,190,132,31,120,63,156,15,124,190,234,70,119,63,238,131,132,190,119,99,118,63,62,250,138,190,54,117,117,63,117,106,145,190,48,124,116,63,76,212,151,190,113,120,115,63,122,55,158,190,3,106,114,63,183,147,164,190,244,80,113,63,188,232,170,190,79,45,112,63,65,54,177,190,33,255,110,63,1,124,183,190,118,198,109,63,180,185,189,190,94,131,108,63,21,239,195,190,231,53,107,63,222,27,202,190,30,222,105,63,201,63,208,190,18,124,104,63,146,90,214,190,212,15,103,63,243,107,220,190,116,153,101,63,170,115,226,190,1,25,100,63,113,113,232,190,141,142,98,63,7,101,238,190,40,250,96,63,39,78,244,190,230,91,95,63,144,44,250,190,215,179,93,63,0,0,0,191,15,2,92,63,27,228,2,191,160,70,90,63,119,194,5,191,158,129,88,63,246,154,8,191,29,179,86,63,119,109,11,191,49,219,84,63,218,57,14,191,239,249,82,63,0,0,17,191,108,15,81,63,202,191,19,191,189,27,79,63,24,121,22,191,248,30,77,63,205,43,25,191,52,25,75,63,202,215,27,191,136,10,73,63,241,124,30,191,10,243,70,63,36,27,33,191,209,210,68,63,70,178,35,191,247,169,66,63,58,66,38,191,147,120,64,63,227,202,40,191,189,62,62,63,37,76,43,191,143,252,59,63,227,197,45,191,34,178,57,63,1,56,48,191,144,95,55,63,101,162,50,191,243,4,53,63,243,4,53,191,101,162,50,63,144,95,55,191,1,56,48,63,34,178,57,191,227,197,45,63,143,252,59,191,37,76,43,63,189,62,62,191,227,202,40,63,147,120,64,191,58,66,38,63,247,169,66,191,70,178,35,63,209,210,68,191,36,27,33,63,10,243,70,191,241,124,30,63,136,10,73,191,202,215,27,63,52,25,75,191,205,43,25,63,248,30,77,191,24,121,22,63,189,27,79,191,202,191,19,63,108,15,81,191,0,0,17,63,239,249,82,191,218,57,14,63,49,219,84,191,119,109,11,63,29,179,86,191,246,154,8,63,158,129,88,191,119,194,5,63,160,70,90,191,27,228,2,63,15,2,92,191,0,0,0,63,215,179,93,191,144,44,250,62,230,91,95,191,39,78,244,62,40,250,96,191,7,101,238,62,141,142,98,191,113,113,232,62,1,25,100,191,170,115,226,62,116,153,101,191,243,107,220,62,212,15,103,191,146,90,214,62,18,124,104,191,201,63,208,62,30,222,105,191,222,27,202,62,231,53,107,191,21,239,195,62,94,131,108,191,180,185,189,62,118,198,109,191,1,124,183,62,33,255,110,191,65,54,177,62,79,45,112,191,188,232,170,62,244,80,113,191,183,147,164,62,3,106,114,191,122,55,158,62,113,120,115,191,76,212,151,62,48,124,116,191,117,106,145,62,54,117,117,191,62,250,138,62,119,99,118,191,238,131,132,62,234,70,119,191,156,15,124,62,132,31,120,191,77,12,111,62,60,237,120,191,130,254,97,62,9,176,121,191,205,230,84,62,226,103,122,191,194,197,71,62,190,20,123,191,243,155,58,62,152,182,123,191,245,105,45,62,103,77,124,191,92,48,32,62,37,217,124,191,187,239,18,62,203,89,125,191,168,168,5,62,85,207,125,191,115,183,240,61,188,57,126,191,4,19,214,61,253,152,126,191,51,101,187,61,18,237,126,191,42,175,160,61,249,53,127,191,19,242,133,61,175,115,127,191,58,94,86,61,47,166,127,191,231,206,32,61,121,205,127,191,10,113,214,60,139,233,127,191,191,117,86,60,99,250,127,191,0,48,141,36,0,0,128,191,191,117,86,188,99,250,127,191,10,113,214,188,139,233,127,191,231,206,32,189,121,205,127,191,58,94,86,189,47,166,127,191,19,242,133,189,175,115,127,191,42,175,160,189,249,53,127,191,51,101,187,189,18,237,126,191,4,19,214,189,253,152,126,191,115,183,240,189,188,57,126,191,168,168,5,190,85,207,125,191,187,239,18,190,203,89,125,191,92,48,32,190,37,217,124,191,245,105,45,190,103,77,124,191,243,155,58,190,152,182,123,191,194,197,71,190,190,20,123,191,205,230,84,190,226,103,122,191,130,254,97,190,9,176,121,191,77,12,111,190,60,237,120,191,156,15,124,190,132,31,120,191,238,131,132,190,234,70,119,191,62,250,138,190,119,99,118,191,117,106,145,190,54,117,117,191,76,212,151,190,48,124,116,191,122,55,158,190,113,120,115,191,183,147,164,190,3,106,114,191,188,232,170,190,244,80,113,191,65,54,177,190,79,45,112,191,1,124,183,190,33,255,110,191,180,185,189,190,118,198,109,191,21,239,195,190,94,131,108,191,222,27,202,190,231,53,107,191,201,63,208,190,30,222,105,191,146,90,214,190,18,124,104,191,243,107,220,190,212,15,103,191,170,115,226,190,116,153,101,191,113,113,232,190,1,25,100,191,7,101,238,190,141,142,98,191,39,78,244,190,40,250,96,191,144,44,250,190,230,91,95,191,0,0,0,191,215,179,93,191,27,228,2,191,15,2,92,191,119,194,5,191,160,70,90,191,246,154,8,191,158,129,88,191,119,109,11,191,29,179,86,191,218,57,14,191,49,219,84,191,0,0,17,191,239,249,82,191,202,191,19,191,108,15,81,191,24,121,22,191,189,27,79,191,205,43,25,191,248,30,77,191,202,215,27,191,52,25,75,191,241,124,30,191,136,10,73,191,36,27,33,191,10,243,70,191,70,178,35,191,209,210,68,191,58,66,38,191,247,169,66,191,227,202,40,191,147,120,64,191,37,76,43,191,189,62,62,191,227,197,45,191,143,252,59,191,1,56,48,191,34,178,57,191,101,162,50,191,144,95,55,191,243,4,53,191,243,4,53,191,144,95,55,191,101,162,50,191,34,178,57,191,1,56,48,191,143,252,59,191,227,197,45,191,189,62,62,191,37,76,43,191,147,120,64,191,227,202,40,191,247,169,66,191,58,66,38,191,209,210,68,191,70,178,35,191,10,243,70,191,36,27,33,191,136,10,73,191,241,124,30,191,52,25,75,191,202,215,27,191,248,30,77,191,205,43,25,191,189,27,79,191,24,121,22,191,108,15,81,191,202,191,19,191,239,249,82,191,0,0,17,191,49,219,84,191,218,57,14,191,29,179,86,191,119,109,11,191,158,129,88,191,246,154,8,191,160,70,90,191,119,194,5,191,15,2,92,191,27,228,2,191,215,179,93,191,0,0,0,191,230,91,95,191,144,44,250,190,40,250,96,191,39,78,244,190,141,142,98,191,7,101,238,190,1,25,100,191,113,113,232,190,116,153,101,191,170,115,226,190,212,15,103,191,243,107,220,190,18,124,104,191,146,90,214,190,30,222,105,191,201,63,208,190,231,53,107,191,222,27,202,190,94,131,108,191,21,239,195,190,118,198,109,191,180,185,189,190,33,255,110,191,1,124,183,190,79,45,112,191,65,54,177,190,244,80,113,191,188,232,170,190,3,106,114,191,183,147,164,190,113,120,115,191,122,55,158,190,48,124,116,191,76,212,151,190,54,117,117,191,117,106,145,190,119,99,118,191,62,250,138,190,234,70,119,191,238,131,132,190,132,31,120,191,156,15,124,190,60,237,120,191,77,12,111,190,9,176,121,191,130,254,97,190,226,103,122,191,205,230,84,190,190,20,123,191,194,197,71,190,152,182,123,191,243,155,58,190,103,77,124,191,245,105,45,190,37,217,124,191,92,48,32,190,203,89,125,191,187,239,18,190,85,207,125,191,168,168,5,190,188,57,126,191,115,183,240,189,253,152,126,191,4,19,214,189,18,237,126,191,51,101,187,189,249,53,127,191,42,175,160,189,175,115,127,191,19,242,133,189,47,166,127,191,58,94,86,189,121,205,127,191,231,206,32,189,139,233,127,191,10,113,214,188,99,250,127,191,191,117,86,188,0,0,128,191,0,48,13,165,99,250,127,191,191,117,86,60,139,233,127,191,10,113,214,60,121,205,127,191,231,206,32,61,47,166,127,191,58,94,86,61,175,115,127,191,19,242,133,61,249,53,127,191,42,175,160,61,18,237,126,191,51,101,187,61,253,152,126,191,4,19,214,61,188,57,126,191,115,183,240,61,85,207,125,191,168,168,5,62,203,89,125,191,187,239,18,62,37,217,124,191,92,48,32,62,103,77,124,191,245,105,45,62,152,182,123,191,243,155,58,62,190,20,123,191,194,197,71,62,226,103,122,191,205,230,84,62,9,176,121,191,130,254,97,62,60,237,120,191,77,12,111,62,132,31,120,191,156,15,124,62,234,70,119,191,238,131,132,62,119,99,118,191,62,250,138,62,54,117,117,191,117,106,145,62,48,124,116,191,76,212,151,62,113,120,115,191,122,55,158,62,3,106,114,191,183,147,164,62,244,80,113,191,188,232,170,62,79,45,112,191,65,54,177,62,33,255,110,191,1,124,183,62,118,198,109,191,180,185,189,62,94,131,108,191,21,239,195,62,231,53,107,191,222,27,202,62,30,222,105,191,201,63,208,62,18,124,104,191,146,90,214,62,212,15,103,191,243,107,220,62,116,153,101,191,170,115,226,62,1,25,100,191,113,113,232,62,141,142,98,191,7,101,238,62,40,250,96,191,39,78,244,62,230,91,95,191,144,44,250,62,215,179,93,191,0,0,0,63,15,2,92,191,27,228,2,63,160,70,90,191,119,194,5,63,158,129,88,191,246,154,8,63,29,179,86,191,119,109,11,63,49,219,84,191,218,57,14,63,239,249,82,191,0,0,17,63,108,15,81,191,202,191,19,63,189,27,79,191,24,121,22,63,248,30,77,191,205,43,25,63,52,25,75,191,202,215,27,63,136,10,73,191,241,124,30,63,10,243,70,191,36,27,33,63,209,210,68,191,70,178,35,63,247,169,66,191,58,66,38,63,147,120,64,191,227,202,40,63,189,62,62,191,37,76,43,63,143,252,59,191,227,197,45,63,34,178,57,191,1,56,48,63,144,95,55,191,101,162,50,63,243,4,53,191,243,4,53,63,101,162,50,191,144,95,55,63,1,56,48,191,34,178,57,63,227,197,45,191,143,252,59,63,37,76,43,191,189,62,62,63,227,202,40,191,147,120,64,63,58,66,38,191,247,169,66,63,70,178,35,191,209,210,68,63,36,27,33,191,10,243,70,63,241,124,30,191,136,10,73,63,202,215,27,191,52,25,75,63,205,43,25,191,248,30,77,63,24,121,22,191,189,27,79,63,202,191,19,191,108,15,81,63,0,0,17,191,239,249,82,63,218,57,14,191,49,219,84,63,119,109,11,191,29,179,86,63,246,154,8,191,158,129,88,63,119,194,5,191,160,70,90,63,27,228,2,191,15,2,92,63,0,0,0,191,215,179,93,63,144,44,250,190,230,91,95,63,39,78,244,190,40,250,96,63,7,101,238,190,141,142,98,63,113,113,232,190,1,25,100,63,170,115,226,190,116,153,101,63,243,107,220,190,212,15,103,63,146,90,214,190,18,124,104,63,201,63,208,190,30,222,105,63,222,27,202,190,231,53,107,63,21,239,195,190,94,131,108,63,180,185,189,190,118,198,109,63,1,124,183,190,33,255,110,63,65,54,177,190,79,45,112,63,188,232,170,190,244,80,113,63,183,147,164,190,3,106,114,63,122,55,158,190,113,120,115,63,76,212,151,190,48,124,116,63,117,106,145,190,54,117,117,63,62,250,138,190,119,99,118,63,238,131,132,190,234,70,119,63,156,15,124,190,132,31,120,63,77,12,111,190,60,237,120,63,130,254,97,190,9,176,121,63,205,230,84,190,226,103,122,63,194,197,71,190,190,20,123,63,243,155,58,190,152,182,123,63,245,105,45,190,103,77,124,63,92,48,32,190,37,217,124,63,187,239,18,190,203,89,125,63,168,168,5,190,85,207,125,63,115,183,240,189,188,57,126,63,4,19,214,189,253,152,126,63,51,101,187,189,18,237,126,63,42,175,160,189,249,53,127,63,19,242,133,189,175,115,127,63,58,94,86,189,47,166,127,63,231,206,32,189,121,205,127,63,10,113,214,188,139,233,127,63,191,117,86,188,99,250,127,63,0,200,83,165,0,0,128,63,191,117,86,60,99,250,127,63,10,113,214,60,139,233,127,63,231,206,32,61,121,205,127,63,58,94,86,61,47,166,127,63,19,242,133,61,175,115,127,63,42,175,160,61,249,53,127,63,51,101,187,61,18,237,126,63,4,19,214,61,253,152,126,63,115,183,240,61,188,57,126,63,168,168,5,62,85,207,125,63,187,239,18,62,203,89,125,63,92,48,32,62,37,217,124,63,245,105,45,62,103,77,124,63,243,155,58,62,152,182,123,63,194,197,71,62,190,20,123,63,205,230,84,62,226,103,122,63,130,254,97,62,9,176,121,63,77,12,111,62,60,237,120,63,156,15,124,62,132,31,120,63,238,131,132,62,234,70,119,63,62,250,138,62,119,99,118,63,117,106,145,62,54,117,117,63,76,212,151,62,48,124,116,63,122,55,158,62,113,120,115,63,183,147,164,62,3,106,114,63,188,232,170,62,244,80,113,63,65,54,177,62,79,45,112,63,1,124,183,62,33,255,110,63,180,185,189,62,118,198,109,63,21,239,195,62,94,131,108,63,222,27,202,62,231,53,107,63,201,63,208,62,30,222,105,63,146,90,214,62,18,124,104,63,243,107,220,62,212,15,103,63,170,115,226,62,116,153,101,63,113,113,232,62,1,25,100,63,7,101,238,62,141,142,98,63,39,78,244,62,40,250,96,63,144,44,250,62,230,91,95,63,0,0,0,63,215,179,93,63,27,228,2,63,15,2,92,63,119,194,5,63,160,70,90,63,246,154,8,63,158,129,88,63,119,109,11,63,29,179,86,63,218,57,14,63,49,219,84,63,0,0,17,63,239,249,82,63,202,191,19,63,108,15,81,63,24,121,22,63,189,27,79,63,205,43,25,63,248,30,77,63,202,215,27,63,52,25,75,63,241,124,30,63,136,10,73,63,36,27,33,63,10,243,70,63,70,178,35,63,209,210,68,63,58,66,38,63,247,169,66,63,227,202,40,63,147,120,64,63,37,76,43,63,189,62,62,63,227,197,45,63,143,252,59,63,1,56,48,63,34,178,57,63,101,162,50,63,144,95,55,63,243,4,53,63,243,4,53,63,144,95,55,63,101,162,50,63,34,178,57,63,1,56,48,63,143,252,59,63,227,197,45,63,189,62,62,63,37,76,43,63,147,120,64,63,227,202,40,63,247,169,66,63,58,66,38,63,209,210,68,63,70,178,35,63,10,243,70,63,36,27,33,63,136,10,73,63,241,124,30,63,52,25,75,63,202,215,27,63,248,30,77,63,205,43,25,63,189,27,79,63,24,121,22,63,108,15,81,63,202,191,19,63,239,249,82,63,0,0,17,63,49,219,84,63,218,57,14,63,29,179,86,63,119,109,11,63,158,129,88,63,246,154,8,63,160,70,90,63,119,194,5,63,15,2,92,63,27,228,2,63,215,179,93,63,0,0,0,63,230,91,95,63,144,44,250,62,40,250,96,63,39,78,244,62,141,142,98,63,7,101,238,62,1,25,100,63,113,113,232,62,116,153,101,63,170,115,226,62,212,15,103,63,243,107,220,62,18,124,104,63,146,90,214,62,30,222,105,63,201,63,208,62,231,53,107,63,222,27,202,62,94,131,108,63,21,239,195,62,118,198,109,63,180,185,189,62,33,255,110,63,1,124,183,62,79,45,112,63,65,54,177,62,244,80,113,63,188,232,170,62,3,106,114,63,183,147,164,62,113,120,115,63,122,55,158,62,48,124,116,63,76,212,151,62,54,117,117,63,117,106,145,62,119,99,118,63,62,250,138,62,234,70,119,63,238,131,132,62,132,31,120,63,156,15,124,62,60,237,120,63,77,12,111,62,9,176,121,63,130,254,97,62,226,103,122,63,205,230,84,62,190,20,123,63,194,197,71,62,152,182,123,63,243,155,58,62,103,77,124,63,245,105,45,62,37,217,124,63,92,48,32,62,203,89,125,63,187,239,18,62,85,207,125,63,168,168,5,62,188,57,126,63,115,183,240,61,253,152,126,63,4,19,214,61,18,237,126,63,51,101,187,61,249,53,127,63,42,175,160,61,175,115,127,63,19,242,133,61,47,166,127,63,58,94,86,61,121,205,127,63,231,206,32,61,139,233,127,63,10,113,214,60,99,250,127,63,191,117,86,60,240,0,0,0,137,136,136,59,1,0,0,0,5,0,48,0,3,0,16,0,4,0,4,0,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,242,94,0,0,60,23,0,0,0,0,0,0,120,0,0,0,136,136,8,60,2,0,0,0,5,0,24,0,3,0,8,0,2,0,4,0,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,210,96,0,0,60,23,0,0,0,0,0,0,60,0,0,0,137,136,136,60,3,0,0,0,5,0,12,0,3,0,4,0,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,194,97,0,0,60,23,0,0,0,0,0,0,255,255,127,63,142,255,127,63,106,254,127,63,147,252,127,63,7,250,127,63,200,246,127,63,214,242,127,63,48,238,127,63,214,232,127,63,200,226,127,63,7,220,127,63,147,212,127,63,107,204,127,63,143,195,127,63,0,186,127,63,189,175,127,63,199,164,127,63,29,153,127,63,192,140,127,63,176,127,127,63,236,113,127,63,118,99,127,63,75,84,127,63,110,68,127,63,222,51,127,63,154,34,127,63,163,16,127,63,250,253,126,63,157,234,126,63,141,214,126,63,203,193,126,63,86,172,126,63,46,150,126,63,83,127,126,63,198,103,126,63,134,79,126,63,148,54,126,63,239,28,126,63,152,2,126,63,143,231,125,63,211,203,125,63,102,175,125,63,70,146,125,63,116,116,125,63,241,85,125,63,188,54,125,63,213,22,125,63,60,246,124,63,242,212,124,63,246,178,124,63,73,144,124,63,235,108,124,63,219,72,124,63,27,36,124,63,169,254,123,63,135,216,123,63,180,177,123,63,48,138,123,63,252,97,123,63,23,57,123,63,130,15,123,63,61,229,122,63,72,186,122,63,162,142,122,63,77,98,122,63,72,53,122,63,148,7,122,63,48,217,121,63,29,170,121,63,90,122,121,63,233,73,121,63,200,24,121,63,249,230,120,63],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE),
allocate([123,180,120,63,78,129,120,63,115,77,120,63,234,24,120,63,178,227,119,63,205,173,119,63,58,119,119,63,249,63,119,63,10,8,119,63,110,207,118,63,37,150,118,63,47,92,118,63,140,33,118,63,60,230,117,63,64,170,117,63,151,109,117,63,66,48,117,63,65,242,116,63,148,179,116,63,59,116,116,63,55,52,116,63,135,243,115,63,44,178,115,63,38,112,115,63,118,45,115,63,26,234,114,63,20,166,114,63,100,97,114,63,10,28,114,63,5,214,113,63,87,143,113,63,0,72,113,63,255,255,112,63,85,183,112,63,2,110,112,63,6,36,112,63,98,217,111,63,21,142,111,63,32,66,111,63,132,245,110,63,63,168,110,63,83,90,110,63,192,11,110,63,134,188,109,63,165,108,109,63,29,28,109,63,239,202,108,63,27,121,108,63,161,38,108,63,128,211,107,63,187,127,107,63,80,43,107,63,64,214,106,63,140,128,106,63,50,42,106,63,53,211,105,63,147,123,105,63,77,35,105,63,100,202,104,63,216,112,104,63,168,22,104,63,213,187,103,63,96,96,103,63,72,4,103,63,143,167,102,63,51,74,102,63,54,236,101,63,151,141,101,63,87,46,101,63,119,206,100,63,245,109,100,63,212,12,100,63,18,171,99,63,177,72,99,63,176,229,98,63,16,130,98,63,209,29,98,63,243,184,97,63,119,83,97,63,92,237,96,63,164,134,96,63,78,31,96,63,91,183,95,63,203,78,95,63,158,229,94,63,213,123,94,63,112,17,94,63,110,166,93,63,210,58,93,63,154,206,92,63,198,97,92,63,89,244,91,63,81,134,91,63,174,23,91,63,114,168,90,63,157,56,90,63,46,200,89,63,39,87,89,63,135,229,88,63,79,115,88,63,127,0,88,63,23,141,87,63,24,25,87,63,130,164,86,63,86,47,86,63,147,185,85,63,58,67,85,63,75,204,84,63,199,84,84,63,174,220,83,63,1,100,83,63,191,234,82,63,233,112,82,63,127,246,81,63,130,123,81,63,242,255,80,63,207,131,80,63,26,7,80,63,210,137,79,63,250,11,79,63,144,141,78,63,148,14,78,63,9,143,77,63,237,14,77,63,65,142,76,63,5,13,76,63,59,139,75,63,225,8,75,63,249,133,74,63,131,2,74,63,127,126,73,63,238,249,72,63,207,116,72,63,36,239,71,63,237,104,71,63,41,226,70,63,218,90,70,63,0,211,69,63,155,74,69,63,172,193,68,63,50,56,68,63,47,174,67,63,162,35,67,63,141,152,66,63,239,12,66,63,200,128,65,63,26,244,64,63,229,102,64,63,40,217,63,63,229,74,63,63,27,188,62,63,204,44,62,63,247,156,61,63,157,12,61,63,190,123,60,63,92,234,59,63,117,88,59,63,10,198,58,63,29,51,58,63,173,159,57,63,187,11,57,63,71,119,56,63,81,226,55,63,218,76,55,63,227,182,54,63,107,32,54,63,116,137,53,63,253,241,52,63,7,90,52,63,147,193,51,63,160,40,51,63,48,143,50,63,66,245,49,63,216,90,49,63,241,191,48,63,142,36,48,63,175,136,47,63,85,236,46,63,129,79,46,63,50,178,45,63,105,20,45,63,39,118,44,63,107,215,43,63,55,56,43,63,139,152,42,63,103,248,41,63,204,87,41,63,186,182,40,63,50,21,40,63,51,115,39,63,191,208,38,63,214,45,38,63,121,138,37,63,167,230,36,63,97,66,36,63,169,157,35,63,125,248,34,63,223,82,34,63,207,172,33,63,77,6,33,63,91,95,32,63,248,183,31,63,37,16,31,63,226,103,30,63,48,191,29,63,16,22,29,63,129,108,28,63,132,194,27,63,26,24,27,63,67,109,26,63,0,194,25,63,81,22,25,63,54,106,24,63,177,189,23,63,193,16,23,63,103,99,22,63,163,181,21,63,118,7,21,63,225,88,20,63,228,169,19,63,127,250,18,63,179,74,18,63,128,154,17,63,231,233,16,63,232,56,16,63,132,135,15,63,187,213,14,63,142,35,14,63,254,112,13,63,10,190,12,63,179,10,12,63,250,86,11,63,223,162,10,63,99,238,9,63,134,57,9,63,73,132,8,63,172,206,7,63,175,24,7,63,84,98,6,63,155,171,5,63,131,244,4,63,15,61,4,63,61,133,3,63,15,205,2,63,134,20,2,63,161,91,1,63,97,162,0,63,143,209,255,62,167,93,254,62,14,233,252,62,194,115,251,62,198,253,249,62,27,135,248,62,193,15,247,62,186,151,245,62,6,31,244,62,168,165,242,62,158,43,241,62,236,176,239,62,145,53,238,62,144,185,236,62,232,60,235,62,154,191,233,62,169,65,232,62,21,195,230,62,223,67,229,62,8,196,227,62,145,67,226,62,124,194,224,62,200,64,223,62,120,190,221,62,140,59,220,62,6,184,218,62,230,51,217,62,46,175,215,62,223,41,214,62,249,163,212,62,125,29,211,62,110,150,209,62,204,14,208,62,151,134,206,62,210,253,204,62,125,116,203,62,153,234,201,62,39,96,200,62,40,213,198,62,159,73,197,62,138,189,195,62,236,48,194,62,198,163,192,62,25,22,191,62,230,135,189,62,45,249,187,62,241,105,186,62,50,218,184,62,241,73,183,62,47,185,181,62,238,39,180,62,47,150,178,62,242,3,177,62,57,113,175,62,4,222,173,62,86,74,172,62,47,182,170,62,144,33,169,62,122,140,167,62,239,246,165,62,239,96,164,62,124,202,162,62,151,51,161,62,64,156,159,62,122,4,158,62,68,108,156,62,161,211,154,62,145,58,153,62,22,161,151,62,48,7,150,62,225,108,148,62,41,210,146,62,11,55,145,62,135,155,143,62,158,255,141,62,81,99,140,62,162,198,138,62,145,41,137,62,32,140,135,62,80,238,133,62,34,80,132,62,151,177,130,62,176,18,129,62,222,230,126,62,169,167,123,62,195,103,120,62,47,39,117,62,238,229,113,62,4,164,110,62,115,97,107,62,60,30,104,62,98,218,100,62,232,149,97,62,207,80,94,62,26,11,91,62,204,196,87,62,230,125,84,62,107,54,81,62,93,238,77,62,191,165,74,62,146,92,71,62,218,18,68,62,151,200,64,62,206,125,61,62,128,50,58,62,174,230,54,62,93,154,51,62,141,77,48,62,66,0,45,62,125,178,41,62,66,100,38,62,145,21,35,62,110,198,31,62,219,118,28,62,218,38,25,62,109,214,21,62,152,133,18,62,91,52,15,62,186,226,11,62,183,144,8,62,84,62,5,62,148,235,1,62,240,48,253,61,6,138,246,61,113,226,239,61,51,58,233,61,79,145,226,61,207,231,219,61,181,61,213,61,3,147,206,61,192,231,199,61,242,59,193,61,156,143,186,61,195,226,179,61,108,53,173,61,155,135,166,61,85,217,159,61,159,42,153,61,126,123,146,61,246,203,139,61,11,28,133,61,135,215,124,61,70,118,111,61,93,20,98,61,214,177,84,61,185,78,71,61,16,235,57,61,229,134,44,61,64,34,31,61,44,189,17,61,178,87,4,61,181,227,237,60,96,23,211,60,118,74,184,60,11,125,157,60,50,175,130,60,250,193,79,60,254,36,26,60,42,15,201,59,153,167,59,59,46,125,214,185,210,70,113,187,171,222,227,187,166,140,39,188,129,41,93,188,225,98,137,188,160,48,164,188,236,253,190,188,179,202,217,188,224,150,244,188,49,177,7,189,147,22,21,189,140,123,34,189,19,224,47,189,30,68,61,189,165,167,74,189,157,10,88,189,254,108,101,189,190,206,114,189,234,23,128,189,27,200,134,189,237,119,141,189,92,39,148,189,99,214,154,189,253,132,161,189,38,51,168,189,217,224,174,189,17,142,181,189,202,58,188,189,254,230,194,189,170,146,201,189,200,61,208,189,84,232,214,189,74,146,221,189,164,59,228,189,93,228,234,189,114,140,241,189,221,51,248,189,154,218,254,189,82,192,2,190,252,18,6,190,71,101,9,190,50,183,12,190,186,8,16,190,221,89,19,190,152,170,22,190,234,250,25,190,208,74,29,190,71,154,32,190,78,233,35,190,225,55,39,190,0,134,42,190,166,211,45,190,211,32,49,190,131,109,52,190,181,185,55,190,101,5,59,190,147,80,62,190,58,155,65,190,90,229,68,190,240,46,72,190,249,119,75,190,116,192,78,190,93,8,82,190,179,79,85,190,115,150,88,190,156,220,91,190,42,34,95,190,27,103,98,190,109,171,101,190,31,239,104,190,44,50,108,190,148,116,111,190,84,182,114,190,106,247,117,190,211,55,121,190,141,119,124,190,150,182,127,190,117,122,129,190,69,25,131,190,185,183,132,190,208,85,134,190,136,243,135,190,225,144,137,190,218,45,139,190,112,202,140,190,164,102,142,190,116,2,144,190,223,157,145,190,228,56,147,190,129,211,148,190,182,109,150,190,129,7,152,190,226,160,153,190,215,57,155,190,95,210,156,190,121,106,158,190,35,2,160,190,94,153,161,190,38,48,163,190,125,198,164,190,96,92,166,190,206,241,167,190,198,134,169,190,71,27,171,190,80,175,172,190,224,66,174,190,245,213,175,190,143,104,177,190,173,250,178,190,77,140,180,190,110,29,182,190,16,174,183,190,48,62,185,190,207,205,186,190,234,92,188,190,130,235,189,190,148,121,191,190,31,7,193,190,35,148,194,190,159,32,196,190,145,172,197,190,248,55,199,190,211,194,200,190,34,77,202,190,226,214,203,190,19,96,205,190,181,232,206,190,197,112,208,190,66,248,209,190,45,127,211,190,131,5,213,190,67,139,214,190,109,16,216,190,255,148,217,190,249,24,219,190,89,156,220,190,29,31,222,190,70,161,223,190,211,34,225,190,193,163,226,190,16,36,228,190,190,163,229,190,204,34,231,190,56,161,232,190,0,31,234,190,36,156,235,190,162,24,237,190,122,148,238,190,171,15,240,190,51,138,241,190,18,4,243,190,70,125,244,190,207,245,245,190,170,109,247,190,217,228,248,190,88,91,250,190,40,209,251,190,71,70,253,190,181,186,254,190,56,23,0,191,187,208,0,191,228,137,1,191,178,66,2,191,37,251,2,191,59,179,3,191,246,106,4,191,83,34,5,191,83,217,5,191,245,143,6,191,56,70,7,191,29,252,7,191,162,177,8,191,199,102,9,191,140,27,10,191,240,207,10,191,243,131,11,191,147,55,12,191,209,234,12,191,172,157,13,191,36,80,14,191,56,2,15,191,232,179,15,191,50,101,16,191,24,22,17,191,151,198,17,191,176,118,18,191,99,38,19,191,174,213,19,191,145,132,20,191,13,51,21,191,31,225,21,191,200,142,22,191,8,60,23,191,221,232,23,191,72,149,24,191,72,65,25,191,220,236,25,191,4,152,26,191,192,66,27,191,15,237,27,191,240,150,28,191,99,64,29,191,104,233,29,191,254,145,30,191,37,58,31,191,220,225,31,191,35,137,32,191,250,47,33,191,95,214,33,191,82,124,34,191,212,33,35,191,227,198,35,191,127,107,36,191,167,15,37,191,92,179,37,191,157,86,38,191,104,249,38,191,191,155,39,191,160,61,40,191,11,223,40,191,255,127,41,191,125,32,42,191,131,192,42,191,17,96,43,191,39,255,43,191,196,157,44,191,232,59,45,191,146,217,45,191,195,118,46,191,121,19,47,191,180,175,47,191,115,75,48,191,183,230,48,191,127,129,49,191,203,27,50,191,153,181,50,191,234,78,51,191,189,231,51,191,18,128,52,191,232,23,53,191,63,175,53,191,22,70,54,191,110,220,54,191,69,114,55,191,156,7,56,191,113,156,56,191,197,48,57,191,150,196,57,191,230,87,58,191,178,234,58,191,252,124,59,191,194,14,60,191,3,160,60,191,193,48,61,191,250,192,61,191,173,80,62,191,219,223,62,191,131,110,63,191,165,252,63,191,64,138,64,191,83,23,65,191,224,163,65,191,228,47,66,191,96,187,66,191,83,70,67,191,190,208,67,191,158,90,68,191,246,227,68,191,194,108,69,191,5,245,69,191,188,124,70,191,232,3,71,191,137,138,71,191,157,16,72,191,37,150,72,191,32,27,73,191,142,159,73,191,111,35,74,191,193,166,74,191,134,41,75,191,188,171,75,191,99,45,76,191,122,174,76,191,2,47,77,191,250,174,77,191,98,46,78,191,57,173,78,191,126,43,79,191,51,169,79,191,85,38,80,191,230,162,80,191,228,30,81,191,80,154,81,191,40,21,82,191,109,143,82,191,30,9,83,191,59,130,83,191,195,250,83,191,183,114,84,191,22,234,84,191,223,96,85,191,18,215,85,191,176,76,86,191,183,193,86,191,39,54,87,191,0,170,87,191,66,29,88,191,236,143,88,191,254,1,89,191,120,115,89,191,89,228,89,191,162,84,90,191,81,196,90,191,102,51,91,191,226,161,91,191,195,15,92,191,10,125,92,191,183,233,92,191,200,85,93,191,62,193,93,191,24,44,94,191,87,150,94,191,249,255,94,191,255,104,95,191,104,209,95,191,51,57,96,191,98,160,96,191,243,6,97,191,229,108,97,191,58,210,97,191,240,54,98,191,8,155,98,191,128,254,98,191,89,97,99,191,146,195,99,191,44,37,100,191,37,134,100,191,126,230,100,191,55,70,101,191,78,165,101,191,197,3,102,191,154,97,102,191,205,190,102,191,94,27,103,191,77,119,103,191,154,210,103,191,68,45,104,191,75,135,104,191,174,224,104,191,111,57,105,191,139,145,105,191,4,233,105,191,217,63,106,191,9,150,106,191,148,235,106,191,123,64,107,191,188,148,107,191,89,232,107,191,79,59,108,191,160,141,108,191,75,223,108,191,79,48,109,191,173,128,109,191,101,208,109,191,117,31,110,191,223,109,110,191,161,187,110,191,187,8,111,191,46,85,111,191,248,160,111,191,27,236,111,191,149,54,112,191,103,128,112,191,144,201,112,191,15,18,113,191,230,89,113,191,19,161,113,191,151,231,113,191,113,45,114,191,160,114,114,191,38,183,114,191,1,251,114,191,50,62,115,191,184,128,115,191,148,194,115,191,196,3,116,191,73,68,116,191,34,132,116,191,80,195,116,191,210,1,117,191,168,63,117,191,210,124,117,191,80,185,117,191,33,245,117,191,69,48,118,191,189,106,118,191,136,164,118,191,166,221,118,191,22,22,119,191,217,77,119,191,239,132,119,191,87,187,119,191,17,241,119,191,29,38,120,191,122,90,120,191,42,142,120,191,43,193,120,191,125,243,120,191,33,37,121,191,22,86,121,191,92,134,121,191,242,181,121,191,218,228,121,191,18,19,122,191,154,64,122,191,115,109,122,191,157,153,122,191,22,197,122,191,223,239,122,191,248,25,123,191,97,67,123,191,26,108,123,191,34,148,123,191,122,187,123,191,32,226,123,191,23,8,124,191,92,45,124,191,240,81,124,191,211,117,124,191,5,153,124,191,134,187,124,191,85,221,124,191,115,254,124,191,223,30,125,191,154,62,125,191,163,93,125,191,250,123,125,191,159,153,125,191,146,182,125,191,211,210,125,191,98,238,125,191,63,9,126,191,105,35,126,191,225,60,126,191,167,85,126,191,186,109,126,191,27,133,126,191,201,155,126,191,196,177,126,191,13,199,126,191,162,219,126,191,133,239,126,191,181,2,127,191,50,21,127,191,252,38,127,191,19,56,127,191,118,72,127,191,39,88,127,191,36,103,127,191,110,117,127,191,5,131,127,191,232,143,127,191,25,156,127,191,149,167,127,191,95,178,127,191,116,188,127,191,215,197,127,191,133,206,127,191,129,214,127,191,200,221,127,191,93,228,127,191,61,234,127,191,106,239,127,191,227,243,127,191,169,247,127,191,187,250,127,191,25,253,127,191,196,254,127,191,187,255,127,191,250,255,127,63,57,254,127,63,169,249,127,63,75,242,127,63,30,232,127,63,35,219,127,63,89,203,127,63,193,184,127,63,91,163,127,63,40,139,127,63,39,112,127,63,90,82,127,63,191,49,127,63,88,14,127,63,37,232,126,63,38,191,126,63,92,147,126,63,200,100,126,63,105,51,126,63,65,255,125,63,79,200,125,63,150,142,125,63,20,82,125,63,203,18,125,63,188,208,124,63,231,139,124,63,77,68,124,63,239,249,123,63,205,172,123,63,233,92,123,63,67,10,123,63,221,180,122,63,182,92,122,63,209,1,122,63,46,164,121,63,206,67,121,63,178,224,120,63,220,122,120,63,76,18,120,63,4,167,119,63,4,57,119,63,79,200,118,63,228,84,118,63,198,222,117,63,246,101,117,63,117,234,116,63,68,108,116,63,101,235,115,63,218,103,115,63,163,225,114,63,194,88,114,63,57,205,113,63,9,63,113,63,52,174,112,63,187,26,112,63,160,132,111,63,228,235,110,63,138,80,110,63,147,178,109,63,1,18,109,63,213,110,108,63,17,201,107,63,183,32,107,63,201,117,106,63,73,200,105,63,57,24,105,63,155,101,104,63,111,176,103,63,186,248,102,63,124,62,102,63,184,129,101,63,111,194,100,63,164,0,100,63,90,60,99,63,145,117,98,63,76,172,97,63,142,224,96,63,89,18,96,63,174,65,95,63,145,110,94,63,3,153,93,63,8,193,92,63,160,230,91,63,207,9,91,63,152,42,90,63,251,72,89,63,253,100,88,63,159,126,87,63,229,149,86,63,208,170,85,63,99,189,84,63,161,205,83,63,140,219,82,63,39,231,81,63,117,240,80,63,121,247,79,63,52,252,78,63,171,254,77,63,223,254,76,63,212,252,75,63,140,248,74,63,10,242,73,63,82,233,72,63,101,222,71,63,71,209,70,63,251,193,69,63,132,176,68,63,229,156,67,63,32,135,66,63,58,111,65,63,52,85,64,63,19,57,63,63,216,26,62,63,136,250,60,63,38,216,59,63,180,179,58,63,54,141,57,63,175,100,56,63,34,58,55,63,147,13,54,63,5,223,52,63,124,174,51,63,249,123,50,63,130,71,49,63,25,17,48,63,194,216,46,63,127,158,45,63,86,98,44,63,72,36,43,63,90,228,41,63,144,162,40,63,235,94,39,63,113,25,38,63,37,210,36,63,9,137,35,63,35,62,34,63,117,241,32,63,4,163,31,63,210,82,30,63,228,0,29,63,61,173,27,63,225,87,26,63,211,0,25,63,25,168,23,63,180,77,22,63,170,241,20,63,253,147,19,63,178,52,18,63,204,211,16,63,80,113,15,63,66,13,14,63,164,167,12,63,124,64,11,63,205,215,9,63,154,109,8,63,233,1,7,63,189,148,5,63,25,38,4,63,3,182,2,63,126,68,1,63,28,163,255,62,110,186,252,62,250,206,249,62,202,224,246,62,228,239,243,62,81,252,240,62,26,6,238,62,71,13,235,62,224,17,232,62,237,19,229,62,119,19,226,62,135,16,223,62,36,11,220,62,88,3,217,62,42,249,213,62,164,236,210,62,205,221,207,62,175,204,204,62,82,185,201,62,191,163,198,62,254,139,195,62,24,114,192,62,22,86,189,62,0,56,186,62,224,23,183,62,189,245,179,62,161,209,176,62,149,171,173,62,162,131,170,62,207,89,167,62,39,46,164,62,178,0,161,62,121,209,157,62,133,160,154,62,223,109,151,62,143,57,148,62,160,3,145,62,26,204,141,62,5,147,138,62,107,88,135,62,86,28,132,62,205,222,128,62,182,63,123,62,16,191,116,62,187,59,110,62,201,181,103,62,77,45,97,62,89,162,90,62,255,20,84,62,81,133,77,62,99,243,70,62,70,95,64,62,13,201,57,62,202,48,51,62,144,150,44,62,114,250,37,62,130,92,31,62,210,188,24,62,118,27,18,62,127,120,11,62,1,212,4,62,29,92,252,61,114,13,239,61,41,188,225,61,102,104,212,61,78,18,199,61,8,186,185,61,184,95,172,61,132,3,159,61,146,165,145,61,7,70,132,61,18,202,109,61,122,5,83,61,145,62,56,61,164,117,29,61,252,170,2,61,202,189,207,60,86,35,154,60,97,14,73,60,197,167,187,59,61,122,86,186,9,70,241,187,18,221,99,188,80,138,167,188,65,36,221,188,227,93,9,189,35,40,36,189,150,240,62,189,242,182,89,189,234,122,116,189,26,158,135,189,66,253,148,189,200,90,162,189,134,182,175,189,87,16,189,189,22,104,202,189,155,189,215,189,195,16,229,189,105,97,242,189,101,175,255,189,74,125,6,190,104,33,13,190,250,195,19,190,237,100,26,190,46,4,33,190,172,161,39,190,83,61,46,190,16,215,52,190,210,110,59,190,134,4,66,190,25,152,72,190,121,41,79,190,148,184,85,190,86,69,92,190,174,207,98,190,137,87,105,190,214,220,111,190,128,95,118,190,120,223,124,190,84,174,129,190,129,235,132,190,56,39,136,190,114,97,139,190,36,154,142,190,69,209,145,190,205,6,149,190,179,58,152,190,238,108,155,190,116,157,158,190,61,204,161,190,64,249,164,190,115,36,168,190,207,77,171,190,73,117,174,190,218,154,177,190,120,190,180,190,27,224,183,190,186,255,186,190,75,29,190,190,199,56,193,190,37,82,196,190,91,105,199,190,97,126,202,190,48,145,205,190,188,161,208,190,0,176,211,190,241,187,214,190,135,197,217,190,186,204,220,190,129,209,223,190,211,211,226,190,169,211,229,190,250,208,232,190,189,203,235,190,234,195,238,190,120,185,241,190,96,172,244,190,154,156,247,190,28,138,250,190,223,116,253,190,109,46,0,191,3,161,1,191,45,18,3,191,230,129,4,191,44,240,5,191,250,92,7,191,76,200,8,191,30,50,10,191,108,154,11,191,50,1,13,191,108,102,14,191,23,202,15,191,45,44,17,191,172,140,18,191,144,235,19,191,213,72,21,191,118,164,22,191,113,254,23,191,192,86,25,191,98,173,26,191,81,2,28,191,138,85,29,191,9,167,30,191,203,246,31,191,204,68,33,191,9,145,34,191,124,219,35,191,36,36,37,191,253,106,38,191,2,176,39,191,48,243,40,191,132,52,42,191,250,115,43,191,143,177,44,191,63,237,45,191,7,39,47,191,227,94,48,191,208,148,49,191,202,200,50,191,206,250,51,191,218,42,53,191,232,88,54,191,247,132,55,191,2,175,56,191,7,215,57,191,3,253,58,191,241,32,60,191,207,66,61,191,154,98,62,191,79,128,63,191,233,155,64,191,104,181,65,191,198,204,66,191,1,226,67,191,23,245,68,191,3,6,70,191,196,20,71,191,86,33,72,191,182,43,73,191,225,51,74,191,212,57,75,191,141,61,76,191,9,63,77,191,68,62,78,191,61,59,79,191,240,53,80,191,90,46,81,191,121,36,82,191,74,24,83,191,202,9,84,191,247,248,84,191,206,229,85,191,77,208,86,191,112,184,87,191,55,158,88,191,156,129,89,191,160,98,90,191,62,65,91,191,117,29,92,191,65,247,92,191,162,206,93,191,148,163,94,191,20,118,95,191,34,70,96,191,186,19,97,191,217,222,97,191,127,167,98,191,169,109,99,191,84,49,100,191,126,242,100,191,38,177,101,191,73,109,102,191,229,38,103,191,248,221,103,191,128,146,104,191,123,68,105,191,232,243,105,191,195,160,106,191,12,75,107,191,192,242,107,191,222,151,108,191,100,58,109,191,80,218,109,191,160,119,110,191,83,18,111,191,102,170,111,191,217,63,112,191,169,210,112,191,213,98,113,191,91,240,113,191,58,123,114,191,113,3,115,191,253,136,115,191,222,11,116,191,17,140,116,191,150,9,117,191,107,132,117,191,143,252,117,191,0,114,118,191,189,228,118,191,198,84,119,191,24,194,119,191,178,44,120,191,147,148,120,191,187,249,120,191,40,92,121,191,217,187,121,191,205,24,122,191,2,115,122,191,121,202,122,191,47,31,123,191,36,113,123,191,88,192,123,191,201,12,124,191,118,86,124,191,95,157,124,191,130,225,124,191,224,34,125,191,119,97,125,191,71,157,125,191,79,214,125,191,142,12,126,191,4,64,126,191,176,112,126,191,146,158,126,191,169,201,126,191,245,241,126,191,117,23,127,191,41,58,127,191,16,90,127,191,43,119,127,191,120,145,127,191,248,168,127,191,170,189,127,191,143,207,127,191,165,222,127,191,237,234,127,191,102,244,127,191,17,251,127,191,237,254,127,191,234,255,127,63,229,248,127,63,166,230,127,63,45,201,127,63,124,160,127,63,149,108,127,63,121,45,127,63,44,227,126,63,177,141,126,63,11,45,126,63,63,193,125,63,82,74,125,63,72,200,124,63,40,59,124,63,247,162,123,63,189,255,122,63,128,81,122,63,72,152,121,63,30,212,120,63,9,5,120,63,19,43,119,63,70,70,118,63,172,86,117,63,78,92,116,63,56,87,115,63,118,71,114,63,19,45,113,63,28,8,112,63,158,216,110,63,165,158,109,63,64,90,108,63,126,11,107,63,107,178,105,63,25,79,104,63,150,225,102,63,242,105,101,63,62,232,99,63,139,92,98,63,234,198,96,63,109,39,95,63,38,126,93,63,40,203,91,63,133,14,90,63,83,72,88,63,163,120,86,63,139,159,84,63,32,189,82,63,118,209,80,63,163,220,78,63,189,222,76,63,219,215,74,63,19,200,72,63,124,175,70,63,46,142,68,63,65,100,66,63,206,49,64,63,236,246,61,63,180,179,59,63,66,104,57,63,173,20,55,63,16,185,52,63,134,85,50,63,41,234,47,63,21,119,45,63,101,252,42,63,53,122,40,63,161,240,37,63,198,95,35,63,192,199,32,63,172,40,30,63,169,130,27,63,212,213,24,63,74,34,22,63,42,104,19,63,147,167,16,63,164,224,13,63,123,19,11,63,57,64,8,63,253,102,5,63,231,135,2,63,45,70,255,62,91,113,249,62,151,145,243,62,36,167,237,62,69,178,231,62,60,179,225,62,76,170,219,62,186,151,213,62,201,123,207,62,190,86,201,62,223,40,195,62,112,242,188,62,183,179,182,62,251,108,176,62,129,30,170,62,146,200,163,62,115,107,157,62,108,7,151,62,197,156,144,62,199,43,138,62,185,180,131,62,199,111,122,62,33,107,109,62,17,92,96,62,41,67,83,62,253,32,70,62,32,246,56,62,38,195,43,62,164,136,30,62,45,71,17,62,87,255,3,62,110,99,237,61,194,189,210,61,218,14,184,61,222,87,157,61,251,153,130,61,188,172,79,61,101,28,26,61,153,10,201,60,42,167,59,60,193,120,214,186,45,68,113,188,87,215,227,188,76,129,39,189,148,15,93,189,21,74,137,189,90,6,164,189,109,187,190,189,34,104,217,189,78,11,244,189,227,81,7,190,47,152,20,190,247,215,33,190,165,16,47,190,166,65,60,190,100,106,73,190,77,138,86,190,205,160,99,190,80,173,112,190,69,175,125,190,13,83,133,190,158,200,139,190,13,56,146,190,18,161,152,190,102,3,159,190,191,94,165,190,216,178,171,190,105,255,177,190,43,68,184,190,216,128,190,190,42,181,196,190,219,224,202,190,165,3,209,190,69,29,215,190,117,45,221,190,241,51,227,190,118,48,233,190,192,34,239,190,141,10,245,190,155,231,250,190,211,92,0,191,56,64,3,191,219,29,6,191,155,245,8,191,90,199,11,191,247,146,14,191,84,88,17,191,80,23,20,191,205,207,22,191,172,129,25,191,208,44,28,191,26,209,30,191,109,110,33,191,171,4,36,191,183,147,38,191,116,27,41,191,199,155,43,191,147,20,46,191,187,133,48,191,38,239,50,191,183,80,53,191,85,170,55,191,227,251,57,191,74,69,60,191,110,134,62,191,55,191,64,191,139,239,66,191,83,23,69,191,117,54,71,191,218,76,73,191,107,90,75,191,16,95,77,191,179,90,79,191,62,77,81,191,154,54,83,191,179,22,85,191,114,237,86,191,197,186,88,191,149,126,90,191,208,56,92,191,98,233,93,191,56,144,95,191,64,45,97,191,103,192,98,191,156,73,100,191,206,200,101,191,235,61,103,191,227,168,104,191,167,9,106,191,39,96,107,191,84,172,108,191,31,238,109,191,122,37,111,191,88,82,112,191,171,116,113,191,103,140,114,191,127,153,115,191,231,155,116,191,149,147,117,191,126,128,118,191,150,98,119,191,212,57,120,191,47,6,121,191,158,199,121,191,23,126,122,191,148,41,123,191,13,202,123,191,122,95,124,191,213,233,124,191,24,105,125,191,62,221,125,191,64,70,126,191,28,164,126,191,204,246,126,191,77,62,127,191,156,122,127,191,182,171,127,191,153,209,127,191,67,236,127,191,180,251,127,191,166,255,127,63,148,227,127,63,156,154,127,63,204,36,127,63,56,130,126,63,253,178,125,63,63,183,124,63,42,143,123,63,243,58,122,63,212,186,120,63,17,15,119,63,246,55,117,63,213,53,115,63,8,9,113,63,241,177,110,63,249,48,108,63,144,134,105,63,47,179,102,63,83,183,99,63,132,147,96,63,78,72,93,63,69,214,89,63,3,62,86,63,43,128,82,63,101,157,78,63,94,150,74,63,204,107,70,63,106,30,66,63,249,174,61,63,64,30,57,63,13,109,52,63,50,156,47,63,135,172,42,63,235,158,37,63,63,116,32,63,109,45,27,63,97,203,21,63,13,79,16,63,104,185,10,63,107,11,5,63,46,140,254,62,221,212,242,62,241,242,230,62,127,232,218,62,166,183,206,62,136,98,194,62,78,235,181,62,42,84,169,62,81,159,156,62,253,206,143,62,109,229,130,62,206,201,107,62,98,159,81,62,48,80,55,62,211,224,28,62,241,85,2,62,98,104,207,61,124,0,154,61,36,251,72,61,27,164,187,60,243,119,86,187,100,61,241,188,187,192,99,189,103,93,167,189,20,189,220,189,3,251,8,190,115,127,35,190,52,231,61,190,164,45,88,190,38,78,114,190,18,34,134,190,137,5,147,190,52,207,159,190,213,124,172,190,51,12,185,190,26,123,197,190,91,199,209,190,205,238,221,190,80,239,233,190,199,198,245,190,144,185,0,191,38,121,6,191,36,33,12,191,141,176,17,191,102,38,23,191,186,129,28,191,152,193,33,191,21,229,38,191,74,235,43,191,86,211,48,191,91,156,53,191,131,69,58,191,253,205,62,191,252,52,67,191,188,121,71,191,125,155,75,191,132,153,79,191,31,115,83,191,161,39,87,191,99,182,90,191,198,30,94,191,48,96,97,191,15,122,100,191,216,107,103,191,7,53,106,191,31,213,108,191,169,75,111,191,55,152,113,191,98,186,115,191,201,177,117,191,22,126,119,191,246,30,121,191,33,148,122,191,85,221,123,191,89,250,124,191,250,234,125,191,14,175,126,191,116,70,127,191,15,177,127,191,206,238,127,191,0,0,0,0,0,0,0,0,3,0,0,0,2,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,3,0,0,0,2,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,3,0,0,0,2,0,0,0,0,0,206,64,0,0,200,64,0,0,184,64,0,0,170,64,0,0,162,64,0,0,154,64,0,0,144,64,0,0,140,64,0,0,156,64,0,0,150,64,0,0,146,64,0,0,142,64,0,0,156,64,0,0,148,64,0,0,138,64,0,0,144,64,0,0,140,64,0,0,148,64,0,0,152,64,0,0,142,64,0,0,112,64,0,0,112,64,0,0,112,64,0,0,112,64,0,0,112,64,0,134,107,63,0,20,46,63,0,112,189,62,0,208,76,62,0,0,102,63,0,0,76,63,0,0,38,63,0,0,0,63,15,0,0,0,10,0,0,0,5,0,0,0,6,0,0,0,4,0,0,0,3,0,0,0,0,115,0,0,8,115,0,0,24,115,0,0,56,115,0,0,64,115,0,0,80,115,0,0,112,115,0,0,152,115,0,0,232,115,0,0,136,116,0,0,144,116,0,0,160,116,0,0,0,0,0,0,64,31,0,0,184,36,0,0,236,44,0,0,188,52,0,0,92,68,0,0,168,97,0,0,128,56,1,0,0,0,0,0,40,35,0,0,224,46,0,0,164,56,0,0,68,72,0,0,180,95,0,0,172,138,0,0,128,56,1,0,0,0,0,0,4,41,0,0,176,54,0,0,104,66,0,0,252,83,0,0,84,111,0,0,16,164,0,0,128,56,1,0,222,116,0,0,225,116,0,0,10,103,242,14,86,205,228,29,10,103,242,14,117,82,130,12,89,154,4,25,117,82,130,12,70,17,49,10,237,3,98,20,70,17,49,10,218,2,215,7,249,198,173,15,218,2,215,7,34,182,82,5,218,250,164,10,34,182,82,5,70,243,46,30,43,227,75,14,31,102,128,24,28,44,29,10,218,97,72,18,237,156,244,6,236,48,19,11,227,144,165,4,237,164,29,2,10,223,107,3,1,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,1,0,0,0,5,0,0,0,2,0,0,0,15,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,12,0,0,0,3,0,0,0,11,0,0,0,4,0,0,0,14,0,0,0,1,0,0,0,9,0,0,0,6,0,0,0,13,0,0,0,2,0,0,0,10,0,0,0,5,0,0,0,144,69,0,0,80,72,0,0,12,75,0,0,196,77,0,0,120,80,0,0,40,83,0,0,212,85,0,0,60,87,0,0,248,87,0,0,108,88,0,0,184,88,0,0,240,88,0,0,16,89,0,0,40,89,0,0,52,89,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,17,0,0,0,19,0,0,0,21,0,0,0,23,0,0,0,25,0,0,0,27,0,0,0,29,0,0,0,31,0,0,0,33,0,0,0,35,0,0,0,37,0,0,0,39,0,0,0,41,0,0,0,43,0,0,0,45,0,0,0,47,0,0,0,49,0,0,0,51,0,0,0,53,0,0,0,55,0,0,0,57,0,0,0,59,0,0,0,61,0,0,0,63,0,0,0,65,0,0,0,67,0,0,0,69,0,0,0,71,0,0,0,73,0,0,0,75,0,0,0,77,0,0,0,79,0,0,0,81,0,0,0,83,0,0,0,85,0,0,0,87,0,0,0,89,0,0,0,91,0,0,0,93,0,0,0,95,0,0,0,97,0,0,0,99,0,0,0,101,0,0,0,103,0,0,0,105,0,0,0,107,0,0,0,109,0,0,0,111,0,0,0,113,0,0,0,115,0,0,0,117,0,0,0,119,0,0,0,121,0,0,0,123,0,0,0,125,0,0,0,127,0,0,0,129,0,0,0,131,0,0,0,133,0,0,0,135,0,0,0,137,0,0,0,139,0,0,0,141,0,0,0,143,0,0,0,145,0,0,0,147,0,0,0,149,0,0,0,151,0,0,0,153,0,0,0,155,0,0,0,157,0,0,0,159,0,0,0,161,0,0,0,163,0,0,0,165,0,0,0,167,0,0,0,169,0,0,0,171,0,0,0,173,0,0,0,175,0,0,0,177,0,0,0,179,0,0,0,181,0,0,0,183,0,0,0,185,0,0,0,187,0,0,0,189,0,0,0,191,0,0,0,193,0,0,0,195,0,0,0,197,0,0,0,199,0,0,0,201,0,0,0,203,0,0,0,205,0,0,0,207,0,0,0,209,0,0,0,211,0,0,0,213,0,0,0,215,0,0,0,217,0,0,0,219,0,0,0,221,0,0,0,223,0,0,0,225,0,0,0,227,0,0,0,229,0,0,0,231,0,0,0,233,0,0,0,235,0,0,0,237,0,0,0,239,0,0,0,241,0,0,0,243,0,0,0,245,0,0,0,247,0,0,0,249,0,0,0,251,0,0,0,253,0,0,0,255,0,0,0,1,1,0,0,3,1,0,0,5,1,0,0,7,1,0,0,9,1,0,0,11,1,0,0,13,1,0,0,15,1,0,0,17,1,0,0,19,1,0,0,21,1,0,0,23,1,0,0,25,1,0,0,27,1,0,0,29,1,0,0,31,1,0,0,33,1,0,0,35,1,0,0,37,1,0,0,39,1,0,0,41,1,0,0,43,1,0,0,45,1,0,0,47,1,0,0,49,1,0,0,51,1,0,0,53,1,0,0,55,1,0,0,57,1,0,0,59,1,0,0,61,1,0,0,63,1,0,0,65,1,0,0,67,1,0,0,69,1,0,0,71,1,0,0,73,1,0,0,75,1,0,0,77,1,0,0,79,1,0,0,81,1,0,0,83,1,0,0,85,1,0,0,87,1,0,0,89,1,0,0,91,1,0,0,93,1,0,0,95,1,0,0,13,0,0,0,25,0,0,0,41,0,0,0,61,0,0,0,85,0,0,0,113,0,0,0,145,0,0,0,181,0,0,0,221,0,0,0,9,1,0,0,57,1,0,0,109,1,0,0,165,1,0,0,225,1,0,0,33,2,0,0,101,2,0,0,173,2,0,0,249,2,0,0,73,3,0,0,157,3,0,0,245,3,0,0,81,4,0,0,177,4,0,0,21,5,0,0,125,5,0,0,233,5,0,0,89,6,0,0,205,6,0,0,69,7,0,0,193,7,0,0,65,8,0,0,197,8,0,0,77,9,0,0,217,9,0,0,105,10,0,0,253,10,0,0,149,11,0,0,49,12,0,0,209,12,0,0,117,13,0,0,29,14,0,0,201,14,0,0,121,15,0,0,45,16,0,0,229,16,0,0,161,17,0,0,97,18,0,0,37,19,0,0,237,19,0,0,185,20,0,0,137,21,0,0,93,22,0,0,53,23,0,0,17,24,0,0,241,24,0,0,213,25,0,0,189,26,0,0,169,27,0,0,153,28,0,0,141,29,0,0,133,30,0,0,129,31,0,0,129,32,0,0,133,33,0,0,141,34,0,0,153,35,0,0,169,36,0,0,189,37,0,0,213,38,0,0,241,39,0,0,17,41,0,0,53,42,0,0,93,43,0,0,137,44,0,0,185,45,0,0,237,46,0,0,37,48,0,0,97,49,0,0,161,50,0,0,229,51,0,0,45,53,0,0,121,54,0,0,201,55,0,0,29,57,0,0,117,58,0,0,209,59,0,0,49,61,0,0,149,62,0,0,253,63,0,0,105,65,0,0,217,66,0,0,77,68,0,0,197,69,0,0,65,71,0,0,193,72,0,0,69,74,0,0,205,75,0,0,89,77,0,0,233,78,0,0,125,80,0,0,21,82,0,0,177,83,0,0,81,85,0,0,245,86,0,0,157,88,0,0,73,90,0,0,249,91,0,0,173,93,0,0,101,95,0,0,33,97,0,0,225,98,0,0,165,100,0,0,109,102,0,0,57,104,0,0,9,106,0,0,221,107,0,0,181,109,0,0,145,111,0,0,113,113,0,0,85,115,0,0,61,117,0,0,41,119,0,0,25,121,0,0,13,123,0,0,5,125,0,0,1,127,0,0,1,129,0,0,5,131,0,0,13,133,0,0,25,135,0,0,41,137,0,0,61,139,0,0,85,141,0,0,113,143,0,0,145,145,0,0,181,147,0,0,221,149,0,0,9,152,0,0,57,154,0,0,109,156,0,0,165,158,0,0,225,160],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+10240),
allocate([33,163,0,0,101,165,0,0,173,167,0,0,249,169,0,0,73,172,0,0,157,174,0,0,245,176,0,0,81,179,0,0,177,181,0,0,21,184,0,0,125,186,0,0,233,188,0,0,89,191,0,0,205,193,0,0,69,196,0,0,193,198,0,0,65,201,0,0,197,203,0,0,77,206,0,0,217,208,0,0,105,211,0,0,253,213,0,0,149,216,0,0,49,219,0,0,209,221,0,0,117,224,0,0,29,227,0,0,201,229,0,0,121,232,0,0,45,235,0,0,229,237,0,0,161,240,0,0,63,0,0,0,129,0,0,0,231,0,0,0,121,1,0,0,63,2,0,0,65,3,0,0,135,4,0,0,25,6,0,0,255,7,0,0,65,10,0,0,231,12,0,0,249,15,0,0,127,19,0,0,129,23,0,0,7,28,0,0,25,33,0,0,191,38,0,0,1,45,0,0,231,51,0,0,121,59,0,0,191,67,0,0,193,76,0,0,135,86,0,0,25,97,0,0,127,108,0,0,193,120,0,0,231,133,0,0,249,147,0,0,255,162,0,0,1,179,0,0,7,196,0,0,25,214,0,0,63,233,0,0,129,253,0,0,231,18,1,0,121,41,1,0,63,65,1,0,65,90,1,0,135,116,1,0,25,144,1,0,255,172,1,0,65,203,1,0,231,234,1,0,249,11,2,0,127,46,2,0,129,82,2,0,7,120,2,0,25,159,2,0,191,199,2,0,1,242,2,0,231,29,3,0,121,75,3,0,191,122,3,0,193,171,3,0,135,222,3,0,25,19,4,0,127,73,4,0,193,129,4,0,231,187,4,0,249,247,4,0,255,53,5,0,1,118,5,0,7,184,5,0,25,252,5,0,63,66,6,0,129,138,6,0,231,212,6,0,121,33,7,0,63,112,7,0,65,193,7,0,135,20,8,0,25,106,8,0,255,193,8,0,65,28,9,0,231,120,9,0,249,215,9,0,127,57,10,0,129,157,10,0,7,4,11,0,25,109,11,0,191,216,11,0,1,71,12,0,231,183,12,0,121,43,13,0,191,161,13,0,193,26,14,0,135,150,14,0,25,21,15,0,127,150,15,0,193,26,16,0,231,161,16,0,249,43,17,0,255,184,17,0,1,73,18,0,7,220,18,0,25,114,19,0,63,11,20,0,129,167,20,0,231,70,21,0,121,233,21,0,63,143,22,0,65,56,23,0,135,228,23,0,25,148,24,0,255,70,25,0,65,253,25,0,231,182,26,0,249,115,27,0,127,52,28,0,129,248,28,0,7,192,29,0,25,139,30,0,191,89,31,0,1,44,32,0,231,1,33,0,121,219,33,0,191,184,34,0,193,153,35,0,135,126,36,0,25,103,37,0,127,83,38,0,193,67,39,0,231,55,40,0,249,47,41,0,255,43,42,0,1,44,43,0,7,48,44,0,25,56,45,0,63,68,46,0,129,84,47,0,231,104,48,0,121,129,49,0,63,158,50,0,65,191,51,0,135,228,52,0,25,14,54,0,255,59,55,0,65,110,56,0,231,164,57,0,249,223,58,0,127,31,60,0,129,99,61,0,7,172,62,0,25,249,63,0,191,74,65,0,1,161,66,0,231,251,67,0,121,91,69,0,191,191,70,0,193,40,72,0,135,150,73,0,25,9,75,0,127,128,76,0,193,252,77,0,231,125,79,0,249,3,81,0,255,142,82,0,1,31,84,0,7,180,85,0,25,78,87,0,63,237,88,0,129,145,90,0,231,58,92,0,121,233,93,0,63,157,95,0,65,86,97,0,135,20,99,0,25,216,100,0,255,160,102,0,65,111,104,0,231,66,106,0,249,27,108,0,127,250,109,0,65,1,0,0,169,2,0,0,9,5,0,0,193,8,0,0,65,14,0,0,9,22,0,0,169,32,0,0,193,46,0,0,1,65,0,0,41,88,0,0,9,117,0,0,129,152,0,0,129,195,0,0,9,247,0,0,41,52,1,0,1,124,1,0,193,207,1,0,169,48,2,0,9,160,2,0,65,31,3,0,193,175,3,0,9,83,4,0,169,10,5,0,65,216,5,0,129,189,6,0,41,188,7,0,9,214,8,0,1,13,10,0,1,99,11,0,9,218,12,0,41,116,14,0,129,51,16,0,65,26,18,0,169,42,20,0,9,103,22,0,193,209,24,0,65,109,27,0,9,60,30,0,169,64,33,0,193,125,36,0,1,246,39,0,41,172,43,0,9,163,47,0,129,221,51,0,129,94,56,0,9,41,61,0,41,64,66,0,1,167,71,0,193,96,77,0,169,112,83,0,9,218,89,0,65,160,96,0,193,198,103,0,9,81,111,0,169,66,119,0,65,159,127,0,129,106,136,0,41,168,145,0,9,92,155,0,1,138,165,0,1,54,176,0,9,100,187,0,41,24,199,0,129,86,211,0,65,35,224,0,169,130,237,0,9,121,251,0,193,10,10,1,65,60,25,1,9,18,41,1,169,144,57,1,193,188,74,1,1,155,92,1,41,48,111,1,9,129,130,1,129,146,150,1,129,105,171,1,9,11,193,1,41,124,215,1,1,194,238,1,193,225,6,2,169,224,31,2,9,196,57,2,65,145,84,2,193,77,112,2,9,255,140,2,169,170,170,2,65,86,201,2,129,7,233,2,41,196,9,3,9,146,43,3,1,119,78,3,1,121,114,3,9,158,151,3,41,236,189,3,129,105,229,3,65,28,14,4,169,10,56,4,9,59,99,4,193,179,143,4,65,123,189,4,9,152,236,4,169,16,29,5,193,235,78,5,1,48,130,5,41,228,182,5,9,15,237,5,129,183,36,6,129,228,93,6,9,157,152,6,41,232,212,6,1,205,18,7,193,82,82,7,169,128,147,7,9,94,214,7,65,242,26,8,193,68,97,8,9,93,169,8,169,66,243,8,65,253,62,9,129,148,140,9,41,16,220,9,9,120,45,10,1,212,128,10,1,44,214,10,9,136,45,11,41,240,134,11,129,108,226,11,65,5,64,12,169,194,159,12,9,173,1,13,193,204,101,13,65,42,204,13,9,206,52,14,169,192,159,14,193,10,13,15,1,181,124,15,41,200,238,15,9,77,99,16,129,76,218,16,129,207,83,17,9,223,207,17,41,132,78,18,1,200,207,18,193,179,83,19,169,80,218,19,9,168,99,20,65,195,239,20,193,171,126,21,9,107,16,22,169,10,165,22,65,148,60,23,129,17,215,23,41,140,116,24,9,14,21,25,1,161,184,25,1,79,95,26,9,34,9,27,41,36,182,27,129,95,102,28,65,222,25,29,169,170,208,29,9,207,138,30,193,85,72,31,65,73,9,32,9,180,205,32,169,160,149,33,193,25,97,34,1,42,48,35,41,220,2,36,9,59,217,36,129,81,179,37,147,6,0,0,69,14,0,0,15,28,0,0,17,51,0,0,91,87,0,0,13,142,0,0,119,221,0,0,57,77,1,0,99,230,1,0,149,179,2,0,31,193,3,0,33,29,5,0,171,215,6,0,221,2,9,0,7,179,11,0,201,254,14,0,51,255,18,0,229,207,23,0,47,143,29,0,49,94,36,0,251,96,44,0,173,190,53,0,151,161,64,0,89,55,77,0,3,177,91,0,53,67,108,0,63,38,127,0,65,150,148,0,75,211,172,0,125,33,200,0,39,201,230,0,233,22,9,1,211,91,47,1,133,237,89,1,79,38,137,1,81,101,189,1,155,14,247,1,77,139,54,2,183,73,124,2,121,189,200,2,163,95,28,3,213,174,119,3,95,47,219,3,97,107,71,4,235,242,188,4,29,92,60,5,71,67,198,5,9,75,91,6,115,28,252,6,37,103,169,7,111,225,99,8,113,72,44,9,59,96,3,10,237,243,233,10,215,213,224,11,153,223,232,12,67,242,2,14,117,246,47,15,127,220,112,16,129,156,198,17,139,54,50,19,189,178,180,20,103,33,79,22,41,155,2,24,19,65,208,25,197,60,185,27,143,192,190,29,145,7,226,31,219,85,36,34,141,248,134,36,247,69,11,39,185,157,178,41,227,104,126,44,21,26,112,47,159,45,137,50,161,41,203,53,43,158,55,57,93,37,208,60,135,99,150,64,73,7,140,68,179,201,178,72,101,110,12,77,175,195,154,81,177,162,95,86,123,239,92,91,45,153,148,96,23,154,8,102,217,247,186,107,131,195,173,113,181,25,227,119,191,34,93,126,29,35,0,0,113,77,0,0,145,156,0,0,253,38,1,0,101,12,2,0,233,119,3,0,153,162,5,0,53,214,8,0,45,112,13,0,225,228,19,0,33,195,28,0,237,183,40,0,117,146,56,0,89,72,77,0,41,250,103,0,37,248,137,0,61,199,180,0,81,38,234,0,177,19,44,1,221,210,124,1,133,242,222,1,201,82,85,2,185,43,227,2,21,20,140,3,77,8,84,4,193,113,63,5,65,46,83,6,205,151,148,7,149,140,9,9,57,119,184,10,73,87,168,12,5,202,224,14,93,19,106,17,49,39,77,20,209,178,147,23,189,38,72,27,165,192,117,31,169,149,40,36,217,156,109,41,245,185,82,47,109,200,230,53,161,166,57,61,97,65,92,69,173,159,96,78,181,238,89,88,25,142,92,99,105,28,126,111,229,131,213,124,255,189,0,0,1,168,1,0,143,107,3,0,241,158,6,0,63,35,12,0,193,61,21,0,143,182,35,0,241,252,57,0,255,81,91,0,1,250,139,0,15,117,209,0,113,191,50,1,63,154,184,1,193,220,109,2,15,207,95,3,113,142,158,4,255,123,61,6,1,182,83,8,143,156,252,10,241,97,88,14,63,167,140,18,193,37,197,23,143,101,52,30,241,129,20,38,255,251,167,47,1,156,58,59,15,98,34,73,113,134,192,89,63,138,130,109,193,88,227,132,1,14,4,0,145,33,9,0,17,44,19,0,65,238,37,0,65,79,71,0,145,67,128,0,17,247,221,0,1,70,115,1,1,146,90,2,17,1,184,3,145,53,188,5,65,143,167,8,65,6,206,12,17,178,155,18,145,15,154,26,1,26,118,37,1,76,7,52,145,158,87,71,17,157,172,96,65,166,145,129,35,81,22,0,197,158,50,0,23,185,107,0,153,246,216,0,107,137,160,1,13,196,254,2,31,1,80,5,33,217,29,9,51,108,48,15,213,162,164,24,167,103,8,39,41,253,125,60,123,181,231,91,29,119,29,137,175,160,45,201,173,142,123,0,137,230,25,1,57,150,94,2,61,22,216,4,181,99,119,9,225,40,198,17,33,3,52,32,117,72,130,56,125,87,87,96,191,91,175,2,129,216,39,6,247,132,94,13,233,254,173,27,127,139,235,54,129,183,229,104,23,3,156,193,193,12,255,14,57,106,133,34,25,238,145,75,129,120,43,158,51,225,9,84,32,0,10,0,20,46,100,1,221,121,0,0,188,100,0,0,29,123,0,0,93,123,0,0,111,123,0,0,15,124,0,0,87,124,0,0,60,103,0,0,32,0,16,0,102,38,171,1,159,124,0,0,82,103,0,0,159,126,0,0,223,126,0,0,253,126,0,0,253,127,0,0,69,128,0,0,82,107,0,0,48,117,0,0,112,23,0,0,32,209,255,255,32,209,255,255,0,64,0,0,108,34,0,0,66,15,0,0,18,6,0,0,77,2,0,0,219,0,0,0,237,0,0,0,153,0,0,0,73,0,0,0,30,0,0,0,12,0,0,0,7,0,0,0,0,64,0,0,147,93,0,0,189,112,0,0,237,121,0,0,178,125,0,0,36,127,0,0,0,0,0,0,240,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,5,0,0,0,3,0,0,0,4,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,40,1,0,0,6,0,0,0,7,0,0,0,1,0,0,0,0,0,0,0,88,1,0,0,1,0,0,0,8,0,0,0,3,0,0,0,4,0,0,0,2,0,0,0,0,0,0,0,72,1,0,0,1,0,0,0,9,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,0,0,0,0,216,1,0,0,1,0,0,0,10,0,0,0,3,0,0,0,4,0,0,0,1,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,0,0,1,0,2,0,3,0,4,0,5,0,6,0,7,0,8,0,10,0,12,0,14,0,16,0,20,0,24,0,28,0,34,0,40,0,48,0,60,0,78,0,100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,8,0,8,0,8,0,16,0,16,0,16,0,21,0,21,0,24,0,29,0,34,0,36,0,0,0,96,0,192,0,32,1,128,1,32,0,128,0,224,0,64,1,160,1,64,0,160,0,0,1,96,1,192,1,8,0,104,0,200,0,40,1,136,1,40,0,136,0,232,0,72,1,168,1,72,0,168,0,8,1,104,1,200,1,16,0,112,0,208,0,48,1,144,1,48,0,144,0,240,0,80,1,176,1,80,0,176,0,16,1,112,1,208,1,24,0,120,0,216,0,56,1,152,1,56,0,152,0,248,0,88,1,184,1,88,0,184,0,24,1,120,1,216,1,4,0,100,0,196,0,36,1,132,1,36,0,132,0,228,0,68,1,164,1,68,0,164,0,4,1,100,1,196,1,12,0,108,0,204,0,44,1,140,1,44,0,140,0,236,0,76,1,172,1,76,0,172,0,12,1,108,1,204,1,20,0,116,0,212,0,52,1,148,1,52,0,148,0,244,0,84,1,180,1,84,0,180,0,20,1,116,1,212,1,28,0,124,0,220,0,60,1,156,1,60,0,156,0,252,0,92,1,188,1,92,0,188,0,28,1,124,1,220,1,1,0,97,0,193,0,33,1,129,1,33,0,129,0,225,0,65,1,161,1,65,0,161,0,1,1,97,1,193,1,9,0,105,0,201,0,41,1,137,1,41,0,137,0,233,0,73,1,169,1,73,0,169,0,9,1,105,1,201,1,17,0,113,0,209,0,49,1,145,1,49,0,145,0,241,0,81,1,177,1,81,0,177,0,17,1,113,1,209,1,25,0,121,0,217,0,57,1,153,1,57,0,153,0,249,0,89,1,185,1,89,0,185,0,25,1,121,1,217,1,5,0,101,0,197,0,37,1,133,1,37,0,133,0,229,0,69,1,165,1,69,0,165,0,5,1,101,1,197,1,13,0,109,0,205,0,45,1,141,1,45,0,141,0,237,0,77,1,173,1,77,0,173,0,13,1,109,1,205,1,21,0,117,0,213,0,53,1,149,1,53,0,149,0,245,0,85,1,181,1,85,0,181,0,21,1,117,1,213,1,29,0,125,0,221,0,61,1,157,1,61,0,157,0,253,0,93,1,189,1,93,0,189,0,29,1,125,1,221,1,2,0,98,0,194,0,34,1,130,1,34,0,130,0,226,0,66,1,162,1,66,0,162,0,2,1,98,1,194,1,10,0,106,0,202,0,42,1,138,1,42,0,138,0,234,0,74,1,170,1,74,0,170,0,10,1,106,1,202,1,18,0,114,0,210,0,50,1,146,1,50,0,146,0,242,0,82,1,178,1,82,0,178,0,18,1,114,1,210,1,26,0,122,0,218,0,58,1,154,1,58,0,154,0,250,0,90,1,186,1,90,0,186,0,26,1,122,1,218,1,6,0,102,0,198,0,38,1,134,1,38,0,134,0,230,0,70,1,166,1,70,0,166,0,6,1,102,1,198,1,14,0,110,0,206,0,46,1,142,1,46,0,142,0,238,0,78,1,174,1,78,0,174,0,14,1,110,1,206,1,22,0,118,0,214,0,54,1,150,1,54,0,150,0,246,0,86,1,182,1,86,0,182,0,22,1,118,1,214,1,30,0,126,0,222,0,62,1,158,1,62,0,158,0,254,0,94,1,190,1,94,0,190,0,30,1,126,1,222,1,3,0,99,0,195,0,35,1,131,1,35,0,131,0,227,0,67,1,163,1,67,0,163,0,3,1,99,1,195,1,11,0,107,0,203,0,43,1,139,1,43,0,139,0,235,0,75,1,171,1,75,0,171,0,11,1,107,1,203,1,19,0,115,0,211,0,51,1,147,1,51,0,147,0,243,0,83,1,179,1,83,0,179,0,19,1,115,1,211,1,27,0,123,0,219,0,59,1,155,1,59,0,155,0,251,0,91,1,187,1,91,0,187,0,27,1,123,1,219,1,7,0,103,0,199,0,39,1,135,1,39,0,135,0,231,0,71,1,167,1,71,0,167,0,7,1,103,1,199,1,15,0,111,0,207,0,47,1,143,1,47,0,143,0,239,0,79,1,175,1,79,0,175,0,15,1,111,1,207,1,23,0,119,0,215,0,55,1,151,1,55,0,151,0,247,0,87,1,183,1,87,0,183,0,23,1,119,1,215,1,31,0,127,0,223,0,63,1,159,1,63,0,159,0,255,0,95,1,191,1,95,0,191,0,31,1,127,1,223,1,0,0,48,0,96,0,144,0,192,0,16,0,64,0,112,0,160,0,208,0,32,0,80,0,128,0,176,0,224,0,4,0,52,0,100,0,148,0,196,0,20,0,68,0,116,0,164,0,212,0,36,0,84,0,132,0,180,0,228,0,8,0,56,0,104,0,152,0,200,0,24,0,72,0,120,0,168,0,216,0,40,0,88,0,136,0,184,0,232,0,12,0,60,0,108,0,156,0,204,0,28,0,76,0,124,0,172,0,220,0,44,0,92,0,140,0,188,0,236,0,1,0,49,0,97,0,145,0,193,0,17,0,65,0,113,0,161,0,209,0,33,0,81,0,129,0,177,0,225,0,5,0,53,0,101,0,149,0,197,0,21,0,69,0,117,0,165,0,213,0,37,0,85,0,133,0,181,0,229,0,9,0,57,0,105,0,153,0,201,0,25,0,73,0,121,0,169,0,217,0,41,0,89,0,137,0,185,0,233,0,13,0,61,0,109,0,157,0,205,0,29,0,77,0,125,0,173,0,221,0,45,0,93,0,141,0,189,0,237,0,2,0,50,0,98,0,146,0,194,0,18,0,66,0,114,0,162,0,210,0,34,0,82,0,130,0,178,0,226,0,6,0,54,0,102,0,150,0,198,0,22,0,70,0,118,0,166,0,214,0,38,0,86,0,134,0,182,0,230,0,10,0,58,0,106,0,154,0,202,0,26,0,74,0,122,0,170,0,218,0,42,0,90,0,138,0,186,0,234,0,14,0,62,0,110,0,158,0,206,0,30,0,78,0,126,0,174,0,222,0,46,0,94,0,142,0,190,0,238,0,3,0,51,0,99,0,147,0,195,0,19,0,67,0,115,0,163,0,211,0,35,0,83,0,131,0,179,0,227,0,7,0,55,0,103,0,151,0,199,0,23,0,71,0,119,0,167,0,215,0,39,0,87,0,135,0,183,0,231,0,11,0,59,0,107,0,155,0,203,0,27,0,75,0,123,0,171,0,219,0,43,0,91,0,139,0,187,0,235,0,15,0,63,0,111,0,159,0,207,0,31,0,79,0,127,0,175,0,223,0,47,0,95,0,143,0,191,0,239,0,0,0,24,0,48,0,72,0,96,0,8,0,32,0,56,0,80,0,104,0,16,0,40,0,64,0,88,0,112,0,4,0,28,0,52,0,76,0,100,0,12,0,36,0,60,0,84,0,108,0,20,0,44,0,68,0,92,0,116,0,1,0,25,0,49,0,73,0,97,0,9,0,33,0,57,0,81,0,105,0,17,0,41,0,65,0,89,0,113,0,5,0,29,0,53,0,77,0,101,0,13,0,37,0,61,0,85,0,109,0,21,0,45,0,69,0,93,0,117,0,2,0,26,0,50,0,74,0,98,0,10,0,34,0,58,0,82,0,106,0,18,0,42,0,66,0,90,0,114,0,6,0,30,0,54,0,78,0,102,0,14,0,38,0,62,0,86,0,110,0,22,0,46,0,70,0,94,0,118,0,3,0,27,0,51,0,75,0,99,0,11,0,35,0,59,0,83,0,107,0,19,0,43,0,67,0,91,0,115,0,7,0,31,0,55,0,79,0,103,0,15,0,39,0,63,0,87,0,111,0,23,0,47,0,71,0,95,0,119,0,0,0,12,0,24,0,36,0,48,0,4,0,16,0,28,0,40,0,52,0,8,0,20,0,32,0,44,0,56,0,1,0,13,0,25,0,37,0,49,0,5,0,17,0,29,0,41,0,53,0,9,0,21,0,33,0,45,0,57,0,2,0,14,0,26,0,38,0,50,0,6,0,18,0,30,0,42,0,54,0,10,0,22,0,34,0,46,0,58,0,3,0,15,0,27,0,39,0,51,0,7,0,19,0,31,0,43,0,55,0,11,0,23,0,35,0,47,0,59,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,41,0,41,0,41,0,82,0,82,0,123,0,164,0,200,0,222,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,41,0,41,0,41,0,41,0,123,0,123,0,123,0,164,0,164,0,240,0,10,1,27,1,39,1,41,0,41,0,41,0,41,0,41,0,41,0,41,0,41,0,123,0,123,0,123,0,123,0,240,0,240,0,240,0,10,1,10,1,49,1,62,1,72,1,80,1,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,240,0,240,0,240,0,240,0,49,1,49,1,49,1,62,1,62,1,87,1,95,1,102,1,108,1,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,49,1,49,1,49,1,49,1,87,1,87,1,87,1,95,1,95,1,114,1,120,1,126,1,131,1,18,0,29,0,38,0,40,0,46,0,52,0,62,0,84,0,92,202,190,216,182,223,154,226,156,230,120,236,122,244,204,252,52,3,134,11,136,19,100,25,102,29,74,32,66,39,164,53,100,0,240,0,32,0,100,0,205,60,0,48,0,32,42,175,213,201,207,255,64,0,17,0,99,255,97,1,16,254,163,0,39,43,189,86,217,255,6,0,91,0,86,255,186,0,23,0,128,252,192,24,216,77,237,255,220,255,102,0,167,255,232,255,72,1,73,252,8,10,37,62,135,199,61,201,64,0,128,0,134,255,36,0,54,1,0,253,72,2,51,36,69,69,12,0,128,0,18,0,114,255,32,1,139,255,159,252,27,16,123,56,104,2,13,200,246,255,39,0,58,0,210,255,172,255,120,0,184,0,197,254,227,253,4,5,4,21,64,35,230,62,198,196,243,255,0,0,20,0,26,0,5,0,225,255,213,255,252,255,65,0,90,0,7,0,99,255,8,255,212,255,81,2,47,6,52,10,199,12,228,87,5,197,3,0,242,255,236,255,241,255,2,0,25,0,37,0,25,0,240,255,185,255,149,255,177,255,50,0,36,1,111,2,214,3,8,5,184,5,148,107,103,196,17,0,12,0,8,0,1,0,246,255,234,255,226,255,224,255,234,255,3,0,44,0,100,0,168,0,243,0,61,1,125,1,173,1,199,1,189,0,168,253,105,2,103,119,117,0,97,255,210,251,8,116,52,0,221,0,168,246,116,110,252,255,17,2,234,242,229,102,208,255,246,2,140,240,165,93,176,255,137,3,117,239,6,83,157,255,204,3,130,239,102,71,149,255,199,3,139,240,39,59,153,255,128,3,97,242,174,46,165,255,5,3,207,244,94,34,185,255,99,2,161,247,152,22,210,255,169,1,161,250,180,11,0,64,202,69,27,76,255,82,130,90,179,98,162,107,96,117,184,126,154,121,154,121,102,102,184,126,51,115,81,11,10,9,10,9,10,9,239,8,239,8,10,9,252,8,23,9,239,8,72,11,20,10,90,9,63,9,10,9,226,8,226,8,226,8,226,8,146,8,183,9,36,9,36,9,10,9,10,9,10,9,36,9,36,9,63,9,50,9,144,12,206,10,36,9,36,9,10,9,226,8,173,8,159,8,213,8,146,8,156,9,170,9,63,9,90,9,90,9,90,9,90,9,63,9,103,9,10,9,151,13,240,11,79,8,159,8,226,8,226,8,226,8,239,8,10,9,213,8,210,12,69,12,20,10,90,9,199,8,173,8,159,8,146,8,146,8,66,8,0,16,5,15,173,8,60,10,60,10,103,9,10,9,90,9,63,9,26,8,106,12,172,12,63,9,173,8,249,9,130,9,36,9,10,9,119,8,173,8,10,13,160,13,166,10,146,8,213,8,156,9,50,9,63,9,159,8,53,8,50,9,116,9,23,9,63,9,90,9,116,9,116,9,116,9,156,9,63,9,195,14,45,14,130,9,223,9,63,9,226,8,226,8,252,8,159,8,0,8,182,12,153,12,153,10,30,11,143,9,23,9,252,8,252,8,226,8,79,8,191,12,228,12,193,10,246,10,143,9,213,8,213,8,199,8,79,8,53,8,57,11,165,11,73,10,63,9,103,9,50,9,146,8,199,8,199,8,66,8,153,12,125,12,73,10,20,10,226,8,133,8,199,8,173,8,173,8,93,8,106,12,238,12,180,10,103,9,226,8,226,8,226,8,239,8,146,8,66,8,69,12,200,12,156,9,13,8,239,8,196,9,63,9,183,9,130,9,133,8,179,13,210,12,10,9,140,10,87,10,170,9,63,9,90,9,36,9,79,8,95,13,207,13,222,11,240,11,252,8,158,7,173,8,226,8,226,8,226,8,76,13,38,13,39,8,127,10,57,11,50,9,116,9,226,8,170,9,236,9,176,14,160,13,158,7,100,10,81,11,223,9,90,9,63,9,156,9,213,8,212,11,200,12,180,10,72,11,180,10,106,8,79,8,239,8,186,8,199,8,111,14,73,14,233,7,177,7,100,10,140,10,20,10,196,9,23,9,63,9,135,12,85,13,50,9,26,8,72,11,72,11,36,9,183,9,199,8,119,8,10,13,38,13,30,11,220,10,23,9,106,8,226,8,239,8,66,8,13,8,23,9,252,8,133,8,119,8,133,8,63,9,73,10,140,10,140,10,249,9,103,9,130,9,173,8,213,8,173,8,173,8,36,9,116,9,47,10,140,10,222,11,172,12,246,10,72,11,170,9,26,8,252,8,10,9,50,9,76,9,173,8,106,8,79,8,239,8,196,9,233,10,233,10,60,10,20,10,63,9,92,14,129,14,186,8,46,7,133,8,193,10,166,10,113,10,209,9,159,8,233,10,88,12,166,10,249,9,30,11,209,9,133,8,90,9,173,8,133,8,250,0,3,0,6,0,3,0,3,0,3,0,4,0,3,0,3,0,3,0,205,1,73,14,109,11,109,11,109,11,109,11,109,11,109,11,109,11,109,11,109,11,109,11,109,11,147,11,147,11,109,11,30,11,144,12,13,12,156,11,240,11,240,11,194,11,194,11,194,11,147,11,147,11,194,11,156,11,72,11,30,11,30,11,166,10,80,15,174,15,165,11,135,12,135,12,118,11,240,11,30,11,50,12,172,12,109,11,30,11,60,10,249,9,220,10,109,11,188,13,125,12,194,11,31,12,203,11,72,11,109,11,109,11,109,11,109,11,72,11,72,11,72,11,72,11,72,11,193,10,190,19,190,19,118,11,245,13,57,13,240,11,13,12,233,10,88,12,88,12,156,11,30,11,209,9,236,9,193,10,72,11,76,17,53,16,140,10,193,10,156,11,194,11,109,11,30,11,165,11,203,11,109,11,109,11,109,11,109,11,72,11,166,10,36,14,203,11,156,11,240,11,240,11,57,11,246,10,240,11,144,12,231,11,165,11,219,12,219,12,165,11,238,12,175,11,107,20,150,19,236,9,10,13,198,13,57,13,125,12,22,12,48,13,165,11,140,10,87,10,127,10,233,10,30,11,113,10,217,19,54,20,7,18,76,17,156,9,81,11,231,11,135,12,97,12,127,10,180,10,72,11,30,11,233,10,30,11,140,10,50,12,72,11,147,11,109,11,109,11,109,11,109,11,147,11,147,11,147,11,147,11,109,11,109,11,147,11,147,11,147,11,106,16,135,12,165,11,31,12,194,11,72,11,72,11,109,11,156,11,57,11,100,11,203,11,156,11,194,11,125,12,57,11,176,14,176,14,172,12,31,12,165,11,72,11,109,11,72,11,156,11,118,11,233,10,233,10,30,11,72,11,72,11,100,10,14,15,174,15,135,12,50,12,172,12,118,11,231,11,147,11,147,11,13,12,30,11,233,10,233,10,233,10,233,10,20,10,5,15,240,15,29,13,188,13,22,12,180,10,194,11,118,11,50,12,13,12,30,11,30,11,87,10,87,10,30,11,246,10,27,20,30,19,153,12,5,15,113,13,97,12,81,11,85,13,123,13,140,10,20,10,113,10,180,10,30,11,246,10,193,10,13,16,205,14,219,12,88,12,109,11,72,11,72,11,109,11,233,10,180,10,233,10,180,10,233,10,30,11,72,11,246,10,217,19,190,19,231,11,217,13,172,12,240,11,13,12,128,11,31,12,81,11,180,10,180,10,180,10,30,11,233,10,60,10,213,16,213,16,44,11,223,9,135,12,48,13,48,13,3,12,3,12,48,13,240,11,30,11,87,10,20,10,166,10,193,10,240,11,100,11,246,10,72,11,180,10,127,10,81,11,31,12,78,12,78,12,144,12,97,12,240,11,194,11,147,11,30,11,23,17,42,15,109,11,72,11,30,11,72,11,30,11,30,11,72,11,72,11,72,11,30,11,72,11,109,11,72,11,30,11,165,11,100,11,100,11,165,11,165,11,240,11,50,12,144,12,78,12,240,11,194,11,156,11,156,11,156,11,109,11,180,10,133,16,53,16,238,12,19,13,109,11,147,11,72,11,165,11,165,11,30,11,233,10,180,10,30,11,30,11,30,11,233,10,240,15,174,15,31,12,194,11,109,11,109,11,109,11,72,11,109,11,109,11,30,11,30,11,30,11,233,10,72,11,220,10,7,18,223,17,97,12,113,13,135,12,165,11,81,11,222,11,50,12,180,10,127,10,127,10,127,10,180,10,233,10,140,10,53,16,173,16,205,14,73,14,166,10,220,10,72,11,72,11,194,11,156,11,109,11,30,11,127,10,127,10,233,10,72,11,119,16,226,13,193,10,30,11,30,11,72,11,72,11,72,11,109,11,109,11,72,11,109,11,109,11,109,11,147,11,72,11,54,20,57,19,213,8,104,13,205,14,151,13,19,13,30,11,238,12,151,13,78,12,81,11,156,9,183,9,193,10,109,11,123,13,101,14,50,12,125,12,29,13,231,11,135,12,135,12,165,11,144,12,13,12,109,11,109,11,127,10,236,9,130,9,165,11,194,11,233,10,233,10,180,10,233,10,30,11,156,11,240,11,31,12,78,12,78,12,78,12,31,12,194,11,194,11,128,11,57,11,127,10,166,10,220,10,194,11,104,13,217,13,29,13,172,12,240,11,194,11,147,11,109,11,72,11,30,11,203,11,128,11,81,11,194,11,194,11,156,11,203,11,31,12,240,11,240,11,194,11,72,11,30,11,109,11,109,11,72,11,80,15,127,15,194,11,125,12,29,13,144,12,219,12,219,12,151,13,120,14,113,13,166,10,133,8,156,9,20,10,47,10,100,0,3,0,40,0,3,0,3,0,3,0,5,0,14,0,14,0,10,0,11,0,3,0,8,0,9,0,7,0,3,0,91,1,0,32,254,31,246,31,234,31,216,31,194,31,168,31,136,31,98,31,58,31,10,31,216,30,160,30,98,30,34,30,220,29,144,29,66,29,238,28,150,28,58,28,216,27,114,27,10,27,156,26,42,26,180,25,58,25,188,24,60,24,182,23,46,23,160,22,16,22,126,21,232,20,78,20,176,19,16,19,110,18,200,17,30,17,116,16,198,15,22,15,100,14,174,13,248,12,64,12,132,11,200,10,10,10,74,9,138,8,198,7,2,7,62,6,120,5,178,4,234,3,34,3,90,2,146,1,202,0,0,0,54,255,110,254,166,253,222,252,22,252,78,251,136,250,194,249,254,248,58,248,118,247,182,246,246,245,56,245,124,244,192,243,8,243,82,242,156,241,234,240,58,240,140,239,226,238,56,238,146,237,240,236,80,236,178,235,24,235,130,234,240,233,96,233,210,232,74,232,196,231,68,231,198,230,76,230,214,229,100,229,246,228,142,228,40,228,198,227,106,227,18,227,190,226,112,226,36,226,222,225,158,225,96,225,40,225,246,224,198,224,158,224,120,224,88,224,62,224,40,224,22,224,10,224,2,224,0,224,79,112,117,115,83,99,114,105,112,116,72,97,110,100,108,101,114,0,95,101,110,99,111,100,101,0,95,100,101,99,111,100,101,0,49,55,79,112,117,115,83,99,114,105,112,116,72,97,110,100,108,101,114,0,80,49,55,79,112,117,115,83,99,114,105,112,116,72,97,110,100,108,101,114,0,80,75,49,55,79,112,117,115,83,99,114,105,112,116,72,97,110,100,108,101,114,0,105,105,0,118,0,118,105,0,105,105,105,105,105,0,105,105,105,105,105,105,105,0,105,105,105,105,105,105,0,0,255,0,255,0,255,0,255,0,255,0,254,1,0,1,255,0,254,0,253,2,0,1,255,0,254,0,253,3,0,1,255,117,110,107,110,111,119,110,32,101,114,114,111,114,0,115,117,99,99,101,115,115,0,105,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,98,117,102,102,101,114,32,116,111,111,32,115,109,97,108,108,0,105,110,116,101,114,110,97,108,32,101,114,114,111,114,0,99,111,114,114,117,112,116,101,100,32,115,116,114,101,97,109,0,114,101,113,117,101,115,116,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,105,110,118,97,108,105,100,32,115,116,97,116,101,0,109,101,109,111,114,121,32,97,108,108,111,99,97,116,105,111,110,32,102,97,105,108,101,100,0,255,255,156,110,86,70,59,51,45,40,37,33,31,28,26,25,23,22,21,20,19,18,17,16,16,15,15,14,13,13,12,12,12,12,11,11,11,10,10,10,9,9,9,9,9,9,8,8,8,8,8,7,7,7,7,7,7,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,25,23,2,0,126,124,119,109,87,41,19,9,4,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,90,80,75,69,63,56,49,40,34,29,20,18,10,0,0,0,0,0,0,0,0,110,100,90,84,78,71,65,58,51,45,39,32,26,20,12,0,0,0,0,0,0,118,110,103,93,86,80,75,70,65,59,53,47,40,31,23,15,4,0,0,0,0,126,119,112,104,95,89,83,78,72,66,60,54,47,39,32,25,17,12,1,0,0,134,127,120,114,103,97,91,85,78,72,66,60,54,47,41,35,29,23,16,10,1,144,137,130,124,113,107,101,95,88,82,76,70,64,57,51,45,39,33,26,15,1,152,145,138,132,123,117,111,105,98,92,86,80,74,67,61,55,49,43,36,20,1,162,155,148,142,133,127,121,115,108,102,96,90,84,77,71,65,59,53,46,30,1,172,165,158,152,143,137,131,125,118,112,106,100,94,87,81,75,69,63,56,45,20,200,200,200,200,200,200,200,200,198,193,188,183,178,173,168,163,158,153,148,129,104,40,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,40,15,23,28,31,34,36,38,39,41,42,43,44,45,46,47,47,49,50,51,52,53,54,55,55,57,58,59,60,61,62,63,63,65,66,67,68,69,70,71,71,40,20,33,41,48,53,57,61,64,66,69,71,73,75,76,78,80,82,85,87,89,91,92,94,96,98,101,103,105,107,108,110,112,114,117,119,121,123,124,126,128,40,23,39,51,60,67,73,79,83,87,91,94,97,100,102,105,107,111,115,118,121,124,126,129,131,135,139,142,145,148,150,153,155,159,163,166,169,172,174,177,179,35,28,49,65,78,89,99,107,114,120,126,132,136,141,145,149,153,159,165,171,176,180,185,189,192,199,205,211,216,220,225,229,232,239,245,251,21,33,58,79,97,112,125,137,148,157,166,174,182,189,195,201,207,217,227,235,243,251,17,35,63,86,106,123,139,152,165,177,187,197,206,214,222,230,237,250,25,31,55,75,91,105,117,128,138,146,154,161,168,174,180,185,190,200,208,215,222,229,235,240,245,255,16,36,65,89,110,128,144,159,173,185,196,207,217,226,234,242,250,11,41,74,103,128,151,172,191,209,225,241,255,9,43,79,110,138,163,186,207,227,246,12,39,71,99,123,144,164,182,198,214,228,241,253,9,44,81,113,142,168,192,214,235,255,7,49,90,127,160,191,220,247,6,51,95,134,170,203,234,7,47,87,123,155,184,212,237,6,52,97,137,174,208,240,5,57,106,151,192,231,5,59,111,158,202,243,5,55,103,147,187,224,5,60,113,161,206,248,4,65,122,175,224,4,67,127,182,234,224,224,224,224,224,224,224,224,160,160,160,160,185,185,185,178,178,168,134,61,37,224,224,224,224,224,224,224,224,240,240,240,240,207,207,207,198,198,183,144,66,40,160,160,160,160,160,160,160,160,185,185,185,185,193,193,193,183,183,172,138,64,38,240,240,240,240,240,240,240,240,207,207,207,207,204,204,204,193,193,180,143,66,40,185,185,185,185,185,185,185,185,193,193,193,193,193,193,193,183,183,172,138,65,39,207,207,207,207,207,207,207,207,204,204,204,204,201,201,201,188,188,176,141,66,40,193,193,193,193,193,193,193,193,193,193,193,193,194,194,194,184,184,173,139,65,39,204,204,204,204,204,204,204,204,201,201,201,201,198,198,198,187,187,175,140,66,40,72,127,65,129,66,128,65,128,64,128,62,128,64,128,64,128,92,78,92,79,92,78,90,79,116,41,115,40,114,40,132,26,132,26,145,17,161,12,176,10,177,11,24,179,48,138,54,135,54,132,53,134,56,133,55,132,55,132,61,114,70,96,74,88,75,88,87,74,89,66,91,67,100,59,108,50,120,40,122,37,97,43,78,50,83,78,84,81,88,75,86,74,87,71,90,73,93,74,93,74,109,40,114,36,117,34,117,34,143,17,145,18,146,19,162,12,165,10,178,7,189,6,190,8,177,9,23,178,54,115,63,102,66,98,69,99,74,89,71,91,73,91,78,89,86,80,92,66,93,64,102,59,103,60,104,60,117,52,123,44,138,35,133,31,97,38,77,45,61,90,93,60,105,42,107,41,110,45,116,38,113,38,112,38,124,26,132,27,136,19,140,20,155,14,159,16,158,18,170,13,177,10,187,8,192,6,175,9,159,10,21,178,59,110,71,86,75,85,84,83,91,66,88,73,87,72,92,75,98,72,105,58,107,54,115,52,114,55,112,56,129,51,132,40,150,33,140,29,98,35,77,42,42,121,96,66,108,43,111,40,117,44,123,32,120,36,119,33,127,33,134,34,139,21,147,23,152,20,158,25,154,26,166,21,173,16,184,13,184,10,150,13,139,15,22,178,63,114,74,82,84,83,92,82,103,62,96,72,96,67,101,73,107,72,113,55,118,52,125,52,118,52,117,55,135,49,137,39,157,32,145,29,97,33,77,40,2,1,0,0,8,13,16,19,21,23,24,26,27,28,29,30,31,32,32,33,34,34,35,36,36,37,37,224,112,44,15,3,2,1,0,254,237,192,132,70,23,4,0,255,252,226,155,61,11,2,0,250,245,234,203,71,50,42,38,35,33,31,29,28,27,26,25,24,23,22,21,20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0,179,99,0,71,56,43,30,21,12,6,0,199,165,144,124,109,96,84,71,61,51,42,32,23,15,8,0,241,225,211,199,187,175,164,153,142,132,123,114,105,96,88,80,72,64,57,50,44,38,33,29,24,20,16,12,9,5,2,0,15,131,138,138,155,155,173,173,69,93,115,118,131,138,141,138,150,150,155,150,155,160,166,160,131,128,134,141,141,141,145,145,145,150,155,155,155,155,160,160,160,160,166,166,173,173,182,192,182,192,192,192,205,192,205,224,4,6,24,7,5,0,0,2,0,0,12,28,41,13,252,247,15,42,25,14,1,254,62,41,247,246,37,65,252,3,250,4,66,7,248,16,14,38,253,33,13,22,39,23,12,255,36,64,27,250,249,10,55,43,17,1,1,8,1,1,6,245,74,53,247,244,55,76,244,8,253,3,93,27,252,26,39,59,3,248,2,0,77,11,9,248,22,44,250,7,40,9,26,3,9,249,20,101,249,4,3,248,42,26,0,241,33,68,2,23,254,55,46,254,15,3,255,21,16,41,250,27,61,39,5,245,42,88,4,1,254,60,65,6,252,255,251,73,56,1,247,19,94,29,247,0,12,99,6,4,8,237,102,46,243,3,2,13,3,2,9,235,84,72,238,245,46,104,234,8,18,38,48,23,0,240,70,83,235,11,5,245,117,22,248,250,23,117,244,3,3,248,95,28,4,246,15,77,60,241,255,4,124,2,252,3,38,84,24,231,2,13,42,13,31,21,252,56,46,255,255,35,79,243,19,249,65,88,247,242,20,4,81,49,227,20,0,75,3,239,5,247,44,92,248,1,253,22,69,31,250,95,41,244,5,39,67,16,252,1,0,250,120,55,220,243,44,122,4,232,81,5,11,3,7,2,0,9,10,88,46,2,90,87,93,91,82,98,109,120,118,12,113,115,117,119,99,59,87,111,63,111,112,80,126,124,125,124,129,121,126,23,132,127,127,127,126,127,122,133,130,134,101,118,119,145,126,86,124,120,123,119,170,173,107,109,8,16,32,249,247,246,245,244,234,210,202,201,200,197,174,82,59,56,55,54,46,22,12,11,10,9,7,0,64,0,203,150,0,215,195,166,125,110,82,0,120,0,128,64,0,232,158,10,0,230,0,243,221,192,181,0,171,85,0,192,128,64,0,205,154,102,51,0,213,171,128,85,43,0,224,192,160,128,96,64,32,0,100,40,16,7,3,1,0,253,250,244,233,212,182,150,131,120,110,98,85,72,60,49,40,32,25,19,15,13,11,9,8,7,6,5,4,3,2,1,0,210,208,206,203,199,193,183,168,142,104,74,52,37,27,20,14,10,6,4,2,0,223,201,183,167,152,138,124,111,98,88,79,70,62,56,50,44,39,35,31,27,24,21,18,16,14,12,10,8,6,4,3,2,1,0,188,176,155,138,119,97,67,43,26,10,0,165,119,80,61,47,35,27,20,14,9,4,0,113,63,0,125,51,26,18,15,12,11,10,9,8,7,6,5,4,3,2,1,0,198,105,45,22,15,12,11,10,9,8,7,6,5,4,3,2,1,0,213,162,116,83,59,43,32,24,18,15,12,9,7,6,5,3,2,0,239,187,116,59,28,16,11,10,9,8,7,6,5,4,3,2,1,0,250,229,188,135,86,51,30,19,13,10,8,6,5,4,3,2,1,0,249,235,213,185,156,128,103,83,66,53,42,33,26,21,17,13,10,0,254,249,235,206,164,118,77,46,27,16,10,7,5,4,3,2,1,0,255,253,249,239,220,191,156,119,85,57,37,23,15,10,6,4,2,0,255,253,251,246,237,223,203,179,152,124,98,75,55,40,29,21,15,0,255,254,253,247,220,162,106,67,42,28,18,12,9,6,4,3,2,0,31,57,107,160,205,205,255,255,255,255,255,255,255,255,255,255,255,255,69,47,67,111,166,205,255,255,255,255,255,255,255,255,255,255,255,255,82,74,79,95,109,128,145,160,173,205,205,205,224,255,255,224,255,224,125,74,59,69,97,141,182,255,255,255,255,255,255,255,255,255,255,255,173,115,85,73,76,92,115,145,173,205,224,224,255,255,255,255,255,255,166,134,113,102,101,102,107,118,125,138,145,155,166,182,192,192,205,150,224,182,134,101,83,79,85,97,120,145,173,205,224,255,255,255,255,255,255,224,192,150,120,101,92,89,93,102,118,134,160,182,192,224,224,224,255,224,224,182,155,134,118,109,104,102,106,111,118,131,145,160,173,131,241,190,178,132,87,74,41,14,0,223,193,157,140,106,57,39,18,0,131,74,141,79,80,138,95,104,134,95,99,91,125,93,76,123,115,123,128,0,214,42,0,235,128,21,0,244,184,72,11,0,248,214,128,42,7,0,248,225,170,80,25,5,0,251,236,198,126,54,18,3,0,250,238,211,159,82,35,15,5,0,250,231,203,168,128,88,53,25,6,0,252,238,216,185,148,108,71,40,18,4,0,253,243,225,199,166,128,90,57,31,13,3,0,254,246,233,212,183,147,109,73,44,23,10,2,0,255,250,240,223,198,166,128,90,58,33,16,6,1,0,255,251,244,231,210,181,146,110,75,46,25,12,5,1,0,255,253,248,238,221,196,164,128,92,60,35,18,8,3,1,0,255,253,249,242,229,208,180,146,110,76,48,27,14,7,3,1,0,129,0,207,50,0,236,129,20,0,245,185,72,10,0,249,213,129,42,6,0,250,226,169,87,27,4,0,251,233,194,130,62,20,4,0,250,236,207,160,99,47,17,3,0,255,240,217,182,131,81,41,11,1,0,255,254,233,201,159,107,61,20,2,1,0,255,249,233,206,170,128,86,50,23,7,1,0,255,250,238,217,186,148,108,70,39,18,6,1,0,255,252,243,226,200,166,128,90,56,30,13,4,1,0,255,252,245,231],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+20480),allocate([209,180,146,110,76,47,25,11,4,1,0,255,253,248,237,219,194,163,128,93,62,37,19,8,3,1,0,255,254,250,241,226,205,177,145,111,79,51,30,15,6,2,1,0,129,0,203,54,0,234,129,23,0,245,184,73,10,0,250,215,129,41,5,0,252,232,173,86,24,3,0,253,240,200,129,56,15,2,0,253,244,217,164,94,38,10,1,0,253,245,226,189,132,71,27,7,1,0,253,246,231,203,159,105,56,23,6,1,0,255,248,235,213,179,133,85,47,19,5,1,0,255,254,243,221,194,159,117,70,37,12,2,1,0,255,254,248,234,208,171,128,85,48,22,8,2,1,0,255,254,250,240,220,189,149,107,67,36,16,6,2,1,0,255,254,251,243,227,201,166,128,90,55,29,13,5,2,1,0,255,254,252,246,234,213,183,147,109,73,43,22,10,4,2,1,0,130,0,200,58,0,231,130,26,0,244,184,76,12,0,249,214,130,43,6,0,252,232,173,87,24,3,0,253,241,203,131,56,14,2,0,254,246,221,167,94,35,8,1,0,254,249,232,193,130,65,23,5,1,0,255,251,239,211,162,99,45,15,4,1,0,255,251,243,223,186,131,74,33,11,3,1,0,255,252,245,230,202,158,105,57,24,8,2,1,0,255,253,247,235,214,179,132,84,44,19,7,2,1,0,255,254,250,240,223,196,159,112,69,36,15,6,2,1,0,255,254,253,245,231,209,176,136,93,55,27,11,3,2,1,0,255,254,253,252,239,221,194,158,117,76,42,18,4,3,2,1,0,0,0,2,5,9,14,20,27,35,44,54,65,77,90,104,119,135,254,49,67,77,82,93,99,198,11,18,24,31,36,45,255,46,66,78,87,94,104,208,14,21,32,42,51,66,255,94,104,109,112,115,118,248,53,69,80,88,95,102,6,0,3,0,7,3,0,1,10,0,2,6,18,10,12,4,0,2,0,0,0,9,4,7,4,0,3,12,7,7,0,1,1,1,2,3,3,3,2,3,3,3,2,3,3,3,0,3,12,15,48,51,60,63,192,195,204,207,240,243,252,255,12,35,60,83,108,132,157,180,206,228,15,32,55,77,101,125,151,175,201,225,19,42,66,89,114,137,162,184,209,230,12,25,50,72,97,120,147,172,200,223,26,44,69,90,114,135,159,180,205,225,13,22,53,80,106,130,156,180,205,228,15,25,44,64,90,115,142,168,196,222,19,24,62,82,100,120,145,168,190,214,22,31,50,79,103,120,151,170,203,227,21,29,45,65,106,124,150,171,196,224,30,49,75,97,121,142,165,186,209,229,19,25,52,70,93,116,143,166,192,219,26,34,62,75,97,118,145,167,194,217,25,33,56,70,91,113,143,165,196,223,21,34,51,72,97,117,145,171,196,222,20,29,50,67,90,117,144,168,197,221,22,31,48,66,95,117,146,168,196,222,24,33,51,77,116,134,158,180,200,224,21,28,70,87,106,124,149,170,194,217,26,33,53,64,83,117,152,173,204,225,27,34,65,95,108,129,155,174,210,225,20,26,72,99,113,131,154,176,200,219,34,43,61,78,93,114,155,177,205,229,23,29,54,97,124,138,163,179,209,229,30,38,56,89,118,129,158,178,200,231,21,29,49,63,85,111,142,163,193,222,27,48,77,103,133,158,179,196,215,232,29,47,74,99,124,151,176,198,220,237,33,42,61,76,93,121,155,174,207,225,29,53,87,112,136,154,170,188,208,227,24,30,52,84,131,150,166,186,203,229,37,48,64,84,104,118,156,177,201,230,212,178,148,129,108,96,85,82,79,77,61,59,57,56,51,49,48,45,42,41,40,38,36,34,31,30,21,12,10,3,1,0,255,245,244,236,233,225,217,203,190,176,175,161,149,136,125,114,102,91,81,71,60,52,43,35,28,20,19,18,12,11,5,0,179,138,140,148,151,149,153,151,163,116,67,82,59,92,72,100,89,92,16,0,0,0,0,99,66,36,36,34,36,34,34,34,34,83,69,36,52,34,116,102,70,68,68,176,102,68,68,34,65,85,68,84,36,116,141,152,139,170,132,187,184,216,137,132,249,168,185,139,104,102,100,68,68,178,218,185,185,170,244,216,187,187,170,244,187,187,219,138,103,155,184,185,137,116,183,155,152,136,132,217,184,184,170,164,217,171,155,139,244,169,184,185,170,164,216,223,218,138,214,143,188,218,168,244,141,136,155,170,168,138,220,219,139,164,219,202,216,137,168,186,246,185,139,116,185,219,185,138,100,100,134,100,102,34,68,68,100,68,168,203,221,218,168,167,154,136,104,70,164,246,171,137,139,137,155,218,219,139,255,254,253,238,14,3,2,1,0,255,254,252,218,35,3,2,1,0,255,254,250,208,59,4,2,1,0,255,254,246,194,71,10,2,1,0,255,252,236,183,82,8,2,1,0,255,252,235,180,90,17,2,1,0,255,248,224,171,97,30,4,1,0,255,254,236,173,95,37,7,1,0,255,255,255,131,6,145,255,255,255,255,255,236,93,15,96,255,255,255,255,255,194,83,25,71,221,255,255,255,255,162,73,34,66,162,255,255,255,210,126,73,43,57,173,255,255,255,201,125,71,48,58,130,255,255,255,166,110,73,57,62,104,210,255,255,251,123,65,55,68,100,171,255,7,23,38,54,69,85,100,116,131,147,162,178,193,208,223,239,13,25,41,55,69,83,98,112,127,142,157,171,187,203,220,236,15,21,34,51,61,78,92,106,126,136,152,167,185,205,225,240,10,21,36,50,63,79,95,110,126,141,157,173,189,205,221,237,17,20,37,51,59,78,89,107,123,134,150,164,184,205,224,240,10,15,32,51,67,81,96,112,129,142,158,173,189,204,220,236,8,21,37,51,65,79,98,113,126,138,155,168,179,192,209,218,12,15,34,55,63,78,87,108,118,131,148,167,185,203,219,236,16,19,32,36,56,79,91,108,118,136,154,171,186,204,220,237,11,28,43,58,74,89,105,120,135,150,165,180,196,211,226,241,6,16,33,46,60,75,92,107,123,137,156,169,185,199,214,225,11,19,30,44,57,74,89,105,121,135,152,169,186,202,218,234,12,19,29,46,57,71,88,100,120,132,148,165,182,199,216,233,17,23,35,46,56,77,92,106,123,134,152,167,185,204,222,237,14,17,45,53,63,75,89,107,115,132,151,171,188,206,221,240,9,16,29,40,56,71,88,103,119,137,154,171,189,205,222,237,16,19,36,48,57,76,87,105,118,132,150,167,185,202,218,236,12,17,29,54,71,81,94,104,126,136,149,164,182,201,221,237,15,28,47,62,79,97,115,129,142,155,168,180,194,208,223,238,8,14,30,45,62,78,94,111,127,143,159,175,192,207,223,239,17,30,49,62,79,92,107,119,132,145,160,174,190,204,220,235,14,19,36,45,61,76,91,108,121,138,154,172,189,205,222,238,12,18,31,45,60,76,91,107,123,138,154,171,187,204,221,236,13,17,31,43,53,70,83,103,114,131,149,167,185,203,220,237,17,22,35,42,58,78,93,110,125,139,155,170,188,206,224,240,8,15,34,50,67,83,99,115,131,146,162,178,193,209,224,239,13,16,41,66,73,86,95,111,128,137,150,163,183,206,225,241,17,25,37,52,63,75,92,102,119,132,144,160,175,191,212,231,19,31,49,65,83,100,117,133,147,161,174,187,200,213,227,242,18,31,52,68,88,103,117,126,138,149,163,177,192,207,223,239,16,29,47,61,76,90,106,119,133,147,161,176,193,209,224,240,15,21,35,50,61,73,86,97,110,119,129,141,175,198,218,237,225,204,201,184,183,175,158,154,153,135,119,115,113,110,109,99,98,95,79,68,52,50,48,45,43,32,31,27,18,10,3,0,255,251,235,230,212,201,196,182,167,166,163,151,138,124,110,104,90,78,76,70,69,57,45,34,24,21,11,6,5,4,3,0,175,148,160,176,178,173,174,164,177,174,196,182,198,192,182,68,62,66,60,72,117,85,90,118,136,151,142,160,142,155,0,0,0,0,0,0,0,1,100,102,102,68,68,36,34,96,164,107,158,185,180,185,139,102,64,66,36,34,34,0,1,32,208,139,141,191,152,185,155,104,96,171,104,166,102,102,102,132,1,0,0,0,0,16,16,0,80,109,78,107,185,139,103,101,208,212,141,139,173,153,123,103,36,0,0,0,0,0,0,1,48,0,0,0,0,0,0,32,68,135,123,119,119,103,69,98,68,103,120,118,118,102,71,98,134,136,157,184,182,153,139,134,208,168,248,75,189,143,121,107,32,49,34,34,34,0,17,2,210,235,139,123,185,137,105,134,98,135,104,182,100,183,171,134,100,70,68,70,66,66,34,131,64,166,102,68,36,2,1,0,134,166,102,68,34,34,66,132,212,246,158,139,107,107,87,102,100,219,125,122,137,118,103,132,114,135,137,105,171,106,50,34,164,214,141,143,185,151,121,103,192,34,0,0,0,0,0,1,208,109,74,187,134,249,159,137,102,110,154,118,87,101,119,101,0,2,0,36,36,66,68,35,96,164,102,100,36,0,2,33,167,138,174,102,100,84,2,2,100,107,120,119,36,197,24,0,255,254,253,244,12,3,2,1,0,255,254,252,224,38,3,2,1,0,255,254,251,209,57,4,2,1,0,255,254,244,195,69,4,2,1,0,255,251,232,184,84,7,2,1,0,255,254,240,186,86,14,2,1,0,255,254,239,178,91,30,5,1,0,255,248,227,177,100,19,2,1,0,255,255,255,156,4,154,255,255,255,255,255,227,102,15,92,255,255,255,255,255,213,83,24,72,236,255,255,255,255,150,76,33,63,214,255,255,255,190,121,77,43,55,185,255,255,255,245,137,71,43,59,139,255,255,255,255,131,66,50,66,107,194,255,255,166,116,76,55,53,125,255,255,0,15,8,7,4,11,12,3,2,13,10,5,6,9,14,1,0,9,6,3,4,5,8,1,2,7,0,1,0,0,0,1,0,0,1,255,1,255,2,254,2,254,3,253,0,1,0,1,255,2,255,2,254,3,254,3,253,7,254,7,0,2,255,255,255,0,0,1,1,0,1,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,255,2,1,0,1,1,0,0,255,255,0,0,1,255,0,1,255,0,255,1,254,2,254,254,2,253,2,3,253,252,3,252,4,4,251,5,250,251,6,249,6,5,8,247,0,0,1,0,0,0,0,0,0,0,255,1,0,0,1,255,0,1,255,255,1,255,2,1,255,2,254,254,2,254,2,2,3,253,0,1,0,0,0,0,0,0,1,0,1,0,0,1,255,1,0,0,2,1,255,2,255,255,2,255,2,2,255,3,254,254,254,3,0,1,0,0,1,0,1,255,2,255,2,255,2,3,254,3,254,254,4,4,253,5,253,252,6,252,6,5,251,8,250,251,249,9,251,8,255,6,255,6,252,10,250,10,254,6,255,6,251,10,247,12,253,7,254,7,249,13,16,24,34,118,111,105,100,0,98,111,111,108,0,99,104,97,114,0,115,105,103,110,101,100,32,99,104,97,114,0,117,110,115,105,103,110,101,100,32,99,104,97,114,0,115,104,111,114,116,0,117,110,115,105,103,110,101,100,32,115,104,111,114,116,0,105,110,116,0,117,110,115,105,103,110,101,100,32,105,110,116,0,108,111,110,103,0,117,110,115,105,103,110,101,100,32,108,111,110,103,0,102,108,111,97,116,0,100,111,117,98,108,101,0,78,83,116,51,95,95,49,49,50,98,97,115,105,99,95,115,116,114,105,110,103,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,78,83,95,57,97,108,108,111,99,97,116,111,114,73,99,69,69,69,69,0,78,83,116,51,95,95,49,50,49,95,95,98,97,115,105,99,95,115,116,114,105,110,103,95,99,111,109,109,111,110,73,76,98,49,69,69,69,0,115,116,100,58,58,115,116,114,105,110,103,0,78,83,116,51,95,95,49,49,50,98,97,115,105,99,95,115,116,114,105,110,103,73,104,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,104,69,69,78,83,95,57,97,108,108,111,99,97,116,111,114,73,104,69,69,69,69,0,115,116,100,58,58,98,97,115,105,99,95,115,116,114,105,110,103,60,117,110,115,105,103,110,101,100,32,99,104,97,114,62,0,78,83,116,51,95,95,49,49,50,98,97,115,105,99,95,115,116,114,105,110,103,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,78,83,95,57,97,108,108,111,99,97,116,111,114,73,119,69,69,69,69,0,115,116,100,58,58,119,115,116,114,105,110,103,0,78,49,48,101,109,115,99,114,105,112,116,101,110,51,118,97,108,69,0,101,109,115,99,114,105,112,116,101,110,58,58,118,97,108,0,78,49,48,101,109,115,99,114,105,112,116,101,110,49,49,109,101,109,111,114,121,95,118,105,101,119,73,99,69,69,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,99,104,97,114,62,0,78,49,48,101,109,115,99,114,105,112,116,101,110,49,49,109,101,109,111,114,121,95,118,105,101,119,73,97,69,69,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,115,105,103,110,101,100,32,99,104,97,114,62,0,78,49,48,101,109,115,99,114,105,112,116,101,110,49,49,109,101,109,111,114,121,95,118,105,101,119,73,104,69,69,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,117,110,115,105,103,110,101,100,32,99,104,97,114,62,0,78,49,48,101,109,115,99,114,105,112,116,101,110,49,49,109,101,109,111,114,121,95,118,105,101,119,73,115,69,69,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,115,104,111,114,116,62,0,78,49,48,101,109,115,99,114,105,112,116,101,110,49,49,109,101,109,111,114,121,95,118,105,101,119,73,116,69,69,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,117,110,115,105,103,110,101,100,32,115,104,111,114,116,62,0,78,49,48,101,109,115,99,114,105,112,116,101,110,49,49,109,101,109,111,114,121,95,118,105,101,119,73,105,69,69,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,105,110,116,62,0,78,49,48,101,109,115,99,114,105,112,116,101,110,49,49,109,101,109,111,114,121,95,118,105,101,119,73,106,69,69,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,117,110,115,105,103,110,101,100,32,105,110,116,62,0,78,49,48,101,109,115,99,114,105,112,116,101,110,49,49,109,101,109,111,114,121,95,118,105,101,119,73,108,69,69,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,108,111,110,103,62,0,78,49,48,101,109,115,99,114,105,112,116,101,110,49,49,109,101,109,111,114,121,95,118,105,101,119,73,109,69,69,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,117,110,115,105,103,110,101,100,32,108,111,110,103,62,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,105,110,116,56,95,116,62,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,117,105,110,116,56,95,116,62,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,105,110,116,49,54,95,116,62,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,117,105,110,116,49,54,95,116,62,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,105,110,116,51,50,95,116,62,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,117,105,110,116,51,50,95,116,62,0,78,49,48,101,109,115,99,114,105,112,116,101,110,49,49,109,101,109,111,114,121,95,118,105,101,119,73,102,69,69,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,102,108,111,97,116,62,0,78,49,48,101,109,115,99,114,105,112,116,101,110,49,49,109,101,109,111,114,121,95,118,105,101,119,73,100,69,69,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,100,111,117,98,108,101,62,0,78,49,48,101,109,115,99,114,105,112,116,101,110,49,49,109,101,109,111,114,121,95,118,105,101,119,73,101,69,69,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,108,111,110,103,32,100,111,117,98,108,101,62,0,78,49,48,95,95,99,120,120,97,98,105,118,49,50,48,95,95,115,105,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,54,95,95,115,104,105,109,95,116,121,112,101,95,105,110,102,111,69,0,83,116,57,116,121,112,101,95,105,110,102,111,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,55,95,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,83,116,57,101,120,99,101,112,116,105,111,110,0,83,116,57,98,97,100,95,97,108,108,111,99,0,115,116,100,58,58,98,97,100,95,97,108,108,111,99,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,57,95,95,112,111,105,110,116,101,114,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,55,95,95,112,98,97,115,101,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,50,51,95,95,102,117,110,100,97,109,101,110,116,97,108,95,116,121,112,101,95,105,110,102,111,69,0,118,0,68,110,0,98,0,99,0,104,0,97,0,115,0,116,0,105,0,106,0,108,0,109,0,102,0,100,0,78,49,48,95,95,99,120,120,97,98,105,118,49,50,49,95,95,118,109,105,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+30720);
var tempDoublePtr=STATICTOP;STATICTOP+=16;var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86},embind_charCodes=void 0,awaitingDependencies={},registeredTypes={},typeDependencies={},char_0=48,char_9=57,BindingError=void 0,InternalError=void 0,EXCEPTIONS={last:0,caught:[],infos:{},deAdjust:function(e){if(!e||EXCEPTIONS.infos[e])return e;for(var t in EXCEPTIONS.infos){var i=EXCEPTIONS.infos[t];if(i.adjusted===e)return t}return e},addRef:function(e){if(e){var t=EXCEPTIONS.infos[e];t.refcount++}},decRef:function(e){if(e){var t=EXCEPTIONS.infos[e];assert(t.refcount>0),t.refcount--,0===t.refcount&&(t.destructor&&Runtime.dynCall("vi",t.destructor,[e]),delete EXCEPTIONS.infos[e],___cxa_free_exception(e))}},clearRef:function(e){if(e){var t=EXCEPTIONS.infos[e];t.refcount=0}}};Module._memset=_memset,Module._free=_free,Module._malloc=_malloc;var delayFunction=void 0,deletionQueue=[],registeredPointers={},registeredInstances={},UnboundTypeError=void 0,_llvm_fabs_f64=Math_abs;Module._i64Add=_i64Add;var emval_free_list=[],emval_handle_array=[{},{value:void 0},{value:null},{value:!0},{value:!1}];Module._bitshift64Ashr=_bitshift64Ashr,Module._bitshift64Lshr=_bitshift64Lshr,Module._memcpy=_memcpy;var _llvm_pow_f64=Math_pow;Module._memmove=_memmove,embind_init_charCodes(),BindingError=Module.BindingError=extendError(Error,"BindingError"),InternalError=Module.InternalError=extendError(Error,"InternalError"),init_ClassHandle(),init_RegisteredPointer(),init_embind(),UnboundTypeError=Module.UnboundTypeError=extendError(Error,"UnboundTypeError"),init_emval(),STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP),staticSealed=!0,STACK_MAX=STACK_BASE+TOTAL_STACK,DYNAMIC_BASE=DYNAMICTOP=Runtime.alignMemory(STACK_MAX);var cttz_i8=allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",ALLOC_DYNAMIC);Module.asmGlobalArg={Math:Math,Int8Array:Int8Array,Int16Array:Int16Array,Int32Array:Int32Array,Uint8Array:Uint8Array,Uint16Array:Uint16Array,Uint32Array:Uint32Array,Float32Array:Float32Array,Float64Array:Float64Array,NaN:NaN,Infinity:1/0},Module.asmLibraryArg={abort:abort,assert:assert,invoke_iiii:invoke_iiii,invoke_viiiii:invoke_viiiii,invoke_vi:invoke_vi,invoke_iiiiiii:invoke_iiiiiii,invoke_ii:invoke_ii,invoke_viiiiiii:invoke_viiiiiii,invoke_v:invoke_v,invoke_iiiii:invoke_iiiii,invoke_viiiiii:invoke_viiiiii,invoke_iiiiii:invoke_iiiiii,invoke_viiii:invoke_viiii,floatReadValueFromPointer:floatReadValueFromPointer,simpleReadValueFromPointer:simpleReadValueFromPointer,throwInternalError:throwInternalError,get_first_emval:get_first_emval,_llvm_fabs_f64:_llvm_fabs_f64,getLiveInheritedInstances:getLiveInheritedInstances,__ZSt18uncaught_exceptionv:__ZSt18uncaught_exceptionv,ClassHandle:ClassHandle,getShiftFromSize:getShiftFromSize,_sbrk:_sbrk,_emscripten_memcpy_big:_emscripten_memcpy_big,runDestructor:runDestructor,_sysconf:_sysconf,throwInstanceAlreadyDeleted:throwInstanceAlreadyDeleted,__embind_register_std_string:__embind_register_std_string,init_RegisteredPointer:init_RegisteredPointer,ClassHandle_isAliasOf:ClassHandle_isAliasOf,_llvm_stacksave:_llvm_stacksave,flushPendingDeletes:flushPendingDeletes,makeClassHandle:makeClassHandle,whenDependentTypesAreResolved:whenDependentTypesAreResolved,__embind_register_class_constructor:__embind_register_class_constructor,init_ClassHandle:init_ClassHandle,ClassHandle_clone:ClassHandle_clone,RegisteredClass:RegisteredClass,_llvm_stackrestore:_llvm_stackrestore,___cxa_find_matching_catch:___cxa_find_matching_catch,embind_init_charCodes:embind_init_charCodes,___setErrNo:___setErrNo,__embind_register_bool:__embind_register_bool,___resumeException:___resumeException,createNamedFunction:createNamedFunction,__embind_register_emval:__embind_register_emval,__emval_decref:__emval_decref,init_embind:init_embind,constNoSmartPtrRawPointerToWireType:constNoSmartPtrRawPointerToWireType,heap32VectorToArray:heap32VectorToArray,ClassHandle_delete:ClassHandle_delete,RegisteredPointer_destructor:RegisteredPointer_destructor,ensureOverloadTable:ensureOverloadTable,_time:_time,new_:new_,downcastPointer:downcastPointer,replacePublicSymbol:replacePublicSymbol,__embind_register_class:__embind_register_class,_llvm_pow_f64:_llvm_pow_f64,ClassHandle_deleteLater:ClassHandle_deleteLater,RegisteredPointer_deleteObject:RegisteredPointer_deleteObject,ClassHandle_isDeleted:ClassHandle_isDeleted,__embind_register_integer:__embind_register_integer,___cxa_allocate_exception:___cxa_allocate_exception,_embind_repr:_embind_repr,RegisteredPointer:RegisteredPointer,_exp2:_exp2,craftInvokerFunction:craftInvokerFunction,runDestructors:runDestructors,makeLegalFunctionName:makeLegalFunctionName,upcastPointer:upcastPointer,init_emval:init_emval,shallowCopyInternalPointer:shallowCopyInternalPointer,nonConstNoSmartPtrRawPointerToWireType:nonConstNoSmartPtrRawPointerToWireType,_abort:_abort,throwBindingError:throwBindingError,getTypeName:getTypeName,exposePublicSymbol:exposePublicSymbol,RegisteredPointer_fromWireType:RegisteredPointer_fromWireType,__embind_register_memory_view:__embind_register_memory_view,getInheritedInstance:getInheritedInstance,setDelayFunction:setDelayFunction,___gxx_personality_v0:___gxx_personality_v0,extendError:extendError,__embind_register_void:__embind_register_void,RegisteredPointer_getPointee:RegisteredPointer_getPointee,__emval_register:__emval_register,__embind_register_std_wstring:__embind_register_std_wstring,__embind_register_class_function:__embind_register_class_function,throwUnboundTypeError:throwUnboundTypeError,readLatin1String:readLatin1String,_pthread_self:_pthread_self,getBasestPointer:getBasestPointer,getInheritedInstanceCount:getInheritedInstanceCount,__embind_register_float:__embind_register_float,integerReadValueFromPointer:integerReadValueFromPointer,genericPointerToWireType:genericPointerToWireType,registerType:registerType,___cxa_throw:___cxa_throw,count_emval_handles:count_emval_handles,requireFunction:requireFunction,STACKTOP:STACKTOP,STACK_MAX:STACK_MAX,tempDoublePtr:tempDoublePtr,ABORT:ABORT,cttz_i8:cttz_i8};var asm=function(e,t,i){"use asm";var n=new e.Int8Array(i);var r=new e.Int16Array(i);var s=new e.Int32Array(i);var o=new e.Uint8Array(i);var a=new e.Uint16Array(i);var l=new e.Uint32Array(i);var f=new e.Float32Array(i);var h=new e.Float64Array(i);var u=t.STACKTOP|0;var c=t.STACK_MAX|0;var d=t.tempDoublePtr|0;var p=t.ABORT|0;var b=t.cttz_i8|0;var w=0;var m=0;var g=0;var _=0;var v=e.NaN,k=e.Infinity;var y=0,E=0,A=0,T=0,S=0,M=0,R=0,C=0,P=0;var x=0;var I=0;var O=0;var N=0;var D=0;var L=0;var U=0;var B=0;var j=0;var F=0;var G=e.Math.floor;var H=e.Math.abs;var z=e.Math.sqrt;var q=e.Math.pow;var W=e.Math.cos;var V=e.Math.sin;var Y=e.Math.tan;var Z=e.Math.acos;var $=e.Math.asin;var K=e.Math.atan;var X=e.Math.atan2;var J=e.Math.exp;var Q=e.Math.log;var ee=e.Math.ceil;var te=e.Math.imul;var ie=e.Math.min;var ne=e.Math.clz32;var re=t.abort;var se=t.assert;var oe=t.invoke_iiii;var ae=t.invoke_viiiii;var le=t.invoke_vi;var fe=t.invoke_iiiiiii;var he=t.invoke_ii;var ue=t.invoke_viiiiiii;var ce=t.invoke_v;var de=t.invoke_iiiii;var pe=t.invoke_viiiiii;var be=t.invoke_iiiiii;var we=t.invoke_viiii;var me=t.floatReadValueFromPointer;var ge=t.simpleReadValueFromPointer;var _e=t.throwInternalError;var ve=t.get_first_emval;var ke=t._llvm_fabs_f64;var ye=t.getLiveInheritedInstances;var Ee=t.__ZSt18uncaught_exceptionv;var Ae=t.ClassHandle;var Te=t.getShiftFromSize;var Se=t._sbrk;var Me=t._emscripten_memcpy_big;var Re=t.runDestructor;var Ce=t._sysconf;var Pe=t.throwInstanceAlreadyDeleted;var xe=t.__embind_register_std_string;var Ie=t.init_RegisteredPointer;var Oe=t.ClassHandle_isAliasOf;var Ne=t._llvm_stacksave;var De=t.flushPendingDeletes;var Le=t.makeClassHandle;var Ue=t.whenDependentTypesAreResolved;var Be=t.__embind_register_class_constructor;var je=t.init_ClassHandle;var Fe=t.ClassHandle_clone;var Ge=t.RegisteredClass;var He=t._llvm_stackrestore;var ze=t.___cxa_find_matching_catch;var qe=t.embind_init_charCodes;var We=t.___setErrNo;var Ve=t.__embind_register_bool;var Ye=t.___resumeException;var Ze=t.createNamedFunction;var $e=t.__embind_register_emval;var Ke=t.__emval_decref;var Xe=t.init_embind;var Je=t.constNoSmartPtrRawPointerToWireType;var Qe=t.heap32VectorToArray;var et=t.ClassHandle_delete;var tt=t.RegisteredPointer_destructor;var it=t.ensureOverloadTable;var nt=t._time;var rt=t.new_;var st=t.downcastPointer;var ot=t.replacePublicSymbol;var at=t.__embind_register_class;var lt=t._llvm_pow_f64;var ft=t.ClassHandle_deleteLater;var ht=t.RegisteredPointer_deleteObject;var ut=t.ClassHandle_isDeleted;var ct=t.__embind_register_integer;var dt=t.___cxa_allocate_exception;var pt=t._embind_repr;var bt=t.RegisteredPointer;var wt=t._exp2;var mt=t.craftInvokerFunction;var gt=t.runDestructors;var _t=t.makeLegalFunctionName;var vt=t.upcastPointer;var kt=t.init_emval;var yt=t.shallowCopyInternalPointer;var Et=t.nonConstNoSmartPtrRawPointerToWireType;var At=t._abort;var Tt=t.throwBindingError;var St=t.getTypeName;var Mt=t.exposePublicSymbol;var Rt=t.RegisteredPointer_fromWireType;var Ct=t.__embind_register_memory_view;var Pt=t.getInheritedInstance;var xt=t.setDelayFunction;var It=t.___gxx_personality_v0;var Ot=t.extendError;var Nt=t.__embind_register_void;var Dt=t.RegisteredPointer_getPointee;var Lt=t.__emval_register;var Ut=t.__embind_register_std_wstring;var Bt=t.__embind_register_class_function;var jt=t.throwUnboundTypeError;var Ft=t.readLatin1String;var Gt=t._pthread_self;var Ht=t.getBasestPointer;var zt=t.getInheritedInstanceCount;var qt=t.__embind_register_float;var Wt=t.integerReadValueFromPointer;var Vt=t.genericPointerToWireType;var Yt=t.registerType;var Zt=t.___cxa_throw;var $t=t.count_emval_handles;var Kt=t.requireFunction;var Xt=0;function Jt(e,t,i,a,l,h){e=e|0;t=t|0;i=i|0;a=a|0;l=l|0;h=h|0;var c=0,p=0,b=0,w=0,m=0,g=0,_=0,v=0,k=0,y=0,E=0,A=0,T=0,S=0,M=0,R=0,C=0,P=0,x=0,I=0,O=0,N=0,D=0,L=0,U=0,B=0,j=0,F=0,q=0,W=0,V=0,Y=0,Z=0,$=0,K=0,X=0,J=0,ee=0,ie=0,re=0,se=0,oe=0,ae=0,le=0,fe=0,he=0,ue=0,ce=0,de=0,pe=0,be=0,we=0,me=0,ge=0,_e=0,ve=0,ke=0,ye=0,Ee=0,Ae=0,Te=0,Se=0,Me=0,Re=0,Ce=0,Pe=0,xe=0,Ie=0,Oe=0,De=0,Le=0,Ue=0,Be=0,je=0,Fe=0,Ge=0,ze=0,qe=0,We=0,Ve=0,Ye=0,Ze=0,$e=0,Ke=0,Xe=0,Je=0,Qe=0,et=0,tt=0,it=0,nt=0,rt=0,st=0;rt=u;u=u+192|0;Y=rt+80|0;m=rt+32|0;Ke=rt+28|0;L=rt+24|0;ze=rt+20|0;Ge=rt+16|0;J=rt+12|0;xe=rt+8|0;Pe=rt+4|0;U=rt;et=s[e+4>>2]|0;$e=s[e+8>>2]|0;s[Ke>>2]=15;f[L>>2]=0;s[ze>>2]=0;s[J>>2]=0;Fe=s[e>>2]|0;Ve=Fe+8|0;nt=s[Ve>>2]|0;N=s[Fe+4>>2]|0;Oe=Fe+32|0;ye=s[Oe>>2]|0;tt=s[e+32>>2]|0;it=s[e+36>>2]|0;Ce=(tt|0)!=0;f[xe>>2]=0;if((l|0)<2|(t|0)==0){e=-1;u=rt;return e|0}V=e+28|0;c=te(s[V>>2]|0,i)|0;pe=Fe+44|0;Me=Fe+36|0;i=s[Me>>2]|0;Ee=0;while(1){if((Ee|0)>(i|0)){i=-1;Te=631;break}if((s[pe>>2]<<Ee|0)==(c|0))break;Ee=Ee+1|0}if((Te|0)==631){u=rt;return i|0}$=1<<Ee;je=s[pe>>2]<<Ee;D=e+212+((te(et,N)|0)<<2)|0;Xe=e+212+((te(et,N+1024|0)|0)<<2)|0;Ze=te(et,nt)|0;Je=Xe+(Ze<<2)|0;Qe=Je+(Ze<<2)|0;Ye=Qe+(Ze<<2)|0;b=(h|0)==0;if(b){O=0;P=1;Re=1}else{Be=s[h+20>>2]|0;We=s[h+28>>2]|0;P=ne(We|0)|0;qe=32-P|0;We=We>>>(qe+-16|0);Re=(We>>>12)+-8|0;P=Be+(P+-32)|0;O=P+4>>3;Re=(Be<<3)-((qe<<3)+(Re+(We>>>0>(s[5272+(Re<<2)>>2]|0)>>>0&1)))|0}l=(l|0)<1275?l:1275;w=l-O|0;ve=e+44|0;i=s[e+40>>2]|0;if(!(s[ve>>2]|0))if((i|0)==-1)Te=13;else{We=te(i,c)|0;Te=s[Fe>>2]|0;Te=((We+((P|0)>1?P:0)+(Te<<2)|0)/(Te<<3|0)|0)-((s[e+48>>2]|0)!=0&1)|0;We=(l|0)<(Te|0);l=((We?l:Te)|0)<2?2:We?l:Te;Te=13}else if((i|0)==-1){i=-1;Te=13}else{Le=s[Fe>>2]|0;Le=((te(i,c)|0)+(Le>>4)|0)/(Le>>3|0)|0;p=l;I=Le>>6}if((Te|0)==13){p=l;I=l-O|0;Le=0}l=te(($e*40|0)+20|0,(400>>>Ee)+-50|0)|0;c=(p*400>>3-Ee)-l|0;if((i|0)==-1)Ue=c;else{Ue=i-l|0;Ue=(c|0)<(Ue|0)?c:Ue}if(b){s[m>>2]=a;s[m+8>>2]=0;s[m+12>>2]=0;s[m+16>>2]=0;s[m+20>>2]=33;s[m+24>>2]=0;s[m+28>>2]=-2147483648;s[m+40>>2]=-1;s[m+32>>2]=0;s[m+36>>2]=0;s[m+4>>2]=p;s[m+44>>2]=0;We=m}else We=h;Se=(Le|0)>0;if(((Se?(s[e+52>>2]|0)!=0:0)?(_=(P|0)==1?2:0,v=(Le<<1)-(s[e+176>>2]|0)>>6,E=(_|0)>(v|0),((E?_:v)|0)<(w|0)):0)?(A=E?_:v,(A|0)<(w|0)):0){p=O+A|0;De=s[We>>2]|0;qe=s[We+8>>2]|0;Be=0-qe|0;c=We+4|0;Mr(De+p+Be|0,De+(s[c>>2]|0)+Be|0,qe|0)|0;s[c>>2]=p;c=A}else c=w;x=p<<3;de=s[Fe+12>>2]|0;de=(it|0)>(de|0)?de:it;B=je+N|0;m=te(et,B)|0;qe=Ne()|0;W=u;u=u+((1*(m<<2)|0)+15&-16)|0;m=e+192|0;g=+f[m>>2];l=te($e,je-N|0)|0;w=s[V>>2]|0;l=(l|0)/(w|0)|0;i=0;k=0;y=0;while(1){if((i|0)>=(l|0))break;Ie=+f[t+(i<<2)>>2];i=i+1|0;k=k>Ie?k:Ie;y=y<Ie?y:Ie}Ie=-y;if(!(g>(k>Ie?k:Ie))){i=0;k=0;g=0;while(1){if((i|0)>=(l|0))break;Ie=+f[t+(i<<2)>>2];i=i+1|0;k=k>Ie?k:Ie;g=g<Ie?g:Ie}g=-g;if(k>g)g=k}b=t+(l<<2)|0;i=(te($e,N)|0)/(w|0)|0;l=0;k=0;y=0;while(1){if((l|0)>=(i|0))break;Ie=+f[b+(l<<2)>>2];l=l+1|0;k=k>Ie?k:Ie;y=y<Ie?y:Ie}Ie=-y;Ie=k>Ie?k:Ie;f[m>>2]=Ie;g=g>Ie?g:Ie;be=e+60|0;T=g<=1/+(1<<s[be>>2]|0);C=T&1;if((P|0)==1){M=We+28|0;l=s[M>>2]|0;i=l>>>15;l=l-i|0;A=We+32|0;if(T)s[A>>2]=(s[A>>2]|0)+l;else i=l;s[M>>2]=i;m=We+36|0;R=We+20|0;a=We+40|0;h=We+24|0;_=We+8|0;v=We+4|0;E=We+44|0;while(1){if(i>>>0>=8388609)break;l=s[A>>2]|0;w=l>>>23;if((w|0)==255)s[m>>2]=(s[m>>2]|0)+1;else{b=l>>>31;i=s[a>>2]|0;if((i|0)>-1){l=s[h>>2]|0;if((l+(s[_>>2]|0)|0)>>>0<(s[v>>2]|0)>>>0){s[h>>2]=l+1;n[(s[We>>2]|0)+l>>0]=i+b;i=0}else i=-1;s[E>>2]=s[E>>2]|i}i=s[m>>2]|0;if(i|0){b=b+255&255;do{l=s[h>>2]|0;if((l+(s[_>>2]|0)|0)>>>0<(s[v>>2]|0)>>>0){s[h>>2]=l+1;n[(s[We>>2]|0)+l>>0]=b;l=0;i=s[m>>2]|0}else l=-1;s[E>>2]=s[E>>2]|l;i=i+-1|0;s[m>>2]=i}while((i|0)!=0)}s[a>>2]=w&255;l=s[A>>2]|0;i=s[M>>2]|0}s[A>>2]=l<<8&2147483392;i=i<<8;s[M>>2]=i;s[R>>2]=(s[R>>2]|0)+8}if(T){if(Se){b=O+2|0;b=(p|0)<(b|0)?p:b;l=s[We>>2]|0;p=s[_>>2]|0;i=0-p|0;Mr(l+b+i|0,l+(s[v>>2]|0)+i|0,p|0)|0;s[v>>2]=b;p=b;i=s[M>>2]|0;l=b;c=2;b=b<<3}else{l=I;b=x}P=p<<3;Be=s[R>>2]|0;s[R>>2]=Be+(P-(Be+((ne(i|0)|0)+-32)));Be=C}else{l=I;Be=0;P=1;b=x}}else{l=I;Be=0;b=x}T=e+16|0;M=Fe+16|0;R=Fe+20|0;C=je<<2;v=g>65536;A=0;do{m=v&(s[T>>2]|0)!=0;h=t+(A<<2)|0;_=W+((te(A,B)|0)<<2)+(N<<2)|0;a=s[V>>2]|0;E=e+160+(A<<2)|0;k=+f[M>>2];g=+f[E>>2];e:do if(+f[R>>2]==0){if((a|0)!=1){i=(je|0)/(a|0)|0;Te=64;break}if(m){i=je;Te=65}else{i=0;while(1){if((i|0)>=(je|0))break e;Ie=+f[h+((te(i,et)|0)<<2)>>2]*32768;f[_+(i<<2)>>2]=Ie-g;i=i+1|0;g=k*Ie}}}else{i=(je|0)/(a|0)|0;if((a|0)==1)Te=65;else Te=64}while(0);if((Te|0)==64){yr(_|0,0,C|0)|0;Te=65}e:do if((Te|0)==65){Te=0;w=0;while(1){if((w|0)>=(i|0))break;f[_+((te(w,a)|0)<<2)>>2]=+f[h+((te(w,et)|0)<<2)>>2]*32768;w=w+1|0}t:do if(m){w=0;while(1){if((w|0)>=(i|0)){i=0;break t}De=_+((te(w,a)|0)<<2)|0;Ie=+f[De>>2];ke=Ie>65536;Ae=Ie<-65536&(ke^1);f[De>>2]=Ae|ke?Ae?-65536:65536:Ie;w=w+1|0}}else i=0;while(0);while(1){if((i|0)>=(je|0))break e;De=_+(i<<2)|0;Ie=+f[De>>2];f[De>>2]=Ie-g;i=i+1|0;g=k*Ie}}while(0);f[E>>2]=g;A=A+1|0}while((A|0)<(et|0));Ae=e+68|0;if((((s[Ae>>2]|0)!=0&(c|0)>3|(c|0)>($e*12|0))&(Ce^1)&(Be|0)==0?(s[e+20>>2]|0)==0:0)?(s[e+24>>2]|0)>4:0){if((s[e+116>>2]|0)==0|(Ee|0)==3)i=0;else i=(s[e+64>>2]|0)==5010;i=i^1}else i=0;ue=e+100|0;De=s[ue>>2]|0;i=Qt(e,W,D,et,je,De,Ke,L,U,i&1,c)|0;Ie=+f[L>>2];if(!(Ie>.4000000059604645)?!(+f[e+108>>2]>.4000000059604645):0)ke=0;else Te=82;do if((Te|0)==82){if(s[e+120>>2]|0?!(+f[e+124>>2]>.3):0){ke=0;break}oe=+(s[Ke>>2]|0);fe=+(s[e+104>>2]|0);ke=(oe>fe*1.26|oe<fe*.79)&1}while(0);he=(i|0)==0;e:do if(he){if(!(Ce|(P+16|0)>(b|0))){h=We+28|0;i=s[h>>2]|0;i=i-(i>>>1)|0;s[h>>2]=i;_=We+32|0;v=We+36|0;E=We+20|0;A=We+40|0;T=We+24|0;M=We+8|0;R=We+4|0;C=We+44|0;while(1){if(i>>>0>=8388609)break e;w=s[_>>2]|0;a=w>>>23;if((a|0)==255)s[v>>2]=(s[v>>2]|0)+1;else{m=w>>>31;i=s[A>>2]|0;if((i|0)>-1){w=s[T>>2]|0;if((w+(s[M>>2]|0)|0)>>>0<(s[R>>2]|0)>>>0){s[T>>2]=w+1;n[(s[We>>2]|0)+w>>0]=i+m;i=0}else i=-1;s[C>>2]=s[C>>2]|i}i=s[v>>2]|0;if(i|0){m=m+255&255;do{w=s[T>>2]|0;if((w+(s[M>>2]|0)|0)>>>0<(s[R>>2]|0)>>>0){s[T>>2]=w+1;n[(s[We>>2]|0)+w>>0]=m;w=0;i=s[v>>2]|0}else w=-1;s[C>>2]=s[C>>2]|w;i=i+-1|0;s[v>>2]=i}while((i|0)!=0)}s[A>>2]=a&255;w=s[_>>2]|0;i=s[h>>2]|0}s[_>>2]=w<<8&2147483392;i=i<<8;s[h>>2]=i;s[E>>2]=(s[E>>2]|0)+8}}}else{C=We+28|0;w=s[C>>2]|0;i=w>>>1;P=We+32|0;w=(s[P>>2]|0)+(w-i)|0;s[P>>2]=w;s[C>>2]=i;x=We+36|0;I=We+20|0;O=We+40|0;N=We+24|0;t=We+8|0;D=We+4|0;L=We+44|0;while(1){if(i>>>0>=8388609)break;a=w>>>23;if((a|0)==255)s[x>>2]=(s[x>>2]|0)+1;else{m=w>>>31;i=s[O>>2]|0;if((i|0)>-1){w=s[N>>2]|0;if((w+(s[t>>2]|0)|0)>>>0<(s[D>>2]|0)>>>0){s[N>>2]=w+1;n[(s[We>>2]|0)+w>>0]=i+m;i=0}else i=-1;s[L>>2]=s[L>>2]|i}i=s[x>>2]|0;if(i|0){m=m+255&255;do{w=s[N>>2]|0;if((w+(s[t>>2]|0)|0)>>>0<(s[D>>2]|0)>>>0){s[N>>2]=w+1;n[(s[We>>2]|0)+w>>0]=m;w=0;i=s[x>>2]|0}else w=-1;s[L>>2]=s[L>>2]|w;i=i+-1|0;s[x>>2]=i}while((i|0)!=0)}s[O>>2]=a&255;w=s[P>>2]|0;i=s[C>>2]|0}w=w<<8&2147483392;s[P>>2]=w;i=i<<8;s[C>>2]=i;s[I>>2]=(s[I>>2]|0)+8}M=s[Ke>>2]|0;h=M+1|0;s[Ke>>2]=h;R=ne(h|0)|0;E=32-R|0;_=E+-5|0;m=(i>>>0)/6|0;if(!_)i=i-(te(m,10-E|0)|0)|0;else{w=w+(i-(te(m,11-E|0)|0))|0;s[P>>2]=w;i=m}s[C>>2]=i;while(1){if(i>>>0>=8388609)break;a=w>>>23;if((a|0)==255)s[x>>2]=(s[x>>2]|0)+1;else{m=w>>>31;i=s[O>>2]|0;if((i|0)>-1){w=s[N>>2]|0;if((w+(s[t>>2]|0)|0)>>>0<(s[D>>2]|0)>>>0){s[N>>2]=w+1;n[(s[We>>2]|0)+w>>0]=i+m;i=0}else i=-1;s[L>>2]=s[L>>2]|i}i=s[x>>2]|0;if(i|0){m=m+255&255;do{w=s[N>>2]|0;if((w+(s[t>>2]|0)|0)>>>0<(s[D>>2]|0)>>>0){s[N>>2]=w+1;n[(s[We>>2]|0)+w>>0]=m;w=0;i=s[x>>2]|0}else w=-1;s[L>>2]=s[L>>2]|w;i=i+-1|0;s[x>>2]=i}while((i|0)!=0)}s[O>>2]=a&255;w=s[P>>2]|0;i=s[C>>2]|0}w=w<<8&2147483392;s[P>>2]=w;i=i<<8;s[C>>2]=i;s[I>>2]=(s[I>>2]|0)+8}v=h-(16<<_)|0;E=E+-1|0;A=We+12|0;i=s[A>>2]|0;T=We+16|0;a=s[T>>2]|0;if((a+E|0)>>>0>32){h=7-a|0;h=a+((h|0)>-8?h:-8)&-8;_=a;do{w=s[t>>2]|0;m=s[D>>2]|0;if(((s[N>>2]|0)+w|0)>>>0<m>>>0){w=w+1|0;s[t>>2]=w;n[(s[We>>2]|0)+(m-w)>>0]=i;w=0}else w=-1;s[L>>2]=s[L>>2]|w;i=i>>>8;_=_+-8|0}while((_|0)>7);a=a+-8-h|0}i=i|v<<a;w=a+E|0;s[A>>2]=i;s[T>>2]=w;m=(s[I>>2]|0)+E|0;s[I>>2]=m;s[Ke>>2]=M;v=s[U>>2]|0;if((w+3|0)>>>0>32){_=a+23|0;h=R+-24-a|0;h=a+((h|0)>-8?h:-8)+31-R&-8;do{m=s[t>>2]|0;a=s[D>>2]|0;if(((s[N>>2]|0)+m|0)>>>0<a>>>0){m=m+1|0;s[t>>2]=m;n[(s[We>>2]|0)+(a-m)>>0]=i;m=0}else m=-1;s[L>>2]=s[L>>2]|m;i=i>>>8;w=w+-8|0}while((w|0)>7);m=s[I>>2]|0;w=_-R-h|0}s[A>>2]=i|v<<w;s[T>>2]=w+3;m=m+3|0;s[I>>2]=m;i=s[C>>2]|0;w=i>>>2;if((De|0)>0){_e=o[29345+(De+-1)>>0]|0;ge=i-(te(w,_e)|0)|0;s[P>>2]=(s[P>>2]|0)+ge;w=te(w,_e-(o[29345+De>>0]|0)|0)|0}else w=i-(te(w,o[29345+De>>0]|0)|0)|0;s[C>>2]=w;i=m;while(1){if(w>>>0>=8388609)break e;m=s[P>>2]|0;a=m>>>23;if((a|0)==255)s[x>>2]=(s[x>>2]|0)+1;else{m=m>>>31;i=s[O>>2]|0;if((i|0)>-1){w=s[N>>2]|0;if((w+(s[t>>2]|0)|0)>>>0<(s[D>>2]|0)>>>0){s[N>>2]=w+1;n[(s[We>>2]|0)+w>>0]=i+m;i=0}else i=-1;s[L>>2]=s[L>>2]|i}i=s[x>>2]|0;if(i|0){m=m+255&255;do{w=s[N>>2]|0;if((w+(s[t>>2]|0)|0)>>>0<(s[D>>2]|0)>>>0){s[N>>2]=w+1;n[(s[We>>2]|0)+w>>0]=m;w=0;i=s[x>>2]|0}else w=-1;s[L>>2]=s[L>>2]|w;i=i+-1|0;s[x>>2]=i}while((i|0)!=0)}s[O>>2]=a&255;m=s[P>>2]|0;w=s[C>>2]|0;i=s[I>>2]|0}s[P>>2]=m<<8&2147483392;w=w<<8;s[C>>2]=w;i=i+8|0;s[I>>2]=i}}while(0);we=e+24|0;if((s[we>>2]|0)>0?(s[Ae>>2]|0)==0:0)x=ei(W,B,et,xe,J)|0;else x=0;D=(Ee|0)>0;e:do if(D?((s[We+20>>2]|0)+((ne(s[We+28>>2]|0)|0)+-32)+3|0)<=(b|0):0)if(x){R=(te(et,je)|0)<<2;M=u;u=u+((1*R|0)+15&-16)|0;R=u;u=u+((1*(Ze<<2)|0)+15&-16)|0;C=u;u=u+((1*(Ze<<2)|0)+15&-16)|0;T=te($e,nt)|0;P=u;u=u+((1*(T<<2)|0)+15&-16)|0;if((s[we>>2]|0)>7){ti(Fe,0,W,M,$e,et,Ee,s[V>>2]|0);i=s[Oe>>2]|0;w=s[pe>>2]<<Ee;v=0;do{m=te(v,w)|0;A=0;while(1){if((A|0)>=(de|0))break;_=r[i+(A<<1)>>1]|0;a=M+(m+(_<<Ee)<<2)|0;h=A+1|0;_=(r[i+(h<<1)>>1]|0)-_<<Ee;E=0;g=0;while(1){if((E|0)>=(_|0))break;fe=+f[a+(E<<2)>>2];E=E+1|0;g=g+fe*fe}fe=+z(+(g+1.0000000272452012e-27));f[R+(A+(te(v,s[Ve>>2]|0)|0)<<2)>>2]=fe;A=h}v=v+1|0}while((v|0)<($e|0));w=0;do{i=0;while(1){if((i|0)>=(de|0)){i=de;break}_e=i+(te(w,s[Ve>>2]|0)|0)|0;fe=+Q(+ +f[R+(_e<<2)>>2])*1.4426950408889634;f[P+(_e<<2)>>2]=fe-+f[17220+(i<<2)>>2];i=i+1|0}while(1){if((i|0)>=(it|0))break;f[P+((te(w,s[Ve>>2]|0)|0)+i<<2)>>2]=-14;i=i+1|0}w=w+1|0}while((w|0)<($e|0));g=+(Ee|0)*.5;i=0;while(1){if((i|0)>=(T|0)){O=1;I=0;i=x;x=$;_e=0;break e}_e=P+(i<<2)|0;f[_e>>2]=+f[_e>>2]+g;i=i+1|0}}else{O=0;I=0;i=x;x=$;_e=0}}else{i=x;w=0;Te=171}else{i=0;w=1;Te=171}while(0);if((Te|0)==171){R=(te(et,je)|0)<<2;M=u;u=u+((1*R|0)+15&-16)|0;R=u;u=u+((1*(Ze<<2)|0)+15&-16)|0;C=u;u=u+((1*(Ze<<2)|0)+15&-16)|0;O=(te($e,nt)|0)<<2;P=u;u=u+((1*O|0)+15&-16)|0;O=0;I=1;x=0;_e=w}ti(Fe,x,W,M,$e,et,Ee,s[V>>2]|0);ge=(et|0)==2;if(ge&($e|0)==1)s[J>>2]=0;w=s[Oe>>2]|0;m=s[pe>>2]<<Ee;E=0;do{a=te(E,m)|0;T=0;while(1){if((T|0)>=(de|0))break;v=r[w+(T<<1)>>1]|0;h=M+(a+(v<<Ee)<<2)|0;_=T+1|0;v=(r[w+(_<<1)>>1]|0)-v<<Ee;A=0;g=0;while(1){if((A|0)>=(v|0))break;fe=+f[h+(A<<2)>>2];A=A+1|0;g=g+fe*fe}fe=+z(+(g+1.0000000272452012e-27));f[R+(T+(te(E,s[Ve>>2]|0)|0)<<2)>>2]=fe;T=_}E=E+1|0}while((E|0)<($e|0));E=(s[Ae>>2]|0)==0;e:do if(E)m=0;else{w=2;while(1){if((w|0)>=(it|0)){m=0;break e}me=R+(w<<2)|0;oe=+f[me>>2];fe=+f[R>>2]*9999999747378752e-20;fe=oe<fe?oe:fe;f[me>>2]=fe>1.0000000036274937e-15?fe:1.0000000036274937e-15;w=w+1|0}}while(0);do{w=0;while(1){if((w|0)>=(de|0)){w=de;break}me=w+(te(m,s[Ve>>2]|0)|0)|0;fe=+Q(+ +f[R+(me<<2)>>2])*1.4426950408889634;f[C+(me<<2)>>2]=fe-+f[17220+(w<<2)>>2];w=w+1|0}while(1){if((w|0)>=(it|0))break;f[C+((te(m,s[Ve>>2]|0)|0)+w<<2)>>2]=-14;w=w+1|0}m=m+1|0}while((m|0)<($e|0));me=te($e,nt)|0;F=u;u=u+((1*(me<<2)|0)+15&-16)|0;yr(F|0,0,it<<2|0)|0;if(!Ce?(q=s[e+204>>2]|0,!((q|0)==0|E^1)):0){v=s[e+92>>2]|0;v=(v|0)<2?2:v;_=0;w=0;k=0;g=0;while(1){if((_|0)>=($e|0))break;h=te(nt,_)|0;a=0;y=g;while(1){if((a|0)>=(v|0))break;g=+f[q+(h+a<<2)>>2];m=g<.25;do if(g>-2|m^1){if(m){if(!(g>0))break}else g=.25;g=g*.5}else g=-2;while(0);le=a+1|0;ce=(r[ye+(le<<1)>>1]|0)-(r[ye+(a<<1)>>1]|0)|0;w=w+ce|0;k=k+g*+((a<<1|1)-v|0);a=le;y=y+g*+(ce|0)}_=_+1|0;g=y}g=g/+(w|0)+.20000000298023224;k=k*6/+(te(te(te($e,v+-1|0)|0,v+1|0)|0,v)|0)*.5;w=k<.03099999949336052;k=w?w&!(k>-.03099999949336052)?-.03099999949336052:k:.03099999949336052;w=(r[ye+(v<<1)>>1]|0)/2|0;_=0;while(1){m=_+1|0;if((r[ye+(m<<1)>>1]|0)<(w|0))_=m;else break}a=($e|0)==2;w=0;h=0;while(1){if((h|0)>=(v|0))break;m=q+(h<<2)|0;if(a){ce=q+(nt+h<<2)|0;m=+f[m>>2]>+f[ce>>2]?m:ce}y=+f[m>>2];y=(y<0?y:0)-(g+k*+(h-_|0));if(y>.25){f[F+(h<<2)>>2]=y+-.25;w=w+1|0}h=h+1|0}e:do if((w|0)>2){g=g+.25;if(g>0){yr(F|0,0,v<<2|0)|0;k=0;g=0;break}else w=0;while(1){if((w|0)>=(v|0))break e;ce=F+(w<<2)|0;fe=+f[ce>>2]+-.25;f[ce>>2]=fe<0?0:fe;w=w+1|0}}while(0);fe=g+.20000000298023224;Z=k*64}else{fe=0;Z=0}if(E){y=I?0:+(Ee|0)*.5;w=($e|0)==2;k=-10;S=0;m=tt;while(1){if((m|0)>=(it|0))break;oe=k+-1;g=+f[C+(m<<2)>>2]-y;g=oe>g?oe:g;do if(w){k=+f[C+(m+nt<<2)>>2]-y;if(g>k)break;g=k}while(0);k=g;S=S+g;m=m+1|0}ce=e+208|0;j=+f[ce>>2];oe=S/+(it-tt|0)-j;ae=oe<-1.5;le=oe>3&(ae^1);oe=le|ae?le?3:-1.5:oe;f[ce>>2]=j+oe*.019999999552965164}else oe=0;if(!O)Sr(P|0,C|0,me<<2|0)|0;e:do if(D){t=We+20|0;m=s[t>>2]|0;N=We+28|0;w=s[N>>2]|0;do if((i|0)==0?(m+((ne(w|0)|0)+-32)+3|0)<=(b|0):0){if((s[we>>2]|0)<=4){h=w;_=m;E=M;i=0;m=x;break}if(!E){h=w;_=m;E=M;i=0;m=x;break}if(Ce){h=w;_=m;E=M;i=0;m=x;break}t:do if(($e|0)==1){i=s[Xe>>2]|0;s[Y>>2]=i;g=(s[d>>2]=i,+f[d>>2]);i=0;while(1){i=i+1|0;if((i|0)>=(it|0))break t;j=+f[Xe+(i<<2)>>2];j=g+-1>j?g+-1:j;f[Y+(i<<2)>>2]=j;g=j}}else{j=+f[Xe>>2];g=+f[Xe+(nt<<2)>>2];g=j>g?j:g;f[Y>>2]=g;i=0;while(1){i=i+1|0;if((i|0)>=(it|0))break t;S=+f[Xe+(i<<2)>>2];j=+f[Xe+(i+nt<<2)>>2];ce=S>j;j=g+-1>(ce?S:j)?g+-1:ce?S:j;f[Y+(i<<2)>>2]=j;g=j}}while(0);i=it+-2|0;while(1){if((i|0)<0)break;ce=Y+(i<<2)|0;S=+f[ce>>2];j=+f[Y+(i+1<<2)>>2]+-1;f[ce>>2]=S>j?S:j;i=i+-1|0}i=it+-1|0;m=0;g=0;do{w=te(m,nt)|0;a=2;while(1){if((a|0)>=(i|0))break;S=+f[C+(a+w<<2)>>2];j=+f[Y+(a<<2)>>2];j=(S<0?0:S)-(j<0?0:j);a=a+1|0;g=g+(j<0?0:j)}m=m+1|0}while((m|0)<($e|0));if(g/+(te(it+-3|0,$e)|0)>1){ti(Fe,$,W,M,$e,et,Ee,s[V>>2]|0);i=s[Oe>>2]|0;w=s[pe>>2]<<Ee;v=0;do{m=te(v,w)|0;A=0;while(1){if((A|0)>=(de|0))break;_=r[i+(A<<1)>>1]|0;a=M+(m+(_<<Ee)<<2)|0;h=A+1|0;_=(r[i+(h<<1)>>1]|0)-_<<Ee;E=0;g=0;while(1){if((E|0)>=(_|0))break;j=+f[a+(E<<2)>>2];E=E+1|0;g=g+j*j}j=+z(+(g+1.0000000272452012e-27));f[R+(A+(te(v,s[Ve>>2]|0)|0)<<2)>>2]=j;A=h}v=v+1|0}while((v|0)<($e|0));w=0;do{i=0;while(1){if((i|0)>=(de|0)){i=de;break}ce=i+(te(w,s[Ve>>2]|0)|0)|0;j=+Q(+ +f[R+(ce<<2)>>2])*1.4426950408889634;f[C+(ce<<2)>>2]=j-+f[17220+(i<<2)>>2];i=i+1|0}while(1){if((i|0)>=(it|0))break;f[C+((te(w,s[Ve>>2]|0)|0)+i<<2)>>2]=-14;i=i+1|0}w=w+1|0}while((w|0)<($e|0));g=+(Ee|0)*.5;i=0;while(1){if((i|0)>=(me|0))break;ce=P+(i<<2)|0;f[ce>>2]=+f[ce>>2]+g;i=i+1|0}f[xe>>2]=.20000000298023224;w=M;i=1;m=$}else{w=M;i=0;m=x}h=s[N>>2]|0;_=s[t>>2]|0;E=w}else{h=w;_=m;E=M;m=x}while(0);if((_+((ne(h|0)|0)+-32)+3|0)>(b|0)){ce=i;X=m;break}a=h>>>3;w=h-a|0;O=We+32|0;if(i){s[O>>2]=(s[O>>2]|0)+w;w=a}s[N>>2]=w;v=We+36|0;A=We+40|0;T=We+24|0;M=We+8|0;x=We+4|0;I=We+44|0;a=_;while(1){if(w>>>0>=8388609){ce=i;X=m;break e}h=s[O>>2]|0;_=h>>>23;if((_|0)==255)s[v>>2]=(s[v>>2]|0)+1;else{h=h>>>31;w=s[A>>2]|0;if((w|0)>-1){a=s[T>>2]|0;if((a+(s[M>>2]|0)|0)>>>0<(s[x>>2]|0)>>>0){s[T>>2]=a+1;n[(s[We>>2]|0)+a>>0]=w+h;w=0}else w=-1;s[I>>2]=s[I>>2]|w}w=s[v>>2]|0;if(w|0){h=h+255&255;do{a=s[T>>2]|0;if((a+(s[M>>2]|0)|0)>>>0<(s[x>>2]|0)>>>0){s[T>>2]=a+1;n[(s[We>>2]|0)+a>>0]=h;a=0;w=s[v>>2]|0}else a=-1;s[I>>2]=s[I>>2]|a;w=w+-1|0;s[v>>2]=w}while((w|0)!=0)}s[A>>2]=_&255;h=s[O>>2]|0;w=s[N>>2]|0;a=s[t>>2]|0}s[O>>2]=h<<8&2147483392;w=w<<8;s[N>>2]=w;a=a+8|0;s[t>>2]=a}}else{E=M;ce=i;X=x}while(0);w=(te($e,je)|0)<<2;K=u;u=u+((1*w|0)+15&-16)|0;w=s[Oe>>2]|0;m=s[pe>>2]<<Ee;v=0;while(1){a=te(v,m)|0;i=0;e:while(1){if((i|0)>=(de|0))break;g=1/(+f[R+(i+(te(v,s[Ve>>2]|0)|0)<<2)>>2]+1.0000000272452012e-27);h=i+1|0;_=r[w+(h<<1)>>1]<<Ee;i=r[w+(i<<1)>>1]<<Ee;while(1){if((i|0)>=(_|0)){i=h;continue e}le=i+a|0;f[K+(le<<2)>>2]=+f[E+(le<<2)>>2]*g;i=i+1|0}}v=v+1|0;if((v|0)>=($e|0))break}$=u;u=u+((1*(nt<<2)|0)+15&-16)|0;e:do if((l|0)<($e*15|0))if(Ce&(l|0)<15){i=0;Te=320}else{i=0;Te=322}else{if(Ce)if((l|0)<15){i=0;Te=320;break}else{i=0;Te=322;break}if((s[we>>2]|0)<=1){i=0;Te=322;break}if(s[Ae>>2]|0){i=0;Te=322;break}i=(1280/(l|0)|0)+2|0;i=ii(Fe,de,ce,$,(i|0)<5?5:i,K,je,Ee,+f[xe>>2],s[J>>2]|0)|0;w=$+(de+-1<<2)|0;m=de;while(1){if((m|0)>=(it|0))break e;s[$+(m<<2)>>2]=s[w>>2];m=m+1|0}}while(0);e:do if((Te|0)==320)while(1){Te=0;if((i|0)>=(it|0)){i=ce;break e}s[$+(i<<2)>>2]=0;i=i+1|0;Te=320}else if((Te|0)==322)while(1){Te=0;if((i|0)>=(it|0)){i=0;break e}s[$+(i<<2)>>2]=ce;i=i+1|0;Te=322}while(0);ae=u;u=u+((1*(me<<2)|0)+15&-16)|0;h=0;do{w=te(h,nt)|0;_=tt;while(1){if((_|0)>=(it|0))break;m=_+w|0;a=C+(m<<2)|0;g=+f[a>>2];if(+H(+(g-+f[Xe+(m<<2)>>2]))<2)f[a>>2]=g-+f[Ye+(m<<2)>>2]*.25;_=_+1|0}h=h+1|0}while((h|0)<($e|0));Ti(Fe,tt,it,de,C,Xe,b,ae,We,$e,Ee,c,s[e+12>>2]|0,e+84|0,(s[we>>2]|0)>3&1,s[e+56>>2]|0,s[Ae>>2]|0);ie=We+4|0;w=s[ie>>2]<<3;re=We+20|0;h=s[re>>2]|0;le=We+28|0;a=s[le>>2]|0;v=h+((ne(a|0)|0)+-32)|0;m=(ce|0)!=0;_=m?2:4;if(D)O=(v+_+1|0)>>>0<=w>>>0;else O=0;I=w-(O&1)|0;x=m?4:5;W=We+32|0;V=We+36|0;Y=We+40|0;J=We+24|0;ee=We+8|0;se=We+44|0;E=0;M=tt;T=0;while(1){if((M|0)>=(it|0))break;w=$+(M<<2)|0;if((v+_|0)>>>0>I>>>0){s[w>>2]=E;m=E;w=T}else{A=s[w>>2]|0;_=a>>>_;m=a-_|0;w=(A|0)==(E|0);if(!w)s[W>>2]=(s[W>>2]|0)+m;_=w?m:_;s[le>>2]=_;w=h;while(1){if(_>>>0>=8388609)break;m=s[W>>2]|0;h=m>>>23;if((h|0)==255){s[V>>2]=(s[V>>2]|0)+1;a=_}else{a=m>>>31;w=s[Y>>2]|0;if((w|0)>-1){m=s[J>>2]|0;if((m+(s[ee>>2]|0)|0)>>>0<(s[ie>>2]|0)>>>0){s[J>>2]=m+1;n[(s[We>>2]|0)+m>>0]=w+a;w=0}else w=-1;s[se>>2]=s[se>>2]|w}w=s[V>>2]|0;if(w|0){a=a+255&255;do{m=s[J>>2]|0;if((m+(s[ee>>2]|0)|0)>>>0<(s[ie>>2]|0)>>>0){s[J>>2]=m+1;n[(s[We>>2]|0)+m>>0]=a;m=0;w=s[V>>2]|0}else m=-1;s[se>>2]=s[se>>2]|m;w=w+-1|0;s[V>>2]=w}while((w|0)!=0)}s[Y>>2]=h&255;m=s[W>>2]|0;a=s[le>>2]|0;w=s[re>>2]|0}s[W>>2]=m<<8&2147483392;_=a<<8;s[le>>2]=_;w=w+8|0;s[re>>2]=w}h=w;a=_;m=A;v=w+((ne(_|0)|0)+-32)|0;w=T|A}E=m;M=M+1|0;_=x;T=w}_=ce<<2;do if(O){if((n[_+T+(27892+(Ee<<3))>>0]|0)==(n[(_|2)+T+(27892+(Ee<<3))>>0]|0)){i=0;w=a;break}w=a>>>1;m=a-w|0;if(!i)w=m;else s[W>>2]=(s[W>>2]|0)+m;s[le>>2]=w;m=h;while(1){if(w>>>0>=8388609)break;a=s[W>>2]|0;h=a>>>23;if((h|0)==255)s[V>>2]=(s[V>>2]|0)+1;else{a=a>>>31;w=s[Y>>2]|0;if((w|0)>-1){m=s[J>>2]|0;if((m+(s[ee>>2]|0)|0)>>>0<(s[ie>>2]|0)>>>0){s[J>>2]=m+1;n[(s[We>>2]|0)+m>>0]=w+a;w=0}else w=-1;s[se>>2]=s[se>>2]|w}w=s[V>>2]|0;if(w|0){a=a+255&255;do{m=s[J>>2]|0;if((m+(s[ee>>2]|0)|0)>>>0<(s[ie>>2]|0)>>>0){s[J>>2]=m+1;n[(s[We>>2]|0)+m>>0]=a;m=0;w=s[V>>2]|0}else m=-1;s[se>>2]=s[se>>2]|m;w=w+-1|0;s[V>>2]=w}while((w|0)!=0)}s[Y>>2]=h&255;a=s[W>>2]|0;w=s[le>>2]|0;m=s[re>>2]|0}s[W>>2]=a<<8&2147483392;w=w<<8;s[le>>2]=w;m=m+8|0;s[re>>2]=m}i=i<<1;h=m}else{i=0;w=a}while(0);i=_+i|0;m=tt;while(1){if((m|0)>=(it|0))break;q=$+(m<<2)|0;s[q>>2]=n[i+(s[q>>2]|0)+(27892+(Ee<<3))>>0];m=m+1|0}e:do if((h+((ne(w|0)|0)+-32)+4|0)<=(b|0)){t:do if(!(s[Ae>>2]|0)){i:do if(Ce){if(!(s[we>>2]|0)){s[e+80>>2]=0;Te=415;break}i=e+80|0;if(!ce){s[i>>2]=3;i=3;Te=414;break t}else{s[i>>2]=2;i=2;Te=414;break t}}else{i=s[we>>2]|0;do if(!X){if((i|0)<3|(c|0)<($e*10|0))break;L=e+88|0;B=e+80|0;U=s[B>>2]|0;D=e+96|0;t=s[Oe>>2]|0;I=s[pe>>2]<<Ee;if(((r[t+(de<<1)>>1]|0)-(r[t+(de+-1<<1)>>1]|0)<<Ee|0)<9){s[B>>2]=0;i=0;c=w>>>5;break i}else{N=0;i=0;c=0;m=0}do{O=te(N,I)|0;x=0;while(1){if((x|0)>=(de|0))break;E=r[t+(x<<1)>>1]|0;a=K+(E<<Ee<<2)+(O<<2)|0;v=x+1|0;E=(r[t+(v<<1)>>1]|0)-E<<Ee;if((E|0)<9){x=v;continue}g=+(E|0);_=0;A=0;T=0;M=0;while(1){if((_|0)==(E|0))break;j=+f[a+(_<<2)>>2];j=j*j*g;_=_+1|0;A=A+(j<.25&1)|0;T=T+(j<.015625&1)|0;M=M+(j<.0625&1)|0}if((x|0)>((s[Ve>>2]|0)+-4|0))i=i+((M+A<<5>>>0)/(E>>>0)|0)|0;x=v;c=c+1|0;m=m+(((T<<1|0)>=(E|0)&1)+((M<<1|0)>=(E|0)&1)+((A<<1|0)>=(E|0)&1)<<8)|0}N=N+1|0}while((N|0)<($e|0));if(!he){if(!i)i=0;else i=(i>>>0)/((te(4-(s[Ve>>2]|0)+de|0,$e)|0)>>>0)|0;i=(s[D>>2]|0)+i>>1;s[D>>2]=i;switch(s[ue>>2]|0){case 2:{i=i+4|0;break}case 0:{i=i+-4|0;break}default:{}}s[ue>>2]=(i|0)>22?2:(i|0)>18&1}i=((m>>>0)/(c>>>0)|0)+(s[L>>2]|0)>>1;s[L>>2]=i;i=(i*3|0)+(3-U<<7|64)+2>>2;do if((i|0)>=80){if((i|0)<256){i=2;break}i=(i|0)<384&1;s[B>>2]=i;c=w>>>5;if((i|0)>0){Te=418;break t}else break i}else i=3;while(0);s[B>>2]=i;c=w>>>5;Te=418;break t}while(0);c=e+80|0;if(!i){s[c>>2]=0;Te=415;break}else{s[c>>2]=2;i=2;Te=414;break t}}while(0);if((Te|0)==415){i=0;c=w>>>5}i=w-(te(c,o[28203+i>>0]|0)|0)|0}else{s[ue>>2]=0;s[e+80>>2]=2;i=2;Te=414}while(0);if((Te|0)==414){c=w>>>5;Te=418}if((Te|0)==418){pe=o[28203+(i+-1)>>0]|0;de=w-(te(c,pe)|0)|0;s[W>>2]=(s[W>>2]|0)+de;i=te(c,pe-(o[28203+i>>0]|0)|0)|0}s[le>>2]=i;c=h;while(1){if(i>>>0>=8388609)break e;w=s[W>>2]|0;m=w>>>23;if((m|0)==255)s[V>>2]=(s[V>>2]|0)+1;else{w=w>>>31;i=s[Y>>2]|0;if((i|0)>-1){c=s[J>>2]|0;if((c+(s[ee>>2]|0)|0)>>>0<(s[ie>>2]|0)>>>0){
s[J>>2]=c+1;n[(s[We>>2]|0)+c>>0]=i+w;i=0}else i=-1;s[se>>2]=s[se>>2]|i}i=s[V>>2]|0;if(i|0){w=w+255&255;do{c=s[J>>2]|0;if((c+(s[ee>>2]|0)|0)>>>0<(s[ie>>2]|0)>>>0){s[J>>2]=c+1;n[(s[We>>2]|0)+c>>0]=w;c=0;i=s[V>>2]|0}else c=-1;s[se>>2]=s[se>>2]|c;i=i+-1|0;s[V>>2]=i}while((i|0)!=0)}s[Y>>2]=m&255;w=s[W>>2]|0;i=s[le>>2]|0;c=s[re>>2]|0}s[W>>2]=w<<8&2147483392;i=i<<8;s[le>>2]=i;c=c+8|0;s[re>>2]=c}}while(0);q=u;u=u+((1*(nt<<2)|0)+15&-16)|0;O=e+52|0;j=+ni(C,P,nt,tt,it,$e,q,s[be>>2]|0,s[Fe+56>>2]|0,ce,s[ve>>2]|0,s[O>>2]|0,ye,Ee,l,Pe,s[Ae>>2]|0,F);if(s[Ae>>2]|0)s[q>>2]=(l|0)>26?8:(l|0)/3|0;N=u;u=u+((1*(nt<<2)|0)+15&-16)|0;i=s[Ve>>2]|0;l=(Ee<<1)+$e+-1|0;c=Fe+104|0;w=0;while(1){if((w|0)>=(i|0))break;ve=w+1|0;be=s[Oe>>2]|0;pe=(te(i,l)|0)+w|0;s[N+(w<<2)>>2]=(te(te((o[(s[c>>2]|0)+pe>>0]|0)+64|0,$e)|0,(r[be+(ve<<1)>>1]|0)-(r[be+(w<<1)>>1]|0)<<Ee)|0)>>2;w=ve}P=b<<3;be=s[re>>2]|0;i=s[le>>2]|0;ve=32-(ne(i|0)|0)|0;x=i>>>(ve+-16|0);A=(x>>>12)+-8|0;l=be;c=6;b=tt;A=(be<<3)-((ve<<3)+(A+(x>>>0>(s[5272+(A<<2)>>2]|0)>>>0&1)))|0;x=0;while(1){if((b|0)>=(it|0))break;M=b+1|0;a=(te($e,(r[ye+(M<<1)>>1]|0)-(r[ye+(b<<1)>>1]|0)|0)|0)<<Ee;E=a<<3;h=(a|0)<48;a=(E|0)<((h?48:a)|0)?E:h?48:a;h=N+(b<<2)|0;E=q+(b<<2)|0;v=0;b=c;_=0;w=A;T=x;while(1){if((w+(b<<3)|0)>=(P-T|0))break;if((v|0)>=(s[h>>2]|0))break;m=(_|0)<(s[E>>2]|0);b=i>>>b;i=i-b|0;if(m){s[W>>2]=(s[W>>2]|0)+i;i=b}s[le>>2]=i;while(1){if(i>>>0>=8388609)break;b=s[W>>2]|0;w=b>>>23;if((w|0)==255)s[V>>2]=(s[V>>2]|0)+1;else{b=b>>>31;i=s[Y>>2]|0;if((i|0)>-1){l=s[J>>2]|0;if((l+(s[ee>>2]|0)|0)>>>0<(s[ie>>2]|0)>>>0){s[J>>2]=l+1;n[(s[We>>2]|0)+l>>0]=i+b;i=0}else i=-1;s[se>>2]=s[se>>2]|i}i=s[V>>2]|0;if(i|0){b=b+255&255;do{l=s[J>>2]|0;if((l+(s[ee>>2]|0)|0)>>>0<(s[ie>>2]|0)>>>0){s[J>>2]=l+1;n[(s[We>>2]|0)+l>>0]=b;l=0;i=s[V>>2]|0}else l=-1;s[se>>2]=s[se>>2]|l;i=i+-1|0;s[V>>2]=i}while((i|0)!=0)}s[Y>>2]=w&255;b=s[W>>2]|0;i=s[le>>2]|0;l=s[re>>2]|0}s[W>>2]=b<<8&2147483392;i=i<<8;s[le>>2]=i;l=l+8|0;s[re>>2]=l}be=32-(ne(i|0)|0)|0;ve=i>>>(be+-16|0);w=(ve>>>12)+-8|0;w=(l<<3)-((be<<3)+(w+(ve>>>0>(s[5272+(w<<2)>>2]|0)>>>0&1)))|0;if(!m)break;v=v+a|0;b=1;_=_+1|0;T=T+a|0}if(_)c=(c|0)<3?2:c+-1|0;s[E>>2]=v;b=M;A=w;x=T}F=($e|0)==2;if(F){if(!Ee)m=0;else{c=0;g=1.0000000036274937e-15;k=1.0000000036274937e-15;e:while(1){if((c|0)==13)break;ye=s[Oe>>2]|0;b=c+1|0;w=r[ye+(b<<1)>>1]<<Ee;c=r[ye+(c<<1)>>1]<<Ee;while(1){if((c|0)>=(w|0)){c=b;continue e}y=+f[K+(c<<2)>>2];S=+f[K+(c+je<<2)>>2];c=c+1|0;g=g+(+H(+y)+ +H(+S));k=k+(+H(+(y+S))+ +H(+(y-S)))}}m=r[(s[Oe>>2]|0)+26>>1]<<Ee+1;s[ze>>2]=+(m+((Ee|0)<2?5:13)|0)*(k*.7071070075035095)>+(m|0)*g&1;m=Ee}g=+((Ue|0)/1e3|0|0);w=e+200|0;c=s[w>>2]|0;b=0;while(1){if((b|0)>=21)break;if(+f[5104+(b<<2)>>2]>g)break;b=b+1|0}if(!((b|0)>(c|0)?+f[5104+(c<<2)>>2]+ +f[5188+(c<<2)>>2]>g:0))Te=480;do if((Te|0)==480){if((b|0)>=(c|0)){c=b;break}Ee=c+-1|0;if(!(+f[5104+(Ee<<2)>>2]-+f[5188+(Ee<<2)>>2]<g)){c=b;break}}while(0);B=(tt|0)>(c|0);s[w>>2]=(it|0)<((B?tt:c)|0)?it:B?tt:c;B=m}else B=Ee;if((A+48|0)>(P-x|0))I=5;else{do if((tt|0)>0)Te=487;else{if(s[Ae>>2]|0){Te=487;break}h=e+196|0;S=+f[xe>>2];_=s[e+200>>2]|0;if(F){c=0;g=0;while(1){if((c|0)==8)break;w=s[Oe>>2]|0;b=r[w+(c<<1)>>1]|0;a=b<<B;m=K+(a<<2)|0;a=K+(a+je<<2)|0;c=c+1|0;b=(r[w+(c<<1)>>1]|0)-b<<B;w=0;k=0;while(1){if((w|0)>=(b|0))break;y=k+ +f[m+(w<<2)>>2]*+f[a+(w<<2)>>2];w=w+1|0;k=y}g=g+k}k=+H(+(g*.125));k=k>1?1:k;c=8;y=k;while(1){if((c|0)>=(_|0))break;w=s[Oe>>2]|0;b=r[w+(c<<1)>>1]|0;a=b<<B;m=K+(a<<2)|0;a=K+(a+je<<2)|0;c=c+1|0;b=(r[w+(c<<1)>>1]|0)-b<<B;w=0;g=0;while(1){if((w|0)>=(b|0))break;st=g+ +f[m+(w<<2)>>2]*+f[a+(w<<2)>>2];w=w+1|0;g=st}st=+H(+g);y=y<st?y:st}st=+H(+y);st=st>1?1:st;k=+Q(+(1.0010000467300415-k*k))*1.4426950408889634;g=k*.5;st=+Q(+(1.0010000467300415-st*st))*1.4426950408889634;k=k*.75;y=+f[h>>2]+.25;st=-((g>st?g:st)*.5);f[h>>2]=y<st?y:st;k=(k<-4?-4:k)+5}else k=5;b=it+-1|0;w=0;g=0;do{c=0;while(1){if((c|0)>=(b|0))break;g=g+ +f[C+(c+(te(w,s[Ve>>2]|0)|0)<<2)>>2]*+((c<<1)+2-it|0);c=c+1|0}w=w+1|0}while((w|0)<($e|0));g=(g/+(te(b,$e)|0)+1)/6;ye=g>2;Ee=g<-2&(ye^1);g=k-(Ee|ye?Ee?-2:2:g)-Z-S*2;if(s[e+120>>2]|0){st=(+f[e+128>>2]+.05000000074505806)*2;ye=st>2;Ee=st<-2&(ye^1);g=g-(Ee|ye?Ee?-2:2:st)}c=~~+G(+(g+.5));if((c|0)>10){b=i>>>7;c=10;Te=512;break}b=i>>>7;if((c|0)>=0){if((c|0)>0){Te=512;break}}else c=0;m=c;i=i-(te(b,o[28207+c>>0]|0)|0)|0}while(0);if((Te|0)==487){f[e+196>>2]=0;b=i>>>7;c=5;Te=512}if((Te|0)==512){Te=o[28207+(c+-1)>>0]|0;m=i-(te(b,Te)|0)|0;s[W>>2]=(s[W>>2]|0)+m;m=c;i=te(b,Te-(o[28207+c>>0]|0)|0)|0}s[le>>2]=i;b=l;while(1){if(i>>>0>=8388609)break;l=s[W>>2]|0;w=l>>>23;if((w|0)==255){s[V>>2]=(s[V>>2]|0)+1;c=l;l=b}else{c=l>>>31;i=s[Y>>2]|0;if((i|0)>-1){l=s[J>>2]|0;if((l+(s[ee>>2]|0)|0)>>>0<(s[ie>>2]|0)>>>0){s[J>>2]=l+1;n[(s[We>>2]|0)+l>>0]=i+c;i=0}else i=-1;s[se>>2]=s[se>>2]|i}i=s[V>>2]|0;if(i|0){c=c+255&255;do{l=s[J>>2]|0;if((l+(s[ee>>2]|0)|0)>>>0<(s[ie>>2]|0)>>>0){s[J>>2]=l+1;n[(s[We>>2]|0)+l>>0]=c;l=0;i=s[V>>2]|0}else l=-1;s[se>>2]=s[se>>2]|l;i=i+-1|0;s[V>>2]=i}while((i|0)!=0)}s[Y>>2]=w&255;c=s[W>>2]|0;i=s[le>>2]|0;l=s[re>>2]|0}s[W>>2]=c<<8&2147483392;i=i<<8;s[le>>2]=i;b=l+8|0;s[re>>2]=b}Ee=32-(ne(i|0)|0)|0;Te=i>>>(Ee+-16|0);A=(Te>>>12)+-8|0;l=b;I=m;A=(b<<3)-((Ee<<3)+(A+(Te>>>0>(s[5272+(A<<2)>>2]|0)>>>0&1)))|0}if(Se){M=(s[Me>>2]|0)-B|0;l=3-B|0;C=1275>>>l;C=(p|0)<(C|0)?p:C;if(Ce){i=($e*72|0)+32|0;i=(Le|0)<(i|0)?0:Le-i|0}else i=Le-(($e*320|0)+160)|0;T=(s[O>>2]|0)==0;if(T)E=i;else E=i+(s[e+184>>2]>>M)|0;if(Ce){i=s[e+156>>2]|0;st=+f[xe>>2];i=~~(+(E+((i|0)<100?96>>>l:0)-((i|0)>100?144>>>l:0)|0)+(st+-.25)*400);Oe=(A+x+63>>6)+2|0;l=Re+296+x+63>>6;i=!(st>.699999988079071)|(i|0)>400?i:400;l=(Oe|0)>(l|0)?Oe:l}else{l=s[e+92>>2]|0;b=s[e+200>>2]|0;k=+f[e+196>>2];w=s[Pe>>2]|0;y=+f[xe>>2];p=s[e+64>>2]|0;_=s[Ae>>2]|0;v=(s[e+204>>2]|0)!=0;h=s[Ve>>2]|0;a=s[Oe>>2]|0;l=(l|0)==0?h:l;i=r[a+(l<<1)>>1]<<B;if(F)m=i+(r[a+(((l|0)>(b|0)?b:l)<<1)>>1]<<B)|0;else m=i;c=(s[e+120>>2]|0)==0;do if(c)i=E;else{g=+f[e+136>>2];if(!(g<.4)){i=E;break}i=E-~~(+(m<<3|0)*(.4000000059604645-g))|0}while(0);if(F){Oe=(l|0)>(b|0)?b:l;Oe=(r[a+(Oe<<1)>>1]<<B)-Oe|0;Z=+(Oe|0)*.800000011920929/+(m|0)*+(i|0);st=((k<1?k:1)+-.10000000149011612)*+(Oe<<3|0);i=i-~~(Z<st?Z:st)|0}i=i+(w-(16<<B))|0;i=i+~~((y-((p|0)==5010?.019999999552965164:.03999999910593033))*+(i|0))|0;do if((_|0)==0&(c^1)){st=+f[e+124>>2]+-.15000000596046448;g=+(m<<3|0);i=i+~~(g*1.2000000476837158*((st<0?0:st)+-.09000000357627869))|0;if(!ke)break;i=i+~~(g*.800000011920929)|0}while(0);if(v&(_|0)==0){Oe=i+~~(+(m<<3|0)*fe)|0;i=(i|0)/4|0;i=(i|0)>(Oe|0)?i:Oe}xe=~~(+((te(r[a+(h+-2<<1)>>1]<<B,$e)|0)<<3|0)*j);Oe=i>>2;Oe=(xe|0)>(Oe|0)?xe:Oe;i=(i|0)<(Oe|0)?i:Oe;do if(!(v&(_|0)==0)){if(!T)i=~~(+(i-E|0)*.6700000166893005)+E|0;if(!(y<.20000000298023224&(v^1)))break;Oe=96e3-Ue|0;xe=(Oe|0)>32e3;i=i+~~(((Ue|0)>96e3&(xe^1)?0:xe?.09919999539852142:+(Oe|0)*3099999958067201e-21)*oe*+(i|0))|0}while(0);l=E<<1;i=(l|0)<(i|0)?l:i;l=(A+x+63>>6)+2|0}p=i+A|0;b=p+32>>6;b=(l|0)>(b|0)?l:b;b=(C|0)<(b|0)?C:b;w=(Be|0)==0;i=w?b:2;l=e+188|0;c=s[l>>2]|0;if((c|0)<970){s[l>>2]=c+1;g=1/+(c+21|0)}else g=.0010000000474974513;do if(!T){l=e+176|0;s[l>>2]=(s[l>>2]|0)+((w?b<<6:128)-Le);l=e+184|0;Oe=e+180|0;c=s[Oe>>2]|0;c=c+~~(g*+(((w?p-Le|0:0)<<M)-(s[l>>2]|0)-c|0))|0;s[Oe>>2]=c;s[l>>2]=0-c;l=e+176|0;c=s[l>>2]|0;if((c|0)>=0)break;s[l>>2]=0;i=w?b+((c|0)/-64|0)|0:2}while(0);U=(C|0)<(i|0)?C:i;Le=s[We>>2]|0;l=s[ee>>2]|0;i=0-l|0;Mr(Le+U+i|0,Le+(s[ie>>2]|0)+i|0,l|0)|0;s[ie>>2]=U;l=s[re>>2]|0;i=s[le>>2]|0}else U=p;t=u;u=u+((1*(nt<<2)|0)+15&-16)|0;P=u;u=u+((1*(nt<<2)|0)+15&-16)|0;D=u;u=u+((1*(nt<<2)|0)+15&-16)|0;x=U<<6;Le=32-(ne(i|0)|0)|0;L=i>>>(Le+-16|0);i=(L>>>12)+-8|0;i=x+((Le<<3)+(i+(L>>>0>(s[5272+(i<<2)>>2]|0)>>>0&1))-(l<<3))+-1|0;L=(ce|0)==0;if((B|0)>1&(L^1))M=(i|0)>=((B<<3)+16|0);else M=0;C=M?8:0;l=i-C|0;if(!(s[e+120>>2]|0))i=it+-1|0;else{do if((Ue|0)<($e*32e3|0))i=13;else{if((Ue|0)<($e*48e3|0)){i=16;break}if((Ue|0)<($e*6e4|0)){i=18;break}i=(Ue|0)<($e*8e4|0)?19:20}while(0);Ue=s[e+144>>2]|0;i=(Ue|0)>(i|0)?Ue:i}T=e+200|0;c=e+92|0;A=Mi(Fe,tt,it,q,N,I,T,ze,l,Ge,P,t,D,$e,B,We,1,s[c>>2]|0,(s[Ae>>2]|0)==0?i:1)|0;i=s[c>>2]|0;if(!i)i=A;else{Le=i+1|0;i=i+-1|0;Ue=(i|0)>(A|0);i=(Le|0)<((Ue?i:A)|0)?Le:Ue?i:A}s[c>>2]=i;O=We+12|0;N=We+16|0;E=tt;while(1){if((E|0)>=(it|0))break;a=s[t+(E<<2)>>2]|0;if((a|0)>=1){h=65536<<a>>16;g=+(h|0);k=+(1<<14-a|0);_=h+-1|0;i=s[Ve>>2]|0;v=0;do{m=~~+G(+((+f[ae+(E+(te(v,i)|0)<<2)>>2]+.5)*g));m=(m|0)<(h|0)?m:_;m=(m|0)<0?0:m;i=s[O>>2]|0;l=s[N>>2]|0;if((l+a|0)>>>0>32){b=7-l|0;b=l+((b|0)>-8?b:-8)&-8;w=l;do{c=s[ee>>2]|0;p=s[ie>>2]|0;if(((s[J>>2]|0)+c|0)>>>0<p>>>0){c=c+1|0;s[ee>>2]=c;n[(s[We>>2]|0)+(p-c)>>0]=i;c=0}else c=-1;s[se>>2]=s[se>>2]|c;i=i>>>8;w=w+-8|0}while((w|0)>7);l=l+-8-b|0}s[O>>2]=i|m<<l;s[N>>2]=l+a;s[re>>2]=(s[re>>2]|0)+a;st=(+(m|0)+.5)*k*6103515625e-14+-.5;i=Xe+(E+(te(v,s[Ve>>2]|0)|0)<<2)|0;f[i>>2]=+f[i>>2]+st;i=s[Ve>>2]|0;Ue=ae+(E+(te(v,i)|0)<<2)|0;f[Ue>>2]=+f[Ue>>2]-st;v=v+1|0}while((v|0)<($e|0))}E=E+1|0}Ue=u;u=u+((1*me|0)+15&-16)|0;I=e+76|0;on(1,Fe,tt,it,K,F?K+(je<<2)|0:0,Ue,R,P,X,s[e+80>>2]|0,s[ze>>2]|0,s[T>>2]|0,$,x-C|0,s[Ge>>2]|0,We,B,A,I,s[we>>2]|0,s[e+72>>2]|0);if(M){m=(s[e+116>>2]|0)<2&1;i=s[O>>2]|0;l=s[N>>2]|0;if((l+1|0)>>>0>32){b=7-l|0;b=l+((b|0)>-8?b:-8)&-8;w=l;do{c=s[ee>>2]|0;p=s[ie>>2]|0;if(((s[J>>2]|0)+c|0)>>>0<p>>>0){c=c+1|0;s[ee>>2]=c;n[(s[We>>2]|0)+(p-c)>>0]=i;c=0}else c=-1;s[se>>2]=s[se>>2]|c;i=i>>>8;w=w+-8|0}while((w|0)>7);l=l+-8-b|0}s[O>>2]=i|m<<l;s[N>>2]=l+1;i=(s[re>>2]|0)+1|0;s[re>>2]=i}else i=s[re>>2]|0;i=(U<<3)-(i+((ne(s[le>>2]|0)|0)+-32))|0;E=0;while(1){if((E|0)==2)break;else v=tt;while(1){if(!((v|0)<(it|0)&(i|0)>=($e|0)))break;l=s[t+(v<<2)>>2]|0;do if((l|0)<=7){if((s[D+(v<<2)>>2]|0)!=(E|0))break;g=+(1<<14-l+-1|0);l=s[Ve>>2]|0;c=s[N>>2]|0;p=s[O>>2]|0;_=0;do{h=!(+f[ae+(v+(te(_,l)|0)<<2)>>2]<0);a=h&1;if((c+1|0)>>>0>32){w=7-c|0;w=c+((w|0)>-8?w:-8)&-8;m=c;l=p;do{p=s[ee>>2]|0;b=s[ie>>2]|0;if(((s[J>>2]|0)+p|0)>>>0<b>>>0){p=p+1|0;s[ee>>2]=p;n[(s[We>>2]|0)+(b-p)>>0]=l;p=0}else p=-1;s[se>>2]=s[se>>2]|p;l=l>>>8;m=m+-8|0}while((m|0)>7);c=c+-8-w|0}else l=p;p=l|a<<c;c=c+1|0;s[O>>2]=p;s[N>>2]=c;s[re>>2]=(s[re>>2]|0)+1;st=(+(h&1)+-.5)*g*6103515625e-14;l=Xe+(v+(te(_,s[Ve>>2]|0)|0)<<2)|0;f[l>>2]=+f[l>>2]+st;l=s[Ve>>2]|0;ze=ae+(v+(te(_,l)|0)<<2)|0;f[ze>>2]=+f[ze>>2]-st;i=i+-1|0;_=_+1|0}while((_|0)<($e|0))}while(0);v=v+1|0}E=E+1|0}p=Ze<<2;yr(Ye|0,0,p|0)|0;l=0;do{i=te(l,nt)|0;c=tt;while(1){if((c|0)>=(it|0))break;Ve=c+i|0;st=+f[ae+(Ve<<2)>>2];Ge=st>.5;ze=st<-.5&(Ge^1);f[Ye+(Ve<<2)>>2]=ze|Ge?ze?-.5:.5:st;c=c+1|0}l=l+1|0}while((l|0)<($e|0));e:do if(Be|0){i=0;while(1){if((i|0)>=(me|0))break e;f[Xe+(i<<2)>>2]=-28;i=i+1|0}}while(0);s[e+104>>2]=s[Ke>>2];f[e+108>>2]=Ie;s[e+112>>2]=De;if(ge&($e|0)==1)Sr(Xe+(nt<<2)|0,Xe|0,nt<<2|0)|0;e:do if(L){Sr(Qe|0,Je|0,p|0)|0;Sr(Je|0,Xe|0,p|0)|0;c=0}else{i=0;while(1){if((i|0)>=(Ze|0)){c=0;break e}Ke=Je+(i<<2)|0;Ie=+f[Ke>>2];st=+f[Xe+(i<<2)>>2];f[Ke>>2]=Ie<st?Ie:st;i=i+1|0}}while(0);do{l=te(c,nt)|0;i=0;while(1){if((i|0)>=(tt|0)){i=it;break}Ke=l+i|0;f[Xe+(Ke<<2)>>2]=0;f[Qe+(Ke<<2)>>2]=-28;f[Je+(Ke<<2)>>2]=-28;i=i+1|0}while(1){if((i|0)>=(nt|0))break;Ke=l+i|0;f[Xe+(Ke<<2)>>2]=0;f[Qe+(Ke<<2)>>2]=-28;f[Je+(Ke<<2)>>2]=-28;i=i+1|0}c=c+1|0}while((c|0)<(et|0));l=e+116|0;if(!(ce|_e))i=0;else i=(s[l>>2]|0)+1|0;s[l>>2]=i;s[I>>2]=s[le>>2];ui(We);e=(s[se>>2]|0)==0?U:-3;He(qe|0);u=rt;return e|0}function Qt(e,t,i,n,r,o,a,l,h,c,d){e=e|0;t=t|0;i=i|0;n=n|0;r=r|0;o=o|0;a=a|0;l=l|0;h=h|0;c=c|0;d=d|0;var p=0,b=0,w=0,m=0,g=0,_=0,v=0,k=0,y=0,E=0,A=0,T=0,S=0,M=0,R=0,C=0,P=0,x=0,I=0,O=0,N=0,D=0,L=0,U=0,B=0;U=u;u=u+16|0;L=U+8|0;_=U;y=s[e>>2]|0;O=s[y+4>>2]|0;w=r+1024|0;D=(te(w,n)|0)<<2;N=u;u=u+((1*D|0)+15&-16)|0;s[L>>2]=N;s[L+4>>2]=N+(w<<2);N=O+r|0;D=r<<2;p=0;do{I=s[L+(p<<2)>>2]|0;Sr(I|0,i+(p<<10<<2)|0,4096)|0;Sr(I+4096|0,t+((te(p,N)|0)<<2)+(O<<2)|0,D|0)|0;p=p+1|0}while((p|0)<(n|0));if(!c){s[_>>2]=15;I=e+104|0;x=15;v=0}else{g=Ne()|0;p=u;u=u+((1*(w>>1<<2)|0)+15&-16)|0;bi(L,p,w,n);mi(p+2048|0,p,r,979,_);s[_>>2]=1024-(s[_>>2]|0);c=e+104|0;b=+_i(p,r,_,s[c>>2]|0,+f[e+108>>2]);p=s[_>>2]|0;if((p|0)>1022){s[_>>2]=1022;p=1022}v=b*.699999988079071;P=s[e+56>>2]|0;v=(P|0)>2?v*.5:v;He(g|0);I=c;x=p;v=(P|0)>8?0:(P|0)>4?v*.5:v}w=s[I>>2]|0;P=x-w|0;b=(((P|0)>-1?P:0-P|0)*10|0)>(x|0)?.4000000059604645:.20000000298023224;if((d|0)>=25){if((d|0)<35)k=11}else{b=b+.10000000149011612;k=11}if((k|0)==11)b=b+.10000000149011612;P=e+108|0;m=+f[P>>2];b=m>.4000000059604645?b+-.10000000149011612:b;b=m>.550000011920929?b+-.10000000149011612:b;if(v<(b>.20000000298023224?b:.20000000298023224)){m=0;C=0;p=0}else{c=+H(+(v-m))<.10000000149011612;c=~~+G(+((c?m:v)*32/3+.5));p=c+-1|0;if((p|0)<=7)if((c|0)<1)p=0;else k=15;else{p=7;k=15}m=+(p+1|0)*.09375;C=1}S=y+44|0;M=O<<2;b=-m;R=e+112|0;y=y+60|0;E=(r|0)>1024;A=1024-r<<2;T=0-r|0;c=0;while(1){d=s[S>>2]|0;k=d-O|0;s[I>>2]=(w|0)>15?w:15;w=t+((te(c,N)|0)<<2)|0;g=e+212+((te(c,O)|0)<<2)|0;Sr(w|0,g|0,M|0)|0;if((d|0)==(O|0))d=s[L+(c<<2)>>2]|0;else{d=s[L+(c<<2)>>2]|0;B=s[I>>2]|0;v=-+f[P>>2];_=s[R>>2]|0;As(w+(O<<2)|0,d+4096|0,B,B,k,v,v,_,_,0,0)}_=d+4096|0;As(w+(O<<2)+(k<<2)|0,_+(k<<2)|0,s[I>>2]|0,x,r-k|0,-+f[P>>2],b,s[R>>2]|0,o,s[y>>2]|0,O);Sr(g|0,w+(r<<2)|0,M|0)|0;w=i+(c<<10<<2)|0;if(E)Sr(w|0,d+(r<<2)|0,4096)|0;else{Mr(w|0,w+(r<<2)|0,A|0)|0;Sr(w+4096+(T<<2)|0,_|0,D|0)|0}c=c+1|0;if((c|0)>=(n|0))break;w=s[I>>2]|0}f[l>>2]=m;s[a>>2]=x;s[h>>2]=p;u=U;return C|0}function ei(e,t,i,n,r){e=e|0;t=t|0;i=i|0;n=n|0;r=r|0;var a=0,l=0,h=0,c=0,d=0,p=0,b=0,w=0,m=0,g=0,_=0,v=0,k=0,y=0,E=0,A=0,T=0,S=0;E=u;p=u;u=u+((1*(t<<2)|0)+15&-16)|0;b=(t|0)/2|0;w=+(b|0);m=+(b|0);g=b+-5|0;_=(b*6|0)+-102|0;v=0;k=0;while(1){if((v|0)>=(i|0))break;h=te(v,t)|0;c=0;a=0;l=0;while(1){if((c|0)>=(t|0))break;A=+f[e+(c+h<<2)>>2];d=a+A;f[p+(c<<2)>>2]=d;c=c+1|0;a=l+d-A*2;l=A-d*.5}h=p;c=h+48|0;do{s[h>>2]=0;h=h+4|0}while((h|0)<(c|0));h=0;d=0;a=0;while(1){if((h|0)>=(b|0)){h=b;l=0;break}c=h<<1;A=+f[p+(c<<2)>>2];l=+f[p+((c|1)<<2)>>2];l=A*A+l*l;A=a+(l-a)*.0625;f[p+(h<<2)>>2]=A;h=h+1|0;d=d+l;a=A}e:while(1){c=h;a=l;while(1){h=c+-1|0;if((c|0)<=0)break e;c=p+(h<<2)|0;a=a+(+f[c>>2]-a)*.125;f[c>>2]=a;if(l>a)c=h;else{l=a;continue e}}}a=m/(+z(+(d*l*.5*w))+1.0000000036274937e-15)*64;h=12;c=0;while(1){if((h|0)>=(g|0))break;A=+G(+(a*(+f[p+(h<<2)>>2]+1.0000000036274937e-15)));S=A>127;T=A<0&(S^1);h=h+4|0;c=c+(o[28075+~~(T|S?T?0:127:A)>>0]|0)|0}h=(c<<8|0)/(_|0)|0;if((h|0)>(k|0))s[r>>2]=v;else h=k;v=v+1|0;k=h}h=(k|0)>200&1;a=+z(+ +(k*27|0))+-42;if(!(a<0))if(a>163)l=163;else y=20;else{a=0;y=20}if((y|0)==20)l=a;if(l*.006899999920278788+-.139<0){A=0;A=+z(+A);f[n>>2]=A;u=E;return h|0}A=(a>163?163:a)*.006899999920278788+-.139;A=+z(+A);f[n>>2]=A;u=E;return h|0}function ti(e,t,i,n,r,o,a,l){e=e|0;t=t|0;i=i|0;n=n|0;r=r|0;o=o|0;a=a|0;l=l|0;var h=0,u=0,c=0,d=0,p=0,b=0,w=0,m=0,g=0,_=0,v=0;w=s[e+4>>2]|0;b=(t|0)==0;_=s[e+44>>2]<<(b?a:0);g=b?1:t;b=(s[e+36>>2]|0)-(b?a:0)|0;p=e+64|0;m=te(g,_)|0;d=m+w|0;t=e+60|0;c=0;do{a=i+((te(c,d)|0)<<2)|0;e=te(te(c,_)|0,g)|0;h=0;while(1){if((h|0)>=(g|0))break;v=a+((te(h,_)|0)<<2)|0;di(p,v,n+(h+e<<2)|0,s[t>>2]|0,w,b,g);h=h+1|0}c=c+1|0}while((c|0)<(o|0));e:do if((o|0)==2&(r|0)==1){t=0;while(1){if((t|0)>=(m|0))break e;v=n+(t<<2)|0;f[v>>2]=+f[v>>2]*.5+ +f[n+(m+t<<2)>>2]*.5;t=t+1|0}}while(0);if((l|0)==1)return;c=(m|0)/(l|0)|0;u=+(l|0);t=m-c<<2;e=0;do{a=te(te(e,g)|0,_)|0;h=0;while(1){if((h|0)>=(c|0))break;v=n+(a+h<<2)|0;f[v>>2]=+f[v>>2]*u;h=h+1|0}yr(n+(a+c<<2)|0,0,t|0)|0;e=e+1|0}while((e|0)<(r|0));return}function ii(e,t,i,o,a,l,h,c,d,p){e=e|0;t=t|0;i=i|0;o=o|0;a=a|0;l=l|0;h=h|0;c=c|0;d=+d;p=p|0;var b=0,w=0,m=0,g=0,_=0,v=0,k=0,y=0,E=0,A=0,T=0,S=0,M=0,R=0,C=0,P=0,x=0,I=0,O=0,N=0,D=0,L=0,U=0,B=0,j=0,F=0,G=0,z=0,q=0;F=u;u=u+16|0;D=F;O=.5-d;O=(O<-.25?-.25:O)*.03999999910593033;U=u;u=u+((1*(t<<2)|0)+15&-16)|0;I=s[e+32>>2]|0;L=t+-1|0;B=(r[I+(t<<1)>>1]|0)-(r[I+(L<<1)>>1]|0)<<c;P=u;u=u+((1*(B<<2)|0)+15&-16)|0;x=u;u=u+((1*(B<<2)|0)+15&-16)|0;B=u;u=u+((1*(t<<2)|0)+15&-16)|0;j=u;u=u+((1*(t<<2)|0)+15&-16)|0;E=te(p,h)|0;N=(i|0)==0;A=1<<c;T=A<<1;S=+(c+1|0)*O;M=te(c,-2)|0;y=0;while(1){if((y|0)>=(t|0))break;R=y+1|0;e=r[I+(y<<1)>>1]|0;C=(r[I+(R<<1)>>1]|0)-e|0;k=C<<c;C=(C|0)==1;h=k<<2;Sr(P|0,l+(E+(e<<c)<<2)|0,h|0)|0;d=0;e=0;while(1){if((e|0)>=(k|0))break;d=d+ +H(+ +f[P+(e<<2)>>2]);e=e+1|0}_=d+(N?0:+(c|0))*O*d;if(!(N|C)){Sr(x|0,P|0,h|0)|0;e=k>>c>>1;h=0;while(1){if((h|0)<(A|0))p=0;else{d=0;e=0;break}while(1){if((p|0)>=(e|0))break;g=x+((te(T,p)|0)+h<<2)|0;G=+f[g>>2]*.7071067690849304;v=x+(((p<<1|1)<<c)+h<<2)|0;d=+f[v>>2]*.7071067690849304;f[g>>2]=G+d;f[v>>2]=G-d;p=p+1|0}h=h+1|0}while(1){if((e|0)>=(k|0))break;d=d+ +H(+ +f[x+(e<<2)>>2]);e=e+1|0}d=d+S*d;if(d<_){g=-1;v=0}else{d=_;g=0;v=0}}else{d=_;g=0;v=0}while(1){if((v|0)>=(((C|N^1)&1^1)+c|0))break;m=N?v+1|0:c-v+-1|0;e=1<<v;h=k>>v>>1;p=e<<1;b=0;while(1){if((b|0)<(e|0))w=0;else{_=0;e=0;break}while(1){if((w|0)>=(h|0))break;q=P+((te(p,w)|0)+b<<2)|0;_=+f[q>>2]*.7071067690849304;z=P+(((w<<1|1)<<v)+b<<2)|0;G=+f[z>>2]*.7071067690849304;f[q>>2]=_+G;f[z>>2]=_-G;w=w+1|0}b=b+1|0}while(1){if((e|0)>=(k|0))break;_=_+ +H(+ +f[P+(e<<2)>>2]);e=e+1|0}G=_+ +(m|0)*O*_;z=G<d;q=v+1|0;d=z?G:d;g=z?q:g;v=q}h=te(g,-2)|0;h=N?h:g<<1;e=U+(y<<2)|0;s[e>>2]=h;if(!C){y=R;continue}if(!((h|0)==0|(h|0)==(M|0))){y=R;continue}s[e>>2]=h+-1;y=R}g=i<<2;m=0;while(1){if((m|0)==2)break;h=g+(m<<1)|0;e=27892+(c<<3)+h|0;h=(h|1)+(27892+(c<<3))|0;p=0;b=N?a:0;w=1;while(1){if((w|0)>=(t|0))break;l=b+a|0;z=p+a|0;q=s[U+(w<<2)>>2]|0;i=q-(n[e>>0]<<1)|0;q=q-(n[h>>0]<<1)|0;p=((p|0)<(l|0)?p:l)+((i|0)>-1?i:0-i|0)|0;b=((z|0)<(b|0)?z:b)+((q|0)>-1?q:0-q|0)|0;w=w+1|0}s[D+(m<<2)>>2]=(p|0)<(b|0)?p:b;m=m+1|0}m=N?0:(s[D+4>>2]|0)<(s[D>>2]|0)&1;p=g|m<<1;w=27892+(c<<3)+p|0;p=(p|1)+(27892+(c<<3))|0;b=0;e=N?a:0;h=1;while(1){if((h|0)>=(t|0))break;N=e+a|0;i=(b|0)<(N|0);s[B+(h<<2)>>2]=i&1^1;z=b+a|0;c=(z|0)<(e|0);s[j+(h<<2)>>2]=c&1^1;q=s[U+(h<<2)>>2]|0;D=q-(n[w>>0]<<1)|0;q=q-(n[p>>0]<<1)|0;b=(i?b:N)+((D|0)>-1?D:0-D|0)|0;e=(c?z:e)+((q|0)>-1?q:0-q|0)|0;h=h+1|0}h=(b|0)>=(e|0)&1;s[o+(L<<2)>>2]=h;e=t+-2|0;while(1){if((e|0)<=-1)break;q=s[((h|0)==1?j:B)+(e+1<<2)>>2]|0;s[o+(e<<2)>>2]=q;h=q;e=e+-1|0}u=F;return m|0}function ni(e,t,i,n,o,a,l,h,c,p,b,w,m,g,_,v,k,y){e=e|0;t=t|0;i=i|0;n=n|0;o=o|0;a=a|0;l=l|0;h=h|0;c=c|0;p=p|0;b=b|0;w=w|0;m=m|0;g=g|0;_=_|0;v=v|0;k=k|0;y=y|0;var E=0,A=0,T=0,S=0,M=0,R=0,C=0,P=0,x=0,I=0,O=0,N=0,D=0,L=0,U=0,B=0,j=0,F=0,G=0,H=0,z=0,q=0,W=0,V=0,Y=0;W=u;F=te(a,i)|0;z=u;u=u+((1*(F<<2)|0)+15&-16)|0;G=u;u=u+((1*(F<<2)|0)+15&-16)|0;yr(l|0,0,i<<2|0)|0;E=+(9-h|0);h=0;while(1){if((h|0)>=(o|0)){c=0;E=-31.899999618530273;break}F=h+5|0;f[G+(h<<2)>>2]=+(r[c+(h<<1)>>1]|0)*.0625+.5+E-+f[17220+(h<<2)>>2]+ +(te(F,F)|0)*.006200000178068876;h=h+1|0}while(1){h=te(c,i)|0;A=0;H=E;while(1){if((A|0)>=(o|0))break;L=+f[e+(h+A<<2)>>2]-+f[G+(A<<2)>>2];A=A+1|0;H=H>L?H:L}c=c+1|0;if((c|0)>=(a|0))break;else E=H}if(!((_|0)>50&(g|0)>0&(k|0)==0)){q=0;s[v>>2]=q;u=W;return+H}U=o+-2|0;B=o+-1|0;F=0;h=0;while(1){S=te(F,i)|0;j=z+(S<<2)|0;T=t+(S<<2)|0;c=s[T>>2]|0;s[j>>2]=c;L=(s[d>>2]=c,+f[d>>2]);E=L;c=1;C=h;while(1){if((c|0)>=(o|0)){c=C;break}k=S+c|0;D=+f[t+(k<<2)>>2];k=D>+f[t+(k+-1<<2)>>2]+.5?c:C;D=E+1.5<D?E+1.5:D;f[j+(c<<2)>>2]=D;E=D;c=c+1|0;C=k}while(1){h=c+-1|0;if((c|0)<=0){k=2;break}k=j+(h<<2)|0;O=+f[k>>2];N=+f[j+(c<<2)>>2]+2;D=+f[t+(S+h<<2)>>2];A=N<D;f[k>>2]=O<(A?N:D)?O:A?N:D;c=h}while(1){if((k|0)>=(U|0))break;A=j+(k<<2)|0;x=+f[A>>2];c=t+(S+k+-2<<2)|0;E=+f[c+8>>2];I=+f[c>>2];O=+f[c+4>>2];h=I>O;V=h?I:O;M=h?O:I;N=+f[c+12>>2];D=+f[c+16>>2];c=N>D;R=c?D:N;P=c?N:D;Y=M>R;R=Y?M:R;M=Y?P:V;P=Y?V:P;do if(E>M)if(M<R){if(E<R){M=E;break}M=R;break}else{if(P<M){M=P;break}break}else if(E<R){if(M<R)break;M=R;break}else{if(E<P){M=E;break}M=P;break}while(0);if(x>M+-1)E=x;else{V=h?I:O;M=h?O:I;R=c?D:N;P=c?N:D;Y=M>R;R=Y?M:R;M=Y?P:V;P=Y?V:P;do if(E>M)if(M<R){if(E<R)break;E=R;break}else{if(P<M){E=P;break}E=M;break}else if(E<R){if(M<R){E=M;break}E=R;break}else{if(E<P)break;E=P;break}while(0);E=E+-1}f[A>>2]=E;k=k+1|0}R=+f[T+4>>2];Y=L>R;E=Y?R:L;R=Y?L:R;M=+f[T+8>>2];if(!(R<M)){if(E<M)E=M}else E=R;R=E+-1;M=+f[j>>2];f[j>>2]=M>R?M:R;Y=j+4|0;M=+f[Y>>2];f[Y>>2]=M>R?M:R;Y=t+(S+o+-3<<2)|0;R=+f[Y>>2];M=+f[Y+4>>2];S=R>M;E=S?M:R;M=S?R:M;R=+f[Y+8>>2];if(!(M<R)){if(E<R)E=R}else E=M;V=E+-1;h=j+(U<<2)|0;L=+f[h>>2];f[h>>2]=L>V?L:V;h=j+(B<<2)|0;L=+f[h>>2];f[h>>2]=L>V?L:V;h=0;while(1){if((h|0)>=(o|0))break;Y=j+(h<<2)|0;L=+f[Y>>2];V=+f[G+(h<<2)>>2];f[Y>>2]=L>V?L:V;h=h+1|0}F=F+1|0;if((F|0)>=(a|0))break;else h=C}e:do if((a|0)==2){h=n;while(1){if((h|0)>=(o|0)){h=n;break e}G=h+i|0;t=z+(G<<2)|0;V=+f[t>>2];Y=z+(h<<2)|0;L=+f[Y>>2]+-4;L=V>L?V:L;f[t>>2]=L;V=+f[Y>>2];L=L+-4;L=V>L?V:L;f[Y>>2]=L;L=+f[e+(h<<2)>>2]-L;V=+f[e+(G<<2)>>2]-+f[t>>2];f[Y>>2]=((L<0?0:L)+(V<0?0:V))*.5;h=h+1|0}}else{h=n;while(1){if((h|0)>=(o|0)){h=n;break e}Y=z+(h<<2)|0;V=+f[e+(h<<2)>>2]-+f[Y>>2];f[Y>>2]=V<0?0:V;h=h+1|0}}while(0);while(1){if((h|0)>=(o|0))break;Y=z+(h<<2)|0;L=+f[Y>>2];V=+f[y+(h<<2)>>2];f[Y>>2]=L>V?L:V;h=h+1|0}C=(b|0)==0;e:do if((C|(w|0)!=0)&(p|0)==0){h=n;while(1){if((h|0)>=(o|0))break e;Y=z+(h<<2)|0;f[Y>>2]=+f[Y>>2]*.5;h=h+1|0}}while(0);S=(_|0)/4|0;T=(w|0)==0;h=0;while(1){if((n|0)>=(o|0)){q=76;break}if((n|0)>=8){c=z+(n<<2)|0;E=+f[c>>2];if((n|0)>11){E=E*.5;f[c>>2]=E}}else{c=z+(n<<2)|0;E=+f[c>>2]*2;f[c>>2]=E}E=E<4?E:4;f[c>>2]=E;k=n+1|0;c=(te((r[m+(k<<1)>>1]|0)-(r[m+(n<<1)>>1]|0)|0,a)|0)<<g;do if((c|0)>=6)if((c|0)>48){Y=~~(E*8);A=Y;c=((te(Y,c)|0)<<3|0)/8|0;break}else{c=~~(E*+(c|0)/6);A=c;c=c*48|0;break}else{Y=~~E;A=Y;c=(te(Y,c)|0)<<3}while(0);if(!((T|(p|0)!=0)&(C^1))?(h+c>>6|0)>(S|0):0)break;s[l+(n<<2)>>2]=A;n=k;h=h+c|0}if((q|0)==76){s[v>>2]=h;u=W;return+H}Y=S<<6;s[l+(n<<2)>>2]=Y-h;s[v>>2]=Y;u=W;return+H}function ri(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,r=0,o=0,a=0;o=u;u=u+16|0;n=o;s[n>>2]=i;do switch(t|0){case 10010:{r=(s[n>>2]|0)+(4-1)&~(4-1);t=s[r>>2]|0;s[n>>2]=r+4;if((t|0)>=0?(t|0)<(s[(s[e>>2]|0)+8>>2]|0):0){s[e+20>>2]=t;t=25}else t=26;break}case 10012:{r=(s[n>>2]|0)+(4-1)&~(4-1);t=s[r>>2]|0;s[n>>2]=r+4;if((t|0)>=1?(t|0)<=(s[(s[e>>2]|0)+8>>2]|0):0){s[e+24>>2]=t;t=25}else t=26;break}case 10008:{r=(s[n>>2]|0)+(4-1)&~(4-1);t=s[r>>2]|0;s[n>>2]=r+4;if((t+-1|0)>>>0>1)t=26;else{s[e+12>>2]=t;t=25}break}case 10007:{r=(s[n>>2]|0)+(4-1)&~(4-1);t=s[r>>2]|0;s[n>>2]=r+4;if(!t)t=26;else{e=e+40|0;s[t>>2]=s[e>>2];s[e>>2]=0;t=25}break}case 4027:{r=(s[n>>2]|0)+(4-1)&~(4-1);t=s[r>>2]|0;s[n>>2]=r+4;if(!t)t=26;else{s[t>>2]=(s[e+4>>2]|0)/(s[e+16>>2]|0)|0;t=25}break}case 4028:{r=s[e+8>>2]|0;t=e+88+((te((s[e+4>>2]|0)+2048|0,r)|0)<<2)+(r*24<<2)|0;a=s[e>>2]|0;n=s[a+8>>2]|0;i=n<<1;t=t+(i<<2)|0;i=t+(i<<2)|0;yr(e+36|0,0,((te((s[a+4>>2]|0)+2048|0,r)|0)<<2)+88+(r*96|0)+(n<<5)+-36|0)|0;r=0;while(1){if((r|0)>=(n<<1|0))break;f[i+(r<<2)>>2]=-28;f[t+(r<<2)>>2]=-28;n=s[(s[e>>2]|0)+8>>2]|0;r=r+1|0}s[e+52>>2]=1;t=25;break}case 4033:{a=(s[n>>2]|0)+(4-1)&~(4-1);t=s[a>>2]|0;s[n>>2]=a+4;if(!t)t=26;else{s[t>>2]=s[e+56>>2];t=25}break}case 10015:{a=(s[n>>2]|0)+(4-1)&~(4-1);t=s[a>>2]|0;s[n>>2]=a+4;if(!t)t=26;else{s[t>>2]=s[e>>2];t=25}break}case 10016:{a=(s[n>>2]|0)+(4-1)&~(4-1);t=s[a>>2]|0;s[n>>2]=a+4;s[e+28>>2]=t;t=25;break}case 4031:{a=(s[n>>2]|0)+(4-1)&~(4-1);t=s[a>>2]|0;s[n>>2]=a+4;if(!t)t=26;else{s[t>>2]=s[e+36>>2];t=25}break}default:{u=o;return}}while(0);if((t|0)==25){u=o;return}else if((t|0)==26){u=o;return}}function si(e,t,i,a,l,h,c){e=e|0;t=t|0;i=i|0;a=a|0;l=l|0;h=h|0;c=c|0;var d=0,p=0,b=0,w=0,m=0,g=0,_=0,v=0,k=0,y=0,E=0,A=0,T=0,S=0,M=0,R=0,C=0,P=0,x=0,I=0,O=0,N=0,D=0,L=0,U=0,B=0,j=0,F=0,G=0,H=0,q=0,W=0,V=0,Y=0,Z=0,$=0,K=0,X=0,Q=0,ee=0,ie=0,re=0,se=0,oe=0,ae=0,le=0,fe=0,he=0,ue=0,ce=0,de=0,pe=0,be=0,we=0,me=0,ge=0,_e=0,ve=0,ke=0,ye=0,Ee=0,Ae=0,Te=0,Se=0,Me=0,Re=0,Ce=0,Pe=0,xe=0,Ie=0;Ie=u;u=u+96|0;D=Ie;M=Ie+40|0;Q=Ie+32|0;xe=Ie+24|0;re=Ie+16|0;ie=Ie+12|0;ee=Ie+8|0;Te=s[e+8>>2]|0;s[re>>2]=0;s[ie>>2]=0;ce=s[e+12>>2]|0;Ce=s[e>>2]|0;he=Ce+8|0;Pe=s[he>>2]|0;we=s[Ce+4>>2]|0;ue=Ce+32|0;H=s[ue>>2]|0;Se=s[e+20>>2]|0;Me=s[e+24>>2]|0;Re=e+16|0;ke=te(s[Re>>2]|0,l)|0;p=we+2048|0;ye=e+88+((te(p,Te)|0)<<2)+(Te*24<<2)|0;ge=Pe<<1;Ee=ye+(ge<<2)|0;Ae=Ee+(ge<<2)|0;me=Ae+(ge<<2)|0;be=Ce+44|0;l=s[Ce+36>>2]|0;de=0;while(1){if((de|0)>(l|0)){l=-1;L=268;break}if((s[be>>2]<<de|0)==(ke|0))break;de=de+1|0}if((L|0)==268){u=Ie;return l|0}pe=1<<de;if(i>>>0>1275|(a|0)==0){e=-1;u=Ie;return e|0}ve=s[be>>2]<<de;l=0-ve|0;d=0;do{_e=e+88+((te(d,p)|0)<<2)|0;s[Q+(d<<2)>>2]=_e;s[xe+(d<<2)>>2]=_e+8192+(l<<2);d=d+1|0}while((d|0)<(Te|0));fe=s[Ce+12>>2]|0;fe=(Me|0)>(fe|0)?fe:Me;if((t|0)==0|(i|0)<2){oi(e,ve,de);li(xe,a,ve,Te,s[Re>>2]|0,Ce+16|0,e+80|0,c);e=(ke|0)/(s[Re>>2]|0)|0;u=Ie;return e|0}_e=e+48|0;s[e+52>>2]=(s[_e>>2]|0)!=0&1;e:do if(!h){s[M>>2]=t;s[M+4>>2]=i;s[M+8>>2]=0;s[M+12>>2]=0;s[M+16>>2]=0;_=M+20|0;s[_>>2]=9;v=M+24|0;s[v>>2]=0;k=M+28|0;s[k>>2]=128;if(!i){l=0;d=0}else{s[v>>2]=1;l=1;d=o[t>>0]|0}y=M+40|0;s[y>>2]=d;g=d>>>1^127;E=M+32|0;s[E>>2]=g;s[M+44>>2]=0;p=128;h=9;while(1){if(p>>>0>=8388609){h=M;break e}h=h+8|0;s[_>>2]=h;p=p<<8;s[k>>2]=p;if(l>>>0<i>>>0){w=l+1|0;s[v>>2]=w;m=o[t+l>>0]|0}else{w=l;m=0}s[y>>2]=m;le=((d<<8|m)>>>1&255|g<<8&2147483392)^255;s[E>>2]=le;l=w;d=m;g=le}}while(0);se=(ce|0)==1;e:do if(se){l=0;while(1){if((l|0)>=(Pe|0))break e;le=ye+(l<<2)|0;I=+f[le>>2];O=+f[ye+(Pe+l<<2)>>2];f[le>>2]=I>O?I:O;l=l+1|0}}while(0);oe=i<<3;ae=h+20|0;l=s[ae>>2]|0;le=h+28|0;m=s[le>>2]|0;p=l+((ne(m|0)|0)+-32)|0;if((p|0)<(oe|0))if((p|0)==1){y=h+32|0;p=s[y>>2]|0;w=m>>>15;E=p>>>0<w>>>0;d=E&1;if(!E){p=p-w|0;s[y>>2]=p;w=m-w|0}s[le>>2]=w;_=h+40|0;v=h+24|0;k=h+4|0;while(1){if(w>>>0>=8388609)break;l=l+8|0;s[ae>>2]=l;w=w<<8;s[le>>2]=w;g=s[_>>2]|0;m=s[v>>2]|0;if(m>>>0<(s[k>>2]|0)>>>0){s[v>>2]=m+1;m=o[(s[h>>2]|0)+m>>0]|0}else m=0;s[_>>2]=m;X=((g<<8|m)>>>1&255|p<<8&2147483392)^255;s[y>>2]=X;p=X}if(E){p=w;L=31}else{d=0;p=1}}else{w=m;d=0}else{p=m;d=1;L=31}if((L|0)==31){l=l+(oe-(l+((ne(p|0)|0)+-32)))|0;s[ae>>2]=l;w=p;p=oe}if((Se|0)!=0|(p+16|0)>(oe|0)){X=0;K=0;b=0}else{N=h+32|0;p=s[N>>2]|0;m=w>>>1;_=p>>>0<m>>>0;if(!_){p=p-m|0;s[N>>2]=p;m=w-m|0}s[le>>2]=m;C=h+40|0;P=h+24|0;x=h+4|0;while(1){if(m>>>0>=8388609)break;l=l+8|0;s[ae>>2]=l;m=m<<8;s[le>>2]=m;g=s[C>>2]|0;w=s[P>>2]|0;if(w>>>0<(s[x>>2]|0)>>>0){s[P>>2]=w+1;w=o[(s[h>>2]|0)+w>>0]|0}else w=0;s[C>>2]=w;X=((g<<8|w)>>>1&255|p<<8&2147483392)^255;s[N>>2]=X;p=X}if(_){M=hi(h,6)|0;k=16<<M;y=M+4|0;t=h+12|0;l=s[t>>2]|0;R=h+16|0;p=s[R>>2]|0;if(p>>>0<y>>>0){_=h+8|0;g=s[x>>2]|0;v=p+8|0;v=p+(((v|0)>25?v:25)+-1-p&-8)|0;w=s[_>>2]|0;do{if(w>>>0<g>>>0){m=w+1|0;s[_>>2]=m;w=m;m=o[(s[h>>2]|0)+(g-m)>>0]|0}else m=0;l=l|m<<p;p=p+8|0}while((p|0)<25);m=v+8|0}else m=p;p=l>>>y;w=m-y|0;s[t>>2]=p;s[R>>2]=w;E=(s[ae>>2]|0)+y|0;s[ae>>2]=E;l=k+(l&(1<<y)+-1)+-1|0;if(w>>>0<3){k=h+8|0;v=s[x>>2]|0;_=m+4-M|0;_=m+(M+((_|0)>25?_:25)+3-m&-8)+4|0;m=s[k>>2]|0;do{if(m>>>0<v>>>0){g=m+1|0;s[k>>2]=g;m=g;g=o[(s[h>>2]|0)+(v-g)>>0]|0}else g=0;p=p|g<<w;w=w+8|0}while((w|0)<25);w=_-M|0}k=p&7;s[t>>2]=p>>>3;s[R>>2]=w+-3;w=E+3|0;s[ae>>2]=w;m=s[le>>2]|0;e:do if((w+((ne(m|0)|0)+-32)+2|0)>(oe|0))p=0;else{_=s[N>>2]|0;v=m>>>2;p=-1;while(1){p=p+1|0;g=te(v,o[29345+p>>0]|0)|0;if(_>>>0>=g>>>0)break;else m=g}v=_-g|0;s[N>>2]=v;m=m-g|0;s[le>>2]=m;while(1){if(m>>>0>=8388609)break e;w=w+8|0;s[ae>>2]=w;m=m<<8;s[le>>2]=m;_=s[C>>2]|0;g=s[P>>2]|0;if(g>>>0<(s[x>>2]|0)>>>0){s[P>>2]=g+1;g=o[(s[h>>2]|0)+g>>0]|0}else g=0;s[C>>2]=g;X=((_<<8|g)>>>1&255|v<<8&2147483392)^255;s[N>>2]=X;v=X}}while(0);g=w;b=+(k+1|0)*.09375}else{g=l;b=0;l=0;p=0}X=l;K=p;l=g;w=m;p=g+((ne(m|0)|0)+-32)|0}G=(de|0)>0;if(!((p+3|0)>(oe|0)|G^1)){y=h+32|0;p=s[y>>2]|0;m=w>>>3;E=p>>>0<m>>>0;M=E&1;if(E)w=m;else{p=p-m|0;s[y>>2]=p;w=w-m|0}s[le>>2]=w;_=h+40|0;v=h+24|0;k=h+4|0;while(1){if(w>>>0>=8388609)break;l=l+8|0;s[ae>>2]=l;w=w<<8;s[le>>2]=w;g=s[_>>2]|0;m=s[v>>2]|0;if(m>>>0<(s[k>>2]|0)>>>0){s[v>>2]=m+1;m=o[(s[h>>2]|0)+m>>0]|0}else m=0;s[_>>2]=m;$=((g<<8|m)>>>1&255|p<<8&2147483392)^255;s[y>>2]=$;p=$}p=l+((ne(w|0)|0)+-32)|0;if(E)Z=pe;else L=72}else L=72;if((L|0)==72){M=0;Z=0}if((p+3|0)<=(oe|0)){y=h+32|0;p=s[y>>2]|0;m=w>>>3;v=p>>>0<m>>>0;t=v&1;if(!v){p=p-m|0;s[y>>2]=p;m=w-m|0}s[le>>2]=m;k=h+40|0;w=h+24|0;E=h+4|0;while(1){if(m>>>0>=8388609)break;l=l+8|0;s[ae>>2]=l;m=m<<8;s[le>>2]=m;_=s[k>>2]|0;g=s[w>>2]|0;if(g>>>0<(s[E>>2]|0)>>>0){s[w>>2]=g+1;g=o[(s[h>>2]|0)+g>>0]|0}else g=0;s[k>>2]=g;$=((_<<8|g)>>>1&255|p<<8&2147483392)^255;s[y>>2]=$;p=$}$=D;s[$>>2]=0;s[$+4>>2]=0;if(v){l=y;p=k;m=h;$=E;F=t;A=.149993896484375;T=0;_=D}else{g=E;l=y;p=k;m=h;_=D;L=83}}else{g=D;s[g>>2]=0;s[g+4>>2]=0;g=h+4|0;l=h+32|0;p=h+40|0;w=h+24|0;m=h;_=D;L=83}if((L|0)==83){$=g;F=0;A=+f[17320+(de<<2)>>2];T=+f[17336+(de<<2)>>2]}D=s[$>>2]<<3;L=h+36|0;j=Se;while(1){if((j|0)>=(Me|0))break;U=(j|0)<20;B=0;do{k=s[ae>>2]|0;N=s[le>>2]|0;g=k+((ne(N|0)|0)+-32)|0;v=D-g|0;e:do if((v|0)<=14){if((v|0)>1){y=s[l>>2]|0;E=N>>>2;t=-1;v=N;while(1){t=t+1|0;g=te(E,o[29345+t>>0]|0)|0;if(y>>>0>=g>>>0)break;else v=g}E=y-g|0;s[l>>2]=E;v=v-g|0;s[le>>2]=v;g=k;while(1){if(v>>>0>=8388609)break;g=g+8|0;s[ae>>2]=g;v=v<<8;s[le>>2]=v;y=s[p>>2]|0;k=s[w>>2]|0;if(k>>>0<(s[$>>2]|0)>>>0){s[w>>2]=k+1;k=o[(s[m>>2]|0)+k>>0]|0}else k=0;s[p>>2]=k;Y=((y<<8|k)>>>1&255|E<<8&2147483392)^255;s[l>>2]=Y;E=Y}g=t>>1^0-(t&1);break}if((D|0)>(g|0)){v=s[l>>2]|0;g=N>>>1;t=v>>>0<g>>>0;if(!t){v=v-g|0;s[l>>2]=v;g=N-g|0}s[le>>2]=g;while(1){if(g>>>0>=8388609)break;k=k+8|0;s[ae>>2]=k;g=g<<8;s[le>>2]=g;E=s[p>>2]|0;y=s[w>>2]|0;if(y>>>0<(s[$>>2]|0)>>>0){s[w>>2]=y+1;y=o[(s[m>>2]|0)+y>>0]|0}else y=0;s[p>>2]=y;Y=((E<<8|y)>>>1&255|v<<8&2147483392)^255;s[l>>2]=Y;v=Y}g=t<<31>>31}else g=-1}else{R=(U?j:20)<<1;g=o[29009+(de*84|0)+(F*42|0)+R>>0]<<7;R=o[(R|1)+(29009+(de*84|0)+(F*42|0))>>0]<<6;P=N>>>15;s[L>>2]=P;x=s[l>>2]|0;C=(x>>>0)/(P>>>0)|0;Y=C+1|0;C=32768-(Y+(Y>>>0>32768?32767-C|0:0))|0;if(C>>>0<g>>>0){y=g;v=0;g=0}else{v=te(32736-g|0,16384-R|0)|0;E=1;while(1){Y=v>>>15;y=Y+1|0;if(!Y)break;v=y<<1;t=g+v|0;if(C>>>0<t>>>0)break;v=te(v+-2|0,R)|0;g=t;E=E+1|0}if(y>>>0<2){Y=(C-g|0)>>>1;g=g+(Y<<1)|0;E=E+Y|0}v=g+y|0;Y=C>>>0<v>>>0;v=Y?g:v;g=Y?0-E|0:E}y=v+y|0;y=y>>>0<32768?y:32768;Y=te(P,32768-y|0)|0;t=x-Y|0;s[l>>2]=t;y=te(P,y-v|0)|0;y=(v|0)==0?N-Y|0:y;s[le>>2]=y;v=k;while(1){if(y>>>0>=8388609)break e;v=v+8|0;s[ae>>2]=v;y=y<<8;s[le>>2]=y;E=s[p>>2]|0;k=s[w>>2]|0;if(k>>>0<(s[$>>2]|0)>>>0){s[w>>2]=k+1;k=o[(s[m>>2]|0)+k>>0]|0}else k=0;s[p>>2]=k;Y=((E<<8|k)>>>1&255|t<<8&2147483392)^255;s[l>>2]=Y;t=Y}}while(0);O=+(g|0);V=ye+(j+(te(B,s[he>>2]|0)|0)<<2)|0;I=+f[V>>2];f[V>>2]=I<-9?-9:I;V=ye+(j+(te(B,s[he>>2]|0)|0)<<2)|0;Y=_+(B<<2)|0;f[V>>2]=T*+f[V>>2]+ +f[Y>>2]+O;f[Y>>2]=+f[Y>>2]+O-A*O;B=B+1|0}while((B|0)<(ce|0));j=j+1|0}Y=Ne()|0;V=u;u=u+((1*(Pe<<2)|0)+15&-16)|0;j=s[$>>2]|0;g=j<<3;v=s[ae>>2]|0;k=s[le>>2]|0;E=v+((ne(k|0)|0)+-32)|0;_=(M|0)!=0;y=_?2:4;if(G)N=(E+y+1|0)>>>0<=g>>>0;else N=0;x=g-(N&1)|0;P=_?4:5;R=0;C=Se;g=E;t=0;while(1){if((C|0)>=(Me|0))break;if((g+y|0)>>>0>x>>>0){E=R;_=t}else{_=s[l>>2]|0;g=k>>>y;W=_>>>0<g>>>0;E=W&1;if(!W){_=_-g|0;s[l>>2]=_;g=k-g|0}s[le>>2]=g;y=v;while(1){if(g>>>0>=8388609)break;y=y+8|0;s[ae>>2]=y;g=g<<8;s[le>>2]=g;k=s[p>>2]|0;v=s[w>>2]|0;if(v>>>0<j>>>0){s[w>>2]=v+1;v=o[(s[m>>2]|0)+v>>0]|0}else v=0;s[p>>2]=v;W=((k<<8|v)>>>1&255|_<<8&2147483392)^255;s[l>>2]=W;_=W}_=R^E;v=y;k=g;E=_;g=y+((ne(g|0)|0)+-32)|0;_=t|_}s[V+(C<<2)>>2]=E;R=E;C=C+1|0;y=P;t=_}R=M<<2;if(N?(n[R+t+(27892+(de<<3))>>0]|0)!=(n[(R|2)+t+(27892+(de<<3))>>0]|0):0){_=s[l>>2]|0;g=k>>>1;W=_>>>0<g>>>0;t=W&1;if(!W){_=_-g|0;s[l>>2]=_;g=k-g|0}s[le>>2]=g;while(1){if(g>>>0>=8388609)break;v=v+8|0;s[ae>>2]=v;g=g<<8;s[le>>2]=g;y=s[p>>2]|0;k=s[w>>2]|0;if(k>>>0<j>>>0){s[w>>2]=k+1;k=o[(s[m>>2]|0)+k>>0]|0}else k=0;s[p>>2]=k;W=((y<<8|k)>>>1&255|_<<8&2147483392)^255;s[l>>2]=W;_=W}E=g;g=t<<1}else{E=k;g=0}g=R+g|0;_=Se;while(1){if((_|0)>=(Me|0))break;W=V+(_<<2)|0;s[W>>2]=n[g+(s[W>>2]|0)+(27892+(de<<3))>>0];_=_+1|0}e:do if((v+((ne(E|0)|0)+-32)+4|0)>(oe|0)){g=v;_=E;t=2}else{k=s[l>>2]|0;y=E>>>5;t=-1;_=E;while(1){t=t+1|0;g=te(y,o[28203+t>>0]|0)|0;if(k>>>0>=g>>>0)break;else _=g}y=k-g|0;s[l>>2]=y;_=_-g|0;s[le>>2]=_;g=v;while(1){if(_>>>0>=8388609)break e;g=g+8|0;s[ae>>2]=g;v=_<<8;s[le>>2]=v;k=s[p>>2]|0;_=s[w>>2]|0;if(_>>>0<j>>>0){s[w>>2]=_+1;_=o[(s[m>>2]|0)+_>>0]|0}else _=0;s[p>>2]=_;W=((k<<8|_)>>>1&255|y<<8&2147483392)^255;s[l>>2]=W;_=v;y=W}}while(0);B=u;u=u+((1*(Pe<<2)|0)+15&-16)|0;v=s[he>>2]|0;k=(de<<1)+ce+-1|0;y=Ce+104|0;E=0;while(1){if((E|0)>=(v|0))break;W=E+1|0;q=s[ue>>2]|0;G=(te(v,k)|0)+E|0;s[B+(E<<2)>>2]=(te(te((o[(s[y>>2]|0)+G>>0]|0)+64|0,ce)|0,(r[q+(W<<1)>>1]|0)-(r[q+(E<<1)>>1]|0)<<de)|0)>>2;E=W}U=u;u=u+((1*(Pe<<2)|0)+15&-16)|0;G=i<<6;q=32-(ne(_|0)|0)|0;W=_>>>(q+-16|0);y=(W>>>12)+-8|0;R=g;D=6;L=Se;g=(g<<3)-((q<<3)+(y+(W>>>0>(s[5272+(y<<2)>>2]|0)>>>0&1)))|0;y=G;while(1){
if((L|0)>=(Me|0))break;N=L+1|0;C=(te(ce,(r[H+(N<<1)>>1]|0)-(r[H+(L<<1)>>1]|0)|0)|0)<<de;v=C<<3;P=(C|0)<48;C=(v|0)<((P?48:C)|0)?v:P?48:C;P=B+(L<<2)|0;v=R;R=0;k=D;x=y;while(1){if((g+(k<<3)|0)>=(x|0))break;if((R|0)>=(s[P>>2]|0))break;g=s[l>>2]|0;k=_>>>k;E=g>>>0<k>>>0;if(E)_=k;else{g=g-k|0;s[l>>2]=g;_=_-k|0}s[le>>2]=_;while(1){if(_>>>0>=8388609)break;v=v+8|0;s[ae>>2]=v;_=_<<8;s[le>>2]=_;y=s[p>>2]|0;k=s[w>>2]|0;if(k>>>0<j>>>0){s[w>>2]=k+1;k=o[(s[m>>2]|0)+k>>0]|0}else k=0;s[p>>2]=k;W=((y<<8|k)>>>1&255|g<<8&2147483392)^255;s[l>>2]=W;g=W}q=32-(ne(_|0)|0)|0;W=_>>>(q+-16|0);g=(W>>>12)+-8|0;g=(v<<3)-((q<<3)+(g+(W>>>0>(s[5272+(g<<2)>>2]|0)>>>0&1)))|0;if(!E)break;R=R+C|0;k=1;x=x-C|0}s[U+(L<<2)>>2]=R;if((R|0)<=0){R=v;L=N;y=x;continue}R=v;D=(D|0)<3?2:D+-1|0;L=N;y=x}i=u;u=u+((1*(Pe<<2)|0)+15&-16)|0;e:do if((g+48|0)>(y|0)){p=R;l=_;w=5}else{v=s[l>>2]|0;k=_>>>7;E=-1;while(1){E=E+1|0;g=te(k,o[28207+E>>0]|0)|0;if(v>>>0>=g>>>0)break;else _=g}y=v-g|0;s[l>>2]=y;_=_-g|0;s[le>>2]=_;g=R;while(1){if(_>>>0>=8388609){p=g;l=_;w=E;break e}g=g+8|0;s[ae>>2]=g;v=_<<8;s[le>>2]=v;k=s[p>>2]|0;_=s[w>>2]|0;if(_>>>0<j>>>0){s[w>>2]=_+1;_=o[(s[m>>2]|0)+_>>0]|0}else _=0;s[p>>2]=_;W=((k<<8|_)>>>1&255|y<<8&2147483392)^255;s[l>>2]=W;_=v;y=W}}while(0);q=32-(ne(l|0)|0)|0;W=l>>>(q+-16|0);l=(W>>>12)+-8|0;l=G+((q<<3)+(l+(W>>>0>(s[5272+(l<<2)>>2]|0)>>>0&1))-(p<<3))+-1|0;W=(M|0)==0;if((de|0)>1&(W^1))P=(l|0)>=((de<<3)+16|0);else P=0;x=P?8:0;q=u;u=u+((1*(Pe<<2)|0)+15&-16)|0;j=u;u=u+((1*(Pe<<2)|0)+15&-16)|0;C=Mi(Ce,Se,Me,U,B,w,re,ie,l-x|0,ee,q,i,j,ce,de,h,0,0,0)|0;N=h+12|0;D=h+16|0;L=h+8|0;R=Se;while(1){if((R|0)>=(Me|0))break;k=s[i+(R<<2)>>2]|0;if((k|0)>=1){y=(1<<k)+-1|0;A=+(1<<14-k|0);w=s[N>>2]|0;l=s[D>>2]|0;E=0;do{if(l>>>0<k>>>0){_=l+8|0;v=((_|0)>25?_:25)+-1-l&-8;p=w;do{w=s[L>>2]|0;g=s[$>>2]|0;if(w>>>0<g>>>0){w=w+1|0;s[L>>2]=w;w=o[(s[m>>2]|0)+(g-w)>>0]|0}else w=0;p=p|w<<l;l=l+8|0}while((l|0)<25);l=_+v|0}else p=w;w=p>>>k;l=l-k|0;s[N>>2]=w;s[D>>2]=l;s[ae>>2]=(s[ae>>2]|0)+k;H=ye+(R+(te(E,s[he>>2]|0)|0)<<2)|0;f[H>>2]=+f[H>>2]+((+(p&y|0)+.5)*A*6103515625e-14+-.5);E=E+1|0}while((E|0)<(ce|0))}R=R+1|0}l=2048-ve+((we|0)/2|0)<<2;p=0;do{H=s[Q+(p<<2)>>2]|0;Mr(H|0,H+(ve<<2)|0,l|0)|0;p=p+1|0}while((p|0)<(Te|0));B=te(ce,Pe)|0;U=u;u=u+((1*B|0)+15&-16)|0;H=(te(ce,ve)|0)<<2;F=u;u=u+((1*H|0)+15&-16)|0;H=e+36|0;on(0,Ce,Se,Me,F,(ce|0)==2?F+(ve<<2)|0:0,U,0,q,Z,t,s[ie>>2]|0,s[re>>2]|0,V,G-x|0,s[ee>>2]|0,h,de,C,H,0,s[e+32>>2]|0);if(P){p=s[N>>2]|0;l=s[D>>2]|0;if(!l){g=s[$>>2]|0;w=s[L>>2]|0;_=0;do{if(w>>>0<g>>>0){l=w+1|0;s[L>>2]=l;w=l;l=o[(s[m>>2]|0)+(g-l)>>0]|0}else l=0;p=p|l<<_;_=_+8|0}while((_|0)<25);l=32}s[N>>2]=p>>>1;s[D>>2]=l+-1;l=(s[ae>>2]|0)+1|0;s[ae>>2]=l;t=p&1}else{l=s[ae>>2]|0;t=0}p=oe-(l+((ne(s[le>>2]|0)|0)+-32))|0;E=0;while(1){if((E|0)==2)break;else y=Se;while(1){if(!((y|0)<(Me|0)&(p|0)>=(ce|0)))break;w=s[i+(y<<2)>>2]|0;do if((w|0)<=7){if((s[j+(y<<2)>>2]|0)!=(E|0))break;A=+(1<<14-w+-1|0);g=s[D>>2]|0;_=s[N>>2]|0;k=0;do{if(!g){v=0;while(1){w=s[L>>2]|0;g=s[$>>2]|0;if(w>>>0<g>>>0){w=w+1|0;s[L>>2]=w;w=o[(s[m>>2]|0)+(g-w)>>0]|0}else w=0;w=_|w<<v;v=v+8|0;if((v|0)>=25){g=32;break}else _=w}}else w=_;_=w>>>1;g=g+-1|0;s[N>>2]=_;s[D>>2]=g;l=l+1|0;s[ae>>2]=l;re=ye+(y+(te(k,s[he>>2]|0)|0)<<2)|0;f[re>>2]=+f[re>>2]+(+(w&1|0)+-.5)*A*6103515625e-14;p=p+-1|0;k=k+1|0}while((k|0)<(ce|0))}while(0);y=y+1|0}E=E+1|0}e:do if(t|0){v=(de|0)==3;l=s[H>>2]|0;R=Se;t:while(1){if((R|0)>=(Me|0))break e;k=R+1|0;y=s[ue>>2]|0;y=(r[y+(k<<1)>>1]|0)-(r[y+(R<<1)>>1]|0)|0;I=+J(+(+(((((s[q+(R<<2)>>2]|0)+1|0)>>>0)/(y>>>0)|0)>>>de|0)*-.125*.6931471805599453))*.5;E=y<<de;O=1/+z(+ +(E|0));t=te(R,ce)|0;p=0;while(1){w=s[he>>2]|0;m=(te(p,w)|0)+R|0;T=+f[Ee+(m<<2)>>2];A=+f[Ae+(m<<2)>>2];do if(se){re=w+R|0;S=+f[Ee+(re<<2)>>2];T=T>S?T:S;S=+f[Ae+(re<<2)>>2];if(A>S)break;A=S}while(0);A=+f[ye+(m<<2)>>2]-(T<A?T:A);A=+J(+(-(A<0?0:A)*.6931471805599453))*2;A=v?A*1.4142135381698608:A;A=(I<A?I:A)*O;_=F+((te(p,ve)|0)<<2)|0;_=_+(r[(s[ue>>2]|0)+(R<<1)>>1]<<de<<2)|0;g=U+(t+p)|0;T=-A;m=0;w=0;while(1){if((m|0)>=(pe|0))break;i:do if(!(o[g>>0]&1<<m)){w=0;while(1){if((w|0)>=(y|0)){w=1;break i}re=(te(l,1664525)|0)+1013904223|0;f[_+((w<<de)+m<<2)>>2]=(re&32768|0)==0?T:A;l=re;w=w+1|0}}while(0);m=m+1|0}i:do if(w|0){w=0;A=0;while(1){if((w|0)>=(E|0))break;S=+f[_+(w<<2)>>2];w=w+1|0;A=A+S*S}A=1/+z(+(A+1.0000000036274937e-15));m=0;w=_;while(1){if((m|0)>=(E|0))break i;f[w>>2]=A*+f[w>>2];m=m+1|0;w=w+4|0}}while(0);p=p+1|0;if((p|0)>=(ce|0)){R=k;continue t}}}}while(0);e:do if(d|0){l=0;while(1){if((l|0)>=(B|0))break e;f[ye+(l<<2)>>2]=-28;l=l+1|0}}while(0);ai(Ce,F,xe,ye,Se,fe,ce,Te,M,de,s[Re>>2]|0,d);w=e+56|0;m=e+60|0;g=e+68|0;_=e+64|0;v=e+76|0;k=e+72|0;y=Ce+60|0;l=(de|0)==0;p=0;do{de=s[w>>2]|0;de=(de|0)>15?de:15;s[w>>2]=de;ce=s[m>>2]|0;ce=(ce|0)>15?ce:15;s[m>>2]=ce;d=s[xe+(p<<2)>>2]|0;As(d,d,ce,de,s[be>>2]|0,+f[g>>2],+f[_>>2],s[v>>2]|0,s[k>>2]|0,s[y>>2]|0,we);if(!l){de=s[be>>2]|0;ce=d+(de<<2)|0;As(ce,ce,s[w>>2]|0,X,ve-de|0,+f[_>>2],b,s[k>>2]|0,K,s[y>>2]|0,we)}p=p+1|0}while((p|0)<(Te|0));s[m>>2]=s[w>>2];s[g>>2]=s[_>>2];s[v>>2]=s[k>>2];s[w>>2]=X;f[_>>2]=b;s[k>>2]=K;if(!l){s[m>>2]=X;f[g>>2]=b;s[v>>2]=K}if(se)Sr(ye+(Pe<<2)|0,ye|0,Pe<<2|0)|0;e:do if(W){l=Pe<<3;Sr(Ae|0,Ee|0,l|0)|0;Sr(Ee|0,ye|0,l|0)|0;b=(s[_e>>2]|0)<10?+(pe|0)*.0010000000474974513:1;l=0;while(1){if((l|0)>=(ge|0)){p=0;break e}we=me+(l<<2)|0;I=+f[we>>2]+b;O=+f[ye+(l<<2)>>2];f[we>>2]=I<O?I:O;l=l+1|0}}else{l=0;while(1){if((l|0)>=(ge|0)){p=0;break e}me=Ee+(l<<2)|0;I=+f[me>>2];O=+f[ye+(l<<2)>>2];f[me>>2]=I<O?I:O;l=l+1|0}}while(0);do{d=te(p,Pe)|0;l=0;while(1){if((l|0)>=(Se|0)){l=Me;break}ge=d+l|0;f[ye+(ge<<2)>>2]=0;f[Ae+(ge<<2)>>2]=-28;f[Ee+(ge<<2)>>2]=-28;l=l+1|0}while(1){if((l|0)>=(Pe|0))break;ge=d+l|0;f[ye+(ge<<2)>>2]=0;f[Ae+(ge<<2)>>2]=-28;f[Ee+(ge<<2)>>2]=-28;l=l+1|0}p=p+1|0}while((p|0)!=2);s[H>>2]=s[le>>2];li(xe,a,ve,Te,s[Re>>2]|0,Ce+16|0,e+80|0,c);s[_e>>2]=0;if(((s[ae>>2]|0)+((ne(s[le>>2]|0)|0)+-32)|0)>(oe|0))l=-3;else{if(s[h+44>>2]|0)s[e+40>>2]=1;l=(ke|0)/(s[Re>>2]|0)|0}He(Y|0);e=l;u=Ie;return e|0}function oi(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,o=0,a=0,l=0,h=0,c=0,d=0,p=0,b=0,w=0,m=0,g=0,_=0,v=0,k=0,y=0,E=0,A=0,T=0,S=0,M=0,R=0,C=0,P=0,x=0,I=0,O=0,N=0,D=0,L=0,U=0,B=0,j=0,F=0,G=0,H=0,q=0,W=0,V=0,Y=0,Z=0,$=0,K=0,X=0;$=u;u=u+8512|0;h=$+8504|0;l=$+4408|0;Z=$+4400|0;T=$+4392|0;F=$+296|0;j=$+192|0;G=$+96|0;H=$;Y=s[e+8>>2]|0;S=s[e>>2]|0;d=s[S+8>>2]|0;V=s[S+4>>2]|0;A=s[S+32>>2]|0;n=V+2048|0;B=0-t|0;o=0;do{W=e+88+((te(o,n)|0)<<2)|0;s[Z+(o<<2)>>2]=W;s[T+(o<<2)>>2]=W+8192+(B<<2);o=o+1|0}while((o|0)<(Y|0));U=e+88+((te(n,Y)|0)<<2)|0;y=U+(Y*24<<2)|0;c=d<<1;c=y+(c<<2)+(c<<2)+(c<<2)|0;q=e+48|0;W=s[q>>2]|0;E=s[e+20>>2]|0;if((W|0)<5&(E|0)==0?(s[e+52>>2]|0)==0:0){L=(W|0)==0;if(L){bi(Z,l,2048,Y);mi(l+1440|0,l,1328,620,h);D=720-(s[h>>2]|0)|0;s[e+44>>2]=D;N=1}else{N=.800000011920929;D=s[e+44>>2]|0}I=Ne()|0;O=u;u=u+((1*(V<<2)|0)+15&-16)|0;v=s[S+60>>2]|0;y=D<<1;E=(y|0)<1024;A=F+4096|0;i=2048-t|0;T=i<<2;S=1024-D|0;M=V+t|0;R=1024-t+S|0;C=i+-1|0;P=e+56|0;x=e+64|0;p=e+72|0;b=(V|0)/2|0;w=V+-1|0;_=0;do{g=s[Z+(_<<2)>>2]|0;n=0;while(1){if((n|0)==1024)break;s[F+(n<<2)>>2]=s[g+(n+1024<<2)>>2];n=n+1|0}if(L){Ai(F,j,v,V,24,1024);f[j>>2]=+f[j>>2]*1.000100016593933;n=1;while(1){if((n|0)==25)break;e=j+(n<<2)|0;m=+f[e>>2];k=+(n|0);f[e>>2]=m-m*6400000711437315e-20*k*k;n=n+1|0}vi(U+(_*24<<2)|0,j,24)}l=E?y:1024;n=2048-l+-1|0;o=0;while(1){if((o|0)==24)break;s[G+(o<<2)>>2]=s[g+(n-o<<2)>>2];o=o+1|0}h=A+(0-l<<2)|0;d=U+(_*24<<2)|0;ki(h,d,h,l,G);h=l>>1;c=1024-h|0;n=1024-l|0;a=1;m=1;o=0;while(1){if((o|0)>=(h|0))break;K=+f[F+(c+o<<2)>>2];k=+f[F+(n+o<<2)>>2];a=a+K*K;m=m+k*k;o=o+1|0}m=+z(+((a<m?a:m)/m));Mr(g|0,g+(t<<2)|0,T|0)|0;k=0;a=N*m;n=0;o=0;while(1){if((n|0)>=(M|0)){n=0;break}e=(o|0)<(D|0);K=e?a:a*m;e=o-(e?0:D)|0;f[g+(i+n<<2)>>2]=K*+f[F+(S+e<<2)>>2];X=+f[g+(R+e<<2)>>2];k=k+X*X;a=K;n=n+1|0;o=e+1|0}while(1){if((n|0)==24)break;s[H+(n<<2)>>2]=s[g+(C-n<<2)>>2];n=n+1|0}o=g+8192|0;n=o+(B<<2)|0;Ei(n,d,n,M,H);a=0;n=0;while(1){if((n|0)>=(M|0))break;X=+f[g+(i+n<<2)>>2];a=a+X*X;n=n+1|0}e:do if(k>a*.20000000298023224){if(k<a){m=+z(+((k+1)/(a+1)));a=1-m;n=0;while(1){if((n|0)>=(V|0)){n=V;break}e=g+(i+n<<2)|0;f[e>>2]=(1-+f[v+(n<<2)>>2]*a)*+f[e>>2];n=n+1|0}while(1){if((n|0)>=(M|0))break e;e=g+(i+n<<2)|0;f[e>>2]=m*+f[e>>2];n=n+1|0}}}else{n=0;while(1){if((n|0)>=(M|0))break e;f[g+(i+n<<2)>>2]=0;n=n+1|0}}while(0);e=s[P>>2]|0;X=-+f[x>>2];n=s[p>>2]|0;As(O,o,e,e,V,X,X,n,n,0,0);n=0;while(1){if((n|0)>=(b|0))break;f[g+(n+2048<<2)>>2]=+f[v+(n<<2)>>2]*+f[O+(w-n<<2)>>2]+ +f[v+(V-n+-1<<2)>>2]*+f[O+(n<<2)>>2];n=n+1|0}_=_+1|0}while((_|0)<(Y|0));He(I|0);Z=W+1|0;s[q>>2]=Z;u=$;return}n=s[e+24>>2]|0;g=s[S+12>>2]|0;l=(n|0)<(g|0);g=(E|0)>((l?n:g)|0)?E:l?n:g;l=te(Y,t)|0;_=Ne()|0;v=u;u=u+((1*(l<<2)|0)+15&-16)|0;a=(W|0)==0?1.5:.5;l=0;do{o=te(l,d)|0;h=E;while(1){if((h|0)>=(n|0))break;H=o+h|0;K=+f[c+(H<<2)>>2];H=y+(H<<2)|0;X=+f[H>>2]-a;f[H>>2]=K>X?K:X;h=h+1|0}l=l+1|0}while((l|0)<(Y|0));p=e+36|0;w=0;n=s[p>>2]|0;while(1){if((w|0)>=(Y|0))break;b=te(w,t)|0;o=E;e:while(1){if((o|0)>=(g|0))break;d=r[A+(o<<1)>>1]|0;h=b+(d<<i)|0;o=o+1|0;d=(r[A+(o<<1)>>1]|0)-d<<i;l=0;while(1){if((l|0)>=(d|0))break;H=(te(n,1664525)|0)+1013904223|0;f[v+(h+l<<2)>>2]=+(H>>20|0);l=l+1|0;n=H}c=v+(h<<2)|0;l=0;a=0;while(1){if((l|0)>=(d|0))break;X=+f[c+(l<<2)>>2];l=l+1|0;a=a+X*X}a=1/+z(+(a+1.0000000036274937e-15));h=0;l=c;while(1){if((h|0)>=(d|0))continue e;f[l>>2]=a*+f[l>>2];h=h+1|0;l=l+4|0}}w=w+1|0}s[p>>2]=n;n=2048-t+(V>>>1)<<2;o=0;do{V=s[Z+(o<<2)>>2]|0;Mr(V|0,V+(t<<2)|0,n|0)|0;o=o+1|0}while((o|0)<(Y|0));ai(S,v,T,y,E,g,Y,Y,0,i,s[e+16>>2]|0,0);He(_|0);Z=W+1|0;s[q>>2]=Z;u=$;return}function ai(e,t,i,n,r,o,a,l,h,c,d,p){e=e|0;t=t|0;i=i|0;n=n|0;r=r|0;o=o|0;a=a|0;l=l|0;h=h|0;c=c|0;d=d|0;p=p|0;var b=0,w=0,m=0,g=0,_=0,v=0,k=0,y=0,E=0,A=0,T=0,S=0,M=0,R=0;R=u;S=s[e+4>>2]|0;_=s[e+8>>2]|0;v=e+44|0;m=s[v>>2]|0;y=m<<c;M=u;u=u+((1*(y<<2)|0)+15&-16)|0;k=1<<c;E=(h|0)==0;A=E?1:k;T=E?y:m;E=(s[e+36>>2]|0)-(E?c:0)|0;switch(l|0){case 2:{if((a|0)==1){sn(s[e+32>>2]|0,m,t,M,n,r,o,k,d,p);w=i+4|0;a=(s[w>>2]|0)+(((S|0)/2|0)<<2)|0;Sr(a|0,M|0,y<<2|0)|0;b=e+64|0;c=e+60|0;h=0;while(1){if((h|0)>=(A|0)){h=0;break}y=(s[i>>2]|0)+((te(T,h)|0)<<2)|0;pi(b,a+(h<<2)|0,y,s[c>>2]|0,S,E,A);h=h+1|0}while(1){if((h|0)>=(A|0))break;i=(s[w>>2]|0)+((te(T,h)|0)<<2)|0;pi(b,M+(h<<2)|0,i,s[c>>2]|0,S,E,A);h=h+1|0}u=R;return}break}case 1:{if((a|0)==2){c=(s[i>>2]|0)+(((S|0)/2|0)<<2)|0;h=e+32|0;sn(s[h>>2]|0,m,t,M,n,r,o,k,d,p);sn(s[h>>2]|0,s[v>>2]|0,t+(y<<2)|0,c,n+(_<<2)|0,r,o,k,d,p);h=0;while(1){if((h|0)>=(y|0))break;r=M+(h<<2)|0;f[r>>2]=+f[r>>2]*.5+ +f[c+(h<<2)>>2]*.5;h=h+1|0}a=e+64|0;h=e+60|0;c=0;while(1){if((c|0)>=(A|0))break;y=(s[i>>2]|0)+((te(T,c)|0)<<2)|0;pi(a,M+(c<<2)|0,y,s[h>>2]|0,S,E,A);c=c+1|0}u=R;return}break}default:{}}g=e+32|0;w=e+64|0;b=e+60|0;h=0;c=m;while(1){e=t+((te(h,y)|0)<<2)|0;a=n+((te(h,_)|0)<<2)|0;sn(s[g>>2]|0,c,e,M,a,r,o,k,d,p);c=i+(h<<2)|0;a=0;while(1){if((a|0)>=(A|0))break;e=(s[c>>2]|0)+((te(T,a)|0)<<2)|0;pi(w,M+(a<<2)|0,e,s[b>>2]|0,S,E,A);a=a+1|0}h=h+1|0;if((h|0)>=(l|0))break;c=s[v>>2]|0}u=R;return}function li(e,t,i,n,r,o,a,l){e=e|0;t=t|0;i=i|0;n=n|0;r=r|0;o=o|0;a=a|0;l=l|0;var h=0,c=0,d=0,p=0,b=0,w=0,m=0,g=0,_=0,v=0,k=0,y=0,E=0,A=0,T=0;E=u;if((r|0)==1&(n|0)==2&(l|0)==0){p=+f[o>>2];b=s[e>>2]|0;l=s[e+4>>2]|0;o=a+4|0;h=0;c=+f[a>>2];d=+f[o>>2];while(1){if((h|0)>=(i|0))break;T=+f[b+(h<<2)>>2]+1.0000000031710769e-30+c;A=+f[l+(h<<2)>>2]+1.0000000031710769e-30+d;e=h<<1;f[t+(e<<2)>>2]=T*30517578125e-15;f[t+((e|1)<<2)>>2]=A*30517578125e-15;h=h+1|0;c=T*p;d=A*p}f[a>>2]=c;f[o>>2]=d;u=E;return}k=Ne()|0;y=u;u=u+((1*(i<<2)|0)+15&-16)|0;d=+f[o>>2];m=(i|0)/(r|0)|0;g=(r|0)>1;l=0;_=0;do{h=a+(_<<2)|0;c=+f[h>>2];b=s[e+(_<<2)>>2]|0;w=t+(_<<2)|0;if(!g){o=0;while(1){if((o|0)>=(i|0))break;T=+f[b+(o<<2)>>2]+1.0000000031710769e-30+c;f[w+((te(o,n)|0)<<2)>>2]=T*30517578125e-15;o=o+1|0;c=d*T}f[h>>2]=c;if(!l)l=0;else v=14}else{l=0;while(1){if((l|0)>=(i|0))break;T=+f[b+(l<<2)>>2]+1.0000000031710769e-30+c;f[y+(l<<2)>>2]=T;l=l+1|0;c=d*T}f[h>>2]=c;l=1;v=14}e:do if((v|0)==14){v=0;o=0;while(1){if((o|0)>=(m|0))break e;f[w+((te(o,n)|0)<<2)>>2]=+f[y+((te(o,r)|0)<<2)>>2]*30517578125e-15;o=o+1|0}}while(0);_=_+1|0}while((_|0)<(n|0));He(k|0);u=E;return}function fi(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var r=0,a=0,l=0,f=0,h=0,u=0,c=0,d=0;r=s[e+36>>2]|0;n=te(r,n-i|0)|0;d=e+32|0;a=(s[d>>2]|0)-n|0;s[d>>2]=a;if(!t){u=e+28|0;c=u;n=(s[u>>2]|0)-n|0}else{c=e+28|0;n=te(r,i-t|0)|0}s[c>>2]=n;l=e+20|0;f=e+40|0;h=e+24|0;u=e+4|0;t=a;while(1){if(n>>>0>=8388609)break;s[l>>2]=(s[l>>2]|0)+8;n=n<<8;s[c>>2]=n;i=s[f>>2]|0;r=s[h>>2]|0;if(r>>>0<(s[u>>2]|0)>>>0){s[h>>2]=r+1;r=o[(s[e>>2]|0)+r>>0]|0}else r=0;s[f>>2]=r;a=((i<<8|r)>>>1&255|t<<8&2147483392)^255;s[d>>2]=a;t=a}return}function hi(e,t){e=e|0;t=t|0;var i=0,n=0,r=0,a=0,l=0,f=0,h=0,u=0,c=0,d=0,p=0;p=t+-1|0;i=32-(ne(p|0)|0)|0;if((i|0)<=8){c=e+28|0;f=s[c>>2]|0;a=(f>>>0)/(t>>>0)|0;s[e+36>>2]=a;d=e+32|0;u=s[d>>2]|0;h=((u>>>0)/(a>>>0)|0)+1|0;h=h>>>0>t>>>0?t:h;i=t-h|0;l=te(a,t-(i+1)|0)|0;u=u-l|0;s[d>>2]=u;t=(h|0)==(t|0)?f-l|0:a;s[c>>2]=t;a=e+20|0;l=e+40|0;f=e+24|0;h=e+4|0;while(1){if(t>>>0>=8388609)break;s[a>>2]=(s[a>>2]|0)+8;t=t<<8;s[c>>2]=t;r=s[l>>2]|0;n=s[f>>2]|0;if(n>>>0<(s[h>>2]|0)>>>0){s[f>>2]=n+1;n=o[(s[e>>2]|0)+n>>0]|0}else n=0;s[l>>2]=n;p=((r<<8|n)>>>1&255|u<<8&2147483392)^255;s[d>>2]=p;u=p}return i|0}d=i+-8|0;u=(p>>>d)+1|0;h=((s[e+28>>2]|0)>>>0)/(u>>>0)|0;s[e+36>>2]=h;h=(((s[e+32>>2]|0)>>>0)/(h>>>0)|0)+1|0;h=u-(u>>>0<h>>>0?u:h)|0;fi(e,h,h+1|0,u);h=h<<d;u=e+12|0;i=s[u>>2]|0;c=e+16|0;t=s[c>>2]|0;if(t>>>0<d>>>0){l=e+8|0;a=s[e+4>>2]|0;f=t+8|0;f=t+(((f|0)>25?f:25)+-1-t&-8)|0;n=s[l>>2]|0;do{if(n>>>0<a>>>0){r=n+1|0;s[l>>2]=r;n=r;r=o[(s[e>>2]|0)+(a-r)>>0]|0}else r=0;i=i|r<<t;t=t+8|0}while((t|0)<25);t=f+8|0}s[u>>2]=i>>>d;s[c>>2]=t-d;c=e+20|0;s[c>>2]=(s[c>>2]|0)+d;i=h|i&(1<<d)+-1;if(i>>>0<=p>>>0){e=i;return e|0}s[e+44>>2]=1;e=p;return e|0}function ui(e){e=e|0;var t=0,i=0,r=0,a=0,l=0,f=0,h=0,u=0,c=0,d=0,p=0,b=0,w=0,m=0,g=0;g=s[e+28>>2]|0;a=ne(g|0)|0;t=2147483647>>>a;i=s[e+32>>2]|0;r=i+t&~t;if((r|t)>>>0>=(i+g|0)>>>0){r=t>>>1;r=i+r&~r;a=a+1|0}c=e+36|0;d=e+40|0;m=e+24|0;p=e+8|0;b=e+4|0;g=e+44|0;w=a+7&-8;h=a;while(1){if((h|0)<=0)break;f=r>>>23;if((f|0)==255)s[c>>2]=(s[c>>2]|0)+1;else{l=r>>>31;t=s[d>>2]|0;if((t|0)>-1){i=s[m>>2]|0;if((i+(s[p>>2]|0)|0)>>>0<(s[b>>2]|0)>>>0){s[m>>2]=i+1;n[(s[e>>2]|0)+i>>0]=t+l;t=0}else t=-1;s[g>>2]=s[g>>2]|t}t=s[c>>2]|0;if(t|0){l=l+255&255;do{i=s[m>>2]|0;if((i+(s[p>>2]|0)|0)>>>0<(s[b>>2]|0)>>>0){s[m>>2]=i+1;n[(s[e>>2]|0)+i>>0]=l;i=0;t=s[c>>2]|0}else i=-1;s[g>>2]=s[g>>2]|i;t=t+-1|0;s[c>>2]=t}while((t|0)!=0)}s[d>>2]=f&255}r=r<<8&2147483392;h=h+-8|0}i=s[d>>2]|0;if((i|0)>-1){t=s[m>>2]|0;if((t+(s[p>>2]|0)|0)>>>0<(s[b>>2]|0)>>>0){s[m>>2]=t+1;n[(s[e>>2]|0)+t>>0]=i;t=0}else t=-1;s[g>>2]=s[g>>2]|t;t=s[c>>2]|0;if(!t)u=26;else u=23}else{t=s[c>>2]|0;if(t|0)u=23}if((u|0)==23)while(1){i=s[m>>2]|0;if((i+(s[p>>2]|0)|0)>>>0<(s[b>>2]|0)>>>0){s[m>>2]=i+1;n[(s[e>>2]|0)+i>>0]=-1;i=0;t=s[c>>2]|0}else i=-1;s[g>>2]=s[g>>2]|i;t=t+-1|0;s[c>>2]=t;if(!t){u=26;break}else u=23}if((u|0)==26)s[d>>2]=0;f=s[e+16>>2]|0;l=f+~((f|0)<7?f:7)+8&-8;h=f;t=s[e+12>>2]|0;while(1){if((h|0)<=7)break;i=s[p>>2]|0;r=s[b>>2]|0;if(((s[m>>2]|0)+i|0)>>>0<r>>>0){i=i+1|0;s[p>>2]=i;n[(s[e>>2]|0)+(r-i)>>0]=t;i=0}else i=-1;s[g>>2]=s[g>>2]|i;h=h+-8|0;t=t>>>8}l=f-l|0;if(s[g>>2]|0)return;d=s[m>>2]|0;yr((s[e>>2]|0)+d|0,0,(s[b>>2]|0)-d-(s[p>>2]|0)|0)|0;if((l|0)<=0)return;f=s[p>>2]|0;r=s[b>>2]|0;if(r>>>0<=f>>>0){s[g>>2]=-1;return}i=w-a|0;if((l|0)>(i|0)?((s[m>>2]|0)+f|0)>>>0>=r>>>0:0){s[g>>2]=-1;t=t&(1<<i)+-1}e=(s[e>>2]|0)+(r-f+-1)|0;n[e>>0]=o[e>>0]|0|t;return}function ci(e,t){e=e|0;t=t|0;var i=0,n=0,o=0,a=0,l=0,h=0,c=0,d=0,p=0,b=0,w=0,m=0,g=0,_=0,v=0,k=0,y=0,E=0,A=0,T=0,S=0,M=0,R=0,C=0,P=0,x=0,I=0,O=0,N=0,D=0,L=0,U=0,B=0,j=0,F=0,G=0,H=0,z=0,q=0,W=0,V=0,Y=0,Z=0,$=0;C=u;u=u+32|0;R=C;M=s[e+8>>2]|0;M=(M|0)>0?M:0;s[R>>2]=1;i=1;n=0;while(1){o=n<<1;S=r[e+12+((o|1)<<1)>>1]|0;i=te(i,r[e+12+(o<<1)>>1]|0)|0;o=n+1|0;s[R+(o<<2)>>2]=i;if(S<<16>>16==1)break;else n=o}S=e+48|0;A=r[e+12+((o<<1)+-1<<1)>>1]|0;while(1){if((n|0)<=-1)break;i=n<<1;if(!n)T=1;else T=r[e+12+(i+-1<<1)>>1]|0;e:do switch(r[e+12+(i<<1)>>1]|0){case 2:{o=s[R+(n<<2)>>2]|0;i=t;a=0;while(1){if((a|0)>=(o|0))break e;E=i+32|0;k=+f[E>>2];A=i+36|0;v=+f[A>>2];h=+f[i>>2];f[E>>2]=h-k;E=i+4|0;y=+f[E>>2];f[A>>2]=y-v;f[i>>2]=h+k;f[E>>2]=y+v;E=i+40|0;v=+f[E>>2];A=i+44|0;y=+f[A>>2];k=(v+y)*.7071067690849304;v=(y-v)*.7071067690849304;_=i+8|0;y=+f[_>>2];f[E>>2]=y-k;E=i+12|0;h=+f[E>>2];f[A>>2]=h-v;f[_>>2]=y+k;f[E>>2]=h+v;E=i+52|0;v=+f[E>>2];_=i+48|0;h=+f[_>>2];A=i+16|0;k=+f[A>>2];f[_>>2]=k-v;_=i+20|0;y=+f[_>>2];f[E>>2]=y+h;f[A>>2]=k+v;f[_>>2]=y-h;_=i+60|0;h=+f[_>>2];A=i+56|0;y=+f[A>>2];v=(h-y)*.7071067690849304;y=(h+y)*-.7071067690849304;E=i+24|0;h=+f[E>>2];f[A>>2]=h-v;A=i+28|0;k=+f[A>>2];f[_>>2]=k-y;f[E>>2]=h+v;f[A>>2]=k+y;i=i+64|0;a=a+1|0}}case 4:{_=s[R+(n<<2)>>2]|0;d=_<<M;if((A|0)==1){i=t;o=0;while(1){if((o|0)>=(_|0))break e;y=+f[i>>2];p=i+16|0;D=+f[p>>2];h=y-D;w=i+4|0;x=+f[w>>2];b=i+20|0;O=+f[b>>2];k=x-O;D=y+D;O=x+O;m=i+8|0;x=+f[m>>2];E=i+24|0;y=+f[E>>2];N=x+y;g=i+12|0;P=+f[g>>2];A=i+28|0;v=+f[A>>2];I=P+v;f[p>>2]=D-N;f[b>>2]=O-I;f[i>>2]=D+N;f[w>>2]=O+I;y=x-y;v=P-v;f[m>>2]=h+v;f[g>>2]=k-y;f[E>>2]=h-v;f[A>>2]=k+y;i=i+32|0;o=o+1|0}}o=A<<1;a=A*3|0;l=d<<1;c=d*3|0;p=0;while(1){if((p|0)>=(_|0))break e;i=t+((te(p,T)|0)<<3)|0;g=s[S>>2]|0;b=0;w=g;m=g;while(1){if((b|0)>=(A|0))break;B=i+(A<<3)|0;P=+f[B>>2];v=+f[w>>2];U=i+(A<<3)+4|0;x=+f[U>>2];y=+f[w+4>>2];h=P*v-x*y;v=P*y+x*v;G=i+(o<<3)|0;x=+f[G>>2];y=+f[m>>2];F=i+(o<<3)+4|0;P=+f[F>>2];O=+f[m+4>>2];k=x*y-P*O;y=x*O+P*y;L=i+(a<<3)|0;P=+f[L>>2];O=+f[g>>2];E=i+(a<<3)+4|0;x=+f[E>>2];I=+f[g+4>>2];D=P*O-x*I;O=P*I+x*O;x=+f[i>>2];I=x-k;j=i+4|0;P=+f[j>>2];N=P-y;k=x+k;f[i>>2]=k;y=P+y;f[j>>2]=y;P=h+D;x=v+O;D=h-D;O=v-O;f[G>>2]=k-P;f[F>>2]=y-x;f[i>>2]=+f[i>>2]+P;f[j>>2]=+f[j>>2]+x;f[B>>2]=I+O;f[U>>2]=N-D;f[L>>2]=I-O;f[E>>2]=N+D;i=i+8|0;b=b+1|0;w=w+(d<<3)|0;m=m+(l<<3)|0;g=g+(c<<3)|0}p=p+1|0}}case 3:{o=s[R+(n<<2)>>2]|0;a=o<<M;l=A<<1;c=te(a,A)|0;h=+f[(s[S>>2]|0)+(c<<3)+4>>2];c=a<<1;d=0;while(1){if((d|0)>=(o|0))break e;i=t+((te(d,T)|0)<<3)|0;w=s[S>>2]|0;p=A;b=w;while(1){F=i+(A<<3)|0;I=+f[F>>2];x=+f[b>>2];G=i+(A<<3)+4|0;y=+f[G>>2];N=+f[b+4>>2];P=I*x-y*N;x=I*N+y*x;B=i+(l<<3)|0;y=+f[B>>2];N=+f[w>>2];j=i+(l<<3)+4|0;I=+f[j>>2];O=+f[w+4>>2];D=y*N-I*O;N=y*O+I*N;I=P+D;O=x+N;f[F>>2]=+f[i>>2]-I*.5;U=i+4|0;f[G>>2]=+f[U>>2]-O*.5;D=(P-D)*h;N=(x-N)*h;f[i>>2]=+f[i>>2]+I;f[U>>2]=+f[U>>2]+O;f[B>>2]=+f[F>>2]+N;f[j>>2]=+f[G>>2]-D;f[F>>2]=+f[F>>2]-N;f[G>>2]=+f[G>>2]+D;p=p+-1|0;if(!p)break;else{i=i+8|0;b=b+(a<<3)|0;w=w+(c<<3)|0}}d=d+1|0}}case 5:{i=s[R+(n<<2)>>2]|0;o=i<<M;l=te(o,A)|0;a=s[S>>2]|0;h=+f[a+(l<<3)>>2];v=+f[a+(l<<3)+4>>2];l=te(o<<1,A)|0;k=+f[a+(l<<3)>>2];y=+f[a+(l<<3)+4>>2];l=A<<1;c=A*3|0;d=A<<2;_=0;while(1){if((_|0)>=(i|0))break e;g=t+((te(_,T)|0)<<3)|0;p=g;b=g+(A<<3)|0;w=g+(l<<3)|0;m=g+(c<<3)|0;g=g+(d<<3)|0;E=0;while(1){if((E|0)>=(A|0))break;W=+f[p>>2];U=p+4|0;z=+f[U>>2];q=+f[b>>2];L=te(E,o)|0;I=+f[a+(L<<3)>>2];B=b+4|0;Z=+f[B>>2];$=+f[a+(L<<3)+4>>2];N=q*I-Z*$;I=q*$+Z*I;Z=+f[w>>2];L=te(E<<1,o)|0;$=+f[a+(L<<3)>>2];F=w+4|0;q=+f[F>>2];P=+f[a+(L<<3)+4>>2];Y=Z*$-q*P;$=Z*P+q*$;q=+f[m>>2];L=te(E*3|0,o)|0;P=+f[a+(L<<3)>>2];G=m+4|0;Z=+f[G>>2];O=+f[a+(L<<3)+4>>2];D=q*P-Z*O;P=q*O+Z*P;Z=+f[g>>2];L=te(E<<2,o)|0;O=+f[a+(L<<3)>>2];j=g+4|0;q=+f[j>>2];H=+f[a+(L<<3)+4>>2];x=Z*O-q*H;O=Z*H+q*O;q=N+x;H=I+O;x=N-x;O=I-O;I=Y+D;N=$+P;D=Y-D;P=$-P;f[p>>2]=W+(q+I);f[U>>2]=z+(H+N);$=W+(q*h+I*k);Y=z+(H*h+N*k);Z=O*v+P*y;V=x*v+D*y;f[b>>2]=$-Z;f[B>>2]=Y+V;f[g>>2]=$+Z;f[j>>2]=Y-V;I=W+(q*k+I*h);N=z+(H*k+N*h);O=P*v-O*y;D=x*y-D*v;f[w>>2]=I+O;f[F>>2]=N+D;f[m>>2]=I-O;f[G>>2]=N-D;p=p+8|0;b=b+8|0;w=w+8|0;m=m+8|0;g=g+8|0;E=E+1|0}_=_+1|0}}default:{}}while(0);n=n+-1|0;A=T}u=C;return}function di(e,t,i,n,o,a,l){e=e|0;t=t|0;i=i|0;n=n|0;o=o|0;a=a|0;l=l|0;var h=0,c=0,d=0,p=0,b=0,w=0,m=0,g=0,_=0,v=0,k=0,y=0,E=0,A=0,T=0,S=0,M=0,R=0;A=u;_=s[e+8+(a<<2)>>2]|0;v=+f[_+4>>2];h=s[e>>2]|0;c=0;E=s[e+24>>2]|0;while(1){y=h>>1;if((c|0)>=(a|0))break;h=y;c=c+1|0;E=E+(y<<2)|0}k=h>>2;e=u;u=u+((1*(y<<2)|0)+15&-16)|0;h=u;u=u+((1*(k<<3)|0)+15&-16)|0;a=o>>1;w=n+(a<<2)|0;m=o+3>>2;g=0-y|0;p=0;b=w;w=w+-4|0;d=t+(a<<2)|0;a=t+(y<<2)+-4+(a<<2)|0;c=e;while(1){if((p|0)>=(m|0))break;T=+f[w>>2];S=+f[b>>2];f[c>>2]=T*+f[d+(y<<2)>>2]+S*+f[a>>2];f[c+4>>2]=S*+f[d>>2]-T*+f[a+(g<<2)>>2];p=p+1|0;b=b+8|0;w=w+-8|0;d=d+8|0;a=a+-8|0;c=c+8|0}t=n+(o<<2)|0;b=k-m|0;while(1){if((p|0)>=(b|0))break;s[c>>2]=s[a>>2];s[c+4>>2]=s[d>>2];p=p+1|0;d=d+8|0;a=a+-8|0;c=c+8|0}w=p;b=n;p=t+-4|0;while(1){if((w|0)>=(k|0))break;f[c>>2]=+f[p>>2]*+f[a>>2]-+f[b>>2]*+f[d+(g<<2)>>2];f[c+4>>2]=+f[p>>2]*+f[d>>2]+ +f[b>>2]*+f[a+(y<<2)>>2];w=w+1|0;b=b+8|0;p=p+-8|0;d=d+8|0;a=a+-8|0;c=c+8|0}c=_+44|0;a=0;while(1){if((a|0)>=(k|0))break;M=+f[E+(a<<2)>>2];S=+f[E+(k+a<<2)>>2];T=+f[e>>2];R=+f[e+4>>2];g=r[(s[c>>2]|0)+(a<<1)>>1]|0;f[h+(g<<3)>>2]=v*(T*M-R*S);f[h+(g<<3)+4>>2]=v*(R*M+T*S);a=a+1|0;e=e+8|0}ci(_,h);d=l<<1;p=0-d|0;c=0;a=i;e=i+((te(y+-1|0,l)|0)<<2)|0;while(1){if((c|0)>=(k|0))break;M=+f[h+4>>2];S=+f[E+(k+c<<2)>>2];T=+f[h>>2];R=+f[E+(c<<2)>>2];f[a>>2]=M*S-T*R;f[e>>2]=T*S+M*R;h=h+8|0;c=c+1|0;a=a+(d<<2)|0;e=e+(p<<2)|0}u=A;return}function pi(e,t,i,n,o,a,l){e=e|0;t=t|0;i=i|0;n=n|0;o=o|0;a=a|0;l=l|0;var h=0,u=0,c=0,d=0,p=0,b=0,w=0,m=0,g=0,_=0,v=0,k=0,y=0,E=0,A=0;h=s[e>>2]|0;u=0;m=s[e+24>>2]|0;while(1){w=h>>1;if((u|0)>=(a|0))break;h=w;u=u+1|0;m=m+(w<<2)|0}b=h>>2;g=t+((te(w+-1|0,l)|0)<<2)|0;h=i+(o>>1<<2)|0;p=s[e+8+(a<<2)>>2]|0;a=l<<1;l=0-a|0;c=s[p+44>>2]|0;d=0;u=t;e=g;while(1){if((d|0)>=(b|0))break;v=+f[e>>2];k=+f[m+(d<<2)>>2];y=+f[u>>2];_=+f[m+(b+d<<2)>>2];g=r[c>>1]<<1;f[h+((g|1)<<2)>>2]=v*k+y*_;f[h+(g<<2)>>2]=y*k-v*_;c=c+2|0;d=d+1|0;u=u+(a<<2)|0;e=e+(l<<2)|0}ci(p,h);a=b+1>>1;e=h+(w<<2)|0;l=0;while(1){u=e+-8|0;if((l|0)>=(a|0))break;g=h+4|0;A=+f[g>>2];v=+f[h>>2];y=+f[m+(l<<2)>>2];E=+f[m+(b+l<<2)>>2];t=e+-4|0;_=+f[t>>2];k=+f[u>>2];f[h>>2]=A*y+v*E;f[t>>2]=A*E-v*y;y=+f[m+(b-l+-1<<2)>>2];v=+f[m+(w-l+-1<<2)>>2];f[u>>2]=_*y+k*v;f[g>>2]=_*v-k*y;e=u;l=l+1|0;h=h+8|0}a=(o|0)/2|0;h=i+(o<<2)|0;u=n+(o<<2)|0;e=0;while(1){u=u+-4|0;h=h+-4|0;if((e|0)>=(a|0))break;A=+f[h>>2];y=+f[i>>2];E=+f[u>>2];k=+f[n>>2];f[i>>2]=E*y-k*A;f[h>>2]=k*y+E*A;e=e+1|0;n=n+4|0;i=i+4|0}return}function bi(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var r=0,o=0,a=0,l=0,h=0,c=0,d=0,p=0,b=0,w=0,m=0,g=0,_=0,v=0,k=0,y=0,E=0,A=0;v=u;u=u+48|0;o=v+16|0;g=v;_=i>>1;i=1;while(1){if((i|0)>=(_|0))break;k=i<<1;y=s[e>>2]|0;f[t+(i<<2)>>2]=((+f[y+(k+-1<<2)>>2]+ +f[y+((k|1)<<2)>>2])*.5+ +f[y+(k<<2)>>2])*.5;i=i+1|0}y=s[e>>2]|0;f[t>>2]=(+f[y+4>>2]*.5+ +f[y>>2])*.5;if((n|0)==2){i=e+4|0;n=1;while(1){if((n|0)>=(_|0))break;k=n<<1;e=s[i>>2]|0;y=t+(n<<2)|0;f[y>>2]=+f[y>>2]+((+f[e+(k+-1<<2)>>2]+ +f[e+((k|1)<<2)>>2])*.5+ +f[e+(k<<2)>>2])*.5;n=n+1|0}y=s[i>>2]|0;f[t>>2]=+f[t>>2]+(+f[y+4>>2]*.5+ +f[y>>2])*.5}Ai(t,o,0,0,4,_);f[o>>2]=+f[o>>2]*1.000100016593933;i=1;while(1){if((i|0)==5)break;y=o+(i<<2)|0;w=+f[y>>2];m=+(i|0)*.00800000037997961;f[y>>2]=w-w*m*m;i=i+1|0}vi(g,o,4);i=0;r=1;while(1){if((i|0)==4)break;m=r*.8999999761581421;y=g+(i<<2)|0;f[y>>2]=+f[y>>2]*m;i=i+1|0;r=m}w=+f[g>>2];b=w+.800000011920929;m=+f[g+4>>2];w=m+w*.800000011920929;r=+f[g+8>>2];m=r+m*.800000011920929;a=+f[g+12>>2];r=a+r*.800000011920929;a=a*.800000011920929;i=0;l=0;h=0;c=0;d=0;p=0;while(1){if((i|0)>=(_|0))break;y=t+(i<<2)|0;A=+f[y>>2];f[y>>2]=A+b*l+w*h+m*c+r*d+a*p;E=l;i=i+1|0;l=A;p=d;d=c;c=h;h=E}u=v;return}function wi(e,t,i,n,r){e=e|0;t=t|0;i=i|0;n=n|0;r=r|0;var o=0,a=0,l=0,h=0,u=0,c=0,p=0,b=0,w=0,m=0,g=0,_=0,v=0,k=0,y=0,E=0,A=0,T=0,S=0,M=0,R=0,C=0,P=0,x=0,I=0,O=0,N=0,D=0,L=0,U=0,B=0;v=r+-3|0;k=n+-3|0;A=((k|0)>0?k:0)+3|0;y=A&-4;T=e+(y<<2)|0;l=r+-3|0;l=((l|0)>0?l:0)+3&-4;E=0;A=t+((A|3)<<2)|0;while(1){if((E|0)>=(v|0))break;S=t+(E<<2)|0;p=e;b=S+12|0;w=0;c=0;u=0;a=0;o=0;h=+f[S>>2];g=+f[S+4>>2];_=+f[S+8>>2];m=0;while(1){if((w|0)>=(k|0))break;x=+f[p>>2];m=+f[b>>2];B=(s[d>>2]=c,+f[d>>2])+x*h;U=(s[d>>2]=u,+f[d>>2])+x*g;L=(s[d>>2]=a,+f[d>>2])+x*_;D=+f[p+4>>2];C=+f[b+4>>2];N=+f[p+8>>2];R=+f[b+8>>2];x=(s[d>>2]=o,+f[d>>2])+x*m+D*C+N*R;P=+f[p+12>>2];M=+f[b+12>>2];O=(f[d>>2]=B+D*g+N*_+P*m,s[d>>2]|0);I=(f[d>>2]=U+D*_+N*m+P*C,s[d>>2]|0);S=(f[d>>2]=L+D*m+N*C+P*R,s[d>>2]|0);p=p+16|0;b=b+16|0;w=w+4|0;c=O;u=I;a=S;o=(f[d>>2]=x+P*M,s[d>>2]|0);h=C;g=R;_=M}w=y|1;if((y|0)<(n|0)){B=+f[T>>2];m=+f[A>>2];c=(f[d>>2]=(s[d>>2]=c,+f[d>>2])+B*h,s[d>>2]|0);u=(f[d>>2]=(s[d>>2]=u,+f[d>>2])+B*g,s[d>>2]|0);a=(f[d>>2]=(s[d>>2]=a,+f[d>>2])+B*_,s[d>>2]|0);p=T+4|0;b=A+4|0;o=(f[d>>2]=(s[d>>2]=o,+f[d>>2])+B*m,s[d>>2]|0)}else{p=T;b=A}if((w|0)<(n|0)){B=+f[p>>2];h=+f[b>>2];c=(f[d>>2]=(s[d>>2]=c,+f[d>>2])+B*g,s[d>>2]|0);u=(f[d>>2]=(s[d>>2]=u,+f[d>>2])+B*_,s[d>>2]|0);a=(f[d>>2]=(s[d>>2]=a,+f[d>>2])+B*m,s[d>>2]|0);p=p+4|0;b=b+4|0;o=(f[d>>2]=(s[d>>2]=o,+f[d>>2])+B*h,s[d>>2]|0)}if((w+1|0)<(n|0)){B=+f[p>>2];c=(f[d>>2]=(s[d>>2]=c,+f[d>>2])+B*_,s[d>>2]|0);u=(f[d>>2]=(s[d>>2]=u,+f[d>>2])+B*m,s[d>>2]|0);a=(f[d>>2]=(s[d>>2]=a,+f[d>>2])+B*h,s[d>>2]|0);o=(f[d>>2]=(s[d>>2]=o,+f[d>>2])+B*+f[b>>2],s[d>>2]|0)}s[i+(E<<2)>>2]=c;s[i+((E|1)<<2)>>2]=u;s[i+((E|2)<<2)>>2]=a;s[i+((E|3)<<2)>>2]=o;E=E+4|0;A=A+16|0}while(1){if((l|0)>=(r|0))break;o=t+(l<<2)|0;a=0;h=0;while(1){if((a|0)>=(n|0))break;B=h+ +f[e+(a<<2)>>2]*+f[o+(a<<2)>>2];a=a+1|0;h=B}f[i+(l<<2)>>2]=h;l=l+1|0}return}function mi(e,t,i,n,r){e=e|0;t=t|0;i=i|0;n=n|0;r=r|0;var o=0,a=0,l=0,h=0,c=0,d=0,p=0,b=0,w=0,m=0,g=0,_=0,v=0;v=u;u=u+16|0;m=v;c=m;s[c>>2]=0;s[c+4>>2]=0;c=i>>2;d=u;u=u+((1*(c<<2)|0)+15&-16)|0;p=i+n>>2;b=u;u=u+((1*(p<<2)|0)+15&-16)|0;g=n>>1;_=u;u=u+((1*(g<<2)|0)+15&-16)|0;h=0;while(1){if((h|0)>=(c|0))break;s[d+(h<<2)>>2]=s[e+(h<<1<<2)>>2];h=h+1|0}h=0;while(1){if((h|0)>=(p|0))break;s[b+(h<<2)>>2]=s[t+(h<<1<<2)>>2];h=h+1|0}n=n>>2;wi(d,b,_,c,n);gi(_,b,c,n,m);n=s[m>>2]<<1;w=s[m+4>>2]<<1;h=i>>1;p=0;while(1){if((p|0)>=(g|0))break;c=_+(p<<2)|0;f[c>>2]=0;i=p-n|0;if(!((((i|0)>-1?i:0-i|0)|0)>2?(i=p-w|0,(((i|0)>-1?i:0-i|0)|0)>2):0)){d=t+(p<<2)|0;b=0;o=0;while(1){if((b|0)>=(h|0))break;l=o+ +f[e+(b<<2)>>2]*+f[d+(b<<2)>>2];b=b+1|0;o=l}f[c>>2]=o<-1?-1:o}p=p+1|0}gi(_,t,h,g,m);h=s[m>>2]|0;if(!((h|0)>0&(h|0)<(g+-1|0))){_=0;g=h<<1;_=g-_|0;s[r>>2]=_;u=v;return}a=+f[_+(h+-1<<2)>>2];l=+f[_+(h<<2)>>2];o=+f[_+(h+1<<2)>>2];if(o-a>(l-a)*.699999988079071){_=1;g=h<<1;_=g-_|0;s[r>>2]=_;u=v;return}if(a-o>(l-o)*.699999988079071){_=-1;g=h<<1;_=g-_|0;s[r>>2]=_;u=v;return}_=0;g=h<<1;_=g-_|0;s[r>>2]=_;u=v;return}function gi(e,t,i,n,r){e=e|0;t=t|0;i=i|0;n=n|0;r=r|0;var o=0,a=0,l=0,h=0,u=0,c=0,p=0,b=0,w=0,m=0,g=0,_=0,v=0;s[r>>2]=0;g=r+4|0;s[g>>2]=1;a=1;o=0;while(1){if((o|0)>=(i|0)){o=0;b=0;h=0;w=-1082130432;u=-1082130432;m=0;break}l=+f[t+(o<<2)>>2];a=a+l*l;o=o+1|0}while(1){if((m|0)>=(n|0))break;l=+f[e+(m<<2)>>2];do if(l>0?(_=l*9.999999960041972e-13,_=_*_,l=_*(s[d>>2]=h,+f[d>>2]),l>(s[d>>2]=u,+f[d>>2])*a):0){l=_*(s[d>>2]=b,+f[d>>2]);if(l>(s[d>>2]=w,+f[d>>2])*a){s[g>>2]=o;p=(f[d>>2]=_,s[d>>2]|0);c=(f[d>>2]=a,s[d>>2]|0);s[r>>2]=m;o=m;h=b;u=w;break}else{u=(f[d>>2]=_,s[d>>2]|0);h=(f[d>>2]=a,s[d>>2]|0);s[g>>2]=m;c=b;p=w;break}}else{c=b;p=w}while(0);v=+f[t+(m+i<<2)>>2];l=+f[t+(m<<2)>>2];l=a+(v*v-l*l);a=l<1?1:l;b=c;w=p;m=m+1|0}return}function _i(e,t,i,n,r){e=e|0;t=t|0;i=i|0;n=n|0;r=+r;var o=0,a=0,l=0,h=0,c=0,d=0,p=0,b=0,w=0,m=0,g=0,_=0,v=0,k=0,y=0,E=0,A=0,T=0,S=0,M=0,R=0,C=0,P=0,x=0;x=u;u=u+2064|0;P=x+2052|0;y=s[i>>2]|0;T=(n|0)/2|0;C=(t|0)/2|0;R=e+2048|0;y=(y|0)>1023?511:(y|0)/2|0;s[i>>2]=y;E=x;n=R+(0-y<<2)|0;t=0;A=0;a=0;while(1){if((t|0)>=(C|0))break;k=+f[R+(t<<2)>>2];S=a+k*+f[n+(t<<2)>>2];t=t+1|0;A=A+k*k;a=S}f[E>>2]=A;n=1;o=A;while(1){if((n|0)==513)break;k=+f[R+(0-n<<2)>>2];S=+f[R+(C-n<<2)>>2];S=o+k*k-S*S;f[E+(n<<2)>>2]=S<0?0:S;n=n+1|0;o=S}w=+f[E+(y<<2)>>2];S=a/+z(+(A*w+1));g=y<<1;_=S*.699999988079071;v=S*.8500000238418579;k=r*.5;M=y;m=2;while(1){if((m|0)>=16)break;n=m<<1;b=((g+m|0)>>>0)/(n>>>0)|0;if((b|0)<7)break;if((m|0)==2){d=b+y|0;d=(d|0)>512?y:d}else d=(((te(s[17156+(m<<2)>>2]<<1,y)|0)+m|0)>>>0)/(n>>>0)|0;n=R+(0-b<<2)|0;t=R+(0-d<<2)|0;e=0;o=0;l=0;while(1){if((e|0)>=(C|0))break;c=+f[R+(e<<2)>>2];p=l+c*+f[t+(e<<2)>>2];c=o+c*+f[n+(e<<2)>>2];e=e+1|0;o=c;l=p}p=(o+l)*.5;l=(+f[E+(b<<2)>>2]+ +f[E+(d<<2)>>2])*.5;o=p/+z(+(A*l+1));n=b-T|0;n=(n|0)>-1?n:0-n|0;if((n|0)>=2)if((n|0)<3){d=(te(m*5|0,m)|0)<(y|0);c=d?k:0}else c=0;else c=r;h=_-c;h=h<.30000001192092896?.30000001192092896:h;if((b|0)<21){h=v-c;if(h<.4000000059604645)h=.4000000059604645}if(o>h){n=b;a=p}else{n=M;l=w;o=S}M=n;w=l;S=o;m=m+1|0}o=a<0?0:a;if(!(w<=o))h=o/(w+1);else h=1;e=0;while(1){if((e|0)==3)break;n=R+(1-(M+e)<<2)|0;t=0;o=0;while(1){if((t|0)>=(C|0))break;r=o+ +f[R+(t<<2)>>2]*+f[n+(t<<2)>>2];t=t+1|0;o=r}f[P+(e<<2)>>2]=o;e=e+1|0}a=+f[P+8>>2];l=+f[P>>2];o=+f[P+4>>2];if(a-l>(o-l)*.699999988079071){P=1;C=h>S;r=C?S:h;C=M<<1;P=C+P|0;C=(P|0)<15;P=C?15:P;s[i>>2]=P;u=x;return+r}if(l-a>(o-a)*.699999988079071){P=-1;C=h>S;r=C?S:h;C=M<<1;P=C+P|0;C=(P|0)<15;P=C?15:P;s[i>>2]=P;u=x;return+r}P=0;C=h>S;r=C?S:h;C=M<<1;P=C+P|0;C=(P|0)<15;P=C?15:P;s[i>>2]=P;u=x;return+r}function vi(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,r=0,s=0,o=0,a=0,l=0,h=0,u=0,c=0,d=0,p=0;r=+f[t>>2];yr(e|0,0,i<<2|0)|0;if(+f[t>>2]!=0)h=0;else return;while(1){if((h|0)<(i|0)){n=0;s=0}else{n=9;break}while(1){if((h|0)==(n|0))break;o=s+ +f[e+(n<<2)>>2]*+f[t+(h-n<<2)>>2];n=n+1|0;s=o}a=h;h=h+1|0;s=(s+ +f[t+(h<<2)>>2])/r;o=-s;f[e+(a<<2)>>2]=o;n=h>>1;a=a+-1|0;l=0;while(1){if((l|0)>=(n|0))break;p=e+(l<<2)|0;c=+f[p>>2];u=e+(a-l<<2)|0;d=+f[u>>2];f[p>>2]=c+d*o;f[u>>2]=d+c*o;l=l+1|0}r=r-s*s*r;if(r<+f[t>>2]*.0010000000474974513){n=9;break}}if((n|0)==9)return}function ki(e,t,i,n,r){e=e|0;t=t|0;i=i|0;n=n|0;r=r|0;var o=0,a=0,l=0,h=0,c=0,d=0,p=0,b=0,w=0,m=0,g=0;w=u;u=u+112|0;d=w+96|0;p=w;b=u;u=u+((1*(n+24<<2)|0)+15&-16)|0;o=0;while(1){if((o|0)==24)break;s[p+(o<<2)>>2]=s[t+(24-o+-1<<2)>>2];o=o+1|0}o=0;while(1){if((o|0)==24){o=0;break}s[b+(o<<2)>>2]=s[r+(24-o+-1<<2)>>2];o=o+1|0}while(1){if((o|0)>=(n|0)){o=0;break}s[b+(o+24<<2)>>2]=s[e+(o<<2)>>2];o=o+1|0}while(1){if((o|0)==24)break;s[r+(o<<2)>>2]=s[e+(n-o+-1<<2)>>2];o=o+1|0}t=n+-3|0;r=d+4|0;l=d+8|0;h=d+12|0;o=((t|0)>0?t:0)+3&-4;c=0;while(1){if((c|0)>=(t|0))break;s[d>>2]=0;s[d+4>>2]=0;s[d+8>>2]=0;s[d+12>>2]=0;yi(p,b+(c<<2)|0,d,24);f[i+(c<<2)>>2]=+f[e+(c<<2)>>2]+ +f[d>>2];m=c|1;f[i+(m<<2)>>2]=+f[e+(m<<2)>>2]+ +f[r>>2];m=c|2;f[i+(m<<2)>>2]=+f[e+(m<<2)>>2]+ +f[l>>2];m=c|3;f[i+(m<<2)>>2]=+f[e+(m<<2)>>2]+ +f[h>>2];c=c+4|0}while(1){if((o|0)<(n|0)){t=0;a=0}else break;while(1){if((t|0)==24)break;g=a+ +f[p+(t<<2)>>2]*+f[b+(o+t<<2)>>2];t=t+1|0;a=g}f[i+(o<<2)>>2]=+f[e+(o<<2)>>2]+a;o=o+1|0}u=w;return}function yi(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var r=0,s=0,o=0,a=0,l=0,h=0,u=0,c=0,d=0,p=0,b=0,w=0,m=0,g=0,_=0,v=0,k=0,y=0,E=0,A=0,T=0;l=n+-3|0;p=i+4|0;b=i+8|0;w=i+12|0;u=((l|0)>0?l:0)+3|0;c=u&-4;u=u|3;s=e;o=t+12|0;h=0;r=+f[t>>2];d=+f[t+4>>2];m=+f[t+8>>2];a=0;while(1){if((h|0)>=(l|0))break;y=+f[s>>2];a=+f[o>>2];T=+f[i>>2]+y*r;f[i>>2]=T;A=+f[p>>2]+y*d;f[p>>2]=A;E=+f[b>>2]+y*m;f[b>>2]=E;y=+f[w>>2]+y*a;f[w>>2]=y;k=+f[s+4>>2];v=+f[o+4>>2];T=T+k*d;f[i>>2]=T;A=A+k*m;f[p>>2]=A;E=E+k*a;f[b>>2]=E;k=y+k*v;f[w>>2]=k;y=+f[s+8>>2];_=+f[o+8>>2];T=T+y*m;f[i>>2]=T;A=A+y*a;f[p>>2]=A;E=E+y*v;f[b>>2]=E;y=k+y*_;f[w>>2]=y;k=+f[s+12>>2];g=+f[o+12>>2];f[i>>2]=T+k*a;f[p>>2]=A+k*v;f[b>>2]=E+k*_;f[w>>2]=y+k*g;s=s+16|0;o=o+16|0;h=h+4|0;r=v;d=_;m=g}o=e+(c<<2)|0;s=t+(u<<2)|0;l=c|1;if((c|0)<(n|0)){T=+f[o>>2];a=+f[s>>2];f[i>>2]=+f[i>>2]+T*r;f[p>>2]=+f[p>>2]+T*d;f[b>>2]=+f[b>>2]+T*m;f[w>>2]=+f[w>>2]+T*a;o=o+4|0;s=s+4|0}if((l|0)<(n|0)){T=+f[o>>2];r=+f[s>>2];f[i>>2]=+f[i>>2]+T*d;f[p>>2]=+f[p>>2]+T*m;f[b>>2]=+f[b>>2]+T*a;f[w>>2]=+f[w>>2]+T*r;o=o+4|0;s=s+4|0}if((l+1|0)>=(n|0))return;A=+f[o>>2];T=+f[s>>2];f[i>>2]=+f[i>>2]+A*m;f[p>>2]=+f[p>>2]+A*a;f[b>>2]=+f[b>>2]+A*r;f[w>>2]=+f[w>>2]+A*T;return}function Ei(e,t,i,n,r){e=e|0;t=t|0;i=i|0;n=n|0;r=r|0;var o=0,a=0,l=0,h=0,c=0,d=0,p=0,b=0,w=0,m=0,g=0,_=0,v=0,k=0,y=0,E=0,A=0,T=0,S=0;v=u;u=u+112|0;m=v+96|0;g=v;a=n+24|0;_=u;u=u+((1*(a<<2)|0)+15&-16)|0;o=0;while(1){if((o|0)==24)break;s[g+(o<<2)>>2]=s[t+(24-o+-1<<2)>>2];o=o+1|0}o=0;while(1){if((o|0)==24){o=24;break}f[_+(o<<2)>>2]=-+f[r+(24-o+-1<<2)>>2];o=o+1|0}while(1){if((o|0)>=(a|0))break;f[_+(o<<2)>>2]=0;o=o+1|0}a=n+-3|0;h=m+4|0;c=m+8|0;d=m+12|0;p=t+4|0;b=t+8|0;o=n+-3|0;o=((o|0)>0?o:0)+3&-4;w=0;while(1){if((w|0)>=(a|0))break;s[m>>2]=s[e+(w<<2)>>2];S=w|1;s[h>>2]=s[e+(S<<2)>>2];A=w|2;s[c>>2]=s[e+(A<<2)>>2];k=w|3;s[d>>2]=s[e+(k<<2)>>2];yi(g,_+(w<<2)|0,m,24);T=+f[m>>2];l=-T;f[_+(w+24<<2)>>2]=l;f[i+(w<<2)>>2]=T;T=+f[h>>2]+ +f[t>>2]*l;f[h>>2]=T;y=-T;f[_+(w+25<<2)>>2]=y;f[i+(S<<2)>>2]=T;
T=+f[c>>2]+ +f[t>>2]*y+ +f[p>>2]*l;f[c>>2]=T;E=-T;f[_+(w+26<<2)>>2]=E;f[i+(A<<2)>>2]=T;l=+f[d>>2]+ +f[t>>2]*E+ +f[p>>2]*y+ +f[b>>2]*l;f[d>>2]=l;f[_+(w+27<<2)>>2]=-l;f[i+(k<<2)>>2]=l;w=w+4|0}while(1){if((o|0)>=(n|0)){o=0;break}a=0;l=+f[e+(o<<2)>>2];while(1){if((a|0)==24)break;T=l-+f[g+(a<<2)>>2]*+f[_+(o+a<<2)>>2];a=a+1|0;l=T}f[_+(o+24<<2)>>2]=l;f[i+(o<<2)>>2]=l;o=o+1|0}while(1){if((o|0)==24)break;s[r+(o<<2)>>2]=s[i+(n-o+-1<<2)>>2];o=o+1|0}u=v;return}function Ai(e,t,i,n,r,o){e=e|0;t=t|0;i=i|0;n=n|0;r=r|0;o=o|0;var a=0,l=0,h=0,c=0,d=0,p=0;d=u;c=o-r|0;h=u;u=u+((1*(o<<2)|0)+15&-16)|0;e:do if(!n)h=e;else{l=0;while(1){if((l|0)>=(o|0)){l=0;break}s[h+(l<<2)>>2]=s[e+(l<<2)>>2];l=l+1|0}while(1){if((l|0)>=(n|0))break e;a=+f[i+(l<<2)>>2];f[h+(l<<2)>>2]=+f[e+(l<<2)>>2]*a;p=o-l+-1|0;f[h+(p<<2)>>2]=+f[e+(p<<2)>>2]*a;l=l+1|0}}while(0);wi(h,h,t,c,r+1|0);n=0;while(1){if((n|0)>(r|0))break;a=0;l=n+c|0;while(1){if((l|0)>=(o|0))break;a=a+ +f[h+(l<<2)>>2]*+f[h+(l-n<<2)>>2];l=l+1|0}p=t+(n<<2)|0;f[p>>2]=+f[p>>2]+a;n=n+1|0}u=d;return}function Ti(e,t,i,n,r,o,a,l,h,c,d,p,b,w,m,g,_){e=e|0;t=t|0;i=i|0;n=n|0;r=r|0;o=o|0;a=a|0;l=l|0;h=h|0;c=c|0;d=d|0;p=p|0;b=b|0;w=w|0;m=m|0;g=g|0;_=_|0;var v=0,k=0,y=0,E=0,A=0,T=0,S=0,M=0,R=0,C=0,P=0,x=0,I=0,O=0,N=0,D=0,L=0,U=0,B=0,j=0,F=0,G=0,H=0,z=0,q=0,W=0;q=u;u=u+96|0;F=q+72|0;G=q+48|0;H=q+24|0;z=q;if(!b)if((m|0)==0?(v=i-t|0,+f[w>>2]>+(te(c<<1,v)|0)):0)E=(te(v,c)|0)<(p|0);else E=0;else E=1;y=+(a>>>0)*+f[w>>2]*+(g|0)/+(c<<9|0);j=e+8|0;A=s[j>>2]|0;g=0;k=0;do{b=te(g,A)|0;v=t;while(1){if((v|0)>=(n|0))break;U=v+b|0;W=+f[r+(U<<2)>>2]-+f[o+(U<<2)>>2];k=k+W*W;v=v+1|0}g=g+1|0}while((g|0)<(c|0));U=~~y;y=k>200?200:k;D=h+20|0;g=s[D>>2]|0;L=h+28|0;b=s[L>>2]|0;N=g+((ne(b|0)|0)+-32)|0;v=(N+3|0)>>>0>a>>>0;O=v?0:E&1;if((i-t|0)>10?(T=+(p|0)*.125,!(T>16)):0)k=T;else k=16;k=(_|0)==0?k:3;s[F>>2]=s[h>>2];s[F+4>>2]=s[h+4>>2];s[F+8>>2]=s[h+8>>2];s[F+12>>2]=s[h+12>>2];s[F+16>>2]=s[h+16>>2];s[F+20>>2]=s[h+20>>2];I=h+24|0;C=s[I>>2]|0;s[G>>2]=s[L>>2];s[G+4>>2]=s[L+4>>2];s[G+8>>2]=s[L+8>>2];s[G+12>>2]=s[L+12>>2];s[G+16>>2]=s[L+16>>2];R=te(A,c)|0;P=u;u=u+((1*(R<<2)|0)+15&-16)|0;x=u;u=u+((1*(R<<2)|0)+15&-16)|0;Sr(P|0,o|0,R<<2|0)|0;R=v|(m|0)==0;if(R)if(!O){M=C;S=0}else{Si(e,t,i,r,P,a,N,29009+(d*84|0)+42|0,x,h,c,d,1,k,_)|0;B=22}else{v=Si(e,t,i,r,P,a,N,29009+(d*84|0)+42|0,x,h,c,d,1,k,_)|0;if(!O){g=s[D>>2]|0;b=s[L>>2]|0;M=s[I>>2]|0;S=v}else B=22}if((B|0)==22){Sr(o|0,P|0,(te(s[j>>2]|0,c)|0)<<2|0)|0;Sr(l|0,x|0,(te(s[j>>2]|0,c)|0)<<2|0)|0;W=y;f[w>>2]=W;u=q;return}E=32-(ne(b|0)|0)|0;n=b>>>(E+-16|0);b=(n>>>12)+-8|0;b=(g<<3)-((E<<3)+(b+(n>>>0>(s[5272+(b<<2)>>2]|0)>>>0&1)))|0;g=s[h>>2]|0;n=h+4|0;s[H>>2]=s[n>>2];s[H+4>>2]=s[n+4>>2];s[H+8>>2]=s[n+8>>2];s[H+12>>2]=s[n+12>>2];s[H+16>>2]=s[n+16>>2];s[z>>2]=s[L>>2];s[z+4>>2]=s[L+4>>2];s[z+8>>2]=s[L+8>>2];s[z+12>>2]=s[L+12>>2];s[z+16>>2]=s[L+16>>2];E=g+C|0;p=M-C|0;A=Ne()|0;m=u;u=u+((1*((M|0)==(C|0)?1:p)|0)+15&-16)|0;Sr(m|0,E|0,p|0)|0;s[h>>2]=s[F>>2];s[h+4>>2]=s[F+4>>2];s[h+8>>2]=s[F+8>>2];s[h+12>>2]=s[F+12>>2];s[h+16>>2]=s[F+16>>2];s[h+20>>2]=s[F+20>>2];s[I>>2]=C;s[L>>2]=s[G>>2];s[L+4>>2]=s[G+4>>2];s[L+8>>2]=s[G+8>>2];s[L+12>>2]=s[G+12>>2];s[L+16>>2]=s[G+16>>2];v=Si(e,t,i,r,o,a,N,29009+(d*84|0)+(O*42|0)|0,l,h,c,d,0,k,_)|0;do if(!R){if((S|0)>=(v|0)){if((S|0)!=(v|0))break;e=s[L>>2]|0;_=32-(ne(e|0)|0)|0;e=e>>>(_+-16|0);t=(e>>>12)+-8|0;if(((s[D>>2]<<3)-((_<<3)+(t+(e>>>0>(s[5272+(t<<2)>>2]|0)>>>0&1)))+U|0)<=(b|0))break}s[h>>2]=g;s[n>>2]=s[H>>2];s[n+4>>2]=s[H+4>>2];s[n+8>>2]=s[H+8>>2];s[n+12>>2]=s[H+12>>2];s[n+16>>2]=s[H+16>>2];s[I>>2]=M;s[L>>2]=s[z>>2];s[L+4>>2]=s[z+4>>2];s[L+8>>2]=s[z+8>>2];s[L+12>>2]=s[z+12>>2];s[L+16>>2]=s[z+16>>2];Sr(E|0,m|0,p|0)|0;Sr(o|0,P|0,(te(s[j>>2]|0,c)|0)<<2|0)|0;Sr(l|0,x|0,(te(s[j>>2]|0,c)|0)<<2|0)|0;He(A|0);W=y;f[w>>2]=W;u=q;return}while(0);He(A|0);W=+f[17336+(d<<2)>>2];W=W*W*+f[w>>2]+y;f[w>>2]=W;u=q;return}function Si(e,t,i,r,a,l,h,c,d,p,b,w,m,g,_){e=e|0;t=t|0;i=i|0;r=r|0;a=a|0;l=l|0;h=h|0;c=c|0;d=d|0;p=p|0;b=b|0;w=w|0;m=m|0;g=+g;_=_|0;var v=0,k=0,y=0,E=0,A=0,T=0,S=0,M=0,R=0,C=0,P=0,x=0,I=0,O=0,N=0,D=0,L=0,U=0,B=0,j=0,F=0,H=0,z=0,q=0,W=0,V=0,Y=0,Z=0,$=0,K=0,X=0,J=0,Q=0,ee=0,ie=0;ie=u;u=u+16|0;ee=ie;X=ee;s[X>>2]=0;s[X+4>>2]=0;e:do if((h+3|0)<=(l|0)){O=p+28|0;v=s[O>>2]|0;h=v>>>3;v=v-h|0;I=p+32|0;if(!m)h=v;else s[I>>2]=(s[I>>2]|0)+v;s[O>>2]=h;T=p+36|0;S=p+20|0;M=p+40|0;R=p+24|0;C=p+8|0;P=p+4|0;x=p+44|0;while(1){if(h>>>0>=8388609)break e;v=s[I>>2]|0;y=v>>>23;if((y|0)==255)s[T>>2]=(s[T>>2]|0)+1;else{k=v>>>31;h=s[M>>2]|0;if((h|0)>-1){v=s[R>>2]|0;if((v+(s[C>>2]|0)|0)>>>0<(s[P>>2]|0)>>>0){s[R>>2]=v+1;n[(s[p>>2]|0)+v>>0]=h+k;h=0}else h=-1;s[x>>2]=s[x>>2]|h}h=s[T>>2]|0;if(h|0){k=k+255&255;do{v=s[R>>2]|0;if((v+(s[C>>2]|0)|0)>>>0<(s[P>>2]|0)>>>0){s[R>>2]=v+1;n[(s[p>>2]|0)+v>>0]=k;v=0;h=s[T>>2]|0}else v=-1;s[x>>2]=s[x>>2]|v;h=h+-1|0;s[T>>2]=h}while((h|0)!=0)}s[M>>2]=y&255;v=s[I>>2]|0;h=s[O>>2]|0}s[I>>2]=v<<8&2147483392;h=h<<8;s[O>>2]=h;s[S>>2]=(s[S>>2]|0)+8}}while(0);if(!m){Q=+f[17320+(w<<2)>>2];J=+f[17336+(w<<2)>>2]}else{Q=.149993896484375;J=0}Z=e+8|0;$=p+20|0;K=p+28|0;X=b*3|0;e=(_|0)==0;_=p+32|0;U=p+36|0;B=p+40|0;j=p+24|0;F=p+8|0;H=p+4|0;z=p+44|0;h=0;Y=t;while(1){if((Y|0)>=(i|0))break;q=te(X,i-Y|0)|0;W=(Y|0)!=(t|0);V=(Y|0)<20;w=0;do{m=Y+(te(w,s[Z>>2]|0)|0)|0;A=+f[r+(m<<2)>>2];E=+f[a+(m<<2)>>2];L=J*(E<-9?-9:E);m=ee+(w<<2)|0;N=+f[m>>2];D=A-L-N;v=~~+G(+(D+.5));E=(E<-28?-28:E)-g;if((v|0)<0&A<E){O=v+~~(E-A)|0;O=(O|0)>0?0:O}else O=v;y=s[$>>2]|0;I=s[K>>2]|0;T=y+((ne(I|0)|0)+-32)|0;S=l-T|0;k=S-q|0;if((k|0)<24&W){v=(O|0)>1?1:O;if((k|0)<16)v=(v|0)<-1?-1:v}else v=O;v=e|(Y|0)<2|(v|0)<0?v:0;e:do if((S|0)<=14)if((S|0)>1){v=(v|0)<-1?-1:(v|0)<1?v:1;k=v<<1^v>>31;T=I>>>2;if((k|0)>0){x=o[29345+(k+-1)>>0]|0;I=I-(te(T,x)|0)|0;s[_>>2]=(s[_>>2]|0)+I;k=te(T,x-(o[29345+k>>0]|0)|0)|0}else k=I-(te(T,o[29345+k>>0]|0)|0)|0;s[K>>2]=k;while(1){if(k>>>0>=8388609)break e;T=s[_>>2]|0;S=T>>>23;if((S|0)==255)s[U>>2]=(s[U>>2]|0)+1;else{T=T>>>31;k=s[B>>2]|0;if((k|0)>-1){y=s[j>>2]|0;if((y+(s[F>>2]|0)|0)>>>0<(s[H>>2]|0)>>>0){s[j>>2]=y+1;n[(s[p>>2]|0)+y>>0]=k+T;k=0}else k=-1;s[z>>2]=s[z>>2]|k}k=s[U>>2]|0;if(k|0){T=T+255&255;do{y=s[j>>2]|0;if((y+(s[F>>2]|0)|0)>>>0<(s[H>>2]|0)>>>0){s[j>>2]=y+1;n[(s[p>>2]|0)+y>>0]=T;y=0;k=s[U>>2]|0}else y=-1;s[z>>2]=s[z>>2]|y;k=k+-1|0;s[U>>2]=k}while((k|0)!=0)}s[B>>2]=S&255;T=s[_>>2]|0;k=s[K>>2]|0;y=s[$>>2]|0}s[_>>2]=T<<8&2147483392;k=k<<8;s[K>>2]=k;y=y+8|0;s[$>>2]=y}}else{if((T|0)>=(l|0)){v=-1;break}T=I>>>1;k=I-T|0;if((v|0)>-1)v=0;else{s[_>>2]=(s[_>>2]|0)+k;k=T}s[K>>2]=k;while(1){if(k>>>0>=8388609)break e;T=s[_>>2]|0;S=T>>>23;if((S|0)==255)s[U>>2]=(s[U>>2]|0)+1;else{T=T>>>31;k=s[B>>2]|0;if((k|0)>-1){y=s[j>>2]|0;if((y+(s[F>>2]|0)|0)>>>0<(s[H>>2]|0)>>>0){s[j>>2]=y+1;n[(s[p>>2]|0)+y>>0]=k+T;k=0}else k=-1;s[z>>2]=s[z>>2]|k}k=s[U>>2]|0;if(k|0){T=T+255&255;do{y=s[j>>2]|0;if((y+(s[F>>2]|0)|0)>>>0<(s[H>>2]|0)>>>0){s[j>>2]=y+1;n[(s[p>>2]|0)+y>>0]=T;y=0;k=s[U>>2]|0}else y=-1;s[z>>2]=s[z>>2]|y;k=k+-1|0;s[U>>2]=k}while((k|0)!=0)}s[B>>2]=S&255;T=s[_>>2]|0;k=s[K>>2]|0;y=s[$>>2]|0}s[_>>2]=T<<8&2147483392;k=k<<8;s[K>>2]=k;y=y+8|0;s[$>>2]=y}}else{S=(V?Y:20)<<1;k=(o[c+S>>0]|0)<<7;S=(o[c+(S|1)>>0]|0)<<6;if(v){P=v>>31;M=v+P^P;T=te(32736-k|0,16384-S|0)|0;R=k;C=1;while(1){k=T>>>15;if(!k){x=36;break}if((M|0)<=(C|0)){x=37;break}x=k<<1;T=te(x,S)|0;R=R+(x+2)|0;C=C+1|0}if((x|0)==36){x=0;S=M-C|0;v=(32768-R-P>>1)+-1|0;v=(S|0)<(v|0)?S:v;S=R+((v<<1|1)+P)|0;k=32768-S|0;k=k>>>0>1?1:k;v=C+v+P^P}else if((x|0)==37){x=0;S=k+1|0;k=S;S=R+(S&~P)|0}T=I>>>15;if(!S)x=40;else{I=I-(te(T,32768-S|0)|0)|0;s[_>>2]=(s[_>>2]|0)+I;k=te(T,k)|0}}else{T=I>>>15;v=0;x=40}if((x|0)==40)k=I-(te(T,32768-k|0)|0)|0;s[K>>2]=k;T=k;k=y;while(1){if(T>>>0>=8388609)break e;y=s[_>>2]|0;S=y>>>23;if((S|0)==255)s[U>>2]=(s[U>>2]|0)+1;else{T=y>>>31;k=s[B>>2]|0;if((k|0)>-1){y=s[j>>2]|0;if((y+(s[F>>2]|0)|0)>>>0<(s[H>>2]|0)>>>0){s[j>>2]=y+1;n[(s[p>>2]|0)+y>>0]=k+T;k=0}else k=-1;s[z>>2]=s[z>>2]|k}k=s[U>>2]|0;if(k|0){T=T+255&255;do{y=s[j>>2]|0;if((y+(s[F>>2]|0)|0)>>>0<(s[H>>2]|0)>>>0){s[j>>2]=y+1;n[(s[p>>2]|0)+y>>0]=T;y=0;k=s[U>>2]|0}else y=-1;s[z>>2]=s[z>>2]|y;k=k+-1|0;s[U>>2]=k}while((k|0)!=0)}s[B>>2]=S&255;y=s[_>>2]|0;T=s[K>>2]|0;k=s[$>>2]|0}s[_>>2]=y<<8&2147483392;T=T<<8;s[K>>2]=T;k=k+8|0;s[$>>2]=k}}while(0);A=+(v|0);f[d+(Y+(te(w,s[Z>>2]|0)|0)<<2)>>2]=D-A;O=O-v|0;h=h+((O|0)>-1?O:0-O|0)|0;f[a+(Y+(te(w,s[Z>>2]|0)|0)<<2)>>2]=L+N+A;f[m>>2]=N+A-Q*A;w=w+1|0}while((w|0)<(b|0));Y=Y+1|0}u=ie;return(e?h:0)|0}function Mi(e,t,i,a,l,f,h,c,d,p,b,w,m,g,_,v,k,y,E){e=e|0;t=t|0;i=i|0;a=a|0;l=l|0;f=f|0;h=h|0;c=c|0;d=d|0;p=p|0;b=b|0;w=w|0;m=m|0;g=g|0;_=_|0;v=v|0;k=k|0;y=y|0;E=E|0;var A=0,T=0,S=0,M=0,R=0,C=0,P=0,x=0,I=0,O=0,N=0,D=0,L=0,U=0,B=0,j=0,F=0,G=0,H=0,z=0,q=0,W=0,V=0,Y=0,Z=0,$=0,K=0,X=0,J=0,Q=0,ee=0,ie=0;ie=u;d=(d|0)>0?d:0;I=s[e+8>>2]|0;G=(d|0)>7?8:0;d=d-G|0;ee=(g|0)==2;if(ee?(A=o[29348+(i-t)>>0]|0,(d|0)>=(A|0)):0){d=d-A|0;Y=(d|0)>7?8:0;d=d-Y|0}else{Y=0;A=0}U=u;u=u+((1*(I<<2)|0)+15&-16)|0;B=u;u=u+((1*(I<<2)|0)+15&-16)|0;F=u;u=u+((1*(I<<2)|0)+15&-16)|0;L=u;u=u+((1*(I<<2)|0)+15&-16)|0;J=g<<3;Q=e+32|0;f=f+-5-_|0;T=_+3|0;S=t;while(1){if((S|0)>=(i|0))break;K=S+1|0;$=s[Q>>2]|0;$=(r[$+(K<<1)>>1]|0)-(r[$+(S<<1)>>1]|0)|0;Z=$*3<<_<<3>>4;s[F+(S<<2)>>2]=(J|0)>(Z|0)?J:Z;Z=(te(te(te($,g)|0,f)|0,i-S+-1|0)|0)<<T>>6;s[L+(S<<2)>>2]=Z-(($<<_|0)==1?J:0);S=K}O=s[e+48>>2]|0;N=e+52|0;x=O+-1|0;D=1;do{R=D+x>>1;C=te(R,I)|0;P=0;f=i;T=0;e:while(1){t:while(1){M=f;do{f=M;M=M+-1|0;if((f|0)<=(t|0))break e;K=s[Q>>2]|0;f=te((r[K+(f<<1)>>1]|0)-(r[K+(M<<1)>>1]|0)|0,g)|0;f=(te(f,o[(s[N>>2]|0)+(C+M)>>0]|0)|0)<<_>>2;if((f|0)>0){f=f+(s[L+(M<<2)>>2]|0)|0;f=(f|0)<0?0:f}S=f+(s[a+(M<<2)>>2]|0)|0;if((S|0)>=(s[F+(M<<2)>>2]|0)|P)break t}while((S|0)<(J|0));f=M;T=T+J|0}K=s[l+(M<<2)>>2]|0;P=1;f=M;T=T+((S|0)<(K|0)?S:K)|0}K=(T|0)>(d|0);D=K?D:R+1|0;x=K?R+-1|0:x}while((D|0)<=(x|0));x=te(D+-1|0,I)|0;M=te(D,I)|0;R=(D|0)>1;P=t;j=t;while(1){if((P|0)>=(i|0))break;C=P+1|0;f=s[Q>>2]|0;f=te((r[f+(C<<1)>>1]|0)-(r[f+(P<<1)>>1]|0)|0,g)|0;T=s[N>>2]|0;S=(te(f,o[T+(x+P)>>0]|0)|0)<<_>>2;if((D|0)<(O|0))f=(te(f,o[T+(M+P)>>0]|0)|0)<<_>>2;else f=s[l+(P<<2)>>2]|0;if((S|0)>0){T=S+(s[L+(P<<2)>>2]|0)|0;T=(T|0)<0?0:T}else T=S;if((f|0)>0){f=f+(s[L+(P<<2)>>2]|0)|0;f=(f|0)<0?0:f}K=s[a+(P<<2)>>2]|0;$=T+(R?K:0)|0;Z=f+K|0;K=(K|0)>0?P:j;s[U+(P<<2)>>2]=$;s[B+(P<<2)>>2]=(Z|0)<($|0)?0:Z-$|0;P=C;j=K}Z=(g|0)>1;K=Z&1;C=64;P=0;x=0;while(1){if((P|0)==6)break;M=x+C>>1;R=0;f=i;T=0;e:while(1){t:while(1){do{$=f;f=f+-1|0;if(($|0)<=(t|0))break e;S=(s[U+(f<<2)>>2]|0)+((te(M,s[B+(f<<2)>>2]|0)|0)>>6)|0;if((S|0)>=(s[F+(f<<2)>>2]|0)|R)break t}while((S|0)<(J|0));T=T+J|0}$=s[l+(f<<2)>>2]|0;R=1;T=T+((S|0)<($|0)?S:$)|0}$=(T|0)>(d|0);C=$?M:C;P=P+1|0;x=$?x:M}$=_<<3;T=0;S=i;M=0;while(1){f=S+-1|0;if((S|0)<=(t|0))break;W=(s[U+(f<<2)>>2]|0)+((te(x,s[B+(f<<2)>>2]|0)|0)>>6)|0;S=(T|0)==0?(W|0)<(s[F+(f<<2)>>2]|0):0;W=S?(W|0)<(J|0)?0:J:W;V=s[l+(f<<2)>>2]|0;V=(W|0)<(V|0)?W:V;s[b+(f<<2)>>2]=V;T=S&1^1;S=f;M=M+V|0}O=J+8|0;N=(k|0)==0;B=v+28|0;k=v+32|0;H=v+20|0;z=v+40|0;q=v+24|0;W=v+4|0;I=t+2|0;D=v+36|0;L=v+8|0;a=v+44|0;V=i;U=M;e:while(1){P=V+-1|0;if((P|0)<=(j|0)){X=45;break}R=d-U|0;f=s[Q>>2]|0;x=r[f+(V<<1)>>1]|0;S=r[f+(t<<1)>>1]|0;T=x-S|0;C=(R>>>0)/(T>>>0)|0;T=R-(te(T,C)|0)|0;f=r[f+(P<<1)>>1]|0;S=T+(S-f)|0;f=x-f|0;x=b+(P<<2)|0;T=s[x>>2]|0;S=T+(te(C,f)|0)+((S|0)>0?S:0)|0;C=s[F+(P<<2)>>2]|0;if((S|0)<(((C|0)>(O|0)?C:O)|0)){M=T;T=U}else{t:do if(N){f=s[B>>2]|0;M=s[k>>2]|0;T=f>>>1;C=M>>>0<T>>>0;if(C)f=M;else{R=M-T|0;s[k>>2]=R;T=f-T|0;f=R}s[B>>2]=T;while(1){if(T>>>0>=8388609)break;s[H>>2]=(s[H>>2]|0)+8;T=T<<8;s[B>>2]=T;R=s[z>>2]|0;M=s[q>>2]|0;if(M>>>0<(s[W>>2]|0)>>>0){s[q>>2]=M+1;M=o[(s[v>>2]|0)+M>>0]|0}else M=0;s[z>>2]=M;R=((R<<8|M)>>>1&255|f<<8&2147483392)^255;s[k>>2]=R;f=R}if(C)break e}else{if((V|0)<=(I|0)){X=50;break e}if(!((P|0)>(E|0)?1:(S|0)<=((te((V|0)<=(y|0)?7:9,f)|0)<<_<<3>>4|0))){X=50;break e}f=s[B>>2]|0;f=f-(f>>>1)|0;s[B>>2]=f;while(1){if(f>>>0>=8388609)break t;T=s[k>>2]|0;R=T>>>23;if((R|0)==255)s[D>>2]=(s[D>>2]|0)+1;else{M=T>>>31;f=s[z>>2]|0;if((f|0)>-1){T=s[q>>2]|0;if((T+(s[L>>2]|0)|0)>>>0<(s[W>>2]|0)>>>0){s[q>>2]=T+1;n[(s[v>>2]|0)+T>>0]=f+M;f=0}else f=-1;s[a>>2]=s[a>>2]|f}f=s[D>>2]|0;if(f|0){M=M+255&255;do{T=s[q>>2]|0;if((T+(s[L>>2]|0)|0)>>>0<(s[W>>2]|0)>>>0){s[q>>2]=T+1;n[(s[v>>2]|0)+T>>0]=M;T=0;f=s[D>>2]|0}else T=-1;s[a>>2]=s[a>>2]|T;f=f+-1|0;s[D>>2]=f}while((f|0)!=0)}s[z>>2]=R&255;T=s[k>>2]|0;f=s[B>>2]|0}s[k>>2]=T<<8&2147483392;f=f<<8;s[B>>2]=f;s[H>>2]=(s[H>>2]|0)+8}}while(0);M=s[x>>2]|0;S=S+-8|0;T=U+8|0}if((A|0)>0)f=o[29348+(P-t)>>0]|0;else f=A;V=(S|0)<(J|0);U=T-(M+A)+f+(V?0:J)|0;s[x>>2]=V?0:J;A=f;V=P}e:do if((X|0)==45)d=d+G|0;else if((X|0)==50){T=s[B>>2]|0;f=T>>>1;T=(s[k>>2]|0)+(T-f)|0;s[k>>2]=T;s[B>>2]=f;while(1){if(f>>>0>=8388609)break e;M=T>>>23;if((M|0)==255)s[D>>2]=(s[D>>2]|0)+1;else{S=T>>>31;f=s[z>>2]|0;if((f|0)>-1){T=s[q>>2]|0;if((T+(s[L>>2]|0)|0)>>>0<(s[W>>2]|0)>>>0){s[q>>2]=T+1;n[(s[v>>2]|0)+T>>0]=f+S;f=0}else f=-1;s[a>>2]=s[a>>2]|f}f=s[D>>2]|0;if(f|0){S=S+255&255;do{T=s[q>>2]|0;if((T+(s[L>>2]|0)|0)>>>0<(s[W>>2]|0)>>>0){s[q>>2]=T+1;n[(s[v>>2]|0)+T>>0]=S;T=0;f=s[D>>2]|0}else T=-1;s[a>>2]=s[a>>2]|T;f=f+-1|0;s[D>>2]=f}while((f|0)!=0)}s[z>>2]=M&255;T=s[k>>2]|0;f=s[B>>2]|0}T=T<<8&2147483392;s[k>>2]=T;f=f<<8;s[B>>2]=f;s[H>>2]=(s[H>>2]|0)+8}}while(0);e:do if((A|0)>0){if(N){s[h>>2]=(hi(v,V+1-t|0)|0)+t;break}T=s[h>>2]|0;T=(T|0)<(V|0)?T:V;s[h>>2]=T;R=T-t|0;S=V+1-t|0;f=S+-1|0;A=32-(ne(f|0)|0)|0;if((A|0)<=8){f=s[B>>2]|0;A=(f>>>0)/(S>>>0)|0;if((T|0)==(t|0))A=f-(te(A,S-(R+1)|0)|0)|0;else{E=f-(te(A,S-R|0)|0)|0;s[k>>2]=(s[k>>2]|0)+E}s[B>>2]=A;while(1){if(A>>>0>=8388609)break e;f=s[k>>2]|0;S=f>>>23;if((S|0)==255)s[D>>2]=(s[D>>2]|0)+1;else{T=f>>>31;A=s[z>>2]|0;if((A|0)>-1){f=s[q>>2]|0;if((f+(s[L>>2]|0)|0)>>>0<(s[W>>2]|0)>>>0){s[q>>2]=f+1;n[(s[v>>2]|0)+f>>0]=A+T;A=0}else A=-1;s[a>>2]=s[a>>2]|A}A=s[D>>2]|0;if(A|0){T=T+255&255;do{f=s[q>>2]|0;if((f+(s[L>>2]|0)|0)>>>0<(s[W>>2]|0)>>>0){s[q>>2]=f+1;n[(s[v>>2]|0)+f>>0]=T;f=0;A=s[D>>2]|0}else f=-1;s[a>>2]=s[a>>2]|f;A=A+-1|0;s[D>>2]=A}while((A|0)!=0)}s[z>>2]=S&255;f=s[k>>2]|0;A=s[B>>2]|0}s[k>>2]=f<<8&2147483392;A=A<<8;s[B>>2]=A;s[H>>2]=(s[H>>2]|0)+8}}I=A+-8|0;f=f>>>I;T=f+1|0;S=R>>>I;M=s[B>>2]|0;A=(M>>>0)/(T>>>0)|0;if(!S)A=M-(te(A,f)|0)|0;else{E=M-(te(A,T-S|0)|0)|0;s[k>>2]=(s[k>>2]|0)+E}s[B>>2]=A;while(1){if(A>>>0>=8388609)break;f=s[k>>2]|0;S=f>>>23;if((S|0)==255)s[D>>2]=(s[D>>2]|0)+1;else{T=f>>>31;A=s[z>>2]|0;if((A|0)>-1){f=s[q>>2]|0;if((f+(s[L>>2]|0)|0)>>>0<(s[W>>2]|0)>>>0){s[q>>2]=f+1;n[(s[v>>2]|0)+f>>0]=A+T;A=0}else A=-1;s[a>>2]=s[a>>2]|A}A=s[D>>2]|0;if(A|0){T=T+255&255;do{f=s[q>>2]|0;if((f+(s[L>>2]|0)|0)>>>0<(s[W>>2]|0)>>>0){s[q>>2]=f+1;n[(s[v>>2]|0)+f>>0]=T;f=0;A=s[D>>2]|0}else f=-1;s[a>>2]=s[a>>2]|f;A=A+-1|0;s[D>>2]=A}while((A|0)!=0)}s[z>>2]=S&255;f=s[k>>2]|0;A=s[B>>2]|0}s[k>>2]=f<<8&2147483392;A=A<<8;s[B>>2]=A;s[H>>2]=(s[H>>2]|0)+8}C=(1<<I)+-1&R;P=v+12|0;A=s[P>>2]|0;x=v+16|0;f=s[x>>2]|0;if((f+I|0)>>>0>32){M=7-f|0;M=f+((M|0)>-8?M:-8)&-8;R=f;do{T=s[L>>2]|0;S=s[W>>2]|0;if(((s[q>>2]|0)+T|0)>>>0<S>>>0){T=T+1|0;s[L>>2]=T;n[(s[v>>2]|0)+(S-T)>>0]=A;T=0}else T=-1;s[a>>2]=s[a>>2]|T;A=A>>>8;R=R+-8|0}while((R|0)>7);f=f+-8-M|0}s[P>>2]=A|C<<f;s[x>>2]=f+I;s[H>>2]=(s[H>>2]|0)+I}else s[h>>2]=0;while(0);e:do if((s[h>>2]|0)>(t|0))if(!Y)X=169;else{if(N){A=s[B>>2]|0;T=s[k>>2]|0;f=A>>>1;Y=T>>>0<f>>>0;M=Y&1;if(Y)A=T;else{Y=T-f|0;s[k>>2]=Y;f=A-f|0;A=Y}s[B>>2]=f;while(1){if(f>>>0>=8388609)break;s[H>>2]=(s[H>>2]|0)+8;f=f<<8;s[B>>2]=f;S=s[z>>2]|0;T=s[q>>2]|0;if(T>>>0<(s[W>>2]|0)>>>0){s[q>>2]=T+1;T=o[(s[v>>2]|0)+T>>0]|0}else T=0;s[z>>2]=T;Y=((S<<8|T)>>>1&255|A<<8&2147483392)^255;s[k>>2]=Y;A=Y}s[c>>2]=M;break}f=s[B>>2]|0;A=f>>>1;f=f-A|0;if(!(s[c>>2]|0))A=f;else s[k>>2]=(s[k>>2]|0)+f;s[B>>2]=A;while(1){if(A>>>0>=8388609)break e;f=s[k>>2]|0;S=f>>>23;if((S|0)==255)s[D>>2]=(s[D>>2]|0)+1;else{T=f>>>31;A=s[z>>2]|0;if((A|0)>-1){f=s[q>>2]|0;if((f+(s[L>>2]|0)|0)>>>0<(s[W>>2]|0)>>>0){s[q>>2]=f+1;n[(s[v>>2]|0)+f>>0]=A+T;A=0}else A=-1;s[a>>2]=s[a>>2]|A}A=s[D>>2]|0;if(A|0){T=T+255&255;do{f=s[q>>2]|0;if((f+(s[L>>2]|0)|0)>>>0<(s[W>>2]|0)>>>0){s[q>>2]=f+1;n[(s[v>>2]|0)+f>>0]=T;f=0;A=s[D>>2]|0}else f=-1;s[a>>2]=s[a>>2]|f;A=A+-1|0;s[D>>2]=A}while((A|0)!=0)}s[z>>2]=S&255;f=s[k>>2]|0;A=s[B>>2]|0}s[k>>2]=f<<8&2147483392;A=A<<8;s[B>>2]=A;s[H>>2]=(s[H>>2]|0)+8}}else{d=d+Y|0;X=169}while(0);if((X|0)==169)s[c>>2]=0;f=d-U|0;T=s[Q>>2]|0;T=(r[T+(V<<1)>>1]|0)-(r[T+(t<<1)>>1]|0)|0;d=(f>>>0)/(T>>>0)|0;T=te(T,d)|0;A=t;while(1){if((A|0)>=(V|0))break;X=A+1|0;Y=s[Q>>2]|0;Y=te(d,(r[Y+(X<<1)>>1]|0)-(r[Y+(A<<1)>>1]|0)|0)|0;v=b+(A<<2)|0;s[v>>2]=(s[v>>2]|0)+Y;A=X}A=t;d=f-T|0;while(1){if((A|0)>=(V|0))break;v=A+1|0;X=s[Q>>2]|0;X=(r[X+(v<<1)>>1]|0)-(r[X+(A<<1)>>1]|0)|0;X=(d|0)<(X|0)?d:X;Y=b+(A<<2)|0;s[Y>>2]=(s[Y>>2]|0)+X;A=v;d=d-X|0}O=e+56|0;x=Z?4:3;I=0;while(1){if((t|0)>=(V|0))break;P=t+1|0;S=s[Q>>2]|0;S=(r[S+(P<<1)>>1]|0)-(r[S+(t<<1)>>1]|0)<<_;C=b+(t<<2)|0;A=(s[C>>2]|0)+I|0;if((S|0)>1){d=s[l+(t<<2)>>2]|0;d=(A|0)>(d|0)?A-d|0:0;M=A-d|0;s[C>>2]=M;A=te(S,g)|0;if(ee&(S|0)>2?(s[c>>2]|0)==0:0)f=(t|0)<(s[h>>2]|0);else f=0;R=A+(f&1)|0;T=te(R,(r[(s[O>>2]|0)+(t<<1)>>1]|0)+$|0)|0;A=(T>>1)+(te(R,-21)|0)|0;if((S|0)==2)A=A+(R<<3>>2)|0;f=M+A|0;if((f|0)>=(R<<4|0))if((f|0)<(R*24|0))S=A+(T>>3)|0;else S=A;else S=A+(T>>2)|0;A=M+S+(R<<2)|0;A=((((A|0)<0?0:A)>>>0)/(R>>>0)|0)>>>3;T=w+(t<<2)|0;s[T>>2]=A;e=te(A,g)|0;f=s[C>>2]|0;if((e|0)>(f>>3|0)){A=f>>K>>3;s[T>>2]=A}e=(A|0)<8?A:8;s[T>>2]=e;e=te(e,R<<3)|0;s[m+(t<<2)>>2]=(e|0)>=((s[C>>2]|0)+S|0)&1;e=(te(s[T>>2]|0,g)|0)<<3;s[C>>2]=(s[C>>2]|0)-e}else{d=(A|0)<(J|0)?0:A-J|0;s[C>>2]=A-d;s[w+(t<<2)>>2]=0;s[m+(t<<2)>>2]=1}if((d|0)<=0){I=d;t=P;continue}Z=d>>x;X=w+(t<<2)|0;v=s[X>>2]|0;e=8-v|0;e=(Z|0)<(e|0)?Z:e;s[X>>2]=v+e;e=(te(e,g)|0)<<3;s[m+(t<<2)>>2]=(e|0)>=(d-I|0)&1;I=d-e|0;t=P}s[p>>2]=I;while(1){if((t|0)>=(i|0))break;c=b+(t<<2)|0;h=w+(t<<2)|0;s[h>>2]=s[c>>2]>>K>>3;s[c>>2]=0;s[m+(t<<2)>>2]=(s[h>>2]|0)<1&1;t=t+1|0}u=ie;return V|0}function Ri(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var r=0,o=0,a=0,l=0,h=0,c=0,d=0,p=0,b=0,w=0,m=0,g=0,_=0;_=u;m=u;u=u+((1*(n<<2)|0)+15&-16)|0;g=u;u=u+((1*(n<<2)|0)+15&-16)|0;r=0;do{w=e+(r<<2)|0;p=+f[w>>2];s[g+(r<<2)>>2]=p<0&1;f[w>>2]=+H(+p);s[t+(r<<2)>>2]=0;f[m+(r<<2)>>2]=0;r=r+1|0}while((r|0)<(n|0));if((n>>1|0)<(i|0)){r=0;o=0;do{o=o+ +f[e+(r<<2)>>2];r=r+1|0}while((r|0)<(n|0));if(!(o>1.0000000036274937e-15&o<64)){f[e>>2]=1;r=1;do{f[e+(r<<2)>>2]=0;r=r+1|0}while((r|0)<(n|0));o=1}l=(+(i|0)+.8)*(1/o);h=0;r=i;a=0;o=0;do{b=e+(h<<2)|0;w=~~+G(+(l*+f[b>>2]));s[t+(h<<2)>>2]=w;p=+(w|0);o=o+p*p;a=a+ +f[b>>2]*p;f[m+(h<<2)>>2]=p*2;r=r-w|0;h=h+1|0}while((h|0)<(n|0))}else{r=i;a=0;o=0}if((r|0)>(n+3|0)){p=+(r|0);o=o+p*p+p*+f[m>>2];s[t>>2]=(s[t>>2]|0)+r;r=0}w=0;while(1){if((w|0)>=(r|0)){r=0;break}o=o+1;p=a+ +f[e>>2];d=o+ +f[m>>2];h=0;p=p*p;b=1;while(1){c=a+ +f[e+(b<<2)>>2];l=o+ +f[m+(b<<2)>>2];c=c*c;i=d*c>l*p;h=i?b:h;b=b+1|0;if((b|0)>=(n|0))break;else{d=i?l:d;p=i?c:p}}d=+f[e+(h<<2)>>2];b=m+(h<<2)|0;p=+f[b>>2];f[b>>2]=p+2;b=t+(h<<2)|0;s[b>>2]=(s[b>>2]|0)+1;w=w+1|0;a=a+d;o=o+p}do{e=t+(r<<2)|0;m=s[g+(r<<2)>>2]|0;s[e>>2]=(s[e>>2]^0-m)+m;r=r+1|0}while((r|0)<(n|0));u=_;return+o}function Ci(e,t,i,r,o,a,l,h){e=e|0;t=t|0;i=i|0;r=r|0;o=o|0;a=a|0;l=+l;h=h|0;var c=0,d=0,p=0,b=0,w=0,m=0,g=0,_=0,v=0,k=0,y=0,E=0,A=0,T=0,S=0,M=0,R=0,C=0,P=0;P=u;C=u;u=u+((1*(t+3<<2)|0)+15&-16)|0;Pi(e,t,1,o,i,r);d=+Ri(e,C,i,t);b=t+-1|0;m=s[C+(b<<2)>>2]|0;c=m>>>31;m=(m|0)>-1?m:0-m|0;while(1){w=b;b=b+-1|0;p=t-b|0;c=c+(s[(s[17748+(((p|0)<(m|0)?p:m)<<2)>>2]|0)+(((p|0)>(m|0)?p:m)<<2)>>2]|0)|0;R=s[C+(b<<2)>>2]|0;m=m+((R|0)>-1?R:0-R|0)|0;if((R|0)<0){M=m+1|0;M=c+(s[(s[17748+(((p|0)>(m|0)?M:p)<<2)>>2]|0)+(((p|0)>(M|0)?p:M)<<2)>>2]|0)|0}else M=c;if((w|0)<=1)break;else c=M}p=(t|0)>(i|0);b=i+1|0;b=(s[(s[17748+(((t|0)<(i|0)?t:i)<<2)>>2]|0)+((p?t:i)<<2)>>2]|0)+(s[(s[17748+((p?b:t)<<2)>>2]|0)+(((b|0)<(t|0)?t:b)<<2)>>2]|0)|0;p=b+-1|0;c=32-(ne(p|0)|0)|0;e:do if((c|0)>8){R=c+-8|0;c=p>>>R;p=c+1|0;b=M>>>R;k=a+28|0;w=s[k>>2]|0;m=(w>>>0)/(p>>>0)|0;if(!b){m=w-(te(m,c)|0)|0;s[k>>2]=m;v=a+32|0}else{S=w-(te(m,p-b|0)|0)|0;v=a+32|0;s[v>>2]=(s[v>>2]|0)+S;s[k>>2]=m}g=a+36|0;S=a+20|0;_=a+40|0;y=a+24|0;E=a+8|0;A=a+4|0;T=a+44|0;while(1){if(m>>>0>=8388609)break;c=s[v>>2]|0;w=c>>>23;if((w|0)==255)s[g>>2]=(s[g>>2]|0)+1;else{b=c>>>31;c=s[_>>2]|0;if((c|0)>-1){p=s[y>>2]|0;if((p+(s[E>>2]|0)|0)>>>0<(s[A>>2]|0)>>>0){s[y>>2]=p+1;n[(s[a>>2]|0)+p>>0]=c+b;c=0}else c=-1;s[T>>2]=s[T>>2]|c}c=s[g>>2]|0;if(c|0){b=b+255&255;do{p=s[y>>2]|0;if((p+(s[E>>2]|0)|0)>>>0<(s[A>>2]|0)>>>0){s[y>>2]=p+1;n[(s[a>>2]|0)+p>>0]=b;p=0;c=s[g>>2]|0}else p=-1;s[T>>2]=s[T>>2]|p;c=c+-1|0;s[g>>2]=c}while((c|0)!=0)}s[_>>2]=w&255;c=s[v>>2]|0;m=s[k>>2]|0}s[v>>2]=c<<8&2147483392;m=m<<8;s[k>>2]=m;s[S>>2]=(s[S>>2]|0)+8}_=(1<<R)+-1&M;v=a+12|0;c=s[v>>2]|0;k=a+16|0;p=s[k>>2]|0;if((p+R|0)>>>0>32){m=7-p|0;m=p+((m|0)>-8?m:-8)&-8;g=p;do{b=s[E>>2]|0;w=s[A>>2]|0;if(((s[y>>2]|0)+b|0)>>>0<w>>>0){b=b+1|0;s[E>>2]=b;n[(s[a>>2]|0)+(w-b)>>0]=c;b=0}else b=-1;s[T>>2]=s[T>>2]|b;c=c>>>8;g=g+-8|0}while((g|0)>7);p=p+-8-m|0}s[v>>2]=c|_<<p;s[k>>2]=p+R;s[S>>2]=(s[S>>2]|0)+R}else{T=a+28|0;c=s[T>>2]|0;p=(c>>>0)/(b>>>0)|0;if(!M){p=c-(te(p,b+-1|0)|0)|0;s[T>>2]=p;A=a+32|0}else{R=c-(te(p,b-M|0)|0)|0;A=a+32|0;s[A>>2]=(s[A>>2]|0)+R;s[T>>2]=p}m=a+36|0;g=a+20|0;_=a+40|0;v=a+24|0;k=a+8|0;y=a+4|0;E=a+44|0;while(1){if(p>>>0>=8388609)break e;c=s[A>>2]|0;w=c>>>23;if((w|0)==255)s[m>>2]=(s[m>>2]|0)+1;else{b=c>>>31;c=s[_>>2]|0;if((c|0)>-1){p=s[v>>2]|0;if((p+(s[k>>2]|0)|0)>>>0<(s[y>>2]|0)>>>0){s[v>>2]=p+1;n[(s[a>>2]|0)+p>>0]=c+b;c=0}else c=-1;s[E>>2]=s[E>>2]|c}c=s[m>>2]|0;if(c|0){b=b+255&255;do{p=s[v>>2]|0;if((p+(s[k>>2]|0)|0)>>>0<(s[y>>2]|0)>>>0){s[v>>2]=p+1;n[(s[a>>2]|0)+p>>0]=b;p=0;c=s[m>>2]|0}else p=-1;s[E>>2]=s[E>>2]|p;c=c+-1|0;s[m>>2]=c}while((c|0)!=0)}s[_>>2]=w&255;c=s[A>>2]|0;p=s[T>>2]|0}s[A>>2]=c<<8&2147483392;p=p<<8;s[T>>2]=p;s[g>>2]=(s[g>>2]|0)+8}}while(0);if(h|0){d=1/+z(+d)*l;c=0;do{f[e+(c<<2)>>2]=d*+(s[C+(c<<2)>>2]|0);c=c+1|0}while((c|0)<(t|0));Pi(e,t,-1,o,i,r)}if((o|0)<2){o=1;u=P;return o|0}m=(t>>>0)/(o>>>0)|0;c=0;g=0;do{p=te(g,m)|0;b=0;w=0;do{w=w|s[C+(p+b<<2)>>2];b=b+1|0}while((b|0)<(m|0));c=c|((w|0)!=0&1)<<g;g=g+1|0}while((g|0)!=(o|0));u=P;return c|0}function Pi(e,t,i,n,r,o){e=e|0;t=t|0;i=i|0;n=n|0;r=r|0;o=o|0;var a=0,l=0,h=0,u=0,c=0,d=0,p=0,b=0,w=0,m=0,g=0,_=0,v=0,k=0,y=0,E=0,A=0;if((r<<1|0)>=(t|0)|(o|0)==0)return;k=+(t|0)/+((te(s[17352+(o+-1<<2)>>2]|0,r)|0)+t|0);k=k*k*.5;v=+W(+(k*1.5707963705062866));k=+W(+((1-k)*1.5707963705062866));e:do if((n<<3|0)>(t|0))o=0;else{r=n>>2;o=1;while(1){if(((te((te(o,o)|0)+o|0,n)|0)+r|0)>=(t|0))break e;o=o+1|0}}while(0);_=(t>>>0)/(n>>>0)|0;a=(i|0)<0;l=(o|0)==0;h=-k;u=_+-1|0;c=_+-3|0;d=_+-2|0;p=-v;b=_-o|0;w=_-(o<<1)|0;m=w+-1|0;g=0;while(1){if((g|0)>=(n|0))break;i=e+((te(g,_)|0)<<2)|0;e:do if(!a){r=i;t=0;while(1){if((t|0)>=(u|0))break;A=+f[r>>2];y=r+4|0;E=+f[y>>2];f[y>>2]=E*v+A*h;f[r>>2]=A*v+E*k;r=y;t=t+1|0}r=i+(c<<2)|0;t=d;while(1){if((t|0)<=0)break;E=+f[r>>2];y=r+4|0;A=+f[y>>2];f[y>>2]=A*v+E*h;f[r>>2]=E*v+A*k;r=r+-4|0;t=t+-1|0}if(!l){r=i;t=0;while(1){if((t|0)>=(b|0))break;E=+f[r>>2];y=r+(o<<2)|0;A=+f[y>>2];f[y>>2]=A*k+E*p;f[r>>2]=E*k+A*v;r=r+4|0;t=t+1|0}r=i+(m<<2)|0;t=w;while(1){if((t|0)<=0)break e;E=+f[r>>2];y=r+(o<<2)|0;A=+f[y>>2];f[y>>2]=A*k+E*p;f[r>>2]=E*k+A*v;r=r+-4|0;t=t+-1|0}}}else{t:do if(l){r=i;t=0}else{r=i;t=0;while(1){if((t|0)>=(b|0))break;E=+f[r>>2];y=r+(o<<2)|0;A=+f[y>>2];f[y>>2]=A*k+E*v;f[r>>2]=E*k+A*p;r=r+4|0;t=t+1|0}r=i+(m<<2)|0;t=w;while(1){if((t|0)<=0){r=i;t=0;break t}E=+f[r>>2];y=r+(o<<2)|0;A=+f[y>>2];f[y>>2]=A*k+E*v;f[r>>2]=E*k+A*p;r=r+-4|0;t=t+-1|0}}while(0);while(1){if((t|0)>=(u|0))break;E=+f[r>>2];y=r+4|0;A=+f[y>>2];f[y>>2]=A*v+E*k;f[r>>2]=E*v+A*h;r=y;t=t+1|0}r=i+(c<<2)|0;t=d;while(1){if((t|0)<=0)break e;E=+f[r>>2];y=r+4|0;A=+f[y>>2];f[y>>2]=A*v+E*k;f[r>>2]=E*v+A*h;r=r+-4|0;t=t+-1|0}}while(0);g=g+1|0}return}function xi(e,t,i,n,r,o,a){e=e|0;t=t|0;i=i|0;n=n|0;r=r|0;o=o|0;a=+a;var l=0,h=0,c=0,d=0,p=0,b=0,w=0,m=0,g=0,_=0,v=0,k=0,y=0;v=u;_=u;u=u+((1*(t<<2)|0)+15&-16)|0;g=(t|0)>(i|0);p=i+1|0;w=t;m=i;p=hi(o,(s[(s[17748+(((t|0)<(i|0)?t:i)<<2)>>2]|0)+((g?t:i)<<2)>>2]|0)+(s[(s[17748+((g?p:t)<<2)>>2]|0)+(((p|0)<(t|0)?t:p)<<2)>>2]|0)|0)|0;g=_;l=0;while(1){if((w|0)<=2)break;do if((m|0)<(w|0)){o=s[(s[17748+(m<<2)>>2]|0)+(w<<2)>>2]|0;h=s[(s[17748+(m+1<<2)>>2]|0)+(w<<2)>>2]|0;if(p>>>0>=o>>>0&p>>>0<h>>>0){s[g>>2]=0;h=p-o|0;o=m;break}d=p>>>0>=h>>>0;h=p-(d?h:0)|0;o=m;do{o=o+-1|0;c=s[(s[17748+(o<<2)>>2]|0)+(w<<2)>>2]|0}while(h>>>0<c>>>0);b=d<<31>>31;m=m-o+b^b;s[g>>2]=m<<16>>16;k=+((m&65535)<<16>>16);h=h-c|0;l=l+k*k}else{c=s[17748+(w<<2)>>2]|0;d=s[c+(m+1<<2)>>2]|0;h=p>>>0>=d>>>0;b=h<<31>>31;d=p-(h?d:0)|0;e:do if((s[c+(w<<2)>>2]|0)>>>0>d>>>0){o=w;do{o=o+-1|0;h=s[(s[17748+(o<<2)>>2]|0)+(w<<2)>>2]|0}while(h>>>0>d>>>0)}else{o=m;while(1){h=s[c+(o<<2)>>2]|0;if(h>>>0<=d>>>0)break e;o=o+-1|0}}while(0);m=m-o+b^b;s[g>>2]=m<<16>>16;k=+((m&65535)<<16>>16);h=d-h|0;l=l+k*k}while(0);w=w+-1|0;m=o;p=h;g=g+4|0}o=m<<1|1;h=p>>>0>=o>>>0;c=h<<31>>31;o=p-(h?o:0)|0;h=(o+1|0)>>>1;if(h)o=o-((h<<1)+-1)|0;m=m-h+c^c;s[g>>2]=m<<16>>16;y=+((m&65535)<<16>>16);o=h-o^0-o;s[g+4>>2]=o<<16>>16;k=+((o&65535)<<16>>16);l=1/+z(+(l+y*y+k*k))*a;o=0;do{f[e+(o<<2)>>2]=l*+(s[_+(o<<2)>>2]|0);o=o+1|0}while((o|0)<(t|0));Pi(e,t,-1,r,i,n);if((r|0)<2){r=1;u=v;return r|0}p=(t>>>0)/(r>>>0)|0;o=0;b=0;do{h=te(b,p)|0;c=0;d=0;do{d=d|s[_+(h+c<<2)>>2];c=c+1|0}while((c|0)<(p|0));o=o|((d|0)!=0&1)<<b;b=b+1|0}while((b|0)!=(r|0));u=v;return o|0}function Ii(e,t,i,l,f,h,c){e=e|0;t=t|0;i=i|0;l=l|0;f=f|0;h=h|0;c=c|0;var d=0,p=0,b=0,w=0,m=0,g=0,_=0,v=0,k=0,y=0,E=0,A=0,T=0,S=0,M=0,R=0,C=0,P=0,x=0,I=0,O=0,N=0,D=0,L=0,U=0,B=0,j=0,F=0,G=0,H=0,z=0;G=u;u=u+672|0;D=G+16|0;j=G+8|0;L=G;x=G+24|0;B=L;s[B>>2]=0;s[B+4>>2]=0;B=t+4|0;e:do if(!l)l=s[B>>2]|0;else{d=0;while(1){l=s[B>>2]|0;if((d|0)>=(l|0))break e;s[e+(d*4260|0)+2388>>2]=0;d=d+1|0}}while(0);F=e+8536|0;if((l|0)>(s[F>>2]|0)){l=e+4260|0;yr(l|0,0,4260)|0;s[e+6636>>2]=1;s[l>>2]=65536;s[e+8408>>2]=0;s[e+8412>>2]=3176576;s[e+8428>>2]=s[e+6588>>2]<<7;s[e+8500>>2]=65536;s[e+8504>>2]=65536;s[e+8516>>2]=20;s[e+8512>>2]=2;l=s[B>>2]|0}if((l|0)==1?(s[F>>2]|0)==2:0)U=(s[t+12>>2]|0)==((s[e+2316>>2]|0)*1e3|0);else U=0;O=e+2388|0;e:do if(!(s[O>>2]|0)){E=t+16|0;A=t+12|0;T=t+8|0;y=0;S=0;t:while(1){if((y|0)>=(l|0))break e;switch(s[E>>2]|0){case 0:{s[e+(y*4260|0)+2392>>2]=1;s[e+(y*4260|0)+2324>>2]=2;l=2;break}case 10:{s[e+(y*4260|0)+2392>>2]=1;s[e+(y*4260|0)+2324>>2]=2;l=2;break}case 20:{s[e+(y*4260|0)+2392>>2]=1;s[e+(y*4260|0)+2324>>2]=4;l=4;break}case 40:{s[e+(y*4260|0)+2392>>2]=2;s[e+(y*4260|0)+2324>>2]=4;l=4;break}case 60:{s[e+(y*4260|0)+2392>>2]=3;s[e+(y*4260|0)+2324>>2]=4;l=4;break}default:{l=-203;M=183;break t}}g=s[A>>2]>>10;_=g+1|0;v=(_|0)==8;switch(g|0){case 7:case 11:case 15:break;default:{l=-200;M=183;break t}}p=s[T>>2]|0;k=_<<16>>16;s[e+(y*4260|0)+2332>>2]=k*5;b=e+(y*4260|0)+2324|0;w=te(l,k*327680>>16)|0;m=e+(y*4260|0)+2316|0;l=e+(y*4260|0)+2320|0;if((s[m>>2]|0)==(_|0)?(s[l>>2]|0)==(p|0):0){l=1;d=0;M=23}else{d=Hi(e+(y*4260|0)+2432|0,k*1e3|0,p,0)|0;s[l>>2]=p;l=(s[m>>2]|0)==(_|0);if(l)M=23;else M=24}if((M|0)==23){M=0;if((w|0)!=(s[e+(y*4260|0)+2328>>2]|0))M=24}if((M|0)==24){M=0;p=(s[b>>2]|0)==4;b=e+(y*4260|0)+2384|0;do if(v)if(p){s[b>>2]=30064;break}else{s[b>>2]=30087;break}else if(p){s[b>>2]=30030;break}else{s[b>>2]=30075;break}while(0);if(!l){s[e+(y*4260|0)+2336>>2]=k*20;switch(g|0){case 7:case 11:{s[e+(y*4260|0)+2340>>2]=10;s[e+(y*4260|0)+2732>>2]=22896;if((_|0)==12)s[e+(y*4260|0)+2380>>2]=29956;else M=37;break}default:{s[e+(y*4260|0)+2340>>2]=16;s[e+(y*4260|0)+2732>>2]=22936;if((_|0)==16)s[e+(y*4260|0)+2380>>2]=29962;else M=37}}if((M|0)==37?(0,v):0)s[e+(y*4260|0)+2380>>2]=29947;s[e+(y*4260|0)+2376>>2]=1;s[e+(y*4260|0)+2308>>2]=100;n[e+(y*4260|0)+2312>>0]=10;s[e+(y*4260|0)+4164>>2]=0;yr(e+(y*4260|0)+1284|0,0,1024)|0}s[m>>2]=_;s[e+(y*4260|0)+2328>>2]=w}l=s[B>>2]|0;y=y+1|0;S=S+d|0}if((M|0)==183){u=G;return l|0}}else S=0;while(0);d=s[t>>2]|0;do if((d|0)==2)if((l|0)==2){if((s[e+8532>>2]|0)!=1?(s[F>>2]|0)!=1:0){l=2;break}s[e+8520>>2]=0;s[e+8528>>2]=0;Sr(e+6692|0,e+2432|0,300)|0;l=s[t>>2]|0}else l=2;else l=d;while(0);s[e+8532>>2]=l;s[F>>2]=s[B>>2];I=t+8|0;if(((s[I>>2]|0)+-8e3|0)>>>0>4e4){e=-200;u=G;return e|0}N=(i|0)==1;e:do if(!N?(s[O>>2]|0)==0:0){A=f+28|0;T=f+32|0;M=f+20|0;R=f+40|0;C=f+24|0;P=f+4|0;_=0;while(1){l=s[B>>2]|0;if((_|0)>=(l|0)){v=0;break}w=e+(_*4260|0)+2392|0;m=0;while(1){p=s[A>>2]|0;d=s[T>>2]|0;l=p>>>1;b=d>>>0<l>>>0;g=b&1;if((m|0)>=(s[w>>2]|0))break;if(!b){d=d-l|0;s[T>>2]=d;l=p-l|0}s[A>>2]=l;while(1){if(l>>>0>=8388609)break;s[M>>2]=(s[M>>2]|0)+8;l=l<<8;s[A>>2]=l;b=s[R>>2]|0;p=s[C>>2]|0;if(p>>>0<(s[P>>2]|0)>>>0){s[C>>2]=p+1;p=o[(s[f>>2]|0)+p>>0]|0}else p=0;s[R>>2]=p;E=((b<<8|p)>>>1&255|d<<8&2147483392)^255;s[T>>2]=E;d=E}s[e+(_*4260|0)+2404+(m<<2)>>2]=g;m=m+1|0}if(!b){d=d-l|0;s[T>>2]=d;l=p-l|0}s[A>>2]=l;while(1){if(l>>>0>=8388609)break;s[M>>2]=(s[M>>2]|0)+8;l=l<<8;s[A>>2]=l;b=s[R>>2]|0;p=s[C>>2]|0;if(p>>>0<(s[P>>2]|0)>>>0){s[C>>2]=p+1;p=o[(s[f>>2]|0)+p>>0]|0}else p=0;s[R>>2]=p;E=((b<<8|p)>>>1&255|d<<8&2147483392)^255;s[T>>2]=E;d=E}s[e+(_*4260|0)+2416>>2]=g;_=_+1|0}while(1){if((v|0)>=(l|0))break;l=e+(v*4260|0)+2420|0;s[l>>2]=0;s[l+4>>2]=0;s[l+8>>2]=0;t:do if(s[e+(v*4260|0)+2416>>2]|0){_=e+(v*4260|0)+2392|0;d=s[_>>2]|0;if((d|0)==1){s[l>>2]=1;break}l=s[17520+(d+-2<<2)>>2]|0;m=s[A>>2]|0;d=s[T>>2]|0;p=m>>>8;g=-1;while(1){b=g+1|0;w=te(p,o[l+b>>0]|0)|0;if(d>>>0<w>>>0){g=b;m=w}else break}b=d-w|0;s[T>>2]=b;l=m-w|0;s[A>>2]=l;while(1){if(l>>>0>=8388609)break;s[M>>2]=(s[M>>2]|0)+8;l=l<<8;s[A>>2]=l;p=s[R>>2]|0;d=s[C>>2]|0;if(d>>>0<(s[P>>2]|0)>>>0){s[C>>2]=d+1;d=o[(s[f>>2]|0)+d>>0]|0}else d=0;s[R>>2]=d;E=((p<<8|d)>>>1&255|b<<8&2147483392)^255;s[T>>2]=E;b=E}l=g+2|0;d=0;while(1){if((d|0)>=(s[_>>2]|0))break t;s[e+(v*4260|0)+2420+(d<<2)>>2]=l>>>d&1;d=d+1|0}}while(0);l=s[B>>2]|0;v=v+1|0}if(!i){y=e+2392|0;E=e+6680|0;d=0;k=0;while(1){if((k|0)>=(s[y>>2]|0))break e;g=E+(k<<2)|0;_=(k|0)>0;v=k+-1|0;m=0;while(1){if((m|0)>=(l|0))break;if(s[e+(m*4260|0)+2420+(k<<2)>>2]|0){t:do if((l|0)==2&(m|0)==0?(Yi(f,L),(s[g>>2]|0)==0):0){w=s[A>>2]|0;l=s[T>>2]|0;p=w>>>8;d=-1;while(1){d=d+1|0;b=te(p,o[29916+d>>0]|0)|0;if(l>>>0>=b>>>0)break;else w=b}p=l-b|0;s[T>>2]=p;l=w-b|0;s[A>>2]=l;w=p;while(1){if(l>>>0>=8388609)break t;s[M>>2]=(s[M>>2]|0)+8;l=l<<8;s[A>>2]=l;b=s[R>>2]|0;p=s[C>>2]|0;if(p>>>0<(s[P>>2]|0)>>>0){s[C>>2]=p+1;p=o[(s[f>>2]|0)+p>>0]|0}else p=0;s[R>>2]=p;b=((b<<8|p)>>>1&255|w<<8&2147483392)^255;s[T>>2]=b;w=b}}while(0);if(_?(s[e+(m*4260|0)+2420+(v<<2)>>2]|0)!=0:0)l=2;else l=0;pn(e+(m*4260|0)|0,f,k,1,l);bn(f,x,n[e+(m*4260|0)+2765>>0]|0,n[e+(m*4260|0)+2766>>0]|0,s[e+(m*4260|0)+2328>>2]|0);l=s[B>>2]|0}m=m+1|0}k=k+1|0}}else d=0}else d=0;while(0);l=s[B>>2]|0;do if((l|0)==2){switch(i|0){case 0:{Yi(f,L);if(!(s[e+6664+(s[O>>2]<<2)>>2]|0))M=112;else{d=0;M=121}break}case 2:{if((s[e+2420+(s[O>>2]<<2)>>2]|0)==1){Yi(f,L);if(!(s[e+6680+(s[O>>2]<<2)>>2]|0))M=112;else{d=0;M=121}}else M=108;break}default:M=108}e:do if((M|0)==108){l=e+8520|0;p=0;while(1){if((p|0)==2)break e;s[L+(p<<2)>>2]=r[l+(p<<1)>>1];p=p+1|0}}else if((M|0)==112){k=f+28|0;w=s[k>>2]|0;y=f+32|0;l=s[y>>2]|0;p=w>>>8;d=-1;while(1){d=d+1|0;b=te(p,o[29916+d>>0]|0)|0;if(l>>>0>=b>>>0)break;else w=b}v=l-b|0;s[y>>2]=v;l=w-b|0;s[k>>2]=l;w=f+20|0;m=f+40|0;g=f+24|0;_=f+4|0;while(1){if(l>>>0>=8388609){M=121;break e}s[w>>2]=(s[w>>2]|0)+8;l=l<<8;s[k>>2]=l;b=s[m>>2]|0;p=s[g>>2]|0;if(p>>>0<(s[_>>2]|0)>>>0){s[g>>2]=p+1;p=o[(s[f>>2]|0)+p>>0]|0}else p=0;s[m>>2]=p;x=((b<<8|p)>>>1&255|v<<8&2147483392)^255;s[y>>2]=x;v=x}}while(0);if((M|0)==121){l=s[B>>2]|0;if((l|0)!=2)break}if((d|0)==0?(s[e+8540>>2]|0)==1:0){yr(e+5544|0,0,1024)|0;s[e+6568>>2]=100;n[e+6572>>0]=10;s[e+8424>>2]=0;s[e+6636>>2]=1;l=s[B>>2]|0}else l=2}while(0);R=te(s[t+12>>2]|0,l)|0;R=(R|0)<(te(s[I>>2]|0,s[t>>2]|0)|0);if(R){P=Ne()|0;s[j>>2]=h;M=h+(s[e+2328>>2]<<1)+4|0;s[j+4>>2]=M;w=h}else{M=e+2328|0;x=te(l,(s[M>>2]|0)+2|0)|0;P=Ne()|0;w=u;u=u+((1*(x<<1)|0)+15&-16)|0;s[j>>2]=w;M=w+(s[M>>2]<<1)+4|0;s[j+4>>2]=M}if(!i){C=e+8540|0;b=(d|0)==0&1}else{l=e+8540|0;if(s[l>>2]|0)if((s[B>>2]|0)==2&(i|0)==2)p=(s[e+6680+(s[e+6648>>2]<<2)>>2]|0)==1;else p=0;else p=1;C=l;b=p&1}p=(i|0)==2;m=0;while(1){l=s[B>>2]|0;if((m|0)>=(l|0))break;if((m|0)==0|(b|0)!=0){l=(s[O>>2]|0)-m|0;do if((l|0)<1)l=0;else{if(p){l=s[e+(m*4260|0)+2420+(l+-1<<2)>>2]|0?2:0;break}if((m|0)>0?s[C>>2]|0:0){l=1;break}l=2}while(0);l=S+(dn(e+(m*4260|0)|0,f,(s[j+(m<<2)>>2]|0)+4|0,D,i,l)|0)|0}else{yr((s[j+(m<<2)>>2]|0)+4|0,0,s[D>>2]<<1|0)|0;l=S}S=e+(m*4260|0)+2388|0;s[S>>2]=(s[S>>2]|0)+1;m=m+1|0;S=l}e:do if((s[t>>2]|0)==2&(l|0)==2){
E=e+8520|0;A=e+2316|0;l=s[A>>2]|0;T=s[D>>2]|0;k=e+8524|0;m=a[k>>1]|a[k+2>>1]<<16;r[w>>1]=m;r[w+2>>1]=m>>>16;m=e+8528|0;g=a[m>>1]|a[m+2>>1]<<16;r[M>>1]=g;r[M+2>>1]=g>>>16;g=w+(T<<1)|0;g=a[g>>1]|a[g+2>>1]<<16;r[k>>1]=g;r[k+2>>1]=g>>>16;k=M+(T<<1)|0;k=a[k>>1]|a[k+2>>1]<<16;r[m>>1]=k;r[m+2>>1]=k>>>16;m=r[E>>1]|0;k=e+8522|0;g=r[k>>1]|0;l=l<<3;y=s[L>>2]|0;p=(65536/(l|0)|0)<<16>>16;_=((te(y-(m&65535)<<16>>16,p)|0)>>15)+1>>1;v=s[L+4>>2]|0;p=((te(v-(g&65535)<<16>>16,p)|0)>>15)+1>>1;b=0;m=m<<16>>16;g=g<<16>>16;while(1){if((b|0)>=(l|0))break;D=m+_|0;L=g+p|0;f=b+1|0;x=r[w+(f<<1)>>1]|0;z=(r[w+(b<<1)>>1]|0)+(r[w+(b+2<<1)>>1]|0)+(x<<1)|0;i=M+(f<<1)|0;H=D<<16>>16;O=L<<16>>16;O=((r[i>>1]<<8)+((te(z>>7,H)|0)+((te(z<<9&65024,H)|0)>>16))+((te(x>>5,O)|0)+((te(x<<11&63488,O)|0)>>16))>>7)+1>>1;r[i>>1]=(O|0)>32767?32767:((O|0)<-32768?-32768:O)&65535;b=f;m=D;g=L}p=y<<16>>16;b=v<<16>>16;while(1){if((l|0)>=(T|0))break;z=l+1|0;L=r[w+(z<<1)>>1]|0;D=(r[w+(l<<1)>>1]|0)+(r[w+(l+2<<1)>>1]|0)+(L<<1)|0;H=M+(z<<1)|0;L=((r[H>>1]<<8)+((te(D>>7,p)|0)+((te(D<<9&65024,p)|0)>>16))+((te(L>>5,b)|0)+((te(L<<11&63488,b)|0)>>16))>>7)+1>>1;r[H>>1]=(L|0)>32767?32767:((L|0)<-32768?-32768:L)&65535;l=z}r[E>>1]=y;r[k>>1]=v;l=0;while(1){if((l|0)>=(T|0)){_=A;g=T;break e}z=l+1|0;D=w+(z<<1)|0;i=r[D>>1]|0;H=M+(z<<1)|0;L=r[H>>1]|0;f=i+L|0;L=i-L|0;r[D>>1]=(f|0)>32767?32767:((f|0)<-32768?-32768:f)&65535;r[H>>1]=(L|0)>32767?32767:((L|0)<-32768?-32768:L)&65535;l=z}}else{_=e+8524|0;g=a[_>>1]|a[_+2>>1]<<16;r[w>>1]=g;r[w+2>>1]=g>>>16;g=s[D>>2]|0;w=s[j>>2]|0;z=w+(g<<1)|0;z=a[z>>1]|a[z+2>>1]<<16;r[_>>1]=z;r[_+2>>1]=z>>>16;_=e+2316|0}while(0);p=te(g,s[I>>2]|0)|0;p=(p|0)/((s[_>>2]<<16>>16)*1e3|0)|0;s[c>>2]=p;l=s[t>>2]|0;b=(l|0)==2;if(b){m=u;u=u+((1*((b?p:1)<<1)|0)+15&-16)|0}else m=h;if(R){z=s[e+2328>>2]|0;H=te(s[B>>2]|0,z+2|0)|0;w=u;u=u+((1*(H<<1)|0)+15&-16)|0;Sr(w|0,h|0,H<<1|0)|0;s[j>>2]=w;s[j+4>>2]=w+(z<<1)+4}b=0;while(1){p=s[B>>2]|0;if((b|0)>=(((l|0)<(p|0)?l:p)|0))break;zi(e+(b*4260|0)+2432|0,m,(s[j+(b<<2)>>2]|0)+2|0,g);l=s[t>>2]|0;if((l|0)==2){l=0;while(1){if((l|0)>=(s[c>>2]|0))break;r[h+(b+(l<<1)<<1)>>1]=r[m+(l<<1)>>1]|0;l=l+1|0}l=s[t>>2]|0}b=b+1|0}e:do if((l|0)==2&(p|0)==1){if(!U){l=0;while(1){if((l|0)>=(s[c>>2]|0))break e;z=l<<1;r[h+((z|1)<<1)>>1]=r[h+(z<<1)>>1]|0;l=l+1|0}}zi(e+6692|0,m,w+2|0,g);l=0;while(1){if((l|0)>=(s[c>>2]|0))break e;r[h+((l<<1|1)<<1)>>1]=r[m+(l<<1)>>1]|0;l=l+1|0}}while(0);if((s[e+4164>>2]|0)==2)l=te(s[e+2308>>2]|0,s[17364+((s[_>>2]|0)+-8>>2<<2)>>2]|0)|0;else l=0;s[t+20>>2]=l;e:do if(N){l=0;while(1){if((l|0)>=(s[F>>2]|0))break e;n[e+(l*4260|0)+2312>>0]=10;l=l+1|0}}else s[C>>2]=d;while(0);He(P|0);z=S;u=G;return z|0}function Oi(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,r=0,o=0;yr(e|0,0,20400)|0;n=0;r=0;while(1){if((n|0)==2)break;o=r+(Fi(e+(n*10156|0)|0,t)|0)|0;n=n+1|0;r=o}s[e+20376>>2]=1;o=e+20380|0;s[o>>2]=1;s[i>>2]=1;s[i+4>>2]=s[o>>2];s[i+8>>2]=s[e+4648>>2];s[i+12>>2]=s[e+4656>>2];s[i+16>>2]=s[e+4660>>2];s[i+20>>2]=s[e+4664>>2];s[i+24>>2]=s[e+4704>>2];s[i+28>>2]=s[e+4700>>2];s[i+32>>2]=s[e+4708>>2];s[i+36>>2]=s[e+4716>>2];s[i+40>>2]=s[e+6180>>2];s[i+48>>2]=s[e+6168>>2];s[i+52>>2]=s[e+4768>>2];o=e+4668|0;s[i+72>>2]=(s[o>>2]<<16>>16)*1e3;s[i+76>>2]=s[e+4628>>2];if((s[o>>2]|0)!=16){n=0;n=n&1;o=i+80|0;s[o>>2]=n;return r|0}n=(s[e+28>>2]|0)==0;n=n&1;o=i+80|0;s[o>>2]=n;return r|0}function Ni(e,t,i,l,f,h,c){e=e|0;t=t|0;i=i|0;l=l|0;f=f|0;h=h|0;c=c|0;var d=0,p=0,b=0,w=0,m=0,g=0,_=0,v=0,k=0,y=0,E=0,A=0,T=0,S=0,M=0,R=0,C=0,P=0,x=0,I=0,O=0,N=0,D=0,L=0,U=0,B=0,j=0,F=0,G=0,H=0,z=0,q=0,W=0,V=0,Y=0,Z=0,$=0,K=0,X=0,J=0,Q=0,ee=0,ie=0,re=0,se=0,oe=0,ae=0,le=0,fe=0,he=0,ue=0,ce=0,de=0,pe=0,be=0,we=0,me=0,ge=0,_e=0,ve=0,ke=0,ye=0,Ee=0,Ae=0,Te=0,Se=0,Me=0,Re=0,Ce=0,Pe=0,xe=0,Ie=0,Oe=0,De=0,Le=0,Ue=0,Be=0,je=0,Fe=0,Ge=0,ze=0,qe=0,We=0,Ve=0,Ye=0,Ze=0,$e=0,Ke=0,Xe=0,Je=0,Qe=0,et=0,tt=0,it=0,nt=0,rt=0,st=0,ot=0,at=0;at=u;u=u+16|0;st=at;if(s[t+68>>2]|0){s[e+4756>>2]=1;s[e+14912>>2]=1}nt=e+15996|0;s[nt>>2]=0;rt=e+5840|0;s[rt>>2]=0;B=t+8|0;p=s[B>>2]|0;e:do if((p|0)<24e3){if((p|0)<12e3){switch(p|0){case 8e3:break e;default:d=-102}u=at;return d|0}if((p|0)<16e3){switch(p|0){case 12e3:break e;default:d=-102}u=at;return d|0}else{switch(p|0){case 16e3:break e;default:d=-102}u=at;return d|0}}else if((p|0)<44100)if((p|0)<32e3){switch(p|0){case 24e3:break e;default:d=-102}u=at;return d|0}else{switch(p|0){case 32e3:break e;default:d=-102}u=at;return d|0}else if((p|0)<48e3){switch(p|0){case 44100:break e;default:d=-102}u=at;return d|0}else{switch(p|0){case 48e3:break e;default:d=-102}u=at;return d|0}while(0);U=t+20|0;p=s[U>>2]|0;e:do if((p|0)>=12e3)if((p|0)<16e3){switch(p|0){case 12e3:break e;default:d=-102}u=at;return d|0}else{switch(p|0){case 16e3:break e;default:d=-102}u=at;return d|0}else{switch(p|0){case 8e3:break e;default:d=-102}u=at;return d|0}while(0);D=t+12|0;b=s[D>>2]|0;e:do if((b|0)>=12e3)if((b|0)<16e3){switch(b|0){case 12e3:break e;default:d=-102}u=at;return d|0}else{switch(b|0){case 16e3:break e;default:d=-102}u=at;return d|0}else{switch(b|0){case 8e3:break e;default:d=-102}u=at;return d|0}while(0);L=t+16|0;w=s[L>>2]|0;e:do if((w|0)>=12e3)if((w|0)<16e3){switch(w|0){case 12e3:break e;default:d=-102}u=at;return d|0}else{switch(w|0){case 16e3:break e;default:d=-102}u=at;return d|0}else{switch(w|0){case 8e3:break e;default:d=-102}u=at;return d|0}while(0);if((w|0)>(p|0)|(b|0)<(p|0)|(w|0)>(b|0)){e=-102;u=at;return e|0}it=t+24|0;switch(s[it>>2]|0){case 60:case 40:case 20:case 10:break;default:{e=-103;u=at;return e|0}}I=t+32|0;if((s[I>>2]|0)>>>0>100){e=-105;u=at;return e|0}O=t+48|0;if((s[O>>2]|0)>>>0>1){e=-108;u=at;return e|0}et=t+52|0;if((s[et>>2]|0)>>>0>1){e=-109;u=at;return e|0}N=t+40|0;if((s[N>>2]|0)>>>0>1){e=-107;u=at;return e|0}p=s[t>>2]|0;if((p+-1|0)>>>0>1){e=-111;u=at;return e|0}ot=t+4|0;b=s[ot>>2]|0;if((b+-1|0)>>>0>1|(b|0)>(p|0)){e=-111;u=at;return e|0}tt=t+36|0;if((s[tt>>2]|0)>>>0>10){e=-106;u=at;return e|0}x=t+88|0;s[x>>2]=0;w=e+20380|0;if((b|0)>(s[w>>2]|0)){b=e+10156|0;p=Fi(b,s[e+5184>>2]|0)|0;s[e+20312>>2]=0;s[e+20320>>2]=0;s[e+20324>>2]=0;s[e+20328>>2]=1;s[e+20332>>2]=0;s[e+20336>>2]=1;r[e+20342>>1]=0;r[e+20340>>1]=16384;if((s[e+20376>>2]|0)==2){Sr(e+16024|0,e+5868|0,300)|0;Ke=e;Xe=s[Ke+4>>2]|0;Je=b;s[Je>>2]=s[Ke>>2];s[Je+4>>2]=Xe}}else p=0;if((s[it>>2]|0)==(s[e+4704>>2]|0))P=(s[w>>2]|0)!=(s[ot>>2]|0);else P=1;s[e+20376>>2]=s[t>>2];s[w>>2]=s[ot>>2];b=l*100|0;w=s[B>>2]|0;C=(b|0)/(w|0)|0;Xe=(C|0)>1?C>>1:1;Je=(c|0)==0;e:do if(Je){if((te(C,w)|0)!=(b|0)|(l|0)<0){e=-101;u=at;return e|0}if((l*1e3|0)>(te(s[it>>2]|0,w)|0)){e=-101;u=at;return e|0}else{Ke=e;c=0;m=0;break}}else{if((C|0)!=1){e=-101;u=at;return e|0}b=0;while(1){w=s[ot>>2]|0;if((b|0)>=(w|0))break;p=Fi(e+(b*10156|0)|0,s[e+(b*10156|0)+5184>>2]|0)|0;b=b+1|0}m=s[it>>2]|0;s[it>>2]=10;c=s[tt>>2]|0;s[tt>>2]=0;b=0;while(1){if((b|0)>=(w|0)){Ke=e;break e}s[e+(b*10156|0)+4760>>2]=0;s[e+(b*10156|0)+4772>>2]=1;w=s[ot>>2]|0;b=b+1|0}}while(0);$e=e+4668|0;Ve=e+20392|0;S=t+44|0;M=t+64|0;Ye=t+56|0;Ze=e+5836|0;R=0;while(1){if((R|0)>=(s[ot>>2]|0))break;if((R|0)==1)k=s[$e>>2]|0;else k=0;y=Ke+(R*10156|0)|0;_=s[Ve>>2]|0;T=Ke+(R*10156|0)+6168|0;s[T>>2]=s[O>>2];s[Ke+(R*10156|0)+4768>>2]=s[et>>2];p=s[B>>2]|0;s[Ke+(R*10156|0)+4648>>2]=p;b=s[D>>2]|0;s[Ke+(R*10156|0)+4656>>2]=b;w=s[L>>2]|0;s[Ke+(R*10156|0)+4660>>2]=w;v=s[U>>2]|0;s[Ke+(R*10156|0)+4664>>2]=v;s[Ke+(R*10156|0)+6180>>2]=s[N>>2];s[Ke+(R*10156|0)+5844>>2]=s[t>>2];s[Ke+(R*10156|0)+5848>>2]=s[ot>>2];s[Ke+(R*10156|0)+4628>>2]=_;s[Ke+(R*10156|0)+5852>>2]=R;A=Ke+(R*10156|0)+4760|0;do if(!(s[A>>2]|0))Qe=41;else{if(s[Ke+(R*10156|0)+4772>>2]|0){Qe=41;break}if((p|0)==(s[Ke+(R*10156|0)+4652>>2]|0))break;p=s[Ke+(R*10156|0)+4668>>2]|0;if((p|0)<=0)break;d=Gi(y,p)|0;Qe=110}while(0);if((Qe|0)==41){Qe=0;E=Ke+(R*10156|0)+4668|0;d=s[E>>2]|0;We=d<<16>>16;g=We*1e3|0;do if(We){if((g|0)>(p|0)|(g|0)>(b|0)|(g|0)<(w|0)){d=(p|0)<(b|0)?p:b;d=(((d|0)>(w|0)?d:w)|0)/1e3|0;break}w=Ke+(R*10156|0)+24|0;p=s[w>>2]|0;if((p|0)>255)s[Ke+(R*10156|0)+28>>2]=0;if((_|0)==0?(s[M>>2]|0)==0:0)break;if((g|0)>(v|0)){b=Ke+(R*10156|0)+28|0;if(!(s[b>>2]|0)){s[w>>2]=256;p=Ke+(R*10156|0)+16|0;s[p>>2]=0;s[p+4>>2]=0;p=256}if(s[M>>2]|0){s[b>>2]=0;d=(d|0)==16?12:8;break}if((p|0)<1){s[x>>2]=1;We=s[Ye>>2]|0;s[Ye>>2]=We-((We*5|0)/((s[it>>2]|0)+5|0)|0);break}else{s[b>>2]=-2;break}}if((g|0)>=(v|0)){p=Ke+(R*10156|0)+28|0;if((s[p>>2]|0)>=0)break;s[p>>2]=1;break}if(s[M>>2]|0){s[w>>2]=0;We=Ke+(R*10156|0)+16|0;s[We>>2]=0;s[We+4>>2]=0;s[Ke+(R*10156|0)+28>>2]=1;d=(d|0)==8?12:16;break}p=Ke+(R*10156|0)+28|0;if(!(s[p>>2]|0)){s[x>>2]=1;We=s[Ye>>2]|0;s[Ye>>2]=We-((We*5|0)/((s[it>>2]|0)+5|0)|0);break}else{s[p>>2]=1;break}}else d=(((v|0)<(p|0)?v:p)|0)/1e3|0;while(0);_=(k|0)==0?d:k;v=Gi(y,_)|0;w=s[it>>2]|0;g=Ke+(R*10156|0)+4704|0;if((s[g>>2]|0)==(w|0)){d=s[E>>2]|0;w=0}else{d=(w|0)==10;e:do if(!d){switch(w|0){case 60:case 40:case 20:{b=0;break}default:if((w|0)<11){b=-103;Qe=70;break e}else b=-103}s[Ke+(R*10156|0)+5836>>2]=(w|0)/20|0;s[Ke+(R*10156|0)+4672>>2]=4;d=_<<16>>16;s[Ke+(R*10156|0)+4676>>2]=d*20;s[Ke+(R*10156|0)+4640>>2]=d*24;d=s[E>>2]|0;p=Ke+(R*10156|0)+4780|0;if((d|0)==8){s[p>>2]=30064;d=8;p=b;break}else{s[p>>2]=30030;p=b;break}}else{b=0;Qe=70}while(0);do if((Qe|0)==70){Qe=0;s[Ke+(R*10156|0)+5836>>2]=1;s[Ke+(R*10156|0)+4672>>2]=d?2:1;d=_<<16>>16;s[Ke+(R*10156|0)+4676>>2]=te(w<<16>>16,d)|0;s[Ke+(R*10156|0)+4640>>2]=d*14;d=s[E>>2]|0;p=Ke+(R*10156|0)+4780|0;if((d|0)==8){s[p>>2]=30087;d=8;p=b;break}else{s[p>>2]=30075;p=b;break}}while(0);s[g>>2]=w;s[Ke+(R*10156|0)+4700>>2]=0;w=p}e:do if((d|0)!=(_|0)){d=Ke+(R*10156|0)+7260|0;s[d>>2]=0;s[d+4>>2]=0;s[d+8>>2]=0;p=Ke+(R*10156|0)+16|0;s[p>>2]=0;s[p+4>>2]=0;s[Ke+(R*10156|0)+5832>>2]=0;s[Ke+(R*10156|0)+5840>>2]=0;s[Ke+(R*10156|0)+4700>>2]=0;yr(Ke+(R*10156|0)+144|0,0,4480)|0;s[Ke+(R*10156|0)+4636>>2]=100;s[Ke+(R*10156|0)+4756>>2]=1;n[d>>0]=10;s[Ke+(R*10156|0)+4568>>2]=100;s[Ke+(R*10156|0)+4584>>2]=65536;n[Ke+(R*10156|0)+4633>>0]=0;s[E>>2]=_;d=s[Ke+(R*10156|0)+4672>>2]|0;p=(d|0)==4;b=Ke+(R*10156|0)+4780|0;t:do if((_|0)==8)if(p){s[b>>2]=30064;d=4;Qe=86;break}else{s[b>>2]=30087;Qe=86;break}else{if(p){s[b>>2]=30030;d=4}else s[b>>2]=30075;switch(_|0){case 8:case 12:{Qe=86;break t}default:{}}s[Ke+(R*10156|0)+4732>>2]=16;s[Ke+(R*10156|0)+4784>>2]=22936}while(0);if((Qe|0)==86){s[Ke+(R*10156|0)+4732>>2]=10;s[Ke+(R*10156|0)+4784>>2]=22896}s[Ke+(R*10156|0)+4680>>2]=_*5;s[Ke+(R*10156|0)+4676>>2]=te(_*327680>>16,d<<16>>16)|0;We=_<<16;Qe=We>>16;s[Ke+(R*10156|0)+4684>>2]=Qe*20;s[Ke+(R*10156|0)+4688>>2]=We>>15;s[Ke+(R*10156|0)+4644>>2]=Qe*18;s[Ke+(R*10156|0)+4640>>2]=te(Qe,(d|0)==4?24:14)|0;switch(_|0){case 16:{s[Ke+(R*10156|0)+4776>>2]=29962;_=16;break e}case 12:{s[Ke+(R*10156|0)+4776>>2]=29956;_=12;break e}default:{s[Ke+(R*10156|0)+4776>>2]=29947;break e}}}while(0);d=v+w|0;g=s[tt>>2]|0;do if((g|0)>=1){if((g|0)<2){s[Ke+(R*10156|0)+4736>>2]=1;s[Ke+(R*10156|0)+4744>>2]=49807;p=Ke+(R*10156|0)+4740|0;s[p>>2]=8;s[Ke+(R*10156|0)+4728>>2]=14;w=_*5|0;s[Ke+(R*10156|0)+4692>>2]=w;s[Ke+(R*10156|0)+4720>>2]=1;s[Ke+(R*10156|0)+4724>>2]=0;s[Ke+(R*10156|0)+4752>>2]=3;s[Ke+(R*10156|0)+4764>>2]=0;b=8;break}if((g|0)<3){s[Ke+(R*10156|0)+4736>>2]=0;s[Ke+(R*10156|0)+4744>>2]=52429;p=Ke+(R*10156|0)+4740|0;s[p>>2]=6;s[Ke+(R*10156|0)+4728>>2]=12;w=_*3|0;s[Ke+(R*10156|0)+4692>>2]=w;s[Ke+(R*10156|0)+4720>>2]=2;s[Ke+(R*10156|0)+4724>>2]=0;s[Ke+(R*10156|0)+4752>>2]=2;s[Ke+(R*10156|0)+4764>>2]=0;b=6;break}if((g|0)<4){s[Ke+(R*10156|0)+4736>>2]=1;s[Ke+(R*10156|0)+4744>>2]=49807;p=Ke+(R*10156|0)+4740|0;s[p>>2]=8;s[Ke+(R*10156|0)+4728>>2]=14;w=_*5|0;s[Ke+(R*10156|0)+4692>>2]=w;s[Ke+(R*10156|0)+4720>>2]=2;s[Ke+(R*10156|0)+4724>>2]=0;s[Ke+(R*10156|0)+4752>>2]=4;s[Ke+(R*10156|0)+4764>>2]=0;b=8;break}if((g|0)<6){s[Ke+(R*10156|0)+4736>>2]=1;s[Ke+(R*10156|0)+4744>>2]=48497;p=Ke+(R*10156|0)+4740|0;s[p>>2]=10;s[Ke+(R*10156|0)+4728>>2]=16;w=_*5|0;s[Ke+(R*10156|0)+4692>>2]=w;s[Ke+(R*10156|0)+4720>>2]=2;s[Ke+(R*10156|0)+4724>>2]=1;s[Ke+(R*10156|0)+4752>>2]=6;s[Ke+(R*10156|0)+4764>>2]=_*983;b=10;break}p=Ke+(R*10156|0)+4736|0;if((g|0)<8){s[p>>2]=1;s[Ke+(R*10156|0)+4744>>2]=47186;p=Ke+(R*10156|0)+4740|0;s[p>>2]=12;s[Ke+(R*10156|0)+4728>>2]=20;w=_*5|0;s[Ke+(R*10156|0)+4692>>2]=w;s[Ke+(R*10156|0)+4720>>2]=3;s[Ke+(R*10156|0)+4724>>2]=1;s[Ke+(R*10156|0)+4752>>2]=8;s[Ke+(R*10156|0)+4764>>2]=_*983;b=12;break}else{s[p>>2]=2;s[Ke+(R*10156|0)+4744>>2]=45875;p=Ke+(R*10156|0)+4740|0;s[p>>2]=16;s[Ke+(R*10156|0)+4728>>2]=24;w=_*5|0;s[Ke+(R*10156|0)+4692>>2]=w;s[Ke+(R*10156|0)+4720>>2]=4;s[Ke+(R*10156|0)+4724>>2]=1;s[Ke+(R*10156|0)+4752>>2]=16;s[Ke+(R*10156|0)+4764>>2]=_*983;b=16;break}}else{s[Ke+(R*10156|0)+4736>>2]=0;s[Ke+(R*10156|0)+4744>>2]=52429;p=Ke+(R*10156|0)+4740|0;s[p>>2]=6;s[Ke+(R*10156|0)+4728>>2]=12;w=_*3|0;s[Ke+(R*10156|0)+4692>>2]=w;s[Ke+(R*10156|0)+4720>>2]=1;s[Ke+(R*10156|0)+4724>>2]=0;s[Ke+(R*10156|0)+4752>>2]=2;s[Ke+(R*10156|0)+4764>>2]=0;b=6}while(0);We=s[Ke+(R*10156|0)+4732>>2]|0;s[p>>2]=(b|0)<(We|0)?b:We;s[Ke+(R*10156|0)+4696>>2]=(_*5|0)+(w<<1);s[Ke+(R*10156|0)+4716>>2]=g;p=s[I>>2]|0;s[Ke+(R*10156|0)+4708>>2]=p;We=Ke+(R*10156|0)+6184|0;b=s[We>>2]|0;Qe=s[S>>2]|0;s[We>>2]=Qe;do if(Qe|0)if(!b){s[Ke+(R*10156|0)+6188>>2]=7;break}else{Qe=7-(((p>>16)*26214|0)+(((p&65535)*26214|0)>>>16))|0;s[Ke+(R*10156|0)+6188>>2]=(Qe|0)>2?Qe:2;break}while(0);s[A>>2]=1;Qe=110}if((Qe|0)==110?(Qe=0,d|0):0){Qe=439;break}e:do if((s[Ke+(R*10156|0)+4756>>2]|0)!=0|P){p=0;while(1){if((p|0)>=(s[Ze>>2]|0))break e;s[Ke+(R*10156|0)+4816+(p<<2)>>2]=0;p=p+1|0}}while(0);s[Ke+(R*10156|0)+6172>>2]=s[T>>2];R=R+1|0;p=0}if((Qe|0)==439){u=at;return d|0}I=C*10|0;L=s[$e>>2]|0;O=te(I,L)|0;N=e+4648|0;L=(te(O,s[N>>2]|0)|0)/(L*1e3|0)|0;qe=Ne()|0;D=u;u=u+((1*(L<<1)|0)+15&-16)|0;L=e+4676|0;U=e+5832|0;Ge=e+20384|0;B=e+16024|0;j=e+5868|0;F=e+5188|0;G=e+14832|0;H=e+15988|0;z=e+14824|0;q=e+15344|0;W=f+28|0;V=f+32|0;Y=f+36|0;Z=f+20|0;$=f+40|0;K=f+24|0;X=f+8|0;J=f+4|0;Q=f+44|0;ee=e+20346|0;ie=e+14972|0;re=e+20364|0;se=e+20368|0;oe=e+4633|0;ae=e+4636|0;le=e+4788|0;fe=e+8|0;he=e+4624|0;ue=t+28|0;ce=e+20372|0;de=e+20312|0;pe=e+5192|0;be=e+15348|0;ze=t+60|0;we=e+20396|0;me=e+17416|0;ge=e+10300|0;_e=e+10172|0;ve=e+14792|0;ke=e+14724|0;ye=e+14789|0;Ee=e+14740|0;Ae=e+14912|0;Te=e+10156|0;Se=e+15346|0;Me=e+14780|0;Re=e+15013|0;Ce=e+16332|0;Pe=e+16328|0;xe=e+14968|0;Ie=e+5190|0;We=e+4857|0;Oe=e+6176|0;De=e+6172|0;Le=st+4|0;Ue=Xe<<1;Be=Xe+-1|0;je=e+20388|0;Fe=e+20316|0;_=i;x=0;while(1){w=s[U>>2]|0;g=(s[L>>2]|0)-w|0;g=(g|0)<(O|0)?g:O;P=te(g,s[N>>2]|0)|0;P=(P|0)/((s[$e>>2]|0)*1e3|0)|0;do if((s[t>>2]|0)==2)if((s[ot>>2]|0)==2){d=s[rt>>2]|0;b=0;while(1){if((b|0)>=(P|0))break;r[D+(b<<1)>>1]=r[_+(b<<1<<1)>>1]|0;b=b+1|0}if((s[Ge>>2]|0)==1&(d|0)==0)Sr(B|0,j|0,300)|0;zi(j,F+(w+2<<1)|0,D,P);s[U>>2]=(s[U>>2]|0)+g;b=s[H>>2]|0;w=(s[G>>2]|0)-b|0;d=te(I,s[z>>2]|0)|0;d=(w|0)<(d|0)?w:d;w=0;while(1){if((w|0)>=(P|0))break;r[D+(w<<1)>>1]=r[_+((w<<1|1)<<1)>>1]|0;w=w+1|0}zi(B,q+(b+2<<1)|0,D,P);s[H>>2]=(s[H>>2]|0)+d;d=s[U>>2]|0;break}else{if((s[ot>>2]|0)==1)d=0;else{Qe=136;break}while(1){if((d|0)>=(P|0))break;i=d<<1;i=(r[_+(i<<1)>>1]|0)+(r[_+((i|1)<<1)>>1]|0)|0;r[D+(d<<1)>>1]=(i>>>1)+(i&1);d=d+1|0}zi(j,F+(w+2<<1)|0,D,P);e:do if((s[Ge>>2]|0)==2){if(s[rt>>2]|0)break;zi(B,q+((s[H>>2]|0)+2<<1)|0,D,P);d=0;while(1){if((d|0)>=(s[L>>2]|0))break e;i=F+((s[U>>2]|0)+d+2<<1)|0;r[i>>1]=((r[i>>1]|0)+(r[q+((s[H>>2]|0)+d+2<<1)>>1]|0)|0)>>>1;d=d+1|0}}while(0);d=(s[U>>2]|0)+g|0;s[U>>2]=d;break}else Qe=136;while(0);if((Qe|0)==136){Qe=0;Sr(D|0,_|0,P<<1|0)|0;zi(j,F+(w+2<<1)|0,D,P);d=(s[U>>2]|0)+g|0;s[U>>2]=d}R=_+((te(P,s[t>>2]|0)|0)<<1)|0;C=l-P|0;s[Ve>>2]=0;if((d|0)<(s[L>>2]|0)){d=0;break}if(!((s[rt>>2]|0)!=0|Je^1)){d=256>>>(te((s[Ze>>2]|0)+1|0,s[ot>>2]|0)|0);i=s[W>>2]|0;d=i-(te(i>>>8,0-d&255)|0)|0;s[W>>2]=d;while(1){if(d>>>0>=8388609){v=0;break}b=s[V>>2]|0;g=b>>>23;if((g|0)==255)s[Y>>2]=(s[Y>>2]|0)+1;else{w=b>>>31;d=s[$>>2]|0;if((d|0)>-1){b=s[K>>2]|0;if((b+(s[X>>2]|0)|0)>>>0<(s[J>>2]|0)>>>0){s[K>>2]=b+1;n[(s[f>>2]|0)+b>>0]=d+w;d=0}else d=-1;s[Q>>2]=s[Q>>2]|d}d=s[Y>>2]|0;if(d|0){w=w+255&255;do{b=s[K>>2]|0;if((b+(s[X>>2]|0)|0)>>>0<(s[J>>2]|0)>>>0){s[K>>2]=b+1;n[(s[f>>2]|0)+b>>0]=w;b=0;d=s[Y>>2]|0}else b=-1;s[Q>>2]=s[Q>>2]|b;d=d+-1|0;s[Y>>2]=d}while((d|0)!=0)}s[$>>2]=g&255;b=s[V>>2]|0;d=s[W>>2]|0}s[V>>2]=b<<8&2147483392;d=d<<8;s[W>>2]=d;s[Z>>2]=(s[Z>>2]|0)+8}while(1){d=s[ot>>2]|0;if((v|0)>=(d|0)){M=0;break}b=s[Ke+(v*10156|0)+5836>>2]|0;_=0;d=0;while(1){if((d|0)>=(b|0))break;_=_|s[Ke+(v*10156|0)+4816+(d<<2)>>2]<<d;d=d+1|0}n[Ke+(v*10156|0)+4815>>0]=(_|0)>0&1;e:do if((_|0)!=0&(b|0)>1){g=_+-1|0;d=s[17520+(b+-2<<2)>>2]|0;b=s[W>>2]|0;w=b>>>8;if((_|0)>1){i=d+(_+-2)|0;M=b-(te(w,o[i>>0]|0)|0)|0;s[V>>2]=(s[V>>2]|0)+M;d=te(w,(o[i>>0]|0)-(o[d+g>>0]|0)|0)|0}else d=b-(te(w,o[d+g>>0]|0)|0)|0;s[W>>2]=d;while(1){if(d>>>0>=8388609)break e;b=s[V>>2]|0;g=b>>>23;if((g|0)==255)s[Y>>2]=(s[Y>>2]|0)+1;else{w=b>>>31;d=s[$>>2]|0;if((d|0)>-1){b=s[K>>2]|0;if((b+(s[X>>2]|0)|0)>>>0<(s[J>>2]|0)>>>0){s[K>>2]=b+1;n[(s[f>>2]|0)+b>>0]=d+w;d=0}else d=-1;s[Q>>2]=s[Q>>2]|d}d=s[Y>>2]|0;if(d|0){w=w+255&255;do{b=s[K>>2]|0;if((b+(s[X>>2]|0)|0)>>>0<(s[J>>2]|0)>>>0){s[K>>2]=b+1;n[(s[f>>2]|0)+b>>0]=w;b=0;d=s[Y>>2]|0}else b=-1;s[Q>>2]=s[Q>>2]|b;d=d+-1|0;s[Y>>2]=d}while((d|0)!=0)}s[$>>2]=g&255;b=s[V>>2]|0;d=s[W>>2]|0}s[V>>2]=b<<8&2147483392;d=d<<8;s[W>>2]=d;s[Z>>2]=(s[Z>>2]|0)+8}}while(0);v=v+1|0}while(1){if((M|0)>=(s[Ze>>2]|0)){b=0;break}k=ee+(M*6|0)+2|0;y=ee+(M*6|0)+5|0;E=ie+(M<<2)|0;A=re+M|0;T=(M|0)>0;S=M+-1|0;v=0;while(1){if((v|0)>=(d|0))break;if(s[Ke+(v*10156|0)+4816+(M<<2)>>2]|0){e:do if((d|0)==2&(v|0)==0){d=((n[k>>0]|0)*5|0)+(n[y>>0]|0)|0;b=s[W>>2]|0;w=b>>>8;if((d|0)>0){i=o[29891+(d+-1)>>0]|0;_=b-(te(w,i)|0)|0;s[V>>2]=(s[V>>2]|0)+_;d=te(w,i-(o[29891+d>>0]|0)|0)|0}else d=b-(te(w,o[29891+d>>0]|0)|0)|0;s[W>>2]=d;while(1){if(d>>>0>=8388609){_=0;break}b=s[V>>2]|0;g=b>>>23;if((g|0)==255)s[Y>>2]=(s[Y>>2]|0)+1;else{w=b>>>31;d=s[$>>2]|0;if((d|0)>-1){b=s[K>>2]|0;if((b+(s[X>>2]|0)|0)>>>0<(s[J>>2]|0)>>>0){s[K>>2]=b+1;n[(s[f>>2]|0)+b>>0]=d+w;d=0}else d=-1;s[Q>>2]=s[Q>>2]|d}d=s[Y>>2]|0;if(d|0){w=w+255&255;do{b=s[K>>2]|0;if((b+(s[X>>2]|0)|0)>>>0<(s[J>>2]|0)>>>0){s[K>>2]=b+1;n[(s[f>>2]|0)+b>>0]=w;b=0;d=s[Y>>2]|0}else b=-1;s[Q>>2]=s[Q>>2]|b;d=d+-1|0;s[Y>>2]=d}while((d|0)!=0)}s[$>>2]=g&255;b=s[V>>2]|0;d=s[W>>2]|0}s[V>>2]=b<<8&2147483392;d=d<<8;s[W>>2]=d;s[Z>>2]=(s[Z>>2]|0)+8}while(1){if((_|0)==2)break;i=n[ee+(M*6|0)+(_*3|0)>>0]|0;b=i<<24>>24;w=d>>>8;if(i<<24>>24>0){i=o[29944+(b+-1)>>0]|0;d=d-(te(w,i)|0)|0;s[V>>2]=(s[V>>2]|0)+d;d=te(w,i-(o[29944+b>>0]|0)|0)|0}else d=d-(te(w,o[29944+b>>0]|0)|0)|0;s[W>>2]=d;while(1){if(d>>>0>=8388609)break;b=s[V>>2]|0;g=b>>>23;if((g|0)==255)s[Y>>2]=(s[Y>>2]|0)+1;else{w=b>>>31;d=s[$>>2]|0;if((d|0)>-1){b=s[K>>2]|0;if((b+(s[X>>2]|0)|0)>>>0<(s[J>>2]|0)>>>0){s[K>>2]=b+1;n[(s[f>>2]|0)+b>>0]=d+w;d=0}else d=-1;s[Q>>2]=s[Q>>2]|d}d=s[Y>>2]|0;if(d|0){w=w+255&255;do{b=s[K>>2]|0;if((b+(s[X>>2]|0)|0)>>>0<(s[J>>2]|0)>>>0){s[K>>2]=b+1;n[(s[f>>2]|0)+b>>0]=w;b=0;d=s[Y>>2]|0}else b=-1;s[Q>>2]=s[Q>>2]|b;d=d+-1|0;s[Y>>2]=d}while((d|0)!=0)}s[$>>2]=g&255;b=s[V>>2]|0;d=s[W>>2]|0}s[V>>2]=b<<8&2147483392;d=d<<8;s[W>>2]=d;s[Z>>2]=(s[Z>>2]|0)+8}i=n[ee+(M*6|0)+(_*3|0)+1>>0]|0;b=i<<24>>24;w=d>>>8;if(i<<24>>24>0){i=o[29951+(b+-1)>>0]|0;d=d-(te(w,i)|0)|0;s[V>>2]=(s[V>>2]|0)+d;d=te(w,i-(o[29951+b>>0]|0)|0)|0}else d=d-(te(w,o[29951+b>>0]|0)|0)|0;s[W>>2]=d;while(1){if(d>>>0>=8388609)break;b=s[V>>2]|0;g=b>>>23;if((g|0)==255)s[Y>>2]=(s[Y>>2]|0)+1;else{w=b>>>31;d=s[$>>2]|0;if((d|0)>-1){b=s[K>>2]|0;if((b+(s[X>>2]|0)|0)>>>0<(s[J>>2]|0)>>>0){s[K>>2]=b+1;n[(s[f>>2]|0)+b>>0]=d+w;d=0}else d=-1;s[Q>>2]=s[Q>>2]|d}d=s[Y>>2]|0;if(d|0){w=w+255&255;do{b=s[K>>2]|0;if((b+(s[X>>2]|0)|0)>>>0<(s[J>>2]|0)>>>0){s[K>>2]=b+1;n[(s[f>>2]|0)+b>>0]=w;b=0;d=s[Y>>2]|0}else b=-1;s[Q>>2]=s[Q>>2]|b;d=d+-1|0;s[Y>>2]=d}while((d|0)!=0)}s[$>>2]=g&255;b=s[V>>2]|0;d=s[W>>2]|0}s[V>>2]=b<<8&2147483392;d=d<<8;s[W>>2]=d;s[Z>>2]=(s[Z>>2]|0)+8}_=_+1|0}if(s[E>>2]|0)break;i=n[A>>0]|0;b=i<<24>>24;w=d>>>8;if(i<<24>>24>0){i=o[29916+(b+-1)>>0]|0;d=d-(te(w,i)|0)|0;s[V>>2]=(s[V>>2]|0)+d;d=te(w,i-(o[29916+b>>0]|0)|0)|0}else d=d-(te(w,o[29916+b>>0]|0)|0)|0;s[W>>2]=d;while(1){if(d>>>0>=8388609)break e;b=s[V>>2]|0;g=b>>>23;if((g|0)==255)s[Y>>2]=(s[Y>>2]|0)+1;else{w=b>>>31;b=s[$>>2]|0;if((b|0)>-1){d=s[K>>2]|0;if((d+(s[X>>2]|0)|0)>>>0<(s[J>>2]|0)>>>0){s[K>>2]=d+1;n[(s[f>>2]|0)+d>>0]=b+w;d=0}else d=-1;s[Q>>2]=s[Q>>2]|d}d=s[Y>>2]|0;if(d|0){w=w+255&255;do{b=s[K>>2]|0;if((b+(s[X>>2]|0)|0)>>>0<(s[J>>2]|0)>>>0){s[K>>2]=b+1;n[(s[f>>2]|0)+b>>0]=w;b=0;d=s[Y>>2]|0}else b=-1;s[Q>>2]=s[Q>>2]|b;d=d+-1|0;s[Y>>2]=d}while((d|0)!=0)}s[$>>2]=g&255;b=s[V>>2]|0;d=s[W>>2]|0}s[V>>2]=b<<8&2147483392;d=d<<8;s[W>>2]=d;s[Z>>2]=(s[Z>>2]|0)+8}}while(0);if(T?(s[Ke+(v*10156|0)+4816+(S<<2)>>2]|0)!=0:0)d=2;else d=0;Di(Ke+(v*10156|0)|0,f,M,1,d);Li(f,n[Ke+(v*10156|0)+6192+(M*36|0)+29>>0]|0,n[Ke+(v*10156|0)+6192+(M*36|0)+30>>0]|0,Ke+(v*10156|0)+6300+(M*320|0)|0,s[Ke+(v*10156|0)+4676>>2]|0);d=s[ot>>2]|0}v=v+1|0}M=M+1|0}while(1){if((b|0)>=(d|0))break;d=Ke+(b*10156|0)+4816|0;s[d>>2]=0;s[d+4>>2]=0;s[d+8>>2]=0;d=s[ot>>2]|0;b=b+1|0}s[se>>2]=(s[Z>>2]|0)+((ne(s[W>>2]|0)|0)+-32)}if((n[oe>>0]|0)==2){d=te(s[$e>>2]|0,65536e3)|0;d=(d|0)/(s[ae>>2]|0)|0;g=ne(d|0)|0;b=24-g|0;w=0-b|0;do if(b)if((b|0)<0){d=d<<w|d>>>(b+32|0);break}else{d=d<<32-b|d>>>b;break}while(0);T=d&127;T=T+(((te(T,128-T|0)|0)*179|0)>>>16)+(31-g<<7)|0;M=s[le>>2]|0;i=0-M<<2;M=M<<16>>16;S=te(i>>16,M)|0;M=te(i&65532,M)|0;i=(T<<16)+-183762944>>16;i=T+-2048+((te(S+(M>>16)>>16,i)|0)+((te(S+(M>>>16)&65535,i)|0)>>16))|0;M=s[fe>>2]|0;i=i-(M>>8)|0;i=(i|0)<0?i*3|0:i;i=te(s[he>>2]<<16>>16,(i|0)>51?51:((i|0)<-51?-51:i)<<16>>16)|0;i=M+(((i>>16)*6554|0)+(((i&65535)*6554|0)>>>16))|0;s[fe>>2]=(i|0)>217856?217856:(i|0)<193536?193536:i}g=s[ue>>2]|0;b=s[it>>2]|0;d=(te(g,b)|0)/1e3|0;if(Je)d=d-(s[se>>2]|0)|0;w=(d|0)/(s[Ze>>2]|0)|0;d=te(w<<16>>16,(b|0)==10?100:50)|0;d=d-(s[ce>>2]<<1)|0;do if(Je){b=s[rt>>2]|0;if((b|0)<=0)break;i=(s[Z>>2]|0)+((ne(s[W>>2]|0)|0)+-32)|0;d=d-(i-(s[se>>2]|0)-(te(w,b)|0)<<1)|0}while(0);do if((g|0)>5e3){if((d|0)>(g|0))break;g=(d|0)<5e3?5e3:d}else{if((d|0)>5e3){g=5e3;break}g=(d|0)<(g|0)?g:d}while(0);e:do if((s[ot>>2]|0)==2){d=s[rt>>2]|0;Bi(de,pe,be,ee+(d*6|0)|0,re+d|0,st,g,s[he>>2]|0,s[ze>>2]|0,s[$e>>2]|0,s[L>>2]|0);d=s[rt>>2]|0;do if(!(n[re+d>>0]|0)){if((s[we>>2]|0)==1){s[me>>2]=0;s[me+4>>2]=0;s[me+8>>2]=0;i=_e;s[i>>2]=0;s[i+4>>2]=0;yr(ge|0,0,4480)|0;s[ve>>2]=100;s[ke>>2]=100;n[me>>0]=10;n[ye>>0]=0;s[Ee>>2]=65536;s[Ae>>2]=1}An(Te,Se);if((s[Me>>2]|0)>=13){s[Ce>>2]=0;s[Pe>>2]=0;n[Re>>0]=1;n[(s[nt>>2]|0)+(Te+4812)>>0]=1;break}n[Re>>0]=0;d=s[Ce>>2]|0;i=d+1|0;s[Ce>>2]=i;do if((i|0)<10)s[Pe>>2]=0;else{if((d|0)<=29)break;s[Ce>>2]=10;s[Pe>>2]=0}while(0);n[(s[nt>>2]|0)+(Te+4812)>>0]=0}else n[xe+d>>0]=0;while(0);if(!Je)break;k=s[rt>>2]|0;d=((n[ee+(k*6|0)+2>>0]|0)*5|0)+(n[ee+(k*6|0)+5>>0]|0)|0;b=s[W>>2]|0;w=b>>>8;if((d|0)>0){i=o[29891+(d+-1)>>0]|0;M=b-(te(w,i)|0)|0;s[V>>2]=(s[V>>2]|0)+M;d=te(w,i-(o[29891+d>>0]|0)|0)|0}else d=b-(te(w,o[29891+d>>0]|0)|0)|0;s[W>>2]=d;while(1){if(d>>>0>=8388609){w=d;v=0;break}b=s[V>>2]|0;_=b>>>23;if((_|0)==255)s[Y>>2]=(s[Y>>2]|0)+1;else{w=b>>>31;d=s[$>>2]|0;if((d|0)>-1){b=s[K>>2]|0;if((b+(s[X>>2]|0)|0)>>>0<(s[J>>2]|0)>>>0){s[K>>2]=b+1;n[(s[f>>2]|0)+b>>0]=d+w;d=0}else d=-1;s[Q>>2]=s[Q>>2]|d}d=s[Y>>2]|0;if(d|0){w=w+255&255;do{b=s[K>>2]|0;if((b+(s[X>>2]|0)|0)>>>0<(s[J>>2]|0)>>>0){s[K>>2]=b+1;n[(s[f>>2]|0)+b>>0]=w;b=0;d=s[Y>>2]|0}else b=-1;s[Q>>2]=s[Q>>2]|b;d=d+-1|0;s[Y>>2]=d}while((d|0)!=0)}s[$>>2]=_&255;b=s[V>>2]|0;d=s[W>>2]|0}s[V>>2]=b<<8&2147483392;d=d<<8;s[W>>2]=d;s[Z>>2]=(s[Z>>2]|0)+8}while(1){if((v|0)==2)break;i=n[ee+(k*6|0)+(v*3|0)>>0]|0;d=i<<24>>24;b=w>>>8;if(i<<24>>24>0){i=o[29944+(d+-1)>>0]|0;M=w-(te(b,i)|0)|0;s[V>>2]=(s[V>>2]|0)+M;d=te(b,i-(o[29944+d>>0]|0)|0)|0}else d=w-(te(b,o[29944+d>>0]|0)|0)|0;s[W>>2]=d;while(1){if(d>>>0>=8388609)break;b=s[V>>2]|0;_=b>>>23;if((_|0)==255)s[Y>>2]=(s[Y>>2]|0)+1;else{w=b>>>31;d=s[$>>2]|0;if((d|0)>-1){b=s[K>>2]|0;if((b+(s[X>>2]|0)|0)>>>0<(s[J>>2]|0)>>>0){s[K>>2]=b+1;n[(s[f>>2]|0)+b>>0]=d+w;d=0}else d=-1;s[Q>>2]=s[Q>>2]|d}d=s[Y>>2]|0;if(d|0){w=w+255&255;do{b=s[K>>2]|0;if((b+(s[X>>2]|0)|0)>>>0<(s[J>>2]|0)>>>0){s[K>>2]=b+1;n[(s[f>>2]|0)+b>>0]=w;b=0;d=s[Y>>2]|0}else b=-1;s[Q>>2]=s[Q>>2]|b;d=d+-1|0;s[Y>>2]=d}while((d|0)!=0)}s[$>>2]=_&255;b=s[V>>2]|0;d=s[W>>2]|0}s[V>>2]=b<<8&2147483392;d=d<<8;s[W>>2]=d;s[Z>>2]=(s[Z>>2]|0)+8}i=n[ee+(k*6|0)+(v*3|0)+1>>0]|0;b=i<<24>>24;w=d>>>8;if(i<<24>>24>0){i=o[29951+(b+-1)>>0]|0;d=d-(te(w,i)|0)|0;s[V>>2]=(s[V>>2]|0)+d;d=te(w,i-(o[29951+b>>0]|0)|0)|0}else d=d-(te(w,o[29951+b>>0]|0)|0)|0;s[W>>2]=d;while(1){if(d>>>0>=8388609)break;b=s[V>>2]|0;_=b>>>23;if((_|0)==255)s[Y>>2]=(s[Y>>2]|0)+1;else{w=b>>>31;d=s[$>>2]|0;if((d|0)>-1){b=s[K>>2]|0;if((b+(s[X>>2]|0)|0)>>>0<(s[J>>2]|0)>>>0){s[K>>2]=b+1;n[(s[f>>2]|0)+b>>0]=d+w;d=0}else d=-1;s[Q>>2]=s[Q>>2]|d}d=s[Y>>2]|0;if(d|0){w=w+255&255;do{b=s[K>>2]|0;if((b+(s[X>>2]|0)|0)>>>0<(s[J>>2]|0)>>>0){s[K>>2]=b+1;n[(s[f>>2]|0)+b>>0]=w;b=0;d=s[Y>>2]|0}else b=-1;s[Q>>2]=s[Q>>2]|b;d=d+-1|0;s[Y>>2]=d}while((d|0)!=0)}s[$>>2]=_&255;b=s[V>>2]|0;d=s[W>>2]|0}s[V>>2]=b<<8&2147483392;d=d<<8;s[W>>2]=d;s[Z>>2]=(s[Z>>2]|0)+8}w=d;v=v+1|0}d=s[rt>>2]|0;if(n[xe+d>>0]|0)break;i=n[re+d>>0]|0;d=i<<24>>24;b=w>>>8;if(i<<24>>24>0){i=o[29916+(d+-1)>>0]|0;M=w-(te(b,i)|0)|0;s[V>>2]=(s[V>>2]|0)+M;d=te(b,i-(o[29916+d>>0]|0)|0)|0}else d=w-(te(b,o[29916+d>>0]|0)|0)|0;s[W>>2]=d;while(1){if(d>>>0>=8388609)break e;b=s[V>>2]|0;_=b>>>23;if((_|0)==255)s[Y>>2]=(s[Y>>2]|0)+1;else{w=b>>>31;d=s[$>>2]|0;if((d|0)>-1){b=s[K>>2]|0;if((b+(s[X>>2]|0)|0)>>>0<(s[J>>2]|0)>>>0){s[K>>2]=b+1;n[(s[f>>2]|0)+b>>0]=d+w;d=0}else d=-1;s[Q>>2]=s[Q>>2]|d}d=s[Y>>2]|0;if(d|0){w=w+255&255;do{b=s[K>>2]|0;if((b+(s[X>>2]|0)|0)>>>0<(s[J>>2]|0)>>>0){s[K>>2]=b+1;n[(s[f>>2]|0)+b>>0]=w;b=0;d=s[Y>>2]|0}else b=-1;s[Q>>2]=s[Q>>2]|b;d=d+-1|0;s[Y>>2]=d}while((d|0)!=0)}s[$>>2]=_&255;b=s[V>>2]|0;d=s[W>>2]|0}s[V>>2]=b<<8&2147483392;d=d<<8;s[W>>2]=d;s[Z>>2]=(s[Z>>2]|0)+8}}else{s[F>>2]=s[Fe>>2];i=F+(s[L>>2]<<1)|0;i=a[i>>1]|a[i+2>>1]<<16;r[Fe>>1]=i;r[Fe+2>>1]=i>>>16}while(0);An(e,Ie);if((s[he>>2]|0)<13){n[We>>0]=0;d=s[Oe>>2]|0;i=d+1|0;s[Oe>>2]=i;do if((i|0)<10)s[De>>2]=0;else{if((d|0)<=29)break;s[Oe>>2]=10;s[De>>2]=0}while(0);n[(s[rt>>2]|0)+(e+4812)>>0]=0}else{s[Oe>>2]=0;s[De>>2]=0;n[We>>0]=1;n[(s[rt>>2]|0)+(e+4812)>>0]=1}k=(x|0)==0;y=s[Le>>2]|0;E=(x|0)==(Be|0);A=(x|0)==1;T=0;while(1){d=s[ot>>2]|0;if((T|0)>=(d|0))break;b=s[Ye>>2]|0;e:do switch(Xe|0){case 2:{if(!k){w=b;break e}w=(b*3|0)/5|0;break}case 3:{if(k){w=(b<<1|0)/5|0;break e}if(!A){w=b;break e}w=(b*3|0)/4|0;break}default:w=b}while(0);_=E&(s[et>>2]|0)!=0&1;do if((d|0)==1){d=g;v=_}else{d=s[st+(T<<2)>>2]|0;if((T|0)!=0|(y|0)<1){v=_;break}w=w-((b|0)/(Ue|0)|0)|0;v=0}while(0);if((d|0)>0){p=(d|0)>8e4?8e4:(d|0)<5e3?5e3:d;d=Ke+(T*10156|0)+4700|0;e:do if((p|0)!=(s[d>>2]|0)){s[d>>2]=p;_=s[Ke+(T*10156|0)+4668>>2]|0;_=(_|0)==8?17424:(_|0)==12?17456:17488;d=(s[Ke+(T*10156|0)+4672>>2]|0)==2?p+-2200|0:p;b=1;while(1){if((b|0)>=8)break e;p=s[_+(b<<2)>>2]|0;if((d|0)<=(p|0))break;b=b+1|0}i=b+-1|0;M=s[_+(i<<2)>>2]|0;i=r[25356+(i<<1)>>1]|0;s[Ke+(T*10156|0)+4808>>2]=(i<<6)+(te((d-M<<6|0)/(p-M|0)|0,(r[25356+(b<<1)>>1]|0)-i|0)|0)}while(0);do if((s[rt>>2]|0)>(T|0)){if((T|0)>0?s[we>>2]|0:0){d=1;break}d=2}else d=0;while(0);p=Xi(Ke+(T*10156|0)|0,h,f,d,w,v)|0}s[Ke+(T*10156|0)+4760>>2]=0;s[Ke+(T*10156|0)+5832>>2]=0;i=Ke+(T*10156|0)+5840|0;s[i>>2]=(s[i>>2]|0)+1;T=T+1|0}w=s[rt>>2]|0;s[we>>2]=n[re+(w+-1)>>0];do if((s[h>>2]|0)>0){if((w|0)!=(s[Ze>>2]|0))break;g=s[ot>>2]|0;k=0;v=0;while(1){if((v|0)>=(g|0))break;_=s[Ke+(v*10156|0)+5836>>2]|0;d=k;b=0;while(1){d=d<<1;if((b|0)>=(_|0))break;d=d|n[Ke+(v*10156|0)+4812+b>>0];b=b+1|0}k=d|n[Ke+(v*10156|0)+4815>>0];v=v+1|0}do if(Je){d=te(w+1|0,g)|0;b=8-d|0;w=(1<<d)+-1<<b;if(s[K>>2]|0){i=s[f>>2]|0;n[i>>0]=o[i>>0]&(w^255)|k<<b;break}g=s[$>>2]|0;if((g|0)>-1){s[$>>2]=g&~w|k<<b;break}if((s[W>>2]|0)>>>0>-2147483648>>>d>>>0){s[Q>>2]=-1;break}else{s[V>>2]=s[V>>2]&~(w<<23)|k<<b+23;break}}while(0);do if(s[De>>2]|0){if((s[ot>>2]|0)!=1?(s[Pe>>2]|0)==0:0)break;s[h>>2]=0}while(0);d=(s[ce>>2]|0)+(s[h>>2]<<3)|0;s[ce>>2]=d;d=d-((te(s[ue>>2]|0,s[it>>2]|0)|0)/1e3|0)|0;s[ce>>2]=(d|0)>1e4?1e4:(d|0)<0?0:d;d=s[je>>2]|0;if((s[he>>2]|0)<(((d<<16>>16)*3188>>16)+13|0)){s[Ve>>2]=1;s[je>>2]=0;break}else{s[Ve>>2]=0;s[je>>2]=d+(s[it>>2]|0);break}}while(0);if((l|0)==(P|0)){Qe=428;break}_=R;l=C;x=x+1|0}if((Qe|0)==428)d=s[Ve>>2]|0;s[Ge>>2]=s[ot>>2];s[t+76>>2]=d;if((s[$e>>2]|0)==16)d=(s[e+28>>2]|0)==0;else d=0;s[t+80>>2]=d&1;s[t+72>>2]=(s[$e>>2]<<16>>16)*1e3;if(!(s[ze>>2]|0))d=r[e+20340>>1]|0;else d=0;s[t+84>>2]=d;e:do if(!Je){s[it>>2]=m;s[tt>>2]=c;d=0;while(1){if((d|0)>=(s[ot>>2]|0))break e;s[Ke+(d*10156|0)+4760>>2]=0;s[Ke+(d*10156|0)+4772>>2]=0;d=d+1|0}}while(0);s[t+92>>2]=n[We>>0];s[t+96>>2]=r[25404+(n[We>>0]>>1<<2)+(n[e+4858>>0]<<1)>>1];He(qe|0);e=p;u=at;return e|0}function Di(e,t,i,a,l){e=e|0;t=t|0;i=i|0;a=a|0;l=l|0;var f=0,h=0,c=0,d=0,p=0,b=0,w=0,m=0,g=0,_=0,v=0,k=0,y=0,E=0,A=0,T=0,S=0,M=0,R=0,C=0,P=0,x=0;x=u;u=u+48|0;E=x;k=x+32|0;R=(a|0)==0;P=R?e+4828|0:e+6192+(i*36|0)|0;C=P+29|0;h=(n[C>>0]<<1)+(n[P+30>>0]|0)|0;e:do if((h|0)>1|R^1){i=h+-2|0;v=t+28|0;a=s[v>>2]|0;f=a>>>8;if((h|0)>2){R=o[29933+(h+-3)>>0]|0;M=a-(te(f,R)|0)|0;c=t+32|0;s[c>>2]=(s[c>>2]|0)+M;i=te(f,R-(o[29933+i>>0]|0)|0)|0;s[v>>2]=i}else{i=a-(te(f,o[29933+i>>0]|0)|0)|0;s[v>>2]=i;c=t+32|0}d=t+36|0;p=t+20|0;b=t+40|0;w=t+24|0;m=t+8|0;g=t+4|0;_=t+44|0;while(1){if(i>>>0>=8388609){h=i;break e}a=s[c>>2]|0;h=a>>>23;if((h|0)==255)s[d>>2]=(s[d>>2]|0)+1;else{f=a>>>31;i=s[b>>2]|0;if((i|0)>-1){a=s[w>>2]|0;if((a+(s[m>>2]|0)|0)>>>0<(s[g>>2]|0)>>>0){s[w>>2]=a+1;n[(s[t>>2]|0)+a>>0]=i+f;i=0}else i=-1;s[_>>2]=s[_>>2]|i}i=s[d>>2]|0;if(i|0){f=f+255&255;do{a=s[w>>2]|0;if((a+(s[m>>2]|0)|0)>>>0<(s[g>>2]|0)>>>0){s[w>>2]=a+1;n[(s[t>>2]|0)+a>>0]=f;a=0;i=s[d>>2]|0}else a=-1;s[_>>2]=s[_>>2]|a;i=i+-1|0;s[d>>2]=i}while((i|0)!=0)}s[b>>2]=h&255;a=s[c>>2]|0;i=s[v>>2]|0}s[c>>2]=a<<8&2147483392;i=i<<8;s[v>>2]=i;s[p>>2]=(s[p>>2]|0)+8}}else{v=t+28|0;i=s[v>>2]|0;a=i>>>8;if((h|0)>0){R=o[29937+(h+-1)>>0]|0;i=i-(te(a,R)|0)|0;c=t+32|0;s[c>>2]=(s[c>>2]|0)+i;i=te(a,R-(o[29937+h>>0]|0)|0)|0;s[v>>2]=i}else{i=i-(te(a,o[29937+h>>0]|0)|0)|0;s[v>>2]=i;c=t+32|0}d=t+36|0;p=t+20|0;b=t+40|0;w=t+24|0;m=t+8|0;g=t+4|0;_=t+44|0;while(1){if(i>>>0>=8388609){h=i;break e}a=s[c>>2]|0;h=a>>>23;if((h|0)==255)s[d>>2]=(s[d>>2]|0)+1;else{f=a>>>31;i=s[b>>2]|0;if((i|0)>-1){a=s[w>>2]|0;if((a+(s[m>>2]|0)|0)>>>0<(s[g>>2]|0)>>>0){s[w>>2]=a+1;n[(s[t>>2]|0)+a>>0]=i+f;i=0}else i=-1;s[_>>2]=s[_>>2]|i}i=s[d>>2]|0;if(i|0){f=f+255&255;do{a=s[w>>2]|0;if((a+(s[m>>2]|0)|0)>>>0<(s[g>>2]|0)>>>0){s[w>>2]=a+1;n[(s[t>>2]|0)+a>>0]=f;a=0;i=s[d>>2]|0}else a=-1;s[_>>2]=s[_>>2]|a;i=i+-1|0;s[d>>2]=i}while((i|0)!=0)}s[b>>2]=h&255;a=s[c>>2]|0;i=s[v>>2]|0}s[c>>2]=a<<8&2147483392;i=i<<8;s[v>>2]=i;s[p>>2]=(s[p>>2]|0)+8}}while(0);y=(l|0)==2;i=n[P>>0]|0;a=i<<24>>24;e:do if(y){b=t+28|0;f=h>>>8;if(i<<24>>24>0){i=o[29396+(a+-1)>>0]|0;R=h-(te(f,i)|0)|0;c=t+32|0;s[c>>2]=(s[c>>2]|0)+R;i=te(f,i-(o[29396+a>>0]|0)|0)|0;s[b>>2]=i}else{i=h-(te(f,o[29396+a>>0]|0)|0)|0;s[b>>2]=i;c=t+32|0}d=t+36|0;p=t+20|0;w=t+40|0;m=t+24|0;g=t+8|0;_=t+4|0;v=t+44|0;while(1){if(i>>>0>=8388609){R=c;M=d;S=_;break e}a=s[c>>2]|0;h=a>>>23;if((h|0)==255)s[d>>2]=(s[d>>2]|0)+1;else{f=a>>>31;i=s[w>>2]|0;if((i|0)>-1){a=s[m>>2]|0;if((a+(s[g>>2]|0)|0)>>>0<(s[_>>2]|0)>>>0){s[m>>2]=a+1;n[(s[t>>2]|0)+a>>0]=i+f;i=0}else i=-1;s[v>>2]=s[v>>2]|i}i=s[d>>2]|0;if(i|0){f=f+255&255;do{a=s[m>>2]|0;if((a+(s[g>>2]|0)|0)>>>0<(s[_>>2]|0)>>>0){s[m>>2]=a+1;n[(s[t>>2]|0)+a>>0]=f;a=0;i=s[d>>2]|0}else a=-1;s[v>>2]=s[v>>2]|a;i=i+-1|0;s[d>>2]=i}while((i|0)!=0)}s[w>>2]=h&255;a=s[c>>2]|0;i=s[b>>2]|0}s[c>>2]=a<<8&2147483392;i=i<<8;s[b>>2]=i;s[p>>2]=(s[p>>2]|0)+8}}else{i=a>>3;a=n[C>>0]|0;b=t+28|0;f=h>>>8;if((i|0)>0){R=o[i+-1+(29372+(a<<3))>>0]|0;M=h-(te(f,R)|0)|0;c=t+32|0;s[c>>2]=(s[c>>2]|0)+M;i=te(f,R-(o[29372+(a<<3)+i>>0]|0)|0)|0;s[b>>2]=i}else{i=h-(te(f,o[29372+(a<<3)+i>>0]|0)|0)|0;s[b>>2]=i;c=t+32|0}d=t+36|0;p=t+20|0;w=t+40|0;m=t+24|0;g=t+8|0;_=t+4|0;v=t+44|0;while(1){if(i>>>0>=8388609)break;a=s[c>>2]|0;h=a>>>23;if((h|0)==255)s[d>>2]=(s[d>>2]|0)+1;else{f=a>>>31;i=s[w>>2]|0;if((i|0)>-1){a=s[m>>2]|0;if((a+(s[g>>2]|0)|0)>>>0<(s[_>>2]|0)>>>0){s[m>>2]=a+1;n[(s[t>>2]|0)+a>>0]=i+f;i=0}else i=-1;s[v>>2]=s[v>>2]|i}i=s[d>>2]|0;if(i|0){f=f+255&255;do{a=s[m>>2]|0;if((a+(s[g>>2]|0)|0)>>>0<(s[_>>2]|0)>>>0){s[m>>2]=a+1;n[(s[t>>2]|0)+a>>0]=f;
a=0;i=s[d>>2]|0}else a=-1;s[v>>2]=s[v>>2]|a;i=i+-1|0;s[d>>2]=i}while((i|0)!=0)}s[w>>2]=h&255;a=s[c>>2]|0;i=s[b>>2]|0}s[c>>2]=a<<8&2147483392;i=i<<8;s[b>>2]=i;s[p>>2]=(s[p>>2]|0)+8}a=o[P>>0]&7;f=i>>>8;h=n[29962+a>>0]|0;if(!a)i=i-(te(f,h&255)|0)|0;else{R=o[29962+(a+-1)>>0]|0;i=i-(te(f,R)|0)|0;s[c>>2]=(s[c>>2]|0)+i;i=te(f,R-(h&255)|0)|0}s[b>>2]=i;while(1){if(i>>>0>=8388609){R=c;M=d;S=_;break e}a=s[c>>2]|0;h=a>>>23;if((h|0)==255)s[d>>2]=(s[d>>2]|0)+1;else{f=a>>>31;i=s[w>>2]|0;if((i|0)>-1){a=s[m>>2]|0;if((a+(s[g>>2]|0)|0)>>>0<(s[_>>2]|0)>>>0){s[m>>2]=a+1;n[(s[t>>2]|0)+a>>0]=i+f;i=0}else i=-1;s[v>>2]=s[v>>2]|i}i=s[d>>2]|0;if(i|0){f=f+255&255;do{a=s[m>>2]|0;if((a+(s[g>>2]|0)|0)>>>0<(s[_>>2]|0)>>>0){s[m>>2]=a+1;n[(s[t>>2]|0)+a>>0]=f;a=0;i=s[d>>2]|0}else a=-1;s[v>>2]=s[v>>2]|a;i=i+-1|0;s[d>>2]=i}while((i|0)!=0)}s[w>>2]=h&255;a=s[c>>2]|0;i=s[b>>2]|0}s[c>>2]=a<<8&2147483392;i=i<<8;s[b>>2]=i;s[p>>2]=(s[p>>2]|0)+8}}while(0);A=e+4672|0;c=1;while(1){if((c|0)>=(s[A>>2]|0))break;_=n[P+c>>0]|0;a=_<<24>>24;f=i>>>8;if(_<<24>>24>0){_=o[29396+(a+-1)>>0]|0;i=i-(te(f,_)|0)|0;s[R>>2]=(s[R>>2]|0)+i;i=te(f,_-(o[29396+a>>0]|0)|0)|0}else i=i-(te(f,o[29396+a>>0]|0)|0)|0;s[b>>2]=i;while(1){if(i>>>0>=8388609)break;a=s[R>>2]|0;h=a>>>23;if((h|0)==255)s[M>>2]=(s[M>>2]|0)+1;else{f=a>>>31;i=s[w>>2]|0;if((i|0)>-1){a=s[m>>2]|0;if((a+(s[g>>2]|0)|0)>>>0<(s[S>>2]|0)>>>0){s[m>>2]=a+1;n[(s[t>>2]|0)+a>>0]=i+f;i=0}else i=-1;s[v>>2]=s[v>>2]|i}i=s[M>>2]|0;if(i|0){f=f+255&255;do{a=s[m>>2]|0;if((a+(s[g>>2]|0)|0)>>>0<(s[S>>2]|0)>>>0){s[m>>2]=a+1;n[(s[t>>2]|0)+a>>0]=f;a=0;i=s[M>>2]|0}else a=-1;s[v>>2]=s[v>>2]|a;i=i+-1|0;s[M>>2]=i}while((i|0)!=0)}s[w>>2]=h&255;a=s[R>>2]|0;i=s[b>>2]|0}s[R>>2]=a<<8&2147483392;i=i<<8;s[b>>2]=i;s[p>>2]=(s[p>>2]|0)+8}c=c+1|0}c=P+8|0;d=n[c>>0]|0;a=d<<24>>24;_=e+4784|0;h=s[_>>2]|0;f=te(n[C>>0]>>1,r[h>>1]|0)|0;f=(s[h+16>>2]|0)+f|0;h=i>>>8;if(d<<24>>24>0){d=f+(a+-1)|0;i=i-(te(h,o[d>>0]|0)|0)|0;s[R>>2]=(s[R>>2]|0)+i;i=te(h,(o[d>>0]|0)-(o[f+a>>0]|0)|0)|0}else i=i-(te(h,o[f+a>>0]|0)|0)|0;s[b>>2]=i;while(1){if(i>>>0>=8388609)break;a=s[R>>2]|0;h=a>>>23;if((h|0)==255)s[M>>2]=(s[M>>2]|0)+1;else{f=a>>>31;i=s[w>>2]|0;if((i|0)>-1){a=s[m>>2]|0;if((a+(s[g>>2]|0)|0)>>>0<(s[S>>2]|0)>>>0){s[m>>2]=a+1;n[(s[t>>2]|0)+a>>0]=i+f;i=0}else i=-1;s[v>>2]=s[v>>2]|i}i=s[M>>2]|0;if(i|0){f=f+255&255;do{a=s[m>>2]|0;if((a+(s[g>>2]|0)|0)>>>0<(s[S>>2]|0)>>>0){s[m>>2]=a+1;n[(s[t>>2]|0)+a>>0]=f;a=0;i=s[M>>2]|0}else a=-1;s[v>>2]=s[v>>2]|a;i=i+-1|0;s[M>>2]=i}while((i|0)!=0)}s[w>>2]=h&255;a=s[R>>2]|0;i=s[b>>2]|0}s[R>>2]=a<<8&2147483392;i=i<<8;s[b>>2]=i;s[p>>2]=(s[p>>2]|0)+8}Ui(E,k,s[_>>2]|0,n[c>>0]|0);f=0;e:while(1){i=s[_>>2]|0;if((f|0)>=(r[i+2>>1]|0))break;d=f+1|0;c=P+8+d|0;a=n[c>>0]|0;if(a<<24>>24>3){i=(s[i+28>>2]|0)+(r[E+(f<<1)>>1]|0)|0;a=s[b>>2]|0;h=a>>>8;k=i+7|0;a=a-(te(h,o[k>>0]|0)|0)|0;a=(s[R>>2]|0)+a|0;s[R>>2]=a;i=te(h,(o[k>>0]|0)-(o[i+8>>0]|0)|0)|0;s[b>>2]=i;while(1){if(i>>>0>=8388609)break;h=a>>>23;if((h|0)==255)s[M>>2]=(s[M>>2]|0)+1;else{f=a>>>31;i=s[w>>2]|0;if((i|0)>-1){a=s[m>>2]|0;if((a+(s[g>>2]|0)|0)>>>0<(s[S>>2]|0)>>>0){s[m>>2]=a+1;n[(s[t>>2]|0)+a>>0]=i+f;i=0}else i=-1;s[v>>2]=s[v>>2]|i}i=s[M>>2]|0;if(i|0){f=f+255&255;do{a=s[m>>2]|0;if((a+(s[g>>2]|0)|0)>>>0<(s[S>>2]|0)>>>0){s[m>>2]=a+1;n[(s[t>>2]|0)+a>>0]=f;a=0;i=s[M>>2]|0}else a=-1;s[v>>2]=s[v>>2]|a;i=i+-1|0;s[M>>2]=i}while((i|0)!=0)}s[w>>2]=h&255;a=s[R>>2]|0;i=s[b>>2]|0}a=a<<8&2147483392;s[R>>2]=a;i=i<<8;s[b>>2]=i;s[p>>2]=(s[p>>2]|0)+8}k=n[c>>0]|0;f=k<<24>>24;h=f+-4|0;c=i>>>8;if(k<<24>>24>4){k=o[29970+(f+-5)>>0]|0;a=a+(i-(te(c,k)|0))|0;s[R>>2]=a;i=te(c,k-(o[29970+h>>0]|0)|0)|0}else i=i-(te(c,o[29970+h>>0]|0)|0)|0;s[b>>2]=i;while(1){if(i>>>0>=8388609){f=d;continue e}h=a>>>23;if((h|0)==255)s[M>>2]=(s[M>>2]|0)+1;else{f=a>>>31;i=s[w>>2]|0;if((i|0)>-1){a=s[m>>2]|0;if((a+(s[g>>2]|0)|0)>>>0<(s[S>>2]|0)>>>0){s[m>>2]=a+1;n[(s[t>>2]|0)+a>>0]=i+f;i=0}else i=-1;s[v>>2]=s[v>>2]|i}i=s[M>>2]|0;if(i|0){f=f+255&255;do{a=s[m>>2]|0;if((a+(s[g>>2]|0)|0)>>>0<(s[S>>2]|0)>>>0){s[m>>2]=a+1;n[(s[t>>2]|0)+a>>0]=f;a=0;i=s[M>>2]|0}else a=-1;s[v>>2]=s[v>>2]|a;i=i+-1|0;s[M>>2]=i}while((i|0)!=0)}s[w>>2]=h&255;a=s[R>>2]|0;i=s[b>>2]|0}a=a<<8&2147483392;s[R>>2]=a;i=i<<8;s[b>>2]=i;s[p>>2]=(s[p>>2]|0)+8}}if(a<<24>>24>=-3){k=a<<24>>24;i=(s[i+28>>2]|0)+(r[E+(f<<1)>>1]|0)|0;f=s[b>>2]|0;h=f>>>8;c=i+(k+3)|0;f=f-(te(h,o[c>>0]|0)|0)|0;s[R>>2]=(s[R>>2]|0)+f;i=te(h,(o[c>>0]|0)-(o[i+(k+4)>>0]|0)|0)|0;s[b>>2]=i;while(1){if(i>>>0>=8388609){f=d;continue e}a=s[R>>2]|0;h=a>>>23;if((h|0)==255)s[M>>2]=(s[M>>2]|0)+1;else{f=a>>>31;i=s[w>>2]|0;if((i|0)>-1){a=s[m>>2]|0;if((a+(s[g>>2]|0)|0)>>>0<(s[S>>2]|0)>>>0){s[m>>2]=a+1;n[(s[t>>2]|0)+a>>0]=i+f;i=0}else i=-1;s[v>>2]=s[v>>2]|i}i=s[M>>2]|0;if(i|0){f=f+255&255;do{a=s[m>>2]|0;if((a+(s[g>>2]|0)|0)>>>0<(s[S>>2]|0)>>>0){s[m>>2]=a+1;n[(s[t>>2]|0)+a>>0]=f;a=0;i=s[M>>2]|0}else a=-1;s[v>>2]=s[v>>2]|a;i=i+-1|0;s[M>>2]=i}while((i|0)!=0)}s[w>>2]=h&255;a=s[R>>2]|0;i=s[b>>2]|0}s[R>>2]=a<<8&2147483392;i=i<<8;s[b>>2]=i;s[p>>2]=(s[p>>2]|0)+8}}k=s[b>>2]|0;i=k-(te(k>>>8,o[(s[i+28>>2]|0)+(r[E+(f<<1)>>1]|0)>>0]|0)|0)|0;s[b>>2]=i;while(1){if(i>>>0>=8388609)break;a=s[R>>2]|0;h=a>>>23;if((h|0)==255)s[M>>2]=(s[M>>2]|0)+1;else{f=a>>>31;i=s[w>>2]|0;if((i|0)>-1){a=s[m>>2]|0;if((a+(s[g>>2]|0)|0)>>>0<(s[S>>2]|0)>>>0){s[m>>2]=a+1;n[(s[t>>2]|0)+a>>0]=i+f;i=0}else i=-1;s[v>>2]=s[v>>2]|i}i=s[M>>2]|0;if(i|0){f=f+255&255;do{a=s[m>>2]|0;if((a+(s[g>>2]|0)|0)>>>0<(s[S>>2]|0)>>>0){s[m>>2]=a+1;n[(s[t>>2]|0)+a>>0]=f;a=0;i=s[M>>2]|0}else a=-1;s[v>>2]=s[v>>2]|a;i=i+-1|0;s[M>>2]=i}while((i|0)!=0)}s[w>>2]=h&255;a=s[R>>2]|0;i=s[b>>2]|0}s[R>>2]=a<<8&2147483392;i=i<<8;s[b>>2]=i;s[p>>2]=(s[p>>2]|0)+8}a=-4-(n[c>>0]|0)|0;f=i>>>8;if((a|0)>0){k=o[29970+(a+-1)>>0]|0;i=i-(te(f,k)|0)|0;s[R>>2]=(s[R>>2]|0)+i;i=te(f,k-(o[29970+a>>0]|0)|0)|0}else i=i-(te(f,o[29970+a>>0]|0)|0)|0;s[b>>2]=i;while(1){if(i>>>0>=8388609){f=d;continue e}a=s[R>>2]|0;h=a>>>23;if((h|0)==255)s[M>>2]=(s[M>>2]|0)+1;else{f=a>>>31;i=s[w>>2]|0;if((i|0)>-1){a=s[m>>2]|0;if((a+(s[g>>2]|0)|0)>>>0<(s[S>>2]|0)>>>0){s[m>>2]=a+1;n[(s[t>>2]|0)+a>>0]=i+f;i=0}else i=-1;s[v>>2]=s[v>>2]|i}i=s[M>>2]|0;if(i|0){f=f+255&255;do{a=s[m>>2]|0;if((a+(s[g>>2]|0)|0)>>>0<(s[S>>2]|0)>>>0){s[m>>2]=a+1;n[(s[t>>2]|0)+a>>0]=f;a=0;i=s[M>>2]|0}else a=-1;s[v>>2]=s[v>>2]|a;i=i+-1|0;s[M>>2]=i}while((i|0)!=0)}s[w>>2]=h&255;a=s[R>>2]|0;i=s[b>>2]|0}s[R>>2]=a<<8&2147483392;i=i<<8;s[b>>2]=i;s[p>>2]=(s[p>>2]|0)+8}}e:do if((s[A>>2]|0)==4){E=n[P+31>>0]|0;i=E<<24>>24;a=s[b>>2]|0;f=a>>>8;if(E<<24>>24>0){E=o[29939+(i+-1)>>0]|0;k=a-(te(f,E)|0)|0;s[R>>2]=(s[R>>2]|0)+k;i=te(f,E-(o[29939+i>>0]|0)|0)|0}else i=a-(te(f,o[29939+i>>0]|0)|0)|0;s[b>>2]=i;while(1){if(i>>>0>=8388609)break e;a=s[R>>2]|0;h=a>>>23;if((h|0)==255)s[M>>2]=(s[M>>2]|0)+1;else{f=a>>>31;i=s[w>>2]|0;if((i|0)>-1){a=s[m>>2]|0;if((a+(s[g>>2]|0)|0)>>>0<(s[S>>2]|0)>>>0){s[m>>2]=a+1;n[(s[t>>2]|0)+a>>0]=i+f;i=0}else i=-1;s[v>>2]=s[v>>2]|i}i=s[M>>2]|0;if(i|0){f=f+255&255;do{a=s[m>>2]|0;if((a+(s[g>>2]|0)|0)>>>0<(s[S>>2]|0)>>>0){s[m>>2]=a+1;n[(s[t>>2]|0)+a>>0]=f;a=0;i=s[M>>2]|0}else a=-1;s[v>>2]=s[v>>2]|a;i=i+-1|0;s[M>>2]=i}while((i|0)!=0)}s[w>>2]=h&255;a=s[R>>2]|0;i=s[b>>2]|0}s[R>>2]=a<<8&2147483392;i=i<<8;s[b>>2]=i;s[p>>2]=(s[p>>2]|0)+8}}while(0);e:do if((n[C>>0]|0)==2){if(y?(s[e+5860>>2]|0)==2:0){a=P+26|0;i=e+5864|0;f=(r[a>>1]|0)-(r[i>>1]|0)|0;if((f+8|0)>>>0<=19){d=f+9|0;h=s[b>>2]|0;c=h>>>8;if((f|0)>-9){f=o[30009+(f+8)>>0]|0;_=h-(te(c,f)|0)|0;s[R>>2]=(s[R>>2]|0)+_;_=0;f=te(c,f-(o[30009+d>>0]|0)|0)|0}else{f=0;T=243}}else{h=s[b>>2]|0;c=h>>>8;d=0;f=1;T=243}if((T|0)==243){_=f;f=h-(te(c,o[30009+d>>0]|0)|0)|0}s[b>>2]=f;while(1){if(f>>>0>=8388609)break;h=s[R>>2]|0;d=h>>>23;if((d|0)==255)s[M>>2]=(s[M>>2]|0)+1;else{c=h>>>31;f=s[w>>2]|0;if((f|0)>-1){h=s[m>>2]|0;if((h+(s[g>>2]|0)|0)>>>0<(s[S>>2]|0)>>>0){s[m>>2]=h+1;n[(s[t>>2]|0)+h>>0]=f+c;f=0}else f=-1;s[v>>2]=s[v>>2]|f}f=s[M>>2]|0;if(f|0){c=c+255&255;do{h=s[m>>2]|0;if((h+(s[g>>2]|0)|0)>>>0<(s[S>>2]|0)>>>0){s[m>>2]=h+1;n[(s[t>>2]|0)+h>>0]=c;h=0;f=s[M>>2]|0}else h=-1;s[v>>2]=s[v>>2]|h;f=f+-1|0;s[M>>2]=f}while((f|0)!=0)}s[w>>2]=d&255;h=s[R>>2]|0;f=s[b>>2]|0}s[R>>2]=h<<8&2147483392;f=f<<8;s[b>>2]=f;s[p>>2]=(s[p>>2]|0)+8}if(_)T=260}else T=260;if((T|0)==260){a=P+26|0;f=r[a>>1]|0;d=s[e+4668>>2]|0;i=(f|0)/(d>>1|0)|0;d=f-(te(i<<16>>16,d<<15>>16)|0)|0;f=s[b>>2]|0;h=f>>>8;if((i|0)>0){T=o[29977+(i+-1)>>0]|0;E=f-(te(h,T)|0)|0;s[R>>2]=(s[R>>2]|0)+E;i=te(h,T-(o[29977+i>>0]|0)|0)|0}else i=f-(te(h,o[29977+i>>0]|0)|0)|0;s[b>>2]=i;while(1){if(i>>>0>=8388609)break;f=s[R>>2]|0;c=f>>>23;if((c|0)==255)s[M>>2]=(s[M>>2]|0)+1;else{h=f>>>31;i=s[w>>2]|0;if((i|0)>-1){f=s[m>>2]|0;if((f+(s[g>>2]|0)|0)>>>0<(s[S>>2]|0)>>>0){s[m>>2]=f+1;n[(s[t>>2]|0)+f>>0]=i+h;i=0}else i=-1;s[v>>2]=s[v>>2]|i}i=s[M>>2]|0;if(i|0){h=h+255&255;do{f=s[m>>2]|0;if((f+(s[g>>2]|0)|0)>>>0<(s[S>>2]|0)>>>0){s[m>>2]=f+1;n[(s[t>>2]|0)+f>>0]=h;f=0;i=s[M>>2]|0}else f=-1;s[v>>2]=s[v>>2]|f;i=i+-1|0;s[M>>2]=i}while((i|0)!=0)}s[w>>2]=c&255;f=s[R>>2]|0;i=s[b>>2]|0}s[R>>2]=f<<8&2147483392;i=i<<8;s[b>>2]=i;s[p>>2]=(s[p>>2]|0)+8}f=s[e+4776>>2]|0;h=i>>>8;if((d|0)>0){T=f+(d+-1)|0;i=i-(te(h,o[T>>0]|0)|0)|0;s[R>>2]=(s[R>>2]|0)+i;i=te(h,(o[T>>0]|0)-(o[f+d>>0]|0)|0)|0}else i=i-(te(h,o[f+d>>0]|0)|0)|0;s[b>>2]=i;while(1){if(i>>>0>=8388609)break;f=s[R>>2]|0;c=f>>>23;if((c|0)==255)s[M>>2]=(s[M>>2]|0)+1;else{h=f>>>31;i=s[w>>2]|0;if((i|0)>-1){f=s[m>>2]|0;if((f+(s[g>>2]|0)|0)>>>0<(s[S>>2]|0)>>>0){s[m>>2]=f+1;n[(s[t>>2]|0)+f>>0]=i+h;i=0}else i=-1;s[v>>2]=s[v>>2]|i}i=s[M>>2]|0;if(i|0){h=h+255&255;do{f=s[m>>2]|0;if((f+(s[g>>2]|0)|0)>>>0<(s[S>>2]|0)>>>0){s[m>>2]=f+1;n[(s[t>>2]|0)+f>>0]=h;f=0;i=s[M>>2]|0}else f=-1;s[v>>2]=s[v>>2]|f;i=i+-1|0;s[M>>2]=i}while((i|0)!=0)}s[w>>2]=c&255;f=s[R>>2]|0;i=s[b>>2]|0}s[R>>2]=f<<8&2147483392;i=i<<8;s[b>>2]=i;s[p>>2]=(s[p>>2]|0)+8}i=e+5864|0}r[i>>1]=r[a>>1]|0;T=n[P+28>>0]|0;i=T<<24>>24;a=s[e+4780>>2]|0;f=s[b>>2]|0;h=f>>>8;if(T<<24>>24>0){T=a+(i+-1)|0;E=f-(te(h,o[T>>0]|0)|0)|0;s[R>>2]=(s[R>>2]|0)+E;i=te(h,(o[T>>0]|0)-(o[a+i>>0]|0)|0)|0}else i=f-(te(h,o[a+i>>0]|0)|0)|0;s[b>>2]=i;while(1){if(i>>>0>=8388609)break;a=s[R>>2]|0;h=a>>>23;if((h|0)==255)s[M>>2]=(s[M>>2]|0)+1;else{f=a>>>31;i=s[w>>2]|0;if((i|0)>-1){a=s[m>>2]|0;if((a+(s[g>>2]|0)|0)>>>0<(s[S>>2]|0)>>>0){s[m>>2]=a+1;n[(s[t>>2]|0)+a>>0]=i+f;i=0}else i=-1;s[v>>2]=s[v>>2]|i}i=s[M>>2]|0;if(i|0){f=f+255&255;do{a=s[m>>2]|0;if((a+(s[g>>2]|0)|0)>>>0<(s[S>>2]|0)>>>0){s[m>>2]=a+1;n[(s[t>>2]|0)+a>>0]=f;a=0;i=s[M>>2]|0}else a=-1;s[v>>2]=s[v>>2]|a;i=i+-1|0;s[M>>2]=i}while((i|0)!=0)}s[w>>2]=h&255;a=s[R>>2]|0;i=s[b>>2]|0}s[R>>2]=a<<8&2147483392;i=i<<8;s[b>>2]=i;s[p>>2]=(s[p>>2]|0)+8}d=P+32|0;T=n[d>>0]|0;a=T<<24>>24;f=i>>>8;if(T<<24>>24>0){T=o[29437+(a+-1)>>0]|0;i=i-(te(f,T)|0)|0;s[R>>2]=(s[R>>2]|0)+i;i=te(f,T-(o[29437+a>>0]|0)|0)|0}else i=i-(te(f,o[29437+a>>0]|0)|0)|0;s[b>>2]=i;while(1){if(i>>>0>=8388609){h=i;c=0;break}a=s[R>>2]|0;h=a>>>23;if((h|0)==255)s[M>>2]=(s[M>>2]|0)+1;else{f=a>>>31;i=s[w>>2]|0;if((i|0)>-1){a=s[m>>2]|0;if((a+(s[g>>2]|0)|0)>>>0<(s[S>>2]|0)>>>0){s[m>>2]=a+1;n[(s[t>>2]|0)+a>>0]=i+f;i=0}else i=-1;s[v>>2]=s[v>>2]|i}i=s[M>>2]|0;if(i|0){f=f+255&255;do{a=s[m>>2]|0;if((a+(s[g>>2]|0)|0)>>>0<(s[S>>2]|0)>>>0){s[m>>2]=a+1;n[(s[t>>2]|0)+a>>0]=f;a=0;i=s[M>>2]|0}else a=-1;s[v>>2]=s[v>>2]|a;i=i+-1|0;s[M>>2]=i}while((i|0)!=0)}s[w>>2]=h&255;a=s[R>>2]|0;i=s[b>>2]|0}s[R>>2]=a<<8&2147483392;i=i<<8;s[b>>2]=i;s[p>>2]=(s[p>>2]|0)+8}while(1){if((c|0)>=(s[A>>2]|0))break;T=n[P+4+c>>0]|0;i=T<<24>>24;a=s[17376+(n[d>>0]<<2)>>2]|0;f=h>>>8;if(T<<24>>24>0){T=a+(i+-1)|0;E=h-(te(f,o[T>>0]|0)|0)|0;s[R>>2]=(s[R>>2]|0)+E;i=te(f,(o[T>>0]|0)-(o[a+i>>0]|0)|0)|0}else i=h-(te(f,o[a+i>>0]|0)|0)|0;s[b>>2]=i;while(1){if(i>>>0>=8388609)break;a=s[R>>2]|0;h=a>>>23;if((h|0)==255)s[M>>2]=(s[M>>2]|0)+1;else{f=a>>>31;i=s[w>>2]|0;if((i|0)>-1){a=s[m>>2]|0;if((a+(s[g>>2]|0)|0)>>>0<(s[S>>2]|0)>>>0){s[m>>2]=a+1;n[(s[t>>2]|0)+a>>0]=i+f;i=0}else i=-1;s[v>>2]=s[v>>2]|i}i=s[M>>2]|0;if(i|0){f=f+255&255;do{a=s[m>>2]|0;if((a+(s[g>>2]|0)|0)>>>0<(s[S>>2]|0)>>>0){s[m>>2]=a+1;n[(s[t>>2]|0)+a>>0]=f;a=0;i=s[M>>2]|0}else a=-1;s[v>>2]=s[v>>2]|a;i=i+-1|0;s[M>>2]=i}while((i|0)!=0)}s[w>>2]=h&255;a=s[R>>2]|0;i=s[b>>2]|0}s[R>>2]=a<<8&2147483392;i=i<<8;s[b>>2]=i;s[p>>2]=(s[p>>2]|0)+8}h=i;c=c+1|0}if(!l){l=n[P+33>>0]|0;i=l<<24>>24;a=h>>>8;if(l<<24>>24>0){l=o[29930+(i+-1)>>0]|0;T=h-(te(a,l)|0)|0;s[R>>2]=(s[R>>2]|0)+T;i=te(a,l-(o[29930+i>>0]|0)|0)|0}else i=h-(te(a,o[29930+i>>0]|0)|0)|0;s[b>>2]=i;while(1){if(i>>>0>=8388609)break e;a=s[R>>2]|0;h=a>>>23;if((h|0)==255)s[M>>2]=(s[M>>2]|0)+1;else{f=a>>>31;i=s[w>>2]|0;if((i|0)>-1){a=s[m>>2]|0;if((a+(s[g>>2]|0)|0)>>>0<(s[S>>2]|0)>>>0){s[m>>2]=a+1;n[(s[t>>2]|0)+a>>0]=i+f;i=0}else i=-1;s[v>>2]=s[v>>2]|i}i=s[M>>2]|0;if(i|0){f=f+255&255;do{a=s[m>>2]|0;if((a+(s[g>>2]|0)|0)>>>0<(s[S>>2]|0)>>>0){s[m>>2]=a+1;n[(s[t>>2]|0)+a>>0]=f;a=0;i=s[M>>2]|0}else a=-1;s[v>>2]=s[v>>2]|a;i=i+-1|0;s[M>>2]=i}while((i|0)!=0)}s[w>>2]=h&255;a=s[R>>2]|0;i=s[b>>2]|0}s[R>>2]=a<<8&2147483392;i=i<<8;s[b>>2]=i;s[p>>2]=(s[p>>2]|0)+8}}}while(0);s[e+5860>>2]=n[C>>0];e=n[P+34>>0]|0;i=e<<24>>24;a=s[b>>2]|0;f=a>>>8;if(e<<24>>24>0){e=o[29947+(i+-1)>>0]|0;P=a-(te(f,e)|0)|0;s[R>>2]=(s[R>>2]|0)+P;i=te(f,e-(o[29947+i>>0]|0)|0)|0}else i=a-(te(f,o[29947+i>>0]|0)|0)|0;s[b>>2]=i;while(1){if(i>>>0>=8388609)break;a=s[R>>2]|0;h=a>>>23;if((h|0)==255)s[M>>2]=(s[M>>2]|0)+1;else{f=a>>>31;i=s[w>>2]|0;if((i|0)>-1){a=s[m>>2]|0;if((a+(s[g>>2]|0)|0)>>>0<(s[S>>2]|0)>>>0){s[m>>2]=a+1;n[(s[t>>2]|0)+a>>0]=i+f;i=0}else i=-1;s[v>>2]=s[v>>2]|i}i=s[M>>2]|0;if(i|0){f=f+255&255;do{a=s[m>>2]|0;if((a+(s[g>>2]|0)|0)>>>0<(s[S>>2]|0)>>>0){s[m>>2]=a+1;n[(s[t>>2]|0)+a>>0]=f;a=0;i=s[M>>2]|0}else a=-1;s[v>>2]=s[v>>2]|a;i=i+-1|0;s[M>>2]=i}while((i|0)!=0)}s[w>>2]=h&255;a=s[R>>2]|0;i=s[b>>2]|0}s[R>>2]=a<<8&2147483392;i=i<<8;s[b>>2]=i;s[p>>2]=(s[p>>2]|0)+8}u=x;return}function Li(e,t,i,r,a){e=e|0;t=t|0;i=i|0;r=r|0;a=a|0;var l=0,f=0,h=0,c=0,d=0,p=0,b=0,w=0,m=0,g=0,_=0,v=0,k=0,y=0,E=0,A=0,T=0,S=0,M=0,R=0,C=0,P=0,x=0,I=0,O=0,N=0,D=0,L=0,U=0,B=0,j=0,F=0,G=0,H=0,z=0,q=0,W=0;W=u;u=u+96|0;q=W+56|0;x=W+40|0;I=W+32|0;m=W;s[m>>2]=0;s[m+4>>2]=0;s[m+8>>2]=0;s[m+12>>2]=0;s[m+16>>2]=0;s[m+20>>2]=0;s[m+24>>2]=0;s[m+28>>2]=0;l=a>>4;if((l<<4|0)<(a|0)){l=l+1|0;f=r+a|0;h=f+16|0;do{n[f>>0]=0;f=f+1|0}while((f|0)<(h|0))}f=l<<4;P=u;u=u+((1*(f<<2)|0)+15&-16)|0;h=0;while(1){if((h|0)>=(f|0))break;G=n[r+h>>0]|0;z=G<<24>>24;s[P+(h<<2)>>2]=G<<24>>24>0?z:0-z|0;z=h|1;G=n[r+z>>0]|0;H=G<<24>>24;s[P+(z<<2)>>2]=G<<24>>24>0?H:0-H|0;z=h|2;H=n[r+z>>0]|0;G=H<<24>>24;s[P+(z<<2)>>2]=H<<24>>24>0?G:0-G|0;z=h|3;G=n[r+z>>0]|0;H=G<<24>>24;s[P+(z<<2)>>2]=G<<24>>24>0?H:0-H|0;h=h+4|0}z=u;u=u+((1*(l<<2)|0)+15&-16)|0;O=u;u=u+((1*(l<<2)|0)+15&-16)|0;b=P;w=0;while(1){if((w|0)>=(l|0))break;d=O+(w<<2)|0;s[d>>2]=0;p=z+(w<<2)|0;h=0;e:while(1){if((h|0)<8){f=h<<1;f=(s[b+(f<<2)>>2]|0)+(s[b+((f|1)<<2)>>2]|0)|0;if((f|0)>8)c=1;else{s[m+(h<<2)>>2]=f;h=h+1|0;continue}}else c=0;h=0;while(1){if((h|0)>=4){f=0;break}f=h<<1;f=(s[m+(f<<2)>>2]|0)+(s[m+((f|1)<<2)>>2]|0)|0;if((f|0)>10){f=1;break}s[m+(h<<2)>>2]=f;h=h+1|0}c=c+f|0;h=0;while(1){if((h|0)>=2){f=0;break}f=h<<1;f=(s[m+(f<<2)>>2]|0)+(s[m+((f|1)<<2)>>2]|0)|0;if((f|0)>12){f=1;break}s[m+(h<<2)>>2]=f;h=h+1|0}c=c+f|0;h=0;while(1){if((h|0)>=1){f=0;break}f=h<<1;f=(s[m+(f<<2)>>2]|0)+(s[m+((f|1)<<2)>>2]|0)|0;if((f|0)>16){f=1;break}s[p+(h<<2)>>2]=f;h=h+1|0}if((c|0)==(0-f|0))break;s[d>>2]=(s[d>>2]|0)+1;f=0;while(1){if((f|0)==16){h=0;continue e}H=b+(f<<2)|0;s[H>>2]=s[H>>2]>>1;f=f+1|0}}b=b+64|0;w=w+1|0}w=t>>1;_=0;d=0;p=2147483647;while(1){if((d|0)==9)break;h=30270+(d*18|0)+17|0;c=0;b=o[30450+(w*9|0)+d>>0]|0;while(1){if((c|0)>=(l|0))break;if((s[O+(c<<2)>>2]|0)>0)f=h;else f=(s[z+(c<<2)>>2]|0)+(30270+(d*18|0))|0;c=c+1|0;b=b+(o[f>>0]|0)|0}H=(b|0)<(p|0);_=H?d:_;d=d+1|0;p=H?b:p}H=e+28|0;f=s[H>>2]|0;h=f>>>8;if((_|0)>0){G=o[_+-1+(30432+(w*9|0))>>0]|0;f=f-(te(h,G)|0)|0;N=e+32|0;s[N>>2]=(s[N>>2]|0)+f;f=te(h,G-(o[30432+(w*9|0)+_>>0]|0)|0)|0;s[H>>2]=f}else{f=f-(te(h,o[30432+(w*9|0)+_>>0]|0)|0)|0;s[H>>2]=f;N=e+32|0}D=e+36|0;L=e+20|0;U=e+40|0;B=e+24|0;j=e+8|0;F=e+4|0;G=e+44|0;while(1){if(f>>>0>=8388609)break;h=s[N>>2]|0;d=h>>>23;if((d|0)==255)s[D>>2]=(s[D>>2]|0)+1;else{c=h>>>31;f=s[U>>2]|0;if((f|0)>-1){h=s[B>>2]|0;if((h+(s[j>>2]|0)|0)>>>0<(s[F>>2]|0)>>>0){s[B>>2]=h+1;n[(s[e>>2]|0)+h>>0]=f+c;f=0}else f=-1;s[G>>2]=s[G>>2]|f}f=s[D>>2]|0;if(f|0){c=c+255&255;do{h=s[B>>2]|0;if((h+(s[j>>2]|0)|0)>>>0<(s[F>>2]|0)>>>0){s[B>>2]=h+1;n[(s[e>>2]|0)+h>>0]=c;h=0;f=s[D>>2]|0}else h=-1;s[G>>2]=s[G>>2]|h;f=f+-1|0;s[D>>2]=f}while((f|0)!=0)}s[U>>2]=d&255;h=s[N>>2]|0;f=s[H>>2]|0}s[N>>2]=h<<8&2147483392;f=f<<8;s[H>>2]=f;s[L>>2]=(s[L>>2]|0)+8}m=30090+(_*18|0)+16|0;g=30090+(_*18|0)+17|0;w=0;while(1){if((w|0)>=(l|0))break;p=s[O+(w<<2)>>2]|0;e:do if(!p){h=s[z+(w<<2)>>2]|0;c=f>>>8;if((h|0)>0){C=o[h+-1+(30090+(_*18|0))>>0]|0;f=f-(te(c,C)|0)|0;s[N>>2]=(s[N>>2]|0)+f;f=te(c,C-(o[30090+(_*18|0)+h>>0]|0)|0)|0}else f=f-(te(c,o[30090+(_*18|0)+h>>0]|0)|0)|0;s[H>>2]=f;while(1){if(f>>>0>=8388609)break e;h=s[N>>2]|0;d=h>>>23;if((d|0)==255)s[D>>2]=(s[D>>2]|0)+1;else{c=h>>>31;f=s[U>>2]|0;if((f|0)>-1){h=s[B>>2]|0;if((h+(s[j>>2]|0)|0)>>>0<(s[F>>2]|0)>>>0){s[B>>2]=h+1;n[(s[e>>2]|0)+h>>0]=f+c;f=0}else f=-1;s[G>>2]=s[G>>2]|f}f=s[D>>2]|0;if(f|0){c=c+255&255;do{h=s[B>>2]|0;if((h+(s[j>>2]|0)|0)>>>0<(s[F>>2]|0)>>>0){s[B>>2]=h+1;n[(s[e>>2]|0)+h>>0]=c;h=0;f=s[D>>2]|0}else h=-1;s[G>>2]=s[G>>2]|h;f=f+-1|0;s[D>>2]=f}while((f|0)!=0)}s[U>>2]=d&255;h=s[N>>2]|0;f=s[H>>2]|0}s[N>>2]=h<<8&2147483392;f=f<<8;s[H>>2]=f;s[L>>2]=(s[L>>2]|0)+8}}else{R=f>>>8;C=o[m>>0]|0;h=f-(te(R,C)|0)|0;h=(s[N>>2]|0)+h|0;s[N>>2]=h;f=te(R,C-(o[g>>0]|0)|0)|0;s[H>>2]=f;while(1){if(f>>>0>=8388609)break;d=h>>>23;if((d|0)==255)s[D>>2]=(s[D>>2]|0)+1;else{c=h>>>31;f=s[U>>2]|0;if((f|0)>-1){h=s[B>>2]|0;if((h+(s[j>>2]|0)|0)>>>0<(s[F>>2]|0)>>>0){s[B>>2]=h+1;n[(s[e>>2]|0)+h>>0]=f+c;f=0}else f=-1;s[G>>2]=s[G>>2]|f}f=s[D>>2]|0;if(f|0){c=c+255&255;do{h=s[B>>2]|0;if((h+(s[j>>2]|0)|0)>>>0<(s[F>>2]|0)>>>0){s[B>>2]=h+1;n[(s[e>>2]|0)+h>>0]=c;h=0;f=s[D>>2]|0}else h=-1;s[G>>2]=s[G>>2]|h;f=f+-1|0;s[D>>2]=f}while((f|0)!=0)}s[U>>2]=d&255;h=s[N>>2]|0;f=s[H>>2]|0}h=h<<8&2147483392;s[N>>2]=h;f=f<<8;s[H>>2]=f;s[L>>2]=(s[L>>2]|0)+8}b=p+-1|0;p=0;while(1){if((p|0)>=(b|0))break;C=f>>>8<<1;h=h+(f-C)|0;s[N>>2]=h;s[H>>2]=C;f=C;while(1){if(f>>>0>=8388609)break;d=h>>>23;if((d|0)==255)s[D>>2]=(s[D>>2]|0)+1;else{c=h>>>31;f=s[U>>2]|0;if((f|0)>-1){h=s[B>>2]|0;if((h+(s[j>>2]|0)|0)>>>0<(s[F>>2]|0)>>>0){s[B>>2]=h+1;n[(s[e>>2]|0)+h>>0]=f+c;f=0}else f=-1;s[G>>2]=s[G>>2]|f}f=s[D>>2]|0;if(f|0){c=c+255&255;do{h=s[B>>2]|0;if((h+(s[j>>2]|0)|0)>>>0<(s[F>>2]|0)>>>0){s[B>>2]=h+1;n[(s[e>>2]|0)+h>>0]=c;h=0;f=s[D>>2]|0}else h=-1;s[G>>2]=s[G>>2]|h;f=f+-1|0;s[D>>2]=f}while((f|0)!=0)}s[U>>2]=d&255;h=s[N>>2]|0;f=s[H>>2]|0}h=h<<8&2147483392;s[N>>2]=h;f=f<<8;s[H>>2]=f;s[L>>2]=(s[L>>2]|0)+8}p=p+1|0}c=s[z+(w<<2)>>2]|0;d=f>>>8;if((c|0)>0){C=o[30252+(c+-1)>>0]|0;h=h+(f-(te(d,C)|0))|0;s[N>>2]=h;f=te(d,C-(o[30252+c>>0]|0)|0)|0}else f=f-(te(d,o[30252+c>>0]|0)|0)|0;s[H>>2]=f;while(1){if(f>>>0>=8388609)break e;d=h>>>23;if((d|0)==255)s[D>>2]=(s[D>>2]|0)+1;else{c=h>>>31;f=s[U>>2]|0;if((f|0)>-1){h=s[B>>2]|0;if((h+(s[j>>2]|0)|0)>>>0<(s[F>>2]|0)>>>0){s[B>>2]=h+1;n[(s[e>>2]|0)+h>>0]=f+c;f=0}else f=-1;s[G>>2]=s[G>>2]|f}f=s[D>>2]|0;if(f|0){c=c+255&255;do{h=s[B>>2]|0;if((h+(s[j>>2]|0)|0)>>>0<(s[F>>2]|0)>>>0){s[B>>2]=h+1;n[(s[e>>2]|0)+h>>0]=c;h=0;f=s[D>>2]|0}else h=-1;s[G>>2]=s[G>>2]|h;f=f+-1|0;s[D>>2]=f}while((f|0)!=0)}s[U>>2]=d&255;h=s[N>>2]|0;f=s[H>>2]|0}h=h<<8&2147483392;s[N>>2]=h;f=f<<8;s[H>>2]=f;s[L>>2]=(s[L>>2]|0)+8}}while(0);w=w+1|0}_=q+4|0;v=q+8|0;k=x+4|0;y=q+12|0;E=x+8|0;A=I+4|0;T=q+16|0;S=q+20|0;M=q+24|0;R=x+12|0;C=q+28|0;g=0;h=0;while(1){if((g|0)>=(l|0)){_=0;break}if((s[z+(g<<2)>>2]|0)>0){m=P+(g<<4<<2)|0;c=0;while(1){if((c|0)==8){c=0;break}w=c<<1;s[q+(c<<2)>>2]=(s[m+(w<<2)>>2]|0)+(s[m+((w|1)<<2)>>2]|0);c=c+1|0}while(1){if((c|0)==4){c=0;break}w=c<<1;s[x+(c<<2)>>2]=(s[q+(w<<2)>>2]|0)+(s[q+((w|1)<<2)>>2]|0);c=c+1|0}while(1){if((c|0)==2){c=0;break}w=c<<1;s[I+(c<<2)>>2]=(s[x+(w<<2)>>2]|0)+(s[x+((w|1)<<2)>>2]|0);c=c+1|0}while(1){if((c|0)==1)break;h=c<<1;c=c+1|0;h=(s[I+(h<<2)>>2]|0)+(s[I+((h|1)<<2)>>2]|0)|0}b=s[I>>2]|0;e:do if((h|0)>0){c=30924+(o[31076+h>>0]|0)|0;d=f>>>8;if((b|0)>0){w=o[c+(b+-1)>>0]|0;f=f-(te(d,w)|0)|0;s[N>>2]=(s[N>>2]|0)+f;f=te(d,w-(o[c+b>>0]|0)|0)|0}else f=f-(te(d,o[c+b>>0]|0)|0)|0;s[H>>2]=f;while(1){if(f>>>0>=8388609)break e;c=s[N>>2]|0;p=c>>>23;if((p|0)==255)s[D>>2]=(s[D>>2]|0)+1;else{d=c>>>31;f=s[U>>2]|0;if((f|0)>-1){c=s[B>>2]|0;if((c+(s[j>>2]|0)|0)>>>0<(s[F>>2]|0)>>>0){s[B>>2]=c+1;n[(s[e>>2]|0)+c>>0]=f+d;f=0}else f=-1;s[G>>2]=s[G>>2]|f}f=s[D>>2]|0;if(f|0){d=d+255&255;do{c=s[B>>2]|0;if((c+(s[j>>2]|0)|0)>>>0<(s[F>>2]|0)>>>0){s[B>>2]=c+1;n[(s[e>>2]|0)+c>>0]=d;c=0;f=s[D>>2]|0}else c=-1;s[G>>2]=s[G>>2]|c;f=f+-1|0;s[D>>2]=f}while((f|0)!=0)}s[U>>2]=p&255;c=s[N>>2]|0;f=s[H>>2]|0}s[N>>2]=c<<8&2147483392;f=f<<8;s[H>>2]=f;s[L>>2]=(s[L>>2]|0)+8}}while(0);w=s[x>>2]|0;e:do if((b|0)>0){c=30772+(o[31076+b>>0]|0)|0;d=f>>>8;if((w|0)>0){b=o[c+(w+-1)>>0]|0;f=f-(te(d,b)|0)|0;s[N>>2]=(s[N>>2]|0)+f;f=te(d,b-(o[c+w>>0]|0)|0)|0}else f=f-(te(d,o[c+w>>0]|0)|0)|0;s[H>>2]=f;while(1){if(f>>>0>=8388609)break e;c=s[N>>2]|0;p=c>>>23;if((p|0)==255)s[D>>2]=(s[D>>2]|0)+1;else{d=c>>>31;f=s[U>>2]|0;if((f|0)>-1){c=s[B>>2]|0;if((c+(s[j>>2]|0)|0)>>>0<(s[F>>2]|0)>>>0){s[B>>2]=c+1;n[(s[e>>2]|0)+c>>0]=f+d;f=0}else f=-1;s[G>>2]=s[G>>2]|f}f=s[D>>2]|0;if(f|0){d=d+255&255;do{c=s[B>>2]|0;if((c+(s[j>>2]|0)|0)>>>0<(s[F>>2]|0)>>>0){s[B>>2]=c+1;n[(s[e>>2]|0)+c>>0]=d;c=0;f=s[D>>2]|0}else c=-1;s[G>>2]=s[G>>2]|c;f=f+-1|0;s[D>>2]=f}while((f|0)!=0)}s[U>>2]=p&255;c=s[N>>2]|0;f=s[H>>2]|0}s[N>>2]=c<<8&2147483392;f=f<<8;s[H>>2]=f;s[L>>2]=(s[L>>2]|0)+8}}while(0);b=s[q>>2]|0;e:do if((w|0)>0){c=30620+(o[31076+w>>0]|0)|0;d=f>>>8;if((b|0)>0){w=o[c+(b+-1)>>0]|0;f=f-(te(d,w)|0)|0;s[N>>2]=(s[N>>2]|0)+f;f=te(d,w-(o[c+b>>0]|0)|0)|0}else f=f-(te(d,o[c+b>>0]|0)|0)|0;s[H>>2]=f;while(1){if(f>>>0>=8388609)break e;c=s[N>>2]|0;p=c>>>23;if((p|0)==255)s[D>>2]=(s[D>>2]|0)+1;else{d=c>>>31;f=s[U>>2]|0;if((f|0)>-1){c=s[B>>2]|0;if((c+(s[j>>2]|0)|0)>>>0<(s[F>>2]|0)>>>0){s[B>>2]=c+1;n[(s[e>>2]|0)+c>>0]=f+d;f=0}else f=-1;s[G>>2]=s[G>>2]|f}f=s[D>>2]|0;if(f|0){d=d+255&255;do{c=s[B>>2]|0;if((c+(s[j>>2]|0)|0)>>>0<(s[F>>2]|0)>>>0){s[B>>2]=c+1;n[(s[e>>2]|0)+c>>0]=d;c=0;f=s[D>>2]|0}else c=-1;s[G>>2]=s[G>>2]|c;f=f+-1|0;s[D>>2]=f}while((f|0)!=0)}s[U>>2]=p&255;c=s[N>>2]|0;f=s[H>>2]|0}s[N>>2]=c<<8&2147483392;f=f<<8;s[H>>2]=f;s[L>>2]=(s[L>>2]|0)+8}}while(0);p=s[m>>2]|0;e:do if((b|0)>0){c=30468+(o[31076+b>>0]|0)|0;d=f>>>8;if((p|0)>0){w=o[c+(p+-1)>>0]|0;f=f-(te(d,w)|0)|0;s[N>>2]=(s[N>>2]|0)+f;f=te(d,w-(o[c+p>>0]|0)|0)|0}else f=f-(te(d,o[c+p>>0]|0)|0)|0;s[H>>2]=f;while(1){if(f>>>0>=8388609)break e;c=s[N>>2]|0;p=c>>>23;if((p|0)==255)s[D>>2]=(s[D>>2]|0)+1;else{d=c>>>31;f=s[U>>2]|0;if((f|0)>-1){c=s[B>>2]|0;if((c+(s[j>>2]|0)|0)>>>0<(s[F>>2]|0)>>>0){s[B>>2]=c+1;n[(s[e>>2]|0)+c>>0]=f+d;f=0}else f=-1;s[G>>2]=s[G>>2]|f}f=s[D>>2]|0;if(f|0){d=d+255&255;do{c=s[B>>2]|0;if((c+(s[j>>2]|0)|0)>>>0<(s[F>>2]|0)>>>0){s[B>>2]=c+1;n[(s[e>>2]|0)+c>>0]=d;c=0;f=s[D>>2]|0}else c=-1;s[G>>2]=s[G>>2]|c;f=f+-1|0;s[D>>2]=f}while((f|0)!=0)}s[U>>2]=p&255;c=s[N>>2]|0;f=s[H>>2]|0}s[N>>2]=c<<8&2147483392;f=f<<8;s[H>>2]=f;s[L>>2]=(s[L>>2]|0)+8}}while(0);p=s[m+8>>2]|0;c=s[_>>2]|0;e:do if((c|0)>0){c=30468+(o[31076+c>>0]|0)|0;d=f>>>8;if((p|0)>0){w=o[c+(p+-1)>>0]|0;f=f-(te(d,w)|0)|0;s[N>>2]=(s[N>>2]|0)+f;f=te(d,w-(o[c+p>>0]|0)|0)|0}else f=f-(te(d,o[c+p>>0]|0)|0)|0;s[H>>2]=f;while(1){if(f>>>0>=8388609)break e;c=s[N>>2]|0;p=c>>>23;if((p|0)==255)s[D>>2]=(s[D>>2]|0)+1;else{d=c>>>31;f=s[U>>2]|0;if((f|0)>-1){c=s[B>>2]|0;if((c+(s[j>>2]|0)|0)>>>0<(s[F>>2]|0)>>>0){s[B>>2]=c+1;n[(s[e>>2]|0)+c>>0]=f+d;f=0}else f=-1;s[G>>2]=s[G>>2]|f}f=s[D>>2]|0;if(f|0){d=d+255&255;do{c=s[B>>2]|0;if((c+(s[j>>2]|0)|0)>>>0<(s[F>>2]|0)>>>0){s[B>>2]=c+1;n[(s[e>>2]|0)+c>>0]=d;c=0;f=s[D>>2]|0}else c=-1;s[G>>2]=s[G>>2]|c;f=f+-1|0;s[D>>2]=f}while((f|0)!=0)}s[U>>2]=p&255;c=s[N>>2]|0;f=s[H>>2]|0}s[N>>2]=c<<8&2147483392;f=f<<8;s[H>>2]=f;s[L>>2]=(s[L>>2]|0)+8}}while(0);b=s[v>>2]|0;c=s[k>>2]|0;e:do if((c|0)>0){c=30620+(o[31076+c>>0]|0)|0;d=f>>>8;if((b|0)>0){w=o[c+(b+-1)>>0]|0;f=f-(te(d,w)|0)|0;s[N>>2]=(s[N>>2]|0)+f;f=te(d,w-(o[c+b>>0]|0)|0)|0}else f=f-(te(d,o[c+b>>0]|0)|0)|0;s[H>>2]=f;while(1){if(f>>>0>=8388609)break e;c=s[N>>2]|0;p=c>>>23;if((p|0)==255)s[D>>2]=(s[D>>2]|0)+1;else{d=c>>>31;f=s[U>>2]|0;if((f|0)>-1){c=s[B>>2]|0;if((c+(s[j>>2]|0)|0)>>>0<(s[F>>2]|0)>>>0){s[B>>2]=c+1;n[(s[e>>2]|0)+c>>0]=f+d;f=0}else f=-1;s[G>>2]=s[G>>2]|f}f=s[D>>2]|0;if(f|0){d=d+255&255;do{c=s[B>>2]|0;if((c+(s[j>>2]|0)|0)>>>0<(s[F>>2]|0)>>>0){s[B>>2]=c+1;n[(s[e>>2]|0)+c>>0]=d;c=0;f=s[D>>2]|0}else c=-1;s[G>>2]=s[G>>2]|c;f=f+-1|0;s[D>>2]=f}while((f|0)!=0)}s[U>>2]=p&255;c=s[N>>2]|0;f=s[H>>2]|0}s[N>>2]=c<<8&2147483392;f=f<<8;s[H>>2]=f;s[L>>2]=(s[L>>2]|0)+8}}while(0);p=s[m+16>>2]|0;e:do if((b|0)>0){c=30468+(o[31076+b>>0]|0)|0;d=f>>>8;if((p|0)>0){w=o[c+(p+-1)>>0]|0;f=f-(te(d,w)|0)|0;s[N>>2]=(s[N>>2]|0)+f;f=te(d,w-(o[c+p>>0]|0)|0)|0}else f=f-(te(d,o[c+p>>0]|0)|0)|0;s[H>>2]=f;while(1){if(f>>>0>=8388609)break e;c=s[N>>2]|0;p=c>>>23;if((p|0)==255)s[D>>2]=(s[D>>2]|0)+1;else{d=c>>>31;f=s[U>>2]|0;if((f|0)>-1){c=s[B>>2]|0;if((c+(s[j>>2]|0)|0)>>>0<(s[F>>2]|0)>>>0){s[B>>2]=c+1;n[(s[e>>2]|0)+c>>0]=f+d;f=0}else f=-1;s[G>>2]=s[G>>2]|f}f=s[D>>2]|0;if(f|0){d=d+255&255;do{c=s[B>>2]|0;if((c+(s[j>>2]|0)|0)>>>0<(s[F>>2]|0)>>>0){s[B>>2]=c+1;n[(s[e>>2]|0)+c>>0]=d;c=0;f=s[D>>2]|0}else c=-1;s[G>>2]=s[G>>2]|c;f=f+-1|0;s[D>>2]=f}while((f|0)!=0)}s[U>>2]=p&255;c=s[N>>2]|0;f=s[H>>2]|0}s[N>>2]=c<<8&2147483392;f=f<<8;s[H>>2]=f;s[L>>2]=(s[L>>2]|0)+8}}while(0);p=s[m+24>>2]|0;c=s[y>>2]|0;e:do if((c|0)>0){c=30468+(o[31076+c>>0]|0)|0;d=f>>>8;if((p|0)>0){w=o[c+(p+-1)>>0]|0;f=f-(te(d,w)|0)|0;s[N>>2]=(s[N>>2]|0)+f;f=te(d,w-(o[c+p>>0]|0)|0)|0}else f=f-(te(d,o[c+p>>0]|0)|0)|0;s[H>>2]=f;while(1){if(f>>>0>=8388609)break e;c=s[N>>2]|0;p=c>>>23;if((p|0)==255)s[D>>2]=(s[D>>2]|0)+1;else{d=c>>>31;f=s[U>>2]|0;if((f|0)>-1){c=s[B>>2]|0;if((c+(s[j>>2]|0)|0)>>>0<(s[F>>2]|0)>>>0){s[B>>2]=c+1;n[(s[e>>2]|0)+c>>0]=f+d;f=0}else f=-1;s[G>>2]=s[G>>2]|f}f=s[D>>2]|0;if(f|0){d=d+255&255;do{c=s[B>>2]|0;if((c+(s[j>>2]|0)|0)>>>0<(s[F>>2]|0)>>>0){s[B>>2]=c+1;n[(s[e>>2]|0)+c>>0]=d;c=0;f=s[D>>2]|0}else c=-1;s[G>>2]=s[G>>2]|c;f=f+-1|0;s[D>>2]=f}while((f|0)!=0)}s[U>>2]=p&255;c=s[N>>2]|0;f=s[H>>2]|0}s[N>>2]=c<<8&2147483392;f=f<<8;s[H>>2]=f;s[L>>2]=(s[L>>2]|0)+8}}while(0);b=s[E>>2]|0;c=s[A>>2]|0;e:do if((c|0)>0){c=30772+(o[31076+c>>0]|0)|0;d=f>>>8;if((b|0)>0){w=o[c+(b+-1)>>0]|0;f=f-(te(d,w)|0)|0;s[N>>2]=(s[N>>2]|0)+f;f=te(d,w-(o[c+b>>0]|0)|0)|0}else f=f-(te(d,o[c+b>>0]|0)|0)|0;s[H>>2]=f;while(1){if(f>>>0>=8388609)break e;c=s[N>>2]|0;p=c>>>23;if((p|0)==255)s[D>>2]=(s[D>>2]|0)+1;else{d=c>>>31;f=s[U>>2]|0;if((f|0)>-1){c=s[B>>2]|0;if((c+(s[j>>2]|0)|0)>>>0<(s[F>>2]|0)>>>0){s[B>>2]=c+1;n[(s[e>>2]|0)+c>>0]=f+d;f=0}else f=-1;s[G>>2]=s[G>>2]|f}f=s[D>>2]|0;if(f|0){d=d+255&255;do{c=s[B>>2]|0;if((c+(s[j>>2]|0)|0)>>>0<(s[F>>2]|0)>>>0){s[B>>2]=c+1;n[(s[e>>2]|0)+c>>0]=d;c=0;f=s[D>>2]|0}else c=-1;s[G>>2]=s[G>>2]|c;f=f+-1|0;s[D>>2]=f}while((f|0)!=0)}s[U>>2]=p&255;c=s[N>>2]|0;f=s[H>>2]|0}s[N>>2]=c<<8&2147483392;f=f<<8;s[H>>2]=f;s[L>>2]=(s[L>>2]|0)+8}}while(0);w=s[T>>2]|0;e:do if((b|0)>0){c=30620+(o[31076+b>>0]|0)|0;d=f>>>8;if((w|0)>0){b=o[c+(w+-1)>>0]|0;f=f-(te(d,b)|0)|0;s[N>>2]=(s[N>>2]|0)+f;f=te(d,b-(o[c+w>>0]|0)|0)|0}else f=f-(te(d,o[c+w>>0]|0)|0)|0;s[H>>2]=f;while(1){if(f>>>0>=8388609)break e;c=s[N>>2]|0;p=c>>>23;if((p|0)==255)s[D>>2]=(s[D>>2]|0)+1;else{d=c>>>31;f=s[U>>2]|0;if((f|0)>-1){c=s[B>>2]|0;if((c+(s[j>>2]|0)|0)>>>0<(s[F>>2]|0)>>>0){s[B>>2]=c+1;n[(s[e>>2]|0)+c>>0]=f+d;f=0}else f=-1;s[G>>2]=s[G>>2]|f}f=s[D>>2]|0;if(f|0){d=d+255&255;do{c=s[B>>2]|0;if((c+(s[j>>2]|0)|0)>>>0<(s[F>>2]|0)>>>0){s[B>>2]=c+1;n[(s[e>>2]|0)+c>>0]=d;c=0;f=s[D>>2]|0}else c=-1;s[G>>2]=s[G>>2]|c;f=f+-1|0;s[D>>2]=f}while((f|0)!=0)}s[U>>2]=p&255;c=s[N>>2]|0;f=s[H>>2]|0}s[N>>2]=c<<8&2147483392;f=f<<8;s[H>>2]=f;s[L>>2]=(s[L>>2]|0)+8}}while(0);p=s[m+32>>2]|0;e:do if((w|0)>0){c=30468+(o[31076+w>>0]|0)|0;d=f>>>8;if((p|0)>0){w=o[c+(p+-1)>>0]|0;f=f-(te(d,w)|0)|0;s[N>>2]=(s[N>>2]|0)+f;f=te(d,w-(o[c+p>>0]|0)|0)|0}else f=f-(te(d,o[c+p>>0]|0)|0)|0;s[H>>2]=f;while(1){if(f>>>0>=8388609)break e;c=s[N>>2]|0;p=c>>>23;if((p|0)==255)s[D>>2]=(s[D>>2]|0)+1;else{d=c>>>31;f=s[U>>2]|0;if((f|0)>-1){c=s[B>>2]|0;if((c+(s[j>>2]|0)|0)>>>0<(s[F>>2]|0)>>>0){s[B>>2]=c+1;n[(s[e>>2]|0)+c>>0]=f+d;f=0}else f=-1;s[G>>2]=s[G>>2]|f}f=s[D>>2]|0;if(f|0){d=d+255&255;do{c=s[B>>2]|0;if((c+(s[j>>2]|0)|0)>>>0<(s[F>>2]|0)>>>0){s[B>>2]=c+1;n[(s[e>>2]|0)+c>>0]=d;c=0;f=s[D>>2]|0}else c=-1;s[G>>2]=s[G>>2]|c;f=f+-1|0;s[D>>2]=f}while((f|0)!=0)}s[U>>2]=p&255;c=s[N>>2]|0;f=s[H>>2]|0}s[N>>2]=c<<8&2147483392;f=f<<8;s[H>>2]=f;s[L>>2]=(s[L>>2]|0)+8}}while(0);p=s[m+40>>2]|0;c=s[S>>2]|0;e:do if((c|0)>0){c=30468+(o[31076+c>>0]|0)|0;d=f>>>8;if((p|0)>0){w=o[c+(p+-1)>>0]|0;f=f-(te(d,w)|0)|0;s[N>>2]=(s[N>>2]|0)+f;f=te(d,w-(o[c+p>>0]|0)|0)|0}else f=f-(te(d,o[c+p>>0]|0)|0)|0;s[H>>2]=f;while(1){if(f>>>0>=8388609)break e;c=s[N>>2]|0;p=c>>>23;if((p|0)==255)s[D>>2]=(s[D>>2]|0)+1;else{d=c>>>31;f=s[U>>2]|0;if((f|0)>-1){c=s[B>>2]|0;if((c+(s[j>>2]|0)|0)>>>0<(s[F>>2]|0)>>>0){s[B>>2]=c+1;n[(s[e>>2]|0)+c>>0]=f+d;f=0}else f=-1;s[G>>2]=s[G>>2]|f}f=s[D>>2]|0;if(f|0){d=d+255&255;do{c=s[B>>2]|0;if((c+(s[j>>2]|0)|0)>>>0<(s[F>>2]|0)>>>0){s[B>>2]=c+1;n[(s[e>>2]|0)+c>>0]=d;c=0;f=s[D>>2]|0}else c=-1;s[G>>2]=s[G>>2]|c;f=f+-1|0;s[D>>2]=f}while((f|0)!=0)}s[U>>2]=p&255;c=s[N>>2]|0;f=s[H>>2]|0}s[N>>2]=c<<8&2147483392;f=f<<8;s[H>>2]=f;s[L>>2]=(s[L>>2]|0)+8}}while(0);b=s[M>>2]|0;c=s[R>>2]|0;e:do if((c|0)>0){c=30620+(o[31076+c>>0]|0)|0;d=f>>>8;if((b|0)>0){w=o[c+(b+-1)>>0]|0;f=f-(te(d,w)|0)|0;s[N>>2]=(s[N>>2]|0)+f;f=te(d,w-(o[c+b>>0]|0)|0)|0}else f=f-(te(d,o[c+b>>0]|0)|0)|0;s[H>>2]=f;while(1){if(f>>>0>=8388609)break e;c=s[N>>2]|0;p=c>>>23;if((p|0)==255)s[D>>2]=(s[D>>2]|0)+1;else{d=c>>>31;f=s[U>>2]|0;if((f|0)>-1){c=s[B>>2]|0;if((c+(s[j>>2]|0)|0)>>>0<(s[F>>2]|0)>>>0){s[B>>2]=c+1;n[(s[e>>2]|0)+c>>0]=f+d;f=0}else f=-1;s[G>>2]=s[G>>2]|f}f=s[D>>2]|0;if(f|0){d=d+255&255;do{c=s[B>>2]|0;if((c+(s[j>>2]|0)|0)>>>0<(s[F>>2]|0)>>>0){s[B>>2]=c+1;n[(s[e>>2]|0)+c>>0]=d;c=0;f=s[D>>2]|0}else c=-1;s[G>>2]=s[G>>2]|c;f=f+-1|0;s[D>>2]=f}while((f|0)!=0)}s[U>>2]=p&255;c=s[N>>2]|0;f=s[H>>2]|0}s[N>>2]=c<<8&2147483392;f=f<<8;s[H>>2]=f;s[L>>2]=(s[L>>2]|0)+8}}while(0);p=s[m+48>>2]|0;e:do if((b|0)>0){c=30468+(o[31076+b>>0]|0)|0;d=f>>>8;if((p|0)>0){w=o[c+(p+-1)>>0]|0;f=f-(te(d,w)|0)|0;s[N>>2]=(s[N>>2]|0)+f;f=te(d,w-(o[c+p>>0]|0)|0)|0}else f=f-(te(d,o[c+p>>0]|0)|0)|0;s[H>>2]=f;while(1){if(f>>>0>=8388609)break e;c=s[N>>2]|0;p=c>>>23;if((p|0)==255)s[D>>2]=(s[D>>2]|0)+1;else{d=c>>>31;f=s[U>>2]|0;if((f|0)>-1){c=s[B>>2]|0;if((c+(s[j>>2]|0)|0)>>>0<(s[F>>2]|0)>>>0){s[B>>2]=c+1;n[(s[e>>2]|0)+c>>0]=f+d;f=0}else f=-1;s[G>>2]=s[G>>2]|f}f=s[D>>2]|0;if(f|0){d=d+255&255;do{c=s[B>>2]|0;if((c+(s[j>>2]|0)|0)>>>0<(s[F>>2]|0)>>>0){s[B>>2]=c+1;n[(s[e>>2]|0)+c>>0]=d;c=0;f=s[D>>2]|0}else c=-1;s[G>>2]=s[G>>2]|c;f=f+-1|0;s[D>>2]=f}while((f|0)!=0)}s[U>>2]=p&255;c=s[N>>2]|0;f=s[H>>2]|0}s[N>>2]=c<<8&2147483392;f=f<<8;s[H>>2]=f;s[L>>2]=(s[L>>2]|0)+8}}while(0);p=s[m+56>>2]|0;c=s[C>>2]|0;e:do if((c|0)>0){c=30468+(o[31076+c>>0]|0)|0;d=f>>>8;if((p|0)>0){m=o[c+(p+-1)>>0]|0;f=f-(te(d,m)|0)|0;s[N>>2]=(s[N>>2]|0)+f;f=te(d,m-(o[c+p>>0]|0)|0)|0}else f=f-(te(d,o[c+p>>0]|0)|0)|0;s[H>>2]=f;while(1){if(f>>>0>=8388609)break e;c=s[N>>2]|0;p=c>>>23;if((p|0)==255)s[D>>2]=(s[D>>2]|0)+1;else{d=c>>>31;f=s[U>>2]|0;if((f|0)>-1){c=s[B>>2]|0;if((c+(s[j>>2]|0)|0)>>>0<(s[F>>2]|0)>>>0){s[B>>2]=c+1;n[(s[e>>2]|0)+c>>0]=f+d;f=0}else f=-1;s[G>>2]=s[G>>2]|f}f=s[D>>2]|0;if(f|0){d=d+255&255;do{c=s[B>>2]|0;if((c+(s[j>>2]|0)|0)>>>0<(s[F>>2]|0)>>>0){s[B>>2]=c+1;n[(s[e>>2]|0)+c>>0]=d;c=0;f=s[D>>2]|0}else c=-1;s[G>>2]=s[G>>2]|c;f=f+-1|0;s[D>>2]=f}while((f|0)!=0)}s[U>>2]=p&255;c=s[N>>2]|0;f=s[H>>2]|0}s[N>>2]=c<<8&2147483392;f=f<<8;s[H>>2]=f;s[L>>2]=(s[L>>2]|0)+8}}while(0)}g=g+1|0}while(1){if((_|0)>=(l|0))break;m=s[O+(_<<2)>>2]|0;e:do if((m|0)>0){g=r+(_<<4)|0;w=0;while(1){if((w|0)==16)break e;h=n[g+w>>0]|0;b=h<<24>>24;b=(h<<24>>24>0?b:0-b|0)<<24>>24;h=m;t:while(1){p=h+-1|0;if((h|0)<=1)break;h=b>>>p&1;c=f>>>8;d=n[29928+h>>0]|0;if(!h)f=f-(te(c,d&255)|0)|0;else{I=o[29928+(h+-1)>>0]|0;f=f-(te(c,I)|0)|0;s[N>>2]=(s[N>>2]|0)+f;f=te(c,I-(d&255)|0)|0}s[H>>2]=f;while(1){if(f>>>0>=8388609){h=p;continue t}h=s[N>>2]|0;d=h>>>23;if((d|0)==255)s[D>>2]=(s[D>>2]|0)+1;else{
c=h>>>31;f=s[U>>2]|0;if((f|0)>-1){h=s[B>>2]|0;if((h+(s[j>>2]|0)|0)>>>0<(s[F>>2]|0)>>>0){s[B>>2]=h+1;n[(s[e>>2]|0)+h>>0]=f+c;f=0}else f=-1;s[G>>2]=s[G>>2]|f}f=s[D>>2]|0;if(f|0){c=c+255&255;do{h=s[B>>2]|0;if((h+(s[j>>2]|0)|0)>>>0<(s[F>>2]|0)>>>0){s[B>>2]=h+1;n[(s[e>>2]|0)+h>>0]=c;h=0;f=s[D>>2]|0}else h=-1;s[G>>2]=s[G>>2]|h;f=f+-1|0;s[D>>2]=f}while((f|0)!=0)}s[U>>2]=d&255;h=s[N>>2]|0;f=s[H>>2]|0}s[N>>2]=h<<8&2147483392;f=f<<8;s[H>>2]=f;s[L>>2]=(s[L>>2]|0)+8}}h=b&1;c=f>>>8;d=n[29928+h>>0]|0;if(!h)f=f-(te(c,d&255)|0)|0;else{I=o[29928+(h+-1)>>0]|0;f=f-(te(c,I)|0)|0;s[N>>2]=(s[N>>2]|0)+f;f=te(c,I-(d&255)|0)|0}s[H>>2]=f;while(1){if(f>>>0>=8388609)break;h=s[N>>2]|0;d=h>>>23;if((d|0)==255)s[D>>2]=(s[D>>2]|0)+1;else{c=h>>>31;f=s[U>>2]|0;if((f|0)>-1){h=s[B>>2]|0;if((h+(s[j>>2]|0)|0)>>>0<(s[F>>2]|0)>>>0){s[B>>2]=h+1;n[(s[e>>2]|0)+h>>0]=f+c;f=0}else f=-1;s[G>>2]=s[G>>2]|f}f=s[D>>2]|0;if(f|0){c=c+255&255;do{h=s[B>>2]|0;if((h+(s[j>>2]|0)|0)>>>0<(s[F>>2]|0)>>>0){s[B>>2]=h+1;n[(s[e>>2]|0)+h>>0]=c;h=0;f=s[D>>2]|0}else h=-1;s[G>>2]=s[G>>2]|h;f=f+-1|0;s[D>>2]=f}while((f|0)!=0)}s[U>>2]=d&255;h=s[N>>2]|0;f=s[H>>2]|0}s[N>>2]=h<<8&2147483392;f=f<<8;s[H>>2]=f;s[L>>2]=(s[L>>2]|0)+8}w=w+1|0}}while(0);_=_+1|0}n[q+1>>0]=0;m=31093+(((t<<1)+i<<16>>16)*7|0)|0;w=a+8>>4;l=f;b=0;p=r;while(1){if((b|0)>=(w|0))break;f=s[z+(b<<2)>>2]|0;e:do if((f|0)>0){n[q>>0]=n[m+((f&30)>>>0<6?f&31:6)>>0]|0;d=0;while(1){if((d|0)==16)break e;f=n[p+d>>0]|0;t:do if(f<<24>>24){f=f<<24>>24>>15;h=f+1|0;c=l>>>8;if((f|0)>-1){r=o[q+f>>0]|0;l=l-(te(c,r)|0)|0;s[N>>2]=(s[N>>2]|0)+l;l=te(c,r-(o[q+h>>0]|0)|0)|0}else l=l-(te(c,o[q+h>>0]|0)|0)|0;s[H>>2]=l;while(1){if(l>>>0>=8388609)break t;f=s[N>>2]|0;c=f>>>23;if((c|0)==255)s[D>>2]=(s[D>>2]|0)+1;else{h=f>>>31;l=s[U>>2]|0;if((l|0)>-1){f=s[B>>2]|0;if((f+(s[j>>2]|0)|0)>>>0<(s[F>>2]|0)>>>0){s[B>>2]=f+1;n[(s[e>>2]|0)+f>>0]=l+h;l=0}else l=-1;s[G>>2]=s[G>>2]|l}l=s[D>>2]|0;if(l|0){h=h+255&255;do{f=s[B>>2]|0;if((f+(s[j>>2]|0)|0)>>>0<(s[F>>2]|0)>>>0){s[B>>2]=f+1;n[(s[e>>2]|0)+f>>0]=h;f=0;l=s[D>>2]|0}else f=-1;s[G>>2]=s[G>>2]|f;l=l+-1|0;s[D>>2]=l}while((l|0)!=0)}s[U>>2]=c&255;f=s[N>>2]|0;l=s[H>>2]|0}s[N>>2]=f<<8&2147483392;l=l<<8;s[H>>2]=l;s[L>>2]=(s[L>>2]|0)+8}}while(0);d=d+1|0}}while(0);b=b+1|0;p=p+16|0}u=W;return}function Ui(e,t,i,o){e=e|0;t=t|0;i=i|0;o=o|0;var a=0,l=0,f=0,h=0,u=0;f=i+2|0;a=r[f>>1]|0;o=(te(a<<16>>16,o)|0)/2|0;l=i+20|0;o=(s[i+24>>2]|0)+o|0;i=0;while(1){if((i|0)>=(a<<16>>16|0))break;u=n[o>>0]|0;h=u&255;r[e+(i<<1)>>1]=(h>>>1&7)*9;n[t+i>>0]=n[(s[l>>2]|0)+(i+((r[f>>1]|0)+-1&0-(h&1)))>>0]|0;a=i|1;r[e+(a<<1)>>1]=((u&255)>>>5&255)*9;n[t+a>>0]=n[(s[l>>2]|0)+(i+((r[f>>1]|0)+-1&0-(h>>>4&1))+1)>>0]|0;a=r[f>>1]|0;o=o+1|0;i=i+2|0}return}function Bi(e,t,i,o,l,f,h,c,d,p,b){e=e|0;t=t|0;i=i|0;o=o|0;l=l|0;f=f|0;h=h|0;c=c|0;d=d|0;p=p|0;b=b|0;var w=0,m=0,g=0,_=0,v=0,k=0,y=0,E=0,A=0,T=0,S=0,M=0,R=0,C=0,P=0,x=0;C=u;u=u+16|0;S=C+8|0;y=C+4|0;k=C;M=t+-4|0;w=b+2|0;R=u;u=u+((1*(w<<1)|0)+15&-16)|0;m=0;while(1){if((m|0)>=(w|0))break;A=m+-2|0;v=r[t+(A<<1)>>1]|0;A=r[i+(A<<1)>>1]|0;E=v+A|0;A=v-A|0;r[M+(m<<1)>>1]=(E>>>1)+(E&1);A=(A>>1)+(A&1)|0;r[R+(m<<1)>>1]=(A|0)>32767?32767:((A|0)<-32768?-32768:A)&65535;m=m+1|0}v=e+4|0;g=a[v>>1]|a[v+2>>1]<<16;r[M>>1]=g;r[M+2>>1]=g>>>16;g=e+8|0;m=a[g>>1]|a[g+2>>1]<<16;s[R>>2]=m;w=M+(b<<1)|0;w=a[w>>1]|a[w+2>>1]<<16;r[v>>1]=w;r[v+2>>1]=w>>>16;v=R+(b<<1)|0;v=a[v>>1]|a[v+2>>1]<<16;r[g>>1]=v;r[g+2>>1]=v>>>16;g=u;u=u+((1*(b<<1)|0)+15&-16)|0;v=u;u=u+((1*(b<<1)|0)+15&-16)|0;w=0;while(1){if((w|0)>=(b|0))break;A=w+1|0;_=r[M+(A<<1)>>1]|0;E=((r[M+(w<<1)>>1]|0)+(r[M+(w+2<<1)>>1]|0)+(_<<16>>16<<1)>>1)+1>>1;r[g+(w<<1)>>1]=E;r[v+(w<<1)>>1]=(_&65535)-E;w=A}t=u;u=u+((1*(b<<1)|0)+15&-16)|0;_=u;u=u+((1*(b<<1)|0)+15&-16)|0;w=m&65535;m=0;while(1){if((m|0)>=(b|0))break;A=m+1|0;E=r[R+(A<<1)>>1]|0;P=((w<<16>>16)+(r[R+(m+2<<1)>>1]|0)+(E<<16>>16<<1)>>1)+1>>1;r[t+(m<<1)>>1]=P;r[_+(m<<1)>>1]=(E&65535)-P;w=E;m=A}w=(p*10|0)==(b|0);E=w?328:655;c=c<<16>>16;c=te(c,c)|0;c=(te(c>>>16,E)|0)+((te(c&65535,E)|0)>>>16)|0;E=Zi(y,g,t,e+12|0,b,c)|0;s[S>>2]=E;_=Zi(k,v,_,e+20|0,b,c)|0;A=S+4|0;s[A>>2]=_;g=(s[k>>2]|0)+((s[y>>2]<<16>>16)*3|0)|0;g=(g|0)<65536?g:65536;v=h-(w?1200:600)|0;v=(v|0)<1?1:v;t=((p<<16>>16)*900|0)+2e3|0;w=g*3|0;m=ji(v,w+851968|0,19)|0;s[f>>2]=m;if((m|0)<(t|0)){s[f>>2]=t;h=v-t|0;s[f+4>>2]=h;P=t<<16>>16;w=ji((h<<1)-t|0,(te(w+65536>>16,P)|0)+((te(w&65535,P)|0)>>16)|0,16)|0;if((w|0)>16384)w=16384;else w=(w|0)<0?0:w}else{s[f+4>>2]=v-m;w=16384}m=e+28|0;y=r[m>>1]|0;h=y&65535;P=c<<16>>16;r[m>>1]=h+((te(w-(y<<16>>16)>>16,P)|0)+((te(w-h&65535,P)|0)>>>16));n[l>>0]=0;e:do if(!d){do if(!(r[e+30>>1]|0)){if((v<<3|0)>=(t*13|0)){w=s[m>>2]|0;P=w<<16>>16;if(((te(g>>16,P)|0)+((te(g&65535,P)|0)>>16)|0)<819)w=w&65535;else{if((w>>>16&65535)<<16>>16){T=23;break}w=r[m>>1]|0;break}}else w=r[m>>1]|0;s[S>>2]=(te(w<<16>>16,E<<16>>16)|0)>>14;s[A>>2]=(te(w<<16>>16,_<<16>>16)|0)>>14;Ki(S,o);s[S>>2]=0;s[A>>2]=0;s[f>>2]=v;s[f+4>>2]=0;n[l>>0]=1;m=0;T=31;break e}else T=23;while(0);do if((T|0)==23){if((v<<3|0)>=(t*11|0)){w=r[m>>1]|0;P=w<<16>>16;if(((te(g>>16,P)|0)+((te(g&65535,P)|0)>>16)|0)>=328)break}else w=r[m>>1]|0;w=w<<16>>16;s[S>>2]=(te(w,E<<16>>16)|0)>>14;s[A>>2]=(te(w,_<<16>>16)|0)>>14;Ki(S,o);s[S>>2]=0;s[A>>2]=0;w=0;T=30;break e}while(0);if(w<<16>>16>15565){Ki(S,o);w=16384;T=30;break}else{w=w<<16>>16;s[S>>2]=(te(w,E<<16>>16)|0)>>14;s[A>>2]=(te(w,_<<16>>16)|0)>>14;Ki(S,o);w=r[m>>1]|0;T=30;break}}else{s[S>>2]=0;s[A>>2]=0;Ki(S,o);w=0;T=30}while(0);if((T|0)==30)if((n[l>>0]|0)==1){m=w;T=31}else{r[e+32>>1]=0;T=35}do if((T|0)==31){w=e+32|0;P=(a[w>>1]|0)+(b-(p<<3))|0;r[w>>1]=P;if((P<<16>>16|0)<(p*5|0)){n[l>>0]=0;T=36;break}else{r[w>>1]=1e4;w=m;T=35;break}}while(0);if((T|0)==35)if(!(n[l>>0]|0)){m=w;T=36}if((T|0)==36){w=f+4|0;if((s[w>>2]|0)<1){s[w>>2]=1;s[f>>2]=(v|0)<2?1:v+-1|0;w=m}else w=m}c=s[e>>2]|0;d=e+30|0;_=r[d>>1]|0;k=_<<16>>16;m=p<<3;E=s[S>>2]|0;g=(65536/(m|0)|0)<<16>>16;y=((te(E-c<<16>>16,g)|0)>>15)+1>>1;h=s[A>>2]|0;t=((te(h-(c>>>16)<<16>>16,g)|0)>>15)+1>>1;g=(te(w-k>>16,g)|0)+((te(w-(_&65535)&65535,g)|0)>>16)<<10;_=0;v=0-(c<<16>>16)|0;c=0-(c>>16)|0;k=k<<10;while(1){if((_|0)>=(m|0))break;p=v-y|0;S=c-t|0;P=k+g|0;f=_+1|0;T=r[M+(f<<1)>>1]|0;A=(r[M+(_<<1)>>1]|0)+(r[M+(_+2<<1)>>1]|0)+(T<<1)|0;x=r[R+(f<<1)>>1]|0;o=p<<16>>16;l=S<<16>>16;l=((te(P>>16,x)|0)+((te(P&64512,x)|0)>>16)+((te(A>>7,o)|0)+((te(A<<9&65024,o)|0)>>16))+((te(T>>5,l)|0)+((te(T<<11&63488,l)|0)>>16))>>7)+1>>1;r[i+(_+-1<<1)>>1]=(l|0)>32767?32767:((l|0)<-32768?-32768:l)&65535;_=f;v=p;c=S;k=P}t=e+2|0;g=w>>6;_=w<<10&64512;v=0-E<<16>>16;c=0-h<<16>>16;while(1){if((m|0)>=(b|0))break;x=m+1|0;P=r[M+(x<<1)>>1]|0;S=(r[M+(m<<1)>>1]|0)+(r[M+(m+2<<1)>>1]|0)+(P<<1)|0;p=r[R+(x<<1)>>1]|0;P=((te(g,p)|0)+((te(_,p)|0)>>16)+((te(S>>7,v)|0)+((te(S<<9&65024,v)|0)>>16))+((te(P>>5,c)|0)+((te(P<<11&63488,c)|0)>>16))>>7)+1>>1;r[i+(m+-1<<1)>>1]=(P|0)>32767?32767:((P|0)<-32768?-32768:P)&65535;m=x}r[e>>1]=E;r[t>>1]=h;r[d>>1]=w;u=C;return}function ji(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,r=0,s=0,o=0;if((e|0)<=0)if(!e)r=32;else{n=0-e|0;s=3}else{n=e;s=3}if((s|0)==3)r=ne(n|0)|0;e=e<<r+-1;if((t|0)<=0)if(!t)n=31;else{n=0-t|0;s=6}else{n=t;s=6}if((s|0)==6)n=(ne(n|0)|0)+-1|0;s=t<<n;t=(536870911/(s>>16|0)|0)<<16>>16;o=(te(e>>16,t)|0)+((te(e&65535,t)|0)>>16)|0;s=Nr(s|0,((s|0)<0)<<31>>31|0,o|0,((o|0)<0)<<31>>31|0)|0;s=Tr(s|0,x|0,29)|0;s=e-(s&-8)|0;t=o+((te(s>>16,t)|0)+((te(s&65535,t)|0)>>16))|0;n=r+28-n-i|0;if((n|0)>=0)return((n|0)<32?t>>n:0)|0;n=0-n|0;e=-2147483648>>n;r=2147483647>>>n;if((e|0)>(r|0)){if((t|0)>(e|0)){o=e;o=o<<n;return o|0}o=(t|0)<(r|0)?r:t;o=o<<n;return o|0}else{if((t|0)>(r|0)){o=r;o=o<<n;return o|0}o=(t|0)<(e|0)?e:t;o=o<<n;return o|0}return 0}function Fi(e,t){e=e|0;t=t|0;var i=0,n=0;yr(e|0,0,10156)|0;s[e+5184>>2]=t;s[e+8>>2]=193536;s[e+12>>2]=193536;s[e+4756>>2]=1;t=e+32|0;i=t+112|0;do{s[t>>2]=0;t=t+4|0}while((t|0)<(i|0));t=0;while(1){if((t|0)==4){t=0;break}i=t+1|0;n=50/(i|0)|0;s[e+124+(t<<2)>>2]=(n|0)>1?n:1;t=i}while(1){if((t|0)==4)break;n=(s[e+124+(t<<2)>>2]|0)*100|0;s[e+92+(t<<2)>>2]=n;s[e+108+(t<<2)>>2]=2147483647/(n|0)|0;t=t+1|0}s[e+140>>2]=15;t=0;while(1){if((t|0)==4)break;s[e+72+(t<<2)>>2]=25600;t=t+1|0}return 0}function Gi(e,t){e=e|0;t=t|0;var i=0,n=0,o=0,a=0,l=0,h=0,c=0,p=0,b=0,w=0,m=0,g=0,_=0,v=0;v=u;u=u+304|0;m=v;b=e+4668|0;n=s[b>>2]|0;if((n|0)==(t|0)?(i=e+4648|0,(s[e+4652>>2]|0)==(s[i>>2]|0)):0){g=i;_=0;g=s[g>>2]|0;e=e+4652|0;s[e>>2]=g;u=v;return _|0}if(!n){_=e+4648|0;g=_;_=Hi(e+5868|0,s[_>>2]|0,t*1e3|0,1)|0;g=s[g>>2]|0;e=e+4652|0;s[e>>2]=g;u=v;return _|0}w=((s[e+4672>>2]|0)*10|0)+5|0;p=te(w,n)|0;n=te(w,t)|0;g=Ne()|0;_=u;u=u+((1*(((p|0)>(n|0)?p:n)<<1)|0)+15&-16)|0;i=p;while(1){c=i+-1|0;if((i|0)<=0)break;a=+f[e+7272+(c<<2)>>2];o=(f[d>>2]=a,s[d>>2]|0);l=(o&2130706432)>>>0>1249902592;if(!l){i=(o|0)<0;h=i?a+-8388608+8388608:a+8388608+-8388608;if(h==0)h=i?-0:0}else h=a;if((~~h|0)<=32767){if(!l){i=(o|0)<0;h=i?a+-8388608+8388608:a+8388608+-8388608;if(h==0)h=i?-0:0}else h=a;if((~~h|0)<-32768)i=-32768;else{if(!l){i=(o|0)<0;a=i?a+-8388608+8388608:a+8388608+-8388608;if(a==0)a=i?-0:0}i=~~a}}else i=32767;r[_+(c<<1)>>1]=i;i=c}c=e+4648|0;l=Hi(m,(s[b>>2]<<16>>16)*1e3|0,s[c>>2]|0,0)|0;w=te(w,(s[c>>2]|0)/1e3|0)|0;b=u;u=u+((1*(w<<1)|0)+15&-16)|0;zi(m,b,_,p);m=e+5868|0;o=Hi(m,s[c>>2]|0,(t<<16>>16)*1e3|0,1)|0;zi(m,_,b,w);while(1){i=n+-1|0;if((n|0)<=0)break;f[e+7272+(i<<2)>>2]=+(r[_+(i<<1)>>1]|0);n=i}He(g|0);g=c;_=l+o|0;g=s[g>>2]|0;e=e+4652|0;s[e>>2]=g;u=v;return _|0}function Hi(e,t,i,r){e=e|0;t=t|0;i=i|0;r=r|0;var o=0,a=0,l=0;yr(e|0,0,300)|0;if(!r){e:do if((t|0)>=12e3)if((t|0)<16e3){switch(t|0){case 12e3:break e;default:r=-1}return r|0}else{switch(t|0){case 16e3:break e;default:r=-1}return r|0}else{switch(t|0){case 8e3:break e;default:r=-1}return r|0}while(0);e:do if((i|0)<16e3)if((i|0)<12e3){switch(i|0){case 8e3:break e;default:r=-1}return r|0}else{switch(i|0){case 12e3:break e;default:r=-1}return r|0}else{if((i|0)<24e3){switch(i|0){case 16e3:break e;default:r=-1}return r|0}if((i|0)<48e3){switch(i|0){case 24e3:break e;default:r=-1}return r|0}else{switch(i|0){case 48e3:break e;default:r=-1}return r|0}}while(0);s[e+292>>2]=n[((i>>12)-((i|0)>16e3&1)>>((i|0)>24e3&1))+-1+(31150+((((t>>12)-((t|0)>16e3&1)>>((t|0)>24e3&1))+-1|0)*5|0))>>0]}else{e:do if((t|0)<16e3)if((t|0)<12e3){switch(t|0){case 8e3:break e;default:r=-1}return r|0}else{switch(t|0){case 12e3:break e;default:r=-1}return r|0}else{if((t|0)<24e3){switch(t|0){case 16e3:break e;default:r=-1}return r|0}if((t|0)<48e3){switch(t|0){case 24e3:break e;default:r=-1}return r|0}else{switch(t|0){case 48e3:break e;default:r=-1}return r|0}}while(0);e:do if((i|0)>=12e3)if((i|0)<16e3){switch(i|0){case 12e3:break e;default:r=-1}return r|0}else{switch(i|0){case 16e3:break e;default:r=-1}return r|0}else{switch(i|0){case 8e3:break e;default:r=-1}return r|0}while(0);s[e+292>>2]=n[((i>>12)-((i|0)>16e3&1)>>((i|0)>24e3&1))+-1+(31135+((((t>>12)-((t|0)>16e3&1)>>((t|0)>24e3&1))+-1|0)*3|0))>>0]}l=(t|0)/1e3|0;s[e+284>>2]=l;s[e+288>>2]=(i|0)/1e3|0;s[e+268>>2]=l*10;do if((i|0)>(t|0)){r=e+264|0;if((t<<1|0)==(i|0)){s[r>>2]=1;r=0;break}else{s[r>>2]=2;r=1;break}}else{r=e+264|0;if((i|0)>=(t|0)){s[r>>2]=0;r=0;break}s[r>>2]=3;r=i<<2;if((r|0)==(t*3|0)){s[e+280>>2]=3;s[e+276>>2]=18;s[e+296>>2]=25418;r=0;break}o=i*3|0;if((o|0)==(t<<1|0)){s[e+280>>2]=2;s[e+276>>2]=18;s[e+296>>2]=25476;r=0;break}if((i<<1|0)==(t|0)){s[e+280>>2]=1;s[e+276>>2]=24;s[e+296>>2]=25516;r=0;break}if((o|0)==(t|0)){s[e+280>>2]=1;s[e+276>>2]=36;s[e+296>>2]=25544;r=0;break}if((r|0)==(t|0)){s[e+280>>2]=1;s[e+276>>2]=36;s[e+296>>2]=25584;r=0;break}if((i*6|0)==(t|0)){s[e+280>>2]=1;s[e+276>>2]=36;s[e+296>>2]=25624;r=0;break}else{t=-1;return t|0}}while(0);o=((t<<(r|14)|0)/(i|0)|0)<<2;a=e+272|0;s[a>>2]=o;l=i<<16>>16;e=(i>>15)+1>>1;r=t<<r;while(1){if(((te(o>>16,l)|0)+((te(o&65535,l)|0)>>16)+(te(o,e)|0)|0)>=(r|0)){r=0;break}t=o+1|0;s[a>>2]=t;o=t}return r|0}function zi(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var r=0,o=0,a=0,l=0;r=e+284|0;a=e+292|0;l=s[a>>2]|0;o=(s[r>>2]|0)-l|0;Sr(e+168+(l<<1)|0,i|0,o<<1|0)|0;switch(s[e+264>>2]|0){case 1:{l=e+168|0;Vi(e,t,l,s[r>>2]|0);Vi(e,t+(s[e+288>>2]<<1)|0,i+(o<<1)|0,n-(s[r>>2]|0)|0);r=l;break}case 2:{l=e+168|0;Wi(e,t,l,s[r>>2]|0);Wi(e,t+(s[e+288>>2]<<1)|0,i+(o<<1)|0,n-(s[r>>2]|0)|0);r=l;break}case 3:{l=e+168|0;qi(e,t,l,s[r>>2]|0);qi(e,t+(s[e+288>>2]<<1)|0,i+(o<<1)|0,n-(s[r>>2]|0)|0);r=l;break}default:{l=e+168|0;Sr(t|0,l|0,s[r>>2]<<1|0)|0;Sr(t+(s[e+288>>2]<<1)|0,i+(o<<1)|0,n-(s[r>>2]|0)<<1|0)|0;r=l}}l=s[a>>2]|0;Sr(r|0,i+(n-l<<1)|0,l<<1|0)|0;return}function qi(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var o=0,a=0,l=0,f=0,h=0,c=0,d=0,p=0,b=0,w=0,m=0,g=0,_=0,v=0,k=0,y=0,E=0,A=0,T=0,S=0,M=0,R=0,C=0,P=0,x=0,I=0,O=0,N=0,D=0,L=0,U=0,B=0,j=0,F=0,G=0,H=0,z=0,q=0;j=u;d=e+268|0;h=s[d>>2]|0;E=e+276|0;f=s[E>>2]|0;L=u;u=u+((1*(h+f<<2)|0)+15&-16)|0;U=e+24|0;Sr(L|0,U|0,f<<2|0)|0;B=e+296|0;D=s[B>>2]|0;p=D+4|0;b=s[e+272>>2]|0;w=e+4|0;m=e+280|0;g=D+6|0;_=D+8|0;v=D+10|0;k=D+12|0;y=D+14|0;A=D+16|0;T=D+18|0;S=D+20|0;M=D+22|0;R=D+24|0;C=D+26|0;P=D+28|0;x=D+30|0;I=D+32|0;O=D+34|0;N=D+36|0;D=D+38|0;c=i;i=h;while(1){h=(n|0)<(i|0)?n:i;i=L+(f<<2)|0;o=s[B>>2]|0;a=o+2|0;l=0;while(1){if((l|0)>=(h|0))break;G=(s[e>>2]|0)+(r[c+(l<<1)>>1]<<8)|0;s[i+(l<<2)>>2]=G;G=G<<2;H=G>>16;F=r[o>>1]|0;G=G&65532;s[e>>2]=(s[w>>2]|0)+((te(H,F)|0)+((te(G,F)|0)>>16));F=r[a>>1]|0;s[w>>2]=(te(H,F)|0)+((te(G,F)|0)>>16);l=l+1|0}l=h<<16;i=s[m>>2]|0;e:do switch(f|0){case 18:{a=i<<16>>16;o=i+-1|0;i=0;while(1){if((i|0)>=(l|0))break e;G=L+(i>>16<<2)|0;H=(te(i&65535,a)|0)>>16;F=p+(H*9<<1)|0;f=s[G>>2]|0;q=r[F>>1]|0;q=(te(f>>16,q)|0)+((te(f&65535,q)|0)>>16)|0;f=s[G+4>>2]|0;z=r[F+2>>1]|0;z=q+((te(f>>16,z)|0)+((te(f&65535,z)|0)>>16))|0;f=s[G+8>>2]|0;q=r[F+4>>1]|0;q=z+((te(f>>16,q)|0)+((te(f&65535,q)|0)>>16))|0;f=s[G+12>>2]|0;z=r[F+6>>1]|0;z=q+((te(f>>16,z)|0)+((te(f&65535,z)|0)>>16))|0;f=s[G+16>>2]|0;q=r[F+8>>1]|0;q=z+((te(f>>16,q)|0)+((te(f&65535,q)|0)>>16))|0;f=s[G+20>>2]|0;z=r[F+10>>1]|0;z=q+((te(f>>16,z)|0)+((te(f&65535,z)|0)>>16))|0;f=s[G+24>>2]|0;q=r[F+12>>1]|0;q=z+((te(f>>16,q)|0)+((te(f&65535,q)|0)>>16))|0;f=s[G+28>>2]|0;z=r[F+14>>1]|0;z=q+((te(f>>16,z)|0)+((te(f&65535,z)|0)>>16))|0;f=s[G+32>>2]|0;F=r[F+16>>1]|0;F=z+((te(f>>16,F)|0)+((te(f&65535,F)|0)>>16))|0;H=p+((o-H|0)*9<<1)|0;f=s[G+68>>2]|0;z=r[H>>1]|0;z=F+((te(f>>16,z)|0)+((te(f&65535,z)|0)>>16))|0;f=s[G+64>>2]|0;F=r[H+2>>1]|0;F=z+((te(f>>16,F)|0)+((te(f&65535,F)|0)>>16))|0;f=s[G+60>>2]|0;z=r[H+4>>1]|0;z=F+((te(f>>16,z)|0)+((te(f&65535,z)|0)>>16))|0;f=s[G+56>>2]|0;F=r[H+6>>1]|0;F=z+((te(f>>16,F)|0)+((te(f&65535,F)|0)>>16))|0;f=s[G+52>>2]|0;z=r[H+8>>1]|0;z=F+((te(f>>16,z)|0)+((te(f&65535,z)|0)>>16))|0;f=s[G+48>>2]|0;F=r[H+10>>1]|0;F=z+((te(f>>16,F)|0)+((te(f&65535,F)|0)>>16))|0;f=s[G+44>>2]|0;z=r[H+12>>1]|0;z=F+((te(f>>16,z)|0)+((te(f&65535,z)|0)>>16))|0;f=s[G+40>>2]|0;F=r[H+14>>1]|0;F=z+((te(f>>16,F)|0)+((te(f&65535,F)|0)>>16))|0;G=s[G+36>>2]|0;H=r[H+16>>1]|0;H=(F+((te(G>>16,H)|0)+((te(G&65535,H)|0)>>16))>>5)+1>>1;r[t>>1]=(H|0)>32767?32767:((H|0)<-32768?-32768:H)&65535;t=t+2|0;i=i+b|0}}case 24:{i=0;while(1){if((i|0)>=(l|0))break e;z=L+(i>>16<<2)|0;q=(s[z>>2]|0)+(s[z+92>>2]|0)|0;H=r[p>>1]|0;H=(te(q>>16,H)|0)+((te(q&65535,H)|0)>>16)|0;q=(s[z+4>>2]|0)+(s[z+88>>2]|0)|0;G=r[g>>1]|0;G=H+((te(q>>16,G)|0)+((te(q&65535,G)|0)>>16))|0;q=(s[z+8>>2]|0)+(s[z+84>>2]|0)|0;H=r[_>>1]|0;H=G+((te(q>>16,H)|0)+((te(q&65535,H)|0)>>16))|0;q=(s[z+12>>2]|0)+(s[z+80>>2]|0)|0;G=r[v>>1]|0;G=H+((te(q>>16,G)|0)+((te(q&65535,G)|0)>>16))|0;q=(s[z+16>>2]|0)+(s[z+76>>2]|0)|0;H=r[k>>1]|0;H=G+((te(q>>16,H)|0)+((te(q&65535,H)|0)>>16))|0;q=(s[z+20>>2]|0)+(s[z+72>>2]|0)|0;G=r[y>>1]|0;G=H+((te(q>>16,G)|0)+((te(q&65535,G)|0)>>16))|0;q=(s[z+24>>2]|0)+(s[z+68>>2]|0)|0;H=r[A>>1]|0;H=G+((te(q>>16,H)|0)+((te(q&65535,H)|0)>>16))|0;q=(s[z+28>>2]|0)+(s[z+64>>2]|0)|0;G=r[T>>1]|0;G=H+((te(q>>16,G)|0)+((te(q&65535,G)|0)>>16))|0;q=(s[z+32>>2]|0)+(s[z+60>>2]|0)|0;H=r[S>>1]|0;H=G+((te(q>>16,H)|0)+((te(q&65535,H)|0)>>16))|0;q=(s[z+36>>2]|0)+(s[z+56>>2]|0)|0;G=r[M>>1]|0;G=H+((te(q>>16,G)|0)+((te(q&65535,G)|0)>>16))|0;q=(s[z+40>>2]|0)+(s[z+52>>2]|0)|0;H=r[R>>1]|0;H=G+((te(q>>16,H)|0)+((te(q&65535,H)|0)>>16))|0;z=(s[z+44>>2]|0)+(s[z+48>>2]|0)|0;q=r[C>>1]|0;q=(H+((te(z>>16,q)|0)+((te(z&65535,q)|0)>>16))>>5)+1>>1;r[t>>1]=(q|0)>32767?32767:((q|0)<-32768?-32768:q)&65535;t=t+2|0;i=i+b|0}}case 36:{i=0;while(1){if((i|0)>=(l|0))break e;z=L+(i>>16<<2)|0;q=(s[z>>2]|0)+(s[z+140>>2]|0)|0;H=r[p>>1]|0;H=(te(q>>16,H)|0)+((te(q&65535,H)|0)>>16)|0;q=(s[z+4>>2]|0)+(s[z+136>>2]|0)|0;G=r[g>>1]|0;G=H+((te(q>>16,G)|0)+((te(q&65535,G)|0)>>16))|0;q=(s[z+8>>2]|0)+(s[z+132>>2]|0)|0;H=r[_>>1]|0;H=G+((te(q>>16,H)|0)+((te(q&65535,H)|0)>>16))|0;q=(s[z+12>>2]|0)+(s[z+128>>2]|0)|0;G=r[v>>1]|0;G=H+((te(q>>16,G)|0)+((te(q&65535,G)|0)>>16))|0;q=(s[z+16>>2]|0)+(s[z+124>>2]|0)|0;H=r[k>>1]|0;H=G+((te(q>>16,H)|0)+((te(q&65535,H)|0)>>16))|0;q=(s[z+20>>2]|0)+(s[z+120>>2]|0)|0;G=r[y>>1]|0;G=H+((te(q>>16,G)|0)+((te(q&65535,G)|0)>>16))|0;q=(s[z+24>>2]|0)+(s[z+116>>2]|0)|0;H=r[A>>1]|0;H=G+((te(q>>16,H)|0)+((te(q&65535,H)|0)>>16))|0;q=(s[z+28>>2]|0)+(s[z+112>>2]|0)|0;G=r[T>>1]|0;G=H+((te(q>>16,G)|0)+((te(q&65535,G)|0)>>16))|0;q=(s[z+32>>2]|0)+(s[z+108>>2]|0)|0;H=r[S>>1]|0;H=G+((te(q>>16,H)|0)+((te(q&65535,H)|0)>>16))|0;q=(s[z+36>>2]|0)+(s[z+104>>2]|0)|0;G=r[M>>1]|0;G=H+((te(q>>16,G)|0)+((te(q&65535,G)|0)>>16))|0;q=(s[z+40>>2]|0)+(s[z+100>>2]|0)|0;H=r[R>>1]|0;H=G+((te(q>>16,H)|0)+((te(q&65535,H)|0)>>16))|0;q=(s[z+44>>2]|0)+(s[z+96>>2]|0)|0;G=r[C>>1]|0;G=H+((te(q>>16,G)|0)+((te(q&65535,G)|0)>>16))|0;q=(s[z+48>>2]|0)+(s[z+92>>2]|0)|0;H=r[P>>1]|0;H=G+((te(q>>16,H)|0)+((te(q&65535,H)|0)>>16))|0;q=(s[z+52>>2]|0)+(s[z+88>>2]|0)|0;G=r[x>>1]|0;G=H+((te(q>>16,G)|0)+((te(q&65535,G)|0)>>16))|0;q=(s[z+56>>2]|0)+(s[z+84>>2]|0)|0;H=r[I>>1]|0;H=G+((te(q>>16,H)|0)+((te(q&65535,H)|0)>>16))|0;q=(s[z+60>>2]|0)+(s[z+80>>2]|0)|0;G=r[O>>1]|0;G=H+((te(q>>16,G)|0)+((te(q&65535,G)|0)>>16))|0;q=(s[z+64>>2]|0)+(s[z+76>>2]|0)|0;H=r[N>>1]|0;H=G+((te(q>>16,H)|0)+((te(q&65535,H)|0)>>16))|0;z=(s[z+68>>2]|0)+(s[z+72>>2]|0)|0;q=r[D>>1]|0;q=(H+((te(z>>16,q)|0)+((te(z&65535,q)|0)>>16))>>5)+1>>1;r[t>>1]=(q|0)>32767?32767:((q|0)<-32768?-32768:q)&65535;t=t+2|0;i=i+b|0}}default:{}}while(0);n=n-h|0;if((n|0)<=1)break;f=s[E>>2]|0;Sr(L|0,L+(h<<2)|0,f<<2|0)|0;c=c+(h<<1)|0;i=s[d>>2]|0}Sr(U|0,L+(h<<2)|0,s[E>>2]<<2|0)|0;u=j;return}function Wi(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var o=0,a=0,l=0,f=0,h=0,c=0,d=0,p=0,b=0,w=0,m=0,g=0;b=u;f=e+268|0;l=s[f>>2]|0;h=u;u=u+((1*((l<<1)+8<<1)|0)+15&-16)|0;c=e+24|0;r[h>>1]=r[c>>1]|0;r[h+2>>1]=r[c+2>>1]|0;r[h+4>>1]=r[c+4>>1]|0;r[h+6>>1]=r[c+6>>1]|0;r[h+8>>1]=r[c+8>>1]|0;r[h+10>>1]=r[c+10>>1]|0;r[h+12>>1]=r[c+12>>1]|0;r[h+14>>1]=r[c+14>>1]|0;d=s[e+272>>2]|0;p=h+16|0;o=t;t=l;while(1){l=(n|0)<(t|0)?n:t;Vi(e,p,i,l);a=l<<17;t=0;while(1){if((t|0)>=(a|0))break;w=((t&65535)*12|0)>>>16;m=h+(t>>16<<1)|0;g=te(r[m>>1]|0,r[25664+(w<<3)>>1]|0)|0;g=g+(te(r[m+2>>1]|0,r[25664+(w<<3)+2>>1]|0)|0)|0;g=g+(te(r[m+4>>1]|0,r[25664+(w<<3)+4>>1]|0)|0)|0;g=g+(te(r[m+6>>1]|0,r[25664+(w<<3)+6>>1]|0)|0)|0;w=11-w|0;g=g+(te(r[m+8>>1]|0,r[25664+(w<<3)+6>>1]|0)|0)|0;g=g+(te(r[m+10>>1]|0,r[25664+(w<<3)+4>>1]|0)|0)|0;g=g+(te(r[m+12>>1]|0,r[25664+(w<<3)+2>>1]|0)|0)|0;w=(g+(te(r[m+14>>1]|0,r[25664+(w<<3)>>1]|0)|0)>>14)+1>>1;r[o>>1]=(w|0)>32767?32767:((w|0)<-32768?-32768:w)&65535;o=o+2|0;t=t+d|0}n=n-l|0;if((n|0)<=0)break;t=h+(l<<1<<1)|0;r[h>>1]=r[t>>1]|0;r[h+2>>1]=r[t+2>>1]|0;r[h+4>>1]=r[t+4>>1]|0;r[h+6>>1]=r[t+6>>1]|0;r[h+8>>1]=r[t+8>>1]|0;r[h+10>>1]=r[t+10>>1]|0;r[h+12>>1]=r[t+12>>1]|0;r[h+14>>1]=r[t+14>>1]|0;i=i+(l<<1)|0;t=s[f>>2]|0}g=h+(l<<1<<1)|0;r[c>>1]=r[g>>1]|0;r[c+2>>1]=r[g+2>>1]|0;r[c+4>>1]=r[g+4>>1]|0;r[c+6>>1]=r[g+6>>1]|0;r[c+8>>1]=r[g+8>>1]|0;r[c+10>>1]=r[g+10>>1]|0;r[c+12>>1]=r[g+12>>1]|0;r[c+14>>1]=r[g+14>>1]|0;u=b;return}function Vi(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var o=0,a=0,l=0,f=0,h=0,u=0,c=0,d=0,p=0,b=0;o=e+4|0;a=e+8|0;l=e+12|0;f=e+16|0;h=e+20|0;u=0;while(1){if((u|0)>=(n|0))break;b=r[i+(u<<1)>>1]<<10;d=s[e>>2]|0;c=b-d|0;c=((c>>16)*1746|0)+(((c&65535)*1746|0)>>>16)|0;d=d+c|0;s[e>>2]=b+c;c=s[o>>2]|0;p=d-c|0;p=((p>>16)*14986|0)+(((p&65535)*14986|0)>>>16)|0;c=c+p|0;s[o>>2]=d+p;p=c-(s[a>>2]|0)|0;d=(te(p>>16,-26453)|0)+((te(p&65535,-26453)|0)>>16)|0;s[a>>2]=c+(p+d);d=(c+d>>9)+1>>1;c=u<<1;r[t+(c<<1)>>1]=(d|0)>32767?32767:((d|0)<-32768?-32768:d)&65535;d=s[l>>2]|0;p=b-d|0;p=((p>>16)*6854|0)+(((p&65535)*6854|0)>>>16)|0;d=d+p|0;s[l>>2]=b+p;p=s[f>>2]|0;b=d-p|0;b=((b>>16)*25769|0)+(((b&65535)*25769|0)>>>16)|0;p=p+b|0;s[f>>2]=d+b;b=p-(s[h>>2]|0)|0;d=(te(b>>16,-9994)|0)+((te(b&65535,-9994)|0)>>16)|0;s[h>>2]=p+(b+d);d=(p+d>>9)+1>>1;r[t+((c|1)<<1)>>1]=(d|0)>32767?32767:((d|0)<-32768?-32768:d)&65535;u=u+1|0}return}function Yi(e,t){e=e|0;t=t|0;var i=0,n=0,a=0,l=0,f=0,h=0,c=0,d=0,p=0,b=0,w=0,m=0,g=0,_=0;_=u;u=u+32|0;g=_;w=e+28|0;l=s[w>>2]|0;m=e+32|0;i=s[m>>2]|0;n=l>>>8;f=-1;while(1){f=f+1|0;a=te(n,o[29891+f>>0]|0)|0;if(i>>>0>=a>>>0)break;else l=a}h=i-a|0;s[m>>2]=h;i=l-a|0;s[w>>2]=i;c=e+20|0;d=e+40|0;p=e+24|0;b=e+4|0;l=h;while(1){if(i>>>0>=8388609)break;s[c>>2]=(s[c>>2]|0)+8;i=i<<8;s[w>>2]=i;a=s[d>>2]|0;n=s[p>>2]|0;if(n>>>0<(s[b>>2]|0)>>>0){s[p>>2]=n+1;n=o[(s[e>>2]|0)+n>>0]|0}else n=0;s[d>>2]=n;h=((a<<8|n)>>>1&255|l<<8&2147483392)^255;s[m>>2]=h;l=h}h=(f|0)/5|0;s[g+8>>2]=h;s[g+20>>2]=f+(te(h,-5)|0);h=0;while(1){if((h|0)==2){i=0;break}a=i>>>8;f=-1;while(1){f=f+1|0;n=te(a,o[29944+f>>0]|0)|0;if(l>>>0>=n>>>0)break;else i=n}l=l-n|0;s[m>>2]=l;i=i-n|0;s[w>>2]=i;while(1){if(i>>>0>=8388609)break;s[c>>2]=(s[c>>2]|0)+8;i=i<<8;s[w>>2]=i;a=s[d>>2]|0;n=s[p>>2]|0;if(n>>>0<(s[b>>2]|0)>>>0){s[p>>2]=n+1;n=o[(s[e>>2]|0)+n>>0]|0}else n=0;s[d>>2]=n;a=((a<<8|n)>>>1&255|l<<8&2147483392)^255;s[m>>2]=a;l=a}s[g+(h*12|0)>>2]=f;a=i>>>8;f=-1;while(1){f=f+1|0;n=te(a,o[29951+f>>0]|0)|0;if(l>>>0>=n>>>0)break;else i=n}l=l-n|0;s[m>>2]=l;i=i-n|0;s[w>>2]=i;while(1){if(i>>>0>=8388609)break;s[c>>2]=(s[c>>2]|0)+8;i=i<<8;s[w>>2]=i;a=s[d>>2]|0;n=s[p>>2]|0;if(n>>>0<(s[b>>2]|0)>>>0){s[p>>2]=n+1;n=o[(s[e>>2]|0)+n>>0]|0}else n=0;s[d>>2]=n;a=((a<<8|n)>>>1&255|l<<8&2147483392)^255;s[m>>2]=a;l=a}s[g+(h*12|0)+4>>2]=f;h=h+1|0}while(1){if((i|0)==2)break;m=g+(i*12|0)|0;e=(s[m>>2]|0)+((s[g+(i*12|0)+8>>2]|0)*3|0)|0;s[m>>2]=e;m=r[25372+(e<<1)>>1]|0;e=r[25372+(e+1<<1)>>1]|0;e=(te((e<<16>>16)-m>>16,429522944)|0)+(((e&65535)-m&65535)*6554|0)>>16;s[t+(i<<2)>>2]=m+(te(e,s[g+(i*12|0)+4>>2]<<17>>16|1)|0);i=i+1|0}s[t>>2]=(s[t>>2]|0)-(s[t+4>>2]|0);u=_;return}function Zi(e,t,i,n,o,a){e=e|0;t=t|0;i=i|0;n=n|0;o=o|0;a=a|0;var l=0,f=0,h=0,c=0,d=0,p=0,b=0,w=0,m=0,g=0,_=0,v=0,k=0;k=u;u=u+16|0;p=k+12|0;b=k+8|0;l=k+4|0;m=k;Dn(l,p,t,o);Dn(m,b,i,o);p=s[p>>2]|0;b=s[b>>2]|0;f=(p|0)>(b|0)?p:b;f=f+(f&1)|0;b=s[m>>2]>>f-b;s[m>>2]=b;p=s[l>>2]>>f-p;p=(p|0)>1?p:1;s[l>>2]=p;l=0;w=0;while(1){if((l|0)>=(o|0))break;v=w+((te(r[t+(l<<1)>>1]|0,r[i+(l<<1)>>1]|0)|0)>>f)|0;l=l+1|0;w=v}v=$i(w,p,13)|0;v=(v|0)>16384?16384:(v|0)<-16384?-16384:v;h=v<<16>>16;c=(te(v>>16,h)|0)+((te(v&65535,h)|0)>>16)|0;i=(c|0)>0?c:0-c|0;i=(i|0)<(a|0)?a:i;_=f>>1;a=s[n>>2]|0;t=ne(p|0)|0;l=24-t|0;o=0-l|0;do if(l)if((l|0)<0){l=p<<o|p>>>(l+32|0);break}else{l=p<<32-l|p>>>l;break}else l=p;while(0);o=((t&1|0)==0?46214:32768)>>>(t>>>1);t=(te(l&127,13959168)|0)>>>16;g=i<<16>>16;t=te((o+((te(o>>16,t)|0)+((te(o&65535,t)|0)>>>16))<<_)-a>>16,g)|0;i=ne(p|0)|0;l=24-i|0;o=0-l|0;do if(l)if((l|0)<0){l=p<<o|p>>>(l+32|0);break}else{l=p<<32-l|p>>>l;break}else l=p;while(0);f=((i&1|0)==0?46214:32768)>>>(i>>>1);d=(te(l&127,13959168)|0)>>>16;d=a+(t+((te((f+((te(f>>16,d)|0)+((te(f&65535,d)|0)>>>16))<<_)-a&65535,g)|0)>>16))|0;s[n>>2]=d;l=c<<16>>16;l=b-((te(w>>16,h)|0)+((te(w&65535,h)|0)>>16)<<4)+((te(p>>16,l)|0)+((te(p&65535,l)|0)>>16)<<6)|0;s[m>>2]=l;h=n+4|0;c=s[h>>2]|0;a=(l|0)<1;if(a){n=0;m=te(0-c>>16,g)|0;_=n<<_;_=_-c|0;_=_&65535;g=te(_,g)|0;g=g>>16;g=m+g|0;g=c+g|0;s[h>>2]=g;_=(d|0)>1;_=_?d:1;_=$i(g,_,14)|0;g=(_|0)>32767;m=(_|0)<0;_=m?0:_;_=g?32767:_;s[e>>2]=_;u=k;return v|0}i=ne(l|0)|0;o=24-i|0;t=0-o|0;do if(o)if((o|0)<0){o=l<<t|l>>>(o+32|0);break}else{o=l<<32-o|l>>>o;break}else o=l;while(0);m=((i&1|0)==0?46214:32768)>>>(i>>>1);f=(te(o&127,13959168)|0)>>>16;f=te((m+((te(m>>16,f)|0)+((te(m&65535,f)|0)>>>16))<<_)-c>>16,g)|0;if(a){n=0;m=f;_=n<<_;_=_-c|0;_=_&65535;g=te(_,g)|0;g=g>>16;g=m+g|0;g=c+g|0;s[h>>2]=g;_=(d|0)>1;_=_?d:1;_=$i(g,_,14)|0;g=(_|0)>32767;m=(_|0)<0;_=m?0:_;_=g?32767:_;s[e>>2]=_;u=k;return v|0}i=ne(l|0)|0;o=24-i|0;t=0-o|0;do if(o)if((o|0)<0){l=l<<t|l>>>(o+32|0);break}else{l=l<<32-o|l>>>o;break}while(0);m=((i&1|0)==0?46214:32768)>>>(i>>>1);n=(te(l&127,13959168)|0)>>>16;n=m+((te(m>>16,n)|0)+((te(m&65535,n)|0)>>>16))|0;m=f;_=n<<_;_=_-c|0;_=_&65535;g=te(_,g)|0;g=g>>16;g=m+g|0;g=c+g|0;s[h>>2]=g;_=(d|0)>1;_=_?d:1;_=$i(g,_,14)|0;g=(_|0)>32767;m=(_|0)<0;_=m?0:_;_=g?32767:_;s[e>>2]=_;u=k;return v|0}function $i(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,r=0,s=0,o=0;if((e|0)<=0)if(!e)r=32;else{n=0-e|0;s=3}else{n=e;s=3}if((s|0)==3)r=ne(n|0)|0;e=e<<r+-1;if((t|0)<=0)if(!t)n=31;else{n=0-t|0;s=6}else{n=t;s=6}if((s|0)==6)n=(ne(n|0)|0)+-1|0;s=t<<n;t=(536870911/(s>>16|0)|0)<<16>>16;o=(te(e>>16,t)|0)+((te(e&65535,t)|0)>>16)|0;s=Nr(s|0,((s|0)<0)<<31>>31|0,o|0,((o|0)<0)<<31>>31|0)|0;s=Tr(s|0,x|0,29)|0;s=e-(s&-8)|0;t=o+((te(s>>16,t)|0)+((te(s&65535,t)|0)>>16))|0;n=r+28-n-i|0;if((n|0)>=0)return((n|0)<32?t>>n:0)|0;n=0-n|0;e=-2147483648>>n;r=2147483647>>>n;if((e|0)>(r|0)){if((t|0)>(e|0)){o=e;o=o<<n;return o|0}o=(t|0)<(r|0)?r:t;o=o<<n;return o|0}else{if((t|0)>(r|0)){o=r;o=o<<n;return o|0}o=(t|0)<(e|0)?e:t;o=o<<n;return o|0}return 0}function Ki(e,t){e=e|0;t=t|0;var i=0,o=0,a=0,l=0,f=0,h=0,u=0,c=0,d=0,p=0,b=0,w=0,m=0;m=0;i=0;while(1){if((m|0)==2)break;b=e+(m<<2)|0;w=t+(m*3|0)|0;p=t+(m*3|0)+1|0;a=2147483647;o=0;e:while(1){if((o|0)>=15)break;u=r[25372+(o<<1)>>1]|0;c=o+1|0;d=r[25372+(c<<1)>>1]|0;d=(te((d<<16>>16)-u>>16,429522944)|0)+(((d&65535)-u&65535)*6554|0)>>16;h=o&255;l=a;f=0;while(1){if((f|0)>=5){a=l;o=c;continue e}o=u+(te(d,f<<17>>16|1)|0)|0;a=s[b>>2]|0;a=(a|0)>(o|0)?a-o|0:o-a|0;if((a|0)>=(l|0))break e;n[w>>0]=h;n[p>>0]=f;l=a;f=f+1|0;i=o}}d=n[w>>0]|0;p=(d<<24>>24|0)/3|0;n[t+(m*3|0)+2>>0]=p;n[w>>0]=(d&255)+(te(p,-3)|0);s[b>>2]=i;m=m+1|0}s[e>>2]=(s[e>>2]|0)-(s[e+4>>2]|0);return}function Xi(e,t,i,l,c,p){e=e|0;t=t|0;i=i|0;l=l|0;c=c|0;p=p|0;var b=0,w=0,m=0,g=0,_=0,v=0,k=0,y=0,E=0,A=0,T=0,S=0,M=0,R=0,C=0,P=0,x=0,I=0,O=0,N=0,D=0,L=0,U=0,B=0,j=0,F=0,G=0,q=0,W=0,V=0,Y=0,Z=0,$=0,K=0,X=0,Q=0,ee=0,ie=0,re=0,se=0,oe=0,ae=0,le=0,fe=0,he=0,ue=0,ce=0,de=0,pe=0,be=0,we=0,me=0,ge=0,_e=0,ve=0,ke=0,ye=0,Ee=0,Ae=0,Te=0,Se=0,Me=0,Re=0,Ce=0,Pe=0,xe=0,Ie=0,Oe=0,Ne=0,De=0,Le=0,Ue=0,Be=0,je=0,Fe=0,Ge=0,He=0,ze=0,qe=0,We=0,Ve=0,Ye=0,Ze=0,$e=0,Ke=0,Xe=0,Je=0,Qe=0,et=0,tt=0,it=0,nt=0,rt=0,st=0,ot=0,at=0,lt=0,ft=0,ht=0,ut=0;lt=u;u=u+35104|0;He=lt+272|0;Ge=lt+72|0;Ue=lt+29992|0;Le=lt+29352|0;ue=lt+28712|0;ce=lt+28392|0;Fe=lt+48|0;je=lt+26008|0;Be=lt+24472|0;ie=lt+11992|0;re=lt+11896|0;Z=lt+33512|0;le=lt+9176|0;ae=lt+6456|0;F=lt+32232|0;G=lt+31272|0;j=lt+6384|0;Ie=lt+6320|0;Ne=lt+6256|0;Oe=lt+4720|0;tt=lt+23720|0;se=lt+21032|0;rt=lt+20984|0;st=lt+24|0;ot=lt;it=lt+16536|0;nt=lt+12088|0;et=lt+12072|0;Je=lt+33824|0;Qe=lt+12056|0;Ke=lt+33816|0;Xe=lt+12040|0;s[Qe>>2]=0;s[Qe+4>>2]=0;s[Qe+8>>2]=0;s[Qe+12>>2]=0;Ye=e+4712|0;Ze=s[Ye>>2]|0;s[Ye>>2]=Ze+1;Ye=e+4862|0;n[Ye>>0]=Ze&3;Ze=e+4684|0;he=s[Ze>>2]|0;$e=e+7272+(he<<2)|0;he=se+(he<<2)|0;D=e+5190|0;Ve=e+4676|0;b=s[Ve>>2]|0;g=s[e+28>>2]|0;if(g){_=e+24|0;v=s[_>>2]|0;m=256-v<<10;E=m>>16;m=m-(E<<16)|0;e:do if((E|0)<4){if((m|0)<=0){ze=17528+(E*12|0)|0;s[He>>2]=s[ze>>2];s[He+4>>2]=s[ze+4>>2];s[He+8>>2]=s[ze+8>>2];ze=17588+(E<<3)|0;qe=s[ze+4>>2]|0;We=Ge;s[We>>2]=s[ze>>2];s[We+4>>2]=qe;break}A=E+1|0;T=m<<16>>16;if((m|0)<32768){m=0;while(1){if((m|0)==3){m=0;break}qe=s[17528+(E*12|0)+(m<<2)>>2]|0;We=(s[17528+(A*12|0)+(m<<2)>>2]|0)-qe|0;s[He+(m<<2)>>2]=qe+((te(We>>16,T)|0)+((te(We&65535,T)|0)>>16));m=m+1|0}while(1){if((m|0)==2)break e;qe=s[17588+(E<<3)+(m<<2)>>2]|0;We=(s[17588+(A<<3)+(m<<2)>>2]|0)-qe|0;s[Ge+(m<<2)>>2]=qe+((te(We>>16,T)|0)+((te(We&65535,T)|0)>>16));m=m+1|0}}else{m=0;while(1){if((m|0)==3){m=0;break}qe=s[17528+(A*12|0)+(m<<2)>>2]|0;We=qe-(s[17528+(E*12|0)+(m<<2)>>2]|0)|0;s[He+(m<<2)>>2]=qe+((te(We>>16,T)|0)+((te(We&65535,T)|0)>>16));m=m+1|0}while(1){if((m|0)==2)break e;qe=s[17588+(A<<3)+(m<<2)>>2]|0;We=qe-(s[17588+(E<<3)+(m<<2)>>2]|0)|0;s[Ge+(m<<2)>>2]=qe+((te(We>>16,T)|0)+((te(We&65535,T)|0)>>16));m=m+1|0}}}else{s[He>>2]=s[4394];s[He+4>>2]=s[4395];s[He+8>>2]=s[4396];We=Ge;s[We>>2]=35497197;s[We+4>>2]=57401098}while(0);m=v+g|0;s[_>>2]=(m|0)>256?256:(m|0)<0?0:m;m=e+16|0;T=0-(s[Ge>>2]|0)|0;g=T&16383;C=0-(s[Ge+4>>2]|0)|0;_=C&16383;E=s[He>>2]|0;v=E>>16;E=E&65535;A=e+20|0;T=T>>>14<<16>>16;M=s[He+4>>2]|0;S=M>>16;M=M&65535;C=C>>>14<<16>>16;x=s[He+8>>2]|0;P=x>>16;x=x&65535;I=0;while(1){if((I|0)>=(b|0))break;We=D+(I<<1)|0;ze=r[We>>1]|0;qe=(s[m>>2]|0)+((te(v,ze)|0)+((te(E,ze)|0)>>16))<<2;Pe=qe>>16;xe=qe&65532;s[m>>2]=(s[A>>2]|0)+(((te(Pe,g)|0)+((te(xe,g)|0)>>>16)>>13)+1>>1)+((te(Pe,T)|0)+((te(xe,T)|0)>>16))+((te(S,ze)|0)+((te(M,ze)|0)>>16));s[A>>2]=(((te(Pe,_)|0)+((te(xe,_)|0)>>>16)>>13)+1>>1)+((te(Pe,C)|0)+((te(xe,C)|0)>>16))+((te(P,ze)|0)+((te(x,ze)|0)>>16));qe=qe+16383>>14;r[We>>1]=(qe|0)>32767?32767:((qe|0)<-32768?-32768:qe)&65535;I=I+1|0}b=s[Ve>>2]|0}We=e+4668|0;g=$e+((s[We>>2]|0)*5<<2)|0;while(1){m=b+-1|0;if((b|0)<=0){b=0;break}f[g+(m<<2)>>2]=+(r[D+(m<<1)>>1]|0);b=m}while(1){if((b|0)==8)break;qe=$e+(((s[We>>2]|0)*5|0)+(te(b,s[Ve>>2]>>3)|0)<<2)|0;f[qe>>2]=+f[qe>>2]+ +(1-(b&2)|0)*9.999999974752427e-7;b=b+1|0}qe=e+4772|0;e:do if(!(s[qe>>2]|0)){_=s[e+4688>>2]|0;S=s[Ze>>2]|0;T=_+(s[Ve>>2]|0)+S|0;S=$e+(0-S<<2)|0;v=s[e+4640>>2]|0;b=S+(T<<2)+(0-v<<2)|0;k=3.1415927410125732/+(_+1|0);y=2-k*k;w=0;m=0;while(1){if((m|0)>=(_|0))break;f[Oe+(m<<2)>>2]=+f[b+(m<<2)>>2]*.5*(w+k);ze=m|1;f[Oe+(ze<<2)>>2]=+f[b+(ze<<2)>>2]*k;B=y*k-w;ze=m|2;f[Oe+(ze<<2)>>2]=+f[b+(ze<<2)>>2]*.5*(k+B);ze=m|3;f[Oe+(ze<<2)>>2]=+f[b+(ze<<2)>>2]*B;w=B;k=y*B-k;m=m+4|0}ze=Oe+(_<<2)|0;g=b+(_<<2)|0;m=v-(_<<1)|0;Sr(ze|0,g|0,m<<2|0)|0;b=ze+(m<<2)|0;m=g+(m<<2)|0;w=1;k=y*.5;g=0;while(1){if((g|0)>=(_|0))break;f[b+(g<<2)>>2]=+f[m+(g<<2)>>2]*.5*(w+k);ze=g|1;f[b+(ze<<2)>>2]=+f[m+(ze<<2)>>2]*k;B=y*k-w;ze=g|2;f[b+(ze<<2)>>2]=+f[m+(ze<<2)>>2]*.5*(k+B);ze=g|3;f[b+(ze<<2)>>2]=+f[m+(ze<<2)>>2]*B;w=B;k=y*B-k;g=g+4|0}A=e+4740|0;E=s[A>>2]|0;b=(E|0)<(v|0)?E+1|0:v;m=0;while(1){if((m|0)>=(b|0))break;f[j+(m<<2)>>2]=+nn(Oe,Oe+(m<<2)|0,v-m|0);m=m+1|0}k=+f[j>>2];k=k+(k*.0010000000474974513+1);f[j>>2]=k;b=0;while(1){if((b|0)>(E|0))break;B=+f[j+(b<<2)>>2];h[He+(b<<4)+8>>3]=B;h[He+(b<<4)>>3]=B;b=b+1|0}fe=He+8|0;g=0;t:while(1){if((E|0)<=(g|0))break;b=g+1|0;w=+h[fe>>3];w=-+h[He+(b<<4)>>3]/(w>9.999999717180685e-10?w:9.999999717180685e-10);f[Ne+(g<<2)>>2]=w;m=E-g|0;_=0;while(1){if((_|0)>=(m|0)){g=b;continue t}xe=He+(_+g+1<<4)|0;B=+h[xe>>3];ze=He+(_<<4)+8|0;U=+h[ze>>3];h[xe>>3]=B+U*w;h[ze>>3]=U+B*w;_=_+1|0}}B=+h[fe>>3];oe=tt+704|0;f[oe>>2]=k/(B>1?B:1);g=0;while(1){if((g|0)>=(E|0))break;w=+f[Ne+(g<<2)>>2];b=g+1|0;m=b>>1;_=0;while(1){if((_|0)>=(m|0))break;xe=Ie+(_<<2)|0;B=+f[xe>>2];ze=Ie+(g-_+-1<<2)|0;U=+f[ze>>2];f[xe>>2]=B+U*w;f[ze>>2]=U+B*w;_=_+1|0}f[Ie+(g<<2)>>2]=-w;g=b}b=E+-1|0;w=.9900000095367432;m=0;while(1){if((m|0)>=(b|0))break;ze=Ie+(m<<2)|0;f[ze>>2]=+f[ze>>2]*w;w=w*.9900000095367432;m=m+1|0}ze=Ie+(b<<2)|0;f[ze>>2]=+f[ze>>2]*w;Ji(se,Ie,S,T,E);ze=e+4857|0;b=n[ze>>0]|0;do if(b<<24>>24!=0?(s[e+4756>>2]|0)==0:0){R=.6000000238418579-+(s[A>>2]|0)*.004000000189989805-+(s[e+4624>>2]|0)*.10000000149011612*.00390625-+(n[e+4633>>0]>>1|0)*.15000000596046448-+(s[e+4804>>2]|0)*.10000000149011612*30517578125e-15;D=tt+228|0;Q=e+4854|0;ee=e+4856|0;j=e+10152|0;x=s[e+4636>>2]|0;y=+(s[e+4744>>2]|0)*152587890625e-16;W=s[We>>2]|0;V=s[e+4736>>2]|0;K=s[e+4672>>2]|0;E=te((K*5|0)+20|0,W)|0;P=K*20|0;m=P+80|0;C=(K*40|0)+160|0;Y=W*5|0;X=W<<1;$=W*18|0;q=$+-1|0;I=(W|0)==16;t:do if(I){b=E;while(1){v=b+-1|0;if((b|0)<=0)break;w=+f[se+(v<<2)>>2];g=(f[d>>2]=w,s[d>>2]|0);_=(g&2130706432)>>>0>1249902592;if(!_){b=(g|0)<0;k=b?w+-8388608+8388608:w+8388608+-8388608;if(k==0)k=b?-0:0}else k=w;if((~~k|0)<=32767){if(!_){b=(g|0)<0;k=b?w+-8388608+8388608:w+8388608+-8388608;if(k==0)k=b?-0:0}else k=w;if((~~k|0)<-32768)b=-32768;else{if(!_){b=(g|0)<0;w=b?w+-8388608+8388608:w+8388608+-8388608;if(w==0)w=b?-0:0}b=~~w}}else b=32767;r[F+(v<<1)>>1]=b;b=v}g=Fe;s[g>>2]=0;s[g+4>>2]=0;On(Fe,ue,F,E);g=C;while(1){b=g+-1|0;if((g|0)<=0){b=ue;break t}f[Ue+(b<<2)>>2]=+(r[ue+(b<<1)>>1]|0);
g=b}}else{if((W|0)==12)b=E;else{b=C;while(1){v=b+-1|0;if((b|0)<=0)break;w=+f[se+(v<<2)>>2];g=(f[d>>2]=w,s[d>>2]|0);_=(g&2130706432)>>>0>1249902592;if(!_){b=(g|0)<0;k=b?w+-8388608+8388608:w+8388608+-8388608;if(k==0)k=b?-0:0}else k=w;if((~~k|0)<=32767){if(!_){b=(g|0)<0;k=b?w+-8388608+8388608:w+8388608+-8388608;if(k==0)k=b?-0:0}else k=w;if((~~k|0)<-32768)b=-32768;else{if(!_){b=(g|0)<0;w=b?w+-8388608+8388608:w+8388608+-8388608;if(w==0)w=b?-0:0}b=~~w}}else b=32767;r[ue+(v<<1)>>1]=b;b=v}b=ue;break}while(1){v=b+-1|0;if((b|0)<=0)break;w=+f[se+(v<<2)>>2];g=(f[d>>2]=w,s[d>>2]|0);_=(g&2130706432)>>>0>1249902592;if(!_){b=(g|0)<0;k=b?w+-8388608+8388608:w+8388608+-8388608;if(k==0)k=b?-0:0}else k=w;if((~~k|0)<=32767){if(!_){b=(g|0)<0;k=b?w+-8388608+8388608:w+8388608+-8388608;if(k==0)k=b?-0:0}else k=w;if((~~k|0)<-32768)b=-32768;else{if(!_){b=(g|0)<0;w=b?w+-8388608+8388608:w+8388608+-8388608;if(w==0)w=b?-0:0}b=~~w}}else b=32767;r[G+(v<<1)>>1]=b;b=v}s[Fe>>2]=0;s[Fe+4>>2]=0;s[Fe+8>>2]=0;s[Fe+12>>2]=0;s[Fe+16>>2]=0;s[Fe+20>>2]=0;s[He>>2]=0;s[He+4>>2]=0;s[He+8>>2]=0;s[He+12>>2]=0;T=Fe+16|0;S=He+16|0;M=Fe+20|0;v=ue;A=G;b=E;while(1){E=(b|0)<480?b:480;g=0;while(1){if((g|0)>=(E|0)){g=He;_=E;break}xe=(s[T>>2]|0)+(r[A+(g<<1)>>1]<<8)|0;s[S+(g<<2)>>2]=xe;xe=xe<<2;Pe=xe>>16;xe=xe&65532;s[T>>2]=(s[M>>2]|0)+((te(Pe,-2797)|0)+((te(xe,-2797)|0)>>16));s[M>>2]=(te(Pe,-6507)|0)+((te(xe,-6507)|0)>>16);g=g+1|0}while(1){if((_|0)<=2)break;Te=s[g>>2]|0;Me=g+4|0;Se=s[Me>>2]|0;Re=g+8|0;Pe=s[Re>>2]|0;xe=g+12|0;Ce=s[xe>>2]|0;Ce=(((Te>>16)*4697|0)+(((Te&65535)*4697|0)>>>16)+(((Se>>16)*10739|0)+(((Se&65535)*10739|0)>>>16))+(((Pe>>16)*8276|0)+(((Pe&65535)*8276|0)>>>16))+(((Ce>>16)*1567|0)+(((Ce&65535)*1567|0)>>>16))>>5)+1>>1;r[v>>1]=(Ce|0)>32767?32767:((Ce|0)<-32768?-32768:Ce)&65535;Me=s[Me>>2]|0;Re=s[Re>>2]|0;Ce=s[xe>>2]|0;Pe=s[g+16>>2]|0;Pe=(((Me>>16)*1567|0)+(((Me&65535)*1567|0)>>>16)+(((Re>>16)*8276|0)+(((Re&65535)*8276|0)>>>16))+(((Ce>>16)*10739|0)+(((Ce&65535)*10739|0)>>>16))+(((Pe>>16)*4697|0)+(((Pe&65535)*4697|0)>>>16))>>5)+1>>1;r[v+2>>1]=(Pe|0)>32767?32767:((Pe|0)<-32768?-32768:Pe)&65535;v=v+4|0;g=xe;_=_+-3|0}b=b-E|0;if((b|0)<=0)break;xe=He+(E<<2)|0;s[He>>2]=s[xe>>2];s[He+4>>2]=s[xe+4>>2];s[He+8>>2]=s[xe+8>>2];s[He+12>>2]=s[xe+12>>2];A=A+(E<<1)|0}g=He+(E<<2)|0;s[Fe>>2]=s[g>>2];s[Fe+4>>2]=s[g+4>>2];s[Fe+8>>2]=s[g+8>>2];s[Fe+12>>2]=s[g+12>>2];g=C;while(1){b=g+-1|0;if((g|0)<=0){b=ue;break t}f[Ue+(b<<2)>>2]=+(r[ue+(b<<1)>>1]|0);g=b}}while(0);xe=Fe;s[xe>>2]=0;s[xe+4>>2]=0;On(Fe,ce,b,C);while(1){b=m+-1|0;if((m|0)<=0)break;f[Le+(b<<2)>>2]=+(r[ce+(b<<1)>>1]|0);m=b}b=P+79|0;while(1){if((b|0)<=0)break;m=Le+(b<<2)|0;b=b+-1|0;w=+(~~+f[m>>2]|0)+ +f[Le+(b<<2)>>2];if(!(w>32767)){if(w<-32768)w=-32768}else w=32767;f[m>>2]=+(~~w<<16>>16)}yr(je|0,0,K*596|0)|0;b=K>>1;m=Be+256|0;A=je+32|0;v=0;E=Le+320|0;while(1){if((v|0)>=(b|0)){b=72;break}g=E+-32|0;wi(E,E+-288|0,Be,40,65);B=+f[m>>2];w=+tn(E,40);w=w+ +tn(g,40)+16e4;f[A>>2]=+f[A>>2]+B*2/w;_=9;while(1){if((_|0)==73)break;xe=g+-4|0;U=+f[xe>>2];B=+f[g+156>>2];B=w+(U*U-B*B);Pe=je+(_<<2)|0;f[Pe>>2]=+f[Pe>>2]+ +f[Be+(72-_<<2)>>2]*2/B;g=xe;_=_+1|0;w=B}v=v+1|0;E=E+160|0}while(1){if((b|0)<=7)break;xe=je+(b<<2)|0;B=+f[xe>>2];f[xe>>2]=B-B*+(b|0)*.000244140625;b=b+-1|0}E=V<<1;m=E+4|0;b=0;while(1){if((b|0)>=(m|0)){b=1;break}s[re+(b<<2)>>2]=b;b=b+1|0}while(1){if((b|0)>=(m|0))break;w=+f[A+(b<<2)>>2];_=b;while(1){g=_+-1|0;if((_|0)<=0)break;k=+f[A+(g<<2)>>2];if(!(w>k))break;f[A+(_<<2)>>2]=k;s[re+(_<<2)>>2]=s[re+(g<<2)>>2];_=g}f[A+(_<<2)>>2]=w;s[re+(_<<2)>>2]=b;b=b+1|0}v=A+(E+3<<2)|0;b=E+2|0;g=m;while(1){if((g|0)>=65)break;w=+f[A+(g<<2)>>2];if(w>+f[v>>2]){_=b;while(1){if((_|0)<=-1)break;k=+f[A+(_<<2)>>2];if(!(w>k))break;xe=_+1|0;f[A+(xe<<2)>>2]=k;s[re+(xe<<2)>>2]=s[re+(_<<2)>>2];_=_+-1|0}xe=_+1|0;f[A+(xe<<2)>>2]=w;s[re+(xe<<2)>>2]=g}g=g+1|0}w=+f[A>>2];do if(w<.20000000298023224){yr(D|0,0,K<<2|0)|0;f[j>>2]=0;r[Q>>1]=0;n[ee>>0]=0;b=0}else{w=w*y;b=0;while(1){if((b|0)>=(m|0))break;if(!(+f[je+(b+8<<2)>>2]>w)){m=b;break}xe=re+(b<<2)|0;s[xe>>2]=(s[xe>>2]<<1)+16;b=b+1|0}b=11;while(1){if((b|0)==148){b=0;break}r[Z+(b<<1)>>1]=0;b=b+1|0}while(1){if((b|0)>=(m|0)){b=146;break}r[Z+(s[re+(b<<2)>>2]<<1)>>1]=1;b=b+1|0}while(1){if((b|0)<=15){m=16;P=0;break}xe=b+-1|0;Pe=Z+(b<<1)|0;r[Pe>>1]=(a[Pe>>1]|0)+((a[Z+(xe<<1)>>1]|0)+(a[Z+(b+-2<<1)>>1]|0));b=xe}while(1){if((m|0)==144){b=146;break}b=m+1|0;if((r[Z+(b<<1)>>1]|0)<=0){m=b;continue}s[re+(P<<2)>>2]=m;m=b;P=P+1|0}while(1){if((b|0)<=15){m=16;b=0;break}xe=b+-1|0;Pe=Z+(b<<1)|0;r[Pe>>1]=(a[Pe>>1]|0)+((a[Z+(xe<<1)>>1]|0)+(a[Z+(b+-2<<1)>>1]|0)+(a[Z+(b+-3<<1)>>1]|0));b=xe}while(1){if((m|0)==147)break;if((r[Z+(m<<1)>>1]|0)>0){r[Z+(b<<1)>>1]=m+65534;b=b+1|0}m=m+1|0}yr(je|0,0,2384)|0;A=(W|0)==8;v=0;E=A?se+640|0:Ue+640|0;while(1){if((v|0)>=(K|0))break;k=+tn(E,40)+1;_=0;while(1){if((_|0)>=(b|0))break;g=r[Z+(_<<1)>>1]|0;m=E+(0-g<<2)|0;w=+nn(m,E,40);if(w>0)w=w*2/(+tn(m,40)+k);else w=0;f[je+(v*596|0)+(g<<2)>>2]=w;_=_+1|0}v=v+1|0;E=E+160|0}if((x|0)>0){if((W|0)==12)b=(x<<1|0)/3|0;else b=x>>(I&1);m=b;B=+Hn(+(b|0))*3.32192809488736}else{m=x;B=0}F=(K|0)==4;if(F){M=32969;C=11;S=A&(V|0)>0?11:3}else{M=32935;C=3;S=3}L=+(K|0);U=L*.20000000298023224;A=(m|0)>0;R=L*R;m=0;O=0;N=-1e3;E=0;T=-1;while(1){if((E|0)>=(P|0))break;v=s[re+(E<<2)>>2]|0;_=0;while(1){if((_|0)>=(S|0)){g=0;y=-1e3;b=0;break}b=ie+(_<<2)|0;f[b>>2]=0;w=0;g=0;while(1){if((g|0)>=(K|0))break;y=w+ +f[je+(g*596|0)+(v+(n[M+((te(g,C)|0)+_)>>0]|0)<<2)>>2];f[b>>2]=y;w=y;g=g+1|0}_=_+1|0}while(1){if((b|0)>=(S|0))break;k=+f[ie+(b<<2)>>2];xe=k>y;g=xe?b:g;y=xe?k:y;b=b+1|0}k=+Hn(+(v|0))*3.32192809488736;w=y-U*k;if(A){k=k-B;k=k*k;w=w-U*+f[j>>2]*k/(k+.5)}xe=w>N&y>R;m=xe?g:m;O=xe?y:O;N=xe?w:N;E=E+1|0;T=xe?v:T}if((T|0)==-1){s[D>>2]=0;s[D+4>>2]=0;s[D+8>>2]=0;s[D+12>>2]=0;f[j>>2]=0;r[Q>>1]=0;n[ee>>0]=0;b=0;break}f[j>>2]=O/L;if((W|0)>8){if((W|0)==12){b=(T<<16>>16)*3|0;b=(b>>1)+(b&1)|0}else b=T<<1;if((X|0)<($|0))if((b|0)<($|0))E=(b|0)<(X|0)?X:b;else E=q;else if((b|0)>(X|0))E=X;else E=(b|0)<(q|0)?q:b;D=E+-2|0;D=(D|0)>(X|0)?D:X;j=E+2|0;j=(j|0)<(q|0)?j:q;if(F){M=33013;C=33149+(V<<3)|0;P=34;x=n[33173+V>>0]|0}else{M=32941;C=32965;P=12;x=12}I=se+(W*20<<2)|0;v=0-D|0;T=0;S=I;while(1){if((T|0)>=(K|0))break;b=T<<1;A=n[C+b>>0]|0;b=n[C+(b|1)>>0]|0;wi(S,S+(v<<2)+(0-b<<2)|0,He,Y,b-A+1|0);m=A;g=0;while(1){if((b|0)<(m|0))break;s[Ge+(g<<2)>>2]=s[He+(b-m<<2)>>2];m=m+1|0;g=g+1|0}b=te(T,P)|0;g=0;while(1){if((g|0)>=(x|0))break;m=(n[M+(b+g)>>0]|0)-A|0;_=0;while(1){if((_|0)==5)break;s[ae+(T*680|0)+(g*20|0)+(_<<2)>>2]=s[Ge+(m+_<<2)>>2];_=_+1|0}g=g+1|0}T=T+1|0;S=S+(Y<<2)|0}if(F){A=33013;T=33149+(V<<3)|0;S=34;C=n[33173+V>>0]|0}else{A=32941;T=32965;S=12;C=12}M=0;P=I;while(1){if((M|0)>=(K|0))break;m=M<<1;v=n[T+m>>0]|0;b=P+(0-(v+D)<<2)|0;w=+tn(b,Y)+.001;f[Ge>>2]=w;m=(n[T+(m|1)>>0]|0)-v|0;g=1;while(1){if((g|0)>(m|0))break;U=+f[b+(Y-g<<2)>>2];B=+f[b+(0-g<<2)>>2];B=w-U*U+B*B;f[Ge+(g<<2)>>2]=B;w=B;g=g+1|0}b=te(M,S)|0;g=0;while(1){if((g|0)>=(C|0))break;m=(n[A+(b+g)>>0]|0)-v|0;_=0;while(1){if((_|0)==5)break;s[le+(M*680|0)+(g*20|0)+(_<<2)>>2]=s[Ge+(m+_<<2)>>2];_=_+1|0}g=g+1|0}M=M+1|0;P=P+(Y<<2)|0}O=.05000000074505806/+(E|0);if(F){S=33013;M=34;T=n[33173+V>>0]|0}else{S=32941;M=12;T=12}R=+tn(I,te(Y,K)|0)+1;m=0;w=-1e3;v=D;A=0;while(1){if((v|0)>(j|0))break;else{_=0;b=E}while(1){if((_|0)<(T|0)){k=0;y=R;g=0}else break;while(1){if((g|0)>=(K|0))break;k=k+ +f[ae+(g*680|0)+(_*20|0)+(A<<2)>>2];y=y+ +f[le+(g*680|0)+(_*20|0)+(A<<2)>>2];g=g+1|0}if(k>0)k=k*2/y*(1-O*+(_|0));else k=0;if(k>w){xe=(v+(n[33013+_>>0]|0)|0)<($|0);m=xe?_:m;w=xe?k:w;b=xe?v:b}_=_+1|0}v=v+1|0;A=A+1|0;E=b}g=(X|0)>($|0);v=0;while(1){if((v|0)>=(K|0))break;b=E+(n[S+((te(v,M)|0)+m)>>0]|0)|0;_=tt+228+(v<<2)|0;s[_>>2]=b;do if(g){if((b|0)>(X|0)){b=X;break}b=(b|0)<($|0)?$:b}else{if((b|0)>($|0)){b=$;break}b=(b|0)<(X|0)?X:b}while(0);s[_>>2]=b;v=v+1|0}b=E-X|0}else{b=0;while(1){if((b|0)>=(K|0))break;xe=T+(n[M+((te(b,C)|0)+m)>>0]|0)|0;s[tt+228+(b<<2)>>2]=(xe|0)>144?144:(xe|0)<16?16:xe;b=b+1|0}b=T+65520|0}r[Q>>1]=b;n[ee>>0]=m;b=1}while(0);if(b){n[ze>>0]=2;b=2;break}else{n[ze>>0]=1;b=1;break}}else at=264;while(0);if((at|0)==264){xe=tt+228|0;s[xe>>2]=0;s[xe+4>>2]=0;s[xe+8>>2]=0;s[xe+12>>2]=0;r[e+4854>>1]=0;n[e+4856>>0]=0;f[e+10152>>2]=0}A=$e+(0-(s[e+4692>>2]|0)<<2)|0;Me=e+4808|0;k=+(s[Me>>2]|0);w=k*.0078125;j=s[e+4788>>2]|0;y=+(j+(s[e+4792>>2]|0)|0)*.5*30517578125e-15;Re=tt+696|0;f[Re>>2]=y;N=1/(+J(+-((w+-20)*.25))+1);Ce=tt+700|0;f[Ce>>2]=N;if(!(s[e+4768>>2]|0)){B=1-+(s[e+4624>>2]|0)*.00390625;w=w-N*2*(y*.5+.5)*B*B}F=b<<24>>24==2;do if(!F){O=w+(k*-.4000000059604645*.0078125+6)*(1-y);m=s[We>>2]<<1;v=e+4672|0;b=s[v>>2]|0;E=((b<<16>>16)*5|0)/2|0;y=+(m|0);w=0;g=0;k=0;_=he;while(1){if((g|0)>=(E|0))break;R=+Hn(y+ +tn(_,m))*3.32192809488736;if((g|0)>0)w=w+ +H(+(R-k));g=g+1|0;k=R;_=_+(m<<2)|0}m=e+4858|0;if(w>+(E+-1|0)*.6000000238418579){n[m>>0]=0;xe=v;break}else{n[m>>0]=1;xe=v;break}}else{O=w+ +f[e+10152>>2]*2;n[e+4858>>0]=0;b=e+4672|0;xe=b;b=s[b>>2]|0}while(0);U=+f[oe>>2]*.0010000000474974513;U=.9399999976158142/(U*U+1);D=s[e+4764>>2]|0;R=+(D|0)*152587890625e-16+N*.009999999776482582;P=e+4696|0;Pe=e+4680|0;x=e+4728|0;N=R;L=1-R*R;I=0;E=A;while(1){if((I|0)>=(b|0))break;m=s[We>>2]|0;g=m*3|0;A=s[P>>2]|0;v=(A-g|0)/2|0;k=3.1415927410125732/+(v+1|0);y=2-k*k;w=0;_=0;while(1){if((_|0)>=(v|0))break;f[Ue+(_<<2)>>2]=+f[E+(_<<2)>>2]*.5*(w+k);Se=_|1;f[Ue+(Se<<2)>>2]=+f[E+(Se<<2)>>2]*k;B=y*k-w;Se=_|2;f[Ue+(Se<<2)>>2]=+f[E+(Se<<2)>>2]*.5*(k+B);Se=_|3;f[Ue+(Se<<2)>>2]=+f[E+(Se<<2)>>2]*B;w=B;k=y*B-k;_=_+4|0}Sr(Ue+(v<<2)|0,E+(v<<2)|0,m*12|0)|0;g=v+g|0;m=Ue+(g<<2)|0;g=E+(g<<2)|0;w=1;k=y*.5;_=0;while(1){if((_|0)>=(v|0))break;f[m+(_<<2)>>2]=+f[g+(_<<2)>>2]*.5*(w+k);Se=_|1;f[m+(Se<<2)>>2]=+f[g+(Se<<2)>>2]*k;B=y*k-w;Se=_|2;f[m+(Se<<2)>>2]=+f[g+(Se<<2)>>2]*.5*(k+B);Se=_|3;f[m+(Se<<2)>>2]=+f[g+(Se<<2)>>2]*B;w=B;k=y*B-k;_=_+4|0}E=E+(s[Pe>>2]<<2)|0;T=(D|0)>0;C=s[x>>2]|0;t:do if(T){yr(He|0,0,200)|0;yr(Ge|0,0,200)|0;g=He+(C<<3)|0;_=Ge+(C<<3)|0;w=0;v=0;while(1){if((v|0)>=(A|0)){m=0;break}m=0;k=+f[Ue+(v<<2)>>2];while(1){if((m|0)>=(C|0))break;Te=m|1;Ae=He+(Te<<3)|0;ft=+h[Ae>>3];B=w+N*(ft-k);h[He+(m<<3)>>3]=k;Se=Ge+(m<<3)|0;h[Se>>3]=+h[Se>>3]+ +h[He>>3]*k;Se=m+2|0;y=+h[He+(Se<<3)>>3];h[Ae>>3]=B;Te=Ge+(Te<<3)|0;h[Te>>3]=+h[Te>>3]+ +h[He>>3]*B;w=y;m=Se;k=ft+N*(y-B)}h[g>>3]=k;w=+h[He>>3];h[_>>3]=+h[_>>3]+w*k;v=v+1|0}while(1){if((m|0)>(C|0))break;f[Le+(m<<2)>>2]=+h[Ge+(m<<3)>>3];m=m+1|0}}else{m=(C|0)<(A|0)?C+1|0:A;g=0;while(1){if((g|0)>=(m|0))break t;f[Le+(g<<2)>>2]=+nn(Ue,Ue+(g<<2)|0,A-g|0);g=g+1|0}}while(0);ft=+f[Le>>2];f[Le>>2]=ft+(ft*29999999242136255e-21+1);m=0;while(1){if((m|0)>(C|0)){_=0;break}ft=+f[Le+(m<<2)>>2];h[He+(m<<4)+8>>3]=ft;h[He+(m<<4)>>3]=ft;m=m+1|0}t:while(1){if((C|0)<=(_|0))break;m=_+1|0;w=+h[fe>>3];w=-+h[He+(m<<4)>>3]/(w>9.999999717180685e-10?w:9.999999717180685e-10);f[ue+(_<<2)>>2]=w;g=C-_|0;v=0;while(1){if((v|0)>=(g|0)){_=m;continue t}Te=He+(v+_+1<<4)|0;ft=+h[Te>>3];Se=He+(v<<4)+8|0;B=+h[Se>>3];h[Te>>3]=ft+B*w;h[Se>>3]=B+ft*w;v=v+1|0}}w=+h[fe>>3];M=tt+244+(I*24<<2)|0;_=0;while(1){if((_|0)>=(C|0))break;k=+f[ue+(_<<2)>>2];m=_+1|0;g=m>>1;v=0;while(1){if((v|0)>=(g|0))break;Te=M+(v<<2)|0;ft=+f[Te>>2];Se=M+(_-v+-1<<2)|0;B=+f[Se>>2];f[Te>>2]=ft+B*k;f[Se>>2]=B+ft*k;v=v+1|0}f[M+(_<<2)>>2]=-k;_=m}k=+z(+w);m=tt+(I<<2)|0;f[m>>2]=k;S=C+-1|0;if(T){w=+f[M+(S<<2)>>2];g=C+-2|0;while(1){w=R*w;if((g|0)<=-1)break;w=+f[M+(g<<2)>>2]-w;g=g+-1|0}f[m>>2]=k*(1/(w+1));w=U;m=0}else{w=U;m=0}while(1){if((m|0)>=(S|0))break;Se=M+(m<<2)|0;f[Se>>2]=+f[Se>>2]*w;w=w*U;m=m+1|0}A=M+(S<<2)|0;w=+f[A>>2]*w;f[A>>2]=w;t:do if(T){m=C;while(1){if((m|0)<=1)break;Se=M+(m+-2<<2)|0;ft=+f[Se>>2]-w*R;f[Se>>2]=ft;w=ft;m=m+-1|0}w=L/(+f[M>>2]*R+1);m=0;while(1){if((m|0)>=(C|0)){m=0;v=0;break}Se=M+(m<<2)|0;f[Se>>2]=+f[Se>>2]*w;m=m+1|0}while(1){if((v|0)<10){g=0;_=m;k=-1}else break t;while(1){if((g|0)>=(C|0))break;ft=+H(+ +f[M+(g<<2)>>2]);Se=ft>k;Te=Se?g:_;g=g+1|0;_=Te;k=Se?ft:k}if(!(k<=3.999000072479248))m=1;else break t;while(1){if((m|0)>=(C|0))break;Se=M+(m+-1<<2)|0;f[Se>>2]=+f[Se>>2]+ +f[M+(m<<2)>>2]*R;m=m+1|0}w=1/w;m=0;while(1){if((m|0)>=(C|0))break;Se=M+(m<<2)|0;f[Se>>2]=+f[Se>>2]*w;m=m+1|0}w=.9900000095367432-(+(v|0)*.10000000149011612+.800000011920929)*(k+-3.999000072479248)/(k*+(_+1|0));k=w;m=0;while(1){if((m|0)>=(S|0))break;Se=M+(m<<2)|0;f[Se>>2]=+f[Se>>2]*k;k=k*w;m=m+1|0}w=+f[A>>2]*k;f[A>>2]=w;m=C;while(1){if((m|0)<=1)break;Se=M+(m+-2<<2)|0;ft=+f[Se>>2]-w*R;f[Se>>2]=ft;w=ft;m=m+-1|0}w=L/(+f[M>>2]*R+1);m=0;while(1){if((m|0)>=(C|0))break;Se=M+(m<<2)|0;f[Se>>2]=+f[Se>>2]*w;m=m+1|0}m=_;v=v+1|0}}else{m=0;_=0;while(1){if((_|0)<10){g=0;w=-1}else break t;while(1){if((g|0)>=(C|0))break;ft=+H(+ +f[M+(g<<2)>>2]);Se=ft>w;Te=Se?g:m;g=g+1|0;m=Te;w=Se?ft:w}if(w<=3.999000072479248)break t;w=.9900000095367432-(+(_|0)*.10000000149011612+.800000011920929)*(w+-3.999000072479248)/(w*+(m+1|0));k=w;g=0;while(1){if((g|0)>=(S|0))break;Se=M+(g<<2)|0;f[Se>>2]=+f[Se>>2]*k;k=k*w;g=g+1|0}f[A>>2]=+f[A>>2]*k;_=_+1|0}}while(0);I=I+1|0}w=+wt(+(O*-.1599999964237213));m=0;while(1){if((m|0)>=(b|0))break;Se=tt+(m<<2)|0;f[Se>>2]=+f[Se>>2]*w+1.2483305931091309;m=m+1|0}Se=e+4624|0;w=+(s[Se>>2]|0);k=((+(j|0)*30517578125e-15+-1)*.5+1)*4*(w*.00390625);t:do if(F){m=0;while(1){if((m|0)>=(b|0))break;ft=.20000000298023224/+(s[We>>2]|0)+3/+(s[tt+228+(m<<2)>>2]|0);f[tt+628+(m<<2)>>2]=ft+-1;f[tt+644+(m<<2)>>2]=1-ft-ft*k;m=m+1|0}k=-.25-w*.26249998807907104*.00390625}else{ft=1.2999999523162842/+(s[We>>2]|0);g=tt+628|0;f[g>>2]=ft+-1;_=tt+644|0;f[_>>2]=1-ft-ft*k*.6000000238418579;m=1;while(1){if((m|0)>=(b|0)){k=-.25;break t}s[tt+628+(m<<2)>>2]=s[g>>2];s[tt+644+(m<<2)>>2]=s[_>>2];m=m+1|0}}while(0);if(F)w=((1-(1-+f[Ce>>2])*+f[Re>>2])*.20000000298023224+.30000001192092896)*+z(+ +f[e+10152>>2]);else w=0;m=e+7264|0;g=e+7268|0;_=0;while(1){if((_|0)>=(b|0))break;ft=+f[m>>2];ft=ft+(w-ft)*.4000000059604645;f[m>>2]=ft;f[tt+676+(_<<2)>>2]=ft;ft=+f[g>>2];ft=ft+(k-ft)*.4000000059604645;f[g>>2]=ft;f[tt+660+(_<<2)>>2]=ft;_=_+1|0}m=0;while(1){if((m|0)>=(b|0))break;f[Fe+(m<<2)>>2]=1/+f[tt+(m<<2)>>2];m=m+1|0}if(F){C=s[Pe>>2]|0;P=C+5|0;A=he;T=ue;S=0;M=ce;while(1){if((S|0)>=(b|0))break;_=A+(-2-(s[tt+228+(S<<2)>>2]|0)<<2)|0;m=_+16|0;w=+tn(m,C);f[T>>2]=w;g=1;while(1){if((g|0)==5)break;B=+f[m+(0-g<<2)>>2];ft=+f[m+(C-g<<2)>>2];ft=w+(B*B-ft*ft);f[T+(g*6<<2)>>2]=ft;w=ft;g=g+1|0}E=1;v=_+12|0;while(1){if((E|0)==5){g=0;break}w=+nn(m,v,C);ft=w;f[T+(E*5<<2)>>2]=ft;f[T+(E<<2)>>2]=ft;g=5-E|0;_=1;while(1){if((_|0)>=(g|0))break;Ae=0-_|0;Te=C-_|0;ft=w+(+f[m+(Ae<<2)>>2]*+f[v+(Ae<<2)>>2]-+f[m+(Te<<2)>>2]*+f[v+(Te<<2)>>2]);B=ft;Te=E+_|0;f[T+((Te*5|0)+_<<2)>>2]=B;f[T+((_*5|0)+Te<<2)>>2]=B;w=ft;_=_+1|0}E=E+1|0;v=v+-4|0}while(1){if((g|0)==5)break;f[M+(g<<2)>>2]=+nn(m,A,C);g=g+1|0;m=m+-4|0}ft=+tn(A,P);w=(+f[T>>2]+ +f[T+96>>2])*.014999999664723873+1;w=1/(ft>w?ft:w);m=0;while(1){if((m|0)>=24){m=24;break}Te=T+(m<<2)|0;f[Te>>2]=+f[Te>>2]*w;Te=T+((m|1)<<2)|0;f[Te>>2]=+f[Te>>2]*w;Te=T+((m|2)<<2)|0;f[Te>>2]=+f[Te>>2]*w;Te=T+((m|3)<<2)|0;f[Te>>2]=+f[Te>>2]*w;m=m+4|0}while(1){if((m|0)==25){m=0;break}Te=T+(m<<2)|0;f[Te>>2]=+f[Te>>2]*w;m=m+1|0}while(1){if((m|0)>=4){m=4;break}Te=M+(m<<2)|0;f[Te>>2]=+f[Te>>2]*w;Te=M+((m|1)<<2)|0;f[Te>>2]=+f[Te>>2]*w;Te=M+((m|2)<<2)|0;f[Te>>2]=+f[Te>>2]*w;Te=M+((m|3)<<2)|0;f[Te>>2]=+f[Te>>2]*w;m=m+4|0}while(1){if((m|0)==5)break;Te=M+(m<<2)|0;f[Te>>2]=+f[Te>>2]*w;m=m+1|0}A=A+(C<<2)|0;T=T+100|0;S=S+1|0;M=M+20|0}ke=e+4832|0;Te=e+4748|0;_=s[Pe>>2]|0;Ee=s[xe>>2]|0;m=Ee*25|0;g=0;while(1){if((g|0)>=(m|0))break;w=+f[ue+(g<<2)>>2]*131072;b=(f[d>>2]=w,s[d>>2]|0);if((b&2130706432)>>>0<=1249902592){b=(b|0)<0;w=b?w+-8388608+8388608:w+8388608+-8388608;if(w==0)w=b?-0:0}s[Ue+(g<<2)>>2]=~~w;g=g+1|0}ve=e+4860|0;Ae=tt+708|0;ye=Ee*5|0;m=0;while(1){if((m|0)>=(ye|0))break;w=+f[ce+(m<<2)>>2]*131072;b=(f[d>>2]=w,s[d>>2]|0);if((b&2130706432)>>>0<=1249902592){b=(b|0)<0;w=b?w+-8388608+8388608:w+8388608+-8388608;if(w==0)w=b?-0:0}s[Le+(m<<2)>>2]=~~w;m=m+1|0}me=_<<16>>16;_e=0;b=0;ge=0;m=2147483647;E=0;while(1){if((ge|0)==3)break;ce=s[17388+(ge<<2)>>2]|0;de=s[17400+(ge<<2)>>2]|0;pe=s[17412+(ge<<2)>>2]|0;be=n[29888+ge>>0]|0;we=Ue;S=b;he=0;T=0;E=0;b=s[Te>>2]|0;ue=Le;while(1){if((he|0)>=(Ee|0))break;fe=5333-b|0;g=fe+896|0;if((fe|0)>=-896)if((g|0)>3966)g=2147483647;else{_=g>>7;A=1<<_;v=g&127;if((g|0)<2048)g=v+((te(te(v,128-v|0)|0,-174)|0)>>16)<<_>>7;else g=te(A>>7,v+((te(te(v,128-v|0)|0,-174)|0)>>16)|0)|0;g=A+g|0}else g=0;x=g+-51|0;I=He+he|0;D=s[ue>>2]<<7;j=s[ue+4>>2]<<7;F=s[ue+8>>2]<<7;G=s[ue+12>>2]<<7;oe=0-(s[ue+16>>2]<<7)|0;n[I>>0]=0;q=we+4|0;W=we+8|0;V=we+12|0;Y=we+16|0;Z=we+28|0;$=we+32|0;K=we+36|0;X=we+24|0;Q=we+52|0;ee=we+56|0;ie=we+48|0;re=we+76|0;se=we+72|0;oe=oe<<1;ae=we+96|0;le=de;fe=S;C=0;P=2147483647;M=2147483647;while(1){if((C|0)>=(be|0))break;v=o[pe+C>>0]|0;ht=n[le+1>>0]|0;S=(te(s[q>>2]|0,ht)|0)-D|0;_=n[le+2>>0]|0;S=S+(te(s[W>>2]|0,_)|0)|0;A=n[le+3>>0]|0;S=S+(te(s[V>>2]|0,A)|0)|0;g=n[le+4>>0]|0;S=S+(te(s[Y>>2]|0,g)|0)<<1;ut=n[le>>0]|0;S=S+(te(s[we>>2]|0,ut)|0)|0;ut=(te(S>>16,ut)|0)+((te(S&65535,ut)|0)>>16)+32801|0;S=(te(s[Z>>2]|0,_)|0)-j|0;S=S+(te(s[$>>2]|0,A)|0)|0;S=S+(te(s[K>>2]|0,g)|0)<<1;S=S+(te(s[X>>2]|0,ht)|0)|0;ht=ut+((te(S>>16,ht)|0)+((te(S&65535,ht)|0)>>16))|0;S=(te(s[Q>>2]|0,A)|0)-F|0;S=S+(te(s[ee>>2]|0,g)|0)<<1;S=S+(te(s[ie>>2]|0,_)|0)|0;_=ht+((te(S>>16,_)|0)+((te(S&65535,_)|0)>>16))|0;S=(te(s[re>>2]|0,g)|0)-G<<1;S=S+(te(s[se>>2]|0,A)|0)|0;A=_+((te(S>>16,A)|0)+((te(S&65535,A)|0)>>16))|0;S=oe+(te(s[ae>>2]|0,g)|0)|0;g=A+((te(S>>16,g)|0)+((te(S&65535,g)|0)>>16))|0;do if((g|0)>-1){g=g+((v|0)>(x|0)?v-x<<11:0)|0;S=ne(g|0)|0;_=24-S|0;A=0-_|0;do if(_)if((_|0)<0){_=g<<A|g>>>(_+32|0);break}else{_=g<<32-_|g>>>_;break}else _=g;while(0);_=_&127;_=te(me,(_+(((te(_,128-_|0)|0)*179|0)>>>16)+(31-S<<7)<<16)+-125829120>>16)|0;_=_+(o[ce+C>>0]<<2)|0;if((_|0)>(P|0)){v=fe;_=P;g=M;break}n[I>>0]=C}else{v=fe;_=P;g=M}while(0);le=le+5|0;fe=v;C=C+1|0;P=_;M=g}E=E+M|0;E=(E|0)<0?2147483647:E;T=T+P|0;T=(T|0)<0?2147483647:T;g=fe+51|0;A=ne(g|0)|0;_=24-A|0;v=0-_|0;do if(_)if((_|0)<0){_=g<<v|g>>>(_+32|0);break}else{_=g<<32-_|g>>>_;break}else _=g;while(0);ut=_&127;if((b+(ut+(((te(ut,128-ut|0)|0)*179|0)>>>16)+(31-A<<7))|0)<896)b=0;else{A=ne(g|0)|0;_=24-A|0;v=0-_|0;do if(_)if((_|0)<0){g=g<<v|g>>>(_+32|0);break}else{g=g<<32-_|g>>>_;break}while(0);ut=g&127;b=b+(ut+(((te(ut,128-ut|0)|0)*179|0)>>>16)+(31-A<<7))+-896|0}we=we+100|0;S=fe;he=he+1|0;ue=ue+20|0}if((T|0)>(m|0))b=_e;else{n[ve>>0]=ge;Sr(ke|0,He|0,Ee|0)|0;m=T}_e=b;b=S;ge=ge+1|0}b=s[17400+(n[ve>>0]<<2)>>2]|0;_=0;while(1){if((_|0)>=(Ee|0))break;m=e+4832+_|0;g=_*5|0;v=0;while(1){if((v|0)==5)break;r[Ge+(g+v<<1)>>1]=n[b+(((n[m>>0]|0)*5|0)+v)>>0]<<7;v=v+1|0}_=_+1|0}b=E>>((Ee|0)==2?1:2);s[Te>>2]=_e;_=ne(b|0)|0;m=24-_|0;g=0-m|0;do if(m)if((m|0)<0){b=b<<g|b>>>(m+32|0);break}else{b=b<<32-m|b>>>m;break}while(0);b=b&127;b=(b+(((te(b,128-b|0)|0)*179|0)>>>16)+(31-_<<7)<<16)+-125829120>>16;m=0;while(1){if((m|0)>=(ye|0))break;f[tt+144+(m<<2)>>2]=+(r[Ge+(m<<1)>>1]|0)*6103515625e-14;m=m+1|0}w=+(te(b,-3)|0)*.0078125;f[Ae>>2]=w;if(!l){w=+((s[e+4708>>2]|0)+(s[e+5836>>2]|0)|0)*w*.10000000149011612;if(!(w>2)){if(w<0)w=0}else w=2;b=~~w;n[e+4861>>0]=b}else{n[e+4861>>0]=0;b=0}f[tt+224>>2]=+(r[25412+(b<<24>>24<<1)>>1]|0)*6103515625e-14;M=s[e+4732>>2]|0;v=s[Pe>>2]|0;E=s[xe>>2]|0;A=v+M|0;T=Be;S=0;M=$e+(0-M<<2)|0;while(1){if((S|0)>=(E|0))break;g=0-(s[tt+228+(S<<2)>>2]|0)|0;k=+f[Fe+(S<<2)>>2];b=S*5|0;m=0;while(1){if((m|0)==5)break;s[He+(m<<2)>>2]=s[tt+144+(b+m<<2)>>2];m=m+1|0}_=0;g=M+(g<<2)|0;while(1){if((_|0)>=(A|0))break;m=s[M+(_<<2)>>2]|0;b=T+(_<<2)|0;s[b>>2]=m;w=(s[d>>2]=m,+f[d>>2]);m=0;while(1){if((m|0)==5)break;ft=w-+f[He+(m<<2)>>2]*+f[g+(2-m<<2)>>2];f[b>>2]=ft;w=ft;m=m+1|0}f[b>>2]=w*k;_=_+1|0;g=g+4|0}T=T+(A<<2)|0;S=S+1|0;M=M+(v<<2)|0}}else{T=e+4732|0;A=s[T>>2]|0;m=A;v=0;E=Be;A=$e+(0-A<<2)|0;while(1){if((v|0)>=(b|0))break;w=+f[Fe+(v<<2)>>2];b=s[Pe>>2]|0;_=b+m|0;g=_&65532;b=m+b&65532;m=0;while(1){if((m|0)>=(g|0))break;f[E+(m<<2)>>2]=+f[A+(m<<2)>>2]*w;ut=m|1;f[E+(ut<<2)>>2]=+f[A+(ut<<2)>>2]*w;ut=m|2;f[E+(ut<<2)>>2]=+f[A+(ut<<2)>>2]*w;ut=m|3;f[E+(ut<<2)>>2]=+f[A+(ut<<2)>>2]*w;m=m+4|0}while(1){if((b|0)>=(_|0))break;f[E+(b<<2)>>2]=+f[A+(b<<2)>>2]*w;b=b+1|0}ut=s[Pe>>2]|0;ht=s[T>>2]|0;b=s[xe>>2]|0;m=ht;v=v+1|0;E=E+(ut+ht<<2)|0;A=A+(ut<<2)|0}yr(tt+144|0,0,b*20|0)|0;f[tt+708>>2]=0;s[e+4748>>2]=0}b=e+4756|0;if(!(s[b>>2]|0)){k=+wt(+(+f[tt+708>>2]/3))/1e4;k=k/(+f[Ce>>2]*.75+.25)}else k=.009999999776482582;S=e+4732|0;A=s[S>>2]|0;E=(s[Pe>>2]|0)+A|0;T=e+4859|0;n[T>>0]=4;w=+Ln(Ie,Be,k,E,s[xe>>2]|0,A);A=e+4724|0;t:do if((s[A>>2]|0?(s[b>>2]|0)==0:0)?(s[xe>>2]|0)==4:0){v=E<<1;w=w-+Ln(Ne,Be+(v<<2)|0,k,E,2,s[S>>2]|0);Qi(je,Ne,s[S>>2]|0);_=3;y=3.4028234663852886e38;while(1){if((_|0)<=-1)break t;g=s[S>>2]|0;b=_<<16>>16;m=0;while(1){if((m|0)>=(g|0))break;ut=a[e+4592+(m<<1)>>1]|0;r[Le+(m<<1)>>1]=ut+((te((a[je+(m<<1)>>1]|0)-ut<<16>>16,b)|0)>>>2);m=m+1|0}Pn(Ue,Le,g);b=0;while(1){if((b|0)>=(g|0))break;f[Ne+(b<<2)>>2]=+(r[Ue+(b<<1)>>1]|0)*.000244140625;b=b+1|0}Ji(Oe,Ne,Be,v,s[S>>2]|0);ut=s[S>>2]|0;ht=Oe+(ut<<2)|0;ut=E-ut|0;k=+tn(ht,ut);k=k+ +tn(ht+(E<<2)|0,ut);if(!(k<w)){if(k>y)break t}else{n[T>>0]=_;w=k}_=_+-1|0;y=k}}while(0);if((n[T>>0]|0)==4)Qi(je,Ie,s[S>>2]|0);_=s[Se>>2]<<16>>16;_=(te(_,-5)|0)+(_*59246>>16)+3146|0;_=_+((s[xe>>2]|0)==2?_>>1:0)|0;In(Le,je,s[S>>2]|0);t:do if((s[A>>2]|0)==1?(De=n[T>>0]|0,De<<24>>24<4):0){b=De<<24>>24;m=s[S>>2]|0;g=0;while(1){if((g|0)>=(m|0))break;ut=a[e+4592+(g<<1)>>1]|0;r[Ue+(g<<1)>>1]=ut+((te((a[je+(g<<1)>>1]|0)-ut<<16>>16,b)|0)>>>2);g=g+1|0}In(He,Ue,m);m=n[T>>0]|0;m=(te(m,m)|0)<<27;b=s[S>>2]|0;m=m>>16;g=0;while(1){if((g|0)>=(b|0)){m=1;break t}ut=Le+(g<<1)|0;r[ut>>1]=((r[ut>>1]|0)>>>1)+((te(r[He+(g<<1)>>1]|0,m)|0)>>>16);g=g+1|0}}else m=0;while(0);jn(e+4836|0,je,s[e+4784>>2]|0,Le,_,s[e+4752>>2]|0,n[ze>>0]|0);b=Ge+32|0;Pn(b,je,s[S>>2]|0);if(m){b=n[T>>0]|0;m=s[S>>2]|0;g=0;while(1){if((g|0)>=(m|0))break;ut=a[e+4592+(g<<1)>>1]|0;r[Ue+(g<<1)>>1]=ut+((te((a[je+(g<<1)>>1]|0)-ut<<16>>16,b)|0)>>>2);g=g+1|0}Pn(Ge,Ue,m)}else Sr(Ge|0,b|0,s[S>>2]<<1|0)|0;g=0;while(1){if((g|0)==2)break;b=s[S>>2]|0;m=0;while(1){if((m|0)>=(b|0))break;f[tt+16+(g<<6)+(m<<2)>>2]=+(r[Ge+(g<<5)+(m<<1)>>1]|0)*.000244140625;m=m+1|0}g=g+1|0}v=s[Pe>>2]|0;ut=s[xe>>2]|0;b=s[S>>2]|0;m=He+(b<<2)|0;_=b+v|0;g=_<<1;Ji(He,tt+16|0,Be,g,b);ft=+f[tt>>2];f[tt+712>>2]=ft*ft*+tn(m,v);ft=+f[tt+4>>2];_=m+(_<<2)|0;f[tt+716>>2]=ft*ft*+tn(_,v);if((ut|0)==4){Ji(He,tt+80|0,Be+(g<<2)|0,g,b);ft=+f[tt+8>>2];f[tt+720>>2]=ft*ft*+tn(m,v);ft=+f[tt+12>>2];f[tt+724>>2]=ft*ft*+tn(_,v)}E=e+4592|0;b=je;v=E+32|0;do{r[E>>1]=r[b>>1]|0;E=E+2|0;b=b+2|0}while((E|0)<(v|0));t:do if((n[ze>>0]|0)==2){w=1-1/(+J(+-((+f[tt+708>>2]+-12)*.25))+1)*.5;b=s[xe>>2]|0;m=0;while(1){if((m|0)>=(b|0)){m=b;break t}ut=tt+(m<<2)|0;f[ut>>2]=+f[ut>>2]*w;m=m+1|0}}else m=s[xe>>2]|0;while(0);w=+wt(+((21-+(s[Me>>2]|0)*.0078125)*.33000001311302185));w=w/+(s[Pe>>2]|0);b=0;while(1){if((b|0)>=(m|0)){b=0;break}ut=tt+(b<<2)|0;ft=+f[ut>>2];ft=+z(+(ft*ft+ +f[tt+712+(b<<2)>>2]*w));f[ut>>2]=ft<32767?ft:32767;b=b+1|0}while(1){if((b|0)>=(m|0))break;s[Ge+(b<<2)>>2]=~~(+f[tt+(b<<2)>>2]*65536);b=b+1|0}Sr(tt+728|0,Ge|0,m<<2|0)|0;b=e+7260|0;ue=tt+744|0;n[ue>>0]=n[b>>0]|0;ce=e+4828|0;de=(l|0)==2;pe=de&1;wn(ce,Ge,b,pe,m);b=s[xe>>2]|0;m=0;while(1){if((m|0)>=(b|0))break;f[tt+(m<<2)>>2]=+(s[Ge+(m<<2)>>2]|0)*152587890625e-16;m=m+1|0}g=n[ze>>0]|0;do if(g<<24>>24==2){m=e+4858|0;if(+f[tt+708>>2]+ +(s[e+4804>>2]|0)*30517578125e-15>1){n[m>>0]=0;he=m;m=0;break}else{n[m>>0]=1;he=m;m=1;break}}else{m=e+4858|0;he=m;m=n[m>>0]|0}while(0);ut=s[Se>>2]|0;fe=tt+692|0;f[fe>>2]=+(s[e+4720>>2]|0)*-.05000000074505806+1.2000000476837158+ +(ut|0)*-.20000000298023224*.00390625+ +f[Re>>2]*-.10000000149011612+ +f[Ce>>2]*-.20000000298023224+ +(r[25404+(g<<24>>24>>1<<2)+(m<<24>>24<<1)>>1]|0)*.0009765625*.800000011920929;le=e+5840|0;m=s[le>>2]|0;_=e+6192+(m*36|0)|0;if((s[e+6184>>2]|0)!=0&(ut|0)>77){s[e+4816+(m<<2)>>2]=1;Sr(He|0,e+144|0,4448)|0;E=_;b=ce;v=E+36|0;do{r[E>>1]=r[b>>1]|0;E=E+2|0;b=b+2|0}while((E|0)<(v|0));g=s[xe>>2]|0;Sr(Fe|0,tt|0,g<<2|0)|0;b=s[le>>2]|0;do if(!b)at=544;else{if(!(s[e+4816+(b+-1<<2)>>2]|0)){at=544;break}m=e+4632|0;b=g}while(0);if((at|0)==544){m=e+4632|0;n[m>>0]=n[e+7260>>0]|0;b=(o[_>>0]|0)+(s[e+6188>>2]|0)|0;n[_>>0]=(b&255)<<24>>24<63?b&255:63;b=s[xe>>2]|0}mn(Ge,_,m,pe,b);b=s[xe>>2]|0;m=0;while(1){if((m|0)>=(b|0))break;f[tt+(m<<2)>>2]=+(s[Ge+(m<<2)>>2]|0)*152587890625e-16;m=m+1|0}en(e,tt,_,He,e+6300+((s[le>>2]|0)*320|0)|0,$e);b=s[xe>>2]|0;Sr(tt|0,Fe|0,b<<2|0)|0}g=0;m=0;while(1){if((m|0)>=(b|0))break;g=(n[e+4828+m>>0]|0)+(g<<8)|0;m=m+1|0}E=rt;b=i;v=E+48|0;do{s[E>>2]=s[b>>2];E=E+4|0;b=b+4|0}while((E|0)<(v|0));V=e+144|0;Sr(it|0,V|0,4448)|0;Y=n[Ye>>0]|0;Z=e+5864|0;$=r[Z>>1]|0;K=e+5860|0;X=s[K>>2]|0;Q=e+7260|0;ee=c+-5|0;ie=i+24|0;re=i+28|0;se=e+4828|0;oe=e+4864|0;ae=i+20|0;D=0;S=0;M=0;q=256;G=0;C=0;j=-1;T=-1;W=0;F=0;P=0;m=0;while(1){A=(g|0)==(j|0);do if(!A){if((g|0)==(T|0)){b=P;at=571;break}if((W|0)>0){E=i;b=rt;v=E+48|0;do{s[E>>2]=s[b>>2];E=E+4|0;b=b+4|0}while((E|0)<(v|0));Sr(V|0,it|0,4448)|0;n[Ye>>0]=Y;r[Z>>1]=$;s[K>>2]=X}en(e,tt,se,V,oe,$e);_=(W|0)==6;if(_&(S|0)==0){s[st>>2]=s[i>>2];s[st+4>>2]=s[i+4>>2];s[st+8>>2]=s[i+8>>2];s[st+12>>2]=s[i+12>>2];s[st+16>>2]=s[i+16>>2];s[st+20>>2]=s[i+20>>2];v=s[ie>>2]|0;s[ot>>2]=s[re>>2];s[ot+4>>2]=s[re+4>>2];s[ot+8>>2]=s[re+8>>2];s[ot+12>>2]=s[re+12>>2];s[ot+16>>2]=s[re+16>>2]}else v=m;Di(e,i,s[le>>2]|0,0,l);Li(i,n[ze>>0]|0,n[he>>0]|0,oe,s[Ve>>2]|0);b=(s[ae>>2]|0)+((ne(s[re>>2]|0)|0)+-32)|0;if(_&(S|0)==0&(b|0)>(c|0)){s[i>>2]=s[st>>2];s[i+4>>2]=s[st+4>>2];s[i+8>>2]=s[st+8>>2];s[i+12>>2]=s[st+12>>2];s[i+16>>2]=s[st+16>>2];s[i+20>>2]=s[st+20>>2];s[ie>>2]=v;s[re>>2]=s[ot>>2];s[re+4>>2]=s[ot+4>>2];s[re+8>>2]=s[ot+8>>2];s[re+12>>2]=s[ot+12>>2];s[re+16>>2]=s[ot+16>>2];b=n[ue>>0]|0;n[Q>>0]=b;m=0;while(1){if((m|0)>=(s[xe>>2]|0))break;n[e+4828+m>>0]=4;m=m+1|0}if(!de)n[ce>>0]=b;r[Z>>1]=$;s[K>>2]=X;b=0;while(1){if((b|0)>=(s[Ve>>2]|0))break;n[e+4864+b>>0]=0;b=b+1|0}Di(e,i,s[le>>2]|0,0,l);Li(i,n[ze>>0]|0,n[he>>0]|0,oe,s[Ve>>2]|0);b=(s[ae>>2]|0)+((ne(s[re>>2]|0)|0)+-32)|0}if(W|p|0){m=v;at=571;break}if((b|0)>(c|0))x=v;else break e}else{b=F;at=571}while(0);if((at|0)==571){at=0;if((W|0)==6)break;else x=m}I=(b|0)>(c|0);t:do if(I){if(S|0){M=1;A=G;C=q<<16>>16;E=j;T=g;v=F;P=b;break}if((W|0)>1){ft=+f[fe>>2]*1.5;f[fe>>2]=ft>1.5?ft:1.5;n[he>>0]=0;M=0;g=-1}else{M=1;C=q<<16>>16;P=b}v=s[xe>>2]|0;E=(W|0)==0;T=0;i:while(1){if((T|0)>=(v|0)){S=0;A=G;E=j;T=g;v=F;break t}_=s[Pe>>2]|0;A=T+1|0;m=te(A,_)|0;_=te(T,_)|0;S=0;while(1){if((_|0)>=(m|0))break;ht=n[e+4864+_>>0]|0;ut=ht<<24>>24;_=_+1|0;S=S+(ht<<24>>24>-1?ut:0-ut|0)|0}m=Xe+(T<<2)|0;do if(!E){_=Qe+(T<<2)|0;if((S|0)<(s[m>>2]|0)?(s[_>>2]|0)==0:0)break;s[_>>2]=1;T=A;continue i}while(0);s[m>>2]=S;r[Ke+(T<<1)>>1]=q;T=A}}else{if((b|0)>=(ee|0))break e;m=q<<16>>16;if(A){S=1;A=m;E=g;v=b;break}s[st>>2]=s[i>>2];s[st+4>>2]=s[i+4>>2];s[st+8>>2]=s[i+8>>2];s[st+12>>2]=s[i+12>>2];s[st+16>>2]=s[i+16>>2];s[st+20>>2]=s[i+20>>2];x=s[ie>>2]|0;s[ot>>2]=s[re>>2];s[ot+4>>2]=s[re+4>>2];s[ot+8>>2]=s[re+8>>2];s[ot+12>>2]=s[re+12>>2];s[ot+16>>2]=s[re+16>>2];Sr(Je|0,s[i>>2]|0,x|0)|0;Sr(nt|0,V|0,4448)|0;D=n[Q>>0]|0;S=1;A=m;E=g;v=b}while(0);do if(!(S&M)){if(I){if(q<<16>>16>=16384){_=32767;break}_=q<<16>>16<<1&65535;break}m=(b-c<<7|0)/(s[Ve>>2]|0)|0;b=m+2048|0;do if((m|0)<-2048)b=0;else{if((b|0)>3966){b=2147483647;break}g=b>>7;_=1<<g;b=b&127;if((m|0)<0)b=b+((te(te(b,128-b|0)|0,-174)|0)>>16)<<g>>7;else b=te(_>>7,b+((te(te(b,128-b|0)|0,-174)|0)>>16)|0)|0;b=_+b|0}while(0);_=q<<16>>16;_=(te(b>>16,_)|0)+((te(b&65535,_)|0)>>>16)&65535}else{_=C-A|0;m=A+((te(_,c-v|0)|0)/(P-v|0)|0)|0;g=m<<16>>16;_=_>>2;b=A+_|0;if((g|0)<=(b|0)){b=C-_|0;b=(g|0)<(b|0)?b:m}_=b&65535}while(0);b=s[xe>>2]|0;m=0;while(1){if((m|0)>=(b|0))break;if(!(s[Qe+(m<<2)>>2]|0))g=_;else g=r[Ke+(m<<1)>>1]|0;ht=s[tt+728+(m<<2)>>2]|0;ut=g<<16>>16;ut=(te(ht>>16,ut)|0)+((te(ht&65535,ut)|0)>>16)|0;s[et+(m<<2)>>2]=(ut|0)>8388607?2147483392:((ut|0)<-8388608?-8388608:ut)<<8;m=m+1|0}n[Q>>0]=n[ue>>0]|0;wn(ce,et,Q,pe,b);m=s[xe>>2]|0;g=0;b=0;while(1){if((b|0)>=(m|0)){b=0;break}g=(n[e+4828+b>>0]|0)+(g<<8)|0;b=b+1|0}while(1){if((b|0)>=(m|0))break;f[tt+(b<<2)>>2]=+(s[et+(b<<2)>>2]|0)*152587890625e-16;b=b+1|0}q=_;G=A;j=E;W=W+1|0;F=v;m=x}if((S|0)!=0&(A|(b|0)>(c|0))){s[i>>2]=s[st>>2];s[i+4>>2]=s[st+4>>2];s[i+8>>2]=s[st+8>>2];s[i+12>>2]=s[st+12>>2];s[i+16>>2]=s[st+16>>2];s[i+20>>2]=s[st+20>>2];s[ie>>2]=m;s[re>>2]=s[ot>>2];s[re+4>>2]=s[ot+4>>2];s[re+8>>2]=s[ot+8>>2];s[re+12>>2]=s[ot+12>>2];s[re+16>>2]=s[ot+16>>2];Sr(s[i>>2]|0,Je|0,m|0)|0;Sr(V|0,nt|0,4448)|0;n[Q>>0]=D}}while(0);Mr(e+7272|0,e+7272+(s[Ve>>2]<<2)|0,(s[Ze>>2]|0)+((s[We>>2]|0)*5|0)<<2|0)|0;if(s[qe>>2]|0){ut=0;s[t>>2]=ut;u=lt;return 0}s[e+4636>>2]=s[tt+228+((s[e+4672>>2]|0)+-1<<2)>>2];n[e+4633>>0]=n[e+4857>>0]|0;s[e+4756>>2]=0;ut=(s[i+20>>2]|0)+((ne(s[i+28>>2]|0)|0)+-32)+7>>3;s[t>>2]=ut;u=lt;return 0}function Ji(e,t,i,n,r){e=e|0;t=t|0;i=i|0;n=n|0;r=r|0;var s=0,o=0,a=0,l=0,h=0,u=0,c=0,d=0,p=0,b=0,w=0,m=0,g=0,_=0,v=0,k=0,y=0;switch(r|0){case 6:{s=t+4|0;o=t+8|0;a=t+12|0;l=t+16|0;h=t+20|0;u=6;while(1){if((u|0)>=(n|0))break;k=i+(u+-1<<2)|0;f[e+(u<<2)>>2]=+f[k+4>>2]-(+f[k>>2]*+f[t>>2]+ +f[k+-4>>2]*+f[s>>2]+ +f[k+-8>>2]*+f[o>>2]+ +f[k+-12>>2]*+f[a>>2]+ +f[k+-16>>2]*+f[l>>2]+ +f[k+-20>>2]*+f[h>>2]);u=u+1|0}i=r<<2;yr(e|0,0,i|0)|0;return}case 8:{s=t+4|0;o=t+8|0;a=t+12|0;l=t+16|0;h=t+20|0;u=t+24|0;c=t+28|0;d=8;while(1){if((d|0)>=(n|0))break;k=i+(d+-1<<2)|0;f[e+(d<<2)>>2]=+f[k+4>>2]-(+f[k>>2]*+f[t>>2]+ +f[k+-4>>2]*+f[s>>2]+ +f[k+-8>>2]*+f[o>>2]+ +f[k+-12>>2]*+f[a>>2]+ +f[k+-16>>2]*+f[l>>2]+ +f[k+-20>>2]*+f[h>>2]+ +f[k+-24>>2]*+f[u>>2]+ +f[k+-28>>2]*+f[c>>2]);d=d+1|0}i=r<<2;yr(e|0,0,i|0)|0;return}case 10:{s=t+4|0;o=t+8|0;a=t+12|0;l=t+16|0;h=t+20|0;u=t+24|0;c=t+28|0;d=t+32|0;p=t+36|0;b=10;while(1){if((b|0)>=(n|0))break;k=i+(b+-1<<2)|0;f[e+(b<<2)>>2]=+f[k+4>>2]-(+f[k>>2]*+f[t>>2]+ +f[k+-4>>2]*+f[s>>2]+ +f[k+-8>>2]*+f[o>>2]+ +f[k+-12>>2]*+f[a>>2]+ +f[k+-16>>2]*+f[l>>2]+ +f[k+-20>>2]*+f[h>>2]+ +f[k+-24>>2]*+f[u>>2]+ +f[k+-28>>2]*+f[c>>2]+ +f[k+-32>>2]*+f[d>>2]+ +f[k+-36>>2]*+f[p>>2]);b=b+1|0}i=r<<2;yr(e|0,0,i|0)|0;return}case 12:{s=t+4|0;o=t+8|0;a=t+12|0;l=t+16|0;h=t+20|0;u=t+24|0;c=t+28|0;d=t+32|0;p=t+36|0;b=t+40|0;w=t+44|0;m=12;while(1){if((m|0)>=(n|0))break;k=i+(m+-1<<2)|0;f[e+(m<<2)>>2]=+f[k+4>>2]-(+f[k>>2]*+f[t>>2]+ +f[k+-4>>2]*+f[s>>2]+ +f[k+-8>>2]*+f[o>>2]+ +f[k+-12>>2]*+f[a>>2]+ +f[k+-16>>2]*+f[l>>2]+ +f[k+-20>>2]*+f[h>>2]+ +f[k+-24>>2]*+f[u>>2]+ +f[k+-28>>2]*+f[c>>2]+ +f[k+-32>>2]*+f[d>>2]+ +f[k+-36>>2]*+f[p>>2]+ +f[k+-40>>2]*+f[b>>2]+ +f[k+-44>>2]*+f[w>>2]);m=m+1|0}i=r<<2;yr(e|0,0,i|0)|0;return}case 16:{s=t+4|0;o=t+8|0;d=t+12|0;p=t+16|0;b=t+20|0;w=t+24|0;m=t+28|0;g=t+32|0;_=t+36|0;v=t+40|0;a=t+44|0;l=t+48|0;h=t+52|0;u=t+56|0;c=t+60|0;k=16;while(1){if((k|0)>=(n|0))break;y=i+(k+-1<<2)|0;f[e+(k<<2)>>2]=+f[y+4>>2]-(+f[y>>2]*+f[t>>2]+ +f[y+-4>>2]*+f[s>>2]+ +f[y+-8>>2]*+f[o>>2]+ +f[y+-12>>2]*+f[d>>2]+ +f[y+-16>>2]*+f[p>>2]+ +f[y+-20>>2]*+f[b>>2]+ +f[y+-24>>2]*+f[w>>2]+ +f[y+-28>>2]*+f[m>>2]+ +f[y+-32>>2]*+f[g>>2]+ +f[y+-36>>2]*+f[_>>2]+ +f[y+-40>>2]*+f[v>>2]+ +f[y+-44>>2]*+f[a>>2]+ +f[y+-48>>2]*+f[l>>2]+ +f[y+-52>>2]*+f[h>>2]+ +f[y+-56>>2]*+f[u>>2]+ +f[y+-60>>2]*+f[c>>2]);k=k+1|0}y=r<<2;yr(e|0,0,y|0)|0;return}default:{y=r<<2;yr(e|0,0,y|0)|0;return}}}function Qi(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,o=0,l=0,h=0,c=0,p=0,b=0,w=0,m=0,g=0,_=0,v=0,k=0,y=0,E=0,A=0,T=0,S=0,M=0,R=0,C=0,P=0,x=0,I=0,O=0,N=0,D=0,L=0,U=0,B=0,j=0,F=0,G=0,H=0,z=0,q=0,W=0;W=u;u=u+176|0;F=W+124|0;H=W+72|0;G=W+64|0;z=W;o=0;while(1){if((o|0)>=(i|0))break;l=+f[t+(o<<2)>>2]*65536;n=(f[d>>2]=l,s[d>>2]|0);if((n&2130706432)>>>0<=1249902592){n=(n|0)<0;l=n?l+-8388608+8388608:l+8388608+-8388608;if(l==0)l=n?-0:0}s[z+(o<<2)>>2]=~~l;o=o+1|0}s[G>>2]=F;s[G+4>>2]=H;U=i>>1;B=F+(U<<2)|0;s[B>>2]=65536;j=H+(U<<2)|0;s[j>>2]=65536;n=0;while(1){if((U|0)<=(n|0))break;L=s[z+(U-n+-1<<2)>>2]|0;D=s[z+(n+U<<2)>>2]|0;s[F+(n<<2)>>2]=0-L-D;s[H+(n<<2)>>2]=D-L;n=n+1|0}n=U;while(1){if((n|0)<=0){n=2;break}L=n+-1|0;D=F+(L<<2)|0;s[D>>2]=(s[D>>2]|0)-(s[F+(n<<2)>>2]|0);D=H+(L<<2)|0;s[D>>2]=(s[D>>2]|0)+(s[H+(n<<2)>>2]|0);n=L}while(1){if((n|0)>(U|0)){n=2;break}else o=U;while(1){if((o|0)<=(n|0))break;L=F+(o+-2<<2)|0;s[L>>2]=(s[L>>2]|0)-(s[F+(o<<2)>>2]|0);o=o+-1|0}L=F+(n+-2<<2)|0;s[L>>2]=(s[L>>2]|0)-(s[F+(n<<2)>>2]<<1);n=n+1|0}while(1){if((n|0)>(U|0))break;else o=U;while(1){if((o|0)<=(n|0))break;L=H+(o+-2<<2)|0;s[L>>2]=(s[L>>2]|0)-(s[H+(o<<2)>>2]|0);
o=o+-1|0}L=H+(n+-2<<2)|0;s[L>>2]=(s[L>>2]|0)-(s[H+(n<<2)>>2]<<1);n=n+1|0}n=s[B>>2]|0;L=(U|0)==8;e:do if(L)n=(s[F>>2]|0)+((s[F+4>>2]|0)+((s[F+8>>2]|0)+((s[F+12>>2]|0)+((s[F+16>>2]|0)+((s[F+20>>2]|0)+((s[F+24>>2]|0)+((s[F+28>>2]|0)+(n<<1)<<1)<<1)<<1)<<1)<<1)<<1)<<1)|0;else{t=U;while(1){o=t+-1|0;if((t|0)<=0)break e;t=o;n=(s[F+(o<<2)>>2]|0)+(n<<1)|0}}while(0);e:do if((n|0)<0){r[e>>1]=0;n=s[j>>2]|0;if(L){o=H;t=1;n=(s[H>>2]|0)+((s[H+4>>2]|0)+((s[H+8>>2]|0)+((s[H+12>>2]|0)+((s[H+16>>2]|0)+((s[H+20>>2]|0)+((s[H+24>>2]|0)+((s[H+28>>2]|0)+(n<<1)<<1)<<1)<<1)<<1)<<1)<<1)<<1)|0;break}else t=U;while(1){o=t+-1|0;if((t|0)<=0){o=H;t=1;break e}t=o;n=(s[H+(o<<2)>>2]|0)+(n<<1)|0}}else{o=F;t=0}while(0);y=F+28|0;E=F+24|0;A=F+20|0;T=F+16|0;S=F+12|0;M=F+8|0;R=F+4|0;C=H+28|0;P=H+24|0;x=H+20|0;I=H+16|0;O=H+12|0;N=H+8|0;D=H+4|0;k=0;e:while(1){p=1;h=0;c=8192;t:while(1){v=p;while(1){p=r[27508+(v<<1)>>1]|0;b=Tn(o,p,U)|0;if((n|0)<1){if((b|0)>=(h|0))break;if(!((n|0)<0|(b|0)>(0-h|0)))break}else if((b|0)<=(0-h|0))break;if((v|0)>127)break t;else{v=v+1|0;h=0;c=p;n=b}}h=(b|0)==0&1;g=-256;_=0;while(1){if((_|0)==3)break;w=c+p|0;w=(w>>1)+(w&1)|0;m=Tn(o,w,U)|0;if((n|0)<1)if((m&n|0)>-1){p=w;b=m}else q=42;else if((m|0)<1){p=w;b=m}else q=42;if((q|0)==42){q=0;g=g+(128>>>_)|0;c=w;n=m}_=_+1|0}o=n-b|0;if((((n|0)>0?n:0-n|0)|0)<65536)if((n|0)==(b|0))n=g;else n=g+(((n<<5)+(o>>1)|0)/(o|0)|0)|0;else n=g+((n|0)/(o>>5|0)|0)|0;n=(v<<8)+n|0;r[e+(t<<1)>>1]=(n|0)<32767?n:32767;n=t+1|0;if((n|0)>=(i|0)){q=77;break e}p=v;o=s[G+((n&1)<<2)>>2]|0;t=n;c=r[27508+(v+-1<<1)>>1]|0;n=1-(n&2)<<12}h=k+1|0;if((k|0)>15)break;Mn(z,i,65536-(1<<h)|0);s[B>>2]=65536;s[j>>2]=65536;n=0;while(1){if((U|0)<=(n|0)){n=U;break}k=s[z+(U-n+-1<<2)>>2]|0;v=s[z+(n+U<<2)>>2]|0;s[F+(n<<2)>>2]=0-k-v;s[H+(n<<2)>>2]=v-k;n=n+1|0}while(1){if((n|0)<=0){n=2;break}k=n+-1|0;v=F+(k<<2)|0;s[v>>2]=(s[v>>2]|0)-(s[F+(n<<2)>>2]|0);v=H+(k<<2)|0;s[v>>2]=(s[v>>2]|0)+(s[H+(n<<2)>>2]|0);n=k}while(1){if((n|0)>(U|0)){n=2;break}else o=U;while(1){if((o|0)<=(n|0))break;k=F+(o+-2<<2)|0;s[k>>2]=(s[k>>2]|0)-(s[F+(o<<2)>>2]|0);o=o+-1|0}k=F+(n+-2<<2)|0;s[k>>2]=(s[k>>2]|0)-(s[F+(n<<2)>>2]<<1);n=n+1|0}while(1){if((n|0)>(U|0))break;else o=U;while(1){if((o|0)<=(n|0))break;k=H+(o+-2<<2)|0;s[k>>2]=(s[k>>2]|0)-(s[H+(o<<2)>>2]|0);o=o+-1|0}k=H+(n+-2<<2)|0;s[k>>2]=(s[k>>2]|0)-(s[H+(n<<2)>>2]<<1);n=n+1|0}n=s[B>>2]|0;t:do if(L)n=(s[F>>2]|0)+((s[R>>2]|0)+((s[M>>2]|0)+((s[S>>2]|0)+((s[T>>2]|0)+((s[A>>2]|0)+((s[E>>2]|0)+((s[y>>2]|0)+(n<<1)<<1)<<1)<<1)<<1)<<1)<<1)<<1)|0;else{t=U;while(1){o=t+-1|0;if((t|0)<=0)break t;t=o;n=(s[F+(o<<2)>>2]|0)+(n<<1)|0}}while(0);if((n|0)>=0){k=h;o=F;t=0;continue}r[e>>1]=0;n=s[j>>2]|0;if(L){k=h;o=H;t=1;n=(s[H>>2]|0)+((s[D>>2]|0)+((s[N>>2]|0)+((s[O>>2]|0)+((s[I>>2]|0)+((s[x>>2]|0)+((s[P>>2]|0)+((s[C>>2]|0)+(n<<1)<<1)<<1)<<1)<<1)<<1)<<1)<<1)|0;continue}else t=U;while(1){o=t+-1|0;if((t|0)<=0){k=h;o=H;t=1;continue e}t=o;n=(s[H+(o<<2)>>2]|0)+(n<<1)|0}}if((q|0)==77){u=W;return}n=32768/(i+1|0)|0;r[e>>1]=n;o=1;while(1){if((o|0)>=(i|0))break;q=(n&65535)+(a[e>>1]|0)|0;r[e+(o<<1)>>1]=q;n=q;o=o+1|0}u=W;return}function en(e,t,i,o,a,l){e=e|0;t=t|0;i=i|0;o=o|0;a=a|0;l=l|0;var h=0,c=0,p=0,b=0,w=0,m=0,g=0,_=0,v=0,k=0,y=0,E=0,A=0,T=0,S=0,M=0,R=0,C=0,P=0;P=u;u=u+1008|0;C=P+360|0;E=P+48|0;M=P+296|0;S=P+256|0;y=P+64|0;T=P+32|0;R=P+16|0;A=P;k=s[e+4672>>2]|0;b=e+4728|0;_=0;while(1){if((_|0)>=(k|0)){w=0;break}w=s[b>>2]|0;m=_*24|0;v=0;while(1){if((v|0)>=(w|0))break;g=m+v|0;h=+f[t+244+(g<<2)>>2]*8192;c=(f[d>>2]=h,s[d>>2]|0);if((c&2130706432)>>>0<=1249902592){c=(c|0)<0;h=c?h+-8388608+8388608:h+8388608+-8388608;if(h==0)h=c?-0:0}r[y+(g<<1)>>1]=~~h;v=v+1|0}_=_+1|0}while(1){if((w|0)>=(k|0))break;h=+f[t+644+(w<<2)>>2]*16384;c=(f[d>>2]=h,s[d>>2]|0);if((c&2130706432)>>>0<=1249902592){c=(c|0)<0;h=c?h+-8388608+8388608:h+8388608+-8388608;if(h==0)h=c?-0:0}b=~~h<<16;h=+f[t+628+(w<<2)>>2]*16384;c=(f[d>>2]=h,s[d>>2]|0);if((c&2130706432)>>>0<=1249902592){c=(c|0)<0;h=c?h+-8388608+8388608:h+8388608+-8388608;if(h==0)h=c?-0:0}s[T+(w<<2)>>2]=b|~~h&65535;h=+f[t+660+(w<<2)>>2]*16384;c=(f[d>>2]=h,s[d>>2]|0);if((c&2130706432)>>>0<=1249902592){c=(c|0)<0;h=c?h+-8388608+8388608:h+8388608+-8388608;if(h==0)h=c?-0:0}s[R+(w<<2)>>2]=~~h;h=+f[t+676+(w<<2)>>2]*16384;c=(f[d>>2]=h,s[d>>2]|0);if((c&2130706432)>>>0<=1249902592){c=(c|0)<0;h=c?h+-8388608+8388608:h+8388608+-8388608;if(h==0)h=c?-0:0}s[A+(w<<2)>>2]=~~h;w=w+1|0}h=+f[t+692>>2]*1024;c=(f[d>>2]=h,s[d>>2]|0);if((c&2130706432)>>>0<=1249902592){c=(c|0)<0;h=c?h+-8388608+8388608:h+8388608+-8388608;if(h==0)h=c?-0:0}b=k*5|0;w=0;while(1){if((w|0)>=(b|0))break;p=+f[t+144+(w<<2)>>2]*16384;c=(f[d>>2]=p,s[d>>2]|0);if((c&2130706432)>>>0<=1249902592){c=(c|0)<0;p=c?p+-8388608+8388608:p+8388608+-8388608;if(p==0)p=c?-0:0}r[S+(w<<1)>>1]=~~p;w=w+1|0}_=~~h;b=e+4732|0;g=0;while(1){if((g|0)==2){b=0;break}w=s[b>>2]|0;m=0;while(1){if((m|0)>=(w|0))break;h=+f[t+16+(g<<6)+(m<<2)>>2]*4096;c=(f[d>>2]=h,s[d>>2]|0);if((c&2130706432)>>>0<=1249902592){c=(c|0)<0;h=c?h+-8388608+8388608:h+8388608+-8388608;if(h==0)h=c?-0:0}r[M+(g<<5)+(m<<1)>>1]=~~h;m=m+1|0}g=g+1|0}while(1){if((b|0)>=(k|0))break;h=+f[t+(b<<2)>>2]*65536;c=(f[d>>2]=h,s[d>>2]|0);if((c&2130706432)>>>0<=1249902592){c=(c|0)<0;h=c?h+-8388608+8388608:h+8388608+-8388608;if(h==0)h=c?-0:0}s[E+(b<<2)>>2]=~~h;b=b+1|0}if((n[i+29>>0]|0)==2)w=r[25412+(n[i+33>>0]<<1)>>1]|0;else w=0;b=s[e+4676>>2]|0;m=0;while(1){if((m|0)>=(b|0))break;h=+f[l+(m<<2)>>2];c=(f[d>>2]=h,s[d>>2]|0);if((c&2130706432)>>>0<=1249902592){c=(c|0)<0;h=c?h+-8388608+8388608:h+8388608+-8388608;if(h==0)h=c?-0:0}r[C+(m<<1)>>1]=~~h;m=m+1|0}if((s[e+4720>>2]|0)<=1?(s[e+4764>>2]|0)<=0:0){_n(e,o,i,C,a,M,S,y,A,R,T,E,t+228|0,_,w);u=P;return}vn(e,o,i,C,a,M,S,y,A,R,T,E,t+228|0,_,w);u=P;return}function tn(e,t){e=e|0;t=t|0;var i=0,n=0,r=0,s=0,o=0,a=0,l=0,h=0;r=t+-3|0;n=((r|0)>0?r:0)+3&-4;s=0;i=0;while(1){if((s|0)>=(r|0))break;h=+f[e+(s<<2)>>2];l=+f[e+((s|1)<<2)>>2];a=+f[e+((s|2)<<2)>>2];o=+f[e+((s|3)<<2)>>2];s=s+4|0;i=i+(h*h+l*l+a*a+o*o)}while(1){if((n|0)>=(t|0))break;h=+f[e+(n<<2)>>2];n=n+1|0;i=i+h*h}return+i}function nn(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,r=0,s=0,o=0,a=0,l=0,h=0,u=0;s=i+-3|0;r=((s|0)>0?s:0)+3&-4;o=0;n=0;while(1){if((o|0)>=(s|0))break;u=o|1;h=o|2;l=o|3;a=n+(+f[e+(o<<2)>>2]*+f[t+(o<<2)>>2]+ +f[e+(u<<2)>>2]*+f[t+(u<<2)>>2]+ +f[e+(h<<2)>>2]*+f[t+(h<<2)>>2]+ +f[e+(l<<2)>>2]*+f[t+(l<<2)>>2]);o=o+4|0;n=a}while(1){if((r|0)>=(i|0))break;a=n+ +f[e+(r<<2)>>2]*+f[t+(r<<2)>>2];r=r+1|0;n=a}return+n}function rn(e,t,i,a,l,f,h,u){e=e|0;t=t|0;i=i|0;a=a|0;l=l|0;f=f|0;h=h|0;u=u|0;var c=0,d=0,p=0,b=0,w=0,m=0,g=0,_=0,v=0,k=0,y=0,E=0,A=0,T=0,S=0,M=0,R=0,C=0,P=0,x=0,I=0,O=0,N=0,D=0,L=0,U=0,B=0,j=0,F=0,G=0,H=0,z=0,q=0;if((f|0)==0|(t|0)<0){f=-1;return f|0}if(!t){f=-4;return f|0}q=n[e>>0]|0;do if(q<<24>>24>=0){if((q&96)==96){p=(q&8)==0?480:960;break}d=(q&255)>>>3&3;if((d|0)==3)p=2880;else p=(48e3<<d>>>0)/100|0}else p=(48e3<<((q&255)>>>3&3)>>>0)/400|0;while(0);w=e+1|0;E=t+-1|0;e:do switch(q&3|0){case 0:{R=w;C=E;P=0;x=1;b=E;S=0;v=47;break}case 1:{if(!i)if(!(E&1)){N=(E|0)/2|0;r[f>>1]=N;I=w;O=2;D=0;v=61;break e}else{f=-4;return f|0}else{j=w;B=E;F=1;H=2;G=E;z=0;v=48}break}case 2:{if((t|0)<2){r[f>>1]=-1;f=-4;return f|0}d=n[w>>0]|0;do if((d&255)<252){p=1;d=d&255}else{if((t|0)>=3){p=2;d=(o[e+2>>0]<<2)+(d&255)&65535;break}r[f>>1]=-1;f=-4;return f|0}while(0);r[f>>1]=d;t=E-p|0;d=d<<16>>16;if((t|0)<(d|0)){f=-4;return f|0}else{R=w+p|0;C=t;P=0;x=2;b=t-d|0;S=0;v=47;break e}}default:{if((t|0)<2){f=-4;return f|0}d=e+2|0;_=n[w>>0]|0;M=_&63;if((M|0)==0|(te(p,M)|0)>>>0>5760){f=-4;return f|0}p=t+-2|0;if(_&64){w=0;while(1){if((p|0)<1){A=-4;v=74;break}g=d+1|0;m=n[d>>0]|0;if(m<<24>>24!=-1)break;d=g;p=p+-255|0;w=w+254|0}if((v|0)==74)return A|0;t=m&255;d=p+-1-t|0;if((d|0)<0){f=-4;return f|0}else{m=d;y=w+t|0}}else{g=d;m=p;y=0}v=(_&255)>>>7;k=v&255^1;if(v<<24>>24!=1){if(i|0){j=g;B=m;F=k;H=M;G=E;z=y;v=48;break e}b=(m|0)/(M|0)|0;if((te(b,M)|0)!=(m|0)){f=-4;return f|0}d=M+-1|0;p=b&65535;t=0;while(1){if((t|0)>=(d|0)){R=g;C=m;P=k;x=M;S=y;v=47;break e}r[f+(t<<1)>>1]=p;t=t+1|0}}v=M+-1|0;_=m;w=0;while(1){if((w|0)>=(v|0)){v=41;break}T=f+(w<<1)|0;if((_|0)<1){v=33;break}d=n[g>>0]|0;if((d&255)<252){d=d&255;r[T>>1]=d;p=1}else{if((_|0)<2){v=37;break}d=(o[g+1>>0]<<2)+(d&255)&65535;r[T>>1]=d;p=2}t=_-p|0;d=d<<16>>16;if((d|0)>(t|0)){A=-4;v=74;break}g=g+p|0;_=t;w=w+1|0;m=m-(p+d)|0}if((v|0)==33){r[T>>1]=-1;f=-4;return f|0}else if((v|0)==37){r[T>>1]=-1;f=-4;return f|0}else if((v|0)==41){if((m|0)<0)A=-4;else{R=g;C=_;P=k;x=M;b=m;S=y;v=47;break e}return A|0}else if((v|0)==74)return A|0}}while(0);if((v|0)==47)if(!i){I=R;O=x;N=b;D=S;v=61}else{j=R;B=C;F=P;H=x;G=b;z=S;v=48}e:do if((v|0)==48){c=f+(H<<1)+-2|0;if((B|0)<1){r[c>>1]=-1;f=-4;return f|0}d=n[j>>0]|0;do if((d&255)<252){U=d&255;r[c>>1]=U;t=1;c=U}else{if((B|0)>=2){U=(o[j+1>>0]<<2)+(d&255)&65535;r[c>>1]=U;t=2;c=U;break}r[c>>1]=-1;f=-4;return f|0}while(0);p=B-t|0;b=H+-1|0;w=f+(b<<1)|0;d=c<<16>>16;if((d|0)>(p|0)){f=-4;return f|0}c=j+t|0;if(!F){if((t+d|0)>(G|0))A=-4;else{L=H;U=z;break}return A|0}if((te(d,H)|0)>(p|0)){f=-4;return f|0}else d=0;while(1){if((d|0)>=(b|0)){L=H;U=z;break e}r[f+(d<<1)>>1]=r[w>>1]|0;d=d+1|0}}else if((v|0)==61)if((N|0)>1275){f=-4;return f|0}else{r[f+(O+-1<<1)>>1]=N;c=I;L=O;U=D;break}while(0);if(h|0)s[h>>2]=c-e;p=(l|0)==0;d=0;while(1){if((d|0)>=(L|0))break;if(!p)s[l+(d<<2)>>2]=c;c=c+(r[f+(d<<1)>>1]|0)|0;d=d+1|0}if(u|0)s[u>>2]=U+(c-e);if(!a){f=L;return f|0}n[a>>0]=q;f=L;return f|0}function sn(e,t,i,n,s,o,a,l,h,u){e=e|0;t=t|0;i=i|0;n=n|0;s=s|0;o=o|0;a=a|0;l=l|0;h=h|0;u=u|0;var c=0,d=0,p=0,b=0,w=0;w=te(t,l)|0;t=te(r[e+(a<<1)>>1]|0,l)|0;if((h|0)!=1){b=(w|0)/(h|0)|0;t=(t|0)<(b|0)?t:b}p=(u|0)==0;b=p?a:0;c=p?o:0;p=p?t:0;h=e+(c<<1)|0;t=r[h>>1]|0;o=te(t<<16>>16,l)|0;a=n;u=0;while(1){if((u|0)>=(te(t<<16>>16,l)|0))break;f[a>>2]=0;t=r[h>>1]|0;a=a+4|0;u=u+1|0}t=c;h=i+(o<<2)|0;e:while(1){if((t|0)>=(b|0))break;u=te(r[e+(t<<1)>>1]|0,l)|0;c=t+1|0;i=te(r[e+(c<<1)>>1]|0,l)|0;d=+J(+((+f[s+(t<<2)>>2]+ +f[17220+(t<<2)>>2])*.6931471805599453));o=a;t=u;u=h;while(1){h=u+4|0;a=o+4|0;f[o>>2]=+f[u>>2]*d;t=t+1|0;if((t|0)<(i|0)){o=a;u=h}else{t=c;continue e}}}yr(n+(p<<2)|0,0,w-p<<2|0)|0;return}function on(e,t,i,a,l,h,c,d,p,b,w,m,g,_,v,k,y,E,A,T,S,M){e=e|0;t=t|0;i=i|0;a=a|0;l=l|0;h=h|0;c=c|0;d=d|0;p=p|0;b=b|0;w=w|0;m=m|0;g=g|0;_=_|0;v=v|0;k=k|0;y=y|0;E=E|0;A=A|0;T=T|0;S=S|0;M=M|0;var R=0,C=0,P=0,x=0,I=0,O=0,N=0,D=0,L=0,U=0,B=0,j=0,F=0,G=0,H=0,z=0,q=0,W=0,V=0,Y=0,Z=0,$=0,K=0,X=0,J=0,Q=0,ee=0,ie=0,re=0,se=0,oe=0,ae=0,le=0,fe=0,he=0,ue=0,ce=0,de=0,pe=0,be=0,we=0,me=0,ge=0,_e=0,ve=0,ke=0,ye=0,Ee=0,Ae=0,Te=0,Se=0,Me=0,Re=0,Ce=0,Pe=0,xe=0,Ie=0,Oe=0,Ne=0,De=0,Le=0,Ue=0,Be=0,je=0,Fe=0,Ge=0;Fe=u;u=u+1520|0;Ne=Fe+192|0;Ue=Fe+24|0;Be=Fe;je=Fe+144|0;De=Fe+92|0;Le=Fe+40|0;Oe=Fe+244|0;Ce=s[t+32>>2]|0;Ie=h|0?2:1;C=(e|0)==0;if(C){Me=0;Re=1}else{Te=(h|0)!=0&(m|0)==0;Re=(S|0)>7;Me=Te&Re;Re=Te&Re}_e=(b|0)==0?1:1<<E;ve=Ce+(i<<1)|0;ke=r[ve>>1]<<E;ye=t+8|0;S=s[ye>>2]|0;b=r[Ce+(S+-1<<1)>>1]|0;R=b<<E;Ae=(te(Ie,R-ke|0)|0)<<2;Ee=u;u=u+((1*Ae|0)+15&-16)|0;Ae=0-ke|0;Te=Ee+(R<<2)+(Ae<<2)|0;if(C|Re^1){b=l+(R<<2)|0;S=1}else{S=(r[Ce+(S<<1)>>1]|0)-b<<E;b=u;u=u+((1*(S<<2)|0)+15&-16)|0}pe=u;u=u+((1*(S<<2)|0)+15&-16)|0;be=u;u=u+((1*(S<<2)|0)+15&-16)|0;we=u;u=u+((1*(S<<2)|0)+15&-16)|0;me=u;u=u+((1*(S<<2)|0)+15&-16)|0;ge=u;u=u+((1*(S<<2)|0)+15&-16)|0;s[Ne+36>>2]=d;s[Ne+28>>2]=y;s[Ne>>2]=e;s[Ne+16>>2]=g;s[Ne+8>>2]=t;de=Ne+40|0;s[de>>2]=s[T>>2];s[Ne+20>>2]=w;s[Ne+44>>2]=M;s[Ne+4>>2]=Re&1;se=Ne+48|0;s[se>>2]=0;oe=Ne+12|0;ae=a+-1|0;le=(h|0)==0;fe=y+20|0;he=y+28|0;ue=Ne+32|0;ce=Ne+24|0;X=t+12|0;J=(1<<_e)+-1|0;Q=y+4|0;ee=y+8|0;ie=y+24|0;re=(_e|0)>1;K=i;M=0;R=1;while(1){if((K|0)>=(a|0))break;s[oe>>2]=K;z=(K|0)==(ae|0);q=Ce+(K<<1)|0;Z=r[q>>1]<<E;C=l+(Z<<2)|0;e=le?0:h+(Z<<2)|0;Y=K+1|0;Z=(r[Ce+(Y<<1)>>1]<<E)-Z|0;W=s[he>>2]|0;S=32-(ne(W|0)|0)|0;W=W>>>(S+-16|0);$=(W>>>12)+-8|0;$=(s[fe>>2]<<3)-((S<<3)+($+(W>>>0>(s[5272+($<<2)>>2]|0)>>>0&1)))|0;W=k-((K|0)==(i|0)?0:$)|0;S=v-$|0;s[ue>>2]=S+-1;if((K|0)<(A|0)?(Pe=A-K|0,Pe=(s[p+(K<<2)>>2]|0)+((W|0)/(((Pe|0)>3?3:Pe)|0)|0)|0,xe=(S|0)<(Pe|0),!(((xe?S:Pe)|0)<16384&((xe?S:Pe)|0)<0)):0)V=((xe?S:Pe)|0)>16383?16383:xe?S:Pe;else V=0;if(Re?((r[q>>1]<<E)-Z|0)>=(r[ve>>1]<<E|0):0)M=(R|0)!=0|(M|0)==0?K:M;B=s[_+(K<<2)>>2]|0;s[ce>>2]=B;H=(K|0)<(s[X>>2]|0);b=H?b:0;G=H?C:Ee;H=H?e:le?0:Ee;b=z?Me?b:0:b;if((M|0)!=0?(w|0)!=3|re|(B|0)<0:0){t=(r[Ce+(M<<1)>>1]<<E)-ke|0;t=(t|0)<(Z|0)?0:t-Z|0;S=t+ke|0;C=M;do C=C+-1|0;while((r[Ce+(C<<1)>>1]<<E|0)>(S|0));S=S+Z|0;e=M+-1|0;while(1){R=e+1|0;if((r[Ce+(R<<1)>>1]<<E|0)<(S|0))e=R;else{S=0;R=0;break}}while(1){B=te(C,Ie)|0;S=S|o[c+B>>0];R=R|o[c+(B+Ie+-1)>>0];if((C|0)<(e|0))C=C+1|0;else{C=S;I=R;break}}}else{t=-1;C=J;I=J}e:do if(m)if((K|0)==(g|0)){if(!Re){Se=31;break}S=Ce+(g<<1)|0;R=0;while(1){if((R|0)>=((r[S>>1]<<E)-ke|0)){Se=31;break e}Se=Ee+(R<<2)|0;f[Se>>2]=(+f[Se>>2]+ +f[Te+(R<<2)>>2])*.5;R=R+1|0}}else{k=(V|0)/2|0;R=(t|0)==-1;S=R?0:Ee+(t<<2)|0;if(z){S=an(Ne,G,Z,k,_e,S,E,0,1,b,C)|0;C=R?0:Te+(t<<2)|0;R=0}else{S=an(Ne,G,Z,k,_e,S,E,Ee+(r[q>>1]<<E<<2)+(Ae<<2)|0,1,b,C)|0;C=R?0:Te+(t<<2)|0;R=Te+(r[q>>1]<<E<<2)+(Ae<<2)|0}e=S;S=an(Ne,H,Z,k,_e,C,E,R,1,b,I)|0;break}else Se=31;while(0);do if((Se|0)==31){Se=0;if(!H){if(z)S=0;else S=Ee+(r[q>>1]<<E<<2)+(Ae<<2)|0;S=an(Ne,G,Z,V,_e,(t|0)==-1?0:Ee+(t<<2)|0,E,S,1,b,C|I)|0;m=0;e=S;break}if(!(Me&(K|0)<(g|0))){s[se>>2]=0;if(z)S=0;else S=Ee+(r[q>>1]<<E<<2)+(Ae<<2)|0;S=cn(Ne,G,H,Z,V,_e,(t|0)==-1?0:Ee+(t<<2)|0,E,S,b,C|I)|0;m=0;e=S;break}j=+f[d+(K<<2)>>2];F=+f[d+(K+(s[ye>>2]|0)<<2)>>2];N=(j<F?j:F)/3;j=N+j;F=N+F;I=C|I;e=s[y>>2]|0;m=s[Q>>2]|0;s[Ue>>2]=s[ee>>2];s[Ue+4>>2]=s[ee+4>>2];s[Ue+8>>2]=s[ee+8>>2];s[Ue+12>>2]=s[ee+12>>2];k=s[ie>>2]|0;s[Be>>2]=s[he>>2];s[Be+4>>2]=s[he+4>>2];s[Be+8>>2]=s[he+8>>2];s[Be+12>>2]=s[he+12>>2];s[Be+16>>2]=s[he+16>>2];S=De;R=Ne;C=S+52|0;do{s[S>>2]=s[R>>2];S=S+4|0;R=R+4|0}while((S|0)<(C|0));U=Z<<2;Sr(pe|0,G|0,U|0)|0;Sr(be|0,H|0,U|0)|0;s[se>>2]=-1;O=(t|0)==-1;if(z)S=0;else S=Ee+(r[q>>1]<<E<<2)+(Ae<<2)|0;B=cn(Ne,G,H,Z,V,_e,O?0:Ee+(t<<2)|0,E,S,b,I)|0;S=0;x=0;while(1){if((S|0)>=(Z|0)){S=0;P=0;break}N=x+ +f[pe+(S<<2)>>2]*+f[G+(S<<2)>>2];S=S+1|0;x=N}while(1){if((S|0)>=(Z|0))break;N=P+ +f[be+(S<<2)>>2]*+f[H+(S<<2)>>2];S=S+1|0;P=N}N=j*x+F*P;S=je;R=y;C=S+48|0;do{s[S>>2]=s[R>>2];S=S+4|0;R=R+4|0}while((S|0)<(C|0));S=Le;R=Ne;C=S+52|0;do{s[S>>2]=s[R>>2];S=S+4|0;R=R+4|0}while((S|0)<(C|0));Sr(we|0,G|0,U|0)|0;Sr(me|0,H|0,U|0)|0;if(!z)Sr(ge|0,Ee+(r[q>>1]<<E<<2)+(Ae<<2)|0,U|0)|0;D=e+k|0;L=m-k|0;Sr(Oe|0,D|0,L|0)|0;s[y>>2]=e;s[Q>>2]=m;s[ee>>2]=s[Ue>>2];s[ee+4>>2]=s[Ue+4>>2];s[ee+8>>2]=s[Ue+8>>2];s[ee+12>>2]=s[Ue+12>>2];s[ie>>2]=k;s[he>>2]=s[Be>>2];s[he+4>>2]=s[Be+4>>2];s[he+8>>2]=s[Be+8>>2];s[he+12>>2]=s[Be+12>>2];s[he+16>>2]=s[Be+16>>2];S=Ne;R=De;C=S+48|0;do{s[S>>2]=s[R>>2];S=S+4|0;R=R+4|0}while((S|0)<(C|0));Sr(G|0,pe|0,U|0)|0;Sr(H|0,be|0,U|0)|0;s[se>>2]=1;if(z)S=0;else S=Ee+(r[q>>1]<<E<<2)+(Ae<<2)|0;R=cn(Ne,G,H,Z,V,_e,O?0:Ee+(t<<2)|0,E,S,b,I)|0;S=0;x=0;while(1){if((S|0)>=(Z|0)){S=0;P=0;break}P=x+ +f[pe+(S<<2)>>2]*+f[G+(S<<2)>>2];S=S+1|0;x=P}while(1){if((S|0)>=(Z|0))break;Ge=P+ +f[be+(S<<2)>>2]*+f[H+(S<<2)>>2];S=S+1|0;P=Ge}if(!(N>=j*x+F*P)){m=0;e=R;S=R}else{S=y;R=je;C=S+48|0;do{s[S>>2]=s[R>>2];S=S+4|0;R=R+4|0}while((S|0)<(C|0));S=Ne;R=Le;C=S+52|0;do{s[S>>2]=s[R>>2];S=S+4|0;R=R+4|0}while((S|0)<(C|0));Sr(G|0,we|0,U|0)|0;Sr(H|0,me|0,U|0)|0;if(!z)Sr(Ee+(r[q>>1]<<E<<2)+(Ae<<2)|0,ge|0,U|0)|0;Sr(D|0,Oe|0,L|0)|0;m=0;e=B;S=B}}while(0);k=te(K,Ie)|0;n[c+k>>0]=e;n[c+(k+Ie+-1)>>0]=S;k=W+((s[p+(K<<2)>>2]|0)+$)|0;K=Y;R=(V|0)>(Z<<3|0)&1}s[T>>2]=s[de>>2];u=Fe;return}function an(e,t,i,r,a,l,h,u,c,d,p){e=e|0;t=t|0;i=i|0;r=r|0;a=a|0;l=l|0;h=h|0;u=u|0;c=+c;d=d|0;p=p|0;var b=0,w=0,m=0,g=0,_=0,v=0,k=0,y=0,E=0,A=0,T=0,S=0,M=0,R=0,C=0;b=s[e>>2]|0;k=s[e+24>>2]|0;A=(a|0)==1&1;v=(i>>>0)/(a>>>0)|0;if((i|0)==1){y=s[e+28>>2]|0;T=e+32|0;E=y+12|0;h=y+16|0;r=y+20|0;k=y+8|0;a=y+4|0;g=y+24|0;_=y+44|0;A=e+4|0;if((s[T>>2]|0)>7){if(!b){d=s[E>>2]|0;l=s[h>>2]|0;if(!l){b=s[a>>2]|0;p=s[k>>2]|0;w=0;do{if(p>>>0<b>>>0){l=p+1|0;s[k>>2]=l;p=l;l=o[(s[y>>2]|0)+(b-l)>>0]|0}else l=0;d=d|l<<w;w=w+8|0}while((w|0)<25);p=32}else p=l;l=d&1;p=p+-1|0;d=d>>>1}else{v=+f[t>>2]<0&1;d=s[E>>2]|0;b=s[h>>2]|0;if((b+1|0)>>>0>32){w=7-b|0;w=b+((w|0)>-8?w:-8)&-8;m=b;do{l=s[k>>2]|0;p=s[a>>2]|0;if(((s[g>>2]|0)+l|0)>>>0<p>>>0){l=l+1|0;s[k>>2]=l;n[(s[y>>2]|0)+(p-l)>>0]=d;l=0}else l=-1;s[_>>2]=s[_>>2]|l;d=d>>>8;m=m+-8|0}while((m|0)>7);b=b+-8-w|0}l=v;p=b+1|0;d=d|v<<b}s[E>>2]=d;s[h>>2]=p;s[r>>2]=(s[r>>2]|0)+1;s[T>>2]=(s[T>>2]|0)+-8}else l=0;if(s[A>>2]|0)f[t>>2]=l|0?-1:1;if(!u){u=1;return u|0}s[u>>2]=s[t>>2];u=1;return u|0}T=(k|0)>0?k:0;do if(d)if(!l)d=0;else{if((T|0)==0?!((v&1|0)==0&(k|0)<0|(a|0)>1):0){d=l;break}Sr(d|0,l|0,i<<2|0)|0}else d=l;while(0);y=(b|0)==0;E=(d|0)==0;_=0;while(1){if((_|0)>=(T|0))break;e:do if(!y){l=1<<_;b=i>>_>>1;w=l<<1;m=0;while(1){if((m|0)<(l|0))g=0;else break e;while(1){if((g|0)>=(b|0))break;C=t+((te(w,g)|0)+m<<2)|0;R=+f[C>>2]*.7071067690849304;S=t+(((g<<1|1)<<_)+m<<2)|0;M=+f[S>>2]*.7071067690849304;f[C>>2]=R+M;f[S>>2]=R-M;g=g+1|0}m=m+1|0}}while(0);e:do if(!E){l=1<<_;b=i>>_>>1;w=l<<1;m=0;while(1){if((m|0)<(l|0))g=0;else break e;while(1){if((g|0)>=(b|0))break;S=d+((te(w,g)|0)+m<<2)|0;M=+f[S>>2]*.7071067690849304;C=d+(((g<<1|1)<<_)+m<<2)|0;R=+f[C>>2]*.7071067690849304;f[S>>2]=M+R;f[C>>2]=M-R;g=g+1|0}m=m+1|0}}while(0);p=o[31165+(p&15)>>0]|0|(o[31165+(p>>4)>>0]|0)<<2;_=_+1|0}a=a>>T;_=p;l=v<<T;g=k;v=0;while(1){if(!((l&1|0)==0&(g|0)<0))break;e:do if(!y){p=l>>1;b=a<<1;w=0;while(1){if((w|0)<(a|0))m=0;else break e;while(1){if((m|0)>=(p|0))break;S=t+((te(b,m)|0)+w<<2)|0;M=+f[S>>2]*.7071067690849304;C=t+((te(m<<1|1,a)|0)+w<<2)|0;R=+f[C>>2]*.7071067690849304;f[S>>2]=M+R;f[C>>2]=M-R;m=m+1|0}w=w+1|0}}while(0);e:do if(E){l=l>>1;p=a<<1}else{l=l>>1;p=a<<1;b=0;while(1){if((b|0)<(a|0))w=0;else break e;while(1){if((w|0)>=(l|0))break;S=d+((te(p,w)|0)+b<<2)|0;M=+f[S>>2]*.7071067690849304;C=d+((te(w<<1|1,a)|0)+b<<2)|0;R=+f[C>>2]*.7071067690849304;f[S>>2]=M+R;f[C>>2]=M-R;w=w+1|0}b=b+1|0}}while(0);C=_|_<<a;a=p;_=C;g=g+1|0;v=v+1|0}b=(a|0)>1;if(b){if(!y)ln(t,l>>T,a<<T,A);if(!E)ln(d,l>>T,a<<T,A)}p=fn(e,t,i,r,a,d,h,c,_)|0;if(!(s[e+4>>2]|0)){C=p;return C|0}if(b){un(t,l>>T,a<<T,A);_=0}else _=0;while(1){if((_|0)>=(v|0)){g=0;break}g=a>>1;l=l<<1;d=l>>1;b=g<<1;w=0;while(1){if((w|0)<(g|0))m=0;else break;while(1){if((m|0)>=(d|0))break;S=t+((te(b,m)|0)+w<<2)|0;M=+f[S>>2]*.7071067690849304;C=t+((te(m<<1|1,g)|0)+w<<2)|0;R=+f[C>>2]*.7071067690849304;f[S>>2]=M+R;f[C>>2]=M-R;m=m+1|0}w=w+1|0}a=g;p=p|p>>>g;_=_+1|0}while(1){if((g|0)>=(T|0))break;l=n[31181+p>>0]|0;d=1<<g;p=i>>g>>1;b=d<<1;w=0;while(1){if((w|0)<(d|0))m=0;else break;while(1){if((m|0)>=(p|0))break;S=t+((te(b,m)|0)+w<<2)|0;M=+f[S>>2]*.7071067690849304;C=t+(((m<<1|1)<<g)+w<<2)|0;R=+f[C>>2]*.7071067690849304;f[S>>2]=M+R;f[C>>2]=M-R;m=m+1|0}w=w+1|0}p=l&255;g=g+1|0}l=a<<T;e:do if(u|0){c=+z(+ +(i|0));d=0;while(1){if((d|0)>=(i|0))break e;f[u+(d<<2)>>2]=c*+f[t+(d<<2)>>2];d=d+1|0}}while(0);C=p&(1<<l)+-1;return C|0}function ln(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var r=0,o=0,a=0,l=0,f=0,h=0,c=0;h=u;l=te(t,i)|0;f=u;u=u+((1*(l<<2)|0)+15&-16)|0;if(!n){r=0;while(1){if((r|0)>=(i|0))break;n=te(r,t)|0;o=0;while(1){if((o|0)>=(t|0))break;s[f+(n+o<<2)>>2]=s[e+((te(o,i)|0)+r<<2)>>2];o=o+1|0}r=r+1|0}i=l<<2;Sr(e|0,f|0,i|0)|0;u=h;return}n=17628+(i<<2)+-8|0;o=0;while(1){if((o|0)>=(i|0))break;r=n+(o<<2)|0;a=0;while(1){if((a|0)>=(t|0))break;c=s[e+((te(a,i)|0)+o<<2)>>2]|0;s[f+((te(s[r>>2]|0,t)|0)+a<<2)>>2]=c;a=a+1|0}o=o+1|0}c=l<<2;Sr(e|0,f|0,c|0)|0;u=h;return}function fn(e,t,i,a,l,h,c,d,p){e=e|0;t=t|0;i=i|0;a=a|0;l=l|0;h=h|0;c=c|0;d=+d;p=p|0;var b=0,w=0,m=0,g=0,_=0,v=0,k=0,y=0,E=0,A=0,T=0,S=0,M=0,R=0,C=0,P=0,x=0;P=u;u=u+32|0;T=P+28|0;C=P+24|0;m=P;s[T>>2]=a;s[C>>2]=p;M=s[e>>2]|0;E=s[e+8>>2]|0;A=s[e+12>>2]|0;R=s[e+20>>2]|0;S=s[e+28>>2]|0;_=E+100|0;v=c+1|0;y=E+8|0;g=(te(v,s[y>>2]|0)|0)+A|0;E=E+96|0;g=(s[_>>2]|0)+(r[(s[E>>2]|0)+(g<<1)>>1]|0)|0;w=n[g>>0]|0;if((c|0)!=-1?(i|0)>2?((o[g+(w&255)>>0]|0)+12|0)<(a|0):0:0){y=i>>1;E=t+(y<<2)|0;A=c+-1|0;if((l|0)==1)s[C>>2]=p&1|p<<1;_=l+1>>1;hn(e,m,t,E,y,T,_,l,A,0,C);a=s[m+12>>2]|0;v=s[m+16>>2]|0;w=s[m+20>>2]|0;k=+(s[m+4>>2]|0)*30517578125e-15;b=+(s[m+8>>2]|0)*30517578125e-15;do if(!((l|0)<2|(v&16383|0)==0))if((v|0)>8192){a=a-(a>>5-c)|0;break}else{a=a+(y<<3>>6-c)|0;a=(a|0)>0?0:a;break}while(0);c=s[T>>2]|0;m=(c-a|0)/2|0;g=(c|0)<(m|0);m=((g?c:m)|0)<0?0:g?c:m;c=c-m|0;g=e+32|0;w=(s[g>>2]|0)-w|0;s[g>>2]=w;a=(h|0)==0?0:h+(y<<2)|0;if((m|0)<(c|0)){C=s[C>>2]|0;i=(fn(e,E,y,c,_,a,A,b*d,C>>_)|0)<<(l>>1);l=c+((s[g>>2]|0)-w)|0;h=i|(fn(e,t,y,m+((l|0)<25|(v|0)==16384?0:l+-24|0)|0,_,h,A,k*d,C)|0);u=P;return h|0}else{C=s[C>>2]|0;i=fn(e,t,y,m,_,h,A,k*d,C)|0;h=m+((s[g>>2]|0)-w)|0;h=i|(fn(e,E,y,c+((h|0)<25|(v|0)==0?0:h+-24|0)|0,_,a,A,b*d,C>>_)|0)<<(l>>1);u=P;return h|0}}c=a+-1|0;w=w&255;a=0;m=0;while(1){if((a|0)==6)break;T=m+w+1>>1;x=(o[g+T>>0]|0)<(c|0);w=x?w:T;a=a+1|0;m=x?T:m}if(!m)a=-1;else a=o[g+m>>0]|0;a=(c-a|0)>((o[g+w>>0]|0)-c|0)?w:m;if(!a)w=0;else w=(o[g+a>>0]|0)+1|0;c=e+32|0;g=w;w=(s[c>>2]|0)-w|0;while(1){s[c>>2]=w;if(!((w|0)<0&(a|0)>0))break;w=w+g|0;s[c>>2]=w;a=a+-1|0;if(!a)m=0;else m=(o[(s[_>>2]|0)+(r[(s[E>>2]|0)+((te(v,s[y>>2]|0)|0)+A<<1)>>1]|0)+a>>0]|0)+1|0;g=m;w=w-m|0}if(a|0){if((a|0)>=8)a=(a&7|8)<<(a>>3)+-1;if(!M){x=xi(t,i,a,R,l,S,d)|0;u=P;return x|0}else{x=Ci(t,i,a,R,l,S,d,s[e+4>>2]|0)|0;u=P;return x|0}}if(!(s[e+4>>2]|0)){x=0;u=P;return x|0}a=(1<<l)+-1|0;w=a&p;s[C>>2]=w;if(!w){yr(t|0,0,i<<2|0)|0;x=0;u=P;return x|0}m=e+40|0;e:do if(!h){w=0;while(1){if((w|0)>=(i|0))break e;x=(te(s[m>>2]|0,1664525)|0)+1013904223|0;s[m>>2]=x;f[t+(w<<2)>>2]=+(x>>20|0);w=w+1|0}}else{a=0;while(1){if((a|0)>=(i|0)){a=w;break e}x=(te(s[m>>2]|0,1664525)|0)+1013904223|0;s[m>>2]=x;f[t+(a<<2)>>2]=+f[h+(a<<2)>>2]+((x&32768|0)==0?-.00390625:.00390625);a=a+1|0}}while(0);w=0;b=0;while(1){if((w|0)>=(i|0))break;k=+f[t+(w<<2)>>2];w=w+1|0;b=b+k*k}b=1/+z(+(b+1.0000000036274937e-15))*d;w=0;while(1){if((w|0)>=(i|0))break;f[t>>2]=b*+f[t>>2];w=w+1|0;t=t+4|0}u=P;return a|0}function hn(e,t,i,a,l,h,u,c,d,p,b){e=e|0;t=t|0;i=i|0;a=a|0;l=l|0;h=h|0;u=u|0;c=c|0;d=d|0;p=p|0;b=b|0;var w=0,m=0,g=0,_=0,v=0,k=0,y=0,E=0,A=0,T=0,S=0,M=0,R=0,C=0,P=0,x=0,I=0,O=0,N=0,D=0,L=0,U=0,B=0,j=0,F=0,H=0,q=0,W=0;E=s[e>>2]|0;L=s[e+8>>2]|0;U=s[e+12>>2]|0;v=s[e+16>>2]|0;q=s[e+28>>2]|0;D=s[e+36>>2]|0;_=(r[(s[L+56>>2]|0)+(U<<1)>>1]|0)+(d<<3)|0;d=_>>1;N=(p|0)==0;do if(!N)if((l|0)==2){p=d+-16|0;g=2;break}else{p=d+-4|0;g=(l<<1)+-1|0;break}else{p=d+-4|0;g=(l<<1)+-1|0}while(0);d=s[h>>2]|0;p=((te(g,p)|0)+d|0)/(g|0)|0;H=d-_+-32|0;p=(H|0)<(p|0)?H:p;if((p|0)<=64)if((p|0)<4)p=1;else y=8;else{p=64;y=8}if((y|0)==8)p=(r[25760+((p&7)<<1)>>1]>>14-(p>>3))+1&-2;I=N|(U|0)<(v|0)?p:1;O=(E|0)==0;if(O)p=0;else{e:do if(N){p=0;w=0;while(1){if((p|0)>=(l|0)){p=0;m=0;break}T=+f[i+(p<<2)>>2];p=p+1|0;w=w+T*T}while(1){if((p|0)>=(l|0))break;T=+f[a+(p<<2)>>2];p=p+1|0;m=m+T*T}w=w+1.0000000036274937e-15;m=m+1.0000000036274937e-15}else{w=1.0000000036274937e-15;m=1.0000000036274937e-15;p=0;while(1){if((p|0)>=(l|0))break e;W=+f[i+(p<<2)>>2];T=+f[a+(p<<2)>>2];k=W+T;T=W-T;w=w+k*k;m=m+T*T;p=p+1|0}}while(0);T=+z(+w);k=+z(+m);w=T*T;m=k*k;do if(!(w+m<1.000000045813705e-18))if(w<m){w=-(T*k*(m+w*.43157973885536194))/((m+w*.6784840226173401)*(m+w*.0859554186463356))+(k<0?-1.5707963705062866:1.5707963705062866);break}else{W=T*k;w=W*(w+m*.43157973885536194)/((w+m*.6784840226173401)*(w+m*.0859554186463356))+(k<0?-1.5707963705062866:1.5707963705062866)-(W<0?-1.5707963705062866:1.5707963705062866);break}else w=0;while(0);p=~~+G(+(w*10430.3818359375+.5))}B=q+20|0;x=s[B>>2]|0;j=x<<3;F=q+28|0;M=s[F>>2]|0;C=32-(ne(M|0)|0)|0;P=M>>>(C+-16|0);H=(P>>>12)+-8|0;H=(C<<3)+(H+(P>>>0>(s[5272+(H<<2)>>2]|0)>>>0&1))|0;e:do if((I|0)==1)if(!N){if(O)g=0;else{N=(p|0)>8192;g=N&1;t:do if(N){d=0;while(1){if((d|0)>=(l|0))break t;N=a+(d<<2)|0;f[N>>2]=-+f[N>>2];d=d+1|0}}while(0);w=+f[D+(U<<2)>>2];W=+f[D+((s[L+8>>2]|0)+U<<2)>>2];m=+z(+(w*w+1.0000000036274937e-15+W*W))+1.0000000036274937e-15;w=w/m;m=W/m;d=0;while(1){if((d|0)>=(l|0))break;U=i+(d<<2)|0;f[U>>2]=w*+f[U>>2]+m*+f[a+(d<<2)>>2];d=d+1|0}d=s[h>>2]|0}if((d|0)>16?(s[e+32>>2]|0)>16:0){_=s[F>>2]|0;if(O){c=q+32|0;p=s[c>>2]|0;d=_>>>2;a=p>>>0<d>>>0;g=a&1;if(!a){p=p-d|0;s[c>>2]=p;d=_-d|0}s[F>>2]=d;y=q+40|0;E=q+24|0;A=q+4|0;while(1){if(d>>>0>=8388609){p=0;break e}s[B>>2]=(s[B>>2]|0)+8;d=d<<8;s[F>>2]=d;v=s[y>>2]|0;_=s[E>>2]|0;if(_>>>0<(s[A>>2]|0)>>>0){s[E>>2]=_+1;_=o[(s[q>>2]|0)+_>>0]|0}else _=0;s[y>>2]=_;a=((v<<8|_)>>>1&255|p<<8&2147483392)^255;s[c>>2]=a;p=a}}p=_>>>2;d=_-p|0;M=q+32|0;if(g){s[M>>2]=(s[M>>2]|0)+d;d=p}s[F>>2]=d;y=q+36|0;E=q+40|0;A=q+24|0;c=q+8|0;e=q+4|0;S=q+44|0;while(1){if(d>>>0>=8388609){p=0;break e}p=s[M>>2]|0;v=p>>>23;if((v|0)==255)s[y>>2]=(s[y>>2]|0)+1;else{_=p>>>31;d=s[E>>2]|0;if((d|0)>-1){p=s[A>>2]|0;if((p+(s[c>>2]|0)|0)>>>0<(s[e>>2]|0)>>>0){s[A>>2]=p+1;n[(s[q>>2]|0)+p>>0]=d+_;d=0}else d=-1;s[S>>2]=s[S>>2]|d}d=s[y>>2]|0;if(d|0){_=_+255&255;do{p=s[A>>2]|0;if((p+(s[c>>2]|0)|0)>>>0<(s[e>>2]|0)>>>0){s[A>>2]=p+1;n[(s[q>>2]|0)+p>>0]=_;p=0;d=s[y>>2]|0}else p=-1;s[S>>2]=s[S>>2]|p;d=d+-1|0;s[y>>2]=d}while((d|0)!=0)}s[E>>2]=v&255;p=s[M>>2]|0;d=s[F>>2]|0}s[M>>2]=p<<8&2147483392;d=d<<8;s[F>>2]=d;s[B>>2]=(s[B>>2]|0)+8}}else{g=0;p=0}}else g=0;else{do if(!O){if(!N?(A=s[e+48>>2]|0,A|0):0){p=(te(p,I)|0)+((((p|0)>8192?32767:-32767)|0)/(I|0)|0)|0;P=(p|0)<0;p=((I|0)>((P?0:p>>14)|0)?P?0:p>>14:I+-1|0)+(A>>>31^1)|0;break}p=(te(p,I)|0)+8192>>14}while(0);t:do if((l|0)>2&(N^1)){y=(I|0)/2|0;E=(y*3|0)+3|0;A=E+y|0;if(O){_=(M>>>0)/(A>>>0)|0;s[q+36>>2]=_;e=q+32|0;v=s[e>>2]|0;d=((v>>>0)/(_>>>0)|0)+1|0;d=A-(A>>>0<d>>>0?A:d)|0;if((d|0)<(E|0))p=(d|0)/3|0;else p=y+1+(d-E)|0;d=(p|0)>(y|0);if(d)g=p+-1-y+E|0;else g=p*3|0;E=d?p-y+E|0:(p*3|0)+3|0;A=te(_,A-E|0)|0;y=v-A|0;s[e>>2]=y;E=te(_,E-g|0)|0;g=(g|0)==0?M-A|0:E;s[F>>2]=g;E=q+40|0;A=q+24|0;c=q+4|0;d=x;while(1){if(g>>>0>=8388609)break t;d=d+8|0;s[B>>2]=d;g=g<<8;s[F>>2]=g;v=s[E>>2]|0;_=s[A>>2]|0;if(_>>>0<(s[c>>2]|0)>>>0){s[A>>2]=_+1;_=o[(s[q>>2]|0)+_>>0]|0}else _=0;s[E>>2]=_;x=((v<<8|_)>>>1&255|y<<8&2147483392)^255;s[e>>2]=x;y=x}}d=(p|0)>(y|0);if(d)_=p+-1-y+E|0;else _=p*3|0;d=d?p-y+E|0:(p*3|0)+3|0;g=(M>>>0)/(A>>>0)|0;if(!_){d=M-(te(g,A-d|0)|0)|0;s[F>>2]=d;y=q+32|0}else{P=M-(te(g,A-_|0)|0)|0;y=q+32|0;s[y>>2]=(s[y>>2]|0)+P;d=te(g,d-_|0)|0;s[F>>2]=d}E=q+36|0;A=q+40|0;c=q+24|0;e=q+8|0;S=q+4|0;M=q+44|0;g=x;while(1){if(d>>>0>=8388609)break t;_=s[y>>2]|0;v=_>>>23;if((v|0)==255)s[E>>2]=(s[E>>2]|0)+1;else{_=_>>>31;d=s[A>>2]|0;if((d|0)>-1){g=s[c>>2]|0;if((g+(s[e>>2]|0)|0)>>>0<(s[S>>2]|0)>>>0){s[c>>2]=g+1;n[(s[q>>2]|0)+g>>0]=d+_;d=0}else d=-1;s[M>>2]=s[M>>2]|d}d=s[E>>2]|0;if(d|0){_=_+255&255;do{g=s[c>>2]|0;if((g+(s[e>>2]|0)|0)>>>0<(s[S>>2]|0)>>>0){s[c>>2]=g+1;n[(s[q>>2]|0)+g>>0]=_;g=0;d=s[E>>2]|0}else g=-1;s[M>>2]=s[M>>2]|g;d=d+-1|0;s[E>>2]=d}while((d|0)!=0)}s[A>>2]=v&255;_=s[y>>2]|0;d=s[F>>2]|0;g=s[B>>2]|0}s[y>>2]=_<<8&2147483392;d=d<<8;s[F>>2]=d;g=g+8|0;s[B>>2]=g}}else{if(!((c|0)>1|N^1)){g=I>>1;_=g+1|0;e=te(_,_)|0;if(O){A=(M>>>0)/(e>>>0)|0;s[q+36>>2]=A;S=q+32|0;c=s[S>>2]|0;p=((c>>>0)/(A>>>0)|0)+1|0;p=e>>>0<p>>>0?e:p;d=e-p|0;if((d|0)<((te(g,_)|0)>>1|0)){d=d<<3|1;v=32-(ne(d|0)|0)+-1>>1;_=1<<v;y=0;while(1){p=(y<<1)+_<<v;g=d>>>0<p>>>0;y=y+(g?0:_)|0;if((v|0)<=0)break;else{d=d-(g?0:p)|0;_=_>>>1;v=v+-1|0}}p=(y+-1|0)>>>1;g=p+1|0;d=(te(p,g)|0)>>>1}else{E=I<<1;d=(p<<3)+-7|0;v=32-(ne(d|0)|0)+-1>>1;_=1<<v;y=0;while(1){p=(y<<1)+_<<v;g=d>>>0<p>>>0;y=y+(g?0:_)|0;if((v|0)<=0)break;else{d=d-(g?0:p)|0;_=_>>>1;v=v+-1|0}}p=(E+2-y|0)>>>1;g=I+1-p|0;d=e-((te(g,I+2-p|0)|0)>>1)|0}E=te(A,e-(d+g)|0)|0;y=c-E|0;s[S>>2]=y;g=te(A,g)|0;g=(d|0)==0?M-E|0:g;s[F>>2]=g;E=q+40|0;A=q+24|0;c=q+4|0;d=x;while(1){if(g>>>0>=8388609)break t;d=d+8|0;s[B>>2]=d;g=g<<8;s[F>>2]=g;v=s[E>>2]|0;_=s[A>>2]|0;if(_>>>0<(s[c>>2]|0)>>>0){s[A>>2]=_+1;_=o[(s[q>>2]|0)+_>>0]|0}else _=0;s[E>>2]=_;x=((v<<8|_)>>>1&255|y<<8&2147483392)^255;s[S>>2]=x;y=x}}P=(p|0)>(g|0);d=P?I+1-p|0:p+1|0;if(P)_=e-((te(I+1-p|0,I+2-p|0)|0)>>1)|0;else _=(te(p,p+1|0)|0)>>1;g=(M>>>0)/(e>>>0)|0;if(!_){d=M-(te(g,e-d|0)|0)|0;s[F>>2]=d;y=q+32|0}else{P=M-(te(g,e-_|0)|0)|0;y=q+32|0;s[y>>2]=(s[y>>2]|0)+P;d=te(g,d)|0;s[F>>2]=d}E=q+36|0;A=q+40|0;c=q+24|0;e=q+8|0;S=q+4|0;M=q+44|0;g=x;while(1){if(d>>>0>=8388609)break t;_=s[y>>2]|0;v=_>>>23;if((v|0)==255)s[E>>2]=(s[E>>2]|0)+1;else{_=_>>>31;d=s[A>>2]|0;if((d|0)>-1){g=s[c>>2]|0;if((g+(s[e>>2]|0)|0)>>>0<(s[S>>2]|0)>>>0){s[c>>2]=g+1;n[(s[q>>2]|0)+g>>0]=d+_;d=0}else d=-1;s[M>>2]=s[M>>2]|d}d=s[E>>2]|0;if(d|0){_=_+255&255;do{g=s[c>>2]|0;if((g+(s[e>>2]|0)|0)>>>0<(s[S>>2]|0)>>>0){s[c>>2]=g+1;n[(s[q>>2]|0)+g>>0]=_;g=0;d=s[E>>2]|0}else g=-1;s[M>>2]=s[M>>2]|g;d=d+-1|0;s[E>>2]=d}while((d|0)!=0)}s[A>>2]=v&255;_=s[y>>2]|0;d=s[F>>2]|0;g=s[B>>2]|0}s[y>>2]=_<<8&2147483392;d=d<<8;s[F>>2]=d;g=g+8|0;s[B>>2]=g}}_=I+1|0;if(O){g=0;p=((hi(q,_)|0)<<14>>>0)/(I>>>0)|0;break e}d=32-(ne(I|0)|0)|0;if((d|0)<=8){d=(M>>>0)/(_>>>0)|0;if(!p){d=M-(te(d,I)|0)|0;s[F>>2]=d;M=q+32|0}else{P=M-(te(d,_-p|0)|0)|0;M=q+32|0;s[M>>2]=(s[M>>2]|0)+P;s[F>>2]=d}y=q+36|0;E=q+40|0;A=q+24|0;c=q+8|0;e=q+4|0;S=q+44|0;g=x;while(1){if(d>>>0>=8388609)break t;_=s[M>>2]|0;v=_>>>23;if((v|0)==255)s[y>>2]=(s[y>>2]|0)+1;else{_=_>>>31;d=s[E>>2]|0;if((d|0)>-1){g=s[A>>2]|0;if((g+(s[c>>2]|0)|0)>>>0<(s[e>>2]|0)>>>0){s[A>>2]=g+1;n[(s[q>>2]|0)+g>>0]=d+_;d=0}else d=-1;s[S>>2]=s[S>>2]|d}d=s[y>>2]|0;if(d|0){_=_+255&255;do{g=s[A>>2]|0;if((g+(s[c>>2]|0)|0)>>>0<(s[e>>2]|0)>>>0){s[A>>2]=g+1;n[(s[q>>2]|0)+g>>0]=_;g=0;d=s[y>>2]|0}else g=-1;s[S>>2]=s[S>>2]|g;d=d+-1|0;s[y>>2]=d}while((d|0)!=0)}s[E>>2]=v&255;_=s[M>>2]|0;d=s[F>>2]|0;g=s[B>>2]|0}s[M>>2]=_<<8&2147483392;d=d<<8;s[F>>2]=d;g=g+8|0;s[B>>2]=g}}P=d+-8|0;d=I>>>P;g=d+1|0;_=p>>>P;v=(M>>>0)/(g>>>0)|0;if(!_){v=M-(te(v,d)|0)|0;s[F>>2]=v;c=q+32|0}else{C=M-(te(v,g-_|0)|0)|0;c=q+32|0;s[c>>2]=(s[c>>2]|0)+C;s[F>>2]=v}E=q+36|0;A=q+40|0;S=q+24|0;M=q+8|0;R=q+4|0;C=q+44|0;_=x;while(1){if(v>>>0>=8388609)break;d=s[c>>2]|0;y=d>>>23;if((y|0)==255)s[E>>2]=(s[E>>2]|0)+1;else{_=d>>>31;d=s[A>>2]|0;if((d|0)>-1){g=s[S>>2]|0;if((g+(s[M>>2]|0)|0)>>>0<(s[R>>2]|0)>>>0){s[S>>2]=g+1;n[(s[q>>2]|0)+g>>0]=d+_;d=0}else d=-1;s[C>>2]=s[C>>2]|d}d=s[E>>2]|0;if(d|0){_=_+255&255;do{g=s[S>>2]|0;if((g+(s[M>>2]|0)|0)>>>0<(s[R>>2]|0)>>>0){s[S>>2]=g+1;n[(s[q>>2]|0)+g>>0]=_;g=0;d=s[E>>2]|0}else g=-1;s[C>>2]=s[C>>2]|g;d=d+-1|0;s[E>>2]=d}while((d|0)!=0)}s[A>>2]=y&255;d=s[c>>2]|0;v=s[F>>2]|0;_=s[B>>2]|0}s[c>>2]=d<<8&2147483392;v=v<<8;s[F>>2]=v;_=_+8|0;s[B>>2]=_}A=(1<<P)+-1&p;c=q+12|0;d=s[c>>2]|0;e=q+16|0;g=s[e>>2]|0;if((g+P|0)>>>0>32){E=7-g|0;E=g+((E|0)>-8?E:-8)&-8;y=g;do{_=s[M>>2]|0;v=s[R>>2]|0;if(((s[S>>2]|0)+_|0)>>>0<v>>>0){_=_+1|0;s[M>>2]=_;n[(s[q>>2]|0)+(v-_)>>0]=d;_=0}else _=-1;s[C>>2]=s[C>>2]|_;d=d>>>8;y=y+-8|0}while((y|0)>7);_=s[B>>2]|0;g=g+-8-E|0}s[c>>2]=d|A<<g;s[e>>2]=g+P;s[B>>2]=_+P}while(0);p=(p<<14>>>0)/(I>>>0)|0;if(O|N)g=0;else{if(p|0){d=0;while(1){if((d|0)>=(l|0)){g=0;break e}U=i+(d<<2)|0;W=+f[U>>2]*.7071067690849304;q=a+(d<<2)|0;T=+f[q>>2]*.7071067690849304;f[U>>2]=W+T;f[q>>2]=T-W;d=d+1|0}}w=+f[D+(U<<2)>>2];W=+f[D+((s[L+8>>2]|0)+U<<2)>>2];m=+z(+(w*w+1.0000000036274937e-15+W*W))+1.0000000036274937e-15;w=w/m;m=W/m;d=0;while(1){if((d|0)>=(l|0)){g=0;p=0;break e}q=i+(d<<2)|0;f[q>>2]=w*+f[q>>2]+m*+f[a+(d<<2)>>2];d=d+1|0}}}while(0);q=s[F>>2]|0;F=32-(ne(q|0)|0)|0;q=q>>>(F+-16|0);d=(q>>>12)+-8|0;d=(s[B>>2]<<3)-((F<<3)+(d+(q>>>0>(s[5272+(d<<2)>>2]|0)>>>0&1)))+(H-j)|0;s[h>>2]=(s[h>>2]|0)-d;e:do if((p|0)<16384){switch(p|0){case 0:break;default:break e}s[b>>2]=s[b>>2]&(1<<u)+-1;h=-16384;u=32767;l=0;s[t>>2]=g;b=t+4|0;s[b>>2]=u;b=t+8|0;s[b>>2]=l;b=t+12|0;s[b>>2]=h;b=t+16|0;s[b>>2]=p;t=t+20|0;s[t>>2]=d;return}else{switch(p|0){case 16384:break;default:break e}s[b>>2]=s[b>>2]&(1<<u)+-1<<u;h=16384;u=0;l=32767;s[t>>2]=g;b=t+4|0;s[b>>2]=u;b=t+8|0;s[b>>2]=l;b=t+12|0;s[b>>2]=h;b=t+16|0;s[b>>2]=p;t=t+20|0;s[t>>2]=d;return}while(0);H=p<<16>>16;H=((te(H,H)|0)+4096|0)>>>13;u=H<<16>>16;u=(32767-H+(((te(u,(((te(u,(((te(u,-626)|0)+16384|0)>>>15<<16)+542441472>>16)|0)+16384|0)>>>15<<16)+-501415936>>16)|0)+16384|0)>>>15)<<16)+65536>>16;H=16384-p<<16>>16;H=((te(H,H)|0)+4096|0)>>>13;b=H<<16>>16;b=(32767-H+(((te(b,(((te(b,(((te(b,-626)|0)+16384|0)>>>15<<16)+542441472>>16)|0)+16384|0)>>>15<<16)+-501415936>>16)|0)+16384|0)>>>15)<<16)+65536>>16;H=32-(ne(u|0)|0)|0;F=32-(ne(b|0)|0)|0;q=b<<15-F<<16>>16;h=u<<15-H<<16>>16;h=(te((l<<23)+-8388608>>16,(F-H<<11)+(((te(q,(((te(q,-2597)|0)+16384|0)>>>15<<16)+519831552>>16)|0)+16384|0)>>>15)-(((te(h,(((te(h,-2597)|0)+16384|0)>>>15<<16)+519831552>>16)|0)+16384|0)>>>15)<<16>>16)|0)+16384>>15;
l=b;s[t>>2]=g;b=t+4|0;s[b>>2]=u;b=t+8|0;s[b>>2]=l;b=t+12|0;s[b>>2]=h;b=t+16|0;s[b>>2]=p;t=t+20|0;s[t>>2]=d;return}function un(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var r=0,o=0,a=0,l=0,f=0,h=0;h=u;l=te(t,i)|0;f=u;u=u+((1*(l<<2)|0)+15&-16)|0;if(!n){r=0;while(1){if((r|0)>=(i|0))break;n=te(r,t)|0;o=0;while(1){if((o|0)>=(t|0))break;s[f+((te(o,i)|0)+r<<2)>>2]=s[e+(n+o<<2)>>2];o=o+1|0}r=r+1|0}i=l<<2;Sr(e|0,f|0,i|0)|0;u=h;return}n=17628+(i<<2)+-8|0;o=0;while(1){if((o|0)>=(i|0))break;r=n+(o<<2)|0;a=0;while(1){if((a|0)>=(t|0))break;s[f+((te(a,i)|0)+o<<2)>>2]=s[e+((te(s[r>>2]|0,t)|0)+a<<2)>>2];a=a+1|0}o=o+1|0}i=l<<2;Sr(e|0,f|0,i|0)|0;u=h;return}function cn(e,t,i,r,a,l,h,c,d,p,b){e=e|0;t=t|0;i=i|0;r=r|0;a=a|0;l=l|0;h=h|0;c=c|0;d=d|0;p=p|0;b=b|0;var w=0,m=0,g=0,_=0,v=0,k=0,y=0,E=0,A=0,T=0,S=0,M=0,R=0,C=0,P=0,x=0,I=0,O=0,N=0,D=0,L=0,U=0,B=0,j=0;B=u;u=u+32|0;w=B+28|0;E=B+24|0;v=B;s[w>>2]=a;s[E>>2]=b;y=s[e>>2]|0;U=s[e+28>>2]|0;if((r|0)==1){h=e+32|0;l=(y|0)==0;c=U+12|0;C=U+16|0;P=U+20|0;x=U+8|0;I=U+4|0;O=U+24|0;b=U+44|0;T=e+4|0;S=i|0?2:1;M=0;R=t;while(1){if((s[h>>2]|0)>7){if(l){w=s[c>>2]|0;a=s[C>>2]|0;if(!a){k=s[I>>2]|0;v=s[x>>2]|0;y=0;do{if(v>>>0<k>>>0){a=v+1|0;s[x>>2]=a;v=a;a=o[(s[U>>2]|0)+(k-a)>>0]|0}else a=0;w=w|a<<y;y=y+8|0}while((y|0)<25);v=32}else v=a;a=w&1;v=v+-1|0;w=w>>>1}else{A=+f[R>>2]<0&1;w=s[c>>2]|0;k=s[C>>2]|0;if((k+1|0)>>>0>32){y=7-k|0;y=k+((y|0)>-8?y:-8)&-8;E=k;do{a=s[x>>2]|0;v=s[I>>2]|0;if(((s[O>>2]|0)+a|0)>>>0<v>>>0){a=a+1|0;s[x>>2]=a;n[(s[U>>2]|0)+(v-a)>>0]=w;a=0}else a=-1;s[b>>2]=s[b>>2]|a;w=w>>>8;E=E+-8|0}while((E|0)>7);k=k+-8-y|0}a=A;v=k+1|0;w=w|A<<k}s[c>>2]=w;s[C>>2]=v;s[P>>2]=(s[P>>2]|0)+1;s[h>>2]=(s[h>>2]|0)+-8}else a=0;if(s[T>>2]|0)f[R>>2]=a|0?-1:1;M=M+1|0;if((M|0)>=(S|0))break;else R=i}if(!d){i=1;u=B;return i|0}s[d>>2]=s[t>>2];i=1;u=B;return i|0}hn(e,v,t,i,r,w,l,l,c,1,E);D=s[v>>2]|0;T=s[v+16>>2]|0;A=s[v+20>>2]|0;L=+(s[v+4>>2]|0)*30517578125e-15;m=+(s[v+8>>2]|0)*30517578125e-15;N=(r|0)==2;do if(N){a=s[w>>2]|0;if((T|0)<16384)switch(T|0){case 0:{w=0;break}default:k=26}else switch(T|0){case 16384:{w=0;break}default:k=26}if((k|0)==26)w=8;O=a-w|0;x=(T|0)>8192;I=e+32|0;s[I>>2]=(s[I>>2]|0)-(A+w);I=x?i:t;x=x?t:i;do if(!w)a=0;else{if(!y){A=U+12|0;w=s[A>>2]|0;T=U+16|0;a=s[T>>2]|0;if(!a){y=U+8|0;k=s[U+4>>2]|0;v=s[y>>2]|0;E=0;do{if(v>>>0<k>>>0){v=v+1|0;s[y>>2]=v;a=o[(s[U>>2]|0)+(k-v)>>0]|0}else a=0;w=w|a<<E;E=E+8|0}while((E|0)<25);a=32}s[A>>2]=w>>>1;s[T>>2]=a+-1;a=U+20|0;s[a>>2]=(s[a>>2]|0)+1;a=w&1;break}a=+f[I>>2]*+f[x+4>>2]-+f[I+4>>2]*+f[x>>2]<0&1;C=U+12|0;w=s[C>>2]|0;P=U+16|0;v=s[P>>2]|0;if((v+1|0)>>>0>32){E=U+24|0;A=U+8|0;T=U+4|0;S=U+44|0;M=7-v|0;M=v+((M|0)>-8?M:-8)&-8;R=v;do{k=s[A>>2]|0;y=s[T>>2]|0;if(((s[E>>2]|0)+k|0)>>>0<y>>>0){k=k+1|0;s[A>>2]=k;n[(s[U>>2]|0)+(y-k)>>0]=w;k=0}else k=-1;s[S>>2]=s[S>>2]|k;w=w>>>8;R=R+-8|0}while((R|0)>7);v=v+-8-M|0}s[C>>2]=w|a<<v;s[P>>2]=v+1;U=U+20|0;s[U>>2]=(s[U>>2]|0)+1}while(0);U=1-(a<<1)|0;a=an(e,I,2,O,l,h,c,d,1,p,b)|0;f[x>>2]=+(0-U|0)*+f[I+4>>2];f[x+4>>2]=+(U|0)*+f[I>>2];if(s[e+4>>2]|0){f[t>>2]=L*+f[t>>2];U=t+4|0;f[U>>2]=L*+f[U>>2];g=m*+f[i>>2];f[i>>2]=g;d=i+4|0;f[d>>2]=m*+f[d>>2];_=+f[t>>2];f[t>>2]=_-g;f[i>>2]=_+ +f[i>>2];_=+f[U>>2];f[U>>2]=_-+f[d>>2];f[d>>2]=_+ +f[d>>2]}}else{k=s[w>>2]|0;v=(k-(s[v+12>>2]|0)|0)/2|0;y=(k|0)<(v|0);v=((y?k:v)|0)<0?0:y?k:v;k=k-v|0;y=e+32|0;w=(s[y>>2]|0)-A|0;s[y>>2]=w;a=s[E>>2]|0;if((v|0)<(k|0)){b=an(e,i,r,k,l,0,c,0,m,0,a>>l)|0;U=k+((s[y>>2]|0)-w)|0;a=b|(an(e,t,r,v+((U|0)<25|(T|0)==16384?0:U+-24|0)|0,l,h,c,d,1,p,a)|0);break}else{U=an(e,t,r,v,l,h,c,d,1,p,a)|0;d=v+((s[y>>2]|0)-w)|0;a=U|(an(e,i,r,k+((d|0)<25|(T|0)==0?0:d+-24|0)|0,l,0,c,0,m,0,a>>l)|0);break}}while(0);if(!(s[e+4>>2]|0)){i=a;u=B;return i|0}e:do if(!N){w=0;m=0;g=0;while(1){if((w|0)>=(r|0))break;_=+f[i+(w<<2)>>2];j=m+_*+f[t+(w<<2)>>2];w=w+1|0;m=j;g=g+_*_}j=L*L+g;g=m*L*2;m=j-g;g=j+g;if(g<.0006000000284984708|m<.0006000000284984708){Sr(i|0,t|0,r<<2|0)|0;break}_=1/+z(+m);m=1/+z(+g);w=0;while(1){if((w|0)>=(r|0))break e;U=t+(w<<2)|0;g=+f[U>>2]*L;d=i+(w<<2)|0;j=+f[d>>2];f[U>>2]=_*(g-j);f[d>>2]=m*(g+j);w=w+1|0}}while(0);if(!D){i=a;u=B;return i|0}else w=0;while(1){if((w|0)>=(r|0))break;t=i+(w<<2)|0;f[t>>2]=-+f[t>>2];w=w+1|0}u=B;return a|0}function dn(e,t,i,o,a,l){e=e|0;t=t|0;i=i|0;o=o|0;a=a|0;l=l|0;var f=0,h=0,c=0,d=0,p=0,b=0,w=0,m=0,g=0,_=0,v=0,k=0,y=0,E=0,A=0,T=0,S=0,M=0,R=0,C=0,P=0,x=0,I=0,O=0;O=u;u=u+208|0;C=O+176|0;P=O+144|0;I=O;R=e+2328|0;x=s[R>>2]|0;M=I+136|0;s[M>>2]=0;switch(a|0){case 0:{f=e+2388|0;h=4;break}case 2:{f=e+2388|0;if((s[e+2420+(s[f>>2]<<2)>>2]|0)==1)h=4;else h=57;break}default:h=57}if((h|0)==4){S=Ne()|0;v=u;u=u+((1*((x+15&-16)<<1)|0)+15&-16)|0;pn(e,t,s[f>>2]|0,a,l);T=e+2765|0;bn(t,v,n[T>>0]|0,n[e+2766>>0]|0,s[R>>2]|0);A=e+2324|0;mn(I+16|0,e+2736|0,e+2312|0,(l|0)==2&1,s[A>>2]|0);gn(C,e+2744|0,s[e+2732>>2]|0);k=I+64|0;y=e+2340|0;Pn(k,C,s[y>>2]|0);E=e+2376|0;f=e+2767|0;if((s[E>>2]|0)!=1){f=n[f>>0]|0;if(f<<24>>24<4){a=s[y>>2]|0;t=0;while(1){if((t|0)>=(a|0))break;_=r[e+2344+(t<<1)>>1]|0;r[P+(t<<1)>>1]=(_&65535)+((te(f<<24>>24,(r[C+(t<<1)>>1]|0)-(_<<16>>16)|0)|0)>>>2);t=t+1|0}Pn(I+32|0,P,a);a=s[y>>2]|0}else h=11}else{n[f>>0]=4;h=11}if((h|0)==11){a=s[y>>2]|0;Sr(I+32|0,k|0,a<<1|0)|0}Sr(e+2344|0,C|0,a<<1|0)|0;f=e+4160|0;if(s[f>>2]|0){l=a+-1|0;a=63570;t=0;while(1){if((t|0)>=(l|0))break;_=I+32+(t<<1)|0;r[_>>1]=(((te(a,r[_>>1]|0)|0)>>>15)+1|0)>>>1;a=a+(((te(a,-1966)|0)>>15)+1>>1)|0;t=t+1|0}t=I+32+(l<<1)|0;r[t>>1]=(((te(a,r[t>>1]|0)|0)>>>15)+1|0)>>>1;a=63570;t=0;while(1){if((t|0)>=(l|0))break;_=I+64+(t<<1)|0;r[_>>1]=(((te(a,r[_>>1]|0)|0)>>>15)+1|0)>>>1;a=a+(((te(a,-1966)|0)>>15)+1>>1)|0;t=t+1|0}_=I+64+(l<<1)|0;r[_>>1]=(((te(a,r[_>>1]|0)|0)>>>15)+1|0)>>>1}if((n[T>>0]|0)==2){a=e+2316|0;h=s[a>>2]|0;_=s[A>>2]|0;l=(h|0)==8;w=(_|0)==4;m=l?w?11:3:w?34:12;w=l?w?32969:32935:w?33013:32941;h=h<<16;l=h>>15;h=(h>>16)*18|0;c=l+(r[e+2762>>1]|0)|0;d=n[e+2764>>0]|0;p=(l|0)>(h|0);g=0;while(1){if((g|0)>=(_|0))break;t=c+(n[w+((te(g,m)|0)+d)>>0]|0)|0;b=I+(g<<2)|0;s[b>>2]=t;if(p)if((t|0)>(l|0))t=l;else t=(t|0)<(h|0)?h:t;else if((t|0)>(h|0))t=h;else t=(t|0)<(l|0)?l:t;s[b>>2]=t;g=g+1|0}l=r[e+2768>>1]|0;t=s[17400+((l&65535)<<24>>24<<2)>>2]|0;l=(l&65535)>>>8;p=0;while(1){if((p|0)>=(_|0))break;h=(n[e+2740+p>>0]|0)*5|0;c=p*5|0;d=0;while(1){if((d|0)==5)break;r[I+96+(c+d<<1)>>1]=n[t+(h+d)>>0]<<7;d=d+1|0}p=p+1|0}s[M>>2]=r[25412+((l&65535)<<24>>24<<1)>>1]}else{a=s[A>>2]|0;yr(I|0,0,a<<2|0)|0;yr(I+96|0,0,a*10|0)|0;n[e+2768>>0]=0;s[M>>2]=0;a=e+2316|0}Bn(e,I,i,v);t=s[a>>2]|0;a=e+4248|0;if((t|0)!=(s[a>>2]|0)){s[e+4168>>2]=s[R>>2]<<7;s[e+4240>>2]=65536;s[e+4244>>2]=65536;s[e+4256>>2]=20;s[e+4252>>2]=2;s[a>>2]=t}g=e+4168|0;v=n[T>>0]|0;_=e+4164|0;s[_>>2]=v<<24>>24;e:do if(v<<24>>24==2){a=e+2332|0;d=s[a>>2]|0;p=s[A>>2]|0;b=p+-1|0;w=e+4172|0;c=s[I+(b<<2)>>2]|0;t=0;m=0;while(1){if((te(m,d)|0)>=(c|0)|(m|0)==(p|0))break;else{l=0;h=0}while(1){if((l|0)==5)break;v=h+(r[I+96+(((b-m|0)*5|0)+l<<1)>>1]|0)|0;l=l+1|0;h=v}if((h|0)>(t|0)){t=I+96+((p+65535-m<<16>>16)*5<<1)|0;r[w>>1]=r[t>>1]|0;r[w+2>>1]=r[t+2>>1]|0;r[w+4>>1]=r[t+4>>1]|0;r[w+6>>1]=r[t+6>>1]|0;r[w+8>>1]=r[t+8>>1]|0;s[g>>2]=s[I+(b-m<<2)>>2]<<8;t=h}m=m+1|0}s[w>>2]=0;s[w+4>>2]=0;r[w+8>>1]=0;r[e+4176>>1]=t;if((t|0)<11469){t=(11744256/(((t|0)>1?t:1)|0)|0)<<16>>16;l=0;while(1){if((l|0)==5)break e;v=e+4172+(l<<1)|0;r[v>>1]=(te(r[v>>1]|0,t)|0)>>>10;l=l+1|0}}if((t|0)>15565){t=(255016960/(t|0)|0)<<16>>16;l=0;while(1){if((l|0)==5)break e;v=e+4172+(l<<1)|0;r[v>>1]=(te(r[v>>1]|0,t)|0)>>>14;l=l+1|0}}}else{s[g>>2]=(t<<16>>16)*4608;a=e+4172|0;s[a>>2]=0;s[a+4>>2]=0;r[a+8>>1]=0;a=e+2332|0}while(0);Sr(e+4182|0,k|0,s[y>>2]<<1|0)|0;r[e+4236>>1]=s[M>>2];M=s[A>>2]|0;k=I+16+(M+-2<<2)|0;y=s[k+4>>2]|0;A=e+4240|0;s[A>>2]=s[k>>2];s[A+4>>2]=y;s[e+4256>>2]=s[a>>2];s[e+4252>>2]=M;s[f>>2]=0;s[_>>2]=n[T>>0];s[E>>2]=0;He(S|0);a=I}else if((h|0)==57){n[e+2765>>0]=s[e+4164>>2];f=s[e+2316>>2]|0;a=e+4248|0;if((f|0)!=(s[a>>2]|0)){s[e+4168>>2]=x<<7;s[e+4240>>2]=65536;s[e+4244>>2]=65536;s[e+4256>>2]=20;s[e+4252>>2]=2;s[a>>2]=f}yn(e,I,i);f=e+4160|0;s[f>>2]=(s[f>>2]|0)+1;a=I}S=s[R>>2]|0;M=(s[e+2336>>2]|0)-S|0;Mr(e+1348|0,e+1348+(S<<1)|0,M<<1|0)|0;Sr(e+1348+(M<<1)|0,i|0,s[R>>2]<<1|0)|0;Un(e,a,i,x);if(s[f>>2]|0){Dn(e+4228|0,e+4232|0,i,x);s[e+4216>>2]=1;i=e+2324|0;i=s[i>>2]|0;i=i+-1|0;i=I+(i<<2)|0;i=s[i>>2]|0;I=e+2308|0;s[I>>2]=i;s[o>>2]=x;u=O;return 0}h=e+4216|0;e:do if(s[h>>2]|0){Dn(P,C,i,x);f=s[C>>2]|0;a=s[e+4232>>2]|0;if((f|0)<=(a|0)){if((f|0)<(a|0))s[P>>2]=s[P>>2]>>a-f}else{C=e+4228|0;s[C>>2]=s[C>>2]>>f-a}f=s[P>>2]|0;a=e+4228|0;t=s[a>>2]|0;if((f|0)>(t|0)){R=ne(t|0)|0;C=t<<R+-1;s[a>>2]=C;R=25-R|0;f=f>>((R|0)>0?R:0);s[P>>2]=f;f=(C|0)/(((f|0)>1?f:1)|0)|0;if((f|0)<1)f=0;else{l=ne(f|0)|0;a=24-l|0;t=0-a|0;do if(a)if((a|0)<0){f=f<<t|f>>>(a+32|0);break}else{f=f<<32-a|f>>>a;break}while(0);P=((l&1|0)==0?46214:32768)>>>(l>>>1);f=(te(f&127,13959168)|0)>>>16;f=P+((te(P>>16,f)|0)+((te(P&65535,f)|0)>>>16))<<4}t=((65536-f|0)/(x|0)|0)<<2;a=0;while(1){if((a|0)>=(x|0))break e;P=i+(a<<1)|0;C=r[P>>1]|0;r[P>>1]=(te(f>>16,C)|0)+((te(f&65532,C)|0)>>>16);f=f+t|0;if((f|0)>65536)break e;a=a+1|0}}}while(0);s[h>>2]=0;i=e+2324|0;i=s[i>>2]|0;i=i+-1|0;i=I+(i<<2)|0;i=s[i>>2]|0;I=e+2308|0;s[I>>2]=i;s[o>>2]=x;u=O;return 0}function pn(e,t,i,l,f){e=e|0;t=t|0;i=i|0;l=l|0;f=f|0;var h=0,c=0,d=0,p=0,b=0,w=0,m=0,g=0,_=0,v=0,k=0,y=0,E=0,A=0,T=0,S=0,M=0,R=0,C=0,P=0;P=u;u=u+48|0;T=P;y=P+32|0;e:do if((l|0)==0?(s[e+2404+(i<<2)>>2]|0)==0:0){g=t+28|0;d=s[g>>2]|0;_=t+32|0;l=s[_>>2]|0;h=d>>>8;i=-1;while(1){i=i+1|0;c=te(h,o[29937+i>>0]|0)|0;if(l>>>0>=c>>>0)break;else d=c}m=l-c|0;s[_>>2]=m;l=d-c|0;s[g>>2]=l;d=t+20|0;p=t+40|0;b=t+24|0;w=t+4|0;while(1){if(l>>>0>=8388609)break e;s[d>>2]=(s[d>>2]|0)+8;l=l<<8;s[g>>2]=l;c=s[p>>2]|0;h=s[b>>2]|0;if(h>>>0<(s[w>>2]|0)>>>0){s[b>>2]=h+1;h=o[(s[t>>2]|0)+h>>0]|0}else h=0;s[p>>2]=h;C=((c<<8|h)>>>1&255|m<<8&2147483392)^255;s[_>>2]=C;m=C}}else M=3;while(0);if((M|0)==3){m=t+28|0;d=s[m>>2]|0;g=t+32|0;l=s[g>>2]|0;h=d>>>8;_=-1;while(1){c=_+1|0;i=te(h,o[29933+c>>0]|0)|0;if(l>>>0<i>>>0){_=c;d=i}else break}w=l-i|0;s[g>>2]=w;i=d-i|0;s[m>>2]=i;c=t+20|0;d=t+40|0;p=t+24|0;b=t+4|0;while(1){if(i>>>0>=8388609)break;s[c>>2]=(s[c>>2]|0)+8;i=i<<8;s[m>>2]=i;h=s[d>>2]|0;l=s[p>>2]|0;if(l>>>0<(s[b>>2]|0)>>>0){s[p>>2]=l+1;l=o[(s[t>>2]|0)+l>>0]|0}else l=0;s[d>>2]=l;C=((h<<8|l)>>>1&255|w<<8&2147483392)^255;s[g>>2]=C;w=C}i=_+3|0}l=i>>>1;C=e+2765|0;n[C>>0]=l;n[e+2766>>0]=i&1;E=(f|0)==2;if(E){_=t+28|0;c=s[_>>2]|0;m=t+32|0;l=s[m>>2]|0;h=c>>>8;g=-1;while(1){g=g+1|0;i=te(h,o[29396+g>>0]|0)|0;if(l>>>0>=i>>>0)break;else c=i}R=l-i|0;s[m>>2]=R;i=c-i|0;s[_>>2]=i;d=t+20|0;p=t+40|0;b=t+24|0;w=t+4|0;c=R;while(1){if(i>>>0>=8388609)break;s[d>>2]=(s[d>>2]|0)+8;i=i<<8;s[_>>2]=i;h=s[p>>2]|0;l=s[b>>2]|0;if(l>>>0<(s[w>>2]|0)>>>0){s[b>>2]=l+1;l=o[(s[t>>2]|0)+l>>0]|0}else l=0;s[p>>2]=l;R=((h<<8|l)>>>1&255|c<<8&2147483392)^255;s[m>>2]=R;c=R}n[e+2736>>0]=g;k=m;R=d;v=b;S=t}else{i=l<<24>>24;_=t+28|0;d=s[_>>2]|0;k=t+32|0;l=s[k>>2]|0;h=d>>>8;m=-1;while(1){m=m+1|0;c=te(h,o[29372+(i<<3)+m>>0]|0)|0;if(l>>>0>=c>>>0)break;else d=c}R=l-c|0;s[k>>2]=R;i=d-c|0;s[_>>2]=i;g=t+20|0;p=t+40|0;v=t+24|0;w=t+4|0;c=R;while(1){if(i>>>0>=8388609)break;s[g>>2]=(s[g>>2]|0)+8;i=i<<8;s[_>>2]=i;h=s[p>>2]|0;l=s[v>>2]|0;if(l>>>0<(s[w>>2]|0)>>>0){s[v>>2]=l+1;l=o[(s[t>>2]|0)+l>>0]|0}else l=0;s[p>>2]=l;R=((h<<8|l)>>>1&255|c<<8&2147483392)^255;s[k>>2]=R;c=R}b=e+2736|0;n[b>>0]=m<<3;c=s[_>>2]|0;i=s[k>>2]|0;l=c>>>8;d=-1;while(1){d=d+1|0;h=te(l,o[29962+d>>0]|0)|0;if(i>>>0>=h>>>0)break;else c=h}R=i-h|0;s[k>>2]=R;i=c-h|0;s[_>>2]=i;c=R;while(1){if(i>>>0>=8388609)break;s[g>>2]=(s[g>>2]|0)+8;i=i<<8;s[_>>2]=i;h=s[p>>2]|0;l=s[v>>2]|0;if(l>>>0<(s[w>>2]|0)>>>0){s[v>>2]=l+1;l=o[(s[t>>2]|0)+l>>0]|0}else l=0;s[p>>2]=l;R=((h<<8|l)>>>1&255|c<<8&2147483392)^255;s[k>>2]=R;c=R}n[b>>0]=(o[b>>0]|0)+d;R=g;S=t}A=e+2324|0;d=1;while(1){if((d|0)>=(s[A>>2]|0))break;c=s[_>>2]|0;i=s[k>>2]|0;l=c>>>8;b=-1;while(1){b=b+1|0;h=te(l,o[29396+b>>0]|0)|0;if(i>>>0>=h>>>0)break;else c=h}t=i-h|0;s[k>>2]=t;i=c-h|0;s[_>>2]=i;c=t;while(1){if(i>>>0>=8388609)break;s[R>>2]=(s[R>>2]|0)+8;i=i<<8;s[_>>2]=i;h=s[p>>2]|0;l=s[v>>2]|0;if(l>>>0<(s[w>>2]|0)>>>0){s[v>>2]=l+1;l=o[(s[S>>2]|0)+l>>0]|0}else l=0;s[p>>2]=l;t=((h<<8|l)>>>1&255|c<<8&2147483392)^255;s[k>>2]=t;c=t}n[e+2736+d>>0]=b;d=d+1|0}t=e+2732|0;d=s[t>>2]|0;i=te(n[C>>0]>>1,r[d>>1]|0)|0;i=(s[d+16>>2]|0)+i|0;d=s[_>>2]|0;l=s[k>>2]|0;h=d>>>8;b=-1;while(1){b=b+1|0;c=te(h,o[i+b>>0]|0)|0;if(l>>>0>=c>>>0)break;else d=c}g=l-c|0;s[k>>2]=g;i=d-c|0;s[_>>2]=i;c=g;while(1){if(i>>>0>=8388609)break;s[R>>2]=(s[R>>2]|0)+8;i=i<<8;s[_>>2]=i;h=s[p>>2]|0;l=s[v>>2]|0;if(l>>>0<(s[w>>2]|0)>>>0){s[v>>2]=l+1;l=o[(s[S>>2]|0)+l>>0]|0}else l=0;s[p>>2]=l;g=((h<<8|l)>>>1&255|c<<8&2147483392)^255;s[k>>2]=g;c=g}n[e+2744>>0]=b;Ui(T,y,s[t>>2]|0,b<<24>>24);g=0;while(1){i=s[t>>2]|0;if((g|0)>=(r[i+2>>1]|0))break;l=(s[i+28>>2]|0)+(r[T+(g<<1)>>1]|0)|0;b=s[_>>2]|0;h=s[k>>2]|0;c=b>>>8;m=-1;while(1){i=m+1|0;d=te(c,o[l+i>>0]|0)|0;if(h>>>0<d>>>0){m=i;b=d}else break}y=h-d|0;s[k>>2]=y;h=b-d|0;s[_>>2]=h;b=y;while(1){if(h>>>0>=8388609)break;s[R>>2]=(s[R>>2]|0)+8;h=h<<8;s[_>>2]=h;c=s[p>>2]|0;l=s[v>>2]|0;if(l>>>0<(s[w>>2]|0)>>>0){s[v>>2]=l+1;l=o[(s[S>>2]|0)+l>>0]|0}else l=0;s[p>>2]=l;y=((c<<8|l)>>>1&255|b<<8&2147483392)^255;s[k>>2]=y;b=y}switch(m|0){case-1:{c=h>>>8;d=-1;while(1){i=d+1|0;l=te(c,o[29970+i>>0]|0)|0;if(b>>>0<l>>>0){d=i;h=l}else break}c=b-l|0;s[k>>2]=c;i=h-l|0;s[_>>2]=i;while(1){if(i>>>0>=8388609)break;s[R>>2]=(s[R>>2]|0)+8;i=i<<8;s[_>>2]=i;h=s[p>>2]|0;l=s[v>>2]|0;if(l>>>0<(s[w>>2]|0)>>>0){s[v>>2]=l+1;l=o[(s[S>>2]|0)+l>>0]|0}else l=0;s[p>>2]=l;y=((h<<8|l)>>>1&255|c<<8&2147483392)^255;s[k>>2]=y;c=y}i=~d;break}case 7:{c=h>>>8;d=-1;while(1){i=d+1|0;l=te(c,o[29970+i>>0]|0)|0;if(b>>>0<l>>>0){d=i;h=l}else break}c=b-l|0;s[k>>2]=c;i=h-l|0;s[_>>2]=i;while(1){if(i>>>0>=8388609)break;s[R>>2]=(s[R>>2]|0)+8;i=i<<8;s[_>>2]=i;h=s[p>>2]|0;l=s[v>>2]|0;if(l>>>0<(s[w>>2]|0)>>>0){s[v>>2]=l+1;l=o[(s[S>>2]|0)+l>>0]|0}else l=0;s[p>>2]=l;y=((h<<8|l)>>>1&255|c<<8&2147483392)^255;s[k>>2]=y;c=y}i=d+9|0;break}default:{}}y=g+1|0;n[e+2744+y>>0]=i+252;g=y}if((s[A>>2]|0)==4){c=s[_>>2]|0;i=s[k>>2]|0;l=c>>>8;d=-1;while(1){d=d+1|0;h=te(l,o[29939+d>>0]|0)|0;if(i>>>0>=h>>>0)break;else c=h}T=i-h|0;s[k>>2]=T;i=c-h|0;s[_>>2]=i;c=T;while(1){if(i>>>0>=8388609)break;s[R>>2]=(s[R>>2]|0)+8;i=i<<8;s[_>>2]=i;h=s[p>>2]|0;l=s[v>>2]|0;if(l>>>0<(s[w>>2]|0)>>>0){s[v>>2]=l+1;l=o[(s[S>>2]|0)+l>>0]|0}else l=0;s[p>>2]=l;T=((h<<8|l)>>>1&255|c<<8&2147483392)^255;s[k>>2]=T;c=T}n[e+2767>>0]=d}else n[e+2767>>0]=4;do if((n[C>>0]|0)==2){if(E?(s[e+2396>>2]|0)==2:0){c=s[_>>2]|0;i=s[k>>2]|0;l=c>>>8;b=-1;while(1){d=b+1|0;h=te(l,o[30009+d>>0]|0)|0;if(i>>>0<h>>>0){b=d;c=h}else break}T=i-h|0;s[k>>2]=T;i=c-h|0;s[_>>2]=i;c=T;while(1){if(i>>>0>=8388609)break;s[R>>2]=(s[R>>2]|0)+8;i=i<<8;s[_>>2]=i;h=s[p>>2]|0;l=s[v>>2]|0;if(l>>>0<(s[w>>2]|0)>>>0){s[v>>2]=l+1;l=o[(s[S>>2]|0)+l>>0]|0}else l=0;s[p>>2]=l;T=((h<<8|l)>>>1&255|c<<8&2147483392)^255;s[k>>2]=T;c=T}if((d&65535)<<16>>16>0){i=e+2400|0;l=(a[i>>1]|0)+(b+65528)&65535;r[e+2762>>1]=l}else M=108}else M=108;if((M|0)==108){c=s[_>>2]|0;i=s[k>>2]|0;l=c>>>8;d=-1;while(1){d=d+1|0;h=te(l,o[29977+d>>0]|0)|0;if(i>>>0>=h>>>0)break;else c=h}M=i-h|0;s[k>>2]=M;i=c-h|0;s[_>>2]=i;c=M;while(1){if(i>>>0>=8388609)break;s[R>>2]=(s[R>>2]|0)+8;i=i<<8;s[_>>2]=i;h=s[p>>2]|0;l=s[v>>2]|0;if(l>>>0<(s[w>>2]|0)>>>0){s[v>>2]=l+1;l=o[(s[S>>2]|0)+l>>0]|0}else l=0;s[p>>2]=l;M=((h<<8|l)>>>1&255|c<<8&2147483392)^255;s[k>>2]=M;c=M}m=e+2762|0;r[m>>1]=te(d<<16>>16,s[e+2316>>2]>>1)|0;i=s[e+2380>>2]|0;d=s[_>>2]|0;l=s[k>>2]|0;h=d>>>8;b=-1;while(1){b=b+1|0;c=te(h,o[i+b>>0]|0)|0;if(l>>>0>=c>>>0)break;else d=c}M=l-c|0;s[k>>2]=M;i=d-c|0;s[_>>2]=i;c=M;while(1){if(i>>>0>=8388609)break;s[R>>2]=(s[R>>2]|0)+8;i=i<<8;s[_>>2]=i;h=s[p>>2]|0;l=s[v>>2]|0;if(l>>>0<(s[w>>2]|0)>>>0){s[v>>2]=l+1;l=o[(s[S>>2]|0)+l>>0]|0}else l=0;s[p>>2]=l;M=((h<<8|l)>>>1&255|c<<8&2147483392)^255;s[k>>2]=M;c=M}l=(a[m>>1]|0)+b&65535;r[m>>1]=l;i=e+2400|0}r[i>>1]=l;i=s[e+2384>>2]|0;d=s[_>>2]|0;l=s[k>>2]|0;h=d>>>8;b=-1;while(1){b=b+1|0;c=te(h,o[i+b>>0]|0)|0;if(l>>>0>=c>>>0)break;else d=c}M=l-c|0;s[k>>2]=M;i=d-c|0;s[_>>2]=i;c=M;while(1){if(i>>>0>=8388609)break;s[R>>2]=(s[R>>2]|0)+8;i=i<<8;s[_>>2]=i;h=s[p>>2]|0;l=s[v>>2]|0;if(l>>>0<(s[w>>2]|0)>>>0){s[v>>2]=l+1;l=o[(s[S>>2]|0)+l>>0]|0}else l=0;s[p>>2]=l;M=((h<<8|l)>>>1&255|c<<8&2147483392)^255;s[k>>2]=M;c=M}n[e+2764>>0]=b;c=s[_>>2]|0;i=s[k>>2]|0;l=c>>>8;d=-1;while(1){d=d+1|0;h=te(l,o[29437+d>>0]|0)|0;if(i>>>0>=h>>>0)break;else c=h}M=i-h|0;s[k>>2]=M;i=c-h|0;s[_>>2]=i;c=M;while(1){if(i>>>0>=8388609)break;s[R>>2]=(s[R>>2]|0)+8;i=i<<8;s[_>>2]=i;h=s[p>>2]|0;l=s[v>>2]|0;if(l>>>0<(s[w>>2]|0)>>>0){s[v>>2]=l+1;l=o[(s[S>>2]|0)+l>>0]|0}else l=0;s[p>>2]=l;M=((h<<8|l)>>>1&255|c<<8&2147483392)^255;s[k>>2]=M;c=M}g=e+2768|0;n[g>>0]=d;b=0;while(1){if((b|0)>=(s[A>>2]|0))break;i=s[17376+(n[g>>0]<<2)>>2]|0;d=s[_>>2]|0;l=s[k>>2]|0;h=d>>>8;m=-1;while(1){m=m+1|0;c=te(h,o[i+m>>0]|0)|0;if(l>>>0>=c>>>0)break;else d=c}M=l-c|0;s[k>>2]=M;i=d-c|0;s[_>>2]=i;c=M;while(1){if(i>>>0>=8388609)break;s[R>>2]=(s[R>>2]|0)+8;i=i<<8;s[_>>2]=i;h=s[p>>2]|0;l=s[v>>2]|0;if(l>>>0<(s[w>>2]|0)>>>0){s[v>>2]=l+1;l=o[(s[S>>2]|0)+l>>0]|0}else l=0;s[p>>2]=l;M=((h<<8|l)>>>1&255|c<<8&2147483392)^255;s[k>>2]=M;c=M}n[e+2740+b>>0]=m;b=b+1|0}if(f|0){n[e+2769>>0]=0;break}c=s[_>>2]|0;i=s[k>>2]|0;l=c>>>8;d=-1;while(1){d=d+1|0;h=te(l,o[29930+d>>0]|0)|0;if(i>>>0>=h>>>0)break;else c=h}f=i-h|0;s[k>>2]=f;i=c-h|0;s[_>>2]=i;c=f;while(1){if(i>>>0>=8388609)break;s[R>>2]=(s[R>>2]|0)+8;i=i<<8;s[_>>2]=i;h=s[p>>2]|0;l=s[v>>2]|0;if(l>>>0<(s[w>>2]|0)>>>0){s[v>>2]=l+1;l=o[(s[S>>2]|0)+l>>0]|0}else l=0;s[p>>2]=l;f=((h<<8|l)>>>1&255|c<<8&2147483392)^255;s[k>>2]=f;c=f}n[e+2769>>0]=d}while(0);s[e+2396>>2]=n[C>>0];c=s[_>>2]|0;i=s[k>>2]|0;l=c>>>8;d=-1;while(1){d=d+1|0;h=te(l,o[29947+d>>0]|0)|0;if(i>>>0>=h>>>0)break;else c=h}f=i-h|0;s[k>>2]=f;i=c-h|0;s[_>>2]=i;c=f;while(1){if(i>>>0>=8388609)break;s[R>>2]=(s[R>>2]|0)+8;i=i<<8;s[_>>2]=i;h=s[p>>2]|0;l=s[v>>2]|0;if(l>>>0<(s[w>>2]|0)>>>0){s[v>>2]=l+1;l=o[(s[S>>2]|0)+l>>0]|0}else l=0;s[p>>2]=l;f=((h<<8|l)>>>1&255|c<<8&2147483392)^255;s[k>>2]=f;c=f}n[e+2770>>0]=d;u=P;return}function bn(e,t,i,a,l){e=e|0;t=t|0;i=i|0;a=a|0;l=l|0;var f=0,h=0,c=0,d=0,p=0,b=0,w=0,m=0,g=0,_=0,v=0,k=0,y=0,E=0,A=0,T=0,S=0,M=0,R=0,C=0,P=0,x=0,I=0,O=0,N=0,D=0;D=u;u=u+176|0;O=D+160|0;N=D+80|0;S=D;f=i>>1;x=e+28|0;p=s[x>>2]|0;I=e+32|0;c=s[I>>2]|0;d=p>>>8;v=-1;while(1){v=v+1|0;h=te(d,o[30432+(f*9|0)+v>>0]|0)|0;if(c>>>0>=h>>>0)break;else p=h}d=c-h|0;s[I>>2]=d;f=p-h|0;s[x>>2]=f;M=e+20|0;R=e+40|0;C=e+24|0;P=e+4|0;while(1){if(f>>>0>=8388609)break;s[M>>2]=(s[M>>2]|0)+8;f=f<<8;s[x>>2]=f;c=s[R>>2]|0;h=s[C>>2]|0;if(h>>>0<(s[P>>2]|0)>>>0){s[C>>2]=h+1;h=o[(s[e>>2]|0)+h>>0]|0}else h=0;s[R>>2]=h;T=((c<<8|h)>>>1&255|d<<8&2147483392)^255;s[I>>2]=T;d=T}T=l>>4;T=T+((T<<4|0)<(l|0)&1)|0;_=0;while(1){if((_|0)>=(T|0)){E=0;break}g=S+(_<<2)|0;s[g>>2]=0;c=f>>>8;p=-1;while(1){p=p+1|0;h=te(c,o[30090+(v*18|0)+p>>0]|0)|0;if(d>>>0>=h>>>0)break;else f=h}d=d-h|0;s[I>>2]=d;f=f-h|0;s[x>>2]=f;while(1){if(f>>>0>=8388609)break;s[M>>2]=(s[M>>2]|0)+8;f=f<<8;s[x>>2]=f;c=s[R>>2]|0;h=s[C>>2]|0;if(h>>>0<(s[P>>2]|0)>>>0){s[C>>2]=h+1;h=o[(s[e>>2]|0)+h>>0]|0}else h=0;s[R>>2]=h;E=((c<<8|h)>>>1&255|d<<8&2147483392)^255;s[I>>2]=E;d=E}m=N+(_<<2)|0;c=0;h=p;e:while(1){s[m>>2]=h;if((h|0)!=17)break;w=c+1|0;s[g>>2]=w;p=30252+((w|0)==10&1)|0;b=f>>>8;h=-1;while(1){h=h+1|0;c=te(b,o[p+h>>0]|0)|0;if(d>>>0>=c>>>0)break;else f=c}d=d-c|0;s[I>>2]=d;f=f-c|0;s[x>>2]=f;while(1){if(f>>>0>=8388609){c=w;continue e}s[M>>2]=(s[M>>2]|0)+8;f=f<<8;s[x>>2]=f;p=s[R>>2]|0;c=s[C>>2]|0;if(c>>>0<(s[P>>2]|0)>>>0){s[C>>2]=c+1;c=o[(s[e>>2]|0)+c>>0]|0}else c=0;s[R>>2]=c;E=((p<<8|c)>>>1&255|d<<8&2147483392)^255;s[I>>2]=E;d=E}}_=_+1|0}while(1){if((E|0)>=(T|0)){g=0;break}w=s[N+(E<<2)>>2]|0;f=t+(E<<16>>12<<1)|0;if((w|0)>0){h=30924+(o[31076+w>>0]|0)|0;b=s[x>>2]|0;c=s[I>>2]|0;d=b>>>8;g=-1;while(1){g=g+1|0;p=te(d,o[h+g>>0]|0)|0;if(c>>>0>=p>>>0)break;else b=p}y=c-p|0;s[I>>2]=y;h=b-p|0;s[x>>2]=h;p=y;while(1){if(h>>>0>=8388609)break;s[M>>2]=(s[M>>2]|0)+8;h=h<<8;s[x>>2]=h;d=s[R>>2]|0;c=s[C>>2]|0;if(c>>>0<(s[P>>2]|0)>>>0){s[C>>2]=c+1;c=o[(s[e>>2]|0)+c>>0]|0}else c=0;s[R>>2]=c;y=((d<<8|c)>>>1&255|p<<8&2147483392)^255;s[I>>2]=y;p=y}k=w-g|0;y=k&65535;m=g<<16>>16;if((g&65535)<<16>>16>0){h=30772+(o[31076+m>>0]|0)|0;b=s[x>>2]|0;c=s[I>>2]|0;d=b>>>8;w=-1;while(1){w=w+1|0;p=te(d,o[h+w>>0]|0)|0;if(c>>>0>=p>>>0)break;else b=p}v=c-p|0;s[I>>2]=v;h=b-p|0;s[x>>2]=h;p=v;while(1){if(h>>>0>=8388609)break;s[M>>2]=(s[M>>2]|0)+8;h=h<<8;s[x>>2]=h;d=s[R>>2]|0;c=s[C>>2]|0;if(c>>>0<(s[P>>2]|0)>>>0){s[C>>2]=c+1;c=o[(s[e>>2]|0)+c>>0]|0}else c=0;s[R>>2]=c;v=((d<<8|c)>>>1&255|p<<8&2147483392)^255;s[I>>2]=v;p=v}v=w&65535;h=m-w&65535;m=v<<16>>16;if(v<<16>>16>0){c=30620+(o[31076+m>>0]|0)|0;w=s[x>>2]|0;d=s[I>>2]|0;p=w>>>8;g=-1;while(1){g=g+1|0;b=te(p,o[c+g>>0]|0)|0;if(d>>>0>=b>>>0)break;else w=b}v=d-b|0;s[I>>2]=v;c=w-b|0;s[x>>2]=c;b=v;while(1){if(c>>>0>=8388609)break;s[M>>2]=(s[M>>2]|0)+8;c=c<<8;s[x>>2]=c;p=s[R>>2]|0;d=s[C>>2]|0;if(d>>>0<(s[P>>2]|0)>>>0){s[C>>2]=d+1;d=o[(s[e>>2]|0)+d>>0]|0}else d=0;s[R>>2]=d;v=((p<<8|d)>>>1&255|b<<8&2147483392)^255;s[I>>2]=v;b=v}_=g&65535;v=m-g&65535;c=f+2|0;g=_<<16>>16;if(_<<16>>16>0){d=30468+(o[31076+g>>0]|0)|0;m=s[x>>2]|0;p=s[I>>2]|0;b=m>>>8;_=-1;while(1){_=_+1|0;w=te(b,o[d+_>>0]|0)|0;if(p>>>0>=w>>>0)break;else m=w}b=p-w|0;s[I>>2]=b;d=m-w|0;s[x>>2]=d;w=b;while(1){if(d>>>0>=8388609)break;s[M>>2]=(s[M>>2]|0)+8;d=d<<8;s[x>>2]=d;b=s[R>>2]|0;p=s[C>>2]|0;if(p>>>0<(s[P>>2]|0)>>>0){s[C>>2]=p+1;p=o[(s[e>>2]|0)+p>>0]|0}else p=0;s[R>>2]=p;m=((b<<8|p)>>>1&255|w<<8&2147483392)^255;s[I>>2]=m;w=m}r[f>>1]=_;p=g-_&65535;d=v;v=h}else{d=v;A=62}}else A=52}else{h=0;A=52}if((A|0)==52){c=f+2|0;d=0;A=62}if((A|0)==62){A=0;r[f>>1]=0;p=0;v=h}r[c>>1]=p;m=f+4|0;_=f+6|0;g=d<<16>>16;if(d<<16>>16>0){h=30468+(o[31076+g>>0]|0)|0;b=s[x>>2]|0;c=s[I>>2]|0;d=b>>>8;w=-1;while(1){w=w+1|0;p=te(d,o[h+w>>0]|0)|0;if(c>>>0>=p>>>0)break;else b=p}d=c-p|0;s[I>>2]=d;h=b-p|0;s[x>>2]=h;p=d;while(1){if(h>>>0>=8388609)break;s[M>>2]=(s[M>>2]|0)+8;h=h<<8;s[x>>2]=h;d=s[R>>2]|0;c=s[C>>2]|0;if(c>>>0<(s[P>>2]|0)>>>0){s[C>>2]=c+1;c=o[(s[e>>2]|0)+c>>0]|0}else c=0;s[R>>2]=c;b=((d<<8|c)>>>1&255|p<<8&2147483392)^255;s[I>>2]=b;p=b}r[m>>1]=w;h=g-w&65535}else{r[m>>1]=0;h=0}r[_>>1]=h;m=v<<16>>16;if(v<<16>>16>0){h=30620+(o[31076+m>>0]|0)|0;b=s[x>>2]|0;c=s[I>>2]|0;d=b>>>8;w=-1;while(1){w=w+1|0;p=te(d,o[h+w>>0]|0)|0;if(c>>>0>=p>>>0)break;else b=p}v=c-p|0;s[I>>2]=v;h=b-p|0;s[x>>2]=h;p=v;while(1){if(h>>>0>=8388609)break;s[M>>2]=(s[M>>2]|0)+8;h=h<<8;s[x>>2]=h;d=s[R>>2]|0;c=s[C>>2]|0;if(c>>>0<(s[P>>2]|0)>>>0){s[C>>2]=c+1;c=o[(s[e>>2]|0)+c>>0]|0}else c=0;s[R>>2]=c;v=((d<<8|c)>>>1&255|p<<8&2147483392)^255;s[I>>2]=v;p=v}v=w&65535;d=m-w&65535;c=f+8|0;h=f+10|0;_=v<<16>>16;if(v<<16>>16>0){p=30468+(o[31076+_>>0]|0)|0;g=s[x>>2]|0;b=s[I>>2]|0;w=g>>>8;v=-1;while(1){v=v+1|0;m=te(w,o[p+v>>0]|0)|0;if(b>>>0>=m>>>0)break;else g=m}w=b-m|0;s[I>>2]=w;p=g-m|0;s[x>>2]=p;m=w;while(1){if(p>>>0>=8388609)break;s[M>>2]=(s[M>>2]|0)+8;p=p<<8;s[x>>2]=p;w=s[R>>2]|0;b=s[C>>2]|0;if(b>>>0<(s[P>>2]|0)>>>0){s[C>>2]=b+1;b=o[(s[e>>2]|0)+b>>0]|0}else b=0;s[R>>2]=b;g=((w<<8|b)>>>1&255|m<<8&2147483392)^255;s[I>>2]=g;m=g}r[c>>1]=v;c=_-v&65535}else A=91}else{c=f+8|0;h=f+10|0;d=0;A=91}if((A|0)==91){A=0;r[c>>1]=0;c=0}r[h>>1]=c;m=f+12|0;_=f+14|0;g=d<<16>>16;if(d<<16>>16>0){h=30468+(o[31076+g>>0]|0)|0;b=s[x>>2]|0;c=s[I>>2]|0;d=b>>>8;w=-1;while(1){w=w+1|0;p=te(d,o[h+w>>0]|0)|0;if(c>>>0>=p>>>0)break;else b=p}v=c-p|0;s[I>>2]=v;h=b-p|0;s[x>>2]=h;p=v;while(1){if(h>>>0>=8388609)break;s[M>>2]=(s[M>>2]|0)+8;h=h<<8;s[x>>2]=h;d=s[R>>2]|0;c=s[C>>2]|0;if(c>>>0<(s[P>>2]|0)>>>0){s[C>>2]=c+1;c=o[(s[e>>2]|0)+c>>0]|0}else c=0;s[R>>2]=c;v=((d<<8|c)>>>1&255|p<<8&2147483392)^255;s[I>>2]=v;p=v}r[m>>1]=w;h=g-w&65535}else{r[m>>1]=0;h=0}r[_>>1]=h;m=k<<16>>16;if(y<<16>>16>0){h=30772+(o[31076+m>>0]|0)|0;b=s[x>>2]|0;c=s[I>>2]|0;d=b>>>8;w=-1;while(1){w=w+1|0;p=te(d,o[h+w>>0]|0)|0;if(c>>>0>=p>>>0)break;else b=p}y=c-p|0;s[I>>2]=y;h=b-p|0;s[x>>2]=h;p=y;while(1){if(h>>>0>=8388609)break;s[M>>2]=(s[M>>2]|0)+8;h=h<<8;s[x>>2]=h;d=s[R>>2]|0;c=s[C>>2]|0;if(c>>>0<(s[P>>2]|0)>>>0){s[C>>2]=c+1;c=o[(s[e>>2]|0)+c>>0]|0}else c=0;s[R>>2]=c;y=((d<<8|c)>>>1&255|p<<8&2147483392)^255;s[I>>2]=y;p=y}y=w&65535;h=m-w&65535;m=y<<16>>16;if(y<<16>>16>0){c=30620+(o[31076+m>>0]|0)|0;w=s[x>>2]|0;d=s[I>>2]|0;p=w>>>8;g=-1;while(1){g=g+1|0;b=te(p,o[c+g>>0]|0)|0;if(d>>>0>=b>>>0)break;else w=b}y=d-b|0;s[I>>2]=y;c=w-b|0;s[x>>2]=c;b=y;while(1){if(c>>>0>=8388609)break;s[M>>2]=(s[M>>2]|0)+8;c=c<<8;s[x>>2]=c;p=s[R>>2]|0;d=s[C>>2]|0;if(d>>>0<(s[P>>2]|0)>>>0){s[C>>2]=d+1;d=o[(s[e>>2]|0)+d>>0]|0}else d=0;s[R>>2]=d;y=((p<<8|d)>>>1&255|b<<8&2147483392)^255;s[I>>2]=y;b=y}y=g&65535;p=m-g&65535;_=f+16|0;c=f+18|0;v=y<<16>>16;if(y<<16>>16>0){d=30468+(o[31076+v>>0]|0)|0;g=s[x>>2]|0;b=s[I>>2]|0;w=g>>>8;k=-1;while(1){k=k+1|0;m=te(w,o[d+k>>0]|0)|0;if(b>>>0>=m>>>0)break;else g=m}y=b-m|0;s[I>>2]=y;d=g-m|0;s[x>>2]=d;m=y;while(1){if(d>>>0>=8388609)break;s[M>>2]=(s[M>>2]|0)+8;d=d<<8;s[x>>2]=d;w=s[R>>2]|0;b=s[C>>2]|0;if(b>>>0<(s[P>>2]|0)>>>0){s[C>>2]=b+1;b=o[(s[e>>2]|0)+b>>0]|0}else b=0;s[R>>2]=b;y=((w<<8|b)>>>1&255|m<<8&2147483392)^255;s[I>>2]=y;m=y}r[_>>1]=k;d=v-k&65535;v=h}else{d=_;A=128}}else A=118}else{h=0;A=118}if((A|0)==118){d=f+16|0;c=f+18|0;p=0;A=128}if((A|0)==128){A=0;r[d>>1]=0;d=0;v=h}r[c>>1]=d;m=f+20|0;_=f+22|0;g=p<<16>>16;if(p<<16>>16>0){h=30468+(o[31076+g>>0]|0)|0;b=s[x>>2]|0;c=s[I>>2]|0;d=b>>>8;w=-1;while(1){w=w+1|0;p=te(d,o[h+w>>0]|0)|0;if(c>>>0>=p>>>0)break;else b=p}y=c-p|0;s[I>>2]=y;h=b-p|0;s[x>>2]=h;p=y;while(1){if(h>>>0>=8388609)break;s[M>>2]=(s[M>>2]|0)+8;h=h<<8;s[x>>2]=h;d=s[R>>2]|0;c=s[C>>2]|0;if(c>>>0<(s[P>>2]|0)>>>0){s[C>>2]=c+1;c=o[(s[e>>2]|0)+c>>0]|0}else c=0;s[R>>2]=c;y=((d<<8|c)>>>1&255|p<<8&2147483392)^255;s[I>>2]=y;p=y}r[m>>1]=w;h=g-w&65535}else{r[m>>1]=0;h=0}r[_>>1]=h;m=v<<16>>16;if(v<<16>>16>0){h=30620+(o[31076+m>>0]|0)|0;b=s[x>>2]|0;c=s[I>>2]|0;d=b>>>8;w=-1;while(1){w=w+1|0;p=te(d,o[h+w>>0]|0)|0;if(c>>>0>=p>>>0)break;else b=p}y=c-p|0;s[I>>2]=y;h=b-p|0;s[x>>2]=h;p=y;while(1){if(h>>>0>=8388609)break;s[M>>2]=(s[M>>2]|0)+8;h=h<<8;s[x>>2]=h;d=s[R>>2]|0;c=s[C>>2]|0;if(c>>>0<(s[P>>2]|0)>>>0){s[C>>2]=c+1;c=o[(s[e>>2]|0)+c>>0]|0}else c=0;s[R>>2]=c;y=((d<<8|c)>>>1&255|p<<8&2147483392)^255;s[I>>2]=y;p=y}y=w&65535;d=m-w&65535;c=f+24|0;h=f+26|0;_=y<<16>>16;if(y<<16>>16>0){p=30468+(o[31076+_>>0]|0)|0;g=s[x>>2]|0;b=s[I>>2]|0;w=g>>>8;v=-1;while(1){v=v+1|0;m=te(w,o[p+v>>0]|0)|0;if(b>>>0>=m>>>0)break;else g=m}y=b-m|0;s[I>>2]=y;p=g-m|0;s[x>>2]=p;m=y;while(1){if(p>>>0>=8388609)break;s[M>>2]=(s[M>>2]|0)+8;p=p<<8;s[x>>2]=p;w=s[R>>2]|0;b=s[C>>2]|0;if(b>>>0<(s[P>>2]|0)>>>0){s[C>>2]=b+1;b=o[(s[e>>2]|0)+b>>0]|0}else b=0;s[R>>2]=b;y=((w<<8|b)>>>1&255|m<<8&2147483392)^255;s[I>>2]=y;m=y}r[c>>1]=v;c=_-v&65535}else A=157}else{c=f+24|0;h=f+26|0;d=0;A=157}if((A|0)==157){A=0;r[c>>1]=0;c=0}r[h>>1]=c;m=f+28|0;g=f+30|0;w=d<<16>>16;if(d<<16>>16>0){f=30468+(o[31076+w>>0]|0)|0;p=s[x>>2]|0;h=s[I>>2]|0;c=p>>>8;b=-1;while(1){b=b+1|0;d=te(c,o[f+b>>0]|0)|0;if(h>>>0>=d>>>0)break;else p=d}y=h-d|0;s[I>>2]=y;f=p-d|0;s[x>>2]=f;d=y;while(1){if(f>>>0>=8388609)break;s[M>>2]=(s[M>>2]|0)+8;f=f<<8;s[x>>2]=f;c=s[R>>2]|0;h=s[C>>2]|0;if(h>>>0<(s[P>>2]|0)>>>0){s[C>>2]=h+1;h=o[(s[e>>2]|0)+h>>0]|0}else h=0;s[R>>2]=h;y=((c<<8|h)>>>1&255|d<<8&2147483392)^255;s[I>>2]=y;d=y}r[m>>1]=b;f=w-b&65535}else{r[m>>1]=0;f=0}r[g>>1]=f}else{h=f+32|0;do{r[f>>1]=0;f=f+2|0}while((f|0)<(h|0))}E=E+1|0}while(1){if((g|0)>=(T|0))break;p=s[S+(g<<2)>>2]|0;if((p|0)>0){b=t+(g<<16>>12<<1)|0;v=0;while(1){if((v|0)==16)break;w=b+(v<<1)|0;m=r[w>>1]|0;_=0;while(1){if((_|0)==(p|0))break;d=s[x>>2]|0;f=s[I>>2]|0;h=d>>>8;k=-1;while(1){k=k+1|0;c=te(h,o[29928+k>>0]|0)|0;if(f>>>0>=c>>>0)break;else d=c}A=f-c|0;s[I>>2]=A;f=d-c|0;s[x>>2]=f;d=A;while(1){if(f>>>0>=8388609)break;s[M>>2]=(s[M>>2]|0)+8;f=f<<8;s[x>>2]=f;c=s[R>>2]|0;h=s[C>>2]|0;if(h>>>0<(s[P>>2]|0)>>>0){s[C>>2]=h+1;h=o[(s[e>>2]|0)+h>>0]|0}else h=0;s[R>>2]=h;A=((c<<8|h)>>>1&255|d<<8&2147483392)^255;s[I>>2]=A;d=A}m=(m<<1)+k|0;_=_+1|0}r[w>>1]=m;v=v+1|0}A=N+(g<<2)|0;s[A>>2]=s[A>>2]|p<<5}g=g+1|0}n[O+1>>0]=0;_=31093+(((i<<1)+a<<16>>16)*7|0)|0;m=l+8>>4;g=0;while(1){if((g|0)>=(m|0))break;f=s[N+(g<<2)>>2]|0;e:do if((f|0)>0){n[O>>0]=n[_+((f&30)>>>0<6?f&31:6)>>0]|0;b=0;while(1){if((b|0)==16)break e;p=t+(b<<1)|0;if((r[p>>1]|0)>0){d=s[x>>2]|0;f=s[I>>2]|0;h=d>>>8;w=-1;while(1){w=w+1|0;c=te(h,o[O+w>>0]|0)|0;if(f>>>0>=c>>>0)break;else d=c}l=f-c|0;s[I>>2]=l;f=d-c|0;s[x>>2]=f;d=l;while(1){if(f>>>0>=8388609)break;s[M>>2]=(s[M>>2]|0)+8;f=f<<8;s[x>>2]=f;c=s[R>>2]|0;h=s[C>>2]|0;if(h>>>0<(s[P>>2]|0)>>>0){s[C>>2]=h+1;h=o[(s[e>>2]|0)+h>>0]|0}else h=0;s[R>>2]=h;l=((c<<8|h)>>>1&255|d<<8&2147483392)^255;s[I>>2]=l;d=l}r[p>>1]=te(r[p>>1]|0,(w<<1)+-1|0)|0}b=b+1|0}}while(0);g=g+1|0;t=t+32|0}u=D;return}function wn(e,t,i,r,a){e=e|0;t=t|0;i=i|0;r=r|0;a=a|0;var l=0,f=0,h=0,u=0,c=0,d=0;d=0;while(1){if((d|0)>=(a|0))break;c=t+(d<<2)|0;l=s[c>>2]|0;u=ne(l|0)|0;f=24-u|0;h=0-f|0;do if(f)if((f|0)<0){l=l<<h|l>>>(f+32|0);break}else{l=l<<32-f|l>>>f;break}while(0);h=l&127;h=(((h+(((te(h,128-h|0)|0)*179|0)>>>16)+(31-u<<7)<<16)+-136970240>>16)*2251|0)>>>16;l=h&255;u=e+d|0;n[u>>0]=l;if((h<<24>>24|0)<(n[i>>0]|0)){l=l+1<<24>>24;n[u>>0]=l}if(l<<24>>24>63)l=63;else l=(l<<24>>24>0?l:0)<<24>>24;n[u>>0]=l;if(!(d|r)){l=(n[i>>0]|0)+-4|0;f=n[e>>0]|0;if((l|0)>63){if((f<<24>>24|0)<=(l|0))l=(f<<24>>24>63?f:63)<<24>>24}else if(f<<24>>24>63)l=63;else{u=f<<24>>24;l=(u|0)<(l|0)?l:u}l=l&255;n[e>>0]=l;n[i>>0]=l}else{f=(l&255)-(o[i>>0]|0)|0;l=f&255;n[u>>0]=l;h=(n[i>>0]|0)+8|0;f=f<<24>>24;if((f|0)>(h|0)){l=h+((f-h+1|0)>>>1)&255;n[u>>0]=l}if(l<<24>>24>36)l=36;else l=(l<<24>>24>-4?l:-4)<<24>>24;n[u>>0]=l;if((l|0)>(h|0))l=(n[i>>0]|0)+((l<<1)-h)|0;else l=(o[i>>0]|0)+(l&255)|0;n[i>>0]=l;n[u>>0]=(o[u>>0]|0)+4;l=n[i>>0]|0}l=l<<24>>24;l=(l*29|0)+(l*7281>>16)|0;h=l+2090|0;if((h|0)<3967)if((l|0)<-2090)l=0;else{l=h>>7;u=1<<l;f=h&127;if((h|0)<2048)l=f+((te(te(f,128-f|0)|0,-174)|0)>>16)<<l>>7;else l=te(u>>7,f+((te(te(f,128-f|0)|0,-174)|0)>>16)|0)|0;l=u+l|0}else l=2147483647;s[c>>2]=l;d=d+1|0}return}function mn(e,t,i,r,o){e=e|0;t=t|0;i=i|0;r=r|0;o=o|0;var a=0,l=0,f=0,h=0,u=0;u=0;while(1){if((u|0)>=(o|0))break;do if(u|r){a=(n[t+u>>0]|0)+-4|0;l=n[i>>0]|0;f=l<<24>>24;h=f+8|0;if((a|0)>(h|0)){l=f+((a<<1)-h)|0;break}else{l=(l&255)+a|0;break}}else{h=n[t>>0]|0;l=(n[i>>0]|0)+-16|0;l=(h|0)>(l|0)?h:l}while(0);a=l&255;n[i>>0]=a;if(a<<24>>24<=63)if(a<<24>>24<0)a=0;else a=l<<24>>24;else a=63;n[i>>0]=a;a=(a*29|0)+(a*7281>>16)|0;f=a+2090|0;if((f|0)<3967)if((a|0)<-2090)a=0;else{a=f>>7;h=1<<a;l=f&127;if((f|0)<2048)a=l+((te(te(l,128-l|0)|0,-174)|0)>>16)<<a>>7;else a=te(h>>7,l+((te(te(l,128-l|0)|0,-174)|0)>>16)|0)|0;a=h+a|0}else a=2147483647;s[e+(u<<2)>>2]=a;u=u+1|0}return}function gn(e,t,i){e=e|0;t=t|0;i=i|0;var a=0,l=0,f=0,h=0,c=0,d=0,p=0,b=0,w=0,m=0,g=0,_=0;_=u;u=u+80|0;w=_+64|0;g=_;Ui(_+32|0,w,i,n[t>>0]|0);c=t+1|0;d=r[i+4>>1]|0;m=i+2|0;a=r[m>>1]|0;p=a<<16>>16;l=p;f=0;while(1){b=l+-1|0;if((l|0)<=0)break;h=(te(f<<16>>16,o[w+b>>0]|0)|0)>>8;l=n[c+b>>0]|0;f=l<<24>>24<<10;if(l<<24>>24>0)l=f+-102|0;else l=l<<24>>24<0?f|102:f;f=h+((te(l>>16,d)|0)+((te(l&65535,d)|0)>>16))|0;r[g+(b<<1)>>1]=f;l=b}h=te(n[t>>0]|0,p)|0;f=(s[i+8>>2]|0)+h|0;h=(s[i+12>>2]|0)+(h<<1)|0;l=0;while(1){a=a<<16>>16;if((l|0)>=(a|0))break;a=((r[g+(l<<1)>>1]<<14|0)/(r[h+(l<<1)>>1]|0)|0)+(o[f+l>>0]<<7)|0;r[e+(l<<1)>>1]=(a|0)>32767?32767:((a|0)<0?0:a)&65535;a=r[m>>1]|0;l=l+1|0}xn(e,s[i+36>>2]|0,a);u=_;return}function _n(e,t,i,o,a,l,f,h,c,d,p,b,w,m,g){e=e|0;t=t|0;i=i|0;o=o|0;a=a|0;l=l|0;f=f|0;h=h|0;c=c|0;d=d|0;p=p|0;b=b|0;w=w|0;m=m|0;g=g|0;var _=0,v=0,k=0,y=0,E=0,A=0,T=0,S=0,M=0,R=0,C=0,P=0,I=0,O=0,N=0,D=0,L=0,U=0,B=0,j=0,F=0,G=0,H=0,z=0,q=0,W=0,V=0,Y=0,Z=0,$=0,K=0,X=0,J=0,Q=0,ee=0,ie=0,re=0,se=0,oe=0,ae=0,le=0,fe=0,he=0,ue=0,ce=0,de=0,pe=0,be=0,we=0,me=0,ge=0,_e=0,ve=0,ke=0,ye=0,Ee=0,Ae=0,Te=0,Se=0,Me=0,Re=0,Ce=0,Pe=0,xe=0,Ie=0,Oe=0,Ne=0,De=0,Le=0,Ue=0,Be=0,je=0,Fe=0,Ge=0,He=0,ze=0,qe=0,We=0,Ve=0,Ye=0,Ze=0,$e=0,Ke=0,Xe=0,Je=0,Qe=0,et=0,tt=0;et=u;Xe=t+4436|0;s[Xe>>2]=n[i+34>>0];Je=t+4424|0;ge=s[Je>>2]|0;Ze=r[i+30>>1]|0;De=i+29|0;Le=r[25404+(n[De>>0]>>1<<2)+((Ze&65535)<<24>>24<<1)>>1]|0;Ze=(Ze&-256)<<16>>16!=1024&1;Ue=e+4684|0;me=s[Ue>>2]|0;Be=e+4676|0;Ge=me+(s[Be>>2]|0)|0;je=u;u=u+((1*(Ge<<2)|0)+15&-16)|0;Fe=u;u=u+((1*(Ge<<1)|0)+15&-16)|0;Ge=e+4680|0;He=u;u=u+((1*(s[Ge>>2]<<2)|0)+15&-16)|0;ze=t+4432|0;s[ze>>2]=me;
me=s[Ue>>2]|0;qe=t+4428|0;s[qe>>2]=me;We=e+4672|0;Ve=Ze^1;Ye=t+4444|0;Ze=Ze<<1^3;$e=e+4732|0;Ke=t+4440|0;Me=e+4728|0;Re=t+3996|0;Ce=t+4420|0;Pe=t+4320|0;xe=t+4416|0;Ie=(m|0)>2048;Ne=(m|0)/2|0;Oe=Ne+-512|0;Ne=512-Ne|0;ve=m<<16>>16;ke=Le+944|0;ye=te(Le,ve)|0;Ee=te(ke<<16>>16,ve)|0;Ae=Le+-944|0;Te=te(944-Le<<16>>16,ve)|0;Se=t+3840|0;_e=g<<16>>16;e=me;me=0;m=ge;ge=t+(s[Ue>>2]<<1)|0;while(1){i=s[We>>2]|0;if((me|0)>=(i|0))break;pe=l+((me>>1|Ve)<<4<<1)|0;be=f+(me*5<<1)|0;we=h+(me*24<<1)|0;R=s[c+(me<<2)>>2]|0;M=R>>2;R=M|R<<15;s[Ye>>2]=0;i=n[De>>0]|0;g=w+(me<<2)|0;if(i<<24>>24==2){i=s[g>>2]|0;if(!(me&Ze)){T=s[Ue>>2]|0;e=s[$e>>2]|0;y=T-i-e+-2|0;Rn(Fe+(y<<1)|0,t+(y+(te(me,s[Ge>>2]|0)|0)<<1)|0,pe,T-y|0,e);s[Ye>>2]=1;e=s[Ue>>2]|0;s[qe>>2]=e;y=1;T=n[De>>0]|0;m=i}else{y=0;T=2;m=i}}else{y=0;T=i}A=s[g>>2]|0;S=b+(me<<2)|0;E=s[S>>2]|0;g=(E|0)>1;i=ne((g?E:1)|0)|0;g=(g?E:1)<<i+-1;ue=g>>16;v=536870911/(ue|0)|0;ce=v<<16;de=ce>>16;g=536870912-((te(ue,de)|0)+((te(g&65535,de)|0)>>16))<<3;v=ce+((te(g>>16,de)|0)+((te(g&65528,de)|0)>>16))+(te(g,(v>>15)+1>>1)|0)|0;i=62-i|0;g=i+-47|0;if((g|0)<1){_=47-i|0;i=-2147483648>>_;g=2147483647>>>_;if((i|0)>(g|0)){if((v|0)<=(i|0))i=(v|0)<(g|0)?g:v}else if((v|0)>(g|0))i=g;else i=(v|0)<(i|0)?i:v;i=i<<_}else i=(g|0)<32?v>>g:0;_=(i>>4)+1|0;g=_>>>1<<16>>16;_=(_>>16)+1>>1;k=s[Ge>>2]|0;v=0;while(1){if((v|0)>=(k|0))break;ce=r[o+(v<<1)>>1]|0;de=ce<<16>>16;s[He+(v<<2)>>2]=(te(de>>16,g)|0)+((te(ce&65535,g)|0)>>16)+(te(de,_)|0);v=v+1|0}e:do if(y|0){if(!me)i=(te(i>>16,_e)|0)+((te(i&65535,_e)|0)>>16)<<2;_=i>>16;i=i&65535;g=e-A+-2|0;while(1){if((g|0)>=(e|0))break e;de=r[Fe+(g<<1)>>1]|0;s[je+(g<<2)>>2]=(te(_,de)|0)+((te(i,de)|0)>>16);g=g+1|0}}while(0);g=s[Ke>>2]|0;if((E|0)==(g|0))i=T;else{if((g|0)<=0)if(!g)_=32;else{i=0-g|0;Qe=26}else{i=g;Qe=26}if((Qe|0)==26){Qe=0;_=ne(i|0)|0}e=g<<_+-1;if((E|0)<=0)if(!E)i=32;else{i=0-E|0;Qe=29}else{i=E;Qe=29}if((Qe|0)==29){Qe=0;i=ne(i|0)|0}i=i+-1|0;ce=E<<i;v=(536870911/(ce>>16|0)|0)<<16>>16;de=(te(e>>16,v)|0)+((te(e&65535,v)|0)>>16)|0;ce=Nr(ce|0,((ce|0)<0)<<31>>31|0,de|0,((de|0)<0)<<31>>31|0)|0;ce=Tr(ce|0,x|0,29)|0;e=e-(ce&-8)|0;v=de+((te(e>>16,v)|0)+((te(e&65535,v)|0)>>16))|0;i=_+28-i|0;e=i+-16|0;if((i|0)<16){g=16-i|0;i=-2147483648>>g;e=2147483647>>>g;if((i|0)>(e|0)){if((v|0)<=(i|0))i=(v|0)<(e|0)?e:v}else if((v|0)>(e|0))i=e;else i=(v|0)<(i|0)?i:v;g=i<<g}else g=(e|0)<32?v>>e:0;e=s[ze>>2]|0;_=g>>16;v=g&65535;i=e;e=e-(s[Ue>>2]|0)|0;while(1){if((e|0)>=(i|0))break;i=t+1280+(e<<2)|0;de=s[i>>2]|0;ce=de<<16>>16;s[i>>2]=(te(_,ce)|0)+((te(v,ce)|0)>>16)+(te(g,(de>>15)+1>>1)|0);i=s[ze>>2]|0;e=e+1|0}e:do if(T<<24>>24==2?(s[Ye>>2]|0)==0:0){e=s[qe>>2]|0;i=e-A+-2|0;while(1){if((i|0)>=(e|0))break e;de=je+(i<<2)|0;ce=s[de>>2]|0;ue=ce<<16>>16;s[de>>2]=(te(_,ue)|0)+((te(v,ue)|0)>>16)+(te(g,(ce>>15)+1>>1)|0);i=i+1|0}}while(0);i=s[xe>>2]|0;de=i<<16>>16;s[xe>>2]=(te(_,de)|0)+((te(v,de)|0)>>16)+(te(g,(i>>15)+1>>1)|0);i=s[Ce>>2]|0;de=i<<16>>16;s[Ce>>2]=(te(_,de)|0)+((te(v,de)|0)>>16)+(te(g,(i>>15)+1>>1)|0);i=0;while(1){if((i|0)==40){i=0;break}de=t+3840+(i<<2)|0;ce=s[de>>2]|0;ue=ce<<16>>16;s[de>>2]=(te(_,ue)|0)+((te(v,ue)|0)>>16)+(te(g,(ce>>15)+1>>1)|0);i=i+1|0}while(1){if((i|0)==24)break;de=t+4320+(i<<2)|0;ce=s[de>>2]|0;ue=ce<<16>>16;s[de>>2]=(te(_,ue)|0)+((te(v,ue)|0)>>16)+(te(g,(ce>>15)+1>>1)|0);i=i+1|0}s[Ke>>2]=s[S>>2];e=s[qe>>2]|0;E=s[S>>2]|0;i=n[De>>0]|0;k=s[Ge>>2]|0}V=s[p+(me<<2)>>2]|0;Z=s[Me>>2]|0;ae=s[$e>>2]|0;$=ae>>1;K=pe+2|0;X=pe+4|0;J=pe+6|0;Q=pe+8|0;ee=pe+10|0;ie=pe+12|0;re=pe+14|0;se=pe+16|0;oe=pe+18|0;ae=(ae|0)==16;le=pe+20|0;fe=pe+22|0;he=pe+24|0;ue=pe+26|0;ce=pe+28|0;de=pe+30|0;L=i<<24>>24==2;U=be+2|0;B=be+4|0;j=be+6|0;F=be+8|0;G=Z>>1;z=Z+-1|0;H=t+4320+(z<<2)|0;z=we+(z<<1)|0;q=s[d+(me<<2)>>2]<<16>>16;W=V<<16>>16;V=V>>16;Y=(m|0)>0;D=M<<16>>16;O=R>>16;N=E>>>6<<16>>16;P=(E>>21)+1>>1;i=e;I=0;e=je+(e-m+2<<2)|0;C=Re;v=t+1280+((s[ze>>2]|0)-m+1<<2)|0;while(1){if((I|0)>=(k|0))break;s[Xe>>2]=(te(s[Xe>>2]|0,196314165)|0)+907633515;R=s[C>>2]|0;M=r[pe>>1]|0;M=$+((te(R>>16,M)|0)+((te(R&65535,M)|0)>>16))|0;R=s[C+-4>>2]|0;i=r[K>>1]|0;i=M+((te(R>>16,i)|0)+((te(R&65535,i)|0)>>16))|0;R=s[C+-8>>2]|0;M=r[X>>1]|0;M=i+((te(R>>16,M)|0)+((te(R&65535,M)|0)>>16))|0;R=s[C+-12>>2]|0;i=r[J>>1]|0;i=M+((te(R>>16,i)|0)+((te(R&65535,i)|0)>>16))|0;R=s[C+-16>>2]|0;M=r[Q>>1]|0;M=i+((te(R>>16,M)|0)+((te(R&65535,M)|0)>>16))|0;R=s[C+-20>>2]|0;i=r[ee>>1]|0;i=M+((te(R>>16,i)|0)+((te(R&65535,i)|0)>>16))|0;R=s[C+-24>>2]|0;M=r[ie>>1]|0;M=i+((te(R>>16,M)|0)+((te(R&65535,M)|0)>>16))|0;R=s[C+-28>>2]|0;i=r[re>>1]|0;i=M+((te(R>>16,i)|0)+((te(R&65535,i)|0)>>16))|0;R=s[C+-32>>2]|0;M=r[se>>1]|0;M=i+((te(R>>16,M)|0)+((te(R&65535,M)|0)>>16))|0;R=s[C+-36>>2]|0;i=r[oe>>1]|0;i=M+((te(R>>16,i)|0)+((te(R&65535,i)|0)>>16))|0;if(ae){R=s[C+-40>>2]|0;M=r[le>>1]|0;M=i+((te(R>>16,M)|0)+((te(R&65535,M)|0)>>16))|0;R=s[C+-44>>2]|0;i=r[fe>>1]|0;i=M+((te(R>>16,i)|0)+((te(R&65535,i)|0)>>16))|0;R=s[C+-48>>2]|0;M=r[he>>1]|0;M=i+((te(R>>16,M)|0)+((te(R&65535,M)|0)>>16))|0;R=s[C+-52>>2]|0;i=r[ue>>1]|0;i=M+((te(R>>16,i)|0)+((te(R&65535,i)|0)>>16))|0;R=s[C+-56>>2]|0;M=r[ce>>1]|0;M=i+((te(R>>16,M)|0)+((te(R&65535,M)|0)>>16))|0;R=s[C+-60>>2]|0;i=r[de>>1]|0;i=M+((te(R>>16,i)|0)+((te(R&65535,i)|0)>>16))|0}if(L){R=s[e>>2]|0;M=r[be>>1]|0;M=(te(R>>16,M)|0)+((te(R&65535,M)|0)>>16)+2|0;R=s[e+-4>>2]|0;S=r[U>>1]|0;S=M+((te(R>>16,S)|0)+((te(R&65535,S)|0)>>16))|0;R=s[e+-8>>2]|0;M=r[B>>1]|0;M=S+((te(R>>16,M)|0)+((te(R&65535,M)|0)>>16))|0;R=s[e+-12>>2]|0;S=r[j>>1]|0;S=M+((te(R>>16,S)|0)+((te(R&65535,S)|0)>>16))|0;R=s[e+-16>>2]|0;M=r[F>>1]|0;M=S+((te(R>>16,M)|0)+((te(R&65535,M)|0)>>16))|0;R=e+4|0}else{M=0;R=e}S=s[Ce>>2]|0;_=s[Pe>>2]|0;s[Pe>>2]=S;g=r[we>>1]|0;e=2;g=G+((te(S>>16,g)|0)+((te(S&65535,g)|0)>>16))|0;while(1){if((e|0)>=(Z|0))break;E=e+-1|0;T=t+4320+(E<<2)|0;A=s[T>>2]|0;s[T>>2]=_;E=r[we+(E<<1)>>1]|0;T=t+4320+(e<<2)|0;S=s[T>>2]|0;s[T>>2]=A;E=E<<16>>16;T=r[we+(e<<1)>>1]|0;e=e+2|0;g=g+((te(_>>16,E)|0)+((te(_&65535,E)|0)>>16))+((te(A>>16,T)|0)+((te(A&65535,T)|0)>>16))|0;_=S}s[H>>2]=_;A=r[z>>1]|0;A=g+((te(_>>16,A)|0)+((te(_&65535,A)|0)>>16))<<1;T=s[xe>>2]|0;e=T>>16;T=T&65535;A=A+((te(e,q)|0)+((te(T,q)|0)>>16))|0;S=s[t+1280+((s[ze>>2]|0)+-1<<2)>>2]|0;T=(te(S>>16,W)|0)+((te(S&65535,W)|0)>>16)+(te(e,V)|0)+((te(T,V)|0)>>16)|0;e=(i<<2)-A-T|0;if(Y){y=(s[v>>2]|0)+(s[v+-8>>2]|0)|0;y=(te(y>>16,D)|0)+((te(y&65535,D)|0)>>16)|0;E=s[v+-4>>2]|0;S=v+4|0;e=M-(y+(te(E>>16,O)|0)+((te(E&65535,O)|0)>>16)<<1)+(e<<1)>>2}else{S=v;e=e>>1}E=He+(I<<2)|0;y=(s[E>>2]|0)-(e+1>>1)|0;y=(s[Xe>>2]|0)<0?0-y|0:y;y=(y|0)>30720?30720:(y|0)<-31744?-31744:y;e=y-Le|0;do if(Ie){if((e|0)>(Oe|0)){e=e-Oe|0;Qe=70;break}if((e|0)>=(Ne|0))if((e|0)<0){Qe=73;break}else{e=Le;g=ke;_=ye;v=Ee;break}else{e=e+Oe|0;Qe=70;break}}else Qe=70;while(0);e:do if((Qe|0)==70){Qe=0;e=e>>10;if((e|0)>0){_=(e<<10)+-80+Le|0;v=_+1024|0;e=_;g=v;_=te(_<<16>>16,ve)|0;v=te(v<<16>>16,ve)|0;break}switch(e|0){case 0:{e=Le;g=ke;_=ye;v=Ee;break e}case-1:{Qe=73;break e}default:{}}v=(e<<10|80)+Le|0;e=v;g=v+1024|0;_=te(0-v<<16>>16,ve)|0;v=te(-1024-v<<16>>16,ve)|0}while(0);if((Qe|0)==73){Qe=0;e=Ae;g=Le;_=Te;v=ye}tt=y-e<<16>>16;y=y-g<<16>>16;v=(v+(te(y,y)|0)|0)<(_+(te(tt,tt)|0)|0);v=v?g:e;e=a+I|0;n[e>>0]=((v>>>9)+1|0)>>>1;v=v<<4;M=((s[Xe>>2]|0)<0?0-v|0:v)+(M<<1)|0;i=M+(i<<4)|0;v=((te(i>>16,N)|0)+((te(i&65534,N)|0)>>16)+(te(i,P)|0)>>7)+1>>1;r[ge+(I<<1)>>1]=(v|0)>32767?32767:((v|0)<-32768?-32768:v)&65535;v=C+4|0;s[v>>2]=i;i=i-(s[E>>2]<<4)|0;s[Ce>>2]=i;i=i-(A<<2)|0;s[xe>>2]=i;s[t+1280+(s[ze>>2]<<2)>>2]=i-(T<<2);i=s[qe>>2]|0;s[je+(i<<2)>>2]=M<<1;s[ze>>2]=(s[ze>>2]|0)+1;i=i+1|0;s[qe>>2]=i;s[Xe>>2]=(s[Xe>>2]|0)+(n[e>>0]|0);I=I+1|0;e=R;C=v;v=S}Sr(Se|0,t+3840+(k<<2)|0,160)|0;tt=s[Ge>>2]|0;o=o+(tt<<1)|0;a=a+tt|0;e=i;me=me+1|0;ge=ge+(tt<<1)|0}s[Je>>2]=s[w+(i+-1<<2)>>2];Mr(t|0,t+(s[Be>>2]<<1)|0,s[Ue>>2]<<1|0)|0;Mr(t+1280|0,t+1280+(s[Be>>2]<<2)|0,s[Ue>>2]<<2|0)|0;u=et;return}function vn(e,t,i,a,l,f,h,c,d,p,b,w,m,g,_){e=e|0;t=t|0;i=i|0;a=a|0;l=l|0;f=f|0;h=h|0;c=c|0;d=d|0;p=p|0;b=b|0;w=w|0;m=m|0;g=g|0;_=_|0;var v=0,k=0,y=0,E=0,A=0,T=0,S=0,M=0,R=0,C=0,P=0,I=0,O=0,N=0,D=0,L=0,U=0,B=0,j=0,F=0,G=0,H=0,z=0,q=0,W=0,V=0,Y=0,Z=0,$=0,K=0,X=0,J=0,Q=0,ee=0,ie=0,re=0,se=0,oe=0,ae=0,le=0,fe=0,he=0,ue=0,ce=0,de=0,pe=0,be=0,we=0,me=0,ge=0,_e=0,ve=0;ge=u;u=u+176|0;he=ge+160|0;oe=ge;ue=t+4424|0;S=s[ue>>2]|0;re=e+4720|0;v=s[re>>2]|0;pe=u;u=u+((1*(v*1396|0)|0)+15&-16)|0;yr(pe|0,0,v*1396|0)|0;fe=i+34|0;be=t+4416|0;we=t+4420|0;me=e+4684|0;ce=t+3840|0;de=t+4320|0;k=0;while(1){if((k|0)>=(v|0))break;y=k+(o[fe>>0]|0)&3;s[pe+(k*1396|0)+1384>>2]=y;s[pe+(k*1396|0)+1388>>2]=y;s[pe+(k*1396|0)+1392>>2]=0;s[pe+(k*1396|0)+1376>>2]=s[be>>2];s[pe+(k*1396|0)+1380>>2]=s[we>>2];s[pe+(k*1396|0)+1120>>2]=s[t+1280+((s[me>>2]|0)+-1<<2)>>2];Sr(pe+(k*1396|0)|0,ce|0,160)|0;y=pe+(k*1396|0)+1280|0;A=de;T=y+96|0;do{s[y>>2]=s[A>>2];y=y+4|0;A=A+4|0}while((y|0)<(T|0));k=k+1|0}y=r[i+30>>1]|0;X=i+29|0;se=n[X>>0]|0;J=r[25404+(se<<24>>24>>1<<2)+((y&65535)<<24>>24<<1)>>1]|0;s[he>>2]=0;le=e+4680|0;E=s[le>>2]|0;v=(E|0)>40?40:E;e:do if(se<<24>>24!=2)if((S|0)>0){ee=S+-3|0;ee=(v|0)<(ee|0)?v:ee}else ee=v;else{i=s[e+4672>>2]|0;k=0;while(1){if((k|0)>=(i|0)){ee=v;break e}se=(s[m+(k<<2)>>2]|0)+-3|0;v=(v|0)<(se|0)?v:se;k=k+1|0}}while(0);G=(y&-256)<<16>>16!=1024&1;K=s[me>>2]|0;se=e+4676|0;Z=K+(s[se>>2]|0)|0;V=u;u=u+((1*(Z<<2)|0)+15&-16)|0;Y=u;u=u+((1*(Z<<1)|0)+15&-16)|0;Z=u;u=u+((1*(E<<2)|0)+15&-16)|0;Q=t+4432|0;s[Q>>2]=K;B=t+4428|0;s[B>>2]=s[me>>2];ie=e+4672|0;j=G^1;F=t+4444|0;G=G<<1^3;$=pe+1392|0;H=w+4|0;z=e+4732|0;q=t+4440|0;W=e+4728|0;U=e+4764|0;L=_<<16>>16;D=0;i=S;K=t+(K<<1)|0;k=0;while(1){if((D|0)>=(s[ie>>2]|0))break;P=f+((D>>1|j)<<4<<1)|0;I=h+(D*5<<1)|0;O=c+(D*24<<1)|0;N=s[d+(D<<2)>>2]|0;N=N>>2|N>>>1<<16;s[F>>2]=0;v=n[X>>0]|0;A=m+(D<<2)|0;if(v<<24>>24==2){E=s[A>>2]|0;if(!(D&G)){e:do if((D|0)==2){i=s[re>>2]|0;v=s[$>>2]|0;y=0;k=1;while(1){if((k|0)>=(i|0)){v=0;break}R=s[pe+(k*1396|0)+1392>>2]|0;C=(R|0)<(v|0);v=C?R:v;y=C?k:y;k=k+1|0}while(1){if((v|0)>=(i|0))break;if((v|0)!=(y|0)){C=pe+(v*1396|0)+1392|0;s[C>>2]=(s[C>>2]|0)+134217727}v=v+1|0}v=0;k=(s[he>>2]|0)+ee|0;while(1){if((v|0)>=(ee|0)){k=0;break e}C=(k+-1|0)%40|0;C=(C|0)<0?C+40|0:C;R=v-ee|0;n[l+R>>0]=(((s[pe+(y*1396|0)+640+(C<<2)>>2]|0)>>>9)+1|0)>>>1;S=s[pe+(y*1396|0)+800+(C<<2)>>2]|0;M=s[H>>2]|0;_=M<<16>>16;M=((te(S>>16,_)|0)+((te(S&65535,_)|0)>>16)+(te(S,(M>>15)+1>>1)|0)>>13)+1>>1;r[K+(R<<1)>>1]=(M|0)>32767?32767:((M|0)<-32768?-32768:M)&65535;s[t+1280+((s[Q>>2]|0)-ee+v<<2)>>2]=s[pe+(y*1396|0)+1120+(C<<2)>>2];v=v+1|0;k=C}}while(0);C=s[me>>2]|0;_=s[z>>2]|0;v=C-E-_+-2|0;Rn(Y+(v<<1)|0,t+(v+(te(D,s[le>>2]|0)|0)<<1)|0,P,C-v|0,_);s[B>>2]=s[me>>2];s[F>>2]=1;_=1;v=n[X>>0]|0;C=E;R=k}else{_=0;v=2;C=E;R=k}}else{_=0;C=i;R=k}k=s[re>>2]|0;S=s[A>>2]|0;M=w+(D<<2)|0;y=s[M>>2]|0;E=(y|0)>1;i=ne((E?y:1)|0)|0;E=(E?y:1)<<i+-1;_e=E>>16;T=536870911/(_e|0)|0;A=T<<16;e=A>>16;E=536870912-((te(_e,e)|0)+((te(E&65535,e)|0)>>16))<<3;T=A+((te(E>>16,e)|0)+((te(E&65528,e)|0)>>16))+(te(E,(T>>15)+1>>1)|0)|0;i=62-i|0;E=i+-47|0;if((E|0)<1){A=47-i|0;i=-2147483648>>A;E=2147483647>>>A;if((i|0)>(E|0)){if((T|0)<=(i|0))i=(T|0)<(E|0)?E:T}else if((T|0)>(E|0))i=E;else i=(T|0)<(i|0)?i:T;E=i<<A}else E=(E|0)<32?T>>E:0;T=(E>>4)+1|0;A=T>>>1<<16>>16;T=(T>>16)+1>>1;i=s[le>>2]|0;e=0;while(1){if((e|0)>=(i|0))break;ve=r[a+(e<<1)>>1]|0;_e=ve<<16>>16;s[Z+(e<<2)>>2]=(te(_e>>16,A)|0)+((te(ve&65535,A)|0)>>16)+(te(_e,T)|0);e=e+1|0}e:do if(_|0){if(!D)E=(te(E>>16,L)|0)+((te(E&65535,L)|0)>>16)<<2;T=s[B>>2]|0;e=E>>16;E=E&65535;A=T-S+-2|0;while(1){if((A|0)>=(T|0))break e;ve=r[Y+(A<<1)>>1]|0;s[V+(A<<2)>>2]=(te(e,ve)|0)+((te(E,ve)|0)>>16);A=A+1|0}}while(0);E=s[q>>2]|0;if((y|0)!=(E|0)){if((E|0)<=0)if(!E)A=32;else{i=0-E|0;ae=46}else{i=E;ae=46}if((ae|0)==46){ae=0;A=ne(i|0)|0}E=E<<A+-1;if((y|0)<=0)if(!y)i=32;else{i=0-y|0;ae=49}else{i=y;ae=49}if((ae|0)==49){ae=0;i=ne(i|0)|0}i=i+-1|0;y=y<<i;T=(536870911/(y>>16|0)|0)<<16>>16;ve=(te(E>>16,T)|0)+((te(E&65535,T)|0)>>16)|0;y=Nr(y|0,((y|0)<0)<<31>>31|0,ve|0,((ve|0)<0)<<31>>31|0)|0;y=Tr(y|0,x|0,29)|0;y=E-(y&-8)|0;T=ve+((te(y>>16,T)|0)+((te(y&65535,T)|0)>>16))|0;i=A+28-i|0;y=i+-16|0;if((i|0)<16){E=16-i|0;i=-2147483648>>E;y=2147483647>>>E;if((i|0)>(y|0)){if((T|0)<=(i|0))i=(T|0)<(y|0)?y:T}else if((T|0)>(y|0))i=y;else i=(T|0)<(i|0)?i:T;E=i<<E}else E=(y|0)<32?T>>y:0;y=s[Q>>2]|0;A=E>>16;T=E&65535;i=y;y=y-(s[me>>2]|0)|0;while(1){if((y|0)>=(i|0))break;i=t+1280+(y<<2)|0;ve=s[i>>2]|0;_e=ve<<16>>16;s[i>>2]=(te(A,_e)|0)+((te(T,_e)|0)>>16)+(te(E,(ve>>15)+1>>1)|0);i=s[Q>>2]|0;y=y+1|0}e:do if(v<<24>>24==2?(s[F>>2]|0)==0:0){v=s[B>>2]|0;i=v-ee|0;v=v-S+-2|0;while(1){if((v|0)>=(i|0)){i=0;break e}ve=V+(v<<2)|0;_e=s[ve>>2]|0;S=_e<<16>>16;s[ve>>2]=(te(A,S)|0)+((te(T,S)|0)>>16)+(te(E,(_e>>15)+1>>1)|0);v=v+1|0}}else i=0;while(0);while(1){if((i|0)>=(k|0))break;v=pe+(i*1396|0)+1376|0;ve=s[v>>2]|0;_e=ve<<16>>16;s[v>>2]=(te(A,_e)|0)+((te(T,_e)|0)>>16)+(te(E,(ve>>15)+1>>1)|0);v=pe+(i*1396|0)+1380|0;ve=s[v>>2]|0;_e=ve<<16>>16;s[v>>2]=(te(A,_e)|0)+((te(T,_e)|0)>>16)+(te(E,(ve>>15)+1>>1)|0);v=0;while(1){if((v|0)==40){v=0;break}ve=pe+(i*1396|0)+(v<<2)|0;_e=s[ve>>2]|0;S=_e<<16>>16;s[ve>>2]=(te(A,S)|0)+((te(T,S)|0)>>16)+(te(E,(_e>>15)+1>>1)|0);v=v+1|0}while(1){if((v|0)==24){v=0;break}ve=pe+(i*1396|0)+1280+(v<<2)|0;_e=s[ve>>2]|0;S=_e<<16>>16;s[ve>>2]=(te(A,S)|0)+((te(T,S)|0)>>16)+(te(E,(_e>>15)+1>>1)|0);v=v+1|0}while(1){if((v|0)==40)break;ve=pe+(i*1396|0)+960+(v<<2)|0;_e=s[ve>>2]|0;S=_e<<16>>16;s[ve>>2]=(te(A,S)|0)+((te(T,S)|0)>>16)+(te(E,(_e>>15)+1>>1)|0);ve=pe+(i*1396|0)+1120+(v<<2)|0;_e=s[ve>>2]|0;S=_e<<16>>16;s[ve>>2]=(te(A,S)|0)+((te(T,S)|0)>>16)+(te(E,(_e>>15)+1>>1)|0);v=v+1|0}i=i+1|0}s[q>>2]=s[M>>2];v=n[X>>0]|0;y=s[M>>2]|0;i=s[le>>2]|0;k=s[re>>2]|0}kn(t,pe,v<<24>>24,Z,l,K,V,oe,P,I,O,C,N,s[p+(D<<2)>>2]|0,s[b+(D<<2)>>2]|0,y,g,J,i,R,s[W>>2]|0,s[z>>2]|0,s[U>>2]|0,k,he,ee);k=s[le>>2]|0;a=a+(k<<1)|0;l=l+k|0;D=D+1|0;i=C;K=K+(k<<1)|0;k=R+1|0}i=s[re>>2]|0;v=s[$>>2]|0;E=0;k=1;while(1){if((k|0)>=(i|0))break;_e=s[pe+(k*1396|0)+1392>>2]|0;ve=(_e|0)<(v|0);v=ve?_e:v;E=ve?k:E;k=k+1|0}n[fe>>0]=s[pe+(E*1396|0)+1388>>2];i=s[w+((s[ie>>2]|0)+-1<<2)>>2]|0;k=i>>>6<<16>>16;i=(i>>21)+1>>1;y=0;v=(s[he>>2]|0)+ee|0;while(1){if((y|0)>=(ee|0))break;ve=(v+-1|0)%40|0;ve=(ve|0)<0?ve+40|0:ve;_e=y-ee|0;n[l+_e>>0]=(((s[pe+(E*1396|0)+640+(ve<<2)>>2]|0)>>>9)+1|0)>>>1;he=s[pe+(E*1396|0)+800+(ve<<2)>>2]|0;he=((te(he>>16,k)|0)+((te(he&65535,k)|0)>>16)+(te(he,i)|0)>>7)+1>>1;r[K+(_e<<1)>>1]=(he|0)>32767?32767:((he|0)<-32768?-32768:he)&65535;s[t+1280+((s[Q>>2]|0)-ee+y<<2)>>2]=s[pe+(E*1396|0)+1120+(ve<<2)>>2];y=y+1|0;v=ve}Sr(ce|0,pe+(E*1396|0)+(s[le>>2]<<2)|0,160)|0;y=de;A=pe+(E*1396|0)+1280|0;T=y+96|0;do{s[y>>2]=s[A>>2];y=y+4|0;A=A+4|0}while((y|0)<(T|0));s[be>>2]=s[pe+(E*1396|0)+1376>>2];s[we>>2]=s[pe+(E*1396|0)+1380>>2];s[ue>>2]=s[m+((s[ie>>2]|0)+-1<<2)>>2];Mr(t|0,t+(s[se>>2]<<1)|0,s[me>>2]<<1|0)|0;Mr(t+1280|0,t+1280+(s[se>>2]<<2)|0,s[me>>2]<<2|0)|0;u=ge;return}function kn(e,t,i,o,a,l,f,h,c,d,p,b,w,m,g,_,v,k,y,E,A,T,S,M,R,C){e=e|0;t=t|0;i=i|0;o=o|0;a=a|0;l=l|0;f=f|0;h=h|0;c=c|0;d=d|0;p=p|0;b=b|0;w=w|0;m=m|0;g=g|0;_=_|0;v=v|0;k=k|0;y=y|0;E=E|0;A=A|0;T=T|0;S=S|0;M=M|0;R=R|0;C=C|0;var P=0,x=0,I=0,O=0,N=0,D=0,L=0,U=0,B=0,j=0,F=0,G=0,H=0,z=0,q=0,W=0,V=0,Y=0,Z=0,$=0,K=0,X=0,J=0,Q=0,ee=0,ie=0,ne=0,re=0,se=0,oe=0,ae=0,le=0,fe=0,he=0,ue=0,ce=0,de=0,pe=0,be=0,we=0,me=0,ge=0,_e=0,ve=0,ke=0,ye=0,Ee=0,Ae=0,Te=0,Se=0,Me=0,Re=0,Ce=0,Pe=0,xe=0,Ie=0,Oe=0,Ne=0,De=0,Le=0,Ue=0;Ne=u;Pe=u;u=u+((1*(M*56|0)|0)+15&-16)|0;xe=e+4432|0;Ie=e+4428|0;Ce=_>>6;ye=(i|0)==2;Ee=d+2|0;Ae=d+4|0;Te=d+6|0;Se=d+8|0;Me=(b|0)>0;Re=w<<16>>16;ue=w>>16;ce=T>>1;de=c+2|0;pe=c+4|0;be=c+6|0;we=c+8|0;me=c+10|0;ge=c+12|0;_e=c+14|0;ve=c+16|0;ke=c+18|0;re=(T|0)==16;se=c+20|0;oe=c+22|0;ae=c+24|0;le=c+26|0;fe=c+28|0;he=c+30|0;Q=S<<16>>16;ee=A>>1;ie=A+-1|0;ne=p+(ie<<1)|0;X=m<<16>>16;J=g<<16>>16;Y=g>>16;Z=(v|0)>2048;K=(v|0)/2|0;$=K+-512|0;K=512-K|0;j=v<<16>>16;F=k+944|0;G=te(k<<16>>16,j)|0;H=te(F<<16>>16,j)|0;z=k+-944|0;q=te(944-k<<16>>16,j)|0;W=Pe+4|0;V=Pe+32|0;U=(E|0)<1;B=0;_=f+((s[Ie>>2]|0)-b+2<<2)|0;i=e+1280+((s[xe>>2]|0)-b+1<<2)|0;while(1){if((B|0)>=(y|0)){_=0;break}if(ye){D=s[_>>2]|0;N=r[d>>1]|0;N=(te(D>>16,N)|0)+((te(D&65535,N)|0)>>16)+2|0;D=s[_+-4>>2]|0;L=r[Ee>>1]|0;L=N+((te(D>>16,L)|0)+((te(D&65535,L)|0)>>16))|0;D=s[_+-8>>2]|0;N=r[Ae>>1]|0;N=L+((te(D>>16,N)|0)+((te(D&65535,N)|0)>>16))|0;D=s[_+-12>>2]|0;L=r[Te>>1]|0;L=N+((te(D>>16,L)|0)+((te(D&65535,L)|0)>>16))|0;D=s[_+-16>>2]|0;N=r[Se>>1]|0;N=L+((te(D>>16,N)|0)+((te(D&65535,N)|0)>>16))<<1;D=_+4|0}else{N=0;D=_}if(Me){L=(s[i>>2]|0)+(s[i+-8>>2]|0)|0;L=(te(L>>16,Re)|0)+((te(L&65535,Re)|0)>>16)|0;O=s[i+-4>>2]|0;O=N-(L+(te(O>>16,ue)|0)+((te(O&65535,ue)|0)>>16)<<2)|0;L=i+4|0}else{O=0;L=i}P=B+39|0;x=o+(B<<2)|0;I=0;while(1){if((I|0)>=(M|0))break;S=t+(I*1396|0)+1384|0;s[S>>2]=(te(s[S>>2]|0,196314165)|0)+907633515;_=t+(I*1396|0)+(P<<2)|0;b=s[_>>2]|0;E=r[c>>1]|0;E=ce+((te(b>>16,E)|0)+((te(b&65535,E)|0)>>16))|0;b=s[_+-4>>2]|0;i=r[de>>1]|0;i=E+((te(b>>16,i)|0)+((te(b&65535,i)|0)>>16))|0;b=s[_+-8>>2]|0;E=r[pe>>1]|0;E=i+((te(b>>16,E)|0)+((te(b&65535,E)|0)>>16))|0;b=s[_+-12>>2]|0;i=r[be>>1]|0;i=E+((te(b>>16,i)|0)+((te(b&65535,i)|0)>>16))|0;b=s[_+-16>>2]|0;E=r[we>>1]|0;E=i+((te(b>>16,E)|0)+((te(b&65535,E)|0)>>16))|0;b=s[_+-20>>2]|0;i=r[me>>1]|0;i=E+((te(b>>16,i)|0)+((te(b&65535,i)|0)>>16))|0;b=s[_+-24>>2]|0;E=r[ge>>1]|0;E=i+((te(b>>16,E)|0)+((te(b&65535,E)|0)>>16))|0;b=s[_+-28>>2]|0;i=r[_e>>1]|0;i=E+((te(b>>16,i)|0)+((te(b&65535,i)|0)>>16))|0;b=s[_+-32>>2]|0;E=r[ve>>1]|0;E=i+((te(b>>16,E)|0)+((te(b&65535,E)|0)>>16))|0;b=s[_+-36>>2]|0;i=r[ke>>1]|0;i=E+((te(b>>16,i)|0)+((te(b&65535,i)|0)>>16))|0;if(re){b=s[_+-40>>2]|0;E=r[se>>1]|0;E=i+((te(b>>16,E)|0)+((te(b&65535,E)|0)>>16))|0;b=s[_+-44>>2]|0;i=r[oe>>1]|0;i=E+((te(b>>16,i)|0)+((te(b&65535,i)|0)>>16))|0;b=s[_+-48>>2]|0;E=r[ae>>1]|0;E=i+((te(b>>16,E)|0)+((te(b&65535,E)|0)>>16))|0;b=s[_+-52>>2]|0;i=r[le>>1]|0;i=E+((te(b>>16,i)|0)+((te(b&65535,i)|0)>>16))|0;b=s[_+-56>>2]|0;E=r[fe>>1]|0;E=i+((te(b>>16,E)|0)+((te(b&65535,E)|0)>>16))|0;b=s[_+-60>>2]|0;i=r[he>>1]|0;i=E+((te(b>>16,i)|0)+((te(b&65535,i)|0)>>16))|0}w=t+(I*1396|0)+1280|0;_=s[w>>2]|0;b=(s[t+(I*1396|0)+1380>>2]|0)+((te(_>>16,Q)|0)+((te(_&65535,Q)|0)>>16))|0;T=(s[t+(I*1396|0)+1284>>2]|0)-b|0;T=_+((te(T>>16,Q)|0)+((te(T&65535,Q)|0)>>16))|0;s[w>>2]=b;w=r[p>>1]|0;_=2;w=ee+((te(b>>16,w)|0)+((te(b&65535,w)|0)>>16))|0;while(1){if((_|0)>=(A|0))break;m=_+-1|0;b=t+(I*1396|0)+1280+(m<<2)|0;v=t+(I*1396|0)+1280+(_<<2)|0;E=s[v>>2]|0;g=E-T|0;g=(s[b>>2]|0)+((te(g>>16,Q)|0)+((te(g&65535,Q)|0)>>16))|0;s[b>>2]=T;m=r[p+(m<<1)>>1]|0;b=s[t+(I*1396|0)+1280+((_|1)<<2)>>2]|0;s[v>>2]=g;m=m<<16>>16;v=r[p+(_<<1)>>1]|0;b=b-g|0;_=_+2|0;w=w+((te(T>>16,m)|0)+((te(T&65535,m)|0)>>16))+((te(g>>16,v)|0)+((te(g&65535,v)|0)>>16))|0;T=E+((te(b>>16,Q)|0)+((te(b&65535,Q)|0)>>16))|0}b=i<<4;s[t+(I*1396|0)+1280+(ie<<2)>>2]=T;g=r[ne>>1]|0;g=w+((te(T>>16,g)|0)+((te(T&65535,g)|0)>>16))<<1;v=s[t+(I*1396|0)+1376>>2]|0;E=v>>16;v=v&65535;g=g+((te(E,X)|0)+((te(v,X)|0)>>16))<<2;m=s[t+(I*1396|0)+1120+(s[R>>2]<<2)>>2]|0;v=(te(m>>16,J)|0)+((te(m&65535,J)|0)>>16)+(te(E,Y)|0)+((te(v,Y)|0)>>16)<<2;E=s[x>>2]|0;m=E-((O+b-(g+v)>>3)+1>>1)|0;S=(s[S>>2]|0)<0;m=S?0-m|0:m;m=(m|0)>30720?30720:(m|0)<-31744?-31744:m;_=m-k|0;do if(Z){if((_|0)>($|0)){_=_-$|0;Oe=20;break}if((_|0)>=(K|0))if((_|0)<0){Oe=23;break}else{_=k;i=F;w=G;T=H;break}else{_=_+$|0;Oe=20;break}}else Oe=20;while(0);e:do if((Oe|0)==20){Oe=0;_=_>>10;if((_|0)>0){w=(_<<10)+-80+k|0;T=w+1024|0;_=w;i=T;w=te(w<<16>>16,j)|0;T=te(T<<16>>16,j)|0;break}switch(_|0){case 0:{_=k;i=F;w=G;T=H;break e}case-1:{Oe=23;break e}default:{}}T=(_<<10|80)+k|0;_=T;i=T+1024|0;w=te(0-T<<16>>16,j)|0;T=te(-1024-T<<16>>16,j)|0}while(0);if((Oe|0)==23){Oe=0;_=z;i=k;w=q;T=G}De=m-_<<16>>16;De=w+(te(De,De)|0)>>10;m=m-i<<16>>16;m=T+(te(m,m)|0)>>10;Le=(De|0)<(m|0);Ue=s[t+(I*1396|0)+1392>>2]|0;w=Le?_:i;T=Le?i:_;s[Pe+(I*56|0)+4>>2]=Ue+(Le?De:m);s[Pe+(I*56|0)+32>>2]=Ue+(Le?m:De);s[Pe+(I*56|0)>>2]=w;s[Pe+(I*56|0)+28>>2]=T;i=w<<4;i=(S?0-i|0:i)+N|0;w=i+b|0;m=E<<4;E=w-m|0;s[Pe+(I*56|0)+16>>2]=E;E=E-g|0;s[Pe+(I*56|0)+20>>2]=E-v;s[Pe+(I*56|0)+12>>2]=E;s[Pe+(I*56|0)+24>>2]=i;s[Pe+(I*56|0)+8>>2]=w;E=T<<4;E=(S?0-E|0:E)+N|0;b=E+b|0;m=b-m|0;s[Pe+(I*56|0)+44>>2]=m;g=m-g|0;s[Pe+(I*56|0)+48>>2]=g-v;s[Pe+(I*56|0)+40>>2]=g;s[Pe+(I*56|0)+52>>2]=E;s[Pe+(I*56|0)+36>>2]=b;I=I+1|0}_=((s[R>>2]|0)+-1|0)%40|0;g=(_|0)<0;i=_+40|0;s[R>>2]=g?i:_;_=(g?i:_)+C|0;i=s[W>>2]|0;g=0;w=1;while(1){if((w|0)>=(M|0))break;Le=s[Pe+(w*56|0)+4>>2]|0;Ue=(Le|0)<(i|0);i=Ue?Le:i;g=Ue?w:g;w=w+1|0}m=(_|0)%40|0;_=s[t+(g*1396|0)+480+(m<<2)>>2]|0;i=0;while(1){if((i|0)>=(M|0))break;if((s[t+(i*1396|0)+480+(m<<2)>>2]|0)!=(_|0)){Ue=Pe+(i*56|0)+4|0;s[Ue>>2]=(s[Ue>>2]|0)+134217727;Ue=Pe+(i*56|0)+32|0;s[Ue>>2]=(s[Ue>>2]|0)+134217727}i=i+1|0}_=s[W>>2]|0;i=0;w=s[V>>2]|0;T=0;S=1;while(1){if((S|0)>=(M|0))break;N=s[Pe+(S*56|0)+4>>2]|0;De=(N|0)>(_|0);Le=s[Pe+(S*56|0)+32>>2]|0;Ue=(Le|0)<(w|0);_=De?N:_;i=De?S:i;w=Ue?Le:w;T=Ue?S:T;S=S+1|0}if((w|0)<(_|0)){Sr(t+(i*1396|0)+(B<<2)|0,t+(T*1396|0)+(B<<2)|0,1396-(B<<2)|0)|0;Ue=Pe+(i*56|0)|0;Le=Pe+(T*56|0)+28|0;s[Ue>>2]=s[Le>>2];s[Ue+4>>2]=s[Le+4>>2];s[Ue+8>>2]=s[Le+8>>2];s[Ue+12>>2]=s[Le+12>>2];s[Ue+16>>2]=s[Le+16>>2];s[Ue+20>>2]=s[Le+20>>2];s[Ue+24>>2]=s[Le+24>>2]}if(!(U&(B|0)<(C|0))){Ue=B-C|0;n[a+Ue>>0]=(((s[t+(g*1396|0)+640+(m<<2)>>2]|0)>>>9)+1|0)>>>1;De=s[t+(g*1396|0)+800+(m<<2)>>2]|0;Le=s[h+(m<<2)>>2]|0;N=Le<<16>>16;Le=((te(De>>16,N)|0)+((te(De&65535,N)|0)>>16)+(te(De,(Le>>15)+1>>1)|0)>>7)+1>>1;r[l+(Ue<<1)>>1]=(Le|0)>32767?32767:((Le|0)<-32768?-32768:Le)&65535;s[e+1280+((s[xe>>2]|0)-C<<2)>>2]=s[t+(g*1396|0)+1120+(m<<2)>>2];s[f+((s[Ie>>2]|0)-C<<2)>>2]=s[t+(g*1396|0)+960+(m<<2)>>2]}s[xe>>2]=(s[xe>>2]|0)+1;s[Ie>>2]=(s[Ie>>2]|0)+1;_=B+40|0;i=0;while(1){if((i|0)>=(M|0))break;s[t+(i*1396|0)+1376>>2]=s[Pe+(i*56|0)+12>>2];s[t+(i*1396|0)+1380>>2]=s[Pe+(i*56|0)+16>>2];Ue=s[Pe+(i*56|0)+8>>2]|0;s[t+(i*1396|0)+(_<<2)>>2]=Ue;s[t+(i*1396|0)+800+(s[R>>2]<<2)>>2]=Ue;Ue=s[Pe+(i*56|0)>>2]|0;s[t+(i*1396|0)+640+(s[R>>2]<<2)>>2]=Ue;s[t+(i*1396|0)+960+(s[R>>2]<<2)>>2]=s[Pe+(i*56|0)+24>>2]<<1;s[t+(i*1396|0)+1120+(s[R>>2]<<2)>>2]=s[Pe+(i*56|0)+20>>2];Le=t+(i*1396|0)+1384|0;Ue=(s[Le>>2]|0)+((Ue>>9)+1>>1)|0;s[Le>>2]=Ue;s[t+(i*1396|0)+480+(s[R>>2]<<2)>>2]=Ue;s[t+(i*1396|0)+1392>>2]=s[Pe+(i*56|0)+4>>2];i=i+1|0}s[h+(s[R>>2]<<2)>>2]=Ce;B=B+1|0;_=D;i=L}while(1){if((_|0)>=(M|0))break;Sr(t+(_*1396|0)|0,t+(_*1396|0)+(y<<2)|0,160)|0;_=_+1|0}u=Ne;return}function yn(e,t,i){e=e|0;t=t|0;i=i|0;var o=0,l=0,f=0,h=0,c=0,d=0,p=0,b=0,w=0,m=0,g=0,_=0,v=0,k=0,y=0,E=0,A=0,T=0,S=0,M=0,R=0,C=0,P=0,x=0,I=0,O=0,N=0,D=0,L=0,U=0,B=0,j=0,F=0,G=0,H=0,z=0;z=u;u=u+64|0;h=z+20|0;c=z+16|0;l=z+12|0;f=z+8|0;H=z+24|0;o=z;N=e+2336|0;b=s[N>>2]|0;G=e+2328|0;D=u;u=u+((1*(b+(s[G>>2]|0)<<2)|0)+15&-16)|0;g=u;u=u+((1*(b<<1)|0)+15&-16)|0;s[o>>2]=s[e+4240>>2]>>6;b=e+4244|0;B=s[b>>2]|0;U=B>>6;s[o+4>>2]=U;if(s[e+2376>>2]|0){p=e+4182|0;d=p+32|0;do{r[p>>1]=0;p=p+2|0}while((p|0)<(d|0))}I=e+2332|0;O=e+2324|0;En(l,h,f,c,e+4|0,o,s[I>>2]|0,s[O>>2]|0);o=s[e+4252>>2]|0;if((s[l>>2]>>s[c>>2]|0)<(s[f>>2]>>s[h>>2]|0)){o=te(o+-1|0,s[e+4256>>2]|0)|0;o=(o|0)<128?0:o+-128|0}else{o=te(o,s[e+4256>>2]|0)|0;o=(o|0)<128?0:o+-128|0}x=e+4+(o<<2)|0;M=e+4172|0;j=e+4224|0;d=r[j>>1]|0;h=e+4160|0;p=s[h>>2]|0;F=(p|0)>1;m=r[25776+((F?1:p)<<1)>>1]|0;c=e+4164|0;p=r[((s[c>>2]|0)==2?25780:25784)+((F?1:p)<<1)>>1]|0;F=e+2340|0;l=(s[F>>2]|0)+-1|0;o=64881;f=0;while(1){if((f|0)>=(l|0))break;L=e+4182+(f<<1)|0;r[L>>1]=(((te(o,r[L>>1]|0)|0)>>>15)+1|0)>>>1;o=o+(((te(o,-655)|0)>>15)+1>>1)|0;f=f+1|0}f=e+4182+(l<<1)|0;r[f>>1]=(((te(o,r[f>>1]|0)|0)>>>15)+1|0)>>>1;o=e+4182|0;f=s[F>>2]|0;Sr(H|0,o|0,f<<1|0)|0;do if(!(s[h>>2]|0)){if((s[c>>2]|0)==2){o=0;l=16384;while(1){if((o|0)==5)break;L=(l&65535)-(a[e+4172+(o<<1)>>1]|0)&65535;o=o+1|0;l=L}d=(te((l<<16>>16<3277?3277:l)<<16>>16,r[e+4236>>1]|0)|0)>>>14&65535;break}o=Cn(o,f)|0;if((o|0)<=134217728)if((o|0)<4194304)o=4194304;else w=16;else{o=134217728;w=16}d=o<<3;p=(te(d>>16,p)|0)+((te(d&65528,p)|0)>>16)>>14;d=16384}while(0);L=e+4220|0;A=s[L>>2]|0;S=e+4168|0;E=(s[S>>2]>>7)+1>>1;T=s[N>>2]|0;c=T-E-f+-2|0;Rn(g+(c<<1)|0,e+1348+(c<<1)|0,H,T-c|0,f);l=s[b>>2]|0;if((l|0)<=0)if(!l)o=32;else{o=0-l|0;w=20}else{o=l;w=20}if((w|0)==20)o=ne(o|0)|0;l=l<<o+-1;R=l>>16;h=536870911/(R|0)|0;C=h<<16;P=C>>16;l=536870912-((te(R,P)|0)+((te(l&65535,P)|0)>>16))<<3;h=C+((te(l>>16,P)|0)+((te(l&65528,P)|0)>>16))+(te(l,(h>>15)+1>>1)|0)|0;o=62-o|0;l=o+-46|0;if((l|0)>=1)if((l|0)<32){o=h>>l;w=30}else o=0;else{f=46-o|0;o=-2147483648>>f;l=2147483647>>>f;if((o|0)>(l|0)){if((h|0)<=(o|0))o=(h|0)<(l|0)?l:h}else if((h|0)>(l|0))o=l;else o=(h|0)<(o|0)?o:h;o=o<<f;w=30}if((w|0)==30)o=(o|0)<1073741823?o:1073741823;f=s[N>>2]|0;h=o>>16;l=o&65535;o=c+(s[F>>2]|0)|0;while(1){if((o|0)>=(f|0))break;P=r[g+(o<<1)>>1]|0;s[D+(o<<2)>>2]=(te(h,P)|0)+((te(l,P)|0)>>16);o=o+1|0}_=e+4174|0;v=e+4176|0;k=e+4178|0;y=e+4180|0;w=m<<16>>16;m=e+2765|0;g=e+2316|0;p=p<<16>>16;b=0;P=E;C=d;R=A;l=T;while(1){if((b|0)>=(s[O>>2]|0))break;c=C<<16>>16;f=s[I>>2]|0;h=0;o=D+(l-P+2<<2)|0;d=R;while(1){if((h|0)>=(f|0)){o=0;break}P=s[o>>2]|0;T=r[M>>1]|0;T=(te(P>>16,T)|0)+((te(P&65535,T)|0)>>16)+2|0;P=s[o+-4>>2]|0;R=r[_>>1]|0;R=T+((te(P>>16,R)|0)+((te(P&65535,R)|0)>>16))|0;P=s[o+-8>>2]|0;T=r[v>>1]|0;T=R+((te(P>>16,T)|0)+((te(P&65535,T)|0)>>16))|0;P=s[o+-12>>2]|0;R=r[k>>1]|0;R=T+((te(P>>16,R)|0)+((te(P&65535,R)|0)>>16))|0;P=s[o+-16>>2]|0;T=r[y>>1]|0;T=R+((te(P>>16,T)|0)+((te(P&65535,T)|0)>>16))|0;P=(te(d,196314165)|0)+907633515|0;R=s[x+(P>>>25<<2)>>2]|0;s[D+(l<<2)>>2]=T+((te(R>>16,c)|0)+((te(R&65535,c)|0)>>16))<<2;h=h+1|0;o=o+4|0;d=P;l=l+1|0}while(1){if((o|0)==5)break;P=e+4172+(o<<1)|0;r[P>>1]=(te(w,r[P>>1]|0)|0)>>>15;o=o+1|0}if(!(n[m>>0]|0))o=C;else o=(te(c,p)|0)>>>15&65535;C=s[S>>2]|0;C=C+(((C>>16)*655|0)+(((C&65535)*655|0)>>>16))|0;s[S>>2]=C;P=(s[g>>2]<<16>>16)*4608|0;P=(C|0)<(P|0)?C:P;s[S>>2]=P;b=b+1|0;P=(P>>7)+1>>1;C=o;R=d}M=D+((s[N>>2]|0)+-16<<2)|0;S=e+1284|0;p=M;o=S;d=p+64|0;do{s[p>>2]=s[o>>2];p=p+4|0;o=o+4|0}while((p|0)<(d|0));w=r[H>>1]|0;m=r[H+2>>1]|0;g=r[H+4>>1]|0;_=r[H+6>>1]|0;v=r[H+8>>1]|0;k=r[H+10>>1]|0;y=r[H+12>>1]|0;E=r[H+14>>1]|0;A=r[H+16>>1]|0;T=r[H+18>>1]|0;b=U<<16>>16;d=(B>>21)+1>>1;p=0;while(1){o=s[G>>2]|0;if((p|0)>=(o|0))break;o=s[M+(p+15<<2)>>2]|0;o=(s[F>>2]>>1)+((te(o>>16,w)|0)+((te(o&65535,w)|0)>>16))|0;c=s[M+(p+14<<2)>>2]|0;c=o+((te(c>>16,m)|0)+((te(c&65535,m)|0)>>16))|0;o=s[M+(p+13<<2)>>2]|0;o=c+((te(o>>16,g)|0)+((te(o&65535,g)|0)>>16))|0;c=s[M+(p+12<<2)>>2]|0;c=o+((te(c>>16,_)|0)+((te(c&65535,_)|0)>>16))|0;o=s[M+(p+11<<2)>>2]|0;o=c+((te(o>>16,v)|0)+((te(o&65535,v)|0)>>16))|0;c=s[M+(p+10<<2)>>2]|0;c=o+((te(c>>16,k)|0)+((te(c&65535,k)|0)>>16))|0;o=s[M+(p+9<<2)>>2]|0;o=c+((te(o>>16,y)|0)+((te(o&65535,y)|0)>>16))|0;c=s[M+(p+8<<2)>>2]|0;c=o+((te(c>>16,E)|0)+((te(c&65535,E)|0)>>16))|0;o=s[M+(p+7<<2)>>2]|0;o=c+((te(o>>16,A)|0)+((te(o&65535,A)|0)>>16))|0;c=s[M+(p+6<<2)>>2]|0;c=o+((te(c>>16,T)|0)+((te(c&65535,T)|0)>>16))|0;o=s[F>>2]|0;l=p+16|0;f=10;while(1){if((f|0)>=(o|0))break;U=s[M+(l-f+-1<<2)>>2]|0;B=r[H+(f<<1)>>1]|0;c=c+((te(U>>16,B)|0)+((te(U&65535,B)|0)>>16))|0;f=f+1|0}h=M+(l<<2)|0;o=s[h>>2]|0;l=(c|0)>134217727;f=l?2147483632:((c|0)<-134217728?-134217728:c)<<4;if((o+(l?2147483632:((c|0)<-134217728?-134217728:c)<<4)|0)>-1)if((o&f|0)<0)o=-2147483648;else o=o+(l?2147483632:((c|0)<-134217728?-134217728:c)<<4)|0;else if((o|f|0)>-1)o=2147483647;else o=o+(l?2147483632:((c|0)<-134217728?-134217728:c)<<4)|0;s[h>>2]=o;B=((te(o>>16,b)|0)+((te(o&65535,b)|0)>>16)+(te(o,d)|0)>>7)+1>>1;r[i+(p<<1)>>1]=(B|0)>32767?32767:((B|0)<-32768?-32768:B)&65535;p=p+1|0}p=S;o=M+(o<<2)|0;d=p+64|0;do{s[p>>2]=s[o>>2];p=p+4|0;o=o+4|0}while((p|0)<(d|0));s[L>>2]=R;r[j>>1]=C;o=0;while(1){if((o|0)==4)break;s[t+(o<<2)>>2]=P;o=o+1|0}u=z;return}function En(e,t,i,n,o,a,l,f){e=e|0;t=t|0;i=i|0;n=n|0;o=o|0;a=a|0;l=l|0;f=f|0;var h=0,c=0,d=0,p=0,b=0,w=0,m=0,g=0,_=0,v=0;m=u;h=u;u=u+((1*(l<<1<<1)|0)+15&-16)|0;p=h;w=0;while(1){if((w|0)==2)break;c=te(w+f+-2|0,l)|0;d=a+(w<<2)|0;b=0;while(1){if((b|0)>=(l|0))break;_=s[o+(b+c<<2)>>2]|0;g=s[d>>2]|0;v=g<<16>>16;g=(te(_>>16,v)|0)+((te(_&65535,v)|0)>>16)+(te(_,(g>>15)+1>>1)|0)>>8;r[p+(b<<1)>>1]=(g|0)>32767?32767:((g|0)<-32768?-32768:g)&65535;b=b+1|0}p=p+(l<<1)|0;w=w+1|0}Dn(e,t,h,l);Dn(i,n,h+(l<<1)|0,l);u=m;return}function An(e,t){e=e|0;t=t|0;var i=0,n=0,o=0,l=0,f=0,h=0,c=0,d=0,p=0,b=0,w=0,m=0,g=0,_=0,v=0,k=0,y=0;k=u;u=u+48|0;g=k+32|0;v=k+16|0;w=k;_=e+4676|0;h=s[_>>2]|0;d=h>>1;i=h>>2;o=h>>3;s[w>>2]=0;p=o+i|0;s[w+4>>2]=p;c=p+o|0;s[w+8>>2]=c;f=c+i|0;s[w+12>>2]=f;b=u;u=u+((1*(f+d<<1)|0)+15&-16)|0;Sn(t,e+32|0,b,b+(f<<1)|0,h);Sn(b,e+40|0,b,b+(c<<1)|0,d);Sn(b,e+48|0,b,b+(p<<1)|0,i);i=b+(o+-1<<1)|0;t=r[i>>1]>>1;r[i>>1]=t;i=t;while(1){n=o+-1|0;if((o|0)<=1)break;d=b+(o+-2<<1)|0;p=r[d>>1]>>1;r[d>>1]=p;r[b+(n<<1)>>1]=(i&65535)-(p&65535);i=p;o=n}c=e+88|0;r[b>>1]=(a[b>>1]|0)-(a[c>>1]|0);r[c>>1]=t;c=0;i=0;while(1){if((c|0)==4)break;o=4-c|0;o=s[_>>2]>>((o|0)<3?o:3)>>2;l=e+56+(c<<2)|0;t=s[l>>2]|0;f=g+(c<<2)|0;s[f>>2]=t;h=w+(c<<2)|0;d=0;p=0;while(1){if((p|0)==4)break;else{n=0;i=0}while(1){if((n|0)>=(o|0))break;y=r[b+((s[h>>2]|0)+n+d<<1)>>1]>>3;n=n+1|0;i=i+(te(y,y)|0)|0}if((p|0)<3){t=t+i|0;t=(t|0)<0?2147483647:t}else{t=t+(i>>1)|0;t=(t|0)<0?2147483647:t}s[f>>2]=t;d=d+o|0;p=p+1|0}s[l>>2]=i;c=c+1|0}h=e+140|0;t=s[h>>2]|0;if((t|0)<1e3)f=32767/((t>>4)+1|0)|0;else f=0;l=0;while(1){if((l|0)==4)break;n=e+92+(l<<2)|0;i=s[n>>2]|0;t=(s[g+(l<<2)>>2]|0)+(s[e+124+(l<<2)>>2]|0)|0;t=(t|0)<0?2147483647:t;o=2147483647/(t|0)|0;if((t|0)<=(i<<3|0))if((t|0)<(i|0))t=1024;else{y=i<<16>>16;w=te(o>>16,y)|0;y=te(o&65535,y)|0;t=te(o,(i>>15)+1>>1)|0;t=w+(y>>16)+t>>16<<11|(w+(y>>>16)+t|0)>>>5&2047}else t=128;w=e+108+(l<<2)|0;p=s[w>>2]|0;b=o-p|0;y=((t|0)>(f|0)?t:f)<<16>>16;y=p+((te(b>>16,y)|0)+((te(b&65535,y)|0)>>16))|0;s[w>>2]=y;y=2147483647/(y|0)|0;s[n>>2]=(y|0)<16777215?y:16777215;l=l+1|0}s[h>>2]=(s[h>>2]|0)+1;p=0;b=0;l=0;while(1){if((p|0)==4)break;h=s[g+(p<<2)>>2]|0;c=s[e+92+(p<<2)>>2]|0;d=h-c|0;if((d|0)>0){if(h>>>0<8388608)t=(h<<8|0)/(c+1|0)|0;else t=(h|0)/((c>>8)+1|0)|0;s[v+(p<<2)>>2]=t;o=ne(t|0)|0;i=24-o|0;n=0-i|0;do if(i)if((i|0)<0){t=t<<n|t>>>(i+32|0);break}else{t=t<<32-i|t>>>i;break}while(0);t=t&127;t=t+(((te(t,128-t|0)|0)*179|0)>>>16)+(31-o<<7)+-1024|0;f=t<<16>>16;l=l+(te(f,f)|0)|0;if((d|0)<1048576){n=ne(d|0)|0;n=(h|0)==(c|0)?32:n;t=24-n|0;i=0-t|0;do if(t)if((t|0)<0){t=d<<i|d>>>(t+32|0);break}else{t=d<<32-t|d>>>t;break}else t=d;while(0);n=((n&1|0)==0?46214:32768)>>>(n>>>1);o=(te(t&127,13959168)|0)>>>16;o=te(n+((te(n>>16,o)|0)+((te(n&65535,o)|0)>>>16))<<6>>16,f)|0;n=ne(d|0)|0;n=(h|0)==(c|0)?32:n;t=24-n|0;i=0-t|0;do if(t)if((t|0)<0){t=d<<i|d>>>(t+32|0);break}else{t=d<<32-t|d>>>t;break}else t=d;while(0);y=((n&1|0)==0?46214:32768)>>>(n>>>1);t=(te(t&127,13959168)|0)>>>16;t=o+((te(y+((te(y>>16,t)|0)+((te(y&65535,t)|0)>>>16))<<6&65472,f)|0)>>16)|0}y=s[22976+(p<<2)>>2]|0;i=t<<16>>16;i=b+((te(y>>16,i)|0)+((te(y&65535,i)|0)>>16))|0;t=l}else{s[v+(p<<2)>>2]=256;i=b;t=l}p=p+1|0;b=i;l=t}t=(l|0)/4|0;do if((l|0)>=4){o=ne(t|0)|0;o=(l+3|0)>>>0<7?32:o;i=24-o|0;n=0-i|0;do if(i)if((i|0)<0){t=t<<n|t>>>(i+32|0);break}else{t=t<<32-i|t>>>i;break}while(0);i=((o&1|0)==0?46214:32768)>>>(o>>>1);t=(te(t&127,13959168)|0)>>>16;t=((i+((te(i>>16,t)|0)+((te(i&65535,t)|0)>>>16))|0)*196608>>16)*45e3>>16;i=t+-128|0;if((t|0)<128)if((i|0)<-191){t=0;break}else{t=128-t|0;m=53;break}if((i|0)>191)t=32767;else{t=i>>5;t=(s[23040+(t<<2)>>2]|0)+(te(s[23016+(t<<2)>>2]<<16>>16,i&31)|0)|0}}else{t=128;m=53}while(0);if((m|0)==53){y=t>>5;t=(s[22992+(y<<2)>>2]|0)-(te(s[23016+(y<<2)>>2]<<16>>16,t&31)|0)|0}if((b|0)<0){i=0-b|0;if((b|0)<-191)i=0;else{y=i>>5;i=(s[22992+(y<<2)>>2]|0)-(te(s[23016+(y<<2)>>2]<<16>>16,i&31)|0)|0}}else if((b|0)>191)i=32767;else{i=b>>5;i=(s[23040+(i<<2)>>2]|0)+(te(s[23016+(i<<2)>>2]<<16>>16,b&31)|0)|0}s[e+4804>>2]=(i<<1)+-32768;i=0;n=0;while(1){if((i|0)==4)break;m=i+1|0;y=n+(te(m,(s[g+(i<<2)>>2]|0)-(s[e+92+(i<<2)>>2]|0)>>4)|0)|0;i=m;n=y}if((n|0)>=1){if((n|0)<32768){i=n<<((s[_>>2]|0)==((s[e+4668>>2]|0)*10|0)?16:15);l=ne(i|0)|0;n=24-l|0;o=0-n|0;do if(n)if((n|0)<0){i=i<<o|i>>>(n+32|0);break}else{i=i<<32-n|i>>>n;break}while(0);g=((l&1|0)==0?46214:32768)>>>(l>>>1);y=(te(i&127,13959168)|0)>>>16;y=g+((te(g>>16,y)|0)+((te(g&65535,y)|0)>>>16))+32768|0;t=t<<16>>16;t=(te(y>>16,t)|0)+((te(y&65535,t)|0)>>16)|0}}else t=t>>1;f=t>>7;s[e+4624>>2]=(f|0)<255?f:255;f=t<<16>>16;f=((te(t>>16,f)|0)<<16)+(te(t&65535,f)|0)|0;f=f>>((s[_>>2]|0)==((s[e+4668>>2]|0)*10|0)?21:20);l=0;while(1){
if((l|0)==4)break;o=e+72+(l<<2)|0;i=s[o>>2]|0;t=(s[v+(l<<2)>>2]|0)-i|0;t=i+((te(t>>16,f)|0)+((te(t&65535,f)|0)>>16))|0;s[o>>2]=t;o=ne(t|0)|0;i=24-o|0;n=0-i|0;do if(i)if((i|0)<0){t=t<<n|t>>>(i+32|0);break}else{t=t<<32-i|t>>>i;break}while(0);t=t&127;t=((t+(((te(t,128-t|0)|0)*179|0)>>>16)+(31-o<<7)|0)*3|0)+-5120|0;i=t>>4;if((i|0)<0){t=0-i|0;if((i|0)<-191)t=0;else{y=t>>5;t=(s[22992+(y<<2)>>2]|0)-(te(s[23016+(y<<2)>>2]<<16>>16,t&31)|0)|0}}else if((i|0)>191)t=32767;else{t=t>>9;t=(s[23040+(t<<2)>>2]|0)+(te(s[23016+(t<<2)>>2]<<16>>16,i&31)|0)|0}s[e+4788+(l<<2)>>2]=t;l=l+1|0}u=k;return}function Tn(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,r=0,o=0;n=s[e+(i<<2)>>2]|0;r=t<<4;if((i|0)==8){t=t<<20>>16;o=(r>>15)+1>>1;i=(s[e+28>>2]|0)+((te(n>>16,t)|0)+((te(n&65535,t)|0)>>16))+(te(n,o)|0)|0;i=(s[e+24>>2]|0)+((te(i>>16,t)|0)+((te(i&65535,t)|0)>>16))+(te(i,o)|0)|0;i=(s[e+20>>2]|0)+((te(i>>16,t)|0)+((te(i&65535,t)|0)>>16))+(te(i,o)|0)|0;i=(s[e+16>>2]|0)+((te(i>>16,t)|0)+((te(i&65535,t)|0)>>16))+(te(i,o)|0)|0;i=(s[e+12>>2]|0)+((te(i>>16,t)|0)+((te(i&65535,t)|0)>>16))+(te(i,o)|0)|0;i=(s[e+8>>2]|0)+((te(i>>16,t)|0)+((te(i&65535,t)|0)>>16))+(te(i,o)|0)|0;i=(s[e+4>>2]|0)+((te(i>>16,t)|0)+((te(i&65535,t)|0)>>16))+(te(i,o)|0)|0;e=(s[e>>2]|0)+((te(i>>16,t)|0)+((te(i&65535,t)|0)>>16))+(te(i,o)|0)|0;return e|0}o=t<<20>>16;r=(r>>15)+1>>1;while(1){t=i+-1|0;if((i|0)<=0)break;i=t;n=(s[e+(t<<2)>>2]|0)+((te(n>>16,o)|0)+((te(n&65535,o)|0)>>16))+(te(n,r)|0)|0}return n|0}function Sn(e,t,i,n,o){e=e|0;t=t|0;i=i|0;n=n|0;o=o|0;var a=0,l=0,f=0,h=0,u=0,c=0,d=0;o=o>>1;a=t+4|0;l=0;while(1){if((l|0)>=(o|0))break;c=l<<1;d=r[e+(c<<1)>>1]<<10;u=d-(s[t>>2]|0)|0;h=(te(u>>16,-24290)|0)+((te(u&65535,-24290)|0)>>16)|0;f=d+h|0;s[t>>2]=d+(u+h);c=r[e+((c|1)<<1)>>1]<<10;h=s[a>>2]|0;u=c-h|0;u=((u>>16)*10788|0)+(((u&65535)*10788|0)>>>16)|0;h=h+u|0;s[a>>2]=c+u;u=(h+f>>10)+1>>1;r[i+(l<<1)>>1]=(u|0)>32767?32767:((u|0)<-32768?-32768:u)&65535;f=(h-f>>10)+1>>1;r[n+(l<<1)>>1]=(f|0)>32767?32767:((f|0)<-32768?-32768:f)&65535;l=l+1|0}return}function Mn(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,r=0,o=0,a=0,l=0,f=0;o=i+-65536|0;r=t+-1|0;n=0;while(1){t=i>>16;if((n|0)>=(r|0))break;a=e+(n<<2)|0;l=s[a>>2]|0;f=l<<16>>16;s[a>>2]=(te(t,f)|0)+((te(i&65535,f)|0)>>16)+(te(i,(l>>15)+1>>1)|0);i=i+(((te(i,o)|0)>>15)+1>>1)|0;n=n+1|0}f=e+(r<<2)|0;l=s[f>>2]|0;a=l<<16>>16;s[f>>2]=(te(t,a)|0)+((te(i&65535,a)|0)>>16)+(te(i,(l>>15)+1>>1)|0);return}function Rn(e,t,i,n,s){e=e|0;t=t|0;i=i|0;n=n|0;s=s|0;var o=0,a=0,l=0,f=0,h=0,u=0,c=0,d=0,p=0,b=0;o=i+2|0;a=i+4|0;l=i+6|0;f=i+8|0;h=i+10|0;c=s;while(1){if((c|0)>=(n|0))break;u=t+(c+-1<<1)|0;p=te(r[u>>1]|0,r[i>>1]|0)|0;p=p+(te(r[u+-2>>1]|0,r[o>>1]|0)|0)|0;p=p+(te(r[u+-4>>1]|0,r[a>>1]|0)|0)|0;p=p+(te(r[u+-6>>1]|0,r[l>>1]|0)|0)|0;p=p+(te(r[u+-8>>1]|0,r[f>>1]|0)|0)|0;d=6;p=p+(te(r[u+-10>>1]|0,r[h>>1]|0)|0)|0;while(1){if((d|0)>=(s|0))break;b=p+(te(r[u+(0-d<<1)>>1]|0,r[i+(d<<1)>>1]|0)|0)|0;b=b+(te(r[u+(~d<<1)>>1]|0,r[i+((d|1)<<1)>>1]|0)|0)|0;d=d+2|0;p=b}b=((r[u+2>>1]<<12)-p>>11)+1>>1;r[e+(c<<1)>>1]=(b|0)>32767?32767:((b|0)<-32768?-32768:b)&65535;c=c+1|0}yr(e|0,0,s<<1|0)|0;return}function Cn(e,t){e=e|0;t=t|0;var i=0,n=0,o=0,a=0,l=0,f=0,h=0,c=0,d=0,p=0,b=0,w=0,m=0,g=0,_=0,v=0,k=0,y=0;y=u;u=u+96|0;v=y;i=0;n=0;while(1){if((n|0)>=(t|0))break;_=r[e+(n<<1)>>1]|0;s[v+(n<<2)>>2]=_<<12;i=i+_|0;n=n+1|0}if((i|0)>4095){u=y;return 0}o=1073741824;n=0;e:while(1){_=t+-1|0;e=s[v+(_<<2)>>2]|0;i=(e+16773022|0)>>>0>33546044;if((t|0)<=1){k=44;break}if(i){k=46;break}m=0-(e<<7)|0;g=((m|0)<0)<<31>>31;Nr(m|0,g|0,m|0,g|0)|0;a=1073741824-x|0;w=Nr(o|0,n|0,a|0,((a|0)<0)<<31>>31|0)|0;w=Tr(w|0,x|0,30)|0;w=w&-4;if((w|0)<107374){k=46;break}if((a|0)<=0)if(!a){e=32;i=30;l=0}else{e=0-a|0;k=11}else{e=a;k=11}if((k|0)==11){k=0;l=32-(ne(e|0)|0)|0;e=ne(e|0)|0;i=l+30|0}b=a<<e+-1;c=b>>16;o=536870911/(c|0)|0;d=o<<16;p=d>>16;b=536870912-((te(c,p)|0)+((te(b&65535,p)|0)>>16))<<3;o=d+((te(b>>16,p)|0)+((te(b&65528,p)|0)>>16))+(te(b,(o>>15)+1>>1)|0)|0;e=62-e-i|0;if((e|0)<1){n=0-e|0;e=-2147483648>>n;i=2147483647>>>n;if((e|0)>(i|0)){if((o|0)<=(e|0))e=(o|0)<(i|0)?i:o}else if((o|0)>(i|0))e=i;else e=(o|0)<(e|0)?e:o;b=e<<n}else b=(e|0)<32?o>>e:0;c=t>>1;d=(l|0)==1;p=((b|0)<0)<<31>>31;l=l+-1|0;h=0;while(1){if((h|0)>=(c|0))break;t=v+(h<<2)|0;o=s[t>>2]|0;f=v+(_-h+-1<<2)|0;a=s[f>>2]|0;e=Nr(a|0,((a|0)<0)<<31>>31|0,m|0,g|0)|0;e=Tr(e|0,x|0,30)|0;e=Er(e|0,x|0,1,0)|0;e=Tr(e|0,x|0,1)|0;i=o-e|0;n=(i|0)>-1;if(d){if(n){n=(o&(e^-2147483648)|0)<0?-2147483648:i;n=Nr(n|0,((n|0)<0)<<31>>31|0,b|0,p|0)|0;n=Ar(n|0,x|0,1)|0;e=(o&(e^-2147483648)|0)<0?-2147483648:i;i=n;n=x}else{n=((o^-2147483648)&e|0)<0?2147483647:i;n=Nr(n|0,((n|0)<0)<<31>>31|0,b|0,p|0)|0;n=Ar(n|0,x|0,1)|0;e=((o^-2147483648)&e|0)<0?2147483647:i;i=n;n=x}e=Nr(e|0,((e|0)<0)<<31>>31|0,b|0,p|0)|0;e=Er(i|0,n|0,e&1|0,0)|0;i=x}else{if(n)e=(o&(e^-2147483648)|0)<0?-2147483648:i;else e=((o^-2147483648)&e|0)<0?2147483647:i;e=Nr(e|0,((e|0)<0)<<31>>31|0,b|0,p|0)|0;e=Ar(e|0,x|0,l|0)|0;e=Er(e|0,x|0,1,0)|0;e=Ar(e|0,x|0,1)|0;i=x}n=Er(e|0,i|0,-2147483648,0)|0;i=x;if(i>>>0>0|(i|0)==0&n>>>0>4294967295){k=46;break e}s[t>>2]=e;e=Nr(o|0,((o|0)<0)<<31>>31|0,m|0,g|0)|0;e=Tr(e|0,x|0,30)|0;e=Er(e|0,x|0,1,0)|0;e=Tr(e|0,x|0,1)|0;i=a-e|0;n=(i|0)>-1;if(d){if(n){n=(a&(e^-2147483648)|0)<0?-2147483648:i;n=Nr(n|0,((n|0)<0)<<31>>31|0,b|0,p|0)|0;n=Ar(n|0,x|0,1)|0;e=(a&(e^-2147483648)|0)<0?-2147483648:i;i=n;n=x}else{n=((a^-2147483648)&e|0)<0?2147483647:i;n=Nr(n|0,((n|0)<0)<<31>>31|0,b|0,p|0)|0;n=Ar(n|0,x|0,1)|0;e=((a^-2147483648)&e|0)<0?2147483647:i;i=n;n=x}e=Nr(e|0,((e|0)<0)<<31>>31|0,b|0,p|0)|0;e=Er(i|0,n|0,e&1|0,0)|0;i=x}else{if(n)e=(a&(e^-2147483648)|0)<0?-2147483648:i;else e=((a^-2147483648)&e|0)<0?2147483647:i;e=Nr(e|0,((e|0)<0)<<31>>31|0,b|0,p|0)|0;e=Ar(e|0,x|0,l|0)|0;e=Er(e|0,x|0,1,0)|0;e=Ar(e|0,x|0,1)|0;i=x}a=Er(e|0,i|0,-2147483648,0)|0;o=x;if(o>>>0>0|(o|0)==0&a>>>0>4294967295){k=46;break e}s[f>>2]=e;h=h+1|0}o=w;n=((w|0)<0)<<31>>31;t=_}if((k|0)==44)if(i){u=y;return 0}else{v=0-(s[v>>2]<<7)|0;k=((v|0)<0)<<31>>31;Nr(v|0,k|0,v|0,k|0)|0;k=1073741824-x|0;k=Nr(o|0,n|0,k|0,((k|0)<0)<<31>>31|0)|0;k=Tr(k|0,x|0,30)|0;k=k&-4;u=y;return((k|0)<107374?0:k)|0}else if((k|0)==46){u=y;return 0}return 0}function Pn(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,a=0,l=0,f=0,h=0,c=0,d=0,p=0,b=0,w=0,m=0,g=0,_=0,v=0;g=u;u=u+304|0;d=g+200|0;b=g+148|0;w=g+96|0;m=g;n=(i|0)==16?32909:32925;a=0;while(1){if((a|0)>=(i|0))break;c=r[t+(a<<1)>>1]|0;p=c>>8;h=r[27508+(p<<1)>>1]|0;p=((h<<8)+(te((r[27508+(p+1<<1)>>1]|0)-h|0,c-(p<<8)|0)|0)>>3)+1>>1;s[d+(o[n+a>>0]<<2)>>2]=p;a=a+1|0}p=i>>1;s[b>>2]=65536;c=b+4|0;h=1;n=0-(s[d>>2]|0)|0;while(1){s[c>>2]=n;if((h|0)>=(p|0))break;t=s[d+(h<<1<<2)>>2]|0;f=s[b+(h+-1<<2)>>2]|0;a=((t|0)<0)<<31>>31;n=s[b+(h<<2)>>2]|0;n=Nr(t|0,a|0,n|0,((n|0)<0)<<31>>31|0)|0;n=Tr(n|0,x|0,15)|0;n=Er(n|0,x|0,1,0)|0;n=Tr(n|0,x|0,1)|0;l=h+1|0;s[b+(l<<2)>>2]=(f<<1)-n;n=h;while(1){if((n|0)<=1)break;h=s[b+(n+-2<<2)>>2]|0;v=Nr(t|0,a|0,f|0,((f|0)<0)<<31>>31|0)|0;v=Tr(v|0,x|0,15)|0;v=Er(v|0,x|0,1,0)|0;v=Tr(v|0,x|0,1)|0;_=b+(n<<2)|0;s[_>>2]=(s[_>>2]|0)+(h-v);f=h;n=n+-1|0}h=l;n=(s[c>>2]|0)-t|0}c=d+4|0;s[w>>2]=65536;d=w+4|0;h=1;n=0-(s[c>>2]|0)|0;while(1){s[d>>2]=n;if((h|0)>=(p|0)){n=0;break}l=s[c+(h<<1<<2)>>2]|0;a=s[w+(h+-1<<2)>>2]|0;f=((l|0)<0)<<31>>31;n=s[w+(h<<2)>>2]|0;n=Nr(l|0,f|0,n|0,((n|0)<0)<<31>>31|0)|0;n=Tr(n|0,x|0,15)|0;n=Er(n|0,x|0,1,0)|0;n=Tr(n|0,x|0,1)|0;t=h+1|0;s[w+(t<<2)>>2]=(a<<1)-n;n=h;while(1){if((n|0)<=1)break;v=s[w+(n+-2<<2)>>2]|0;h=Nr(l|0,f|0,a|0,((a|0)<0)<<31>>31|0)|0;h=Tr(h|0,x|0,15)|0;h=Er(h|0,x|0,1,0)|0;h=Tr(h|0,x|0,1)|0;_=w+(n<<2)|0;s[_>>2]=(s[_>>2]|0)+(v-h);a=v;n=n+-1|0}h=t;n=(s[d>>2]|0)-l|0}while(1){if((n|0)>=(p|0))break;v=n+1|0;_=(s[b+(v<<2)>>2]|0)+(s[b+(n<<2)>>2]|0)|0;d=(s[w+(v<<2)>>2]|0)-(s[w+(n<<2)>>2]|0)|0;s[m+(n<<2)>>2]=0-d-_;s[m+(i-n+-1<<2)>>2]=d-_;n=v}l=0;n=0;while(1){if((l|0)<10){t=0;a=0}else break;while(1){if((t|0)>=(i|0))break;v=s[m+(t<<2)>>2]|0;v=(v|0)>0?v:0-v|0;_=(v|0)>(a|0);n=_?t:n;t=t+1|0;a=_?v:a}t=(a>>4)+1>>1;if((t|0)<=32767)break;v=(t|0)<163838?t:163838;Mn(m,i,65470-(((v<<14)+-536854528|0)/((te(v,n+1|0)|0)>>2|0)|0)|0);l=l+1|0}e:do if((l|0)==10){n=0;while(1){if((n|0)>=(i|0)){n=0;break e}v=m+(n<<2)|0;_=(s[v>>2]>>4)+1>>1;_=(_|0)>32767?32767:(_|0)<-32768?-32768:_;r[e+(n<<1)>>1]=_;s[v>>2]=_<<16>>11;n=n+1|0}}else{n=0;while(1){if((n|0)>=(i|0)){n=0;break e}r[e+(n<<1)>>1]=(((s[m+(n<<2)>>2]|0)>>>4)+1|0)>>>1;n=n+1|0}}while(0);while(1){if(!((Cn(e,i)|0)==0&(n|0)<16))break;Mn(m,i,65536-(2<<n)|0);t=0;while(1){if((t|0)>=(i|0))break;r[e+(t<<1)>>1]=(((s[m+(t<<2)>>2]|0)>>>4)+1|0)>>>1;t=t+1|0}n=n+1|0}u=g;return}function xn(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,s=0,o=0,l=0,f=0,h=0,u=0,c=0,d=0,p=0,b=0,w=0,m=0;b=e+(i+-1<<1)|0;w=t+(i<<1)|0;d=0;while(1){if((d|0)>=20)break;f=r[e>>1]|0;l=r[t>>1]|0;n=f;s=0;o=1;f=(f<<16>>16)-(l<<16>>16)|0;while(1){if((o|0)>=(i|0))break;h=r[e+(o<<1)>>1]|0;c=(h<<16>>16)-((n<<16>>16)+(r[t+(o<<1)>>1]|0))|0;u=(c|0)<(f|0);n=h;s=u?o:s;o=o+1|0;f=u?c:f}u=32768-((r[b>>1]|0)+(r[w>>1]|0))|0;h=(u|0)<(f|0);c=h?i:s;if(((h?u:f)|0)>-1){p=36;break}do if(!c)r[e>>1]=l;else{if((c|0)==(i|0)){r[b>>1]=32768-(a[w>>1]|0);break}else{n=0;l=0}while(1){if((n|0)>=(c|0))break;u=l+(r[t+(n<<1)>>1]|0)|0;n=n+1|0;l=u}h=t+(c<<1)|0;u=r[h>>1]|0;s=u>>1;n=i;o=32768;while(1){if((n|0)<=(c|0))break;f=o-(r[t+(n<<1)>>1]|0)|0;n=n+-1|0;o=f}n=l+s|0;o=o-s|0;f=e+(c+-1<<1)|0;m=r[f>>1]|0;l=e+(c<<1)|0;s=r[l>>1]|0;s=((m<<16>>16)+(s<<16>>16)>>1)+((m&65535)+(s&65535)&1)|0;if((n|0)>(o|0)){if((s|0)<=(n|0))n=(s|0)<(o|0)?o:s}else if((s|0)>(o|0))n=o;else n=(s|0)<(n|0)?n:s;m=n-(u>>>1)|0;r[f>>1]=m;r[l>>1]=m+(a[h>>1]|0)}while(0);d=d+1|0}if((p|0)==36)return;if((d|0)==20)o=1;else return;while(1){if((o|0)>=(i|0))break;n=r[e+(o<<1)>>1]|0;f=o;while(1){l=f+-1|0;if((f|0)<=0)break;s=r[e+(l<<1)>>1]|0;if(n<<16>>16>=s<<16>>16)break;r[e+(f<<1)>>1]=s;f=l}r[e+(f<<1)>>1]=n;o=o+1|0}s=r[e>>1]|0;n=r[t>>1]|0;n=s<<16>>16>n<<16>>16?s:n;r[e>>1]=n;n=n<<16>>16;s=1;while(1){if((s|0)>=(i|0))break;p=e+(s<<1)|0;d=r[p>>1]|0;m=n+(r[t+(s<<1)>>1]|0)|0;m=(m|0)>32767?32767:((m|0)<-32768?-32768:m)<<16>>16;m=(d|0)>(m|0)?d:m;r[p>>1]=m;n=m;s=s+1|0}n=r[b>>1]|0;s=32768-(r[w>>1]|0)|0;s=(n|0)<(s|0)?n:s;r[b>>1]=s;n=i+-2|0;while(1){if((n|0)<=-1)break;i=e+(n<<1)|0;w=r[i>>1]|0;m=(s<<16>>16)-(r[t+(n+1<<1)>>1]|0)|0;m=(w|0)<(m|0)?w:m;r[i>>1]=m;s=m;n=n+-1|0}return}function In(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,s=0,o=0,a=0,l=0,f=0;n=r[t>>1]|0;s=(r[t+2>>1]|0)-(n<<16>>16)|0;s=131072/(((s|0)>1?s:1)|0)|0;n=(131072/((n<<16>>16>1?n:1)<<16>>16|0)|0)+s|0;r[e>>1]=(n|0)<32767?n:32767;i=i+-1|0;n=1;while(1){if((n|0)>=(i|0))break;l=n+1|0;o=t+(l<<1)|0;f=(r[o>>1]|0)-(r[t+(n<<1)>>1]|0)|0;f=131072/(((f|0)>1?f:1)|0)|0;a=f+s|0;r[e+(n<<1)>>1]=(a|0)<32767?a:32767;a=n+2|0;o=(r[t+(a<<1)>>1]|0)-(r[o>>1]|0)|0;o=131072/(((o|0)>1?o:1)|0)|0;f=f+o|0;r[e+(l<<1)>>1]=(f|0)<32767?f:32767;n=a;s=o}f=32768-(r[t+(i<<1)>>1]|0)|0;f=(131072/(((f|0)>1?f:1)|0)|0)+s|0;r[e+(i<<1)>>1]=(f|0)<32767?f:32767;return}function On(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var o=0,a=0,l=0,f=0,h=0,u=0,c=0;n=n>>1;o=e+4|0;a=0;while(1){if((a|0)>=(n|0))break;c=a<<1;u=r[i+(c<<1)>>1]<<10;f=u-(s[e>>2]|0)|0;h=(te(f>>16,-25727)|0)+((te(f&65535,-25727)|0)>>16)|0;s[e>>2]=u+(f+h);c=r[i+((c|1)<<1)>>1]<<10;f=s[o>>2]|0;l=c-f|0;l=((l>>16)*9872|0)+(((l&65535)*9872|0)>>>16)|0;s[o>>2]=c+l;l=(u+h+f+l>>10)+1>>1;r[t+(a<<1)>>1]=(l|0)>32767?32767:((l|0)<-32768?-32768:l)&65535;a=a+1|0}return}function Nn(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var r=0,o=0,a=0,l=0,f=0,h=0;r=0;while(1){if((r|0)>=(n|0)){a=1;break}s[t+(r<<2)>>2]=r;r=r+1|0}while(1){if((a|0)>=(n|0))break;o=s[e+(a<<2)>>2]|0;f=a;while(1){l=f+-1|0;if((f|0)<=0)break;r=s[e+(l<<2)>>2]|0;if((o|0)>=(r|0))break;s[e+(f<<2)>>2]=r;s[t+(f<<2)>>2]=s[t+(l<<2)>>2];f=l}s[e+(f<<2)>>2]=o;s[t+(f<<2)>>2]=a;a=a+1|0}f=e+(n+-1<<2)|0;h=n+-2|0;a=n;while(1){if((a|0)>=(i|0))break;r=s[e+(a<<2)>>2]|0;if((r|0)<(s[f>>2]|0)){l=h;while(1){if((l|0)<=-1)break;o=s[e+(l<<2)>>2]|0;if((r|0)>=(o|0))break;n=l+1|0;s[e+(n<<2)>>2]=o;s[t+(n<<2)>>2]=s[t+(l<<2)>>2];l=l+-1|0}n=l+1|0;s[e+(n<<2)>>2]=r;s[t+(n<<2)>>2]=a}a=a+1|0}return}function Dn(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var o=0,a=0,l=0,f=0,h=0,u=0,c=0;f=31-(ne(n|0)|0)|0;h=n+-1|0;a=((h|0)>0?h:0)+1&-2;l=0;o=n;while(1){if((l|0)>=(h|0))break;c=r[i+(l<<1)>>1]|0;c=te(c,c)|0;u=r[i+((l|1)<<1)>>1]|0;l=l+2|0;o=o+((c+(te(u,u)|0)|0)>>>f)|0}if((a|0)<(n|0)){c=r[i+(a<<1)>>1]|0;o=o+((te(c,c)|0)>>>f)|0}o=f+3-(ne(o|0)|0)|0;o=(o|0)<0?0:o;a=n+-1|0;a=((a|0)>0?a:0)+1&-2;l=0;f=0;while(1){if((l|0)>=(h|0))break;u=r[i+(l<<1)>>1]|0;u=te(u,u)|0;c=r[i+((l|1)<<1)>>1]|0;l=l+2|0;f=f+((u+(te(c,c)|0)|0)>>>o)|0}if((a|0)>=(n|0)){c=f;s[t>>2]=o;s[e>>2]=c;return}c=r[i+(a<<1)>>1]|0;c=f+((te(c,c)|0)>>>o)|0;s[t>>2]=o;s[e>>2]=c;return}function Ln(e,t,i,n,r,s){e=e|0;t=t|0;i=+i;n=n|0;r=r|0;s=s|0;var o=0,a=0,l=0,c=0,d=0,p=0,b=0,w=0,m=0,g=0,_=0,v=0,k=0,y=0,E=0,A=0,T=0,S=0,M=0,R=0,C=0,P=0,x=0,I=0,O=0,N=0;P=u;u=u+976|0;A=P+784|0;T=P+592|0;R=P+392|0;E=P+192|0;C=P;o=+tn(t,te(r,n)|0);yr(A|0,0,192)|0;c=0;while(1){if((c|0)>=(r|0))break;a=t+((te(c,n)|0)<<2)|0;l=1;while(1){if((l|0)>(s|0))break;M=+nn(a,a+(l<<2)|0,n-l|0);y=A+(l+-1<<3)|0;h[y>>3]=+h[y>>3]+M;l=l+1|0}c=c+1|0}Sr(T|0,A|0,192)|0;M=o*9999999747378752e-21;v=o+M+9.999999717180685e-10;h[R>>3]=v;h[E>>3]=v;v=i;k=1;l=0;y=2;_=1;while(1){if((l|0)>=(s|0))break;c=n-l|0;p=c+-1|0;m=0;while(1){if((m|0)>=(r|0))break;w=t+((te(m,n)|0)<<2)|0;i=+f[w+(l<<2)>>2];d=+f[w+(p<<2)>>2];a=0;b=i;g=d;while(1){if((l|0)==(a|0)){a=0;break}O=+f[w+(l-a+-1<<2)>>2];N=A+(a<<3)|0;h[N>>3]=+h[N>>3]-i*O;I=+f[w+(c+a<<2)>>2];N=T+(a<<3)|0;h[N>>3]=+h[N>>3]-d*I;x=+h[C+(a<<3)>>3];a=a+1|0;b=b+O*x;g=g+I*x}while(1){if((a|0)==(k|0))break;N=R+(a<<3)|0;h[N>>3]=+h[N>>3]-b*+f[w+(l-a<<2)>>2];N=E+(a<<3)|0;h[N>>3]=+h[N>>3]-g*+f[w+(c+a+-1<<2)>>2];a=a+1|0}m=m+1|0}a=0;i=+h[A+(l<<3)>>3];b=+h[T+(l<<3)>>3];while(1){if((l|0)==(a|0))break;O=+h[C+(a<<3)>>3];N=l-a+-1|0;a=a+1|0;i=i+ +h[T+(N<<3)>>3]*O;b=b+ +h[A+(N<<3)>>3]*O}w=l+1|0;h[R+(w<<3)>>3]=i;h[E+(w<<3)>>3]=b;a=0;i=+h[E>>3];d=+h[R>>3];while(1){if((l|0)==(a|0))break;I=+h[C+(a<<3)>>3];N=a+1|0;O=b+ +h[E+(l-a<<3)>>3]*I;a=N;i=i+ +h[E+(N<<3)>>3]*I;d=d+ +h[R+(N<<3)>>3]*I;b=O}d=b*-2/(d+i);i=_*(1-d*d);if(!(i<=v))a=0;else{d=+z(+(1-v/_));i=v;d=b>0?-d:d;a=1}c=w>>1;p=0;while(1){if((p|0)>=(c|0))break;m=C+(p<<3)|0;O=+h[m>>3];N=C+(l-p+-1<<3)|0;I=+h[N>>3];h[m>>3]=O+d*I;h[N>>3]=I+d*O;p=p+1|0}h[C+(l<<3)>>3]=d;if(!a)a=0;else{S=29;break}while(1){if((a|0)==(y|0))break;m=R+(a<<3)|0;O=+h[m>>3];N=E+(l-a+1<<3)|0;I=+h[N>>3];h[m>>3]=O+d*I;h[N>>3]=I+d*O;a=a+1|0}k=k+1|0;l=w;y=y+1|0;_=i}if((S|0)==29){while(1){l=l+1|0;if((l|0)>=(s|0))break;h[C+(l<<3)>>3]=0;S=29}if(a|0){a=0;while(1){if((a|0)>=(s|0)){a=0;break}f[e+(a<<2)>>2]=-+h[C+(a<<3)>>3];a=a+1|0}while(1){if((a|0)>=(r|0))break;o=o-+tn(t+((te(a,n)|0)<<2)|0,s);a=a+1|0}O=o*i;u=P;return+O}}a=0;o=+h[R>>3];i=1;while(1){if((a|0)>=(s|0))break;O=+h[C+(a<<3)>>3];N=a+1|0;I=+h[R+(N<<3)>>3];f[e+(a<<2)>>2]=-O;a=N;o=o+I*O;i=i+O*O}O=o-M*i;u=P;return+O}function Un(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var o=0,a=0,l=0,f=0,h=0,c=0,d=0,p=0,b=0,w=0,m=0,g=0,_=0,v=0,k=0,y=0,E=0,A=0,T=0,S=0,M=0,R=0,C=0,P=0,x=0,I=0,O=0,N=0;N=u;u=u+32|0;O=N;p=e+2772|0;o=e+2316|0;l=e+4156|0;if((s[o>>2]|0)!=(s[l>>2]|0)){f=e+2340|0;a=s[f>>2]|0;h=32767/(a+1|0)|0;c=0;d=0;while(1){if((d|0)>=(a|0))break;I=c+h|0;r[e+4052+(d<<1)>>1]=I;a=s[f>>2]|0;c=I;d=d+1|0}s[e+4148>>2]=0;s[e+4152>>2]=3176576;s[l>>2]=s[o>>2]}c=e+4160|0;do if(!(s[c>>2]|0)){if(!(s[e+4164>>2]|0)){o=e+2340|0;a=0;while(1){if((a|0)>=(s[o>>2]|0))break;P=r[e+2344+(a<<1)>>1]|0;I=e+4052+(a<<1)|0;C=r[I>>1]|0;x=C&65535;r[I>>1]=x+((((P<<16>>16)-(C<<16>>16)>>16)*16348|0)+((((P&65535)-x&65535)*16348|0)>>>16));a=a+1|0}h=e+2324|0;o=s[h>>2]|0;a=0;l=0;f=0;while(1){if((a|0)>=(o|0))break;x=s[t+16+(a<<2)>>2]|0;P=(x|0)>(l|0);I=P?a:f;a=a+1|0;l=P?x:l;f=I}l=e+2332|0;a=s[l>>2]|0;Mr(e+2772+(a<<2)|0,p|0,(te(o+-1|0,a)|0)<<2|0)|0;l=s[l>>2]|0;Sr(p|0,e+4+((te(f,l)|0)<<2)|0,l<<2|0)|0;l=e+4148|0;o=s[h>>2]|0;a=0;while(1){if((a|0)>=(o|0))break;x=s[l>>2]|0;I=(s[t+16+(a<<2)>>2]|0)-x|0;s[l>>2]=x+(((I>>16)*4634|0)+(((I&65535)*4634|0)>>>16));a=a+1|0}if(s[c>>2]|0)break}yr(e+4084|0,0,s[e+2340>>2]<<2|0)|0;u=N;return}while(0);x=Ne()|0;I=u;u=u+((1*(n+16<<2)|0)+15&-16)|0;P=r[e+4224>>1]|0;o=P<<16>>16;a=s[e+4244>>2]|0;f=a<<16>>16;a=(te(o>>16,f)|0)+((te(P&65535,f)|0)>>16)+(te(o,(a>>15)+1>>1)|0)|0;o=s[e+4148>>2]|0;f=a>>16;if((a|0)>2097151|(o|0)>8388608){l=o>>16;l=te(l,l)|0;a=(te(f,f)|0)<<5;o=l-a|0;if((o|0)<1)c=0;else{f=ne(o|0)|0;f=(l|0)==(a|0)?32:f;a=24-f|0;l=0-a|0;do if(a)if((a|0)<0){o=o<<l|o>>>(a+32|0);break}else{o=o<<32-a|o>>>a;break}while(0);P=((f&1|0)==0?46214:32768)>>>(f>>>1);c=(te(o&127,13959168)|0)>>>16;c=P+((te(P>>16,c)|0)+((te(P&65535,c)|0)>>>16))<<16}}else{P=a<<16>>16;l=o<<16>>16;l=(te(o>>16,l)|0)+((te(o&65535,l)|0)>>16)+(te(o,(o>>15)+1>>1)|0)|0;a=(te(f,P)|0)+((te(a&65535,P)|0)>>16)+(te(a,(a>>15)+1>>1)|0)<<5;o=l-a|0;if((o|0)<1)c=0;else{f=ne(o|0)|0;f=(l|0)==(a|0)?32:f;a=24-f|0;l=0-a|0;do if(a)if((a|0)<0){o=o<<l|o>>>(a+32|0);break}else{o=o<<32-a|o>>>a;break}while(0);P=((f&1|0)==0?46214:32768)>>>(f>>>1);c=(te(o&127,13959168)|0)>>>16;c=P+((te(P>>16,c)|0)+((te(P&65535,c)|0)>>>16))<<8}}o=I+64|0;l=255;while(1){if((l|0)<=(n|0))break;l=l>>1}a=e+4152|0;f=0;h=s[a>>2]|0;while(1){if((f|0)>=(n|0))break;P=(te(h,196314165)|0)+907633515|0;s[o+(f<<2)>>2]=s[e+2772+((P>>24&l)<<2)>>2];f=f+1|0;h=P}s[a>>2]=h;P=e+2340|0;Pn(O,e+4052|0,s[P>>2]|0);C=e+4084|0;o=I;a=C;l=o+64|0;do{s[o>>2]=s[a>>2];o=o+4|0;a=a+4|0}while((o|0)<(l|0));e=r[O>>1]|0;b=r[O+2>>1]|0;w=r[O+4>>1]|0;m=r[O+6>>1]|0;g=r[O+8>>1]|0;_=r[O+10>>1]|0;v=r[O+12>>1]|0;k=r[O+14>>1]|0;y=r[O+16>>1]|0;E=r[O+18>>1]|0;A=r[O+20>>1]|0;T=r[O+22>>1]|0;S=r[O+24>>1]|0;M=r[O+26>>1]|0;R=r[O+28>>1]|0;p=r[O+30>>1]|0;t=c<<10>>16;c=(c>>21)+1>>1;d=0;while(1){if((d|0)>=(n|0))break;O=s[I+(d+15<<2)>>2]|0;O=(s[P>>2]>>1)+((te(O>>16,e)|0)+((te(O&65535,e)|0)>>16))|0;o=s[I+(d+14<<2)>>2]|0;o=O+((te(o>>16,b)|0)+((te(o&65535,b)|0)>>16))|0;O=s[I+(d+13<<2)>>2]|0;O=o+((te(O>>16,w)|0)+((te(O&65535,w)|0)>>16))|0;o=s[I+(d+12<<2)>>2]|0;o=O+((te(o>>16,m)|0)+((te(o&65535,m)|0)>>16))|0;O=s[I+(d+11<<2)>>2]|0;O=o+((te(O>>16,g)|0)+((te(O&65535,g)|0)>>16))|0;o=s[I+(d+10<<2)>>2]|0;o=O+((te(o>>16,_)|0)+((te(o&65535,_)|0)>>16))|0;O=s[I+(d+9<<2)>>2]|0;O=o+((te(O>>16,v)|0)+((te(O&65535,v)|0)>>16))|0;o=s[I+(d+8<<2)>>2]|0;o=O+((te(o>>16,k)|0)+((te(o&65535,k)|0)>>16))|0;O=s[I+(d+7<<2)>>2]|0;O=o+((te(O>>16,y)|0)+((te(O&65535,y)|0)>>16))|0;o=s[I+(d+6<<2)>>2]|0;o=O+((te(o>>16,E)|0)+((te(o&65535,E)|0)>>16))|0;if((s[P>>2]|0)==16){O=s[I+(d+5<<2)>>2]|0;O=o+((te(O>>16,A)|0)+((te(O&65535,A)|0)>>16))|0;o=s[I+(d+4<<2)>>2]|0;o=O+((te(o>>16,T)|0)+((te(o&65535,T)|0)>>16))|0;O=s[I+(d+3<<2)>>2]|0;O=o+((te(O>>16,S)|0)+((te(O&65535,S)|0)>>16))|0;o=s[I+(d+2<<2)>>2]|0;o=O+((te(o>>16,M)|0)+((te(o&65535,M)|0)>>16))|0;O=s[I+(d+1<<2)>>2]|0;O=o+((te(O>>16,R)|0)+((te(O&65535,R)|0)>>16))|0;o=s[I+(d<<2)>>2]|0;o=O+((te(o>>16,p)|0)+((te(o&65535,p)|0)>>16))|0}h=I+(d+16<<2)|0;a=s[h>>2]|0;l=(o|0)>134217727;f=l?2147483632:((o|0)<-134217728?-134217728:o)<<4;if((a+(l?2147483632:((o|0)<-134217728?-134217728:o)<<4)|0)>-1)if((a&f|0)<0)o=-2147483648;else o=a+(l?2147483632:((o|0)<-134217728?-134217728:o)<<4)|0;else if((a|f|0)>-1)o=2147483647;else o=a+(l?2147483632:((o|0)<-134217728?-134217728:o)<<4)|0;s[h>>2]=o;f=i+(d<<1)|0;l=r[f>>1]|0;o=((te(o>>16,t)|0)+((te(o&65535,t)|0)>>16)+(te(o,c)|0)>>7)+1>>1;a=(o|0)>32767;if((l+(a?32767:(o|0)<-32768?-32768:o)|0)<=32767)if((l+(a?32767:(o|0)<-32768?-32768:o)|0)<-32768)o=-32768;else o=l+(a?32767:(o|0)<-32768?-32768:o)|0;else o=32767;r[f>>1]=o;d=d+1|0}o=C;a=I+(n<<2)|0;l=o+64|0;do{s[o>>2]=s[a>>2];o=o+4|0;a=a+4|0}while((o|0)<(l|0));He(x|0);u=N;return}function Bn(e,t,i,o){e=e|0;t=t|0;i=i|0;o=o|0;var a=0,l=0,f=0,h=0,c=0,d=0,p=0,b=0,w=0,m=0,g=0,_=0,v=0,k=0,y=0,E=0,A=0,T=0,S=0,M=0,R=0,C=0,P=0,I=0,O=0,N=0,D=0,L=0,U=0,B=0,j=0,F=0,G=0,H=0,z=0,q=0,W=0,V=0,Y=0,Z=0,$=0,K=0,X=0,J=0,Q=0,ee=0,ie=0,re=0,se=0;re=u;u=u+32|0;ie=re;Z=e+2336|0;Q=s[Z>>2]|0;X=u;u=u+((1*(Q<<1)|0)+15&-16)|0;p=e+2328|0;l=s[p>>2]|0;J=u;u=u+((1*(Q+l<<2)|0)+15&-16)|0;Q=e+2332|0;d=s[Q>>2]|0;ee=u;u=u+((1*(d<<2)|0)+15&-16)|0;$=u;u=u+((1*(d+16<<2)|0)+15&-16)|0;d=r[e+2766>>1]|0;K=e+2765|0;w=(d&65535)>>>8&255;d=r[25404+(n[K>>0]>>1<<2)+((d&65535)<<24>>24<<1)>>1]<<4;b=0;a=n[e+2770>>0]|0;while(1){if((b|0)>=(l|0))break;h=(te(a,196314165)|0)+907633515|0;c=o+(b<<1)|0;l=r[c>>1]|0;a=l<<16>>16<<14;f=e+4+(b<<2)|0;s[f>>2]=a;if(l<<16>>16<=0){if(l<<16>>16<0){a=a|1280;s[f>>2]=a}}else{a=a+-1280|0;s[f>>2]=a}l=a+d|0;s[f>>2]=(h|0)<0?0-l|0:l;l=s[p>>2]|0;b=b+1|0;a=h+(r[c>>1]|0)|0}H=e+1284|0;a=$;l=H;f=a+64|0;do{s[a>>2]=s[l>>2];a=a+4|0;l=l+4|0}while((a|0)<(f|0));z=e+2324|0;q=e+2340|0;W=e+4160|0;V=t+136|0;v=w<<24>>24>3;k=ie+2|0;y=ie+4|0;E=ie+6|0;A=ie+8|0;T=ie+10|0;S=ie+12|0;M=ie+14|0;R=ie+16|0;C=ie+18|0;P=ie+20|0;I=ie+22|0;O=ie+24|0;N=ie+26|0;D=ie+28|0;L=ie+30|0;U=e+4164|0;B=e+2308|0;j=0;F=e+4|0;G=i;o=s[Z>>2]|0;while(1){if((j|0)>=(s[z>>2]|0))break;p=t+32+(j>>1<<5)|0;Sr(ie|0,p|0,s[q>>2]<<1|0)|0;m=t+96+(j*5<<1)|0;d=n[K>>0]|0;_=s[t+16+(j<<2)>>2]|0;g=_>>>6;c=(_|0)>0;if(!c)if(!_)a=32;else{a=0-_|0;Y=12}else{a=_;Y=12}if((Y|0)==12){Y=0;a=ne(a|0)|0}l=_<<a+-1;f=l>>16;h=536870911/(f|0)|0;b=h<<16;w=b>>16;l=536870912-((te(f,w)|0)+((te(l&65535,w)|0)>>16))<<3;h=b+((te(l>>16,w)|0)+((te(l&65528,w)|0)>>16))+(te(l,(h>>15)+1>>1)|0)|0;a=62-a|0;l=a+-47|0;if((l|0)<1){f=47-a|0;a=-2147483648>>f;l=2147483647>>>f;if((a|0)>(l|0)){if((h|0)<=(a|0))a=(h|0)<(l|0)?l:h}else if((h|0)>(l|0))a=l;else a=(h|0)<(a|0)?a:h;a=a<<f}else a=(l|0)<32?h>>l:0;f=s[e>>2]|0;e:do if((_|0)==(f|0))c=65536;else{if((f|0)<=0)if(!f)h=32;else{l=0-f|0;Y=24}else{l=f;Y=24}if((Y|0)==24){Y=0;h=ne(l|0)|0}f=f<<h+-1;if(!c)if(!_)l=32;else{l=0-_|0;Y=27}else{l=_;Y=27}if((Y|0)==27){Y=0;l=ne(l|0)|0}l=l+-1|0;b=_<<l;c=(536870911/(b>>16|0)|0)<<16>>16;w=(te(f>>16,c)|0)+((te(f&65535,c)|0)>>16)|0;b=Nr(b|0,((b|0)<0)<<31>>31|0,w|0,((w|0)<0)<<31>>31|0)|0;b=Tr(b|0,x|0,29)|0;f=f-(b&-8)|0;c=w+((te(f>>16,c)|0)+((te(f&65535,c)|0)>>16))|0;l=h+28-l|0;f=l+-16|0;if((l|0)<16){h=16-l|0;l=-2147483648>>h;f=2147483647>>>h;if((l|0)>(f|0)){if((c|0)<=(l|0))l=(c|0)<(f|0)?f:c}else if((c|0)>(f|0))l=f;else l=(c|0)<(l|0)?l:c;l=l<<h}else l=(f|0)<32?c>>f:0;f=l>>16;h=l&65535;c=0;while(1){if((c|0)==16){c=l;break e}w=$+(c<<2)|0;b=s[w>>2]|0;se=b<<16>>16;s[w>>2]=(te(f,se)|0)+((te(h,se)|0)>>16)+(te(l,(b>>15)+1>>1)|0);c=c+1|0}}while(0);s[e>>2]=_;if((s[W>>2]|0)!=0?d<<24>>24!=2&(s[U>>2]|0)==2&(j|0)<2:0){r[m>>1]=0;r[m+2>>1]=0;r[m+4>>1]=0;r[m+6>>1]=0;r[m+8>>1]=0;r[m+4>>1]=4096;w=s[B>>2]|0;s[t+(j<<2)>>2]=w;Y=44}else if(d<<24>>24==2){w=s[t+(j<<2)>>2]|0;Y=44}else b=F;e:do if((Y|0)==44){Y=0;d=(j|0)==0;t:do if(!d){if(!((j|0)!=2|v)){f=s[Z>>2]|0;h=s[q>>2]|0;l=f-w-h+-2|0;if((j|0)!=2){Y=49;break}Sr(e+1348+(f<<1)|0,i|0,s[Q>>2]<<2|0)|0;f=s[Z>>2]|0;h=s[q>>2]|0;Y=49;break}if((c|0)!=65536){a=w+2|0;l=c>>16;f=c&65535;h=0;while(1){if((h|0)>=(a|0))break t;se=J+(o-h+-1<<2)|0;b=s[se>>2]|0;p=b<<16>>16;s[se>>2]=(te(l,p)|0)+((te(f,p)|0)>>16)+(te(c,(b>>15)+1>>1)|0);h=h+1|0}}}else{f=s[Z>>2]|0;h=s[q>>2]|0;l=f-w-h+-2|0;Y=49}while(0);t:do if((Y|0)==49){Y=0;Rn(X+(l<<1)|0,e+1348+(l+(te(j,s[Q>>2]|0)|0)<<1)|0,p,f-l|0,h);if(d){se=s[V>>2]<<16>>16;a=(te(a>>16,se)|0)+((te(a&65535,se)|0)>>16)<<2}f=w+2|0;h=a>>16;a=a&65535;l=0;while(1){if((l|0)>=(f|0))break t;se=r[X+((s[Z>>2]|0)-l+-1<<1)>>1]|0;s[J+(o-l+-1<<2)>>2]=(te(h,se)|0)+((te(a,se)|0)>>16);l=l+1|0}}while(0);h=m+2|0;c=m+4|0;d=m+6|0;p=m+8|0;f=s[Q>>2]|0;b=0;a=J+(o-w+2<<2)|0;l=o;while(1){if((b|0)>=(f|0)){b=ee;o=l;break e}w=s[a>>2]|0;se=r[m>>1]|0;se=(te(w>>16,se)|0)+((te(w&65535,se)|0)>>16)+2|0;w=s[a+-4>>2]|0;o=r[h>>1]|0;o=se+((te(w>>16,o)|0)+((te(w&65535,o)|0)>>16))|0;w=s[a+-8>>2]|0;se=r[c>>1]|0;se=o+((te(w>>16,se)|0)+((te(w&65535,se)|0)>>16))|0;w=s[a+-12>>2]|0;o=r[d>>1]|0;o=se+((te(w>>16,o)|0)+((te(w&65535,o)|0)>>16))|0;w=s[a+-16>>2]|0;se=r[p>>1]|0;se=o+((te(w>>16,se)|0)+((te(w&65535,se)|0)>>16))|0;se=(s[F+(b<<2)>>2]|0)+(se<<1)|0;s[ee+(b<<2)>>2]=se;s[J+(l<<2)>>2]=se<<1;b=b+1|0;a=a+4|0;l=l+1|0}}while(0);p=g<<16>>16;c=(_>>21)+1>>1;d=0;while(1){h=s[Q>>2]|0;if((d|0)>=(h|0))break;se=s[$+(d+15<<2)>>2]|0;_=r[ie>>1]|0;_=(s[q>>2]>>1)+((te(se>>16,_)|0)+((te(se&65535,_)|0)>>16))|0;se=s[$+(d+14<<2)>>2]|0;a=r[k>>1]|0;a=_+((te(se>>16,a)|0)+((te(se&65535,a)|0)>>16))|0;se=s[$+(d+13<<2)>>2]|0;_=r[y>>1]|0;_=a+((te(se>>16,_)|0)+((te(se&65535,_)|0)>>16))|0;se=s[$+(d+12<<2)>>2]|0;a=r[E>>1]|0;a=_+((te(se>>16,a)|0)+((te(se&65535,a)|0)>>16))|0;se=s[$+(d+11<<2)>>2]|0;_=r[A>>1]|0;_=a+((te(se>>16,_)|0)+((te(se&65535,_)|0)>>16))|0;se=s[$+(d+10<<2)>>2]|0;a=r[T>>1]|0;a=_+((te(se>>16,a)|0)+((te(se&65535,a)|0)>>16))|0;se=s[$+(d+9<<2)>>2]|0;_=r[S>>1]|0;_=a+((te(se>>16,_)|0)+((te(se&65535,_)|0)>>16))|0;se=s[$+(d+8<<2)>>2]|0;a=r[M>>1]|0;a=_+((te(se>>16,a)|0)+((te(se&65535,a)|0)>>16))|0;se=s[$+(d+7<<2)>>2]|0;_=r[R>>1]|0;_=a+((te(se>>16,_)|0)+((te(se&65535,_)|0)>>16))|0;se=s[$+(d+6<<2)>>2]|0;a=r[C>>1]|0;a=_+((te(se>>16,a)|0)+((te(se&65535,a)|0)>>16))|0;if((s[q>>2]|0)==16){se=s[$+(d+5<<2)>>2]|0;_=r[P>>1]|0;_=a+((te(se>>16,_)|0)+((te(se&65535,_)|0)>>16))|0;se=s[$+(d+4<<2)>>2]|0;a=r[I>>1]|0;a=_+((te(se>>16,a)|0)+((te(se&65535,a)|0)>>16))|0;se=s[$+(d+3<<2)>>2]|0;_=r[O>>1]|0;_=a+((te(se>>16,_)|0)+((te(se&65535,_)|0)>>16))|0;se=s[$+(d+2<<2)>>2]|0;a=r[N>>1]|0;a=_+((te(se>>16,a)|0)+((te(se&65535,a)|0)>>16))|0;se=s[$+(d+1<<2)>>2]|0;_=r[D>>1]|0;_=a+((te(se>>16,_)|0)+((te(se&65535,_)|0)>>16))|0;se=s[$+(d<<2)>>2]|0;a=r[L>>1]|0;a=_+((te(se>>16,a)|0)+((te(se&65535,a)|0)>>16))|0}l=s[b+(d<<2)>>2]|0;f=(a|0)>134217727;h=f?2147483632:((a|0)<-134217728?-134217728:a)<<4;if((l+(f?2147483632:((a|0)<-134217728?-134217728:a)<<4)|0)>-1)if((l&h|0)<0)a=-2147483648;else a=l+(f?2147483632:((a|0)<-134217728?-134217728:a)<<4)|0;else if((l|h|0)>-1)a=2147483647;else a=l+(f?2147483632:((a|0)<-134217728?-134217728:a)<<4)|0;s[$+(d+16<<2)>>2]=a;se=((te(a>>16,p)|0)+((te(a&65535,p)|0)>>16)+(te(a,c)|0)>>7)+1>>1;r[G+(d<<1)>>1]=(se|0)>32767?32767:((se|0)<-32768?-32768:se)&65535;d=d+1|0}a=$;l=$+(h<<2)|0;f=a+64|0;do{s[a>>2]=s[l>>2];a=a+4|0;l=l+4|0}while((a|0)<(f|0));j=j+1|0;F=F+(h<<2)|0;G=G+(h<<1)|0}a=H;l=$;f=a+64|0;do{s[a>>2]=s[l>>2];a=a+4|0;l=l+4|0}while((a|0)<(f|0));u=re;return}function jn(e,t,i,l,f,h,c){e=e|0;t=t|0;i=i|0;l=l|0;f=f|0;h=h|0;c=c|0;var d=0,p=0,b=0,w=0,m=0,g=0,_=0,v=0,k=0,y=0,E=0,A=0,T=0,S=0,M=0,R=0,C=0,P=0,I=0,O=0,N=0,D=0,L=0,U=0,B=0,j=0,F=0,G=0,H=0,z=0,q=0,W=0,V=0,Y=0,Z=0,$=0,K=0,X=0,J=0,Q=0,ee=0,ie=0,re=0,se=0,oe=0,ae=0,le=0;se=u;u=u+448|0;X=se+232|0;K=se+376|0;ie=se+344|0;q=se+200|0;V=se+184|0;W=se+168|0;J=se+88|0;Q=se+8|0;Z=se;re=se+312|0;Y=se+280|0;ee=se+360|0;$=se+248|0;H=i+2|0;xn(t,s[i+36>>2]|0,r[H>>1]|0);d=s[i>>2]|0;y=u;u=u+((1*((d&65535)<<2)|0)+15&-16)|0;z=i+8|0;G=i+12|0;k=d<<16>>16;d=d>>16;p=s[z>>2]|0;b=0;v=s[G>>2]|0;while(1){if((b|0)<(k|0)){m=d;g=0;_=0}else break;while(1){w=m+-2|0;if((w|0)<=-1)break;B=m+-1|0;B=te((a[t+(B<<1)>>1]|0)-(o[p+B>>0]<<7)<<16>>16,r[v+(B<<1)>>1]|0)|0;U=g>>1;F=te((a[t+(w<<1)>>1]|0)-(o[p+w>>0]<<7)<<16>>16,r[v+(w<<1)>>1]|0)|0;j=B>>1;m=w;g=F;_=_+((B|0)>(U|0)?B-U|0:U-B|0)+((F|0)>(j|0)?F-j|0:j-F|0)|0}s[y+(b<<2)>>2]=_;p=p+d|0;b=b+1|0;v=v+(d<<1)|0}F=u;u=u+((1*(h<<2)|0)+15&-16)|0;Nn(y,F,k,h);D=u;u=u+((1*(h<<2)|0)+15&-16)|0;L=u;u=u+((1*(h<<4)|0)+15&-16)|0;U=i+32|0;B=i+4|0;j=f<<16>>16;O=c>>1;N=i+16|0;P=f<<14>>16;I=0;while(1){if((I|0)>=(h|0))break;C=s[F+(I<<2)>>2]|0;m=r[H>>1]|0;_=te(C,m)|0;g=(s[z>>2]|0)+_|0;_=(s[G>>2]|0)+(_<<1)|0;v=0;while(1){if((v|0)>=(m|0))break;R=r[_+(v<<1)>>1]|0;r[re+(v<<1)>>1]=(te((a[t+(v<<1)>>1]|0)-(o[g+v>>0]<<7)<<16>>16,R)|0)>>>14;p=r[l+(v<<1)>>1]|0;S=p<<16>>16;R=te(R,R)|0;p=ne((p<<16>>16>0?S:0-S|0)|0)|0;S=S<<p+-1;d=ne(R|0)|0;d=((R|0)==0?32:d)+-1|0;R=R<<d;w=(536870911/(R>>16|0)|0)<<16>>16;M=(te(S>>16,w)|0)+((te(S&65535,w)|0)>>16)|0;R=Nr(R|0,((R|0)<0)<<31>>31|0,M|0,((M|0)<0)<<31>>31|0)|0;R=Tr(R|0,x|0,29)|0;R=S-(R&-8)|0;w=M+((te(R>>16,w)|0)+((te(R&65535,w)|0)>>16))|0;d=p+28-d|0;p=d+-21|0;if((d|0)<21){b=21-d|0;d=-2147483648>>b;p=2147483647>>>b;if((d|0)>(p|0)){if((w|0)<=(d|0))d=(w|0)<(p|0)?p:w}else if((w|0)>(p|0))d=p;else d=(w|0)<(d|0)?d:w;d=d<<b}else d=(p|0)<32?w>>p:0;r[Y+(v<<1)>>1]=d;v=v+1|0}Ui($,ee,i,C);R=I<<4;M=s[U>>2]|0;g=s[B>>2]|0;b=g<<16>>16;w=r[H>>1]|0;m=-10;while(1){if((m|0)==10)break;d=m<<10;p=d+1024|0;e:do if((m|0)>0){d=(m<<26>>16)+-102|0;p=(p<<16>>16)+-102|0}else{switch(m|0){case 0:{p=(p<<16>>16)+-102|0;break e}case-1:{d=-1024;break}default:p=p|102}d=d|102}while(0);S=m+10|0;s[J+(S<<2)>>2]=(te(d<<16>>16,b)|0)>>16;s[Q+(S<<2)>>2]=(te(p<<16>>16,b)|0)>>16;m=m+1|0}s[q>>2]=0;r[ie>>1]=0;S=w<<16>>16;A=g>>16;d=S;E=1;e:while(1){T=E<<1;c=(T|0)<5;t:while(1){f=d+-1|0;if((d|0)<=0){g=2147483647;w=0;d=0;break e}p=M+(r[$+(f<<1)>>1]|0)|0;b=r[re+(f<<1)>>1]|0;w=ee+f|0;m=Y+(f<<1)|0;k=0;while(1){if((k|0)>=(E|0))break;v=ie+(k<<1)|0;_=(te(o[w>>0]|0,r[v>>1]|0)|0)>>8;d=(te(A,b-_<<16>>16)|0)>>16;d=(d|0)>9?9:(d|0)<-10?-10:d;n[K+(k<<4)+f>>0]=d;y=d+10|0;g=(s[J+(y<<2)>>2]|0)+_|0;_=(s[Q+(y<<2)>>2]|0)+_|0;r[v>>1]=g;v=k+E|0;r[ie+(v<<1)>>1]=_;do if((d|0)>2)if((d|0)==3){y=o[p+7>>0]|0;d=280;break}else{d=d*43|0;y=d+108|0;d=d+151|0;break}else{if((d|0)>=-3){y=o[p+(d+4)>>0]|0;d=o[p+(d+5)>>0]|0;break}if((d|0)==-4){y=280;d=o[p+1>>0]|0;break}else{d=te(d,-43)|0;y=d+108|0;d=d+65|0;break}}while(0);ae=q+(k<<2)|0;oe=s[ae>>2]|0;le=b-g<<16>>16;le=te(le,le)|0;g=r[m>>1]|0;s[ae>>2]=oe+(te(le,g)|0)+(te(j,y<<16>>16)|0);y=b-_<<16>>16;s[q+(v<<2)>>2]=oe+(te(te(y,y)|0,g)|0)+(te(j,d<<16>>16)|0);k=k+1|0}if(c){d=0;break}else _=0;while(1){if((_|0)==4){d=0;m=0;p=0;b=0;w=2147483647;break}b=q+(_<<2)|0;d=s[b>>2]|0;p=_+4|0;w=q+(p<<2)|0;g=s[w>>2]|0;m=W+(_<<2)|0;if((d|0)>(g|0)){s[m>>2]=d;s[b>>2]=g;s[w>>2]=d;ae=ie+(_<<1)|0;le=r[ae>>1]|0;d=ie+(p<<1)|0;r[ae>>1]=r[d>>1]|0;r[d>>1]=le;d=g}else{s[m>>2]=g;p=_}s[V+(_<<2)>>2]=d;s[X+(_<<2)>>2]=p;_=_+1|0}while(1){if((p|0)<4){le=s[W+(p<<2)>>2]|0;ae=(w|0)>(le|0);oe=s[V+(p<<2)>>2]|0;y=(b|0)<(oe|0);d=y?p:d;m=ae?p:m;p=p+1|0;b=y?oe:b;w=ae?le:w;continue}if((w|0)>=(b|0)){d=0;break}s[X+(d<<2)>>2]=s[X+(m<<2)>>2]^4;b=m+4|0;s[q+(d<<2)>>2]=s[q+(b<<2)>>2];r[ie+(d<<1)>>1]=r[ie+(b<<1)>>1]|0;s[V+(d<<2)>>2]=0;s[W+(m<<2)>>2]=2147483647;b=K+(d<<4)|0;d=K+(m<<4)|0;p=b+16|0;do{n[b>>0]=n[d>>0]|0;b=b+1|0;d=d+1|0}while((b|0)<(p|0));d=0;m=0;p=0;b=0;w=2147483647}while(1){if((d|0)==4){d=f;continue t}le=K+(d<<4)+f|0;n[le>>0]=(o[le>>0]|0)+((s[X+(d<<2)>>2]|0)>>>2);d=d+1|0}}while(1){if((d|0)>=(E|0)){d=T;break}n[K+(d+E<<4)+f>>0]=(o[K+(d<<4)+f>>0]|0)+1;d=d+1|0}while(1){if((d|0)>=4){d=f;E=T;continue e}n[K+(d<<4)+f>>0]=n[K+(d-T<<4)+f>>0]|0;d=d+1|0}}while(1){if((d|0)==8)break;ae=s[q+(d<<2)>>2]|0;le=(g|0)>(ae|0);g=le?ae:g;w=le?d:w;d=d+1|0}d=L+R|0;p=w&3;b=0;while(1){if((b|0)>=(S|0))break;n[d+b>>0]=n[K+(p<<4)+b>>0]|0;b=b+1|0}n[d>>0]=(o[d>>0]|0)+(w>>>2);m=D+(I<<2)|0;s[m>>2]=g;d=te(O,r[i>>1]|0)|0;d=(s[N>>2]|0)+d|0;p=n[d+C>>0]|0;if(!C)d=256-(p&255)|0;else d=(o[d+(C+-1)>>0]|0)-(p&255)|0;w=ne(d|0)|0;p=24-w|0;b=0-p|0;do if(p)if((p|0)<0){d=d<<b|d>>>(p+32|0);break}else{d=d<<32-p|d>>>p;break}while(0);le=d&127;s[m>>2]=g+(te(1024-(le+(((te(le,128-le|0)|0)*179|0)>>>16)+(31-w<<7))<<16>>16,P)|0);I=I+1|0}Nn(D,Z,h,1);le=s[Z>>2]|0;n[e>>0]=s[F+(le<<2)>>2];Sr(e+1|0,L+(le<<4)|0,r[H>>1]|0)|0;gn(t,e,i);u=se;return}function Fn(){Nt(360,33176);Ve(376,33181,1,1,0);ct(384,33186,1,-128,127);ct(400,33191,1,-128,127);ct(392,33203,1,0,255);ct(408,33217,2,-32768,32767);ct(416,33223,2,0,65535);ct(424,33238,4,-2147483648,2147483647);ct(432,33242,4,0,-1);ct(440,33255,4,-2147483648,2147483647);ct(448,33260,4,0,-1);qt(456,33274,4);qt(464,33280,8);xe(48,33388);xe(80,33463);Ut(104,4,33559);$e(128,33591);Ct(136,0,33638);Ct(144,0,33699);Ct(152,1,33767);Ct(160,2,33837);Ct(168,3,33899);Ct(176,4,33970);Ct(184,5,34030);Ct(192,4,34099);Ct(200,5,34160);Ct(144,0,34199);Ct(152,1,34231);Ct(160,2,34264);Ct(168,3,34297);Ct(176,4,34331);Ct(184,5,34364);Ct(208,6,34429);Ct(216,7,34491);Ct(224,7,34554);return}function Gn(e){e=e|0;var t=0,i=0,r=0,o=0;o=s[e+4>>2]|0;r=o;e:do if(!(r&3)){e=o;i=4}else{t=o;e=r;while(1){if(!(n[t>>0]|0))break e;t=t+1|0;e=t;if(!(e&3)){e=t;i=4;break}}}while(0);if((i|0)==4){while(1){t=s[e>>2]|0;if(!((t&-2139062144^-2139062144)&t+-16843009))e=e+4|0;else break}if((t&255)<<24>>24)do e=e+1|0;while((n[e>>0]|0)!=0)}e=e-r+1|0;t=zn(e)|0;if(!t){o=0;return o|0}Sr(t|0,o|0,e|0)|0;o=t;return o|0}function Hn(e){e=+e;var t=0,i=0,n=0,r=0,o=0,a=0,l=0,f=0,u=0;h[d>>3]=e;i=s[d>>2]|0;t=s[d+4>>2]|0;n=(t|0)<0;do if(n|t>>>0<1048576){o=+H(+e);h[d>>3]=o;if((s[d>>2]|0)==0&(s[d+4>>2]|0)==0){e=-1/(e*e);break}if(n){e=(e-e)/0;break}else{h[d>>3]=e*0x40000000000000;t=s[d+4>>2]|0;n=s[d>>2]|0;i=-1077;r=9;break}}else if(t>>>0<=2146435071)if((i|0)==0&0==0&(t|0)==1072693248)e=0;else{
n=i;i=-1023;r=9}while(0);if((r|0)==9){r=t+614242|0;s[d>>2]=n;s[d+4>>2]=(r&1048575)+1072079006;l=+h[d>>3]+-1;a=l*(l*.5);f=l/(l+2);u=f*f;e=u*u;h[d>>3]=l-a;n=s[d+4>>2]|0;s[d>>2]=0;s[d+4>>2]=n;o=+h[d>>3];e=l-o-a+f*(a+(e*(e*(e*.15313837699209373+.22222198432149784)+.3999999999940942)+u*(e*(e*(e*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)));u=o*.4342944818781689;a=+(i+(r>>>20)|0);f=a*.30102999566361177;l=f+u;e=l+(u+(f-l)+(e*.4342944818781689+(a*3.694239077158931e-13+(o+e)*2.5082946711645275e-11)))}return+e}function zn(e){e=e|0;var t=0,i=0,n=0,r=0,o=0,a=0,l=0,f=0,h=0,u=0,c=0,d=0,p=0,b=0,w=0,m=0,g=0,_=0,v=0,k=0,y=0,E=0,A=0,T=0,S=0,M=0,R=0,C=0,P=0,x=0,I=0;do if(e>>>0<245){p=e>>>0<11?16:e+11&-8;e=p>>>3;f=s[8744]|0;t=f>>>e;if(t&3|0){t=(t&1^1)+e|0;i=35016+(t<<1<<2)|0;n=i+8|0;r=s[n>>2]|0;o=r+8|0;a=s[o>>2]|0;do if((i|0)!=(a|0)){if(a>>>0<(s[8748]|0)>>>0)At();e=a+12|0;if((s[e>>2]|0)==(r|0)){s[e>>2]=i;s[n>>2]=a;break}else At()}else s[8744]=f&~(1<<t);while(0);I=t<<3;s[r+4>>2]=I|3;I=r+I+4|0;s[I>>2]=s[I>>2]|1;I=o;return I|0}a=s[8746]|0;if(p>>>0>a>>>0){if(t|0){i=2<<e;i=t<<e&(i|0-i);i=(i&0-i)+-1|0;l=i>>>12&16;i=i>>>l;r=i>>>5&8;i=i>>>r;o=i>>>2&4;i=i>>>o;n=i>>>1&2;i=i>>>n;t=i>>>1&1;t=(r|l|o|n|t)+(i>>>t)|0;i=35016+(t<<1<<2)|0;n=i+8|0;o=s[n>>2]|0;l=o+8|0;r=s[l>>2]|0;do if((i|0)!=(r|0)){if(r>>>0<(s[8748]|0)>>>0)At();e=r+12|0;if((s[e>>2]|0)==(o|0)){s[e>>2]=i;s[n>>2]=r;h=s[8746]|0;break}else At()}else{s[8744]=f&~(1<<t);h=a}while(0);a=(t<<3)-p|0;s[o+4>>2]=p|3;n=o+p|0;s[n+4>>2]=a|1;s[n+a>>2]=a;if(h|0){r=s[8749]|0;t=h>>>3;i=35016+(t<<1<<2)|0;e=s[8744]|0;t=1<<t;if(e&t){e=i+8|0;t=s[e>>2]|0;if(t>>>0<(s[8748]|0)>>>0)At();else{u=e;c=t}}else{s[8744]=e|t;u=i+8|0;c=i}s[u>>2]=r;s[c+12>>2]=r;s[r+8>>2]=c;s[r+12>>2]=i}s[8746]=a;s[8749]=n;I=l;return I|0}e=s[8745]|0;if(e){l=(e&0-e)+-1|0;x=l>>>12&16;l=l>>>x;P=l>>>5&8;l=l>>>P;I=l>>>2&4;l=l>>>I;t=l>>>1&2;l=l>>>t;f=l>>>1&1;f=s[35280+((P|x|I|t|f)+(l>>>f)<<2)>>2]|0;l=(s[f+4>>2]&-8)-p|0;t=f;while(1){e=s[t+16>>2]|0;if(!e){e=s[t+20>>2]|0;if(!e)break}t=(s[e+4>>2]&-8)-p|0;I=t>>>0<l>>>0;l=I?t:l;t=e;f=I?e:f}r=s[8748]|0;if(f>>>0<r>>>0)At();a=f+p|0;if(f>>>0>=a>>>0)At();o=s[f+24>>2]|0;i=s[f+12>>2]|0;do if((i|0)==(f|0)){t=f+20|0;e=s[t>>2]|0;if(!e){t=f+16|0;e=s[t>>2]|0;if(!e){d=0;break}}while(1){i=e+20|0;n=s[i>>2]|0;if(n|0){e=n;t=i;continue}i=e+16|0;n=s[i>>2]|0;if(!n)break;else{e=n;t=i}}if(t>>>0<r>>>0)At();else{s[t>>2]=0;d=e;break}}else{n=s[f+8>>2]|0;if(n>>>0<r>>>0)At();e=n+12|0;if((s[e>>2]|0)!=(f|0))At();t=i+8|0;if((s[t>>2]|0)==(f|0)){s[e>>2]=i;s[t>>2]=n;d=i;break}else At()}while(0);do if(o|0){e=s[f+28>>2]|0;t=35280+(e<<2)|0;if((f|0)==(s[t>>2]|0)){s[t>>2]=d;if(!d){s[8745]=s[8745]&~(1<<e);break}}else{if(o>>>0<(s[8748]|0)>>>0)At();e=o+16|0;if((s[e>>2]|0)==(f|0))s[e>>2]=d;else s[o+20>>2]=d;if(!d)break}t=s[8748]|0;if(d>>>0<t>>>0)At();s[d+24>>2]=o;e=s[f+16>>2]|0;do if(e|0)if(e>>>0<t>>>0)At();else{s[d+16>>2]=e;s[e+24>>2]=d;break}while(0);e=s[f+20>>2]|0;if(e|0)if(e>>>0<(s[8748]|0)>>>0)At();else{s[d+20>>2]=e;s[e+24>>2]=d;break}}while(0);if(l>>>0<16){I=l+p|0;s[f+4>>2]=I|3;I=f+I+4|0;s[I>>2]=s[I>>2]|1}else{s[f+4>>2]=p|3;s[a+4>>2]=l|1;s[a+l>>2]=l;e=s[8746]|0;if(e|0){n=s[8749]|0;t=e>>>3;i=35016+(t<<1<<2)|0;e=s[8744]|0;t=1<<t;if(e&t){e=i+8|0;t=s[e>>2]|0;if(t>>>0<(s[8748]|0)>>>0)At();else{b=e;w=t}}else{s[8744]=e|t;b=i+8|0;w=i}s[b>>2]=n;s[w+12>>2]=n;s[n+8>>2]=w;s[n+12>>2]=i}s[8746]=l;s[8749]=a}I=f+8|0;return I|0}}}else if(e>>>0<=4294967231){e=e+11|0;p=e&-8;h=s[8745]|0;if(h){i=0-p|0;e=e>>>8;if(e)if(p>>>0>16777215)f=31;else{w=(e+1048320|0)>>>16&8;T=e<<w;b=(T+520192|0)>>>16&4;T=T<<b;f=(T+245760|0)>>>16&2;f=14-(b|w|f)+(T<<f>>>15)|0;f=p>>>(f+7|0)&1|f<<1}else f=0;t=s[35280+(f<<2)>>2]|0;e:do if(!t){e=0;t=0;T=86}else{r=i;e=0;a=p<<((f|0)==31?0:25-(f>>>1)|0);l=t;t=0;while(1){n=s[l+4>>2]&-8;i=n-p|0;if(i>>>0<r>>>0)if((n|0)==(p|0)){e=l;t=l;T=90;break e}else t=l;else i=r;n=s[l+20>>2]|0;l=s[l+16+(a>>>31<<2)>>2]|0;e=(n|0)==0|(n|0)==(l|0)?e:n;n=(l|0)==0;if(n){T=86;break}else{r=i;a=a<<(n&1^1)}}}while(0);if((T|0)==86){if((e|0)==0&(t|0)==0){e=2<<f;e=h&(e|0-e);if(!e)break;w=(e&0-e)+-1|0;c=w>>>12&16;w=w>>>c;u=w>>>5&8;w=w>>>u;d=w>>>2&4;w=w>>>d;b=w>>>1&2;w=w>>>b;e=w>>>1&1;e=s[35280+((u|c|d|b|e)+(w>>>e)<<2)>>2]|0}if(!e){l=i;f=t}else T=90}if((T|0)==90)while(1){T=0;w=(s[e+4>>2]&-8)-p|0;n=w>>>0<i>>>0;i=n?w:i;t=n?e:t;n=s[e+16>>2]|0;if(n|0){e=n;T=90;continue}e=s[e+20>>2]|0;if(!e){l=i;f=t;break}else T=90}if((f|0)!=0?l>>>0<((s[8746]|0)-p|0)>>>0:0){r=s[8748]|0;if(f>>>0<r>>>0)At();a=f+p|0;if(f>>>0>=a>>>0)At();o=s[f+24>>2]|0;i=s[f+12>>2]|0;do if((i|0)==(f|0)){t=f+20|0;e=s[t>>2]|0;if(!e){t=f+16|0;e=s[t>>2]|0;if(!e){g=0;break}}while(1){i=e+20|0;n=s[i>>2]|0;if(n|0){e=n;t=i;continue}i=e+16|0;n=s[i>>2]|0;if(!n)break;else{e=n;t=i}}if(t>>>0<r>>>0)At();else{s[t>>2]=0;g=e;break}}else{n=s[f+8>>2]|0;if(n>>>0<r>>>0)At();e=n+12|0;if((s[e>>2]|0)!=(f|0))At();t=i+8|0;if((s[t>>2]|0)==(f|0)){s[e>>2]=i;s[t>>2]=n;g=i;break}else At()}while(0);do if(o|0){e=s[f+28>>2]|0;t=35280+(e<<2)|0;if((f|0)==(s[t>>2]|0)){s[t>>2]=g;if(!g){s[8745]=s[8745]&~(1<<e);break}}else{if(o>>>0<(s[8748]|0)>>>0)At();e=o+16|0;if((s[e>>2]|0)==(f|0))s[e>>2]=g;else s[o+20>>2]=g;if(!g)break}t=s[8748]|0;if(g>>>0<t>>>0)At();s[g+24>>2]=o;e=s[f+16>>2]|0;do if(e|0)if(e>>>0<t>>>0)At();else{s[g+16>>2]=e;s[e+24>>2]=g;break}while(0);e=s[f+20>>2]|0;if(e|0)if(e>>>0<(s[8748]|0)>>>0)At();else{s[g+20>>2]=e;s[e+24>>2]=g;break}}while(0);do if(l>>>0>=16){s[f+4>>2]=p|3;s[a+4>>2]=l|1;s[a+l>>2]=l;e=l>>>3;if(l>>>0<256){i=35016+(e<<1<<2)|0;t=s[8744]|0;e=1<<e;if(t&e){e=i+8|0;t=s[e>>2]|0;if(t>>>0<(s[8748]|0)>>>0)At();else{_=e;k=t}}else{s[8744]=t|e;_=i+8|0;k=i}s[_>>2]=a;s[k+12>>2]=a;s[a+8>>2]=k;s[a+12>>2]=i;break}e=l>>>8;if(e)if(l>>>0>16777215)i=31;else{x=(e+1048320|0)>>>16&8;I=e<<x;P=(I+520192|0)>>>16&4;I=I<<P;i=(I+245760|0)>>>16&2;i=14-(P|x|i)+(I<<i>>>15)|0;i=l>>>(i+7|0)&1|i<<1}else i=0;n=35280+(i<<2)|0;s[a+28>>2]=i;e=a+16|0;s[e+4>>2]=0;s[e>>2]=0;e=s[8745]|0;t=1<<i;if(!(e&t)){s[8745]=e|t;s[n>>2]=a;s[a+24>>2]=n;s[a+12>>2]=a;s[a+8>>2]=a;break}i=l<<((i|0)==31?0:25-(i>>>1)|0);n=s[n>>2]|0;while(1){if((s[n+4>>2]&-8|0)==(l|0)){T=148;break}t=n+16+(i>>>31<<2)|0;e=s[t>>2]|0;if(!e){T=145;break}else{i=i<<1;n=e}}if((T|0)==145)if(t>>>0<(s[8748]|0)>>>0)At();else{s[t>>2]=a;s[a+24>>2]=n;s[a+12>>2]=a;s[a+8>>2]=a;break}else if((T|0)==148){e=n+8|0;t=s[e>>2]|0;I=s[8748]|0;if(t>>>0>=I>>>0&n>>>0>=I>>>0){s[t+12>>2]=a;s[e>>2]=a;s[a+8>>2]=t;s[a+12>>2]=n;s[a+24>>2]=0;break}else At()}}else{I=l+p|0;s[f+4>>2]=I|3;I=f+I+4|0;s[I>>2]=s[I>>2]|1}while(0);I=f+8|0;return I|0}}}else p=-1;while(0);i=s[8746]|0;if(i>>>0>=p>>>0){e=i-p|0;t=s[8749]|0;if(e>>>0>15){I=t+p|0;s[8749]=I;s[8746]=e;s[I+4>>2]=e|1;s[I+e>>2]=e;s[t+4>>2]=p|3}else{s[8746]=0;s[8749]=0;s[t+4>>2]=i|3;I=t+i+4|0;s[I>>2]=s[I>>2]|1}I=t+8|0;return I|0}e=s[8747]|0;if(e>>>0>p>>>0){P=e-p|0;s[8747]=P;I=s[8750]|0;x=I+p|0;s[8750]=x;s[x+4>>2]=P|1;s[I+4>>2]=p|3;I=I+8|0;return I|0}do if(!(s[8862]|0)){e=Ce(30)|0;if(!(e+-1&e)){s[8864]=e;s[8863]=e;s[8865]=-1;s[8866]=-1;s[8867]=0;s[8855]=0;s[8862]=(nt(0)|0)&-16^1431655768;break}else At()}while(0);a=p+48|0;n=s[8864]|0;l=p+47|0;i=n+l|0;n=0-n|0;f=i&n;if(f>>>0<=p>>>0){I=0;return I|0}e=s[8854]|0;if(e|0?(_=s[8852]|0,k=_+f|0,k>>>0<=_>>>0|k>>>0>e>>>0):0){I=0;return I|0}e:do if(!(s[8855]&4)){t=s[8750]|0;t:do if(t){r=35424;while(1){e=s[r>>2]|0;if(e>>>0<=t>>>0?(m=r+4|0,(e+(s[m>>2]|0)|0)>>>0>t>>>0):0)break;e=s[r+8>>2]|0;if(!e){T=173;break t}else r=e}e=i-(s[8747]|0)&n;if(e>>>0<2147483647){t=Se(e|0)|0;if((t|0)==((s[r>>2]|0)+(s[m>>2]|0)|0)){if((t|0)!=(-1|0)){a=t;o=e;T=193;break e}}else T=183}}else T=173;while(0);do if((T|0)==173?(v=Se(0)|0,(v|0)!=(-1|0)):0){e=v;t=s[8863]|0;i=t+-1|0;if(!(i&e))e=f;else e=f-e+(i+e&0-t)|0;t=s[8852]|0;i=t+e|0;if(e>>>0>p>>>0&e>>>0<2147483647){k=s[8854]|0;if(k|0?i>>>0<=t>>>0|i>>>0>k>>>0:0)break;t=Se(e|0)|0;if((t|0)==(v|0)){a=v;o=e;T=193;break e}else T=183}}while(0);t:do if((T|0)==183){i=0-e|0;do if(a>>>0>e>>>0&(e>>>0<2147483647&(t|0)!=(-1|0))?(y=s[8864]|0,y=l-e+y&0-y,y>>>0<2147483647):0)if((Se(y|0)|0)==(-1|0)){Se(i|0)|0;break t}else{e=y+e|0;break}while(0);if((t|0)!=(-1|0)){a=t;o=e;T=193;break e}}while(0);s[8855]=s[8855]|4;T=190}else T=190;while(0);if((((T|0)==190?f>>>0<2147483647:0)?(E=Se(f|0)|0,A=Se(0)|0,E>>>0<A>>>0&((E|0)!=(-1|0)&(A|0)!=(-1|0))):0)?(o=A-E|0,o>>>0>(p+40|0)>>>0):0){a=E;T=193}if((T|0)==193){e=(s[8852]|0)+o|0;s[8852]=e;if(e>>>0>(s[8853]|0)>>>0)s[8853]=e;h=s[8750]|0;do if(h){r=35424;while(1){e=s[r>>2]|0;t=r+4|0;i=s[t>>2]|0;if((a|0)==(e+i|0)){T=203;break}n=s[r+8>>2]|0;if(!n)break;else r=n}if(((T|0)==203?(s[r+12>>2]&8|0)==0:0)?h>>>0<a>>>0&h>>>0>=e>>>0:0){s[t>>2]=i+o;I=h+8|0;I=(I&7|0)==0?0:0-I&7;x=h+I|0;I=o-I+(s[8747]|0)|0;s[8750]=x;s[8747]=I;s[x+4>>2]=I|1;s[x+I+4>>2]=40;s[8751]=s[8866];break}e=s[8748]|0;if(a>>>0<e>>>0){s[8748]=a;l=a}else l=e;t=a+o|0;e=35424;while(1){if((s[e>>2]|0)==(t|0)){T=211;break}e=s[e+8>>2]|0;if(!e){t=35424;break}}if((T|0)==211)if(!(s[e+12>>2]&8)){s[e>>2]=a;c=e+4|0;s[c>>2]=(s[c>>2]|0)+o;c=a+8|0;c=a+((c&7|0)==0?0:0-c&7)|0;e=t+8|0;e=t+((e&7|0)==0?0:0-e&7)|0;u=c+p|0;f=e-c-p|0;s[c+4>>2]=p|3;do if((e|0)!=(h|0)){if((e|0)==(s[8749]|0)){I=(s[8746]|0)+f|0;s[8746]=I;s[8749]=u;s[u+4>>2]=I|1;s[u+I>>2]=I;break}t=s[e+4>>2]|0;if((t&3|0)==1){a=t&-8;r=t>>>3;e:do if(t>>>0>=256){o=s[e+24>>2]|0;n=s[e+12>>2]|0;do if((n|0)==(e|0)){n=e+16|0;i=n+4|0;t=s[i>>2]|0;if(!t){t=s[n>>2]|0;if(!t){P=0;break}else i=n}while(1){n=t+20|0;r=s[n>>2]|0;if(r|0){t=r;i=n;continue}n=t+16|0;r=s[n>>2]|0;if(!r)break;else{t=r;i=n}}if(i>>>0<l>>>0)At();else{s[i>>2]=0;P=t;break}}else{r=s[e+8>>2]|0;if(r>>>0<l>>>0)At();t=r+12|0;if((s[t>>2]|0)!=(e|0))At();i=n+8|0;if((s[i>>2]|0)==(e|0)){s[t>>2]=n;s[i>>2]=r;P=n;break}else At()}while(0);if(!o)break;t=s[e+28>>2]|0;i=35280+(t<<2)|0;do if((e|0)!=(s[i>>2]|0)){if(o>>>0<(s[8748]|0)>>>0)At();t=o+16|0;if((s[t>>2]|0)==(e|0))s[t>>2]=P;else s[o+20>>2]=P;if(!P)break e}else{s[i>>2]=P;if(P|0)break;s[8745]=s[8745]&~(1<<t);break e}while(0);n=s[8748]|0;if(P>>>0<n>>>0)At();s[P+24>>2]=o;t=e+16|0;i=s[t>>2]|0;do if(i|0)if(i>>>0<n>>>0)At();else{s[P+16>>2]=i;s[i+24>>2]=P;break}while(0);t=s[t+4>>2]|0;if(!t)break;if(t>>>0<(s[8748]|0)>>>0)At();else{s[P+20>>2]=t;s[t+24>>2]=P;break}}else{i=s[e+8>>2]|0;n=s[e+12>>2]|0;t=35016+(r<<1<<2)|0;do if((i|0)!=(t|0)){if(i>>>0<l>>>0)At();if((s[i+12>>2]|0)==(e|0))break;At()}while(0);if((n|0)==(i|0)){s[8744]=s[8744]&~(1<<r);break}do if((n|0)==(t|0))M=n+8|0;else{if(n>>>0<l>>>0)At();t=n+8|0;if((s[t>>2]|0)==(e|0)){M=t;break}At()}while(0);s[i+12>>2]=n;s[M>>2]=i}while(0);e=e+a|0;r=a+f|0}else r=f;e=e+4|0;s[e>>2]=s[e>>2]&-2;s[u+4>>2]=r|1;s[u+r>>2]=r;e=r>>>3;if(r>>>0<256){i=35016+(e<<1<<2)|0;t=s[8744]|0;e=1<<e;do if(!(t&e)){s[8744]=t|e;x=i+8|0;I=i}else{e=i+8|0;t=s[e>>2]|0;if(t>>>0>=(s[8748]|0)>>>0){x=e;I=t;break}At()}while(0);s[x>>2]=u;s[I+12>>2]=u;s[u+8>>2]=I;s[u+12>>2]=i;break}e=r>>>8;do if(!e)i=0;else{if(r>>>0>16777215){i=31;break}x=(e+1048320|0)>>>16&8;I=e<<x;P=(I+520192|0)>>>16&4;I=I<<P;i=(I+245760|0)>>>16&2;i=14-(P|x|i)+(I<<i>>>15)|0;i=r>>>(i+7|0)&1|i<<1}while(0);n=35280+(i<<2)|0;s[u+28>>2]=i;e=u+16|0;s[e+4>>2]=0;s[e>>2]=0;e=s[8745]|0;t=1<<i;if(!(e&t)){s[8745]=e|t;s[n>>2]=u;s[u+24>>2]=n;s[u+12>>2]=u;s[u+8>>2]=u;break}i=r<<((i|0)==31?0:25-(i>>>1)|0);n=s[n>>2]|0;while(1){if((s[n+4>>2]&-8|0)==(r|0)){T=281;break}t=n+16+(i>>>31<<2)|0;e=s[t>>2]|0;if(!e){T=278;break}else{i=i<<1;n=e}}if((T|0)==278)if(t>>>0<(s[8748]|0)>>>0)At();else{s[t>>2]=u;s[u+24>>2]=n;s[u+12>>2]=u;s[u+8>>2]=u;break}else if((T|0)==281){e=n+8|0;t=s[e>>2]|0;I=s[8748]|0;if(t>>>0>=I>>>0&n>>>0>=I>>>0){s[t+12>>2]=u;s[e>>2]=u;s[u+8>>2]=t;s[u+12>>2]=n;s[u+24>>2]=0;break}else At()}}else{I=(s[8747]|0)+f|0;s[8747]=I;s[8750]=u;s[u+4>>2]=I|1}while(0);I=c+8|0;return I|0}else t=35424;while(1){e=s[t>>2]|0;if(e>>>0<=h>>>0?(S=e+(s[t+4>>2]|0)|0,S>>>0>h>>>0):0)break;t=s[t+8>>2]|0}r=S+-47|0;t=r+8|0;t=r+((t&7|0)==0?0:0-t&7)|0;r=h+16|0;t=t>>>0<r>>>0?h:t;e=t+8|0;i=a+8|0;i=(i&7|0)==0?0:0-i&7;I=a+i|0;i=o+-40-i|0;s[8750]=I;s[8747]=i;s[I+4>>2]=i|1;s[I+i+4>>2]=40;s[8751]=s[8866];i=t+4|0;s[i>>2]=27;s[e>>2]=s[8856];s[e+4>>2]=s[8857];s[e+8>>2]=s[8858];s[e+12>>2]=s[8859];s[8856]=a;s[8857]=o;s[8859]=0;s[8858]=e;e=t+24|0;do{e=e+4|0;s[e>>2]=7}while((e+4|0)>>>0<S>>>0);if((t|0)!=(h|0)){o=t-h|0;s[i>>2]=s[i>>2]&-2;s[h+4>>2]=o|1;s[t>>2]=o;e=o>>>3;if(o>>>0<256){i=35016+(e<<1<<2)|0;t=s[8744]|0;e=1<<e;if(t&e){e=i+8|0;t=s[e>>2]|0;if(t>>>0<(s[8748]|0)>>>0)At();else{R=e;C=t}}else{s[8744]=t|e;R=i+8|0;C=i}s[R>>2]=h;s[C+12>>2]=h;s[h+8>>2]=C;s[h+12>>2]=i;break}e=o>>>8;if(e)if(o>>>0>16777215)i=31;else{x=(e+1048320|0)>>>16&8;I=e<<x;P=(I+520192|0)>>>16&4;I=I<<P;i=(I+245760|0)>>>16&2;i=14-(P|x|i)+(I<<i>>>15)|0;i=o>>>(i+7|0)&1|i<<1}else i=0;n=35280+(i<<2)|0;s[h+28>>2]=i;s[h+20>>2]=0;s[r>>2]=0;e=s[8745]|0;t=1<<i;if(!(e&t)){s[8745]=e|t;s[n>>2]=h;s[h+24>>2]=n;s[h+12>>2]=h;s[h+8>>2]=h;break}i=o<<((i|0)==31?0:25-(i>>>1)|0);n=s[n>>2]|0;while(1){if((s[n+4>>2]&-8|0)==(o|0)){T=307;break}t=n+16+(i>>>31<<2)|0;e=s[t>>2]|0;if(!e){T=304;break}else{i=i<<1;n=e}}if((T|0)==304)if(t>>>0<(s[8748]|0)>>>0)At();else{s[t>>2]=h;s[h+24>>2]=n;s[h+12>>2]=h;s[h+8>>2]=h;break}else if((T|0)==307){e=n+8|0;t=s[e>>2]|0;I=s[8748]|0;if(t>>>0>=I>>>0&n>>>0>=I>>>0){s[t+12>>2]=h;s[e>>2]=h;s[h+8>>2]=t;s[h+12>>2]=n;s[h+24>>2]=0;break}else At()}}}else{I=s[8748]|0;if((I|0)==0|a>>>0<I>>>0)s[8748]=a;s[8856]=a;s[8857]=o;s[8859]=0;s[8753]=s[8862];s[8752]=-1;e=0;do{I=35016+(e<<1<<2)|0;s[I+12>>2]=I;s[I+8>>2]=I;e=e+1|0}while((e|0)!=32);I=a+8|0;I=(I&7|0)==0?0:0-I&7;x=a+I|0;I=o+-40-I|0;s[8750]=x;s[8747]=I;s[x+4>>2]=I|1;s[x+I+4>>2]=40;s[8751]=s[8866]}while(0);e=s[8747]|0;if(e>>>0>p>>>0){P=e-p|0;s[8747]=P;I=s[8750]|0;x=I+p|0;s[8750]=x;s[x+4>>2]=P|1;s[I+4>>2]=p|3;I=I+8|0;return I|0}}if(!(s[8732]|0))e=34972;else e=s[(Gt()|0)+64>>2]|0;s[e>>2]=12;I=0;return I|0}function qn(e){e=e|0;var t=0,i=0,n=0,r=0,o=0,a=0,l=0,f=0,h=0,u=0,c=0,d=0,p=0,b=0,w=0;if(!e)return;i=e+-8|0;a=s[8748]|0;if(i>>>0<a>>>0)At();e=s[e+-4>>2]|0;t=e&3;if((t|0)==1)At();n=e&-8;c=i+n|0;do if(!(e&1)){e=s[i>>2]|0;if(!t)return;h=i+(0-e)|0;f=e+n|0;if(h>>>0<a>>>0)At();if((h|0)==(s[8749]|0)){e=c+4|0;t=s[e>>2]|0;if((t&3|0)!=3){w=h;r=f;break}s[8746]=f;s[e>>2]=t&-2;s[h+4>>2]=f|1;s[h+f>>2]=f;return}n=e>>>3;if(e>>>0<256){t=s[h+8>>2]|0;i=s[h+12>>2]|0;e=35016+(n<<1<<2)|0;if((t|0)!=(e|0)){if(t>>>0<a>>>0)At();if((s[t+12>>2]|0)!=(h|0))At()}if((i|0)==(t|0)){s[8744]=s[8744]&~(1<<n);w=h;r=f;break}if((i|0)!=(e|0)){if(i>>>0<a>>>0)At();e=i+8|0;if((s[e>>2]|0)==(h|0))o=e;else At()}else o=i+8|0;s[t+12>>2]=i;s[o>>2]=t;w=h;r=f;break}o=s[h+24>>2]|0;i=s[h+12>>2]|0;do if((i|0)==(h|0)){i=h+16|0;t=i+4|0;e=s[t>>2]|0;if(!e){e=s[i>>2]|0;if(!e){l=0;break}else t=i}while(1){i=e+20|0;n=s[i>>2]|0;if(n|0){e=n;t=i;continue}i=e+16|0;n=s[i>>2]|0;if(!n)break;else{e=n;t=i}}if(t>>>0<a>>>0)At();else{s[t>>2]=0;l=e;break}}else{n=s[h+8>>2]|0;if(n>>>0<a>>>0)At();e=n+12|0;if((s[e>>2]|0)!=(h|0))At();t=i+8|0;if((s[t>>2]|0)==(h|0)){s[e>>2]=i;s[t>>2]=n;l=i;break}else At()}while(0);if(o){e=s[h+28>>2]|0;t=35280+(e<<2)|0;if((h|0)==(s[t>>2]|0)){s[t>>2]=l;if(!l){s[8745]=s[8745]&~(1<<e);w=h;r=f;break}}else{if(o>>>0<(s[8748]|0)>>>0)At();e=o+16|0;if((s[e>>2]|0)==(h|0))s[e>>2]=l;else s[o+20>>2]=l;if(!l){w=h;r=f;break}}i=s[8748]|0;if(l>>>0<i>>>0)At();s[l+24>>2]=o;e=h+16|0;t=s[e>>2]|0;do if(t|0)if(t>>>0<i>>>0)At();else{s[l+16>>2]=t;s[t+24>>2]=l;break}while(0);e=s[e+4>>2]|0;if(e)if(e>>>0<(s[8748]|0)>>>0)At();else{s[l+20>>2]=e;s[e+24>>2]=l;w=h;r=f;break}else{w=h;r=f}}else{w=h;r=f}}else{w=i;r=n}while(0);if(w>>>0>=c>>>0)At();e=c+4|0;t=s[e>>2]|0;if(!(t&1))At();if(!(t&2)){if((c|0)==(s[8750]|0)){b=(s[8747]|0)+r|0;s[8747]=b;s[8750]=w;s[w+4>>2]=b|1;if((w|0)!=(s[8749]|0))return;s[8749]=0;s[8746]=0;return}if((c|0)==(s[8749]|0)){b=(s[8746]|0)+r|0;s[8746]=b;s[8749]=w;s[w+4>>2]=b|1;s[w+b>>2]=b;return}r=(t&-8)+r|0;n=t>>>3;do if(t>>>0>=256){o=s[c+24>>2]|0;e=s[c+12>>2]|0;do if((e|0)==(c|0)){i=c+16|0;t=i+4|0;e=s[t>>2]|0;if(!e){e=s[i>>2]|0;if(!e){d=0;break}else t=i}while(1){i=e+20|0;n=s[i>>2]|0;if(n|0){e=n;t=i;continue}i=e+16|0;n=s[i>>2]|0;if(!n)break;else{e=n;t=i}}if(t>>>0<(s[8748]|0)>>>0)At();else{s[t>>2]=0;d=e;break}}else{t=s[c+8>>2]|0;if(t>>>0<(s[8748]|0)>>>0)At();i=t+12|0;if((s[i>>2]|0)!=(c|0))At();n=e+8|0;if((s[n>>2]|0)==(c|0)){s[i>>2]=e;s[n>>2]=t;d=e;break}else At()}while(0);if(o|0){e=s[c+28>>2]|0;t=35280+(e<<2)|0;if((c|0)==(s[t>>2]|0)){s[t>>2]=d;if(!d){s[8745]=s[8745]&~(1<<e);break}}else{if(o>>>0<(s[8748]|0)>>>0)At();e=o+16|0;if((s[e>>2]|0)==(c|0))s[e>>2]=d;else s[o+20>>2]=d;if(!d)break}i=s[8748]|0;if(d>>>0<i>>>0)At();s[d+24>>2]=o;e=c+16|0;t=s[e>>2]|0;do if(t|0)if(t>>>0<i>>>0)At();else{s[d+16>>2]=t;s[t+24>>2]=d;break}while(0);e=s[e+4>>2]|0;if(e|0)if(e>>>0<(s[8748]|0)>>>0)At();else{s[d+20>>2]=e;s[e+24>>2]=d;break}}}else{t=s[c+8>>2]|0;i=s[c+12>>2]|0;e=35016+(n<<1<<2)|0;if((t|0)!=(e|0)){if(t>>>0<(s[8748]|0)>>>0)At();if((s[t+12>>2]|0)!=(c|0))At()}if((i|0)==(t|0)){s[8744]=s[8744]&~(1<<n);break}if((i|0)!=(e|0)){if(i>>>0<(s[8748]|0)>>>0)At();e=i+8|0;if((s[e>>2]|0)==(c|0))u=e;else At()}else u=i+8|0;s[t+12>>2]=i;s[u>>2]=t}while(0);s[w+4>>2]=r|1;s[w+r>>2]=r;if((w|0)==(s[8749]|0)){s[8746]=r;return}}else{s[e>>2]=t&-2;s[w+4>>2]=r|1;s[w+r>>2]=r}e=r>>>3;if(r>>>0<256){i=35016+(e<<1<<2)|0;t=s[8744]|0;e=1<<e;if(t&e){e=i+8|0;t=s[e>>2]|0;if(t>>>0<(s[8748]|0)>>>0)At();else{p=e;b=t}}else{s[8744]=t|e;p=i+8|0;b=i}s[p>>2]=w;s[b+12>>2]=w;s[w+8>>2]=b;s[w+12>>2]=i;return}e=r>>>8;if(e)if(r>>>0>16777215)i=31;else{p=(e+1048320|0)>>>16&8;b=e<<p;d=(b+520192|0)>>>16&4;b=b<<d;i=(b+245760|0)>>>16&2;i=14-(d|p|i)+(b<<i>>>15)|0;i=r>>>(i+7|0)&1|i<<1}else i=0;n=35280+(i<<2)|0;s[w+28>>2]=i;s[w+20>>2]=0;s[w+16>>2]=0;e=s[8745]|0;t=1<<i;do if(e&t){i=r<<((i|0)==31?0:25-(i>>>1)|0);n=s[n>>2]|0;while(1){if((s[n+4>>2]&-8|0)==(r|0)){e=130;break}t=n+16+(i>>>31<<2)|0;e=s[t>>2]|0;if(!e){e=127;break}else{i=i<<1;n=e}}if((e|0)==127)if(t>>>0<(s[8748]|0)>>>0)At();else{s[t>>2]=w;s[w+24>>2]=n;s[w+12>>2]=w;s[w+8>>2]=w;break}else if((e|0)==130){e=n+8|0;t=s[e>>2]|0;b=s[8748]|0;if(t>>>0>=b>>>0&n>>>0>=b>>>0){s[t+12>>2]=w;s[e>>2]=w;s[w+8>>2]=t;s[w+12>>2]=n;s[w+24>>2]=0;break}else At()}}else{s[8745]=e|t;s[n>>2]=w;s[w+24>>2]=n;s[w+12>>2]=w;s[w+8>>2]=w}while(0);w=(s[8752]|0)+-1|0;s[8752]=w;if(!w)e=35432;else return;while(1){e=s[e>>2]|0;if(!e)break;else e=e+8|0}s[8752]=-1;return}function Wn(e){e=e|0;return}function Vn(e){e=e|0;qn(e);return}function Yn(e){e=e|0;return}function Zn(e){e=e|0;return}function $n(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,r=0,o=0,a=0;a=u;u=u+64|0;o=a;if((e|0)!=(t|0))if((t|0)!=0?(r=Kn(t,240)|0,(r|0)!=0):0){t=o;n=t+56|0;do{s[t>>2]=0;t=t+4|0}while((t|0)<(n|0));s[o>>2]=r;s[o+8>>2]=e;s[o+12>>2]=-1;s[o+48>>2]=1;Qs[s[(s[r>>2]|0)+28>>2]&3](r,o,s[i>>2]|0,1);if((s[o+24>>2]|0)==1){s[i>>2]=s[o+16>>2];t=1}else t=0}else t=0;else t=1;u=a;return t|0}function Kn(e,t){e=e|0;t=t|0;var i=0,o=0,a=0,l=0,f=0,h=0,c=0,d=0,p=0,b=0,w=0,m=0,g=0;g=u;u=u+64|0;m=g;w=s[e>>2]|0;b=e+(s[w+-8>>2]|0)|0;w=s[w+-4>>2]|0;s[m>>2]=t;s[m+4>>2]=e;s[m+8>>2]=272;h=m+12|0;c=m+16|0;e=m+20|0;i=m+24|0;o=m+28|0;a=m+32|0;l=m+40|0;f=(w|0)==(t|0);d=h;p=d+40|0;do{s[d>>2]=0;d=d+4|0}while((d|0)<(p|0));r[h+40>>1]=0;n[h+42>>0]=0;e:do if(f){s[m+48>>2]=1;Xs[s[(s[t>>2]|0)+20>>2]&3](t,m,b,b,1,0);e=(s[i>>2]|0)==1?b:0}else{qs[s[(s[w>>2]|0)+24>>2]&3](w,m,b,1,0);switch(s[m+36>>2]|0){case 0:{e=(s[l>>2]|0)==1&(s[o>>2]|0)==1&(s[a>>2]|0)==1?s[e>>2]|0:0;break e}case 1:break;default:{e=0;break e}}if((s[i>>2]|0)!=1?!((s[l>>2]|0)==0&(s[o>>2]|0)==1&(s[a>>2]|0)==1):0){e=0;break}e=s[c>>2]|0}while(0);u=g;return e|0}function Xn(e,t,i,n,r,o){e=e|0;t=t|0;i=i|0;n=n|0;r=r|0;o=o|0;if((e|0)==(s[t+8>>2]|0))Jn(t,i,n,r);else{e=s[e+8>>2]|0;Xs[s[(s[e>>2]|0)+20>>2]&3](e,t,i,n,r,o)}return}function Jn(e,t,i,r){e=e|0;t=t|0;i=i|0;r=r|0;var o=0;n[e+53>>0]=1;do if((s[e+4>>2]|0)==(i|0)){n[e+52>>0]=1;i=e+16|0;o=s[i>>2]|0;if(!o){s[i>>2]=t;s[e+24>>2]=r;s[e+36>>2]=1;if(!((r|0)==1?(s[e+48>>2]|0)==1:0))break;n[e+54>>0]=1;break}if((o|0)!=(t|0)){r=e+36|0;s[r>>2]=(s[r>>2]|0)+1;n[e+54>>0]=1;break}o=e+24|0;i=s[o>>2]|0;if((i|0)==2){s[o>>2]=r;i=r}if((i|0)==1?(s[e+48>>2]|0)==1:0)n[e+54>>0]=1}while(0);return}function Qn(e,t,i,r,o){e=e|0;t=t|0;i=i|0;r=r|0;o=o|0;var a=0,l=0,f=0;do if((e|0)==(s[t+8>>2]|0)){if((s[t+4>>2]|0)==(i|0)?(a=t+28|0,(s[a>>2]|0)!=1):0)s[a>>2]=r}else{if((e|0)!=(s[t>>2]|0)){f=s[e+8>>2]|0;qs[s[(s[f>>2]|0)+24>>2]&3](f,t,i,r,o);break}if((s[t+16>>2]|0)!=(i|0)?(f=t+20|0,(s[f>>2]|0)!=(i|0)):0){s[t+32>>2]=r;l=t+44|0;if((s[l>>2]|0)==4)break;a=t+52|0;n[a>>0]=0;r=t+53|0;n[r>>0]=0;e=s[e+8>>2]|0;Xs[s[(s[e>>2]|0)+20>>2]&3](e,t,i,i,1,o);if(n[r>>0]|0)if(!(n[a>>0]|0)){a=1;r=13}else r=17;else{a=0;r=13}do if((r|0)==13){s[f>>2]=i;i=t+40|0;s[i>>2]=(s[i>>2]|0)+1;if((s[t+36>>2]|0)==1?(s[t+24>>2]|0)==2:0){n[t+54>>0]=1;if(a){r=17;break}else{a=4;break}}if(a)r=17;else a=4}while(0);if((r|0)==17)a=3;s[l>>2]=a;break}if((r|0)==1)s[t+32>>2]=1}while(0);return}function er(e,t,i,r){e=e|0;t=t|0;i=i|0;r=r|0;var o=0;do if((e|0)==(s[t+8>>2]|0)){e=t+16|0;o=s[e>>2]|0;if(!o){s[e>>2]=i;s[t+24>>2]=r;s[t+36>>2]=1;break}if((o|0)!=(i|0)){r=t+36|0;s[r>>2]=(s[r>>2]|0)+1;s[t+24>>2]=2;n[t+54>>0]=1;break}e=t+24|0;if((s[e>>2]|0)==2)s[e>>2]=r}else{o=s[e+8>>2]|0;Qs[s[(s[o>>2]|0)+28>>2]&3](o,t,i,r)}while(0);return}function tr(e){e=e|0;qn(e);return}function ir(e,t,i,n,r,o){e=e|0;t=t|0;i=i|0;n=n|0;r=r|0;o=o|0;if((e|0)==(s[t+8>>2]|0))Jn(t,i,n,r);return}function nr(e,t,i,r,o){e=e|0;t=t|0;i=i|0;r=r|0;o=o|0;var a=0,l=0;do if((e|0)==(s[t+8>>2]|0)){if((s[t+4>>2]|0)==(i|0)?(l=t+28|0,(s[l>>2]|0)!=1):0)s[l>>2]=r}else if((e|0)==(s[t>>2]|0)){if((s[t+16>>2]|0)!=(i|0)?(a=t+20|0,(s[a>>2]|0)!=(i|0)):0){s[t+32>>2]=r;s[a>>2]=i;o=t+40|0;s[o>>2]=(s[o>>2]|0)+1;if((s[t+36>>2]|0)==1?(s[t+24>>2]|0)==2:0)n[t+54>>0]=1;s[t+44>>2]=4;break}if((r|0)==1)s[t+32>>2]=1}while(0);return}function rr(e,t,i,r){e=e|0;t=t|0;i=i|0;r=r|0;var o=0;do if((e|0)==(s[t+8>>2]|0)){e=t+16|0;o=s[e>>2]|0;if(!o){s[e>>2]=i;s[t+24>>2]=r;s[t+36>>2]=1;break}if((o|0)!=(i|0)){r=t+36|0;s[r>>2]=(s[r>>2]|0)+1;s[t+24>>2]=2;n[t+54>>0]=1;break}e=t+24|0;if((s[e>>2]|0)==2)s[e>>2]=r}while(0);return}function sr(e){e=e|0;return}function or(e){e=e|0;qn(e);return}function ar(e){e=e|0;return 34734}function lr(e){e=e|0;qn(e);return}function fr(e,t,i){e=e|0;t=t|0;i=i|0;return(e|0)==(t|0)|0}function hr(e){e=e|0;qn(e);return}function ur(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,r=0,o=0,a=0,l=0,f=0;f=u;u=u+64|0;l=f;s[i>>2]=s[s[i>>2]>>2];if(!((e|0)==(t|0)|(t|0)==368))if(((t|0)!=0?(n=Kn(t,328)|0,(n|0)!=0):0)?(s[n+8>>2]&~s[e+8>>2]|0)==0:0){t=s[e+12>>2]|0;e=n+12|0;if(!((t|0)==360?1:(t|0)==(s[e>>2]|0)))if((((t|0)!=0?(o=Kn(t,240)|0,(o|0)!=0):0)?(r=s[e>>2]|0,(r|0)!=0):0)?(a=Kn(r,240)|0,(a|0)!=0):0){e=l;t=e+56|0;do{s[e>>2]=0;e=e+4|0}while((e|0)<(t|0));s[l>>2]=a;s[l+8>>2]=o;s[l+12>>2]=-1;s[l+48>>2]=1;Qs[s[(s[a>>2]|0)+28>>2]&3](a,l,s[i>>2]|0,1);if((s[l+24>>2]|0)==1){s[i>>2]=s[l+16>>2];e=1}else e=0}else e=0;else e=1}else e=0;else e=1;u=f;return e|0}function cr(e){e=e|0;qn(e);return}function dr(e,t,i,o,a,l){e=e|0;t=t|0;i=i|0;o=o|0;a=a|0;l=l|0;var f=0,h=0,u=0,c=0,d=0,p=0,b=0,w=0,m=0;if((e|0)==(s[t+8>>2]|0))Jn(t,i,o,a);else{p=t+52|0;m=r[p>>1]|0;b=m&255;w=t+53|0;m=(m&65535)>>>8&255;d=s[e+12>>2]|0;h=e+16+(d<<3)|0;n[p>>0]=0;n[w>>0]=0;pr(e+16|0,t,i,o,a,l);e:do if((d|0)>1){u=t+24|0;c=e+8|0;d=t+54|0;f=e+24|0;do{if(n[d>>0]|0)break e;e=r[p>>1]|0;if(!((e&255)<<24>>24)){if((e&65535)>=256?(s[c>>2]&1|0)==0:0)break e}else{if((s[u>>2]|0)==1)break e;if(!(s[c>>2]&2))break e}n[p>>0]=0;n[w>>0]=0;pr(f,t,i,o,a,l);f=f+8|0}while(f>>>0<h>>>0)}while(0);n[p>>0]=b;n[w>>0]=m}return}function pr(e,t,i,n,r,o){e=e|0;t=t|0;i=i|0;n=n|0;r=r|0;o=o|0;var a=0,l=0;l=s[e+4>>2]|0;a=l>>8;if(l&1)a=s[(s[n>>2]|0)+a>>2]|0;e=s[e>>2]|0;Xs[s[(s[e>>2]|0)+20>>2]&3](e,t,i,n+a|0,l&2|0?r:2,o);return}function br(e,t,i,r,o){e=e|0;t=t|0;i=i|0;r=r|0;o=o|0;var a=0,l=0,f=0,h=0,u=0,c=0,d=0,p=0,b=0,w=0;e:do if((e|0)==(s[t+8>>2]|0)){if((s[t+4>>2]|0)==(i|0)?(a=t+28|0,(s[a>>2]|0)!=1):0)s[a>>2]=r}else{if((e|0)!=(s[t>>2]|0)){w=s[e+12>>2]|0;f=e+16+(w<<3)|0;wr(e+16|0,t,i,r,o);a=e+24|0;if((w|0)<=1)break;e=s[e+8>>2]|0;if((e&2|0)==0?(h=t+36|0,(s[h>>2]|0)!=1):0){if(!(e&1)){e=t+54|0;while(1){if(n[e>>0]|0)break e;if((s[h>>2]|0)==1)break e;wr(a,t,i,r,o);a=a+8|0;if(a>>>0>=f>>>0)break e}}e=t+24|0;l=t+54|0;while(1){if(n[l>>0]|0)break e;if((s[h>>2]|0)==1?(s[e>>2]|0)==1:0)break e;wr(a,t,i,r,o);a=a+8|0;if(a>>>0>=f>>>0)break e}}e=t+54|0;while(1){if(n[e>>0]|0)break e;wr(a,t,i,r,o);a=a+8|0;if(a>>>0>=f>>>0)break e}}if((s[t+16>>2]|0)!=(i|0)?(w=t+20|0,(s[w>>2]|0)!=(i|0)):0){s[t+32>>2]=r;b=t+44|0;if((s[b>>2]|0)==4)break;f=e+16+(s[e+12>>2]<<3)|0;h=t+52|0;r=t+53|0;d=t+54|0;u=e+8|0;p=t+24|0;c=0;a=0;l=e+16|0;t:while(1){if(l>>>0>=f>>>0){e=20;break}n[h>>0]=0;n[r>>0]=0;pr(l,t,i,i,1,o);if(n[d>>0]|0){e=20;break}do if(n[r>>0]|0){if(!(n[h>>0]|0))if(!(s[u>>2]&1)){a=1;e=20;break t}else{e=c;a=1;break}if((s[p>>2]|0)==1){e=25;break t}if(!(s[u>>2]&2)){e=25;break t}else{e=1;a=1}}else e=c;while(0);c=e;l=l+8|0}do if((e|0)==20){if((!c?(s[w>>2]=i,i=t+40|0,s[i>>2]=(s[i>>2]|0)+1,(s[t+36>>2]|0)==1):0)?(s[p>>2]|0)==2:0){n[d>>0]=1;if(a){e=25;break}else{a=4;break}}if(a)e=25;else a=4}while(0);if((e|0)==25)a=3;s[b>>2]=a;break}if((r|0)==1)s[t+32>>2]=1}while(0);return}function wr(e,t,i,n,r){e=e|0;t=t|0;i=i|0;n=n|0;r=r|0;var o=0,a=0;a=s[e+4>>2]|0;o=a>>8;if(a&1)o=s[(s[i>>2]|0)+o>>2]|0;e=s[e>>2]|0;qs[s[(s[e>>2]|0)+24>>2]&3](e,t,i+o|0,a&2|0?n:2,r);return}function mr(e,t,i,r){e=e|0;t=t|0;i=i|0;r=r|0;var o=0,a=0;e:do if((e|0)==(s[t+8>>2]|0)){e=t+16|0;o=s[e>>2]|0;if(!o){s[e>>2]=i;s[t+24>>2]=r;s[t+36>>2]=1;break}if((o|0)!=(i|0)){r=t+36|0;s[r>>2]=(s[r>>2]|0)+1;s[t+24>>2]=2;n[t+54>>0]=1;break}e=t+24|0;if((s[e>>2]|0)==2)s[e>>2]=r}else{a=s[e+12>>2]|0;o=e+16+(a<<3)|0;gr(e+16|0,t,i,r);if((a|0)>1){a=t+54|0;e=e+24|0;do{gr(e,t,i,r);if(n[a>>0]|0)break e;e=e+8|0}while(e>>>0<o>>>0)}}while(0);return}function gr(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var r=0,o=0;o=s[e+4>>2]|0;r=o>>8;if(o&1)r=s[(s[i>>2]|0)+r>>2]|0;e=s[e>>2]|0;Qs[s[(s[e>>2]|0)+28>>2]&3](e,t,i+r|0,o&2|0?n:2);return}function _r(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,r=0;r=u;u=u+16|0;n=r;s[n>>2]=s[i>>2];e=zs[s[(s[e>>2]|0)+16>>2]&7](e,t,n)|0;if(e)s[i>>2]=s[n>>2];u=r;return e&1|0}function vr(e){e=e|0;if(!e)e=0;else e=(Kn(e,328)|0)!=0;return e&1|0}function kr(){}function yr(e,t,i){e=e|0;t=t|0;i=i|0;var r=0,o=0,a=0,l=0;r=e+i|0;if((i|0)>=20){t=t&255;a=e&3;l=t|t<<8|t<<16|t<<24;o=r&~3;if(a){a=e+4-a|0;while((e|0)<(a|0)){n[e>>0]=t;e=e+1|0}}while((e|0)<(o|0)){s[e>>2]=l;e=e+4|0}}while((e|0)<(r|0)){n[e>>0]=t;e=e+1|0}return e-i|0}function Er(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;i=e+i>>>0;return(x=t+n+(i>>>0<e>>>0|0)>>>0,i|0)|0}function Ar(e,t,i){e=e|0;t=t|0;i=i|0;if((i|0)<32){x=t>>i;return e>>>i|(t&(1<<i)-1)<<32-i}x=(t|0)<0?-1:0;return t>>i-32|0}function Tr(e,t,i){e=e|0;t=t|0;i=i|0;if((i|0)<32){x=t>>>i;return e>>>i|(t&(1<<i)-1)<<32-i}x=0;return t>>>i-32|0}function Sr(e,t,i){e=e|0;t=t|0;i=i|0;var r=0;if((i|0)>=4096)return Me(e|0,t|0,i|0)|0;r=e|0;if((e&3)==(t&3)){while(e&3){if(!i)return r|0;n[e>>0]=n[t>>0]|0;e=e+1|0;t=t+1|0;i=i-1|0}while((i|0)>=4){s[e>>2]=s[t>>2];e=e+4|0;t=t+4|0;i=i-4|0}}while((i|0)>0){n[e>>0]=n[t>>0]|0;e=e+1|0;t=t+1|0;i=i-1|0}return r|0}function Mr(e,t,i){e=e|0;t=t|0;i=i|0;var r=0;if((t|0)<(e|0)&(e|0)<(t+i|0)){r=e;t=t+i|0;e=e+i|0;while((i|0)>0){e=e-1|0;t=t-1|0;i=i-1|0;n[e>>0]=n[t>>0]|0}e=r}else Sr(e,t,i)|0;return e|0}function Rr(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;n=t-n-(i>>>0>e>>>0|0)>>>0;return(x=n,e-i>>>0|0)|0}function Cr(e,t,i){e=e|0;t=t|0;i=i|0;if((i|0)<32){x=t<<i|(e&(1<<i)-1<<32-i)>>>32-i;return e<<i}x=e<<i-32;return 0}function Pr(e){e=e|0;var t=0;t=n[b+(e&255)>>0]|0;if((t|0)<8)return t|0;t=n[b+(e>>8&255)>>0]|0;if((t|0)<8)return t+8|0;t=n[b+(e>>16&255)>>0]|0;if((t|0)<8)return t+16|0;return(n[b+(e>>>24)>>0]|0)+24|0}function xr(e,t){e=e|0;t=t|0;var i=0,n=0,r=0,s=0;s=e&65535;r=t&65535;i=te(r,s)|0;n=e>>>16;e=(i>>>16)+(te(r,n)|0)|0;r=t>>>16;t=te(r,s)|0;return(x=(e>>>16)+(te(r,n)|0)+(((e&65535)+t|0)>>>16)|0,e+t<<16|i&65535|0)|0}function Ir(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var r=0,s=0,o=0,a=0,l=0,f=0;f=t>>31|((t|0)<0?-1:0)<<1;l=((t|0)<0?-1:0)>>31|((t|0)<0?-1:0)<<1;s=n>>31|((n|0)<0?-1:0)<<1;r=((n|0)<0?-1:0)>>31|((n|0)<0?-1:0)<<1;a=Rr(f^e|0,l^t|0,f|0,l|0)|0;o=x;e=s^f;t=r^l;return Rr((Ur(a,o,Rr(s^i|0,r^n|0,s|0,r|0)|0,x,0)|0)^e|0,x^t|0,e|0,t|0)|0}function Or(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var r=0,o=0,a=0,l=0,f=0,h=0;r=u;u=u+16|0;l=r|0;a=t>>31|((t|0)<0?-1:0)<<1;o=((t|0)<0?-1:0)>>31|((t|0)<0?-1:0)<<1;h=n>>31|((n|0)<0?-1:0)<<1;f=((n|0)<0?-1:0)>>31|((n|0)<0?-1:0)<<1;e=Rr(a^e|0,o^t|0,a|0,o|0)|0;t=x;Ur(e,t,Rr(h^i|0,f^n|0,h|0,f|0)|0,x,l)|0;n=Rr(s[l>>2]^a|0,s[l+4>>2]^o|0,a|0,o|0)|0;i=x;u=r;return(x=i,n)|0}function Nr(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var r=0,s=0;r=e;s=i;i=xr(r,s)|0;e=x;return(x=(te(t,s)|0)+(te(n,r)|0)+e|e&0,i|0|0)|0}function Dr(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;return Ur(e,t,i,n,0)|0}function Lr(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var r=0,o=0;o=u;u=u+16|0;r=o|0;Ur(e,t,i,n,r)|0;u=o;return(x=s[r+4>>2]|0,s[r>>2]|0)|0}function Ur(e,t,i,n,r){e=e|0;t=t|0;i=i|0;n=n|0;r=r|0;var o=0,a=0,l=0,f=0,h=0,u=0,c=0,d=0,p=0,b=0;u=e;f=t;h=f;a=i;d=n;l=d;if(!h){o=(r|0)!=0;if(!l){if(o){s[r>>2]=(u>>>0)%(a>>>0);s[r+4>>2]=0}d=0;r=(u>>>0)/(a>>>0)>>>0;return(x=d,r)|0}else{if(!o){d=0;r=0;return(x=d,r)|0}s[r>>2]=e|0;s[r+4>>2]=t&0;d=0;r=0;return(x=d,r)|0}}o=(l|0)==0;do if(a){if(!o){o=(ne(l|0)|0)-(ne(h|0)|0)|0;if(o>>>0<=31){c=o+1|0;l=31-o|0;t=o-31>>31;a=c;e=u>>>(c>>>0)&t|h<<l;t=h>>>(c>>>0)&t;o=0;l=u<<l;break}if(!r){d=0;r=0;return(x=d,r)|0}s[r>>2]=e|0;s[r+4>>2]=f|t&0;d=0;r=0;return(x=d,r)|0}o=a-1|0;if(o&a|0){l=(ne(a|0)|0)+33-(ne(h|0)|0)|0;b=64-l|0;c=32-l|0;f=c>>31;p=l-32|0;t=p>>31;a=l;e=c-1>>31&h>>>(p>>>0)|(h<<c|u>>>(l>>>0))&t;t=t&h>>>(l>>>0);o=u<<b&f;l=(h<<b|u>>>(p>>>0))&f|u<<c&l-33>>31;break}if(r|0){s[r>>2]=o&u;s[r+4>>2]=0}if((a|0)==1){p=f|t&0;b=e|0|0;return(x=p,b)|0}else{b=Pr(a|0)|0;p=h>>>(b>>>0)|0;b=h<<32-b|u>>>(b>>>0)|0;return(x=p,b)|0}}else{if(o){if(r|0){s[r>>2]=(h>>>0)%(a>>>0);s[r+4>>2]=0}p=0;b=(h>>>0)/(a>>>0)>>>0;return(x=p,b)|0}if(!u){if(r|0){s[r>>2]=0;s[r+4>>2]=(h>>>0)%(l>>>0)}p=0;b=(h>>>0)/(l>>>0)>>>0;return(x=p,b)|0}o=l-1|0;if(!(o&l)){if(r|0){s[r>>2]=e|0;s[r+4>>2]=o&h|t&0}p=0;b=h>>>((Pr(l|0)|0)>>>0);return(x=p,b)|0}o=(ne(l|0)|0)-(ne(h|0)|0)|0;if(o>>>0<=30){t=o+1|0;l=31-o|0;a=t;e=h<<l|u>>>(t>>>0);t=h>>>(t>>>0);o=0;l=u<<l;break}if(!r){p=0;b=0;return(x=p,b)|0}s[r>>2]=e|0;s[r+4>>2]=f|t&0;p=0;b=0;return(x=p,b)|0}while(0);if(!a){h=l;f=0;l=0}else{c=i|0|0;u=d|n&0;h=Er(c|0,u|0,-1,-1)|0;i=x;f=l;l=0;do{n=f;f=o>>>31|f<<1;o=l|o<<1;n=e<<1|n>>>31|0;d=e>>>31|t<<1|0;Rr(h|0,i|0,n|0,d|0)|0;b=x;p=b>>31|((b|0)<0?-1:0)<<1;l=p&1;e=Rr(n|0,d|0,p&c|0,(((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1)&u|0)|0;t=x;a=a-1|0}while((a|0)!=0);h=f;f=0}a=0;if(r|0){s[r>>2]=e;s[r+4>>2]=t}p=(o|0)>>>31|(h|a)<<1|(a<<1|o>>>31)&0|f;b=(o<<1|0>>>31)&-2|l;return(x=p,b)|0}function Br(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;return zs[e&7](t|0,i|0,n|0)|0}function jr(e,t,i,n,r,s){e=e|0;t=t|0;i=i|0;n=n|0;r=r|0;s=s|0;qs[e&3](t|0,i|0,n|0,r|0,s|0)}function Fr(e,t){e=e|0;t=t|0;Ws[e&15](t|0)}function Gr(e,t,i,n,r,s,o){e=e|0;t=t|0;i=i|0;n=n|0;r=r|0;s=s|0;o=o|0;return Vs[e&1](t|0,i|0,n|0,r|0,s|0,o|0)|0}function Hr(e,t){e=e|0;t=t|0;return Ys[e&3](t|0)|0}function zr(e,t,i,n,r,s,o,a){e=e|0;t=t|0;i=i|0;n=n|0;r=r|0;s=s|0;o=o|0;a=a|0;Zs[e&1](t|0,i|0,n|0,r|0,s|0,o|0,a|0)}function qr(e){e=e|0;$s[e&0]()}function Wr(e,t,i,n,r){e=e|0;t=t|0;i=i|0;n=n|0;r=r|0;return Ks[e&3](t|0,i|0,n|0,r|0)|0}function Vr(e,t,i,n,r,s,o){e=e|0;t=t|0;i=i|0;n=n|0;r=r|0;s=s|0;o=o|0;Xs[e&3](t|0,i|0,n|0,r|0,s|0,o|0)}function Yr(e,t,i,n,r,s){e=e|0;t=t|0;i=i|0;n=n|0;r=r|0;s=s|0;return Js[e&3](t|0,i|0,n|0,r|0,s|0)|0}function Zr(e,t,i,n,r){e=e|0;t=t|0;i=i|0;n=n|0;r=r|0;Qs[e&3](t|0,i|0,n|0,r|0)}function $r(e,t,i){e=e|0;t=t|0;i=i|0;re(0);return 0}function Kr(e,t,i,n,r){e=e|0;t=t|0;i=i|0;n=n|0;r=r|0;re(1)}function Xr(e){e=e|0;re(2)}function Jr(e,t,i,n,r,s){e=e|0;t=t|0;i=i|0;n=n|0;r=r|0;s=s|0;re(3);return 0}function Qr(e){e=e|0;re(4);return 0}function es(e,t,i,n,r,s,o){e=e|0;t=t|0;i=i|0;n=n|0;r=r|0;s=s|0;o=o|0;re(5)}function ts(){re(6)}function is(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;re(7);return 0}function ns(e,t,i,n,r,s){e=e|0;t=t|0;i=i|0;n=n|0;r=r|0;s=s|0;re(8)}function rs(e,t,i,n,r){e=e|0;t=t|0;i=i|0;n=n|0;r=r|0;re(9);return 0}function ss(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;re(10)}function os(e){e=e|0;var t=0;t=u;u=u+e|0;u=u+15&-16;return t|0}function as(){return u|0}function ls(e){e=e|0;u=e}function fs(e,t){e=e|0;t=t|0;u=e;c=t}function hs(e,t){e=e|0;t=t|0;if(!w){w=e;m=t}}function us(e){e=e|0;
n[d>>0]=n[e>>0];n[d+1>>0]=n[e+1>>0];n[d+2>>0]=n[e+2>>0];n[d+3>>0]=n[e+3>>0]}function cs(e){e=e|0;n[d>>0]=n[e>>0];n[d+1>>0]=n[e+1>>0];n[d+2>>0]=n[e+2>>0];n[d+3>>0]=n[e+3>>0];n[d+4>>0]=n[e+4>>0];n[d+5>>0]=n[e+5>>0];n[d+6>>0]=n[e+6>>0];n[d+7>>0]=n[e+7>>0]}function ds(e){e=e|0;x=e}function ps(){return x|0}function bs(e,t,i,n,o){e=e|0;t=t|0;i=i|0;n=n|0;o=o|0;var l=0,f=0;if((i|0)>0){l=0;do{f=l<<1;r[t+(l<<1)>>1]=r[t+((f|1)<<1)>>1]<<8|a[t+(f<<1)>>1];l=l+1|0}while((l|0)!=(i|0))}return Ls(s[e+12>>2]|0,t,o,n)|0}function ws(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var o=0,l=0,f=0;o=e+20|0;l=Rs(s[e+16>>2]|0,t,i,s[o>>2]|0)|0;i=s[e+4>>2]|0;if((te(i,l)|0)<=0)return l|0;o=s[o>>2]|0;i=te(l,i)|0;t=0;do{f=o+(t<<1)|0;e=t<<1;r[n+(e<<1)>>1]=(a[f>>1]|0)&255;r[n+((e|1)<<1)>>1]=(a[f>>1]|0)>>>8;t=t+1|0}while((t|0)!=(i|0));return l|0}function ms(e){e=e|0;return 8}function gs(e){e=e|0;if(!e)return;qn(s[e+12>>2]|0);qn(s[e+16>>2]|0);qn(e);return}function _s(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,r=0,o=0,a=0,l=0,f=0,h=0,c=0;c=u;u=u+16|0;h=c+4|0;f=c;while(1){l=zn(24)|0;if(l|0)break;n=s[8868]|0;s[8868]=n+0;if(!n){a=5;break}$s[n&0]()}if((a|0)==5){c=dt(4)|0;s[c>>2]=23152;Zt(c|0,296,6)}o=s[e>>2]|0;r=s[t>>2]|0;t=s[i>>2]|0;s[l>>2]=t;s[l+4>>2]=r;s[l+8>>2]=o;e=r*11520|0;e=e>>>0>2147483647?-1:e<<1;e=(e|0)==0?1:e;while(1){n=zn(e)|0;if(n|0){a=11;break}n=s[8868]|0;s[8868]=n+0;if(!n){a=10;break}$s[n&0]()}if((a|0)==10){c=dt(4)|0;s[c>>2]=23152;Zt(c|0,296,6)}else if((a|0)==11){s[l+20>>2]=n;s[l+12>>2]=xs(o,r,t,h)|0;s[l+16>>2]=Ss(o,r,f)|0;u=c;return l|0}return 0}function vs(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var r=0,o=0,a=0,l=0;r=u;u=u+16|0;l=r+8|0;a=r+4|0;o=r;s[l>>2]=t;s[a>>2]=i;s[o>>2]=n;e=zs[e&7](l,a,o)|0;u=r;return e|0}function ks(e,t,i,n,r,o){e=e|0;t=t|0;i=i|0;n=n|0;r=r|0;o=o|0;var a=0,l=0;a=s[e>>2]|0;l=s[e+4>>2]|0;e=t+(l>>1)|0;if(l&1)a=s[(s[e>>2]|0)+a>>2]|0;return Js[a&3](e,i,n,r,o)|0}function ys(e,t,i,n,r){e=e|0;t=t|0;i=i|0;n=n|0;r=r|0;var o=0,a=0;o=s[e>>2]|0;a=s[e+4>>2]|0;e=t+(a>>1)|0;if(a&1)o=s[(s[e>>2]|0)+o>>2]|0;return Ks[o&3](e,i,n,r)|0}function Es(){var e=0,t=0;at(8,16,32,0,27863,2,27866,0,27866,0,27766,27868,11);Be(8,4,488,27871,1,4);while(1){e=zn(8)|0;if(e|0)break;e=s[8868]|0;s[8868]=e+0;if(!e){t=5;break}$s[e&0]()}if((t|0)==5){t=dt(4)|0;s[t>>2]=23152;Zt(t|0,296,6)}s[e>>2]=1;s[e+4>>2]=0;Bt(8,27784,6,504,27877,1,e|0,0);while(1){e=zn(8)|0;if(e|0){t=11;break}e=s[8868]|0;s[8868]=e+0;if(!e){t=10;break}$s[e&0]()}if((t|0)==10){t=dt(4)|0;s[t>>2]=23152;Zt(t|0,296,6)}else if((t|0)==11){s[e>>2]=2;s[e+4>>2]=0;Bt(8,27792,5,528,27885,2,e|0,0);return}}function As(e,t,i,n,r,s,o,a,l,h,u){e=e|0;t=t|0;i=i|0;n=n|0;r=r|0;s=+s;o=+o;a=a|0;l=l|0;h=h|0;u=u|0;var c=0,d=0,p=0,b=0,w=0,m=0,g=0,_=0,v=0,k=0,y=0,E=0,A=0,T=0,S=0,M=0,R=0,C=0;if(s==0&o==0){if((t|0)==(e|0))return;Mr(e|0,t|0,r<<2|0)|0;return}g=(i|0)>15?i:15;S=(n|0)>15?n:15;m=+f[548+(a*12|0)>>2]*s;b=+f[548+(a*12|0)+4>>2]*s;w=+f[548+(a*12|0)+8>>2]*s;E=+f[548+(l*12|0)>>2]*o;A=+f[548+(l*12|0)+4>>2]*o;T=+f[548+(l*12|0)+8>>2]*o;_=1-S|0;v=0-S|0;k=~S;y=-2-S|0;i=s==o&(g|0)==(S|0)&(a|0)==(l|0)?0:u;n=0;s=+f[t+(_<<2)>>2];c=+f[t+(v<<2)>>2];d=+f[t+(k<<2)>>2];p=+f[t+(y<<2)>>2];while(1){if((n|0)>=(i|0))break;R=+f[t+(n-S+2<<2)>>2];M=+f[h+(n<<2)>>2];M=M*M;C=1-M;l=n-g|0;f[e+(n<<2)>>2]=+f[t+(n<<2)>>2]+C*m*+f[t+(l<<2)>>2]+C*b*(+f[t+(l+1<<2)>>2]+ +f[t+(l+-1<<2)>>2])+C*w*(+f[t+(l+2<<2)>>2]+ +f[t+(l+-2<<2)>>2])+M*E*c+M*A*(s+d)+M*T*(R+p);M=s;n=n+1|0;s=R;p=d;d=c;c=M}if(o==0){if((t|0)==(e|0))return;Mr(e+(i<<2)|0,t+(i<<2)|0,r-i<<2|0)|0;return}else{a=e+(n<<2)|0;u=t+(n<<2)|0;i=r-n|0;n=0;p=+f[u+(_<<2)>>2];d=+f[u+(v<<2)>>2];c=+f[u+(k<<2)>>2];s=+f[u+(y<<2)>>2];while(1){if((n|0)>=(i|0))break;R=+f[u+(n-S+2<<2)>>2];f[a+(n<<2)>>2]=+f[u+(n<<2)>>2]+d*E+(p+c)*A+(R+s)*T;C=p;n=n+1|0;p=R;s=c;c=d;d=C}return}}function Ts(e){e=e|0;if((e+7|0)>>>0>7){e=27924;return e|0}e=s[584+(0-e<<2)>>2]|0;return e|0}function Ss(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,o=0,a=0,l=0,f=0,h=0,c=0,d=0,p=0,b=0,w=0,m=0,g=0,_=0;g=u;u=u+16|0;w=g+8|0;p=g;e:do if((e|0)<16e3)if((e|0)<12e3)switch(e|0){case 8e3:{a=2;break e}default:break e}else switch(e|0){case 12e3:{a=2;break e}default:break e}else{if((e|0)<24e3)switch(e|0){case 16e3:{a=2;break e}default:break e}if((e|0)<48e3)switch(e|0){case 24e3:{a=2;break e}default:break e}else switch(e|0){case 48e3:{a=2;break e}default:break e}}while(0);if((a|0)==2?(t+-1|0)>>>0<2:0){d=t*96|0;m=zn((t*8672|0)+88+d+9304|0)|0;if(!m){if(!i){i=0;u=g;return i|0}s[i>>2]=-7;i=0;u=g;return i|0}e:do if((e|0)<16e3)if((e|0)<12e3)switch(e|0){case 8e3:{a=9;break e}default:{n=-1;break e}}else switch(e|0){case 12e3:{a=9;break e}default:{n=-1;break e}}else{if((e|0)<24e3)switch(e|0){case 16e3:{a=9;break e}default:{n=-1;break e}}if((e|0)<48e3)switch(e|0){case 24e3:{a=9;break e}default:{n=-1;break e}}else switch(e|0){case 48e3:{a=9;break e}default:{n=-1;break e}}}while(0);do if((a|0)==9)if((t+-1|0)>>>0<2){yr(m|0,0,(t*8672|0)+88+d+9304|0)|0;s[m+4>>2]=88;s[m>>2]=8632;n=m+88|0;b=m+8632|0;s[m+8>>2]=t;s[m+48>>2]=t;s[m+12>>2]=e;s[m+24>>2]=e;s[m+16>>2]=t;c=0;while(1){if((c|0)==2)break;o=n+(c*4260|0)|0;yr(o|0,0,4260)|0;s[n+(c*4260|0)+2376>>2]=1;s[o>>2]=65536;o=n+(c*4260|0)+2340|0;l=s[o>>2]|0;a=32767/(l+1|0)|0;f=0;h=0;while(1){if((h|0)>=(l|0))break;_=f+a|0;r[n+(c*4260|0)+4052+(h<<1)>>1]=_;l=s[o>>2]|0;f=_;h=h+1|0}s[n+(c*4260|0)+4148>>2]=0;s[n+(c*4260|0)+4152>>2]=3176576;s[n+(c*4260|0)+4168>>2]=s[n+(c*4260|0)+2328>>2]<<7;s[n+(c*4260|0)+4240>>2]=65536;s[n+(c*4260|0)+4244>>2]=65536;s[n+(c*4260|0)+4256>>2]=20;s[n+(c*4260|0)+4252>>2]=2;c=c+1|0}_=m+8608|0;s[_>>2]=0;s[_+4>>2]=0;s[_+8>>2]=0;s[m+8628>>2]=0;if(t>>>0<=2){yr(b|0,0,(t*8672|0)+88+d+672|0)|0;s[b>>2]=5304;s[m+8636>>2]=120;s[m+8640>>2]=t;s[m+8644>>2]=t;o=m+8648|0;s[o>>2]=1;s[m+8652>>2]=0;s[m+8656>>2]=21;s[m+8660>>2]=1;s[m+8664>>2]=0;ri(b,4028,p);e:do if((e|0)<16e3)if((e|0)<12e3){switch(e|0){case 8e3:break;default:{a=22;break e}}n=6;a=23;break}else{switch(e|0){case 12e3:break;default:{a=22;break e}}n=4;a=23;break}else{if((e|0)<24e3){switch(e|0){case 16e3:break;default:{a=22;break e}}n=3;a=23;break}if((e|0)>=48e3)switch(e|0){case 48e3:{n=1;a=23;break e}default:{a=22;break e}}switch(e|0){case 24e3:break;default:{a=22;break e}}n=2;a=23}while(0);if((a|0)==22){s[o>>2]=0;n=-3;break}else if((a|0)==23){s[o>>2]=n;s[w>>2]=0;ri(b,10016,w);s[m+60>>2]=0;s[m+64>>2]=(e|0)/400|0;s[m+44>>2]=0;n=0;break}}else n=-3}else n=-1;while(0);if(i|0)s[i>>2]=n;if(!n){_=m;u=g;return _|0}qn(m);_=0;u=g;return _|0}if(!i){_=0;u=g;return _|0}s[i>>2]=-1;_=0;u=g;return _|0}function Ms(e,t,i,n,a,l){e=e|0;t=t|0;i=i|0;n=n|0;a=a|0;l=l|0;var h=0,c=0,d=0,p=0,b=0,w=0,m=0,g=0,_=0,v=0,k=0,y=0,E=0,A=0,T=0,S=0,M=0,R=0,C=0,P=0,x=0,I=0,O=0,N=0,D=0,L=0,U=0,B=0,j=0,F=0,G=0,H=0,z=0,q=0,W=0,V=0,Y=0,Z=0,$=0,K=0,X=0,Q=0,ee=0,ie=0,re=0,se=0,oe=0,ae=0;ae=u;u=u+160|0;K=ae+80|0;$=ae+72|0;Z=ae+64|0;V=ae+56|0;z=ae+48|0;G=ae+40|0;F=ae+32|0;j=ae+24|0;B=ae+16|0;U=ae+8|0;L=ae;se=ae+96|0;M=ae+92|0;oe=ae+88|0;H=ae+144|0;W=ae+84|0;s[oe>>2]=0;S=e+(s[e+4>>2]|0)|0;Y=e+(s[e>>2]|0)|0;ie=e+12|0;h=s[ie>>2]|0;q=(h|0)/50|0;T=q>>1;ee=q>>2;re=q>>3;if((re|0)>(a|0)){e=-2;u=ae;return e|0}h=((h|0)/25|0)*3|0;h=(h|0)>(a|0)?a:h;do if((i|0)>=2)if(t){p=s[e+64>>2]|0;d=s[e+56>>2]|0;s[se>>2]=t;s[se+4>>2]=i;s[se+8>>2]=0;s[se+12>>2]=0;s[se+16>>2]=0;m=se+20|0;s[m>>2]=9;g=se+24|0;s[g>>2]=0;_=se+28|0;s[_>>2]=128;s[g>>2]=1;E=o[t>>0]|0;v=se+40|0;s[v>>2]=E;A=E>>>1^127;k=se+32|0;s[k>>2]=A;s[se+44>>2]=0;c=128;a=9;w=1;while(1){if(c>>>0>=8388609)break;a=a+8|0;s[m>>2]=a;c=c<<8;s[_>>2]=c;if(w>>>0<i>>>0){Q=w+1|0;s[g>>2]=Q;y=o[t+w>>0]|0;w=Q}else y=0;s[v>>2]=y;Q=((E<<8|y)>>>1&255|A<<8&2147483392)^255;s[k>>2]=Q;E=y;A=Q}a=s[e+60>>2]|0;if((a|0)>0){a=(a|0)==1002;if((d|0)!=1002){if(!a){a=t;c=h;P=27;break}x=te(ee,s[e+8>>2]|0)|0;Q=Ne()|0;X=p;I=0;O=1;break}if(!a?(s[e+68>>2]|0)==0:0){X=te(ee,s[e+8>>2]|0)|0;Q=Ne()|0;I=u;u=u+((1*(X<<2)|0)+15&-16)|0;Ms(e,0,0,I,(ee|0)<(p|0)?ee:p,0)|0;X=p;d=1002;x=1;O=1}else{a=t;c=h;d=1002;P=27}}else{a=t;c=h;P=27}}else P=10;else{P=s[e+64>>2]|0;h=(h|0)<(P|0)?h:P;P=10}while(0);do if((P|0)==10){d=s[e+60>>2]|0;if(!d){a=e+8|0;c=0;while(1){if((c|0)>=(te(h,s[a>>2]|0)|0))break;f[n+(c<<2)>>2]=0;c=c+1|0}u=ae;return h|0}if((h|0)<=(q|0)){if((h|0)>=(q|0)){a=0;c=h;p=h;P=27;break}if((h|0)>(T|0)){a=0;c=h;p=T;P=27;break}if((d|0)==1e3){a=0;c=h;p=h;d=1e3;P=27;break}a=0;c=h;p=(h|0)>(ee|0)&(h|0)<(T|0)?ee:h;P=27;break}p=e+8|0;a=n;d=h;while(1){c=Ms(e,0,0,a,(d|0)<(q|0)?d:q,0)|0;if((c|0)<0){h=c;P=158;break}d=d-c|0;a=a+((te(c,s[p>>2]|0)|0)<<2)|0;if((d|0)<=0){P=158;break}}if((P|0)==158){u=ae;return h|0}}while(0);if((P|0)==27){t=a;h=c;Q=Ne()|0;X=p;I=0;x=1;O=0}e:do if((X|0)>(h|0))h=-1;else{if((d|0)==1002){M=u;u=u+16|0;d=1002}else{v=e+8|0;h=s[v>>2]|0;if((T|0)>(X|0)){T=(te(T,h)|0)<<1;_=u;u=u+((1*T|0)+15&-16)|0}else{T=(te(X,h)|0)<<1;_=u;u=u+((1*T|0)+15&-16)|0}if((s[e+60>>2]|0)==1002){m=0;while(1){if((m|0)==2)break;h=S+(m*4260|0)|0;yr(h|0,0,4260)|0;s[S+(m*4260|0)+2376>>2]=1;s[h>>2]=65536;h=S+(m*4260|0)+2340|0;c=s[h>>2]|0;a=32767/(c+1|0)|0;p=0;w=0;while(1){if((w|0)>=(c|0))break;T=p+a|0;r[S+(m*4260|0)+4052+(w<<1)>>1]=T;c=s[h>>2]|0;p=T;w=w+1|0}s[S+(m*4260|0)+4148>>2]=0;s[S+(m*4260|0)+4152>>2]=3176576;s[S+(m*4260|0)+4168>>2]=s[S+(m*4260|0)+2328>>2]<<7;s[S+(m*4260|0)+4240>>2]=65536;s[S+(m*4260|0)+4244>>2]=65536;s[S+(m*4260|0)+4256>>2]=20;s[S+(m*4260|0)+4252>>2]=2;m=m+1|0}T=S+8520|0;s[T>>2]=0;s[T+4>>2]=0;s[T+8>>2]=0;s[S+8540>>2]=0}T=(X*1e3|0)/(s[ie>>2]|0)|0;s[e+32>>2]=(T|0)<10?10:T;if(!t)p=1;else{s[e+20>>2]=s[e+48>>2];t:do if((d|0)==1e3)switch(s[e+52>>2]|0){case 1101:{s[e+28>>2]=8e3;break t}case 1102:{s[e+28>>2]=12e3;break t}case 1103:{s[e+28>>2]=16e3;break t}default:{s[e+28>>2]=16e3;break t}}else s[e+28>>2]=16e3;while(0);p=l<<1}c=e+16|0;w=(p|0)==0;m=0;g=_;while(1){t:do if(!(Ii(S,c,p,(m|0)==0&1,se,g,M)|0))h=s[v>>2]|0;else{if(w){h=-3;break e}s[M>>2]=X;a=0;while(1){h=s[v>>2]|0;if((a|0)>=(te(X,h)|0))break t;r[g+(a<<1)>>1]=0;a=a+1|0}}while(0);T=s[M>>2]|0;m=m+T|0;g=g+((te(T,h)|0)<<1)|0;if((m|0)>=(X|0)){M=_;break}}}S=(l|0)==0;do if(S)if((d|0)!=1002)if((t|0)!=0?(N=se+20|0,C=s[N>>2]|0,D=se+28|0,R=s[D>>2]|0,P=C+((ne(R|0)|0)+-32)+17|0,(P+((s[e+56>>2]|0)==1001?20:0)|0)<=(i<<3|0)):0){E=(d|0)==1001;A=se+32|0;a=s[A>>2]|0;if(E){h=R>>>12;v=a>>>0<h>>>0;k=v&1;if(!v){a=a-h|0;s[A>>2]=a;h=R-h|0}s[D>>2]=h;m=se+40|0;g=se+24|0;_=se+4|0;c=h;h=C;while(1){if(c>>>0>=8388609)break;h=h+8|0;s[N>>2]=h;p=c<<8;s[D>>2]=p;w=s[m>>2]|0;c=s[g>>2]|0;if(c>>>0<(s[_>>2]|0)>>>0){s[g>>2]=c+1;c=o[(s[se>>2]|0)+c>>0]|0}else c=0;s[m>>2]=c;P=((w<<8|c)>>>1&255|a<<8&2147483392)^255;s[A>>2]=P;c=p;a=P}if(v){w=c;p=a}else{h=i;a=0;c=0;p=0;P=90;break}}else{w=R;p=a;h=C;k=1}c=w>>>1;P=p>>>0<c>>>0;a=P&1;if(!P){p=p-c|0;s[A>>2]=p;c=w-c|0}s[D>>2]=c;_=se+40|0;v=se+24|0;y=se+4|0;while(1){if(c>>>0>=8388609)break;h=h+8|0;s[N>>2]=h;c=c<<8;s[D>>2]=c;m=s[_>>2]|0;w=s[v>>2]|0;if(w>>>0<(s[y>>2]|0)>>>0){s[v>>2]=w+1;w=o[(s[se>>2]|0)+w>>0]|0}else w=0;s[_>>2]=w;P=((m<<8|w)>>>1&255|p<<8&2147483392)^255;s[A>>2]=P;p=P}if(E){P=c>>>8;s[se+36>>2]=P;g=(p>>>0)/(P>>>0)|0;C=g+1|0;g=256-(C+(C>>>0>256?255-g|0:0))|0;C=te(P,255-g|0)|0;m=p-C|0;s[A>>2]=m;c=(g|0)==0?c-C|0:P;s[D>>2]=c;while(1){if(c>>>0>=8388609)break;h=h+8|0;s[N>>2]=h;c=c<<8;s[D>>2]=c;w=s[_>>2]|0;p=s[v>>2]|0;if(p>>>0<(s[y>>2]|0)>>>0){s[v>>2]=p+1;p=o[(s[se>>2]|0)+p>>0]|0}else p=0;s[_>>2]=p;P=((w<<8|p)>>>1&255|m<<8&2147483392)^255;s[A>>2]=P;m=P}p=g+2|0}else p=i-(h+((ne(c|0)|0)+-32)+7>>3)|0;P=i-p|0;c=(P<<3|0)<(h+((ne(c|0)|0)+-32)|0);p=c?0:p;s[y>>2]=(s[y>>2]|0)-p;h=c?0:P;c=c?0:k;P=90}else{h=i;a=0;c=0;p=0;P=91}else{T=i;A=0;c=0;p=0;a=0}else{h=i;a=0;c=0;p=0;P=90}while(0);if((P|0)==90)if((d|0)==1002){T=h;A=a;a=0}else P=91;if((P|0)==91){T=h;A=a;a=17}switch(s[e+52>>2]|0){case 1101:{h=13;break}case 1103:case 1102:{h=17;break}case 1104:{h=19;break}default:h=21}s[L>>2]=h;ri(Y,10012,L);s[U>>2]=s[e+48>>2];ri(Y,10008,U);E=(c|0)==0;if(!E){U=(te(ee,s[e+8>>2]|0)|0)<<2;h=u;u=u+((1*U|0)+15&-16)|0;if(!A){g=h;y=I;_=0}else{s[B>>2]=0;ri(Y,10010,B);si(Y,t+T|0,p,h,ee,0,0)|0;s[j>>2]=oe;ri(Y,4031,j);g=h;y=I;_=0}}else{h=u;u=u+((1*(x<<2)|0)+15&-16)|0;do if(!((O|0)==0|(d|0)==1002))if((ee|0)<(X|0)){Ms(e,0,0,h,ee,0)|0;break}else{Ms(e,0,0,h,X,0)|0;break}else h=I;while(0);g=u;u=u+16|0;y=h;_=O}s[F>>2]=a;ri(Y,10010,F);do if((d|0)==1e3){r[H>>1]=-1;h=e+8|0;a=0;while(1){if((a|0)>=(te(X,s[h>>2]|0)|0))break;f[n+(a<<2)>>2]=0;a=a+1|0}if((s[e+60>>2]|0)==1001){if(!(E|(A|0)==0)?s[e+68>>2]|0:0){h=0;d=1e3;P=116;break}s[z>>2]=0;ri(Y,10010,z);si(Y,H,2,n,re,0,0)|0;h=0;d=1e3;P=116}else{h=0;d=1e3;P=116}}else{h=(q|0)<(X|0)?q:X;q=s[e+60>>2]|0;if((d|0)!=(q|0)&(q|0)>0?(s[e+68>>2]|0)==0:0)ri(Y,4028,G);h=si(Y,S?t:0,T,n,h,se,0)|0;if((d|0)==1002){k=h;v=d}else P=116}while(0);t:do if((P|0)==116){a=e+8|0;c=0;while(1){if((c|0)>=(te(X,s[a>>2]|0)|0)){k=h;v=d;break t}q=n+(c<<2)|0;f[q>>2]=+f[q>>2]+ +(r[M+(c<<1)>>1]|0)*30517578125e-15;c=c+1|0}}while(0);s[V>>2]=W;ri(Y,10015,V);m=s[(s[W>>2]|0)+60>>2]|0;t:do if(!E){if(!A){ri(Y,4028,Z);s[$>>2]=0;ri(Y,10010,$);si(Y,t+T|0,p,g,ee,0,0)|0;s[K>>2]=oe;ri(Y,4031,K);p=s[e+8>>2]|0;w=n+((te(p,X-re|0)|0)<<2)|0;h=g+((te(p,re)|0)<<2)|0;a=48e3/(s[ie>>2]|0)|0;c=0;while(1){if((c|0)<(p|0))d=0;else break t;while(1){if((d|0)>=(re|0))break;b=+f[m+((te(d,a)|0)<<2)>>2];b=b*b;$=(te(d,p)|0)+c|0;K=w+($<<2)|0;f[K>>2]=b*+f[h+($<<2)>>2]+(1-b)*+f[K>>2];d=d+1|0}c=c+1|0}}a=e+8|0;c=0;while(1){w=s[a>>2]|0;if((c|0)<(w|0))h=0;else break;while(1){if((h|0)>=(re|0))break;K=(te(s[a>>2]|0,h)|0)+c|0;s[n+(K<<2)>>2]=s[g+(K<<2)>>2];h=h+1|0}c=c+1|0}a=te(w,re)|0;h=g+(a<<2)|0;a=n+(a<<2)|0;c=48e3/(s[ie>>2]|0)|0;d=0;while(1){if((d|0)<(w|0))p=0;else break t;while(1){if((p|0)>=(re|0))break;b=+f[m+((te(p,c)|0)<<2)>>2];b=b*b;$=(te(p,w)|0)+d|0;K=a+($<<2)|0;f[K>>2]=b*+f[K>>2]+(1-b)*+f[h+($<<2)>>2];p=p+1|0}d=d+1|0}}while(0);t:do if(_|0){a=e+8|0;if((X|0)<(ee|0)){d=s[a>>2]|0;h=48e3/(s[ie>>2]|0)|0;a=0;while(1){if((a|0)<(d|0))c=0;else break t;while(1){if((c|0)>=(re|0))break;b=+f[m+((te(c,h)|0)<<2)>>2];b=b*b;ee=(te(c,d)|0)+a|0;ie=n+(ee<<2)|0;f[ie>>2]=b*+f[ie>>2]+(1-b)*+f[y+(ee<<2)>>2];c=c+1|0}a=a+1|0}}else h=0;while(1){w=s[a>>2]|0;c=te(w,re)|0;if((h|0)>=(c|0))break;s[n+(h<<2)>>2]=s[y+(h<<2)>>2];h=h+1|0}p=y+(c<<2)|0;d=n+(c<<2)|0;h=48e3/(s[ie>>2]|0)|0;a=0;while(1){if((a|0)<(w|0))c=0;else break t;while(1){if((c|0)>=(re|0))break;b=+f[m+((te(c,h)|0)<<2)>>2];b=b*b;ee=(te(c,w)|0)+a|0;ie=d+(ee<<2)|0;f[ie>>2]=b*+f[ie>>2]+(1-b)*+f[p+(ee<<2)>>2];c=c+1|0}a=a+1|0}}while(0);h=s[e+40>>2]|0;t:do if(h|0){b=+J(+(+(h|0)*.0006488140788860619*.6931471805599453));h=e+8|0;a=0;while(1){if((a|0)>=(te(X,s[h>>2]|0)|0))break t;re=n+(a<<2)|0;f[re>>2]=+f[re>>2]*b;a=a+1|0}}while(0);if((T|0)<2)h=0;else h=s[se+28>>2]^s[oe>>2];s[e+84>>2]=h;s[e+60>>2]=v;s[e+68>>2]=(A|0)==0&(E^1)&1;h=(k|0)<0?k:X}while(0);He(Q|0);e=h;u=ae;return e|0}function Rs(e,t,i,a){e=e|0;t=t|0;i=i|0;a=a|0;var l=0,h=0,c=0,p=0,b=0,w=0,m=0,g=0,_=0,v=0,k=0,y=0,E=0,A=0,T=0,S=0,M=0,R=0,C=0,P=0,x=0;C=u;u=u+112|0;A=C;E=C+104|0;T=C+8|0;_=(t|0)==0;do if((i|0)>0&(_^1)){w=s[e+12>>2]|0;c=n[t>>0]|0;p=c&255;e:do switch(p&3|0){case 0:{b=1;break}case 3:if((i|0)<2){a=-4;u=C;return a|0}else{h=o[t+1>>0]&63;v=5;break e}default:{h=2;v=5}}while(0);if((v|0)==5)b=h;do if(c<<24>>24>=0)if((c&96)==96)if(!(c&8)){h=(w|0)/100|0;break}else{h=(w|0)/50|0;break}else{h=p>>>3&3;if((h|0)==3){h=(w*60|0)/1e3|0;break}else{h=(w<<h|0)/100|0;break}}else h=(w<<(p>>>3&3)|0)/400|0;while(0);h=te(b,h)|0;if((h*25|0)<=(w*3|0)&(h|0)>0){y=(h|0)>5760?5760:h;break}else{a=-4;u=C;return a|0}}else y=5760;while(0);S=e+8|0;h=te(y,s[S>>2]|0)|0;M=Ne()|0;R=u;u=u+((1*(h<<2)|0)+15&-16)|0;h=(i|0)==0;e:do if(h|_)if(!((y|0)%((s[e+12>>2]|0)/400|0|0)|0))if(h|_){c=0;do{h=Ms(e,0,0,R+((te(c,s[S>>2]|0)|0)<<2)|0,y-c|0,0)|0;if((h|0)<0){c=h;break e}c=c+h|0}while((c|0)<(y|0));s[e+72>>2]=c}else v=23;else c=-1;else v=23;while(0);e:do if((v|0)==23)if((i|0)>=0){w=n[t>>0]|0;do if(w<<24>>24>=0){v=(w&96)==96;b=v?1001:1e3;if(v)p=(w&16)>>>4|1104;else p=((w&255)>>>5&3)+1101|0;h=s[e+12>>2]|0;if((w&96)==96)if(!(w&8)){_=(h|0)/100|0;break}else{_=(h|0)/50|0;break}else{c=(w&255)>>>3&3;if((c|0)==3){_=(h*60|0)/1e3|0;break}else{_=(h<<c|0)/100|0;break}}}else{p=(w&255)>>>5&3;_=(s[e+12>>2]<<((w&255)>>>3&3)|0)/400|0;p=(p|0)==0?1101:p+1102|0;b=1002}while(0);h=((w&4)>>>2)+1|0;c=rn(t,i,0,E,0,T,A,0)|0;if((c|0)>=0)if((te(c,_)|0)<=(y|0)){w=t+(s[A>>2]|0)|0;s[e+56>>2]=b;s[e+52>>2]=p;s[e+64>>2]=_;s[e+48>>2]=h;h=w;w=0;t=0;while(1){if((w|0)>=(c|0))break;p=T+(w<<1)|0;b=Ms(e,h,r[p>>1]|0,R+((te(t,s[S>>2]|0)|0)<<2)|0,y-t|0,0)|0;if((b|0)<0){c=b;break e}h=h+(r[p>>1]|0)|0;w=w+1|0;t=t+b|0}s[e+72>>2]=t;E=s[S>>2]|0;if((E|0)<1|(t|0)<1)c=t;else{h=te(t,E)|0;c=0;while(1){if((c|0)>=(h|0)){i=0;break}T=R+(c<<2)|0;k=+f[T>>2];i=k>2;A=k<-2&(i^1);f[T>>2]=A|i?A?-2:2:k;c=c+1|0}while(1){if((i|0)==(E|0)){c=t;break e}v=R+(i<<2)|0;y=e+76+(i<<2)|0;l=+f[y>>2];c=0;while(1){if((c|0)>=(t|0))break;h=v+((te(c,E)|0)<<2)|0;m=+f[h>>2];g=m*l;if(g>=0)break;f[h>>2]=m+g*m;c=c+1|0}k=+f[v>>2];w=0;while(1){c=w;while(1){if((c|0)>=(t|0))break;g=+f[v+((te(c,E)|0)<<2)>>2];if(g>1|g<-1)break;c=c+1|0}if((c|0)==(t|0)){l=0;break}g=+f[v+((te(c,E)|0)<<2)>>2];l=+H(+g);p=c;while(1){if((p|0)<=0){_=c;m=l;b=c;break}h=p+-1|0;if(!(g*+f[v+((te(h,E)|0)<<2)>>2]>=0)){_=c;m=l;b=c;break}else p=h}while(1){if((_|0)>=(t|0))break;l=+f[v+((te(_,E)|0)<<2)>>2];if(!(g*l>=0))break;l=+H(+l);A=l>m;T=A?_:b;_=_+1|0;m=A?l:m;b=T}if(!p)c=g*+f[v>>2]>=0;else c=0;l=(m+-1)/(m*m);l=l+l*2.4e-7;l=g>0?-l:l;h=p;while(1){if((h|0)>=(_|0))break;T=v+((te(h,E)|0)<<2)|0;g=+f[T>>2];f[T>>2]=g+l*g*g;h=h+1|0}t:do if(c&(b|0)>1){m=k-+f[v>>2];g=m/+(b|0);h=w;while(1){if((h|0)>=(b|0))break t;P=m-g;T=v+((te(h,E)|0)<<2)|0;x=+f[T>>2]+P;f[T>>2]=x;w=x>1;A=x<-1&(w^1);f[T>>2]=A|w?A?-1:1:x;h=h+1|0;m=P}}while(0);if((_|0)==(t|0))break;else w=_}f[y>>2]=l;i=i+1|0}}}else c=-2}else c=-1;while(0);e:do if((c|0)>0){p=0;while(1){if((p|0)>=(te(c,s[S>>2]|0)|0))break e;l=+f[R+(p<<2)>>2]*32768;if(l>-32768){if(!(l<32767))l=32767}else l=-32768;h=(f[d>>2]=l,s[d>>2]|0);if((h&2130706432)>>>0<=1249902592){h=(h|0)<0;l=h?l+-8388608+8388608:l+8388608+-8388608;if(l==0)l=h?-0:0}r[a+(p<<1)>>1]=~~l;p=p+1|0}}while(0);He(M|0);a=c;u=C;return a|0}function Cs(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,o=0,a=0,l=0,f=0,h=0,c=0,d=0;c=u;u=u+32|0;o=c+8|0;a=c;f=c+16|0;n=s[e+4>>2]|0;l=e+(s[e>>2]|0)|0;s[f>>2]=i;e:do switch(t|0){case 4009:{h=(s[f>>2]|0)+(4-1)&~(4-1);n=s[h>>2]|0;s[f>>2]=h+4;if(!n)t=26;else{s[n>>2]=s[e+52>>2];n=0;t=25}break}case 4031:{h=(s[f>>2]|0)+(4-1)&~(4-1);n=s[h>>2]|0;s[f>>2]=h+4;if(!n)t=26;else{s[n>>2]=s[e+84>>2];n=0;t=25}break}case 4028:{f=e+n|0;h=e+48|0;n=h;t=n+40|0;do{s[n>>2]=0;n=n+4|0}while((n|0)<(t|0));ri(l,4028,a);l=0;while(1){if((l|0)==2)break;n=f+(l*4260|0)|0;yr(n|0,0,4260)|0;s[f+(l*4260|0)+2376>>2]=1;s[n>>2]=65536;n=f+(l*4260|0)+2340|0;i=s[n>>2]|0;t=32767/(i+1|0)|0;o=0;a=0;while(1){if((a|0)>=(i|0))break;d=o+t|0;r[f+(l*4260|0)+4052+(a<<1)>>1]=d;i=s[n>>2]|0;o=d;a=a+1|0}s[f+(l*4260|0)+4148>>2]=0;s[f+(l*4260|0)+4152>>2]=3176576;s[f+(l*4260|0)+4168>>2]=s[f+(l*4260|0)+2328>>2]<<7;s[f+(l*4260|0)+4240>>2]=65536;s[f+(l*4260|0)+4244>>2]=65536;s[f+(l*4260|0)+4256>>2]=20;s[f+(l*4260|0)+4252>>2]=2;l=l+1|0}n=f+8520|0;s[n>>2]=0;s[n+4>>2]=0;s[n+8>>2]=0;s[f+8540>>2]=0;s[h>>2]=s[e+8>>2];s[e+64>>2]=(s[e+12>>2]|0)/400|0;n=0;t=25;break}case 4029:{d=(s[f>>2]|0)+(4-1)&~(4-1);n=s[d>>2]|0;s[f>>2]=d+4;if(!n)t=26;else{s[n>>2]=s[e+12>>2];n=0;t=25}break}case 4033:{d=(s[f>>2]|0)+(4-1)&~(4-1);n=s[d>>2]|0;s[f>>2]=d+4;if(n)if((s[e+60>>2]|0)==1002){s[o>>2]=n;ri(l,4033,o);n=0;t=25;break e}else{s[n>>2]=s[e+36>>2];n=0;t=25;break e}else t=26;break}case 4045:{d=(s[f>>2]|0)+(4-1)&~(4-1);n=s[d>>2]|0;s[f>>2]=d+4;if(!n)t=26;else{s[n>>2]=s[e+40>>2];n=0;t=25}break}case 4034:{d=(s[f>>2]|0)+(4-1)&~(4-1);n=s[d>>2]|0;s[f>>2]=d+4;if((n+32768|0)>>>0>65535)t=26;else{s[e+40>>2]=n;n=0;t=25}break}case 4039:{d=(s[f>>2]|0)+(4-1)&~(4-1);n=s[d>>2]|0;s[f>>2]=d+4;if(!n)t=26;else{s[n>>2]=s[e+72>>2];n=0;t=25}break}default:{n=-5;t=25}}while(0);if((t|0)==25){d=n;u=c;return d|0}else if((t|0)==26){d=-1;u=c;return d|0}return 0}function Ps(e){e=e|0;qn(e);return}function xs(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var o=0,a=0,l=0,h=0,c=0,d=0,p=0,b=0,w=0,m=0,g=0,_=0;_=u;u=u+32|0;w=_+16|0;b=_+8|0;c=_;e:do if((e|0)<16e3)if((e|0)<12e3)switch(e|0){case 8e3:{g=2;break e}default:break e}else switch(e|0){case 12e3:{g=2;break e}default:break e}else{if((e|0)<24e3)switch(e|0){case 16e3:{g=2;break e}default:break e}if((e|0)<48e3)switch(e|0){case 24e3:{g=2;break e}default:break e}else switch(e|0){case 48e3:{g=2;break e}default:break e}}while(0);e:do if((g|0)==2?(t+-1|0)>>>0<2:0){switch(i|0){case 2048:case 2049:case 2051:break;default:break e}l=t<<12;m=zn((t*480|0)+212+l+(t*336|0)+39448|0)|0;if(!m){if(!n){g=0;u=_;return g|0}s[n>>2]=-7;g=0;u=_;return g|0}t:do if((e|0)<16e3)if((e|0)<12e3)switch(e|0){case 8e3:{g=10;break t}default:{o=-1;break t}}else switch(e|0){case 12e3:{g=10;break t}default:{o=-1;break t}}else{if((e|0)<24e3)switch(e|0){case 16e3:{g=10;break t}default:{o=-1;break t}}if((e|0)<48e3)switch(e|0){case 24e3:{g=10;break t}default:{o=-1;break t}}else switch(e|0){case 48e3:{g=10;break t}default:{o=-1;break t}}}while(0);t:do if((g|0)==10)if((t+-1|0)>>>0<2){switch(i|0){case 2048:case 2049:case 2051:break;default:{o=-1;break t}}yr(m|0,0,(t*480|0)+212+l+(t*336|0)+39448|0)|0;s[m+4>>2]=19048;s[m>>2]=39448;d=m+39448|0;s[m+112>>2]=t;s[m+15104>>2]=t;p=m+144|0;s[p>>2]=e;a=m+180|0;s[a>>2]=0;o=m+8|0;if(!(Oi(m+19048|0,0,o)|0)){s[o>>2]=t;s[m+12>>2]=t;s[m+16>>2]=s[p>>2];s[m+20>>2]=16e3;s[m+24>>2]=8e3;s[m+28>>2]=16e3;s[m+32>>2]=20;s[m+36>>2]=25e3;s[m+40>>2]=0;h=m+44|0;s[h>>2]=9;s[m+48>>2]=0;s[m+56>>2]=0;s[m+60>>2]=0;s[m+76>>2]=0;o=s[a>>2]|0;yr(d|0,0,(t*480|0)+212+l+(t*336|0)|0)|0;s[d>>2]=5304;s[m+39452>>2]=t;s[m+39456>>2]=t;a=m+39476|0;s[a>>2]=1;s[m+39480>>2]=0;s[m+39484>>2]=21;s[m+39496>>2]=1;s[m+39520>>2]=o;s[m+39500>>2]=1;s[m+39464>>2]=1;s[m+39488>>2]=-1;s[m+39492>>2]=0;s[m+39460>>2]=0;s[m+39472>>2]=5;s[m+39508>>2]=24;Hs(d,4028,c)|0;i:do if((e|0)<16e3)if((e|0)<12e3){switch(e|0){case 8e3:break;default:{g=18;break i}}o=6;break}else{switch(e|0){case 12e3:break;default:{g=18;break i}}o=4;break}else{if((e|0)<24e3){switch(e|0){case 16e3:break;default:{g=18;break i}}o=3;break}if((e|0)>=48e3)switch(e|0){case 48e3:{o=1;break i}default:{g=18;break i}}switch(e|0){case 24e3:break;default:{g=18;break i}}o=2}while(0);if((g|0)==18)o=0;s[a>>2]=o;s[b>>2]=0;Hs(d,10016,b)|0;s[w>>2]=s[h>>2];Hs(d,4010,w)|0;s[m+148>>2]=1;s[m+152>>2]=1;s[m+164>>2]=-1e3;s[m+160>>2]=(te(e,t)|0)+3e3;s[m+108>>2]=i;s[m+124>>2]=-1e3;s[m+128>>2]=-1e3;s[m+132>>2]=1105;s[m+120>>2]=-1e3;s[m+136>>2]=-1e3;s[m+140>>2]=-1;o=s[p>>2]|0;s[m+172>>2]=(o|0)/100|0;s[m+168>>2]=24;s[m+156>>2]=5e3;s[m+116>>2]=(o|0)/250|0;r[m+15108>>1]=16384;f[m+15116>>2]=1;s[m+15112>>2]=193536;s[m+15164>>2]=1;s[m+15136>>2]=1001;s[m+15152>>2]=1105;yr(m+188|0,0,14916)|0;o=0}else o=-3}else o=-1;while(0);if(n|0)s[n>>2]=o;if(!o){g=m;u=_;return g|0}qn(m);g=0;u=_;return g|0}while(0);if(!n){g=0;u=_;return g|0}s[n>>2]=-1;g=0;u=_;return g|0}function Is(e,t,i,n,s,o,a){e=e|0;t=t|0;i=i|0;n=n|0;s=s|0;o=o|0;a=a|0;var l=0,h=0,u=0,c=0;h=0;while(1){if((h|0)>=(i|0))break;f[t+(h<<2)>>2]=+(r[e+((te(h+n|0,a)|0)+s<<1)>>1]|0);h=h+1|0}u=(o|0)>-1;e:do if(!u)if((o|0)==-2){s=1;while(1){if((s|0)<(a|0))h=0;else{s=12;break e}while(1){if((h|0)>=(i|0))break;l=+(r[e+((te(h+n|0,a)|0)+s<<1)>>1]|0);c=t+(h<<2)|0;f[c>>2]=+f[c>>2]+l;h=h+1|0}s=s+1|0}}else s=14;else{s=0;while(1){if((s|0)>=(i|0)){s=12;break e}l=+(r[e+((te(s+n|0,a)|0)+o<<1)>>1]|0);c=t+(s<<2)|0;f[c>>2]=+f[c>>2]+l;s=s+1|0}}while(0);if((s|0)==12)if((o|0)==-2)l=30517578125e-15/+(a|0);else s=14;if((s|0)==14)l=u?152587890625e-16:30517578125e-15;s=0;while(1){if((s|0)>=(i|0))break;c=t+(s<<2)|0;f[c>>2]=+f[c>>2]*l;s=s+1|0}return}function Os(e,t,i,n,r,o,a,l){e=e|0;t=t|0;i=i|0;n=n|0;r=r|0;o=o|0;a=a|0;l=l|0;var h=0,c=0,p=0,b=0,w=0,m=0,g=0,_=0,v=0,k=0,y=0,E=0,A=0,T=0,S=0,M=0,R=0,C=0,P=0,x=0,I=0;P=u;u=u+3296|0;S=P+1760|0;R=P+224|0;C=P+112|0;T=P;m=(n|0)/400|0;g=u;u=u+((1*(m<<2)|0)+15&-16)|0;M=s[o>>2]|0;s[C>>2]=M;f[T>>2]=1/((s[d>>2]=M,+f[d>>2])+1.0000000036274937e-15);M=(a|0)==0;if(M){n=t;c=0;w=1}else{c=(m<<1)-a|0;n=s[o+4>>2]|0;s[C+4>>2]=n;f[T+4>>2]=1/((s[d>>2]=n,+f[d>>2])+1.0000000036274937e-15);n=s[o+8>>2]|0;s[C+8>>2]=n;f[T+8>>2]=1/((s[d>>2]=n,+f[d>>2])+1.0000000036274937e-15);n=t-c|0;w=3}a=(n|0)/(m|0)|0;a=(a|0)<24?a:24;n=0;h=0;while(1){if((n|0)>=(a|0))break;t=(te(n,m)|0)+c|0;Zs[l&1](e,g,m,t,0,-2,i);t=0;h=(n|0)==0?+f[g>>2]:h;p=1.0000000036274937e-15;while(1){if((t|0)>=(m|0))break;v=+f[g+(t<<2)>>2];y=v-h;t=t+1|0;h=v;p=p+y*y}A=n+w|0;f[C+(A<<2)>>2]=p;f[T+(A<<2)>>2]=1/p;n=n+1|0}A=n+w|0;s[C+(A<<2)>>2]=s[C+(A+-1<<2)>>2];if(!M){a=a+2|0;a=(a|0)>24?24:a}E=~~+((i*60|0)+40|0);A=(r|0)/400|0;if((r|0)>=32e3)if((r|0)>64399)y=1;else y=+(A+-80|0)/80;else y=0;n=0;while(1){if((n|0)==16){w=0;break}s[R+(n<<2)>>2]=-1;f[S+(n<<2)>>2]=1e10;n=n+1|0}while(1){if((w|0)==4){k=1;break}b=+((A<<w)+E|0);c=1<<w;n=(c|0)>(a|0)?a:c;t=0;h=0;p=0;while(1){if((t|0)>(n|0))break;v=p+ +f[T+(t<<2)>>2];_=h+ +f[C+(t<<2)>>2];t=t+1|0;h=_;p=v}k=n+1|0;h=(h*p/+(te(k,k)|0)+-2)*.05000000074505806;if(+z(+(h<=0?0:h))>1)h=1;else h=+z(+(h<=0?0:h));f[S+(c<<2)>>2]=b*(y*h+1);s[R+(c<<2)>>2]=w;w=w+1|0}while(1){if((a|0)<=(k|0))break;r=k+-1|0;n=2;while(1){if((n|0)==16)break;i=n+-1|0;s[S+(k<<6)+(n<<2)>>2]=s[S+(r<<6)+(i<<2)>>2];s[R+(k<<6)+(n<<2)>>2]=i;n=n+1|0}m=S+(r<<6)+4|0;g=C+(k<<2)|0;l=T+(k<<2)|0;e=a-k|0;v=+(e|0);i=0;while(1){if((i|0)==4)break;w=1<<i;c=R+(k<<6)+(w<<2)|0;s[c>>2]=1;_=+f[m>>2];n=1;while(1){if((n|0)==4)break;n=n+1|0;t=(1<<n)+-1|0;h=+f[S+(r<<6)+(t<<2)>>2];if(!(h<_))continue;s[c>>2]=t;_=h}b=+((A<<i)+E|0);c=(w|0)>(e|0);n=c?e:w;t=0;h=0;p=0;while(1){if((t|0)>(n|0))break;x=p+ +f[l+(t<<2)>>2];I=h+ +f[g+(t<<2)>>2];t=t+1|0;h=I;p=x}t=n+1|0;h=(h*p/+(te(t,t)|0)+-2)*.05000000074505806;if(+z(+(h<=0?0:h))>1)h=1;else h=+z(+(h<=0?0:h));h=b*(y*h+1);n=S+(k<<6)+(w<<2)|0;f[n>>2]=_;if(c)h=h*v/+(w|0);f[n>>2]=_+h;i=i+1|0}k=k+1|0}n=a+-1|0;h=+f[S+(n<<6)+4>>2];t=1;c=2;while(1){if((c|0)==16)break;I=+f[S+(n<<6)+(c<<2)>>2];T=I<h;h=T?I:h;t=T?c:t;c=c+1|0}while(1){n=a+-1|0;if((a|0)<=0)break;t=s[R+(n<<6)+(t<<2)>>2]|0;a=n}n=1<<t;s[o>>2]=s[C+(n<<2)>>2];if(M){u=P;return t|0}s[o+4>>2]=s[C+(n+1<<2)>>2];s[o+8>>2]=s[C+(n+2<<2)>>2];u=P;return t|0}function Ns(e,t,i,o,a,l,h,c,p,b,w,m,g){e=e|0;t=t|0;i=i|0;o=o|0;a=a|0;l=l|0;h=h|0;c=c|0;p=p|0;b=b|0;w=w|0;m=m|0;g=g|0;var _=0,v=0,k=0,y=0,E=0,A=0,T=0,S=0,M=0,R=0,C=0,P=0,x=0,I=0,O=0,N=0,D=0,L=0,U=0,B=0,j=0,F=0,q=0,W=0,V=0,Y=0,Z=0,$=0,K=0,X=0,Q=0,ee=0,ie=0,re=0,se=0,oe=0,ae=0,le=0,fe=0,he=0,ue=0,ce=0,de=0,pe=0,be=0,we=0,me=0,ge=0,_e=0,ve=0,ke=0,ye=0,Ee=0,Ae=0,Te=0,Se=0,Me=0,Re=0,Ce=0,Pe=0,xe=0,Ie=0,Oe=0,De=0,Le=0,Ue=0,Be=0,je=0,Fe=0,Ge=0,ze=0,qe=0,We=0,Ve=0,Ye=0,Ze=0,$e=0,Ke=0,Xe=0,Je=0,Qe=0,et=0,tt=0,it=0,nt=0,rt=0,st=0,ot=0,at=0,lt=0,ft=0,ht=0,ut=0,ct=0,dt=0,pt=0,bt=0,wt=0,mt=0,gt=0,_t=0,vt=0,kt=0,yt=0;pt=u;u=u+1280|0;st=pt+832|0;nt=pt+824|0;it=pt+816|0;tt=pt+808|0;et=pt+800|0;Qe=pt+792|0;Ke=pt+784|0;$e=pt+776|0;Ze=pt+768|0;Ye=pt+760|0;ct=pt+456|0;We=pt+448|0;qe=pt+440|0;ze=pt+432|0;Ge=pt+424|0;Fe=pt+416|0;je=pt+408|0;Be=pt+400|0;Ue=pt+392|0;Te=pt+384|0;Ae=pt+376|0;Ee=pt+368|0;ye=pt+360|0;ke=pt+352|0;ge=pt+344|0;me=pt+336|0;we=pt+328|0;ve=pt+320|0;_e=pt+312|0;Y=pt+304|0;C=pt;pe=pt+1272|0;Je=pt+1224|0;lt=pt+1220|0;Me=pt+1216|0;ft=pt+1184|0;V=pt+1152|0;ee=pt+852|0;ue=pt+848|0;De=pt+840|0;Ve=pt+1278|0;rt=pt+1276|0;s[lt>>2]=0;R=(a|0)>1276?1276:a;ut=e+19044|0;s[ut>>2]=0;be=e+156|0;if(!(s[be>>2]|0)){k=i*400|0;v=e+144|0;_=s[v>>2]|0;if((k|0)!=(_|0))if(!((i*200|0)==(_|0)|(i*100|0)==(_|0))?(dt=i*50|0,!((dt|0)==(_|0)|(i*25|0)==(_|0)|(dt|0)==(_*3|0))):0){o=-1;u=pt;return o|0}else{dt=v;v=k}else{dt=v;v=k;_=k}}else{_=e+144|0;dt=_;v=i*400|0;_=s[_>>2]|0}if((v|0)<(_|0)|(R|0)<1){o=-1;u=pt;return o|0}de=e+(s[e+4>>2]|0)|0;Xe=e+(s[e>>2]|0)|0;Q=e+108|0;if((s[Q>>2]|0)==2051)Se=0;else Se=s[e+116>>2]|0;X=s[e+168>>2]|0;X=(X|0)>(l|0)?l:X;s[C>>2]=Me;Hs(Xe,10015,C)|0;s[ft>>2]=0;M=e+44|0;do if((s[M>>2]|0)>6?(s[dt>>2]|0)==48e3:0){k=e+112|0;_=te(s[k>>2]|0,i)|0;v=0;E=0;A=0;while(1){if((v|0)>=(_|0))break;L=+f[t+(v<<2)>>2];v=v+1|0;E=E>L?E:L;A=A<L?A:L}L=-A;if((E>L?E:L)<=1/+(1<<X|0)){q=e+19032|0;s[q>>2]=0;v=1;l=-1;y=-1;Oe=1;break}l=s[e+8696>>2]|0;y=s[e+8700>>2]|0;Gs(e+188|0,s[Me>>2]|0,h,c,i,p,b,w,48e3,X,m,ft);if(+f[ft+28>>2]>.10000000149011612){h=e+19040|0;E=+f[h>>2];v=te(s[k>>2]|0,i)|0;_=0;O=0;while(1){if((_|0)>=(v|0))break;L=+f[t+(_<<2)>>2];_=_+1|0;O=O+L*L}E=E*.999;A=+(v|0);if(!(E>O/A)){_=0;E=0;while(1){if((_|0)>=(v|0))break;L=+f[t+(_<<2)>>2];_=_+1|0;E=E+L*L}E=E/A}f[h>>2]=E;ht=25}else ht=25}else{l=-1;y=-1;ht=25}while(0);do if((ht|0)==25){s[e+140>>2]=-1;v=s[ft>>2]|0;k=e+19032|0;s[k>>2]=0;v=(v|0)==0;if(!v){if((s[e+124>>2]|0)==-1e3)s[e+140>>2]=~~+G(+((1-+f[ft+20>>2])*100+.5));_=s[ft+24>>2]|0;if((_|0)<13){s[k>>2]=1101;q=k;Oe=0;break}if((_|0)<15){s[k>>2]=1102;q=k;Oe=0;break}if((_|0)<17){s[k>>2]=1103;q=k;Oe=0;break}if((_|0)<19){s[k>>2]=1104;q=k;Oe=0;break}else{s[k>>2]=1105;q=k;Oe=0;break}}else{q=k;Oe=0}}while(0);ot=e+112|0;T=s[ot>>2]|0;S=(T|0)==2;if(S?(s[e+120>>2]|0)!=1:0){c=(s[dt>>2]|0)/(i|0)|0;_=(c|0)<50;E=25/+(c|0);k=i+-3|0;h=0;A=0;O=0;N=0;while(1){if((h|0)>=(k|0))break;at=h<<1;vt=+f[t+(at<<2)>>2];wt=+f[t+((at|1)<<2)>>2];_t=+f[t+((at|2)<<2)>>2];bt=+f[t+((at|3)<<2)>>2];gt=+f[t+((at|4)<<2)>>2];D=+f[t+((at|5)<<2)>>2];mt=+f[t+((at|6)<<2)>>2];L=+f[t+((at|7)<<2)>>2];h=h+4|0;A=A+(vt*vt+_t*_t+gt*gt+mt*mt);O=O+(vt*wt+_t*bt+gt*D+mt*L);N=N+(wt*wt+bt*bt+D*D+L*L)}vt=_?.5:1-E;Le=e+15172|0;E=+f[Le>>2];E=E+vt*(A-E);f[Le>>2]=E;_=e+15176|0;A=+f[_>>2];A=A+vt*(O-A);f[_>>2]=A;at=e+15180|0;O=+f[at>>2];O=O+vt*(N-O);f[at>>2]=O;E=E<0?0:E;f[Le>>2]=E;A=A<0?0:A;f[_>>2]=A;O=O<0?0:O;f[at>>2]=O;if((E>O?E:O)>.0007999999797903001){gt=+z(+E);vt=+z(+O);E=+z(+gt);_t=+z(+vt);vt=gt*vt;gt=A<vt?A:vt;f[_>>2]=gt;vt=gt/(vt+1.0000000036274937e-15);_t=+z(+(1-vt*vt))*(+H(+(E-_t))/(E+1.0000000036274937e-15+_t));at=e+15184|0;E=+f[at>>2];vt=+(c|0);E=E+(_t-E)/vt;f[at>>2]=E;at=e+15188|0;vt=+f[at>>2]-.019999999552965164/vt;E=vt>E?vt:E;f[at>>2]=E}else E=+f[e+15188>>2];E=E*20;if(E>1)E=1}else E=0;if(!i)_=(s[dt>>2]|0)/400|0;else _=i;k=s[e+164>>2]|0;switch(k|0){case-1e3:{I=s[dt>>2]|0;k=((I*60|0)/(_|0)|0)+(te(I,T)|0)|0;break}case-1:{I=s[dt>>2]|0;k=(te(R<<3,I)|0)/(_|0)|0;break}default:I=s[dt>>2]|0}xe=e+160|0;s[xe>>2]=k;_=(I|0)/(i|0)|0;at=e+148|0;B=(s[at>>2]|0)==0;if(B){U=(I*3|0)/(i|0)|0;Le=(((k*3|0)/8|0)+((U|0)/2|0)|0)/(U|0)|0;Le=(Le|0)<(R|0)?Le:R;U=((te(Le,U)|0)<<3|0)/3|0;s[xe>>2]=U}else{U=k;Le=R}do if(!((Le|0)<3|(U|0)<(_*24|0))){if((_|0)<50){k=te(Le,_)|0;if((k|0)<300|(U|0)<2400)break;else oe=k}else oe=te(_,Le)|0;ae=oe<<3;P=s[M>>2]|0;F=e+40|0;x=s[F>>2]|0;M=_+-50|0;k=U-(te((T*40|0)+20|0,M)|0)|0;if(B)k=k-((k|0)/12|0)|0;R=P+90|0;h=(te(k,R)|0)/100|0;C=(x*12|0)+20|0;h=h-((te(h,x)|0)/(C|0)|0)|0;k=s[e+124>>2]|0;do if((k|0)!=3001)if((k|0)!=3002){k=s[e+140>>2]|0;if((k|0)>-1){j=k*327>>8;j=(s[Q>>2]|0)!=2049|(j|0)<115?j:115;break}else{j=(s[Q>>2]|0)==2048?115:48;break}}else j=0;else j=127;while(0);W=e+120|0;k=s[W>>2]|0;Ie=e+15104|0;do if((k|0)==-1e3|S^1)if(S){T=(h|0)>(((s[Ie>>2]|0)==2?23e3:25e3)|0)?2:1;s[Ie>>2]=T;break}else{s[Ie>>2]=T;break}else{s[Ie>>2]=k;T=k}while(0);k=U-(te((T*40|0)+20|0,M)|0)|0;if(B)k=k-((k|0)/12|0)|0;c=(te(k,R)|0)/100|0;c=c-((te(c,x)|0)/(C|0)|0)|0;h=s[Q>>2]|0;do if((h|0)!=2051){k=s[e+136>>2]|0;do if((k|0)==-1e3){vt=1-E;k=~~(vt*16e3+E*16e3);k=k+((te(te(j,j)|0,~~(vt*64e3+E*36e3)-k|0)|0)>>14)|0;k=(h|0)==2048?k+8e3|0:k;h=s[e+15140>>2]|0;if((h|0)==1002)k=k+-4e3|0;else k=(h|0)>0?k+4e3|0:k;k=(c|0)>=(k|0)?1002:1e3;h=e+15136|0;s[h>>2]=k;do if(s[e+48>>2]|0){if((x|0)<=(128-j>>4|0))break;s[h>>2]=1e3;k=1e3}while(0);if(!(s[e+184>>2]|0)){s[e+56>>2]=0;v=h;ht=112;break}if(!v){s[e+56>>2]=0;v=h;ht=112;break}s[e+56>>2]=Oe^1;if(!((Oe|0)==0&(j|0)>100)){v=h;ht=112;break}s[h>>2]=1e3;v=h;k=1e3}else{v=e+15136|0;s[v>>2]=k;ht=112}while(0);if((ht|0)==112)if((k|0)==1002){Pe=v;v=1002;break}if(((I|0)/100|0|0)>(i|0)){s[v>>2]=1002;Pe=v;v=1002}else{Pe=v;v=k}}else{Pe=e+15136|0;s[Pe>>2]=1002;v=1002}while(0);$=e+176|0;if(s[$>>2]|0){s[Pe>>2]=1002;v=1002}ie=(_|0)>50;if((Le|0)<((te(ie?9e3:6e3,i)|0)/(I<<3|0)|0|0)){s[Pe>>2]=1002;v=1002}do if((T|0)==1?(s[e+15144>>2]|0)==2:0){k=e+68|0;if((s[k>>2]|0)!=0|(v|0)==1002){ht=124;break}h=e+15140|0;if((s[h>>2]|0)==1002){ht=124;break}s[k>>2]=1;s[Ie>>2]=2;Re=h;h=2}else ht=124;while(0);if((ht|0)==124){s[e+68>>2]=0;Re=e+15140|0;h=T}S=s[Re>>2]|0;do if((S|0)>0){k=(v|0)==1002;if((S|0)==1002&(k^1)){Ce=(v|0)!=1002;k=Ce&1;if(Ce){c=k;k=1;Ce=0;break}}else{if(!k){c=0;k=0;Ce=0;break}if((S|0)==1002){
v=1002;c=0;k=0;Ce=0;break}k=(v|0)!=1002&1}if(((I|0)/100|0|0)>(i|0)){v=1002;c=k;k=0;Ce=0;break}s[Pe>>2]=S;v=S;c=k;k=1;Ce=1}else{c=0;k=0;Ce=0}while(0);h=U-(te((h*40|0)+20|0,M)|0)|0;if(B)h=h-((h|0)/12|0)|0;h=(te(h,R)|0)/100|0;e:do switch(v|0){case 1001:case 1e3:{if((P|0)<2)h=(h<<2|0)/5|0;le=h-((te(h,x)|0)/((x*6|0)+10|0)|0)|0;break}case 1002:{if((P|0)>=5){le=h;break e}le=(h*9|0)/10|0;break}default:le=h-((te(h,x)|0)/(C|0)|0)|0}while(0);fe=e+15160|0;if(!(s[fe>>2]|0))if(!k){re=c;h=0;k=0;se=0}else{h=0;ht=145}else{s[fe>>2]=0;c=1;h=1;k=1;ht=145}do if((ht|0)==145){T=(I|0)/200|0;T=(te(Le,T)|0)/(T+i|0)|0;T=(T|0)>257?257:T;if(B){re=c;se=T;break}se=(U|0)/1600|0;re=c;se=(T|0)<(se|0)?T:se}while(0);if((v|0)!=1002&(S|0)==1002){v=s[e+180>>2]|0;yr(de|0,0,20400)|0;h=0;while(1){if((h|0)==2)break;Fi(de+(h*10156|0)|0,v)|0;h=h+1|0}s[de+20376>>2]=1;s[de+20380>>2]=1;K=1}else K=h;M=(s[Pe>>2]|0)==1002;do if(M)ht=156;else{if(s[e+15164>>2]|0){ht=156;break}if(s[e+84>>2]|0){ht=156;break}h=e+15152|0;B=h;h=s[h>>2]|0}while(0);do if((ht|0)==156){if((s[ot>>2]|0)==2?(s[W>>2]|0)!=1:0){c=616;T=616}else{c=616;T=616}v=te(j,j)|0;h=0;while(1){if((h|0)==8)break;ce=s[c+(h<<2)>>2]|0;s[V+(h<<2)>>2]=ce+((te(v,(s[T+(h<<2)>>2]|0)-ce|0)|0)>>14);h=h+1|0}S=(s[e+15164>>2]|0)==0;T=e+15156|0;h=1105;do{c=h<<1;v=s[V+(c+-2204<<2)>>2]|0;c=s[V+(c+-2203<<2)>>2]|0;do if(S)if((s[T>>2]|0)<(h|0)){v=v+c|0;break}else{v=v-c|0;break}while(0);if((le|0)>=(v|0))break;h=h+-1|0}while((h|0)>1101);s[T>>2]=h;v=e+15152|0;s[v>>2]=h;if(M|S^1){B=v;break}if(!((s[e+88>>2]|0)==0&(h|0)>1103)){B=v;break}s[v>>2]=1103;B=v;h=1103}while(0);v=s[e+132>>2]|0;if((h|0)>(v|0))s[B>>2]=v;else v=h;U=e+128|0;h=s[U>>2]|0;T=(h|0)==-1e3;if(!T){s[B>>2]=h;v=h}if((ae|0)<15e3&(M^1)){v=(v|0)<1103?v:1103;s[B>>2]=v}h=s[dt>>2]|0;if((h|0)<24001&(v|0)>1104){s[B>>2]=1104;v=1104}if((h|0)<16001&(v|0)>1103){s[B>>2]=1103;v=1103}if((h|0)<12001&(v|0)>1102){s[B>>2]=1102;v=1102}if((h|0)<8001&(v|0)>1101){s[B>>2]=1101;v=1101}c=s[q>>2]|0;if(!((c|0)==0|T^1)){h=s[Ie>>2]|0;do if((le|0)>(h*18e3|0)|M^1){if(!((le|0)>(h*24e3|0)|M^1)){h=1102;break}if((le|0)<=(h*3e4|0)){h=1103;break}h=(le|0)>(h*44e3|0)?1105:1104}else h=1101;while(0);ce=(c|0)>(h|0)?c:h;s[q>>2]=ce;v=(v|0)<(ce|0)?v:ce;s[B>>2]=v}C=s[F>>2]|0;j=e+52|0;P=s[j>>2]|0;e:do if((s[e+48>>2]|0)==0|(C|0)==0|M)v=0;else{T=(C|0)<25;S=125-C|0;M=(C|0)<6;R=v;while(1){c=R<<1;h=s[648+(c+-2202<<2)>>2]|0;c=s[648+(c+-2201<<2)>>2]|0;switch(P|0){case 1:{h=h-c|0;break}case 0:{h=h+c|0;break}default:{}}ce=((te(h,T?S:100)|0)>>16)*655|0;h=(ce+((((te(h,T?125-C|0:100)|0)&65535)*655|0)>>>16)|0)<(le|0);if(h|M){v=h&1;break e}if((R|0)<=1101)break;ce=R+-1|0;s[B>>2]=ce;R=ce}s[B>>2]=v;v=0}while(0);s[j>>2]=v;s[Y>>2]=X;Hs(Xe,4036,Y)|0;h=s[Pe>>2]|0;v=(h|0)==1002;do if(v){if((s[B>>2]|0)!=1102)break;s[B>>2]=1103}while(0);if(s[$>>2]|0)s[B>>2]=1101;c=s[dt>>2]|0;do if(((c|0)/50|0|0)<(i|0)){if(!v?(Z=s[B>>2]|0,(Z|0)<=1103):0){U=Z;break}if((l|0)!=-1){s[e+8696>>2]=l;s[e+8700>>2]=y}M=((c|0)/25|0|0)<(i|0)?3:2;h=(a+-3|0)/(M|0)|0;h=(h|0)>1276?1276:h;R=te(M,h)|0;I=Ne()|0;c=u;u=u+((1*R|0)+15&-16)|0;s[ee+4>>2]=0;R=e+136|0;C=s[R>>2]|0;P=s[U>>2]|0;x=s[W>>2]|0;s[R>>2]=s[Pe>>2];s[U>>2]=s[B>>2];_=s[Ie>>2]|0;s[W>>2]=_;T=e+68|0;S=s[T>>2]|0;if(!S)s[e+15144>>2]=_;else s[W>>2]=1;_=(Ce|0)!=0;v=M+-1|0;y=0;while(1){if((y|0)>=(M|0)){ht=222;break}s[T>>2]=0;if(_&(y|0)==(v|0))s[R>>2]=1002;l=s[dt>>2]|0;k=c+(te(y,h)|0)|0;l=Ns(e,t+((te(y,(te(s[ot>>2]|0,l)|0)/50|0)|0)<<2)|0,(l|0)/50|0,k,h,X,0,0,p,b,w,m,g)|0;if((l|0)<0){_=-3;break}if((js(ee,k,l)|0)<0){_=-3;break}y=y+1|0}do if((ht|0)==222){v=(s[at>>2]|0)==0;if(v){_=((s[xe>>2]|0)*3|0)/(1200/(M>>>0)|0|0)|0;_=(_|0)<(a|0)?_:a}else _=a;_=Fs(ee,M,o,_,v&1)|0;if((_|0)<0){_=-3;break}s[R>>2]=C;s[U>>2]=P;s[W>>2]=x;s[T>>2]=S}while(0);He(I|0);o=_;u=pt;return o|0}else U=s[B>>2]|0;while(0);do if((h|0)==1e3){if((U|0)<=1103)break;s[Pe>>2]=1001}else{if(!((h|0)==1001&(U|0)<1104))break;s[Pe>>2]=1e3}while(0);ee=Le-se|0;c=(te(s[xe>>2]|0,i)|0)/(c<<3|0)|0;c=((ee|0)<(c|0)?ee:c)+-1|0;ee=o+1|0;w=Le+-1|0;s[Je>>2]=ee;p=Je+8|0;s[p>>2]=0;s[Je+12>>2]=0;s[Je+16>>2]=0;he=Je+20|0;s[he>>2]=33;W=Je+24|0;s[W>>2]=0;a=Je+28|0;s[a>>2]=-2147483648;V=Je+40|0;s[V>>2]=-1;Y=Je+32|0;s[Y>>2]=0;Z=Je+36|0;s[Z>>2]=0;b=Je+4|0;s[b>>2]=w;X=Je+44|0;s[X>>2]=0;q=Se+i|0;F=te(q,s[ot>>2]|0)|0;ce=Ne()|0;m=u;u=u+((1*(F<<2)|0)+15&-16)|0;F=e+172|0;R=s[ot>>2]|0;M=te(Se,R)|0;Sr(m|0,e+15192+((te((s[F>>2]|0)-Se|0,R)|0)<<2)|0,M<<2|0)|0;C=(s[Pe>>2]|0)==1002;if(C)v=193536;else v=s[de+8>>2]|0;I=e+15112|0;x=s[I>>2]|0;v=v-x|0;v=x+(((v>>16)*983|0)+(((v&65535)*983|0)>>>16))|0;s[I>>2]=v;e:do if((s[Q>>2]|0)==2048){y=v>>8;do if((y|0)<0)v=0;else{if((y|0)>3966){v=2147483647;break}v=v>>15;h=1<<v;l=y&127;if((y|0)<2048)v=l+((te(te(l,128-l|0)|0,-174)|0)>>16)<<v>>7;else v=te(h>>7,l+((te(te(l,128-l|0)|0,-174)|0)>>16)|0)|0;v=h+v|0}while(0);S=m+(M<<2)|0;y=e+15120|0;T=((v<<16>>16)*2471|0)/((s[dt>>2]|0)/1e3|0|0)|0;v=te(T,-471)|0;l=v+268435456|0;Q=l>>6;P=l>>22;h=T<<16>>16;kt=te(T>>16,h)|0;h=te(T&65535,h)|0;T=te(T,(T>>15)+1>>1)|0;yt=kt+(h>>>16)+T<<16>>16;x=Q&65535;I=Q<<16>>16;E=+((te(P,yt)|0)+((te(x,yt)|0)>>16)+(te(Q,(kt+(h>>16)+T+-8388608>>15)+1>>1)|0)|0)*3.725290298461914e-9;A=+((te(P,I)|0)+((te(x,I)|0)>>16)+(te(Q,(l>>21)+1>>1)|0)|0)*3.725290298461914e-9;O=+(l|0)*3.725290298461914e-9;N=+(-268435456-v<<1|0)*3.725290298461914e-9;v=e+15124|0;l=0;while(1){if((l|0)>=(i|0))break;yt=te(l,R)|0;gt=+f[t+(yt<<2)>>2];_t=O*gt;vt=+f[y>>2]+_t;f[y>>2]=+f[v>>2]-vt*E+N*gt;f[v>>2]=_t-vt*A+1.0000000031710769e-30;f[S+(yt<<2)>>2]=vt;l=l+1|0}if((R|0)!=2)break;h=t+4|0;T=e+15128|0;v=S+4|0;l=e+15132|0;y=0;while(1){if((y|0)>=(i|0))break e;yt=y<<1;gt=+f[h+(yt<<2)>>2];_t=O*gt;vt=+f[T>>2]+_t;f[T>>2]=+f[l>>2]-vt*E+N*gt;f[l>>2]=_t-vt*A+1.0000000031710769e-30;f[v+(yt<<2)>>2]=vt;y=y+1|0}}else{h=m+(M<<2)|0;T=e+15120|0;D=12/+(s[dt>>2]|0);L=1-D;A=+f[T>>2];S=e+15124|0;E=+f[S>>2];if((R|0)!=2){v=0;while(1){if((v|0)>=(i|0))break;_t=+f[t+(v<<2)>>2];vt=_t-A;f[h+(v<<2)>>2]=vt-E;v=v+1|0;A=D*_t+1.0000000031710769e-30+L*A;E=D*vt+1.0000000031710769e-30+L*E}f[T>>2]=A;f[S>>2]=E;break}v=e+15128|0;l=e+15132|0;y=0;O=+f[v>>2];N=+f[l>>2];while(1){if((y|0)>=(i|0))break;kt=y<<1;mt=+f[t+(kt<<2)>>2];yt=kt|1;_t=+f[t+(yt<<2)>>2];gt=mt-A;vt=_t-O;f[h+(kt<<2)>>2]=gt-E;f[h+(yt<<2)>>2]=vt-N;y=y+1|0;A=D*mt+1.0000000031710769e-30+L*A;E=D*gt+1.0000000031710769e-30+L*E;O=D*_t+1.0000000031710769e-30+L*O;N=D*vt+1.0000000031710769e-30+L*N}f[T>>2]=A;f[S>>2]=E;f[v>>2]=O;f[l>>2]=N}while(0);do if(g|0){v=m+(M<<2)|0;l=te(R,i)|0;y=0;E=0;while(1){if((y|0)>=(l|0))break;vt=+f[v+(y<<2)>>2];y=y+1|0;E=E+vt*vt}if(!(!(E<1e9)|(E!=E|0!=0)))break;yr(v|0,0,l<<2|0)|0;yt=e+15120|0;s[yt>>2]=0;s[yt+4>>2]=0;s[yt+8>>2]=0;s[yt+12>>2]=0}while(0);do if(C){A=1;C=re;ht=353}else{h=te(R,i)|0;I=Ne()|0;x=u;u=u+((1*(h<<1)|0)+15&-16)|0;h=te(c<<3,_)|0;C=s[Pe>>2]|0;P=(C|0)==1001;do if(!P){s[e+36>>2]=h;_=s[e+15168>>2]|0;if(!_){M=h;A=1}else{N=1;ht=275}}else{y=s[at>>2]|0;v=((s[dt>>2]|0)==(i*50|0)?2:1)+(s[j>>2]<<1)|0;l=1;while(1){if((l|0)>=7){ht=268;break}_=s[688+(l*20|0)>>2]|0;if((_|0)>(h|0)){ht=271;break}l=l+1|0}do if((ht|0)==268)if((l|0)==7){_=(s[808+(v<<2)>>2]|0)+((h+-64e3|0)/2|0)|0;break}else{_=s[688+(l*20|0)>>2]|0;ht=271;break}while(0);if((ht|0)==271){kt=l+-1|0;yt=s[688+(kt*20|0)>>2]|0;_=((te(s[688+(kt*20|0)+(v<<2)>>2]|0,_-h|0)|0)+(te(s[688+(l*20|0)+(v<<2)>>2]|0,h-yt|0)|0)|0)/(_-yt|0)|0}v=(y|0)==0?_+100|0:_;v=(U|0)==1104?v+300|0:v;s[e+36>>2]=v;_=s[e+15168>>2]|0;if(_|0){h=v;N=1;ht=275;break}M=v;A=1-+J(+(+(v-h|0)*.0009765625*.6931471805599453))}while(0);do if((ht|0)==275){if(!(s[at>>2]|0)){M=h;A=N;break}if(s[$>>2]|0){M=h;A=N;break}R=s[B>>2]|0;if((R|0)==1101){S=13;O=8e3}else{yt=(R|0)==1102;S=yt?15:17;O=yt?12e3:16e3}l=s[ot>>2]|0;T=0;E=0;while(1){if((T|0)>=(l|0))break;y=T*21|0;M=0;while(1){if((M|0)>=(S|0))break;A=+f[_+(y+M<<2)>>2];v=A<.5;do if(A>-2|v^1){if(v){if(!(A>0))break}else A=.5;A=A*.5}else A=-2;while(0);M=M+1|0;E=E+A}T=T+1|0}yt=~~(O*(E/+(S|0)*+(l|0)+.20000000298023224));v=(te(h,-2)|0)/3|0;v=(yt|0)>(v|0)?yt:v;if((R&-2|0)==1104)_=(v*3|0)/5|0;else _=v;M=h+_|0;s[e+36>>2]=M;yt=te(v,i)|0;A=N;c=c+((yt|0)/(s[dt>>2]<<3|0)|0)|0}while(0);R=s[dt>>2]|0;s[e+32>>2]=(i*1e3|0)/(R|0)|0;l=s[ot>>2]|0;s[e+8>>2]=l;s[e+12>>2]=s[Ie>>2];switch(U|0){case 1101:{s[e+28>>2]=8e3;_=8e3;break}case 1102:{s[e+28>>2]=12e3;_=12e3;break}default:{s[e+28>>2]=16e3;_=16e3}}s[e+24>>2]=P?16e3:8e3;h=e+20|0;s[h>>2]=16e3;do if((C|0)==1e3){if(ie)y=(oe<<4|0)/3|0;else y=ae;if((y|0)>=8e3)break;s[h>>2]=12e3;v=e+28|0;_=_>>>0>12e3?12e3:_;s[v>>2]=_;if((y|0)>=7e3)break;s[h>>2]=8e3;s[v>>2]=(_|0)>8e3?8e3:_}while(0);T=(s[at>>2]|0)==0;s[e+60>>2]=T&1;_=w-se|0;_=(_|0)>1275?1275:_;s[pe>>2]=_;_=_<<3;S=e+64|0;s[S>>2]=_;do if(T){if(!P)break;s[S>>2]=(te(M,i)|0)/(R|0)|0}else{if(!P)break;h=(te(_,R)|0)/(i|0)|0;v=((R|0)==(i*50|0)?2:1)+(s[j>>2]<<1)|0;y=1;while(1){if((y|0)>=7){ht=310;break}_=s[688+(y*20|0)>>2]|0;if((_|0)>(h|0)){ht=313;break}y=y+1|0}do if((ht|0)==310)if((y|0)==7){_=(s[808+(v<<2)>>2]|0)+((h+-64e3|0)/2|0)|0;break}else{_=s[688+(y*20|0)>>2]|0;ht=313;break}while(0);if((ht|0)==313){kt=y+-1|0;yt=s[688+(kt*20|0)>>2]|0;_=((te(s[688+(kt*20|0)+(v<<2)>>2]|0,_-h|0)|0)+(te(s[688+(y*20|0)+(v<<2)>>2]|0,h-yt|0)|0)|0)/(_-yt|0)|0}yt=T?_+100|0:_;s[S>>2]=(te((U|0)==1104?yt+300|0:yt,i)|0)/(R|0)|0}while(0);if(K){s[ue>>2]=0;yt=(R|0)/400|0;v=te(l,(s[F>>2]|0)-(s[e+116>>2]|0)-yt|0)|0;kt=e+15192+(v<<2)|0;y=s[Me>>2]|0;Ds(kt,kt,0,1,s[y+4>>2]|0,yt,l,s[y+60>>2]|0,R);yr(e+15192|0,0,v<<2|0)|0;v=s[F>>2]|0;l=te(v,s[ot>>2]|0)|0;y=0;while(1){if((y|0)>=(l|0))break;E=+f[e+15192+(y<<2)>>2]*32768;do if(E>-32768){if(E<32767)break;E=32767}else E=-32768;while(0);_=(f[d>>2]=E,s[d>>2]|0);do if((_&2130706432)>>>0<=1249902592){_=(_|0)<0;E=_?E+-8388608+8388608:E+8388608+-8388608;if(!(E==0))break;E=_?-0:0}while(0);r[x+(y<<1)>>1]=~~E;y=y+1|0}Ni(de,e+8|0,x,v,0,ue,1)|0;l=s[ot>>2]|0}v=te(l,i)|0;y=0;while(1){if((y|0)>=(v|0))break;E=+f[m+((te(Se,l)|0)+y<<2)>>2]*32768;do if(E>-32768){if(E<32767)break;E=32767}else E=-32768;while(0);_=(f[d>>2]=E,s[d>>2]|0);do if((_&2130706432)>>>0<=1249902592){_=(_|0)<0;E=_?E+-8388608+8388608:E+8388608+-8388608;if(!(E==0))break;E=_?-0:0}while(0);r[x+(y<<1)>>1]=~~E;y=y+1|0}if(!(Ni(de,e+8|0,x,i,Je,pe,0)|0)){if(s[pe>>2]|0){do if((s[Pe>>2]|0)==1e3){_=s[e+80>>2]|0;if((_|0)==8e3){v=1101;break}if((_|0)==12e3){v=1102;break}v=(_|0)==16e3?1103:U}else v=U;while(0);yt=s[e+96>>2]|0;s[e+72>>2]=yt;if(!yt)_=re;else{s[fe>>2]=1;_=0;k=1}He(I|0);C=_;U=v;ht=353;break}s[ut>>2]=0;k=s[Pe>>2]|0;l=s[Ie>>2]|0;_=(s[dt>>2]|0)/(i|0)|0;v=0;while(1){if((_|0)>=400)break;_=_<<1;v=v+1|0}switch(k|0){case 1e3:{_=(U<<5)+96&224|(v<<3)+-16;break}case 1002:{_=((U|0)<1102?0:(U<<5)+64&96)|v<<3|128;break}default:_=U<<4|(v<<3)+240|96}n[o>>0]=_|((l|0)==2&1)<<2;_=1}else _=-3;He(I|0)}while(0);e:do if((ht|0)==353){switch(U|0){case 1101:{_=13;break}case 1103:case 1102:{_=17;break}case 1104:{_=19;break}default:_=21}s[_e>>2]=_;Hs(Xe,10012,_e)|0;s[ve>>2]=s[Ie>>2];Hs(Xe,10008,ve)|0;s[we>>2]=-1;Hs(Xe,4002,we)|0;do if((s[Pe>>2]|0)==1e3){l=s[ot>>2]|0;c=((te(l,s[dt>>2]|0)|0)/400|0)<<2;h=u;u=u+((1*c|0)+15&-16)|0;c=0}else{s[me>>2]=0;Hs(Xe,4006,me)|0;s[ge>>2]=(s[e+76>>2]|0)==0?2:0;Hs(Xe,10002,ge)|0;do if((s[Pe>>2]|0)==1001){_=(s[he>>2]|0)+((ne(s[a>>2]|0)|0)+-32)+7>>3;_=(k|0)==0?_:_+3|0;if(!(s[at>>2]|0)){c=(_|0)>(c|0)?_:c;break}else{s[ke>>2]=(s[xe>>2]|0)-(s[e+36>>2]|0);Hs(Xe,4002,ke)|0;s[ye>>2]=0;Hs(Xe,4020,ye)|0;c=w-se|0;break}}else{if(!(s[at>>2]|0))break;do if((s[be>>2]|0)==5010){_=s[dt>>2]|0;if(((_|0)/50|0|0)==(i|0)){_=0;break}_=te(((s[Ie>>2]|0)*60|0)+40|0,((_|0)/(i|0)|0)+-50|0)|0;if(!(s[ft>>2]|0))break;_=~~(+(_|0)*(+f[ft+4>>2]*.5+1))}else _=0;while(0);s[Ee>>2]=1;Hs(Xe,4006,Ee)|0;s[Ae>>2]=s[e+152>>2];Hs(Xe,4020,Ae)|0;s[Te>>2]=(s[xe>>2]|0)+_;Hs(Xe,4002,Te)|0;c=w-se|0}while(0);_=s[Pe>>2]|0;v=s[ot>>2]|0;l=s[dt>>2]|0;y=(te(v,l)|0)/400|0;h=u;u=u+((1*(y<<2)|0)+15&-16)|0;if((_|0)==1e3){l=v;break}yt=s[Re>>2]|0;if(!((_|0)!=(yt|0)&(yt|0)>0)){l=v;break}Sr(h|0,e+15192+((te((s[F>>2]|0)-Se-((l|0)/400|0)|0,v)|0)<<2)|0,y<<2|0)|0;l=v}while(0);_=s[F>>2]|0;v=e+15192|0;if((te(l,_-q|0)|0)>0){yt=te(l,_-i-Se|0)|0;Mr(v|0,e+15192+((te(l,i)|0)<<2)|0,yt<<2|0)|0;Sr(e+15192+(yt<<2)|0,m|0,(te(q,l)|0)<<2|0)|0}else Sr(v|0,m+((te(q-_|0,l)|0)<<2)|0,(te(_,l)|0)<<2|0)|0;_=e+15116|0;E=+f[_>>2];if(E<1|A<1){yt=s[Me>>2]|0;Ds(m,m,E,A,s[yt+4>>2]|0,i,s[ot>>2]|0,s[yt+60>>2]|0,s[dt>>2]|0)}f[_>>2]=A;M=s[Pe>>2]|0;R=(M|0)==1001;if(!(R?(s[Ie>>2]|0)!=1:0)){if((le|0)>=24e3){_=le+-24e3|0;if((_<<1|0)>16384)_=16384;else ht=381}else{_=0;ht=381}if((ht|0)==381)_=_<<1;s[e+92>>2]=_}do if(!(s[e+15168>>2]|0)){if((s[ot>>2]|0)!=2)break;S=e+15108|0;_=r[S>>1]|0;T=s[e+92>>2]|0;if(!(_<<16>>16<16384|(T|0)<16384))break;y=s[Me>>2]|0;v=s[y+60>>2]|0;l=48e3/(s[dt>>2]|0)|0;y=(s[y+4>>2]|0)/(l|0)|0;E=1-+(_<<16>>16)*6103515625e-14;A=1-+(T|0)*6103515625e-14;_=0;while(1){if((_|0)>=(y|0))break;vt=+f[v+((te(_,l)|0)<<2)>>2];vt=vt*vt;yt=_<<1;kt=m+(yt<<2)|0;gt=+f[kt>>2];yt=m+((yt|1)<<2)|0;_t=+f[yt>>2];vt=(vt*A+(1-vt)*E)*((gt-_t)*.5);f[kt>>2]=gt-vt;f[yt>>2]=_t+vt;_=_+1|0}while(1){if((_|0)>=(i|0))break;yt=_<<1;kt=m+(yt<<2)|0;gt=+f[kt>>2];yt=m+((yt|1)<<2)|0;_t=+f[yt>>2];vt=A*((gt-_t)*.5);f[kt>>2]=gt-vt;f[yt>>2]=_t+vt;_=_+1|0}r[S>>1]=T}while(0);t:do if((M|0)==1002)ht=456;else{v=s[he>>2]|0;_=s[a>>2]|0;l=v+((ne(_|0)|0)+-32)|0;if((l+17+(R?20:0)|0)>((Le<<3)+-8|0)){ht=456;break}i:do if(R){if(!k){if((l+37|0)>(c<<3|0)){ht=456;break t}_=_-(_>>>12)|0}else{yt=_>>>12;s[Y>>2]=(s[Y>>2]|0)+(_-yt);_=yt}s[a>>2]=_;while(1){if(_>>>0>=8388609){l=_;y=v;break i}l=s[Y>>2]|0;y=l>>>23;if((y|0)==255)s[Z>>2]=(s[Z>>2]|0)+1;else{l=l>>>31;_=s[V>>2]|0;if((_|0)>-1){v=s[W>>2]|0;if((v+(s[p>>2]|0)|0)>>>0<(s[b>>2]|0)>>>0){s[W>>2]=v+1;n[(s[Je>>2]|0)+v>>0]=_+l;_=0}else _=-1;s[X>>2]=s[X>>2]|_}_=s[Z>>2]|0;if(_|0){l=l+255&255;do{v=s[W>>2]|0;if((v+(s[p>>2]|0)|0)>>>0<(s[b>>2]|0)>>>0){s[W>>2]=v+1;n[(s[Je>>2]|0)+v>>0]=l;v=0;_=s[Z>>2]|0}else v=-1;s[X>>2]=s[X>>2]|v;_=_+-1|0;s[Z>>2]=_}while((_|0)!=0)}s[V>>2]=y&255;l=s[Y>>2]|0;_=s[a>>2]|0;v=s[he>>2]|0}s[Y>>2]=l<<8&2147483392;_=_<<8;s[a>>2]=_;v=v+8|0;s[he>>2]=v}}else{l=_;y=v}while(0);if(!k){ht=456;break}_=l>>>1;v=l-_|0;if(!C)_=v;else s[Y>>2]=(s[Y>>2]|0)+v;s[a>>2]=_;v=y;while(1){if(_>>>0>=8388609)break;l=s[Y>>2]|0;y=l>>>23;if((y|0)==255)s[Z>>2]=(s[Z>>2]|0)+1;else{l=l>>>31;_=s[V>>2]|0;if((_|0)>-1){v=s[W>>2]|0;if((v+(s[p>>2]|0)|0)>>>0<(s[b>>2]|0)>>>0){s[W>>2]=v+1;n[(s[Je>>2]|0)+v>>0]=_+l;_=0}else _=-1;s[X>>2]=s[X>>2]|_}_=s[Z>>2]|0;if(_|0){l=l+255&255;do{v=s[W>>2]|0;if((v+(s[p>>2]|0)|0)>>>0<(s[b>>2]|0)>>>0){s[W>>2]=v+1;n[(s[Je>>2]|0)+v>>0]=l;v=0;_=s[Z>>2]|0}else v=-1;s[X>>2]=s[X>>2]|v;_=_+-1|0;s[Z>>2]=_}while((_|0)!=0)}s[V>>2]=y&255;l=s[Y>>2]|0;_=s[a>>2]|0;v=s[he>>2]|0}s[Y>>2]=l<<8&2147483392;_=_<<8;s[a>>2]=_;v=v+8|0;s[he>>2]=v}y=(s[Pe>>2]|0)==1001;if(y)l=c;else l=v+((ne(_|0)|0)+-32)+7>>3;yt=w-l|0;l=(s[xe>>2]|0)/1600|0;l=(yt|0)<(l|0)?yt:l;if((l|0)>=2)if((l|0)>257)T=257;else ht=436;else{l=2;ht=436}if((ht|0)==436)T=l;if(!y){S=T;break}l=_>>>8;if((T|0)==2)_=_+(te(l,-255)|0)|0;else{_=_-(te(l,258-T|0)|0)|0;s[Y>>2]=(s[Y>>2]|0)+_;_=l}s[a>>2]=_;while(1){if(_>>>0>=8388609){S=T;break t}l=s[Y>>2]|0;y=l>>>23;if((y|0)==255)s[Z>>2]=(s[Z>>2]|0)+1;else{l=l>>>31;_=s[V>>2]|0;if((_|0)>-1){v=s[W>>2]|0;if((v+(s[p>>2]|0)|0)>>>0<(s[b>>2]|0)>>>0){s[W>>2]=v+1;n[(s[Je>>2]|0)+v>>0]=_+l;_=0}else _=-1;s[X>>2]=s[X>>2]|_}_=s[Z>>2]|0;if(_|0){l=l+255&255;do{v=s[W>>2]|0;if((v+(s[p>>2]|0)|0)>>>0<(s[b>>2]|0)>>>0){s[W>>2]=v+1;n[(s[Je>>2]|0)+v>>0]=l;v=0;_=s[Z>>2]|0}else v=-1;s[X>>2]=s[X>>2]|v;_=_+-1|0;s[Z>>2]=_}while((_|0)!=0)}s[V>>2]=y&255;l=s[Y>>2]|0;_=s[a>>2]|0;v=s[he>>2]|0}s[Y>>2]=l<<8&2147483392;_=_<<8;s[a>>2]=_;v=v+8|0;s[he>>2]=v}}while(0);if((ht|0)==456){s[fe>>2]=0;k=0;S=0}yt=s[Pe>>2]|0;v=(yt|0)==1002?0:17;if((yt|0)==1e3){_=(s[he>>2]|0)+((ne(s[a>>2]|0)|0)+-32)+7>>3;ui(Je);y=_}else{y=w-S|0;y=(y|0)<(c|0)?y:c;kt=s[Je>>2]|0;_=s[p>>2]|0;yt=0-_|0;Mr(kt+y+yt|0,kt+(s[b>>2]|0)+yt|0,_|0)|0;s[b>>2]=y;_=0}l=(k|0)==0;if(l?(s[Pe>>2]|0)==1e3:0)ht=464;else ht=462;do if((ht|0)==462){s[Ue>>2]=ft;Hs(Xe,10022,Ue)|0;if((s[Pe>>2]|0)!=1001){ht=464;break}s[De>>2]=s[e+100>>2];s[De+4>>2]=s[e+104>>2];s[Be>>2]=De;Hs(Xe,10028,Be)|0}while(0);if((ht|0)==464){s[je>>2]=0;Hs(Xe,10028,je)|0}if(!(l|(C|0)==0)){s[Fe>>2]=0;Hs(Xe,10010,Fe)|0;s[Ge>>2]=0;Hs(Xe,4006,Ge)|0;s[ze>>2]=-1;Hs(Xe,4002,ze)|0;if((Jt(Xe,m,(s[dt>>2]|0)/200|0,ee+y|0,S,0)|0)<0){_=-3;break}s[qe>>2]=lt;Hs(Xe,4031,qe)|0;Hs(Xe,4028,We)|0}s[ct>>2]=v;Hs(Xe,10010,ct)|0;v=s[Pe>>2]|0;do if((v|0)==1e3)ht=482;else{yt=s[Re>>2]|0;if((v|0)!=(yt|0)&(yt|0)>0){Hs(Xe,4028,Ye)|0;Jt(Xe,h,(s[dt>>2]|0)/400|0,Ve,2,0)|0;s[Ze>>2]=0;Hs(Xe,10002,Ze)|0}if(((s[he>>2]|0)+((ne(s[a>>2]|0)|0)+-32)|0)>(y<<3|0)){ht=482;break}do if(!(l|(C|0)==0)){if((s[Pe>>2]|0)!=1001)break;if(!(s[at>>2]|0))break;s[$e>>2]=(s[xe>>2]|0)-(s[e+36>>2]|0);Hs(Xe,4002,$e)|0}while(0);s[Ke>>2]=s[at>>2];Hs(Xe,4006,Ke)|0;_=Jt(Xe,m,i,0,y,Je)|0;if((_|0)<0){_=-3;break e}if(l){k=0;ht=488;break}if(!C){v=y;ht=484;break}v=s[Pe>>2]|0;if((v|0)!=1001){T=k;break}if(!(s[at>>2]|0)){ht=488;break}Sr(ee+_|0,ee+y|0,S|0)|0;ht=488}while(0);do if((ht|0)==482){if(l){k=0;ht=488;break}else v=y;if(!C)ht=484;else ht=488}while(0);if((ht|0)==484){y=s[dt>>2]|0;l=(y|0)/200|0;y=(y|0)/400|0;Hs(Xe,4028,Qe)|0;s[et>>2]=0;Hs(Xe,10010,et)|0;s[tt>>2]=0;Hs(Xe,10002,tt)|0;s[it>>2]=0;Hs(Xe,4006,it)|0;s[nt>>2]=-1;Hs(Xe,4002,nt)|0;if((s[Pe>>2]|0)==1001){kt=s[Je>>2]|0;v=s[p>>2]|0;yt=0-v|0;Mr(kt+_+yt|0,kt+(s[b>>2]|0)+yt|0,v|0)|0;s[b>>2]=_;v=_}yt=i-l|0;Jt(Xe,m+((te(s[ot>>2]|0,yt-y|0)|0)<<2)|0,y,rt,2,0)|0;if((Jt(Xe,m+((te(s[ot>>2]|0,yt)|0)<<2)|0,l,ee+v|0,S,0)|0)<0){_=-3;break}s[st>>2]=lt;Hs(Xe,4031,st)|0;ht=488}if((ht|0)==488){v=s[Pe>>2]|0;T=k}y=s[Ie>>2]|0;k=(s[dt>>2]|0)/(i|0)|0;l=0;while(1){if((k|0)>=400)break;k=k<<1;l=l+1|0}switch(v|0){case 1e3:{v=(U<<5)+96&224|(l<<3)+-16;break}case 1002:{v=((U|0)<1102?0:(U<<5)+64&96)|l<<3|128;break}default:v=U<<4|(l<<3)+240|96}n[o>>0]=v|((y|0)==2&1)<<2;c=s[a>>2]|0;s[ut>>2]=c^s[lt>>2];if(!Ce)v=s[Pe>>2]|0;else v=1002;s[Re>>2]=v;h=s[Ie>>2]|0;s[e+15144>>2]=h;s[e+15148>>2]=i;s[e+15164>>2]=0;t:do if(s[e+184>>2]|0){do if(!(s[ft>>2]|0)){if(!Oe)break t;v=e+19036|0}else{v=e+19036|0;A=+f[e+19040>>2];if(Oe|0)break;y=+f[ft+28>>2]<.10000000149011612;if(y){k=te(s[ot>>2]|0,i)|0;l=0;E=0;while(1){if((l|0)>=(k|0))break;vt=+f[t+(l<<2)>>2];l=l+1|0;E=E+vt*vt}if(!((E/+(k|0)*316.2300109863281<=A|0)==0|y^1))break}s[v>>2]=0;break t}while(0);yt=s[v>>2]|0;k=yt+1|0;s[v>>2]=k;if((yt|0)<=9)break;if((k|0)>=31){s[v>>2]=10;break}s[ut>>2]=0;k=s[Pe>>2]|0;_=(s[dt>>2]|0)/(i|0)|0;v=0;while(1){if((_|0)>=400)break;_=_<<1;v=v+1|0}switch(k|0){case 1e3:{_=(U<<5)+96&224|(v<<3)+-16;break}case 1002:{_=((U|0)<1102?0:(U<<5)+64&96)|v<<3|128;break}default:_=U<<4|(v<<3)+240|96}n[o>>0]=_|((h|0)==2&1)<<2;_=1;break e}while(0);t:do if(((s[he>>2]|0)+((ne(c|0)|0)+-32)|0)>((Le<<3)+-8|0)){if((Le|0)<2){_=-2;break e}n[ee>>0]=0;s[ut>>2]=0;_=1}else{if(!((s[Pe>>2]|0)==1e3&(T|0)==0))break;while(1){if((_|0)<=2)break t;if(n[o+_>>0]|0)break t;_=_+-1|0}}while(0);_=_+(S+1)|0;t:do if(!(s[at>>2]|0)){i:do if((_|0)>=1){do if((_|0)!=(Le|0)){if((_|0)>(Le|0))break i;v=ct+4|0;s[v>>2]=0;yt=o+Le+(0-_)|0;Mr(yt|0,o|0,_|0)|0;if(js(ct,yt,_)|0)break i;_=Fs(ct,s[v>>2]|0,o,Le,1)|0;if((_|0)>0)break;if(!_){_=Le;break t}else{_=-3;break e}}while(0);_=Le;break t}while(0);_=-3;break e}while(0)}while(0);He(ce|0);yt=_;u=pt;return yt|0}while(0);k=s[e+15136>>2]|0;v=s[e+15152>>2]|0;v=(v|0)==0?1101:v;k=(k|0)==0?1e3:k;e:do if((_|0)>100)ht=63;else{if((_|0)<50|(k|0)==1e3)if((v|0)>1103){v=1103;y=1e3;break}else{k=1e3;ht=64;break}switch(k|0){case 1002:{ht=63;break e}case 1001:break;default:{y=k;break e}}v=(v|0)>1104?v:1104;y=1001}while(0);if((ht|0)==63)if((v|0)==1102){v=1101;y=1002}else{k=1002;ht=64}if((ht|0)==64)y=k;l=s[e+15104>>2]|0;k=0;while(1){if((_|0)>=400)break;_=_<<1;k=k+1|0}switch(y|0){case 1e3:{_=(v<<5)+96&224|(k<<3)+-16;break}case 1002:{_=((v|0)<1102?0:(v<<5)+64&96)|k<<3|128;break}default:_=v<<4|(k<<3)+240|96}_=(_|((l|0)==2&1)<<2)&255;n[o>>0]=_;if(s[at>>2]|0){yt=1;u=pt;return yt|0}do if((Le|0)==1)ht=78;else{if((Le|0)>=1){v=C+4|0;s[v>>2]=0;yt=o+Le+-1|0;n[yt>>0]=_;_=js(C,yt,1)|0;if(!_){_=Fs(C,s[v>>2]|0,o,Le,1)|0;if((_|0)>0){ht=78;break}if(!_)break;u=pt;return _|0}}else _=-1;yt=_;u=pt;return yt|0}while(0);yt=Le;u=pt;return yt|0}function Ds(e,t,i,n,r,s,o,a,l){e=e|0;t=t|0;i=+i;n=+n;r=r|0;s=s|0;o=o|0;a=a|0;l=l|0;var h=0,u=0,c=0;h=48e3/(l|0)|0;u=(r|0)/(h|0)|0;e:do if((o|0)==1){l=0;while(1){if((l|0)>=(u|0)){l=0;break e}c=+f[a+((te(l,h)|0)<<2)>>2];c=c*c;f[t+(l<<2)>>2]=(c*n+(1-c)*i)*+f[e+(l<<2)>>2];l=l+1|0}}else{l=0;while(1){if((l|0)>=(u|0)){l=0;break e}c=+f[a+((te(l,h)|0)<<2)>>2];c=c*c;c=c*n+(1-c)*i;r=l<<1;f[t+(r<<2)>>2]=c*+f[e+(r<<2)>>2];r=r|1;f[t+(r<<2)>>2]=c*+f[e+(r<<2)>>2];l=l+1|0}}while(0);do{r=u;while(1){if((r|0)>=(s|0))break;a=(te(r,o)|0)+l|0;f[t+(a<<2)>>2]=+f[e+(a<<2)>>2]*n;r=r+1|0}l=l+1|0}while((l|0)<(o|0));return}function Ls(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var o=0,a=0,l=0,h=0,c=0,d=0,p=0,b=0;b=u;if((s[e+108>>2]|0)==2051)o=0;else o=s[e+116>>2]|0;l=s[e+156>>2]|0;p=e+112|0;h=s[e+144>>2]|0;a=(l|0)==5010;e:do if(((h|0)/200|0|0)>(i|0)|a^1){o=(h|0)/400|0;if((o|0)<=(i|0)){if((l|0)!=5e3){if(a)o=(h|0)/50|0;else{if((l+-5001|0)>>>0>=6){c=-1;break}c=(h*3|0)/50|0;o=o<<l+-5001;o=(c|0)<(o|0)?c:o}if((o|0)>(i|0)){c=-1;break}}else o=i;if(!((o*400|0)==(h|0)|(o*200|0)==(h|0)|(o*100|0)==(h|0))?(c=o*50|0,!((c|0)==(h|0)|(o*25|0)==(h|0)|(c|0)==(h*3|0))):0)c=-1;else d=16}else c=-1}else{l=(h|0)/400|0;a=Os(t,i,s[p>>2]|0,h,s[e+160>>2]|0,e+7060|0,o,1)|0;while(1){o=l<<a;if((o|0)<=(i|0)){d=16;break e}a=a+-1|0}}while(0);if((d|0)==16)c=(o|0)>-1?o:-1;o=s[p>>2]|0;a=te(c,o)|0;l=u;u=u+((1*(a<<2)|0)+15&-16)|0;h=0;while(1){if((h|0)>=(a|0))break;f[l+(h<<2)>>2]=+(r[t+(h<<1)>>1]|0)*30517578125e-15;h=h+1|0}e=Ns(e,l,c,n,3828,16,t,i,0,-2,o,1,0)|0;u=b;return e|0}function Us(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,o=0,a=0,l=0,h=0,c=0,d=0,p=0,b=0,w=0;w=u;u=u+80|0;l=w+48|0;o=w+40|0;n=w+32|0;d=w+24|0;c=w+16|0;h=w+8|0;a=w;b=w+56|0;s[b>>2]=i;p=e+(s[e>>2]|0)|0;e:do switch(t|0){case 4e3:{p=(s[b>>2]|0)+(4-1)&~(4-1);t=s[p>>2]|0;s[b>>2]=p+4;switch(t|0){case 2051:case 2049:case 2048:break;default:{i=-1;t=108;break e}}i=e+108|0;if((s[e+15164>>2]|0)==0?(s[i>>2]|0)!=(t|0):0){i=-1;t=108;break e}s[i>>2]=t;i=0;t=108;break}case 4001:{p=(s[b>>2]|0)+(4-1)&~(4-1);i=s[p>>2]|0;s[b>>2]=p+4;if(!i)t=109;else{s[i>>2]=s[e+108>>2];i=0;t=108}break}case 4002:{p=(s[b>>2]|0)+(4-1)&~(4-1);i=s[p>>2]|0;s[b>>2]=p+4;if((i|0)!=-1e3)if((i|0)!=-1){if((i|0)<1){t=109;break e}if((i|0)<501)i=500;else{b=(s[e+112>>2]|0)*3e5|0;i=(i|0)>(b|0)?b:i}}else i=-1;else i=-1e3;s[e+164>>2]=i;i=0;t=108;break}case 4003:{p=(s[b>>2]|0)+(4-1)&~(4-1);n=s[p>>2]|0;s[b>>2]=p+4;if(!n)t=109;else{i=s[e+15148>>2]|0;if(!i)t=(s[e+144>>2]|0)/400|0;else t=i;i=s[e+164>>2]|0;switch(i|0){case-1e3:{i=s[e+144>>2]|0;i=((i*60|0)/(t|0)|0)+(te(i,s[e+112>>2]|0)|0)|0;break}case-1:{i=((s[e+144>>2]|0)*10208|0)/(t|0)|0;break}default:{}}s[n>>2]=i;i=0;t=108}break}case 4022:{p=(s[b>>2]|0)+(4-1)&~(4-1);i=s[p>>2]|0;s[b>>2]=p+4;if((i|0)<1){if((i|0)!=-1e3){t=109;break e}}else if((i|0)>(s[e+112>>2]|0)){t=109;break e}s[e+120>>2]=i;i=0;t=108;break}case 4023:{p=(s[b>>2]|0)+(4-1)&~(4-1);i=s[p>>2]|0;s[b>>2]=p+4;if(!i)t=109;else{s[i>>2]=s[e+120>>2];i=0;t=108}break}case 4004:{p=(s[b>>2]|0)+(4-1)&~(4-1);i=s[p>>2]|0;s[b>>2]=p+4;if((i+-1101|0)>>>0>4)t=109;else{s[e+132>>2]=i;switch(i|0){case 1101:{s[e+20>>2]=8e3;i=0;t=108;break e}case 1102:{s[e+20>>2]=12e3;i=0;t=108;break e}default:{s[e+20>>2]=16e3;i=0;t=108;break e}}}break}case 4005:{p=(s[b>>2]|0)+(4-1)&~(4-1);i=s[p>>2]|0;s[b>>2]=p+4;if(!i)t=109;else{s[i>>2]=s[e+132>>2];i=0;t=108}break}case 4008:{p=(s[b>>2]|0)+(4-1)&~(4-1);i=s[p>>2]|0;s[b>>2]=p+4;if((i|0)>=1101){if((i|0)>1105){t=109;break e}s[e+128>>2]=i;if((i|0)==1101){s[e+20>>2]=8e3;i=0;t=108;break e}else t=i;i=e+20|0;if((t|0)==1102){s[i>>2]=12e3;i=0;t=108;break e}}else{if((i|0)!=-1e3){t=109;break e}s[e+128>>2]=-1e3;i=e+20|0}s[i>>2]=16e3;i=0;t=108;break}case 4009:{p=(s[b>>2]|0)+(4-1)&~(4-1);i=s[p>>2]|0;s[b>>2]=p+4;if(!i)t=109;else{s[i>>2]=s[e+15152>>2];i=0;t=108}break}case 4016:{p=(s[b>>2]|0)+(4-1)&~(4-1);i=s[p>>2]|0;s[b>>2]=p+4;if(i>>>0>1)t=109;else{s[e+184>>2]=i;i=0;t=108}break}case 4017:{p=(s[b>>2]|0)+(4-1)&~(4-1);i=s[p>>2]|0;s[b>>2]=p+4;if(!i)t=109;else{s[i>>2]=s[e+184>>2];i=0;t=108}break}case 4010:{d=(s[b>>2]|0)+(4-1)&~(4-1);i=s[d>>2]|0;s[b>>2]=d+4;if(i>>>0>10)t=109;else{s[e+44>>2]=i;s[a>>2]=i;Hs(p,4010,a)|0;i=0;t=108}break}case 4011:{p=(s[b>>2]|0)+(4-1)&~(4-1);i=s[p>>2]|0;s[b>>2]=p+4;if(!i)t=109;else{s[i>>2]=s[e+44>>2];i=0;t=108}break}case 4012:{p=(s[b>>2]|0)+(4-1)&~(4-1);i=s[p>>2]|0;s[b>>2]=p+4;if(i>>>0>1)t=109;else{s[e+48>>2]=i;i=0;t=108}break}case 4013:{p=(s[b>>2]|0)+(4-1)&~(4-1);i=s[p>>2]|0;s[b>>2]=p+4;if(!i)t=109;else{s[i>>2]=s[e+48>>2];i=0;t=108}break}case 4014:{d=(s[b>>2]|0)+(4-1)&~(4-1);i=s[d>>2]|0;s[b>>2]=d+4;if(i>>>0>100)t=109;else{s[e+40>>2]=i;s[h>>2]=i;Hs(p,4014,h)|0;i=0;t=108}break}case 4015:{p=(s[b>>2]|0)+(4-1)&~(4-1);i=s[p>>2]|0;s[b>>2]=p+4;if(!i)t=109;else{s[i>>2]=s[e+40>>2];i=0;t=108}break}case 4006:{p=(s[b>>2]|0)+(4-1)&~(4-1);i=s[p>>2]|0;s[b>>2]=p+4;if(i>>>0>1)t=109;else{s[e+148>>2]=i;s[e+60>>2]=1-i;i=0;t=108}break}case 4007:{p=(s[b>>2]|0)+(4-1)&~(4-1);i=s[p>>2]|0;s[b>>2]=p+4;if(!i)t=109;else{s[i>>2]=s[e+148>>2];i=0;t=108}break}case 11018:{p=(s[b>>2]|0)+(4-1)&~(4-1);i=s[p>>2]|0;s[b>>2]=p+4;if((i+1|0)>>>0>101)t=109;else{s[e+140>>2]=i;i=0;t=108}break}case 11019:{p=(s[b>>2]|0)+(4-1)&~(4-1);i=s[p>>2]|0;s[b>>2]=p+4;if(!i)t=109;else{s[i>>2]=s[e+140>>2];i=0;t=108}break}case 4020:{p=(s[b>>2]|0)+(4-1)&~(4-1);i=s[p>>2]|0;s[b>>2]=p+4;if(i>>>0>1)t=109;else{s[e+152>>2]=i;i=0;t=108}break}case 4021:{p=(s[b>>2]|0)+(4-1)&~(4-1);i=s[p>>2]|0;s[b>>2]=p+4;if(!i)t=109;else{s[i>>2]=s[e+152>>2];i=0;t=108}break}case 4024:{p=(s[b>>2]|0)+(4-1)&~(4-1);i=s[p>>2]|0;s[b>>2]=p+4;if((i|0)<3001)switch(i|0){case-1e3:break;default:{t=109;break e}}else switch(i|0){case 3002:case 3001:break;default:{t=109;break e}}s[e+124>>2]=i;i=0;t=108;break}case 4025:{p=(s[b>>2]|0)+(4-1)&~(4-1);i=s[p>>2]|0;s[b>>2]=p+4;if(!i)t=109;else{s[i>>2]=s[e+124>>2];i=0;t=108}break}case 4027:{p=(s[b>>2]|0)+(4-1)&~(4-1);t=s[p>>2]|0;s[b>>2]=p+4;if(t){i=(s[e+144>>2]|0)/400|0;s[t>>2]=i;if((s[e+108>>2]|0)==2051){i=0;t=108}else{s[t>>2]=i+(s[e+116>>2]|0);i=0;t=108}}else t=109;break}case 4029:{p=(s[b>>2]|0)+(4-1)&~(4-1);i=s[p>>2]|0;s[b>>2]=p+4;if(!i)t=109;else{s[i>>2]=s[e+144>>2];i=0;t=108}break}case 4031:{p=(s[b>>2]|0)+(4-1)&~(4-1);i=s[p>>2]|0;s[b>>2]=p+4;if(!i)t=109;else{s[i>>2]=s[e+19044>>2];i=0;t=108}break}case 4036:{p=(s[b>>2]|0)+(4-1)&~(4-1);i=s[p>>2]|0;s[b>>2]=p+4;if((i+-8|0)>>>0>16)t=109;else{s[e+168>>2]=i;i=0;t=108}break}case 4037:{p=(s[b>>2]|0)+(4-1)&~(4-1);i=s[p>>2]|0;s[b>>2]=p+4;if(!i)t=109;else{s[i>>2]=s[e+168>>2];i=0;t=108}break}case 4040:{d=(s[b>>2]|0)+(4-1)&~(4-1);i=s[d>>2]|0;s[b>>2]=d+4;switch(i|0){case 5010:case 5006:case 5005:case 5004:case 5003:case 5002:case 5001:case 5e3:break;default:{t=109;break e}}s[e+156>>2]=i;s[c>>2]=i;Hs(p,4040,c)|0;i=0;t=108;break}case 4041:{p=(s[b>>2]|0)+(4-1)&~(4-1);i=s[p>>2]|0;s[b>>2]=p+4;if(!i)t=109;else{s[i>>2]=s[e+156>>2];i=0;t=108}break}case 4042:{p=(s[b>>2]|0)+(4-1)&~(4-1);i=s[p>>2]|0;s[b>>2]=p+4;if(i>>>0>1)t=109;else{s[e+76>>2]=i;i=0;t=108}break}case 4043:{p=(s[b>>2]|0)+(4-1)&~(4-1);i=s[p>>2]|0;s[b>>2]=p+4;if(!i)t=109;else{s[i>>2]=s[e+76>>2];i=0;t=108}break}case 4028:{n=e+(s[e+4>>2]|0)|0;o=e+15104|0;yr(e+192|0,0,18856)|0;Hs(p,4028,d)|0;i=s[e+180>>2]|0;yr(n|0,0,20400)|0;t=0;while(1){if((t|0)==2)break;Fi(n+(t*10156|0)|0,i)|0;t=t+1|0}s[n+20376>>2]=1;s[n+20380>>2]=1;s[o>>2]=s[e+112>>2];r[e+15108>>1]=16384;f[e+15116>>2]=1;s[e+15164>>2]=1;s[e+15136>>2]=1001;s[e+15152>>2]=1105;s[e+15112>>2]=193536;i=0;t=108;break}case 11002:{p=(s[b>>2]|0)+(4-1)&~(4-1);i=s[p>>2]|0;s[b>>2]=p+4;if((i|0)<1e3){if((i|0)!=-1e3){t=109;break e}}else if((i|0)>1002){t=109;break e}s[e+136>>2]=i;i=0;t=108;break}case 10024:{t=(s[b>>2]|0)+(4-1)&~(4-1);i=s[t>>2]|0;s[b>>2]=t+4;s[e+176>>2]=i;s[n>>2]=i;i=Hs(p,10024,n)|0;t=108;break}case 10026:{t=(s[b>>2]|0)+(4-1)&~(4-1);i=s[t>>2]|0;s[b>>2]=t+4;s[e+15168>>2]=i;s[o>>2]=i;i=Hs(p,10026,o)|0;t=108;break}case 10015:{e=(s[b>>2]|0)+(4-1)&~(4-1);i=s[e>>2]|0;s[b>>2]=e+4;if(!i)t=109;else{s[l>>2]=i;i=Hs(p,10015,l)|0;t=108}break}default:{i=-5;t=108}}while(0);if((t|0)==108){e=i;u=w;return e|0}else if((t|0)==109){e=-1;u=w;return e|0}return 0}function Bs(e){e=e|0;qn(e);return}function js(e,t,i){e=e|0;t=t|0;i=i|0;var r=0,a=0,l=0,f=0,h=0,c=0;c=u;u=u+16|0;f=c;if((i|0)<1){h=-4;u=c;return h|0}h=e+4|0;l=s[h>>2]|0;e:do if(l){if(((n[e>>0]^n[t>>0])&255)>=4){h=-4;u=c;return h|0}}else{n[e>>0]=n[t>>0]|0;r=n[t>>0]|0;do if(r<<24>>24>=0)if((r&96)==96){if(r&8){r=160;break}s[e+296>>2]=80;break e}else{r=(r&255)>>>3&3;if((r|0)==3){r=480;break}s[e+296>>2]=(8e3<<r>>>0)/100|0;break e}else r=(8e3<<((r&255)>>>3&3)>>>0)/400|0;while(0);s[e+296>>2]=r}while(0);r=(o[t>>0]|0)&3;if(r)if((r|0)==3){if((i|0)<2){h=-4;u=c;return h|0}r=(o[t+1>>0]|0)&63;if(!r){h=-4;u=c;return h|0}else a=r}else a=2;else a=1;if((te(a+l|0,s[e+296>>2]|0)|0)>960){h=-4;u=c;return h|0}r=rn(t,i,0,f,e+8+(l<<2)|0,e+200+(l<<1)|0,0,0)|0;if((r|0)<1){h=r;u=c;return h|0}s[h>>2]=(s[h>>2]|0)+a;h=0;u=c;return h|0}function Fs(e,t,i,a,l){e=e|0;t=t|0;i=i|0;a=a|0;l=l|0;var f=0,h=0,u=0,c=0,d=0,p=0,b=0;if((t|0)<1){e=-1;return e|0}if((s[e+4>>2]|0)<(t|0)){e=-1;return e|0}p=e+200|0;e:do switch(t|0){case 1:{f=r[p>>1]|0;if((f|0)<(a|0)){n[i>>0]=o[e>>0]&252;h=i+1|0;f=f+1|0;d=14;break e}else{e=-2;return e|0}}case 2:{f=r[e+202>>1]|0;h=r[p>>1]|0;if(f<<16>>16==h<<16>>16){f=f<<16>>16<<1|1;if((f|0)>(a|0)){e=-2;return e|0}else{n[i>>0]=o[e>>0]&252|1;h=i+1|0;d=14;break e}}f=(h<<16>>16)+(f<<16>>16)+2+(h<<16>>16>251&1)|0;if((f|0)>(a|0)){e=-2;return e|0}c=i+1|0;n[i>>0]=o[e>>0]&252|2;h=r[p>>1]|0;u=h<<16>>16;if(h<<16>>16<252){n[c>>0]=h;h=1}else{h=u|252;n[c>>0]=h;n[i+2>>0]=(u-(h&255)|0)>>>2;h=2}h=c+h|0;d=14;break}default:{f=1;d=15}}while(0);if((d|0)==14)if((l|0)!=0&(f|0)<(a|0)){f=1;d=15}e:do if((d|0)==15){while(1){if((f|0)>=(t|0)){d=23;break}if((r[e+200+(f<<1)>>1]|0)!=(r[p>>1]|0)){d=17;break}f=f+1|0;d=15}do if((d|0)==17){f=t+-1|0;h=0;u=2;while(1){if((h|0)>=(f|0))break;p=r[e+200+(h<<1)>>1]|0;h=h+1|0;u=u+((p<<16>>16>251?2:1)+(p<<16>>16))|0}f=u+(r[e+200+(f<<1)>>1]|0)|0;if((f|0)>(a|0)){e=-2;return e|0}else{n[i>>0]=o[e>>0]|3;u=t|128;n[i+1>>0]=u;c=1;break}}else if((d|0)==23){f=(te(r[p>>1]|0,t)|0)+2|0;if((f|0)>(a|0)){e=-2;return e|0}else{n[i>>0]=o[e>>0]|3;n[i+1>>0]=t;u=t;c=0;break}}while(0);h=i+2|0;if((l|0)!=0?(b=a-f|0,(f|0)!=(a|0)):0){n[i+1>>0]=u|64;f=(b+-1|0)/255|0;u=0;while(1){if((u|0)>=(f|0))break;n[h>>0]=-1;u=u+1|0;h=h+1|0}n[h>>0]=b+(te(f,-255)|0)+255;h=h+1|0;f=a}if(c){d=t+-1|0;p=0;while(1){if((p|0)>=(d|0))break e;u=r[e+200+(p<<1)>>1]|0;c=u<<16>>16;if(u<<16>>16<252){n[h>>0]=u;u=1}else{u=c|252;n[h>>0]=u;n[h+1>>0]=(c-(u&255)|0)>>>2;u=2}p=p+1|0;h=h+u|0}}}while(0);u=0;while(1){if((u|0)>=(t|0))break;b=e+200+(u<<1)|0;Mr(h|0,s[e+8+(u<<2)>>2]|0,r[b>>1]|0)|0;u=u+1|0;h=h+(r[b>>1]|0)|0}if(!l){e=f;return e|0}u=i+a|0;while(1){if(h>>>0>=u>>>0)break;n[h>>0]=0;h=h+1|0}return f|0}function Gs(e,t,i,n,o,a,l,h,c,d,p,b){e=e|0;t=t|0;i=i|0;n=n|0;o=o|0;a=a|0;l=l|0;h=h|0;c=c|0;d=d|0;p=p|0;b=b|0;var w=0,m=0,g=0,_=0,v=0,k=0,y=0,E=0,A=0,T=0,S=0,M=0,R=0,C=0,P=0,x=0,I=0,O=0,N=0,D=0,L=0,U=0,B=0,j=0,F=0,W=0,V=0,Y=0,Z=0,$=0,K=0,X=0,J=0,ee=0,te=0,ie=0,ne=0,re=0,se=0,oe=0,ae=0,le=0,fe=0,he=0,ue=0,ce=0,de=0,pe=0,be=0,we=0,me=0,ge=0,_e=0,ve=0,ke=0,ye=0,Ee=0,Ae=0,Te=0,Se=0,Me=0,Re=0,Ce=0,Pe=0,xe=0,Ie=0,Oe=0,Ne=0,De=0,Le=0,Ue=0,Be=0;Le=u;u=u+10288|0;Ce=Le+9888|0;Se=Le+9816|0;xe=Le+9744|0;Te=Le+9712|0;Me=Le+9608|0;Re=Le+9600|0;Pe=Le+5760|0;Oe=Le+1920|0;Ne=Le+960|0;Ie=Le;if(!i)c=e+8504|0;else{ve=(c*195|0)/100|0;ve=(ve|0)<(n|0)?ve:n;ke=e+6884|0;W=s[ke>>2]|0;ye=e+6864|0;Ee=e+6868|0;Ae=e+6844|0;V=t+72|0;Y=e+5764|0;c=e+8504|0;Z=e+2884|0;$=e+4804|0;K=e+3844|0;X=e+6856|0;J=(d|0)<8;ee=e+6848|0;te=e+6852|0;ie=e+5840|0;ne=Me+80|0;re=Me+84|0;se=Me+88|0;oe=Me+92|0;ae=Me+96|0;le=Re+4|0;fe=e+6888|0;he=e+7688|0;ue=e+6892|0;ce=e+7692|0;de=e+7684|0;pe=e+8484|0;be=e+8500|0;we=e+8492|0;me=e+8496|0;ge=e+8488|0;_e=e+6860|0;B=d+-8|0;F=W;W=ve-W|0;while(1){j=(W|0)>480;m=j?480:W;s[ye>>2]=(s[ye>>2]|0)+1;n=s[Ee>>2]|0;D=(n|0)>19?.05000000074505806:1/+(n+1|0);U=n+1|0;N=(n|0)>49?.019999999552965164:1/+(U|0);T=(n|0)>999;I=1/+(U|0);if((n|0)<4){f[Ae>>2]=.5;t=s[V>>2]|0;if(!n){s[Y>>2]=240;d=240;n=t}else{n=t;De=7}}else{n=s[V>>2]|0;De=7}if((De|0)==7){De=0;d=s[Y>>2]|0}t=720-d|0;Zs[p&1](i,e+2884+(d<<2)|0,(t|0)>(m|0)?m:t,F,a,l,h);
d=s[Y>>2]|0;t=d+m|0;do if((t|0)<720)s[Y>>2]=t;else{L=s[c>>2]|0;U=e+8516+(L<<5)|0;s[c>>2]=L+((L|0)>198?-199:1);t=0;while(1){if((t|0)==240)break;x=+f[828+(t<<2)>>2];f[Pe+(t<<3)>>2]=x*+f[e+2884+(t<<2)>>2];f[Pe+(t<<3)+4>>2]=x*+f[e+2884+(t+240<<2)>>2];O=480-t+-1|0;f[Pe+(O<<3)>>2]=x*+f[e+2884+(O<<2)>>2];f[Pe+(O<<3)+4>>2]=x*+f[e+2884+(720-t+-1<<2)>>2];t=t+1|0}Sr(Z|0,$|0,960)|0;t=d+-720+m|0;Zs[p&1](i,K,t,F+720-d|0,a,l,h);s[Y>>2]=t+240;w=+f[n+4>>2];t=n+44|0;d=0;while(1){if((d|0)>=(s[n>>2]|0))break;x=+f[Pe+(d<<3)+4>>2];f[Oe+(r[(s[t>>2]|0)+(d<<1)>>1]<<3)>>2]=w*+f[Pe+(d<<3)>>2];f[Oe+(r[(s[t>>2]|0)+(d<<1)>>1]<<3)+4>>2]=w*x;d=d+1|0}ci(n,Oe);x=+f[Oe>>2];if(x!=x|0!=0){s[U>>2]=0;break}else d=1;while(1){if((d|0)==240)break;E=+f[Oe+(d<<3)>>2];O=480-d|0;_=+f[Oe+(O<<3)>>2];w=E+_;v=+f[Oe+(d<<3)+4>>2];y=+f[Oe+(O<<3)+4>>2];g=v-y;y=v+y;E=_-E;_=w*w;v=g*g;do if(!(_+v<1.000000045813705e-18))if(_<v){w=-(w*g*(v+_*.43157973885536194))/((v+_*.6784840226173401)*(v+_*.0859554186463356))+(g<0?-1.5707963705062866:1.5707963705062866);break}else{w=w*g;w=w*(_+v*.43157973885536194)/((_+v*.6784840226173401)*(_+v*.0859554186463356))+(g<0?-1.5707963705062866:1.5707963705062866)-(w<0?-1.5707963705062866:1.5707963705062866);break}else w=0;while(0);_=w*.15915493667125702;n=e+4+(d<<2)|0;v=_-+f[n>>2];t=e+964+(d<<2)|0;k=v-+f[t>>2];w=y*y;g=E*E;do if(!(w+g<1.000000045813705e-18))if(w<g){w=-(y*E*(g+w*.43157973885536194))/((g+w*.6784840226173401)*(g+w*.0859554186463356))+(E<0?-1.5707963705062866:1.5707963705062866);break}else{x=y*E;w=x*(w+g*.43157973885536194)/((w+g*.6784840226173401)*(w+g*.0859554186463356))+(E<0?-1.5707963705062866:1.5707963705062866)-(x<0?-1.5707963705062866:1.5707963705062866);break}else w=0;while(0);C=w*.15915493667125702;P=C-_;x=P-v;M=k-+G(+(k+.5));R=M*M;x=x-+G(+(x+.5));f[Ie+(d<<2)>>2]=+H(+M)+ +H(+x);x=x*x;x=x*x;O=e+1924+(d<<2)|0;f[Ne+(d<<2)>>2]=1/((+f[O>>2]+R*R*2+x)*.25*62341.81640625+1)+-.014999999664723873;f[n>>2]=C;f[t>>2]=P;f[O>>2]=x;d=d+1|0}O=e+8516+(L<<5)+16|0;f[O>>2]=0;e:do if(!(s[Ee>>2]|0)){n=0;while(1){if((n|0)==18){m=0;M=0;E=0;R=0;w=0;C=0;P=0;x=0;break e}f[e+6420+(n<<2)>>2]=1e10;f[e+6492+(n<<2)>>2]=-1e10;n=n+1|0}}else{m=0;M=0;E=0;R=0;w=0;C=0;P=0;x=0}while(0);while(1){if((m|0)>=18)break;d=m+1|0;n=s[1788+(d<<2)>>2]|0;_=0;t=s[1788+(m<<2)>>2]|0;g=0;A=0;while(1){if((t|0)>=(n|0))break;Ue=+f[Oe+(t<<3)>>2];S=480-t|0;y=+f[Oe+(S<<3)>>2];k=+f[Oe+(t<<3)+4>>2];v=+f[Oe+(S<<3)+4>>2];v=Ue*Ue+y*y+k*k+v*v;k=g+v*2*(.5-+f[Ie+(t<<2)>>2]);y=A+v*+f[Ne+(t<<2)>>2];_=_+v;t=t+1|0;g=k;A=y}if(!(_<1e9)|(_!=_|0!=0)){De=37;break}f[e+5844+((s[X>>2]|0)*72|0)+(m<<2)>>2]=_;k=_+1.0000000036274937e-15;E=E+g/k;v=_+1.000000013351432e-10;y=M+ +z(+v);v=+Q(+v);f[xe+(m<<2)>>2]=v;n=e+6420+(m<<2)|0;_=+f[n>>2]+.009999999776482582;_=v<_?v:_;f[n>>2]=_;t=e+6492+(m<<2)|0;g=+f[t>>2]+-.10000000149011612;g=v>g?v:g;f[t>>2]=g;if(g<_+1){g=g+.5;f[t>>2]=g;_=_+-.5;f[n>>2]=_}v=(v-_)/(g+1.0000000036274937e-15-_);g=0;_=0;n=0;while(1){if((n|0)==8)break;Ue=+f[e+5844+(n*72|0)+(m<<2)>>2];g=g+ +z(+Ue);_=_+Ue;n=n+1|0}_=g/+z(+(_*8+1e-15));_=_>.9900000095367432?.9900000095367432:_;_=_*_;_=_*_;Ue=A/k;n=e+5768+(m<<2)|0;g=_*+f[n>>2];g=Ue>g?Ue:g;f[Se+(m<<2)>>2]=g;w=w+g;if((m|0)>8)w=w-+f[Se+(m+-9<<2)>>2];A=(+(m+-18|0)*.029999999329447746+1)*w;f[n>>2]=g;Ue=x+g*+(m+-8|0);m=d;M=y;R=R+_;C=C>A?C:A;P=P+v;x=Ue}if((De|0)==37){De=0;s[U>>2]=0;break}y=J?.0005699999746866524:.0005699999746866524/+(1<<B|0);y=y*y;k=T?.9990000128746033:1-I;T=0;S=0;w=0;g=0;while(1){if((T|0)==21)break;t=s[1864+(T<<2)>>2]|0;d=T+1|0;m=s[1864+(d<<2)>>2]|0;v=0;n=t;while(1){if((n|0)>=(m|0))break;_=+f[Oe+(n<<3)>>2];I=+f[Oe+(n<<3)+4>>2];Be=480-n|0;A=+f[Oe+(Be<<3)>>2];Ue=+f[Oe+(Be<<3)+4>>2];v=v+(_*_+A*A+I*I+Ue*Ue);n=n+1|0}_=g>v?g:v;Be=e+6564+(T<<2)|0;g=k*+f[Be>>2];g=g>v?g:v;f[Be>>2]=g;g=v>g?v:g;w=w*.05000000074505806;w=w>g?w:g;if(!(g>w*.1&g*1e9>_)){Be=S;T=d;g=_;S=Be;continue}if(!(g>y*+(m-t|0))){Be=S;T=d;g=_;S=Be;continue}S=T;T=d;g=_}m=s[Ee>>2]|0;T=(m|0)<3?20:S;M=+Hn(M)*20;I=+f[ee>>2]+-.029999999329447746;I=I>M?I:M;f[ee>>2]=I;Ue=+f[te>>2]*(1-N);f[te>>2]=M<I+-30?Ue+N:Ue;d=0;while(1){if((d|0)==8)break;n=d<<4;t=0;w=0;while(1){if((t|0)==16)break;Ue=w+ +f[1952+(n+t<<2)>>2]*+f[xe+(t<<2)>>2];t=t+1|0;w=Ue}f[Te+(d<<2)>>2]=w;d=d+1|0}g=R/18;M=E/18;f[O>>2]=M+(1-M)*((m|0)<10?.5:P/18);N=C/9;Ue=+f[ie>>2]*.800000011920929;Ue=N>Ue?N:Ue;f[ie>>2]=Ue;d=e+8516+(L<<5)+8|0;f[d>>2]=x*.015625;s[X>>2]=((s[X>>2]|0)+1|0)%8|0;s[Ee>>2]=(s[Ee>>2]|0)+1;t=e+8516+(L<<5)+4|0;f[t>>2]=Ue;n=0;while(1){if((n|0)==4)break;f[Me+(n<<2)>>2]=(+f[Te+(n<<2)>>2]+ +f[e+6648+(n+24<<2)>>2])*-.12298999726772308+(+f[e+6648+(n<<2)>>2]+ +f[e+6648+(n+16<<2)>>2])*.49195000529289246+ +f[e+6648+(n+8<<2)>>2]*.6969299912452698-+f[e+6776+(n<<2)>>2]*1.4349000453948975;n=n+1|0}w=1-D;n=0;while(1){if((n|0)==4){n=0;break}Be=e+6776+(n<<2)|0;f[Be>>2]=w*+f[Be>>2]+D*+f[Te+(n<<2)>>2];n=n+1|0}while(1){if((n|0)==4){n=0;break}f[Me+(n+4<<2)>>2]=(+f[Te+(n<<2)>>2]-+f[e+6648+(n+24<<2)>>2])*.6324599981307983+(+f[e+6648+(n<<2)>>2]-+f[e+6648+(n+16<<2)>>2])*.31622999906539917;n=n+1|0}while(1){if((n|0)==3)break;Be=n+8|0;f[Me+(Be<<2)>>2]=(+f[Te+(n<<2)>>2]+ +f[e+6648+(n+24<<2)>>2])*.5345199704170227-(+f[e+6648+(n<<2)>>2]+ +f[e+6648+(n+16<<2)>>2])*.26725998520851135-+f[e+6648+(Be<<2)>>2]*.5345199704170227;n=n+1|0}e:do if((s[Ee>>2]|0)>5){n=0;while(1){if((n|0)==9){n=0;break e}Be=e+6808+(n<<2)|0;Ue=+f[Me+(n<<2)>>2];f[Be>>2]=w*+f[Be>>2]+D*Ue*Ue;n=n+1|0}}else n=0;while(0);while(1){if((n|0)==8){n=0;break}Be=e+6648+(n+16<<2)|0;s[e+6648+(n+24<<2)>>2]=s[Be>>2];S=e+6648+(n+8<<2)|0;s[Be>>2]=s[S>>2];Be=e+6648+(n<<2)|0;s[S>>2]=s[Be>>2];s[Be>>2]=s[Te+(n<<2)>>2];n=n+1|0}while(1){if((n|0)==9)break;Ue=+z(+ +f[e+6808+(n<<2)>>2]);f[Me+(n+11<<2)>>2]=Ue-+f[2464+(n<<2)>>2];n=n+1|0}f[ne>>2]=+f[t>>2]+-.154723;f[re>>2]=+f[O>>2]+-.724643;f[se>>2]=g+-.743717;f[oe>>2]=+f[d>>2]+.069216;f[ae>>2]=+f[te>>2]+-.06793;n=3304;m=0;while(1){if((m|0)==16){n=4968;m=0;break}t=n;d=0;w=+f[n>>2];while(1){t=t+4|0;if((d|0)==25)break;Ue=w+ +f[Me+(d<<2)>>2]*+f[t>>2];d=d+1|0;w=Ue}n=n+104|0;if(w<8)if(w>-8)if(w!=w|0!=0)w=0;else{Be=w<0;w=Be?-w:w;O=~~+G(+(w*25+.5));w=w-+(O|0)*.03999999910593033;Ue=+f[2500+(O<<2)>>2];w=(Be?-1:1)*(Ue+w*(1-Ue*Ue)*(1-Ue*w))}else w=-1;else w=1;f[Ce+(m<<2)>>2]=w;m=m+1|0}while(1){if((m|0)==2)break;t=n;d=0;w=+f[n>>2];while(1){t=t+4|0;if((d|0)==16)break;Ue=w+ +f[Ce+(d<<2)>>2]*+f[t>>2];d=d+1|0;w=Ue}n=n+68|0;if(w<8)if(w>-8)if(w!=w|0!=0)w=0;else{Be=w<0;w=Be?-w:w;O=~~+G(+(w*25+.5));w=w-+(O|0)*.03999999910593033;Ue=+f[2500+(O<<2)>>2];w=(Be?-1:1)*(Ue+w*(1-Ue*Ue)*(1-Ue*w))}else w=-1;else w=1;f[Re+(m<<2)>>2]=w;m=m+1|0}A=(+f[Re>>2]+1)*.5;E=+f[le>>2]*.5+.5;E=E*E;f[le>>2]=E;A=E*A+(1-E)*.5;f[Re>>2]=A;f[e+8516+(L<<5)+28>>2]=E;v=E*4999999873689376e-20;Be=A>.949999988079071;O=A<.05000000074505806&(Be^1);y=O|Be?O?.05000000074505806:.949999988079071:A;D=+f[Ae>>2];O=D>.949999988079071;Be=D<.05000000074505806&(O^1);k=Be|O?Be?.05000000074505806:.949999988079071:D;N=1-D;g=1-v;y=+H(+(y-k))*.05000000074505806/(y*(1-k)+k*(1-y))+.009999999776482582;k=+q(+(1-A),+y);y=+q(+A,+y);Ue=(D*g+N*v)*y;Ue=Ue/((N*g+D*v)*k+Ue);f[Ae>>2]=Ue;f[e+8516+(L<<5)+20>>2]=Ue;if((s[Ee>>2]|0)==1){f[fe>>2]=.5;f[he>>2]=.5;w=.5}else w=+f[fe>>2];w=w+ +f[ue>>2];_=+f[he>>2]+ +f[ce>>2];f[fe>>2]=w*g*k;f[he>>2]=_*g*y;n=1;while(1){if((n|0)==199)break;Be=n+1|0;f[e+6888+(n<<2)>>2]=+f[e+6888+(Be<<2)>>2]*k;f[e+7688+(n<<2)>>2]=+f[e+7688+(Be<<2)>>2]*y;n=Be}f[de>>2]=_*v*k;f[pe>>2]=w*v*y;n=0;w=9.999999682655225e-21;while(1){if((n|0)==200)break;Ue=w+(+f[e+6888+(n<<2)>>2]+ +f[e+7688+(n<<2)>>2]);n=n+1|0;w=Ue}w=1/w;n=0;while(1){if((n|0)==200)break;Be=e+6888+(n<<2)|0;f[Be>>2]=+f[Be>>2]*w;Be=e+7688+(n<<2)|0;f[Be>>2]=+f[Be>>2]*w;n=n+1|0}if(E>.75){w=+f[Ae>>2];if(w>.9){Be=(s[be>>2]|0)+1|0;s[be>>2]=(Be|0)<500?Be:500;D=+f[we>>2];Ue=A-D;f[we>>2]=D+1/+(Be|0)*(Ue<-.20000000298023224?-.20000000298023224:Ue)}if(w<.1){Be=(s[me>>2]|0)+1|0;s[me>>2]=(Be|0)<500?Be:500;D=+f[ge>>2];Ue=A-D;f[ge>>2]=D+1/+(Be|0)*(Ue>.20000000298023224?.20000000298023224:Ue)}}else{if(!(s[be>>2]|0))f[we>>2]=.8999999761581421;if(!(s[me>>2]|0))f[ge>>2]=.10000000149011612}n=+f[Ae>>2]>.5&1;if((s[_e>>2]|0)!=(n|0))s[ye>>2]=0;s[_e>>2]=n;s[e+8516+(L<<5)+24>>2]=T;f[e+8516+(L<<5)+12>>2]=M;s[U>>2]=1}while(0);if(j){F=F+480|0;W=W+-480|0}else break}s[ke>>2]=ve-o}s[b>>2]=0;m=e+8508|0;n=s[m>>2]|0;t=s[c>>2]|0;d=t-n|0;d=(d|0)<0?d+200|0:d;if((o|0)<481|(t|0)==(n|0))c=n;else{c=n+1|0;c=(c|0)==200?0:c}n=(c|0)==(t|0)?t+-1|0:c;n=e+8516+(((n|0)<0?199:n)<<5)|0;s[b>>2]=s[n>>2];s[b+4>>2]=s[n+4>>2];s[b+8>>2]=s[n+8>>2];s[b+12>>2]=s[n+12>>2];s[b+16>>2]=s[n+16>>2];s[b+20>>2]=s[n+20>>2];s[b+24>>2]=s[n+24>>2];s[b+28>>2]=s[n+28>>2];n=e+8512|0;c=(s[n>>2]|0)+((o|0)/120|0)|0;s[n>>2]=c;while(1){if((c|0)<=3)break;Be=c+-4|0;s[n>>2]=Be;s[m>>2]=(s[m>>2]|0)+1;c=Be}c=s[m>>2]|0;if((c|0)>199)s[m>>2]=c+-200;c=(d|0)>10?210-d|0:200;n=0;w=0;while(1){if((n|0)>=(c|0))break;Ue=w+ +f[e+7688+(n<<2)>>2];n=n+1|0;w=Ue}while(1){if((n|0)>=200)break;Ue=w+ +f[e+6888+(n<<2)>>2];n=n+1|0;w=Ue}f[b+20>>2]=w*+f[e+8492>>2]+(1-w)*+f[e+8488>>2];u=Le;return}function Hs(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,r=0,o=0,a=0,l=0,h=0;l=u;u=u+16|0;n=l;s[n>>2]=i;do switch(t|0){case 4010:{a=(s[n>>2]|0)+(4-1)&~(4-1);t=s[a>>2]|0;s[n>>2]=a+4;if(t>>>0>10)t=40;else{s[e+24>>2]=t;t=39}break}case 10010:{a=(s[n>>2]|0)+(4-1)&~(4-1);t=s[a>>2]|0;s[n>>2]=a+4;if((t|0)>=0?(t|0)<(s[(s[e>>2]|0)+8>>2]|0):0){s[e+32>>2]=t;t=39}else t=40;break}case 10012:{a=(s[n>>2]|0)+(4-1)&~(4-1);t=s[a>>2]|0;s[n>>2]=a+4;if((t|0)>=1?(t|0)<=(s[(s[e>>2]|0)+8>>2]|0):0){s[e+36>>2]=t;t=39}else t=40;break}case 10002:{a=(s[n>>2]|0)+(4-1)&~(4-1);t=s[a>>2]|0;s[n>>2]=a+4;if(t>>>0>2)t=40;else{s[e+20>>2]=(t|0)<2&1;s[e+12>>2]=(t|0)==0&1;t=39}break}case 4014:{a=(s[n>>2]|0)+(4-1)&~(4-1);t=s[a>>2]|0;s[n>>2]=a+4;if(t>>>0>100)t=40;else{s[e+56>>2]=t;t=39}break}case 4020:{a=(s[n>>2]|0)+(4-1)&~(4-1);t=s[a>>2]|0;s[n>>2]=a+4;s[e+52>>2]=t;t=39;break}case 4006:{a=(s[n>>2]|0)+(4-1)&~(4-1);t=s[a>>2]|0;s[n>>2]=a+4;s[e+44>>2]=t;t=39;break}case 4002:{a=(s[n>>2]|0)+(4-1)&~(4-1);t=s[a>>2]|0;s[n>>2]=a+4;if((t|0)>500|(t|0)==-1){a=(s[e+4>>2]|0)*26e4|0;s[e+40>>2]=(t|0)<(a|0)?t:a;t=39}else t=40;break}case 10008:{a=(s[n>>2]|0)+(4-1)&~(4-1);t=s[a>>2]|0;s[n>>2]=a+4;if((t+-1|0)>>>0>1)t=40;else{s[e+8>>2]=t;t=39}break}case 4036:{a=(s[n>>2]|0)+(4-1)&~(4-1);t=s[a>>2]|0;s[n>>2]=a+4;if((t+-8|0)>>>0>16)t=40;else{s[e+60>>2]=t;t=39}break}case 4037:{a=(s[n>>2]|0)+(4-1)&~(4-1);t=s[a>>2]|0;s[n>>2]=a+4;s[t>>2]=s[e+60>>2];t=39;break}case 4040:{a=(s[n>>2]|0)+(4-1)&~(4-1);t=s[a>>2]|0;s[n>>2]=a+4;s[e+64>>2]=t;t=39;break}case 4028:{t=e+4|0;o=s[t>>2]|0;r=s[e>>2]|0;h=s[r+4>>2]|0;i=e+212+((te(o,h+1024|0)|0)<<2)|0;a=s[r+8>>2]|0;n=te(o,a)|0;i=i+(n<<2)|0;n=i+(n<<2)|0;yr(e+76|0,0,((te(h,o)|0)<<2)+212+(o<<12)+((te(o<<2,a)|0)<<2)+-76|0)|0;a=0;while(1){if((a|0)>=(te(o,s[r+8>>2]|0)|0))break;f[n+(a<<2)>>2]=-28;f[i+(a<<2)>>2]=-28;r=s[e>>2]|0;o=s[t>>2]|0;a=a+1|0}s[e+184>>2]=0;f[e+84>>2]=1;s[e+80>>2]=2;s[e+88>>2]=256;s[e+96>>2]=0;s[e+100>>2]=0;t=39;break}case 10016:{h=(s[n>>2]|0)+(4-1)&~(4-1);t=s[h>>2]|0;s[n>>2]=h+4;s[e+48>>2]=t;t=39;break}case 10022:{h=(s[n>>2]|0)+(4-1)&~(4-1);t=s[h>>2]|0;s[n>>2]=h+4;if(!t)t=39;else{h=e+120|0;s[h>>2]=s[t>>2];s[h+4>>2]=s[t+4>>2];s[h+8>>2]=s[t+8>>2];s[h+12>>2]=s[t+12>>2];s[h+16>>2]=s[t+16>>2];s[h+20>>2]=s[t+20>>2];s[h+24>>2]=s[t+24>>2];s[h+28>>2]=s[t+28>>2];t=39}break}case 10028:{h=(s[n>>2]|0)+(4-1)&~(4-1);t=s[h>>2]|0;s[n>>2]=h+4;if(!t)t=39;else{a=t;h=s[a+4>>2]|0;t=e+152|0;s[t>>2]=s[a>>2];s[t+4>>2]=h;t=39}break}case 10015:{h=(s[n>>2]|0)+(4-1)&~(4-1);t=s[h>>2]|0;s[n>>2]=h+4;if(!t)t=40;else{s[t>>2]=s[e>>2];t=39}break}case 4031:{h=(s[n>>2]|0)+(4-1)&~(4-1);t=s[h>>2]|0;s[n>>2]=h+4;if(!t)t=40;else{s[t>>2]=s[e+76>>2];t=39}break}case 10024:{h=(s[n>>2]|0)+(4-1)&~(4-1);t=s[h>>2]|0;s[n>>2]=h+4;s[e+68>>2]=t;t=39;break}case 10026:{h=(s[n>>2]|0)+(4-1)&~(4-1);t=s[h>>2]|0;s[n>>2]=h+4;s[e+204>>2]=t;t=39;break}default:{h=-5;u=l;return h|0}}while(0);if((t|0)==39){h=0;u=l;return h|0}else if((t|0)==40){h=-1;u=l;return h|0}return 0}var zs=[$r,$n,fr,ur,_s,$r,$r,$r];var qs=[Kr,nr,Qn,br];var Ws=[Xr,Wn,tr,Yn,Zn,Vn,sr,or,lr,hr,cr,gs,Xr,Xr,Xr,Xr];var Vs=[Jr,ks];var Ys=[Qr,ar,ms,Qr];var Zs=[es,Is];var $s=[ts];var Ks=[is,vs,ws,is];var Xs=[ns,ir,Xn,dr];var Js=[rs,bs,ys,rs];var Qs=[ss,rr,er,mr];return{___cxa_can_catch:_r,_free:qn,_opus_strerror:Ts,_opus_decoder_create:Ss,___cxa_is_pointer_type:vr,_i64Add:Er,_memmove:Mr,_bitshift64Ashr:Ar,_opus_encoder_destroy:Bs,_memset:yr,_malloc:zn,_opus_decoder_destroy:Ps,_opus_encoder_create:xs,_memcpy:Sr,___getTypeName:Gn,_bitshift64Lshr:Tr,_opus_decoder_ctl:Cs,_opus_encoder_ctl:Us,__GLOBAL__sub_I_opusscript_encoder_cpp:Es,__GLOBAL__sub_I_bind_cpp:Fn,runPostSets:kr,stackAlloc:os,stackSave:as,stackRestore:ls,establishStackSpace:fs,setThrew:hs,setTempRet0:ds,getTempRet0:ps,dynCall_iiii:Br,dynCall_viiiii:jr,dynCall_vi:Fr,dynCall_iiiiiii:Gr,dynCall_ii:Hr,dynCall_viiiiiii:zr,dynCall_v:qr,dynCall_iiiii:Wr,dynCall_viiiiii:Vr,dynCall_iiiiii:Yr,dynCall_viiii:Zr}}(Module.asmGlobalArg,Module.asmLibraryArg,buffer),runPostSets=Module.runPostSets=asm.runPostSets,___cxa_can_catch=Module.___cxa_can_catch=asm.___cxa_can_catch,__GLOBAL__sub_I_bind_cpp=Module.__GLOBAL__sub_I_bind_cpp=asm.__GLOBAL__sub_I_bind_cpp,_free=Module._free=asm._free,_opus_strerror=Module._opus_strerror=asm._opus_strerror,_opus_decoder_create=Module._opus_decoder_create=asm._opus_decoder_create,___cxa_is_pointer_type=Module.___cxa_is_pointer_type=asm.___cxa_is_pointer_type,_i64Add=Module._i64Add=asm._i64Add,_memmove=Module._memmove=asm._memmove,_bitshift64Ashr=Module._bitshift64Ashr=asm._bitshift64Ashr,_opus_encoder_destroy=Module._opus_encoder_destroy=asm._opus_encoder_destroy,_memset=Module._memset=asm._memset,_malloc=Module._malloc=asm._malloc,_opus_decoder_destroy=Module._opus_decoder_destroy=asm._opus_decoder_destroy,_opus_encoder_create=Module._opus_encoder_create=asm._opus_encoder_create,_memcpy=Module._memcpy=asm._memcpy,___getTypeName=Module.___getTypeName=asm.___getTypeName,_bitshift64Lshr=Module._bitshift64Lshr=asm._bitshift64Lshr,_opus_encoder_ctl=Module._opus_encoder_ctl=asm._opus_encoder_ctl,_opus_decoder_ctl=Module._opus_decoder_ctl=asm._opus_decoder_ctl,__GLOBAL__sub_I_opusscript_encoder_cpp=Module.__GLOBAL__sub_I_opusscript_encoder_cpp=asm.__GLOBAL__sub_I_opusscript_encoder_cpp,dynCall_iiii=Module.dynCall_iiii=asm.dynCall_iiii,dynCall_viiiii=Module.dynCall_viiiii=asm.dynCall_viiiii,dynCall_vi=Module.dynCall_vi=asm.dynCall_vi,dynCall_iiiiiii=Module.dynCall_iiiiiii=asm.dynCall_iiiiiii,dynCall_ii=Module.dynCall_ii=asm.dynCall_ii,dynCall_viiiiiii=Module.dynCall_viiiiiii=asm.dynCall_viiiiiii,dynCall_v=Module.dynCall_v=asm.dynCall_v,dynCall_iiiii=Module.dynCall_iiiii=asm.dynCall_iiiii,dynCall_viiiiii=Module.dynCall_viiiiii=asm.dynCall_viiiiii,dynCall_iiiiii=Module.dynCall_iiiiii=asm.dynCall_iiiiii,dynCall_viiii=Module.dynCall_viiii=asm.dynCall_viiii;Runtime.stackAlloc=asm.stackAlloc,Runtime.stackSave=asm.stackSave,Runtime.stackRestore=asm.stackRestore,Runtime.establishStackSpace=asm.establishStackSpace,Runtime.setTempRet0=asm.setTempRet0,Runtime.getTempRet0=asm.getTempRet0,ExitStatus.prototype=new Error,ExitStatus.prototype.constructor=ExitStatus;var initialStackTop,preloadStartTime=null,calledMain=!1;dependenciesFulfilled=function e(){Module.calledRun||run(),Module.calledRun||(dependenciesFulfilled=e)},Module.callMain=Module.callMain=function(e){function t(){for(var e=0;e<3;e++)n.push(0)}e=e||[],ensureInitRuntime();var i=e.length+1,n=[allocate(intArrayFromString(Module.thisProgram),"i8",ALLOC_NORMAL)];t();for(var r=0;r<i-1;r+=1)n.push(allocate(intArrayFromString(e[r]),"i8",ALLOC_NORMAL)),t();n.push(0),n=allocate(n,"i32",ALLOC_NORMAL);try{var s=Module._main(i,n,0);exit(s,!0)}catch(e){if(e instanceof ExitStatus)return;if("SimulateInfiniteLoop"==e)return void(Module.noExitRuntime=!0);throw e&&"object"==typeof e&&e.stack&&Module.printErr("exception thrown: "+[e,e.stack]),e}finally{calledMain=!0}},Module.run=Module.run=run,Module.exit=Module.exit=exit;var abortDecorators=[];if(Module.abort=Module.abort=abort,Module.preInit)for("function"==typeof Module.preInit&&(Module.preInit=[Module.preInit]);Module.preInit.length>0;)Module.preInit.pop()();var shouldRunNow=!0;Module.noInitialRun&&(shouldRunNow=!1),run()}).call(exports,__webpack_require__(2),"node_modules/opusscript/build",__webpack_require__(71)(module))},function(e,t,i){(function(t){const n=i(3).EventEmitter,r=i(172),s=new t(24);s.fill(0);class o extends n{constructor(e,t,i,n){super(),this.player=e,this.stream=t,this.streamingData={channels:2,count:0,sequence:i.sequence,timestamp:i.timestamp,pausedTime:0},this._startStreaming(),this._triggered=!1,this._volume=n.volume,this.passes=n.passes||1,this.paused=!1,this.setVolume(n.volume||1)}get time(){return this.streamingData.count*(this.streamingData.length||0)}get totalStreamTime(){return this.time+this.streamingData.pausedTime}get volume(){return this._volume}setVolume(e){this._volume=e}setVolumeDecibels(e){this._volume=Math.pow(10,e/20)}setVolumeLogarithmic(e){this._volume=Math.pow(e,1.660964)}pause(){this._setPaused(!0)}resume(){this._setPaused(!1)}end(){this._triggerTerminalState("end","user requested")}_setSpeaking(e){this.speaking=e,this.emit("speaking",e)}_sendBuffer(e,t,i){let n=this.passes;const r=this._createPacket(t,i,this.player.opusEncoder.encode(e));for(;n--;)this.player.voiceConnection.sockets.udp.send(r).catch(e=>this.emit("debug",`Failed to send a packet ${e}`))}_createPacket(e,i,n){const o=new t(n.length+28);o.fill(0),o[0]=128,o[1]=120,o.writeUIntBE(e,2,2),o.writeUIntBE(i,4,4),o.writeUIntBE(this.player.voiceConnection.authentication.ssrc,8,4),o.copy(s,0,0,12),n=r.secretbox(n,s,this.player.voiceConnection.authentication.secretKey.key);for(let a=0;a<n.length;a++)o[a+12]=n[a];return o}_applyVolume(e){if(1===this._volume)return e;const i=new t(e.length);for(let n=0;n<e.length&&!(n>=e.length-1);n+=2){const t=Math.min(32767,Math.max(-32767,Math.floor(this._volume*e.readInt16LE(n))));i.writeInt16LE(t,n)}return i}_send(){try{if(this._triggered)return void this._setSpeaking(!1);const e=this.streamingData;if(e.missed>=5)return void this._triggerTerminalState("end","Stream is not generating quickly enough.");if(this.paused)return e.pausedTime+=10*e.length,void this.player.voiceConnection.voiceManager.client.setTimeout(()=>this._send(),10*e.length);this._setSpeaking(!0),e.startTime||(this.emit("start"),e.startTime=Date.now());const i=1920*e.channels;let n=this.stream.read(i);if(!n)return e.missed++,e.pausedTime+=10*e.length,void this.player.voiceConnection.voiceManager.client.setTimeout(()=>this._send(),10*e.length);if(e.missed=0,n.length!==i){const e=new t(i).fill(0);n.copy(e),n=e}n=this._applyVolume(n),e.count++,e.sequence=e.sequence+1<65536?e.sequence+1:0,e.timestamp=e.timestamp+4294967295?e.timestamp+960:0,this._sendBuffer(n,e.sequence,e.timestamp);const r=e.length+(e.startTime+e.pausedTime+e.count*e.length-Date.now());this.player.voiceConnection.voiceManager.client.setTimeout(()=>this._send(),r)}catch(e){this._triggerTerminalState("error",e)}}_triggerEnd(){this.emit("end")}_triggerError(e){this.emit("end"),this.emit("error",e)}_triggerTerminalState(e,t){if(!this._triggered)switch(this.emit("debug",`Triggered terminal state ${e} - stream is now dead`),this._triggered=!0,this._setSpeaking(!1),e){case"end":this._triggerEnd(t);break;case"error":this._triggerError(t);break;default:this.emit("error","Unknown trigger state")}}_startStreaming(){if(!this.stream)return void this.emit("error","No stream");this.stream.on("end",e=>this._triggerTerminalState("end",e)),this.stream.on("error",e=>this._triggerTerminalState("error",e));const e=this.streamingData;e.length=20,e.missed=0,this.stream.once("readable",()=>this._send())}_setPaused(e){e?(this.paused=!0,this._setSpeaking(!1)):(this.paused=!1,this._setSpeaking(!0))}}e.exports=o}).call(t,i(58).Buffer)},function(e,t,i){!function(e){"use strict";function t(e,t,i,n){e[t]=i>>24&255,e[t+1]=i>>16&255,e[t+2]=i>>8&255,e[t+3]=255&i,e[t+4]=n>>24&255,e[t+5]=n>>16&255,e[t+6]=n>>8&255,e[t+7]=255&n}function n(e,t,i,n,r){var s,o=0;for(s=0;s<r;s++)o|=e[t+s]^i[n+s];return(1&o-1>>>8)-1}function r(e,t,i,r){return n(e,t,i,r,16)}function s(e,t,i,r){return n(e,t,i,r,32)}function o(e,t,i,n){for(var r,s=255&n[0]|(255&n[1])<<8|(255&n[2])<<16|(255&n[3])<<24,o=255&i[0]|(255&i[1])<<8|(255&i[2])<<16|(255&i[3])<<24,a=255&i[4]|(255&i[5])<<8|(255&i[6])<<16|(255&i[7])<<24,l=255&i[8]|(255&i[9])<<8|(255&i[10])<<16|(255&i[11])<<24,f=255&i[12]|(255&i[13])<<8|(255&i[14])<<16|(255&i[15])<<24,h=255&n[4]|(255&n[5])<<8|(255&n[6])<<16|(255&n[7])<<24,u=255&t[0]|(255&t[1])<<8|(255&t[2])<<16|(255&t[3])<<24,c=255&t[4]|(255&t[5])<<8|(255&t[6])<<16|(255&t[7])<<24,d=255&t[8]|(255&t[9])<<8|(255&t[10])<<16|(255&t[11])<<24,p=255&t[12]|(255&t[13])<<8|(255&t[14])<<16|(255&t[15])<<24,b=255&n[8]|(255&n[9])<<8|(255&n[10])<<16|(255&n[11])<<24,w=255&i[16]|(255&i[17])<<8|(255&i[18])<<16|(255&i[19])<<24,m=255&i[20]|(255&i[21])<<8|(255&i[22])<<16|(255&i[23])<<24,g=255&i[24]|(255&i[25])<<8|(255&i[26])<<16|(255&i[27])<<24,_=255&i[28]|(255&i[29])<<8|(255&i[30])<<16|(255&i[31])<<24,v=255&n[12]|(255&n[13])<<8|(255&n[14])<<16|(255&n[15])<<24,k=s,y=o,E=a,A=l,T=f,S=h,M=u,R=c,C=d,P=p,x=b,I=w,O=m,N=g,D=_,L=v,U=0;U<20;U+=2)r=k+O|0,T^=r<<7|r>>>25,r=T+k|0,C^=r<<9|r>>>23,r=C+T|0,O^=r<<13|r>>>19,r=O+C|0,k^=r<<18|r>>>14,r=S+y|0,P^=r<<7|r>>>25,r=P+S|0,N^=r<<9|r>>>23,r=N+P|0,y^=r<<13|r>>>19,r=y+N|0,S^=r<<18|r>>>14,r=x+M|0,D^=r<<7|r>>>25,r=D+x|0,E^=r<<9|r>>>23,r=E+D|0,M^=r<<13|r>>>19,r=M+E|0,x^=r<<18|r>>>14,r=L+I|0,A^=r<<7|r>>>25,r=A+L|0,R^=r<<9|r>>>23,r=R+A|0,I^=r<<13|r>>>19,r=I+R|0,L^=r<<18|r>>>14,r=k+A|0,y^=r<<7|r>>>25,r=y+k|0,E^=r<<9|r>>>23,r=E+y|0,A^=r<<13|r>>>19,r=A+E|0,k^=r<<18|r>>>14,r=S+T|0,M^=r<<7|r>>>25,r=M+S|0,R^=r<<9|r>>>23,r=R+M|0,T^=r<<13|r>>>19,r=T+R|0,S^=r<<18|r>>>14,r=x+P|0,I^=r<<7|r>>>25,r=I+x|0,C^=r<<9|r>>>23,r=C+I|0,P^=r<<13|r>>>19,r=P+C|0,x^=r<<18|r>>>14,r=L+D|0,O^=r<<7|r>>>25,r=O+L|0,N^=r<<9|r>>>23,r=N+O|0,D^=r<<13|r>>>19,r=D+N|0,L^=r<<18|r>>>14;k=k+s|0,y=y+o|0,E=E+a|0,A=A+l|0,T=T+f|0,S=S+h|0,M=M+u|0,R=R+c|0,C=C+d|0,P=P+p|0,x=x+b|0,I=I+w|0,O=O+m|0,N=N+g|0,D=D+_|0,L=L+v|0,e[0]=k>>>0&255,e[1]=k>>>8&255,e[2]=k>>>16&255,e[3]=k>>>24&255,e[4]=y>>>0&255,e[5]=y>>>8&255,e[6]=y>>>16&255,e[7]=y>>>24&255,e[8]=E>>>0&255,e[9]=E>>>8&255,e[10]=E>>>16&255,e[11]=E>>>24&255,e[12]=A>>>0&255,e[13]=A>>>8&255,e[14]=A>>>16&255,e[15]=A>>>24&255,e[16]=T>>>0&255,e[17]=T>>>8&255,e[18]=T>>>16&255,e[19]=T>>>24&255,e[20]=S>>>0&255,e[21]=S>>>8&255,e[22]=S>>>16&255,e[23]=S>>>24&255,e[24]=M>>>0&255,e[25]=M>>>8&255,e[26]=M>>>16&255,e[27]=M>>>24&255,e[28]=R>>>0&255,e[29]=R>>>8&255,e[30]=R>>>16&255,e[31]=R>>>24&255,e[32]=C>>>0&255,e[33]=C>>>8&255,e[34]=C>>>16&255,e[35]=C>>>24&255,e[36]=P>>>0&255,e[37]=P>>>8&255,e[38]=P>>>16&255,e[39]=P>>>24&255,e[40]=x>>>0&255,e[41]=x>>>8&255,e[42]=x>>>16&255,e[43]=x>>>24&255,e[44]=I>>>0&255,e[45]=I>>>8&255,e[46]=I>>>16&255,e[47]=I>>>24&255,e[48]=O>>>0&255,e[49]=O>>>8&255,e[50]=O>>>16&255,e[51]=O>>>24&255,e[52]=N>>>0&255,e[53]=N>>>8&255,e[54]=N>>>16&255,e[55]=N>>>24&255,e[56]=D>>>0&255,e[57]=D>>>8&255,e[58]=D>>>16&255,e[59]=D>>>24&255,e[60]=L>>>0&255,e[61]=L>>>8&255,e[62]=L>>>16&255,e[63]=L>>>24&255}function a(e,t,i,n){for(var r,s=255&n[0]|(255&n[1])<<8|(255&n[2])<<16|(255&n[3])<<24,o=255&i[0]|(255&i[1])<<8|(255&i[2])<<16|(255&i[3])<<24,a=255&i[4]|(255&i[5])<<8|(255&i[6])<<16|(255&i[7])<<24,l=255&i[8]|(255&i[9])<<8|(255&i[10])<<16|(255&i[11])<<24,f=255&i[12]|(255&i[13])<<8|(255&i[14])<<16|(255&i[15])<<24,h=255&n[4]|(255&n[5])<<8|(255&n[6])<<16|(255&n[7])<<24,u=255&t[0]|(255&t[1])<<8|(255&t[2])<<16|(255&t[3])<<24,c=255&t[4]|(255&t[5])<<8|(255&t[6])<<16|(255&t[7])<<24,d=255&t[8]|(255&t[9])<<8|(255&t[10])<<16|(255&t[11])<<24,p=255&t[12]|(255&t[13])<<8|(255&t[14])<<16|(255&t[15])<<24,b=255&n[8]|(255&n[9])<<8|(255&n[10])<<16|(255&n[11])<<24,w=255&i[16]|(255&i[17])<<8|(255&i[18])<<16|(255&i[19])<<24,m=255&i[20]|(255&i[21])<<8|(255&i[22])<<16|(255&i[23])<<24,g=255&i[24]|(255&i[25])<<8|(255&i[26])<<16|(255&i[27])<<24,_=255&i[28]|(255&i[29])<<8|(255&i[30])<<16|(255&i[31])<<24,v=255&n[12]|(255&n[13])<<8|(255&n[14])<<16|(255&n[15])<<24,k=s,y=o,E=a,A=l,T=f,S=h,M=u,R=c,C=d,P=p,x=b,I=w,O=m,N=g,D=_,L=v,U=0;U<20;U+=2)r=k+O|0,T^=r<<7|r>>>25,r=T+k|0,C^=r<<9|r>>>23,r=C+T|0,O^=r<<13|r>>>19,r=O+C|0,k^=r<<18|r>>>14,r=S+y|0,P^=r<<7|r>>>25,r=P+S|0,N^=r<<9|r>>>23,r=N+P|0,y^=r<<13|r>>>19,r=y+N|0,S^=r<<18|r>>>14,r=x+M|0,D^=r<<7|r>>>25,r=D+x|0,E^=r<<9|r>>>23,r=E+D|0,M^=r<<13|r>>>19,r=M+E|0,x^=r<<18|r>>>14,r=L+I|0,A^=r<<7|r>>>25,r=A+L|0,R^=r<<9|r>>>23,r=R+A|0,I^=r<<13|r>>>19,r=I+R|0,L^=r<<18|r>>>14,r=k+A|0,y^=r<<7|r>>>25,r=y+k|0,E^=r<<9|r>>>23,r=E+y|0,A^=r<<13|r>>>19,r=A+E|0,k^=r<<18|r>>>14,r=S+T|0,M^=r<<7|r>>>25,r=M+S|0,R^=r<<9|r>>>23,r=R+M|0,T^=r<<13|r>>>19,r=T+R|0,S^=r<<18|r>>>14,r=x+P|0,I^=r<<7|r>>>25,r=I+x|0,C^=r<<9|r>>>23,r=C+I|0,P^=r<<13|r>>>19,r=P+C|0,x^=r<<18|r>>>14,r=L+D|0,O^=r<<7|r>>>25,r=O+L|0,N^=r<<9|r>>>23,r=N+O|0,D^=r<<13|r>>>19,r=D+N|0,L^=r<<18|r>>>14;e[0]=k>>>0&255,e[1]=k>>>8&255,e[2]=k>>>16&255,e[3]=k>>>24&255,e[4]=S>>>0&255,e[5]=S>>>8&255,e[6]=S>>>16&255,e[7]=S>>>24&255,e[8]=x>>>0&255,e[9]=x>>>8&255,e[10]=x>>>16&255,e[11]=x>>>24&255,e[12]=L>>>0&255,e[13]=L>>>8&255,e[14]=L>>>16&255,e[15]=L>>>24&255,e[16]=M>>>0&255,e[17]=M>>>8&255,e[18]=M>>>16&255,e[19]=M>>>24&255,e[20]=R>>>0&255,e[21]=R>>>8&255,e[22]=R>>>16&255,e[23]=R>>>24&255,e[24]=C>>>0&255,e[25]=C>>>8&255,e[26]=C>>>16&255,e[27]=C>>>24&255,e[28]=P>>>0&255,e[29]=P>>>8&255,e[30]=P>>>16&255,e[31]=P>>>24&255}function l(e,t,i,n){o(e,t,i,n)}function f(e,t,i,n){a(e,t,i,n)}function h(e,t,i,n,r,s,o){var a,f,h=new Uint8Array(16),u=new Uint8Array(64);for(f=0;f<16;f++)h[f]=0;for(f=0;f<8;f++)h[f]=s[f];for(;r>=64;){for(l(u,h,o,ce),f=0;f<64;f++)e[t+f]=i[n+f]^u[f];for(a=1,f=8;f<16;f++)a=a+(255&h[f])|0,h[f]=255&a,a>>>=8;r-=64,t+=64,n+=64}if(r>0)for(l(u,h,o,ce),f=0;f<r;f++)e[t+f]=i[n+f]^u[f];return 0}function u(e,t,i,n,r){var s,o,a=new Uint8Array(16),f=new Uint8Array(64);for(o=0;o<16;o++)a[o]=0;for(o=0;o<8;o++)a[o]=n[o];for(;i>=64;){for(l(f,a,r,ce),o=0;o<64;o++)e[t+o]=f[o];for(s=1,o=8;o<16;o++)s=s+(255&a[o])|0,a[o]=255&s,s>>>=8;i-=64,t+=64}if(i>0)for(l(f,a,r,ce),o=0;o<i;o++)e[t+o]=f[o];return 0}function c(e,t,i,n,r){var s=new Uint8Array(32);f(s,n,r,ce);for(var o=new Uint8Array(8),a=0;a<8;a++)o[a]=n[a+16];return u(e,t,i,o,s)}function d(e,t,i,n,r,s,o){var a=new Uint8Array(32);f(a,s,o,ce);for(var l=new Uint8Array(8),u=0;u<8;u++)l[u]=s[u+16];return h(e,t,i,n,r,l,a)}function p(e,t,i,n,r,s){var o=new de(s);return o.update(i,n,r),o.finish(e,t),0}function b(e,t,i,n,s,o){var a=new Uint8Array(16);return p(a,0,i,n,s,o),r(e,t,a,0)}function w(e,t,i,n,r){var s;if(i<32)return-1;for(d(e,0,t,0,i,n,r),p(e,16,e,32,i-32,e),s=0;s<16;s++)e[s]=0;return 0}function m(e,t,i,n,r){var s,o=new Uint8Array(32);if(i<32)return-1;if(c(o,0,32,n,r),0!==b(t,16,t,32,i-32,o))return-1;for(d(e,0,t,0,i,n,r),s=0;s<32;s++)e[s]=0;return 0}function g(e,t){var i;for(i=0;i<16;i++)e[i]=0|t[i]}function _(e){var t,i,n=1;for(t=0;t<16;t++)i=e[t]+n+65535,n=Math.floor(i/65536),e[t]=i-65536*n;e[0]+=n-1+37*(n-1)}function v(e,t,i){for(var n,r=~(i-1),s=0;s<16;s++)n=r&(e[s]^t[s]),e[s]^=n,t[s]^=n}function k(e,t){var i,n,r,s=ee(),o=ee();for(i=0;i<16;i++)o[i]=t[i];for(_(o),_(o),_(o),n=0;n<2;n++){for(s[0]=o[0]-65517,i=1;i<15;i++)s[i]=o[i]-65535-(s[i-1]>>16&1),s[i-1]&=65535;s[15]=o[15]-32767-(s[14]>>16&1),r=s[15]>>16&1,s[14]&=65535,v(o,s,1-r)}for(i=0;i<16;i++)e[2*i]=255&o[i],e[2*i+1]=o[i]>>8}function y(e,t){var i=new Uint8Array(32),n=new Uint8Array(32);return k(i,e),k(n,t),s(i,0,n,0)}function E(e){var t=new Uint8Array(32);return k(t,e),1&t[0]}function A(e,t){var i;for(i=0;i<16;i++)e[i]=t[2*i]+(t[2*i+1]<<8);e[15]&=32767}function T(e,t,i){for(var n=0;n<16;n++)e[n]=t[n]+i[n]}function S(e,t,i){for(var n=0;n<16;n++)e[n]=t[n]-i[n]}function M(e,t,i){var n,r,s=0,o=0,a=0,l=0,f=0,h=0,u=0,c=0,d=0,p=0,b=0,w=0,m=0,g=0,_=0,v=0,k=0,y=0,E=0,A=0,T=0,S=0,M=0,R=0,C=0,P=0,x=0,I=0,O=0,N=0,D=0,L=i[0],U=i[1],B=i[2],j=i[3],F=i[4],G=i[5],H=i[6],z=i[7],q=i[8],W=i[9],V=i[10],Y=i[11],Z=i[12],$=i[13],K=i[14],X=i[15];n=t[0],s+=n*L,o+=n*U,a+=n*B,l+=n*j,f+=n*F,h+=n*G,u+=n*H,c+=n*z,d+=n*q,p+=n*W,b+=n*V,w+=n*Y,m+=n*Z,g+=n*$,_+=n*K,v+=n*X,n=t[1],o+=n*L,a+=n*U,l+=n*B,f+=n*j,h+=n*F,u+=n*G,c+=n*H,d+=n*z,p+=n*q,b+=n*W,w+=n*V,m+=n*Y,g+=n*Z,_+=n*$,v+=n*K,k+=n*X,n=t[2],a+=n*L,l+=n*U,f+=n*B,h+=n*j,u+=n*F,c+=n*G,d+=n*H,p+=n*z,b+=n*q,w+=n*W,m+=n*V,g+=n*Y,_+=n*Z,v+=n*$,k+=n*K,y+=n*X,n=t[3],l+=n*L,f+=n*U,h+=n*B,u+=n*j,c+=n*F,d+=n*G,p+=n*H,b+=n*z,w+=n*q,m+=n*W,g+=n*V,_+=n*Y,v+=n*Z,k+=n*$,y+=n*K,E+=n*X,n=t[4],f+=n*L,h+=n*U,u+=n*B,c+=n*j,d+=n*F,p+=n*G,b+=n*H,w+=n*z,m+=n*q,g+=n*W,_+=n*V,v+=n*Y,k+=n*Z,y+=n*$,E+=n*K,A+=n*X,n=t[5],h+=n*L,u+=n*U,c+=n*B,d+=n*j,p+=n*F,b+=n*G,w+=n*H,m+=n*z,g+=n*q,_+=n*W,v+=n*V,k+=n*Y,y+=n*Z,E+=n*$,A+=n*K,T+=n*X,n=t[6],u+=n*L,c+=n*U,d+=n*B,p+=n*j,b+=n*F,w+=n*G,m+=n*H,g+=n*z,_+=n*q,v+=n*W,k+=n*V,y+=n*Y,E+=n*Z,A+=n*$,T+=n*K,S+=n*X,n=t[7],c+=n*L,d+=n*U,p+=n*B,b+=n*j,w+=n*F,m+=n*G,g+=n*H,_+=n*z,v+=n*q,k+=n*W,y+=n*V,E+=n*Y,A+=n*Z,T+=n*$,S+=n*K,M+=n*X,n=t[8],d+=n*L,p+=n*U,b+=n*B,w+=n*j,m+=n*F,g+=n*G,_+=n*H,v+=n*z,k+=n*q,y+=n*W,E+=n*V,A+=n*Y,T+=n*Z,S+=n*$,M+=n*K,R+=n*X,n=t[9],p+=n*L,b+=n*U,w+=n*B,m+=n*j,g+=n*F,_+=n*G,v+=n*H,k+=n*z,y+=n*q,E+=n*W,A+=n*V,T+=n*Y,S+=n*Z,M+=n*$,R+=n*K,C+=n*X,n=t[10],b+=n*L,w+=n*U,m+=n*B,g+=n*j,_+=n*F,v+=n*G,k+=n*H,y+=n*z,E+=n*q,A+=n*W,T+=n*V,S+=n*Y,M+=n*Z,R+=n*$,C+=n*K,P+=n*X,n=t[11],w+=n*L,m+=n*U,g+=n*B,_+=n*j,v+=n*F,k+=n*G,y+=n*H,E+=n*z,A+=n*q,T+=n*W,S+=n*V,M+=n*Y;R+=n*Z;C+=n*$,P+=n*K,x+=n*X,n=t[12],m+=n*L,g+=n*U,_+=n*B,v+=n*j,k+=n*F,y+=n*G,E+=n*H,A+=n*z,T+=n*q,S+=n*W,M+=n*V,R+=n*Y,C+=n*Z,P+=n*$,x+=n*K,I+=n*X,n=t[13],g+=n*L,_+=n*U,v+=n*B,k+=n*j,y+=n*F,E+=n*G,A+=n*H,T+=n*z,S+=n*q,M+=n*W,R+=n*V,C+=n*Y,P+=n*Z,x+=n*$,I+=n*K,O+=n*X,n=t[14],_+=n*L,v+=n*U,k+=n*B,y+=n*j,E+=n*F,A+=n*G,T+=n*H,S+=n*z,M+=n*q,R+=n*W,C+=n*V,P+=n*Y,x+=n*Z,I+=n*$,O+=n*K,N+=n*X,n=t[15],v+=n*L,k+=n*U,y+=n*B,E+=n*j,A+=n*F,T+=n*G,S+=n*H,M+=n*z,R+=n*q,C+=n*W,P+=n*V,x+=n*Y,I+=n*Z,O+=n*$,N+=n*K,D+=n*X,s+=38*k,o+=38*y,a+=38*E,l+=38*A,f+=38*T,h+=38*S,u+=38*M,c+=38*R,d+=38*C,p+=38*P,b+=38*x,w+=38*I,m+=38*O,g+=38*N,_+=38*D,r=1,n=s+r+65535,r=Math.floor(n/65536),s=n-65536*r,n=o+r+65535,r=Math.floor(n/65536),o=n-65536*r,n=a+r+65535,r=Math.floor(n/65536),a=n-65536*r,n=l+r+65535,r=Math.floor(n/65536),l=n-65536*r,n=f+r+65535,r=Math.floor(n/65536),f=n-65536*r,n=h+r+65535,r=Math.floor(n/65536),h=n-65536*r,n=u+r+65535,r=Math.floor(n/65536),u=n-65536*r,n=c+r+65535,r=Math.floor(n/65536),c=n-65536*r,n=d+r+65535,r=Math.floor(n/65536),d=n-65536*r,n=p+r+65535,r=Math.floor(n/65536),p=n-65536*r,n=b+r+65535,r=Math.floor(n/65536),b=n-65536*r,n=w+r+65535,r=Math.floor(n/65536),w=n-65536*r,n=m+r+65535,r=Math.floor(n/65536),m=n-65536*r,n=g+r+65535,r=Math.floor(n/65536),g=n-65536*r,n=_+r+65535,r=Math.floor(n/65536),_=n-65536*r,n=v+r+65535,r=Math.floor(n/65536),v=n-65536*r,s+=r-1+37*(r-1),r=1,n=s+r+65535,r=Math.floor(n/65536),s=n-65536*r,n=o+r+65535,r=Math.floor(n/65536),o=n-65536*r,n=a+r+65535,r=Math.floor(n/65536),a=n-65536*r,n=l+r+65535,r=Math.floor(n/65536),l=n-65536*r,n=f+r+65535,r=Math.floor(n/65536),f=n-65536*r,n=h+r+65535,r=Math.floor(n/65536),h=n-65536*r,n=u+r+65535,r=Math.floor(n/65536),u=n-65536*r,n=c+r+65535,r=Math.floor(n/65536),c=n-65536*r,n=d+r+65535,r=Math.floor(n/65536),d=n-65536*r,n=p+r+65535,r=Math.floor(n/65536),p=n-65536*r,n=b+r+65535,r=Math.floor(n/65536),b=n-65536*r,n=w+r+65535,r=Math.floor(n/65536),w=n-65536*r,n=m+r+65535,r=Math.floor(n/65536),m=n-65536*r,n=g+r+65535,r=Math.floor(n/65536),g=n-65536*r,n=_+r+65535,r=Math.floor(n/65536),_=n-65536*r,n=v+r+65535,r=Math.floor(n/65536),v=n-65536*r,s+=r-1+37*(r-1),e[0]=s,e[1]=o,e[2]=a,e[3]=l,e[4]=f,e[5]=h,e[6]=u,e[7]=c,e[8]=d,e[9]=p,e[10]=b,e[11]=w,e[12]=m,e[13]=g;e[14]=_;e[15]=v}function R(e,t){M(e,t,t)}function C(e,t){var i,n=ee();for(i=0;i<16;i++)n[i]=t[i];for(i=253;i>=0;i--)R(n,n),2!==i&&4!==i&&M(n,n,t);for(i=0;i<16;i++)e[i]=n[i]}function P(e,t){var i,n=ee();for(i=0;i<16;i++)n[i]=t[i];for(i=250;i>=0;i--)R(n,n),1!==i&&M(n,n,t);for(i=0;i<16;i++)e[i]=n[i]}function x(e,t,i){var n,r,s=new Uint8Array(32),o=new Float64Array(80),a=ee(),l=ee(),f=ee(),h=ee(),u=ee(),c=ee();for(r=0;r<31;r++)s[r]=t[r];for(s[31]=127&t[31]|64,s[0]&=248,A(o,i),r=0;r<16;r++)l[r]=o[r],h[r]=a[r]=f[r]=0;for(a[0]=h[0]=1,r=254;r>=0;--r)n=s[r>>>3]>>>(7&r)&1,
v(a,l,n),v(f,h,n),T(u,a,f),S(a,a,f),T(f,l,h),S(l,l,h),R(h,u),R(c,a),M(a,f,a),M(f,l,u),T(u,a,f),S(a,a,f),R(l,a),S(f,h,c),M(a,f,oe),T(a,a,h),M(f,f,a),M(a,h,c),M(h,l,o),R(l,u),v(a,l,n),v(f,h,n);for(r=0;r<16;r++)o[r+16]=a[r],o[r+32]=f[r],o[r+48]=l[r],o[r+64]=h[r];var d=o.subarray(32),p=o.subarray(16);return C(d,d),M(p,p,d),k(e,p),0}function I(e,t){return x(e,t,ne)}function O(e,t){return te(t,32),I(e,t)}function N(e,t,i){var n=new Uint8Array(32);return x(n,i,t),f(e,ie,n,ce)}function D(e,t,i,n,r,s){var o=new Uint8Array(32);return N(o,r,s),pe(e,t,i,n,o)}function L(e,t,i,n,r,s){var o=new Uint8Array(32);return N(o,r,s),be(e,t,i,n,o)}function U(e,t,i,n){for(var r,s,o,a,l,f,h,u,c,d,p,b,w,m,g,_,v,k,y,E,A,T,S,M,R,C,P=new Int32Array(16),x=new Int32Array(16),I=e[0],O=e[1],N=e[2],D=e[3],L=e[4],U=e[5],B=e[6],j=e[7],F=t[0],G=t[1],H=t[2],z=t[3],q=t[4],W=t[5],V=t[6],Y=t[7],Z=0;n>=128;){for(y=0;y<16;y++)E=8*y+Z,P[y]=i[E+0]<<24|i[E+1]<<16|i[E+2]<<8|i[E+3],x[y]=i[E+4]<<24|i[E+5]<<16|i[E+6]<<8|i[E+7];for(y=0;y<80;y++)if(r=I,s=O,o=N,a=D,l=L,f=U,h=B,u=j,c=F,d=G,p=H,b=z,w=q,m=W,g=V,_=Y,A=j,T=Y,S=65535&T,M=T>>>16,R=65535&A,C=A>>>16,A=(L>>>14|q<<18)^(L>>>18|q<<14)^(q>>>9|L<<23),T=(q>>>14|L<<18)^(q>>>18|L<<14)^(L>>>9|q<<23),S+=65535&T,M+=T>>>16,R+=65535&A,C+=A>>>16,A=L&U^~L&B,T=q&W^~q&V,S+=65535&T,M+=T>>>16,R+=65535&A,C+=A>>>16,A=we[2*y],T=we[2*y+1],S+=65535&T,M+=T>>>16,R+=65535&A,C+=A>>>16,A=P[y%16],T=x[y%16],S+=65535&T,M+=T>>>16,R+=65535&A,C+=A>>>16,M+=S>>>16,R+=M>>>16,C+=R>>>16,v=65535&R|C<<16,k=65535&S|M<<16,A=v,T=k,S=65535&T,M=T>>>16,R=65535&A,C=A>>>16,A=(I>>>28|F<<4)^(F>>>2|I<<30)^(F>>>7|I<<25),T=(F>>>28|I<<4)^(I>>>2|F<<30)^(I>>>7|F<<25),S+=65535&T,M+=T>>>16,R+=65535&A,C+=A>>>16,A=I&O^I&N^O&N,T=F&G^F&H^G&H,S+=65535&T,M+=T>>>16,R+=65535&A,C+=A>>>16,M+=S>>>16,R+=M>>>16,C+=R>>>16,u=65535&R|C<<16,_=65535&S|M<<16,A=a,T=b,S=65535&T,M=T>>>16,R=65535&A,C=A>>>16,A=v,T=k,S+=65535&T,M+=T>>>16,R+=65535&A,C+=A>>>16,M+=S>>>16,R+=M>>>16,C+=R>>>16,a=65535&R|C<<16,b=65535&S|M<<16,O=r,N=s,D=o,L=a,U=l,B=f,j=h,I=u,G=c,H=d,z=p,q=b,W=w,V=m,Y=g,F=_,y%16===15)for(E=0;E<16;E++)A=P[E],T=x[E],S=65535&T,M=T>>>16,R=65535&A,C=A>>>16,A=P[(E+9)%16],T=x[(E+9)%16],S+=65535&T,M+=T>>>16,R+=65535&A,C+=A>>>16,v=P[(E+1)%16],k=x[(E+1)%16],A=(v>>>1|k<<31)^(v>>>8|k<<24)^v>>>7,T=(k>>>1|v<<31)^(k>>>8|v<<24)^(k>>>7|v<<25),S+=65535&T,M+=T>>>16,R+=65535&A,C+=A>>>16,v=P[(E+14)%16],k=x[(E+14)%16],A=(v>>>19|k<<13)^(k>>>29|v<<3)^v>>>6,T=(k>>>19|v<<13)^(v>>>29|k<<3)^(k>>>6|v<<26),S+=65535&T,M+=T>>>16,R+=65535&A,C+=A>>>16,M+=S>>>16,R+=M>>>16,C+=R>>>16,P[E]=65535&R|C<<16,x[E]=65535&S|M<<16;A=I,T=F,S=65535&T,M=T>>>16,R=65535&A,C=A>>>16,A=e[0],T=t[0],S+=65535&T,M+=T>>>16,R+=65535&A,C+=A>>>16,M+=S>>>16,R+=M>>>16,C+=R>>>16,e[0]=I=65535&R|C<<16,t[0]=F=65535&S|M<<16,A=O,T=G,S=65535&T,M=T>>>16,R=65535&A,C=A>>>16,A=e[1],T=t[1],S+=65535&T,M+=T>>>16,R+=65535&A,C+=A>>>16,M+=S>>>16,R+=M>>>16,C+=R>>>16,e[1]=O=65535&R|C<<16,t[1]=G=65535&S|M<<16,A=N,T=H,S=65535&T,M=T>>>16,R=65535&A,C=A>>>16,A=e[2],T=t[2],S+=65535&T,M+=T>>>16,R+=65535&A,C+=A>>>16,M+=S>>>16,R+=M>>>16,C+=R>>>16,e[2]=N=65535&R|C<<16,t[2]=H=65535&S|M<<16,A=D,T=z,S=65535&T,M=T>>>16,R=65535&A,C=A>>>16,A=e[3],T=t[3],S+=65535&T,M+=T>>>16,R+=65535&A,C+=A>>>16,M+=S>>>16,R+=M>>>16,C+=R>>>16,e[3]=D=65535&R|C<<16,t[3]=z=65535&S|M<<16,A=L,T=q,S=65535&T,M=T>>>16,R=65535&A,C=A>>>16,A=e[4],T=t[4],S+=65535&T,M+=T>>>16,R+=65535&A,C+=A>>>16,M+=S>>>16,R+=M>>>16,C+=R>>>16,e[4]=L=65535&R|C<<16,t[4]=q=65535&S|M<<16,A=U,T=W,S=65535&T,M=T>>>16,R=65535&A,C=A>>>16,A=e[5],T=t[5],S+=65535&T,M+=T>>>16,R+=65535&A,C+=A>>>16,M+=S>>>16,R+=M>>>16,C+=R>>>16,e[5]=U=65535&R|C<<16,t[5]=W=65535&S|M<<16,A=B,T=V,S=65535&T,M=T>>>16,R=65535&A,C=A>>>16,A=e[6],T=t[6],S+=65535&T,M+=T>>>16,R+=65535&A,C+=A>>>16,M+=S>>>16,R+=M>>>16,C+=R>>>16,e[6]=B=65535&R|C<<16,t[6]=V=65535&S|M<<16,A=j,T=Y,S=65535&T,M=T>>>16,R=65535&A,C=A>>>16,A=e[7],T=t[7],S+=65535&T,M+=T>>>16,R+=65535&A,C+=A>>>16,M+=S>>>16,R+=M>>>16,C+=R>>>16,e[7]=j=65535&R|C<<16,t[7]=Y=65535&S|M<<16,Z+=128,n-=128}return n}function B(e,i,n){var r,s=new Int32Array(8),o=new Int32Array(8),a=new Uint8Array(256),l=n;for(s[0]=1779033703,s[1]=3144134277,s[2]=1013904242,s[3]=2773480762,s[4]=1359893119,s[5]=2600822924,s[6]=528734635,s[7]=1541459225,o[0]=4089235720,o[1]=2227873595,o[2]=4271175723,o[3]=1595750129,o[4]=2917565137,o[5]=725511199,o[6]=4215389547,o[7]=327033209,U(s,o,i,n),n%=128,r=0;r<n;r++)a[r]=i[l-n+r];for(a[n]=128,n=256-128*(n<112?1:0),a[n-9]=0,t(a,n-8,l/536870912|0,l<<3),U(s,o,a,n),r=0;r<8;r++)t(e,8*r,s[r],o[r]);return 0}function j(e,t){var i=ee(),n=ee(),r=ee(),s=ee(),o=ee(),a=ee(),l=ee(),f=ee(),h=ee();S(i,e[1],e[0]),S(h,t[1],t[0]),M(i,i,h),T(n,e[0],e[1]),T(h,t[0],t[1]),M(n,n,h),M(r,e[3],t[3]),M(r,r,le),M(s,e[2],t[2]),T(s,s,s),S(o,n,i),S(a,s,r),T(l,s,r),T(f,n,i),M(e[0],o,a),M(e[1],f,l),M(e[2],l,a),M(e[3],o,f)}function F(e,t,i){var n;for(n=0;n<4;n++)v(e[n],t[n],i)}function G(e,t){var i=ee(),n=ee(),r=ee();C(r,t[2]),M(i,t[0],r),M(n,t[1],r),k(e,n),e[31]^=E(i)<<7}function H(e,t,i){var n,r;for(g(e[0],re),g(e[1],se),g(e[2],se),g(e[3],re),r=255;r>=0;--r)n=i[r/8|0]>>(7&r)&1,F(e,t,n),j(t,e),j(e,e),F(e,t,n)}function z(e,t){var i=[ee(),ee(),ee(),ee()];g(i[0],fe),g(i[1],he),g(i[2],se),M(i[3],fe,he),H(e,i,t)}function q(e,t,i){var n,r=new Uint8Array(64),s=[ee(),ee(),ee(),ee()];for(i||te(t,32),B(r,t,32),r[0]&=248,r[31]&=127,r[31]|=64,z(s,r),G(e,s),n=0;n<32;n++)t[n+32]=e[n];return 0}function W(e,t){var i,n,r,s;for(n=63;n>=32;--n){for(i=0,r=n-32,s=n-12;r<s;++r)t[r]+=i-16*t[n]*me[r-(n-32)],i=t[r]+128>>8,t[r]-=256*i;t[r]+=i,t[n]=0}for(i=0,r=0;r<32;r++)t[r]+=i-(t[31]>>4)*me[r],i=t[r]>>8,t[r]&=255;for(r=0;r<32;r++)t[r]-=i*me[r];for(n=0;n<32;n++)t[n+1]+=t[n]>>8,e[n]=255&t[n]}function V(e){var t,i=new Float64Array(64);for(t=0;t<64;t++)i[t]=e[t];for(t=0;t<64;t++)e[t]=0;W(e,i)}function Y(e,t,i,n){var r,s,o=new Uint8Array(64),a=new Uint8Array(64),l=new Uint8Array(64),f=new Float64Array(64),h=[ee(),ee(),ee(),ee()];B(o,n,32),o[0]&=248,o[31]&=127,o[31]|=64;var u=i+64;for(r=0;r<i;r++)e[64+r]=t[r];for(r=0;r<32;r++)e[32+r]=o[32+r];for(B(l,e.subarray(32),i+32),V(l),z(h,l),G(e,h),r=32;r<64;r++)e[r]=n[r];for(B(a,e,i+64),V(a),r=0;r<64;r++)f[r]=0;for(r=0;r<32;r++)f[r]=l[r];for(r=0;r<32;r++)for(s=0;s<32;s++)f[r+s]+=a[r]*o[s];return W(e.subarray(32),f),u}function Z(e,t){var i=ee(),n=ee(),r=ee(),s=ee(),o=ee(),a=ee(),l=ee();return g(e[2],se),A(e[1],t),R(r,e[1]),M(s,r,ae),S(r,r,e[2]),T(s,e[2],s),R(o,s),R(a,o),M(l,a,o),M(i,l,r),M(i,i,s),P(i,i),M(i,i,r),M(i,i,s),M(i,i,s),M(e[0],i,s),R(n,e[0]),M(n,n,s),y(n,r)&&M(e[0],e[0],ue),R(n,e[0]),M(n,n,s),y(n,r)?-1:(E(e[0])===t[31]>>7&&S(e[0],re,e[0]),M(e[3],e[0],e[1]),0)}function $(e,t,i,n){var r,o,a=new Uint8Array(32),l=new Uint8Array(64),f=[ee(),ee(),ee(),ee()],h=[ee(),ee(),ee(),ee()];if(o=-1,i<64)return-1;if(Z(h,n))return-1;for(r=0;r<i;r++)e[r]=t[r];for(r=0;r<32;r++)e[r+32]=n[r];if(B(l,e,i),V(l),H(f,h,l),z(h,t.subarray(32)),j(f,h),G(a,f),i-=64,s(t,0,a,0)){for(r=0;r<i;r++)e[r]=0;return-1}for(r=0;r<i;r++)e[r]=t[r+64];return o=i}function K(e,t){if(e.length!==ge)throw new Error("bad key size");if(t.length!==_e)throw new Error("bad nonce size")}function X(e,t){if(e.length!==Ae)throw new Error("bad public key size");if(t.length!==Te)throw new Error("bad secret key size")}function J(){var e,t;for(t=0;t<arguments.length;t++)if("[object Uint8Array]"!==(e=Object.prototype.toString.call(arguments[t])))throw new TypeError("unexpected type "+e+", use Uint8Array")}function Q(e){for(var t=0;t<e.length;t++)e[t]=0}var ee=function(e){var t,i=new Float64Array(16);if(e)for(t=0;t<e.length;t++)i[t]=e[t];return i},te=function(){throw new Error("no PRNG")},ie=new Uint8Array(16),ne=new Uint8Array(32);ne[0]=9;var re=ee(),se=ee([1]),oe=ee([56129,1]),ae=ee([30883,4953,19914,30187,55467,16705,2637,112,59544,30585,16505,36039,65139,11119,27886,20995]),le=ee([61785,9906,39828,60374,45398,33411,5274,224,53552,61171,33010,6542,64743,22239,55772,9222]),fe=ee([54554,36645,11616,51542,42930,38181,51040,26924,56412,64982,57905,49316,21502,52590,14035,8553]),he=ee([26200,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214]),ue=ee([41136,18958,6951,50414,58488,44335,6150,12099,55207,15867,153,11085,57099,20417,9344,11139]),ce=new Uint8Array([101,120,112,97,110,100,32,51,50,45,98,121,116,101,32,107]),de=function(e){this.buffer=new Uint8Array(16),this.r=new Uint16Array(10),this.h=new Uint16Array(10),this.pad=new Uint16Array(8),this.leftover=0,this.fin=0;var t,i,n,r,s,o,a,l;t=255&e[0]|(255&e[1])<<8,this.r[0]=8191&t,i=255&e[2]|(255&e[3])<<8,this.r[1]=8191&(t>>>13|i<<3),n=255&e[4]|(255&e[5])<<8,this.r[2]=7939&(i>>>10|n<<6),r=255&e[6]|(255&e[7])<<8,this.r[3]=8191&(n>>>7|r<<9),s=255&e[8]|(255&e[9])<<8,this.r[4]=255&(r>>>4|s<<12),this.r[5]=s>>>1&8190,o=255&e[10]|(255&e[11])<<8,this.r[6]=8191&(s>>>14|o<<2),a=255&e[12]|(255&e[13])<<8,this.r[7]=8065&(o>>>11|a<<5),l=255&e[14]|(255&e[15])<<8,this.r[8]=8191&(a>>>8|l<<8),this.r[9]=l>>>5&127,this.pad[0]=255&e[16]|(255&e[17])<<8,this.pad[1]=255&e[18]|(255&e[19])<<8,this.pad[2]=255&e[20]|(255&e[21])<<8,this.pad[3]=255&e[22]|(255&e[23])<<8,this.pad[4]=255&e[24]|(255&e[25])<<8,this.pad[5]=255&e[26]|(255&e[27])<<8,this.pad[6]=255&e[28]|(255&e[29])<<8,this.pad[7]=255&e[30]|(255&e[31])<<8};de.prototype.blocks=function(e,t,i){for(var n,r,s,o,a,l,f,h,u,c,d,p,b,w,m,g,_,v,k,y=this.fin?0:2048,E=this.h[0],A=this.h[1],T=this.h[2],S=this.h[3],M=this.h[4],R=this.h[5],C=this.h[6],P=this.h[7],x=this.h[8],I=this.h[9],O=this.r[0],N=this.r[1],D=this.r[2],L=this.r[3],U=this.r[4],B=this.r[5],j=this.r[6],F=this.r[7],G=this.r[8],H=this.r[9];i>=16;)n=255&e[t+0]|(255&e[t+1])<<8,E+=8191&n,r=255&e[t+2]|(255&e[t+3])<<8,A+=8191&(n>>>13|r<<3),s=255&e[t+4]|(255&e[t+5])<<8,T+=8191&(r>>>10|s<<6),o=255&e[t+6]|(255&e[t+7])<<8,S+=8191&(s>>>7|o<<9),a=255&e[t+8]|(255&e[t+9])<<8,M+=8191&(o>>>4|a<<12),R+=a>>>1&8191,l=255&e[t+10]|(255&e[t+11])<<8,C+=8191&(a>>>14|l<<2),f=255&e[t+12]|(255&e[t+13])<<8,P+=8191&(l>>>11|f<<5),h=255&e[t+14]|(255&e[t+15])<<8,x+=8191&(f>>>8|h<<8),I+=h>>>5|y,u=0,c=u,c+=E*O,c+=A*(5*H),c+=T*(5*G),c+=S*(5*F),c+=M*(5*j),u=c>>>13,c&=8191,c+=R*(5*B),c+=C*(5*U),c+=P*(5*L),c+=x*(5*D),c+=I*(5*N),u+=c>>>13,c&=8191,d=u,d+=E*N,d+=A*O,d+=T*(5*H),d+=S*(5*G),d+=M*(5*F),u=d>>>13,d&=8191,d+=R*(5*j),d+=C*(5*B),d+=P*(5*U),d+=x*(5*L),d+=I*(5*D),u+=d>>>13,d&=8191,p=u,p+=E*D,p+=A*N,p+=T*O,p+=S*(5*H),p+=M*(5*G),u=p>>>13,p&=8191,p+=R*(5*F),p+=C*(5*j),p+=P*(5*B),p+=x*(5*U),p+=I*(5*L),u+=p>>>13,p&=8191,b=u,b+=E*L,b+=A*D,b+=T*N,b+=S*O,b+=M*(5*H),u=b>>>13,b&=8191,b+=R*(5*G),b+=C*(5*F),b+=P*(5*j),b+=x*(5*B),b+=I*(5*U),u+=b>>>13,b&=8191,w=u,w+=E*U,w+=A*L,w+=T*D,w+=S*N,w+=M*O,u=w>>>13,w&=8191,w+=R*(5*H),w+=C*(5*G),w+=P*(5*F),w+=x*(5*j),w+=I*(5*B),u+=w>>>13,w&=8191,m=u,m+=E*B,m+=A*U,m+=T*L,m+=S*D,m+=M*N,u=m>>>13,m&=8191,m+=R*O,m+=C*(5*H),m+=P*(5*G),m+=x*(5*F),m+=I*(5*j),u+=m>>>13,m&=8191,g=u,g+=E*j,g+=A*B,g+=T*U,g+=S*L,g+=M*D,u=g>>>13,g&=8191,g+=R*N,g+=C*O,g+=P*(5*H),g+=x*(5*G),g+=I*(5*F),u+=g>>>13,g&=8191,_=u,_+=E*F,_+=A*j,_+=T*B,_+=S*U,_+=M*L,u=_>>>13,_&=8191,_+=R*D,_+=C*N,_+=P*O,_+=x*(5*H),_+=I*(5*G),u+=_>>>13,_&=8191,v=u,v+=E*G,v+=A*F,v+=T*j,v+=S*B,v+=M*U,u=v>>>13,v&=8191,v+=R*L,v+=C*D,v+=P*N,v+=x*O,v+=I*(5*H),u+=v>>>13,v&=8191,k=u,k+=E*H,k+=A*G,k+=T*F,k+=S*j,k+=M*B,u=k>>>13,k&=8191,k+=R*U,k+=C*L,k+=P*D,k+=x*N,k+=I*O,u+=k>>>13,k&=8191,u=(u<<2)+u|0,u=u+c|0,c=8191&u,u>>>=13,d+=u,E=c,A=d,T=p,S=b,M=w,R=m,C=g,P=_,x=v,I=k,t+=16,i-=16;this.h[0]=E,this.h[1]=A,this.h[2]=T,this.h[3]=S,this.h[4]=M,this.h[5]=R,this.h[6]=C,this.h[7]=P,this.h[8]=x,this.h[9]=I},de.prototype.finish=function(e,t){var i,n,r,s,o=new Uint16Array(10);if(this.leftover){for(s=this.leftover,this.buffer[s++]=1;s<16;s++)this.buffer[s]=0;this.fin=1,this.blocks(this.buffer,0,16)}for(i=this.h[1]>>>13,this.h[1]&=8191,s=2;s<10;s++)this.h[s]+=i,i=this.h[s]>>>13,this.h[s]&=8191;for(this.h[0]+=5*i,i=this.h[0]>>>13,this.h[0]&=8191,this.h[1]+=i,i=this.h[1]>>>13,this.h[1]&=8191,this.h[2]+=i,o[0]=this.h[0]+5,i=o[0]>>>13,o[0]&=8191,s=1;s<10;s++)o[s]=this.h[s]+i,i=o[s]>>>13,o[s]&=8191;for(o[9]-=8192,n=(1^i)-1,s=0;s<10;s++)o[s]&=n;for(n=~n,s=0;s<10;s++)this.h[s]=this.h[s]&n|o[s];for(this.h[0]=65535&(this.h[0]|this.h[1]<<13),this.h[1]=65535&(this.h[1]>>>3|this.h[2]<<10),this.h[2]=65535&(this.h[2]>>>6|this.h[3]<<7),this.h[3]=65535&(this.h[3]>>>9|this.h[4]<<4),this.h[4]=65535&(this.h[4]>>>12|this.h[5]<<1|this.h[6]<<14),this.h[5]=65535&(this.h[6]>>>2|this.h[7]<<11),this.h[6]=65535&(this.h[7]>>>5|this.h[8]<<8),this.h[7]=65535&(this.h[8]>>>8|this.h[9]<<5),r=this.h[0]+this.pad[0],this.h[0]=65535&r,s=1;s<8;s++)r=(this.h[s]+this.pad[s]|0)+(r>>>16)|0,this.h[s]=65535&r;e[t+0]=this.h[0]>>>0&255,e[t+1]=this.h[0]>>>8&255,e[t+2]=this.h[1]>>>0&255,e[t+3]=this.h[1]>>>8&255,e[t+4]=this.h[2]>>>0&255,e[t+5]=this.h[2]>>>8&255,e[t+6]=this.h[3]>>>0&255,e[t+7]=this.h[3]>>>8&255,e[t+8]=this.h[4]>>>0&255,e[t+9]=this.h[4]>>>8&255,e[t+10]=this.h[5]>>>0&255,e[t+11]=this.h[5]>>>8&255,e[t+12]=this.h[6]>>>0&255,e[t+13]=this.h[6]>>>8&255,e[t+14]=this.h[7]>>>0&255,e[t+15]=this.h[7]>>>8&255},de.prototype.update=function(e,t,i){var n,r;if(this.leftover){for(r=16-this.leftover,r>i&&(r=i),n=0;n<r;n++)this.buffer[this.leftover+n]=e[t+n];if(i-=r,t+=r,this.leftover+=r,this.leftover<16)return;this.blocks(this.buffer,0,16),this.leftover=0}if(i>=16&&(r=i-i%16,this.blocks(e,t,r),t+=r,i-=r),i){for(n=0;n<i;n++)this.buffer[this.leftover+n]=e[t+n];this.leftover+=i}};var pe=w,be=m,we=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591],me=new Float64Array([237,211,245,92,26,99,18,88,214,156,247,162,222,249,222,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16]),ge=32,_e=24,ve=32,ke=16,ye=32,Ee=32,Ae=32,Te=32,Se=32,Me=_e,Re=ve,Ce=ke,Pe=64,xe=32,Ie=64,Oe=32,Ne=64;e.lowlevel={crypto_core_hsalsa20:f,crypto_stream_xor:d,crypto_stream:c,crypto_stream_salsa20_xor:h,crypto_stream_salsa20:u,crypto_onetimeauth:p,crypto_onetimeauth_verify:b,crypto_verify_16:r,crypto_verify_32:s,crypto_secretbox:w,crypto_secretbox_open:m,crypto_scalarmult:x,crypto_scalarmult_base:I,crypto_box_beforenm:N,crypto_box_afternm:pe,crypto_box:D,crypto_box_open:L,crypto_box_keypair:O,crypto_hash:B,crypto_sign:Y,crypto_sign_keypair:q,crypto_sign_open:$,crypto_secretbox_KEYBYTES:ge,crypto_secretbox_NONCEBYTES:_e,crypto_secretbox_ZEROBYTES:ve,crypto_secretbox_BOXZEROBYTES:ke,crypto_scalarmult_BYTES:ye,crypto_scalarmult_SCALARBYTES:Ee,crypto_box_PUBLICKEYBYTES:Ae,crypto_box_SECRETKEYBYTES:Te,crypto_box_BEFORENMBYTES:Se,crypto_box_NONCEBYTES:Me,crypto_box_ZEROBYTES:Re,crypto_box_BOXZEROBYTES:Ce,crypto_sign_BYTES:Pe,crypto_sign_PUBLICKEYBYTES:xe,crypto_sign_SECRETKEYBYTES:Ie,crypto_sign_SEEDBYTES:Oe,crypto_hash_BYTES:Ne},e.util||(e.util={},e.util.decodeUTF8=e.util.encodeUTF8=e.util.encodeBase64=e.util.decodeBase64=function(){throw new Error("nacl.util moved into separate package: https://github.com/dchest/tweetnacl-util-js")}),e.randomBytes=function(e){var t=new Uint8Array(e);return te(t,e),t},e.secretbox=function(e,t,i){J(e,t,i),K(i,t);for(var n=new Uint8Array(ve+e.length),r=new Uint8Array(n.length),s=0;s<e.length;s++)n[s+ve]=e[s];return w(r,n,n.length,t,i),r.subarray(ke)},e.secretbox.open=function(e,t,i){J(e,t,i),K(i,t);for(var n=new Uint8Array(ke+e.length),r=new Uint8Array(n.length),s=0;s<e.length;s++)n[s+ke]=e[s];return!(n.length<32)&&(0===m(r,n,n.length,t,i)&&r.subarray(ve))},e.secretbox.keyLength=ge,e.secretbox.nonceLength=_e,e.secretbox.overheadLength=ke,e.scalarMult=function(e,t){if(J(e,t),e.length!==Ee)throw new Error("bad n size");if(t.length!==ye)throw new Error("bad p size");var i=new Uint8Array(ye);return x(i,e,t),i},e.scalarMult.base=function(e){if(J(e),e.length!==Ee)throw new Error("bad n size");var t=new Uint8Array(ye);return I(t,e),t},e.scalarMult.scalarLength=Ee,e.scalarMult.groupElementLength=ye,e.box=function(t,i,n,r){var s=e.box.before(n,r);return e.secretbox(t,i,s)},e.box.before=function(e,t){J(e,t),X(e,t);var i=new Uint8Array(Se);return N(i,e,t),i},e.box.after=e.secretbox,e.box.open=function(t,i,n,r){var s=e.box.before(n,r);return e.secretbox.open(t,i,s)},e.box.open.after=e.secretbox.open,e.box.keyPair=function(){var e=new Uint8Array(Ae),t=new Uint8Array(Te);return O(e,t),{publicKey:e,secretKey:t}},e.box.keyPair.fromSecretKey=function(e){if(J(e),e.length!==Te)throw new Error("bad secret key size");var t=new Uint8Array(Ae);return I(t,e),{publicKey:t,secretKey:new Uint8Array(e)}},e.box.publicKeyLength=Ae,e.box.secretKeyLength=Te,e.box.sharedKeyLength=Se,e.box.nonceLength=Me,e.box.overheadLength=e.secretbox.overheadLength,e.sign=function(e,t){if(J(e,t),t.length!==Ie)throw new Error("bad secret key size");var i=new Uint8Array(Pe+e.length);return Y(i,e,e.length,t),i},e.sign.open=function(e,t){if(2!==arguments.length)throw new Error("nacl.sign.open accepts 2 arguments; did you mean to use nacl.sign.detached.verify?");if(J(e,t),t.length!==xe)throw new Error("bad public key size");var i=new Uint8Array(e.length),n=$(i,e,e.length,t);if(n<0)return null;for(var r=new Uint8Array(n),s=0;s<r.length;s++)r[s]=i[s];return r},e.sign.detached=function(t,i){for(var n=e.sign(t,i),r=new Uint8Array(Pe),s=0;s<r.length;s++)r[s]=n[s];return r},e.sign.detached.verify=function(e,t,i){if(J(e,t,i),t.length!==Pe)throw new Error("bad signature size");if(i.length!==xe)throw new Error("bad public key size");var n,r=new Uint8Array(Pe+e.length),s=new Uint8Array(Pe+e.length);for(n=0;n<Pe;n++)r[n]=t[n];for(n=0;n<e.length;n++)r[n+Pe]=e[n];return $(s,r,r.length,i)>=0},e.sign.keyPair=function(){var e=new Uint8Array(xe),t=new Uint8Array(Ie);return q(e,t),{publicKey:e,secretKey:t}},e.sign.keyPair.fromSecretKey=function(e){if(J(e),e.length!==Ie)throw new Error("bad secret key size");for(var t=new Uint8Array(xe),i=0;i<t.length;i++)t[i]=e[32+i];return{publicKey:t,secretKey:new Uint8Array(e)}},e.sign.keyPair.fromSeed=function(e){if(J(e),e.length!==Oe)throw new Error("bad seed size");for(var t=new Uint8Array(xe),i=new Uint8Array(Ie),n=0;n<32;n++)i[n]=e[n];return q(t,i,!0),{publicKey:t,secretKey:i}},e.sign.publicKeyLength=xe,e.sign.secretKeyLength=Ie,e.sign.seedLength=Oe,e.sign.signatureLength=Pe,e.hash=function(e){J(e);var t=new Uint8Array(Ne);return B(t,e,e.length),t},e.hash.hashLength=Ne,e.verify=function(e,t){return J(e,t),0!==e.length&&0!==t.length&&(e.length===t.length&&0===n(e,0,t,0,e.length))},e.setPRNG=function(e){te=e},function(){var t="undefined"!=typeof self?self.crypto||self.msCrypto:null;if(t&&t.getRandomValues){var n=65536;e.setPRNG(function(e,i){var r,s=new Uint8Array(i);for(r=0;r<i;r+=n)t.getRandomValues(s.subarray(r,r+Math.min(i-r,n)));for(r=0;r<i;r++)e[r]=s[r];Q(s)})}else t=i(173),t&&t.randomBytes&&e.setPRNG(function(e,i){var n,r=t.randomBytes(i);for(n=0;n<i;n++)e[n]=r[n];Q(r)})}()}("undefined"!=typeof e&&e.exports?e.exports:self.nacl=self.nacl||{})},function(e,t){},function(e,t,i){(function(t){const n=i(3).EventEmitter,r=i(172),s=i(175),o=new t(24);o.fill(0);class a extends n{constructor(e){super(),this.queues=new Map,this.pcmStreams=new Map,this.opusStreams=new Map,this.destroyed=!1,this.voiceConnection=e,this._listener=(e=>{const t=+e.readUInt32BE(8).toString(10),i=this.voiceConnection.ssrcMap.get(t);if(i){if(this.queues.get(t))return this.queues.get(t).push(e),this.queues.get(t).map(e=>this.handlePacket(e,i)),void this.queues.delete(t);this.handlePacket(e,i)}else this.queues.has(t)||this.queues.set(t,[]),this.queues.get(t).push(e)}),this.voiceConnection.sockets.udp.socket.on("message",this._listener)}recreate(){this.destroyed&&(this.voiceConnection.sockets.udp.socket.on("message",this._listener),this.destroyed=!1)}destroy(){this.voiceConnection.sockets.udp.socket.removeListener("message",this._listener);for(const e of this.pcmStreams)e[1]._push(null),this.pcmStreams.delete(e[0]);for(const e of this.opusStreams)e[1]._push(null),this.opusStreams.delete(e[0]);this.destroyed=!0}createOpusStream(e){if(e=this.voiceConnection.voiceManager.client.resolver.resolveUser(e),!e)throw new Error("Couldn't resolve the user to create Opus stream.");if(this.opusStreams.get(e.id))throw new Error("There is already an existing stream for that user.");const t=new s;return this.opusStreams.set(e.id,t),t}createPCMStream(e){if(e=this.voiceConnection.voiceManager.client.resolver.resolveUser(e),!e)throw new Error("Couldn't resolve the user to create PCM stream.");if(this.pcmStreams.get(e.id))throw new Error("There is already an existing stream for that user.");const t=new s;return this.pcmStreams.set(e.id,t),t}handlePacket(e,i){e.copy(o,0,0,12);let n=r.secretbox.open(e.slice(12),o,this.voiceConnection.authentication.secretKey.key);if(!n)return void this.emit("warn","Failed to decrypt voice packet");if(n=new t(n),this.opusStreams.get(i.id)&&this.opusStreams.get(i.id)._push(n),this.emit("opus",i,n),this.listenerCount("pcm")>0||this.pcmStreams.size>0){const e=this.voiceConnection.player.opusEncoder.decode(n);this.pcmStreams.get(i.id)&&this.pcmStreams.get(i.id)._push(e),this.emit("pcm",i,e)}}}e.exports=a}).call(t,i(58).Buffer)},function(e,t,i){const n=i(80).Readable;class r extends n{constructor(){super(),this._packets=[],this.open=!0}_read(){}_push(e){this.open&&this.push(e)}}e.exports=r},function(e,t,i){const n="undefined"!=typeof window,r=n?window.WebSocket:i(67),s=i(3).EventEmitter,o=i(5),a=n?i(177).inflateSync:i(126).inflateSync,l=i(178),f=i(63);class h extends s{constructor(e){super(),this.client=e,this.packetManager=new l(this),this.status=o.Status.IDLE,this.sessionID=null,this.sequence=-1,this.gateway=null,this.normalReady=!1,this.ws=null,this.disabledEvents={};for(const t in e.options.disabledEvents)this.disabledEvents[t]=!0;this.first=!0}_connect(e){this.client.emit("debug",`Connecting to gateway ${e}`),this.normalReady=!1,this.status!==o.Status.RECONNECTING&&(this.status=o.Status.CONNECTING),this.ws=new r(e),n&&(this.ws.binaryType="arraybuffer"),this.ws.onopen=(()=>this.eventOpen()),this.ws.onclose=(e=>this.eventClose(e)),this.ws.onmessage=(e=>this.eventMessage(e)),this.ws.onerror=(e=>this.eventError(e)),this._queue=[],this._remaining=3}connect(e){this.first?(this._connect(e),this.first=!1):this.client.setTimeout(()=>this._connect(e),5500)}send(e,t=false){return t?void this._send(JSON.stringify(e)):(this._queue.push(JSON.stringify(e)),void this.doQueue())}destroy(){this.ws.close(1e3),this._queue=[],this.status=o.Status.IDLE}_send(e){this.ws.readyState===r.OPEN&&(this.emit("send",e),this.ws.send(e))}doQueue(){const e=this._queue[0];if(this.ws.readyState===r.OPEN&&e){if(0===this._remaining)return void this.client.setTimeout(()=>{this.doQueue()},1e3);this._remaining--,this._send(e),this._queue.shift(),this.doQueue(),this.client.setTimeout(()=>this._remaining++,1e3)}}eventOpen(){this.client.emit("debug","Connection to gateway opened"),this.status===o.Status.RECONNECTING?this._sendResume():this._sendNewIdentify()}_sendResume(){if(!this.sessionID)return void this._sendNewIdentify();this.client.emit("debug","Identifying as resumed session");const e={token:this.client.token,session_id:this.sessionID,seq:this.sequence};this.send({op:o.OPCodes.RESUME,d:e})}_sendNewIdentify(){this.reconnecting=!1;const e=this.client.options.ws;e.token=this.client.token,this.client.options.shardCount>0&&(e.shard=[Number(this.client.options.shardId),Number(this.client.options.shardCount)]),this.client.emit("debug","Identifying as new session"),this.send({op:o.OPCodes.IDENTIFY,d:e}),this.sequence=-1}eventClose(e){this.emit("close",e),this.client.clearInterval(this.client.manager.heartbeatInterval),this.reconnecting||this.client.emit(o.Events.DISCONNECT),4004!==e.code&&4010!==e.code&&(this.reconnecting||1e3===e.code||this.tryReconnect())}eventMessage(e){let t=e.data;try{"string"!=typeof t&&(t instanceof ArrayBuffer&&(t=f(t)),t=a(t).toString()),t=JSON.parse(t)}catch(e){return this.eventError(new Error(o.Errors.BAD_WS_MESSAGE))}return this.client.emit("raw",t),t.op===o.OPCodes.HELLO&&this.client.manager.setupKeepAlive(t.d.heartbeat_interval),this.packetManager.handle(t)}eventError(e){this.client.listenerCount("error")>0&&this.client.emit("error",e),this.ws.close()}_emitReady(e=true){this.status=o.Status.READY,this.client.emit(o.Events.READY),this.packetManager.handleQueue(),this.normalReady=e}checkIfReady(){if(this.status!==o.Status.READY&&this.status!==o.Status.NEARLY){let e=0;for(const t of this.client.guilds.keys())e+=this.client.guilds.get(t).available?0:1;if(0===e){if(this.status=o.Status.NEARLY,this.client.options.fetchAllMembers){const e=this.client.guilds.map(e=>e.fetchMembers());return void Promise.all(e).then(()=>this._emitReady(),e=>{this.client.emit(o.Events.WARN,"Error in pre-ready guild member fetching"),this.client.emit(o.Events.ERROR,e),this._emitReady()})}this._emitReady()}}}tryReconnect(){this.status=o.Status.RECONNECTING,this.ws.close(),this.packetManager.handleQueue(),this.client.emit(o.Events.RECONNECTING),this.connect(this.client.ws.gateway)}}e.exports=h},function(e,t,i){(function(e,i){/** @license zlib.js 2012 - imaya [ https://github.com/imaya/zlib.js ] The MIT License */(function(){"use strict";function n(e){throw e}function r(e,t){this.index="number"==typeof t?t:0,this.m=0,this.buffer=e instanceof(L?Uint8Array:Array)?e:new(L?Uint8Array:Array)(32768),2*this.buffer.length<=this.index&&n(Error("invalid index")),this.buffer.length<=this.index&&this.f()}function s(e,t,i){var n,r="number"==typeof t?t:t=0,s="number"==typeof i?i:e.length;for(n=-1,r=7&s;r--;++t)n=n>>>8^q[255&(n^e[t])];for(r=s>>3;r--;t+=8)n=n>>>8^q[255&(n^e[t])],n=n>>>8^q[255&(n^e[t+1])],n=n>>>8^q[255&(n^e[t+2])],n=n>>>8^q[255&(n^e[t+3])],n=n>>>8^q[255&(n^e[t+4])],n=n>>>8^q[255&(n^e[t+5])],n=n>>>8^q[255&(n^e[t+6])],n=n>>>8^q[255&(n^e[t+7])];return(4294967295^n)>>>0}function o(){}function a(e){this.buffer=new(L?Uint16Array:Array)(2*e),this.length=0}function l(e){var t,i,n,r,s,o,a,l,f,h,u=e.length,c=0,d=Number.POSITIVE_INFINITY;for(l=0;l<u;++l)e[l]>c&&(c=e[l]),e[l]<d&&(d=e[l]);for(t=1<<c,i=new(L?Uint32Array:Array)(t),n=1,r=0,s=2;n<=c;){for(l=0;l<u;++l)if(e[l]===n){for(o=0,a=r,f=0;f<n;++f)o=o<<1|1&a,a>>=1;for(h=n<<16|l,f=o;f<t;f+=s)i[f]=h;++r}++n,r<<=1,s<<=1}return[i,c,d]}function f(e,t){this.k=V,this.F=0,this.input=L&&e instanceof Array?new Uint8Array(e):e,this.b=0,t&&(t.lazy&&(this.F=t.lazy),"number"==typeof t.compressionType&&(this.k=t.compressionType),t.outputBuffer&&(this.a=L&&t.outputBuffer instanceof Array?new Uint8Array(t.outputBuffer):t.outputBuffer),"number"==typeof t.outputIndex&&(this.b=t.outputIndex)),this.a||(this.a=new(L?Uint8Array:Array)(32768))}function h(e,t){this.length=e,this.O=t}function u(e,t){function i(e,t){var i,r=e.O,s=[],o=0;i=K[e.length],s[o++]=65535&i,s[o++]=i>>16&255,s[o++]=i>>24;var a;switch(D){case 1===r:a=[0,r-1,0];break;case 2===r:a=[1,r-2,0];break;case 3===r:a=[2,r-3,0];break;case 4===r:a=[3,r-4,0];break;case 6>=r:a=[4,r-5,1];break;case 8>=r:a=[5,r-7,1];break;case 12>=r:a=[6,r-9,2];break;case 16>=r:a=[7,r-13,2];break;case 24>=r:a=[8,r-17,3];break;case 32>=r:a=[9,r-25,3];break;case 48>=r:a=[10,r-33,4];break;case 64>=r:a=[11,r-49,4];break;case 96>=r:a=[12,r-65,5];break;case 128>=r:a=[13,r-97,5];break;case 192>=r:a=[14,r-129,6];break;case 256>=r:a=[15,r-193,6];break;case 384>=r:a=[16,r-257,7];break;case 512>=r:a=[17,r-385,7];break;case 768>=r:a=[18,r-513,8];break;case 1024>=r:a=[19,r-769,8];break;case 1536>=r:a=[20,r-1025,9];break;case 2048>=r:a=[21,r-1537,9];break;case 3072>=r:a=[22,r-2049,10];break;case 4096>=r:a=[23,r-3073,10];break;case 6144>=r:a=[24,r-4097,11];break;case 8192>=r:a=[25,r-6145,11];break;case 12288>=r:a=[26,r-8193,12];break;case 16384>=r:a=[27,r-12289,12];break;case 24576>=r:a=[28,r-16385,13];break;case 32768>=r:a=[29,r-24577,13];break;default:n("invalid distance")}i=a,s[o++]=i[0],s[o++]=i[1],s[o++]=i[2];var l,f;for(l=0,f=s.length;l<f;++l)b[w++]=s[l];g[s[0]]++,_[s[3]]++,m=e.length+t-1,u=null}var r,s,o,a,l,f,h,u,d,p={},b=L?new Uint16Array(2*t.length):[],w=0,m=0,g=new(L?Uint32Array:Array)(286),_=new(L?Uint32Array:Array)(30),v=e.F;if(!L){for(o=0;285>=o;)g[o++]=0;for(o=0;29>=o;)_[o++]=0}for(g[256]=1,r=0,s=t.length;r<s;++r){for(o=l=0,a=3;o<a&&r+o!==s;++o)l=l<<8|t[r+o];if(p[l]===N&&(p[l]=[]),f=p[l],!(0<m--)){for(;0<f.length&&32768<r-f[0];)f.shift();if(r+3>=s){for(u&&i(u,-1),o=0,a=s-r;o<a;++o)d=t[r+o],b[w++]=d,++g[d];break}0<f.length?(h=c(t,r,f),u?u.length<h.length?(d=t[r-1],b[w++]=d,++g[d],i(h,0)):i(u,-1):h.length<v?u=h:i(h,0)):u?i(u,-1):(d=t[r],b[w++]=d,++g[d])}f.push(r)}return b[w++]=256,g[256]++,e.V=g,e.U=_,L?b.subarray(0,w):b}function c(e,t,i){var n,r,s,o,a,l,f=0,u=e.length;o=0,l=i.length;e:for(;o<l;o++){if(n=i[l-o-1],s=3,3<f){for(a=f;3<a;a--)if(e[n+a-1]!==e[t+a-1])continue e;s=f}for(;258>s&&t+s<u&&e[n+s]===e[t+s];)++s;if(s>f&&(r=n,f=s),258===s)break}return new h(f,t-r)}function d(e,t){var i,n,r,s,o,l=e.length,f=new a(572),h=new(L?Uint8Array:Array)(l);if(!L)for(s=0;s<l;s++)h[s]=0;for(s=0;s<l;++s)0<e[s]&&f.push(s,e[s]);if(i=Array(f.length/2),n=new(L?Uint32Array:Array)(f.length/2),1===i.length)return h[f.pop().index]=1,h;for(s=0,o=f.length/2;s<o;++s)i[s]=f.pop(),n[s]=i[s].value;for(r=p(n,n.length,t),s=0,o=i.length;s<o;++s)h[i[s].index]=r[s];return h}function p(e,t,i){function n(e){var i=d[e][p[e]];i===t?(n(e+1),n(e+1)):--u[i],++p[e]}var r,s,o,a,l,f=new(L?Uint16Array:Array)(i),h=new(L?Uint8Array:Array)(i),u=new(L?Uint8Array:Array)(t),c=Array(i),d=Array(i),p=Array(i),b=(1<<i)-t,w=1<<i-1;for(f[i-1]=t,s=0;s<i;++s)b<w?h[s]=0:(h[s]=1,b-=w),b<<=1,f[i-2-s]=(f[i-1-s]/2|0)+t;for(f[0]=h[0],c[0]=Array(f[0]),d[0]=Array(f[0]),s=1;s<i;++s)f[s]>2*f[s-1]+h[s]&&(f[s]=2*f[s-1]+h[s]),c[s]=Array(f[s]),d[s]=Array(f[s]);for(r=0;r<t;++r)u[r]=i;for(o=0;o<f[i-1];++o)c[i-1][o]=e[o],d[i-1][o]=o;for(r=0;r<i;++r)p[r]=0;for(1===h[i-1]&&(--u[0],++p[i-1]),s=i-2;0<=s;--s){for(a=r=0,l=p[s+1],o=0;o<f[s];o++)a=c[s+1][l]+c[s+1][l+1],a>e[r]?(c[s][o]=a,d[s][o]=t,l+=2):(c[s][o]=e[r],d[s][o]=r,++r);p[s]=0,1===h[s]&&n(s)}return u}function b(e){var t,i,n,r,s=new(L?Uint16Array:Array)(e.length),o=[],a=[],l=0;for(t=0,i=e.length;t<i;t++)o[e[t]]=(0|o[e[t]])+1;for(t=1,i=16;t<=i;t++)a[t]=l,l+=0|o[t],l<<=1;for(t=0,i=e.length;t<i;t++)for(l=a[e[t]],a[e[t]]+=1,n=s[t]=0,r=e[t];n<r;n++)s[t]=s[t]<<1|1&l,l>>>=1;return s}function w(e,t){this.input=e,this.b=this.c=0,this.g={},t&&(t.flags&&(this.g=t.flags),"string"==typeof t.filename&&(this.filename=t.filename),"string"==typeof t.comment&&(this.w=t.comment),t.deflateOptions&&(this.l=t.deflateOptions)),this.l||(this.l={})}function m(e,t){switch(this.o=[],this.p=32768,this.e=this.j=this.c=this.s=0,this.input=L?new Uint8Array(e):e,this.u=!1,this.q=ie,this.L=!1,!t&&(t={})||(t.index&&(this.c=t.index),
t.bufferSize&&(this.p=t.bufferSize),t.bufferType&&(this.q=t.bufferType),t.resize&&(this.L=t.resize)),this.q){case te:this.b=32768,this.a=new(L?Uint8Array:Array)(32768+this.p+258);break;case ie:this.b=0,this.a=new(L?Uint8Array:Array)(this.p),this.f=this.T,this.z=this.P,this.r=this.R;break;default:n(Error("invalid inflate mode"))}}function g(e,t){for(var i,r=e.j,s=e.e,o=e.input,a=e.c,l=o.length;s<t;)a>=l&&n(Error("input buffer is broken")),r|=o[a++]<<s,s+=8;return i=r&(1<<t)-1,e.j=r>>>t,e.e=s-t,e.c=a,i}function _(e,t){for(var i,n,r=e.j,s=e.e,o=e.input,a=e.c,l=o.length,f=t[0],h=t[1];s<h&&!(a>=l);)r|=o[a++]<<s,s+=8;return i=f[r&(1<<h)-1],n=i>>>16,e.j=r>>n,e.e=s-n,e.c=a,65535&i}function v(e){function t(e,t,i){var n,r,s,o=this.I;for(s=0;s<e;)switch(n=_(this,t)){case 16:for(r=3+g(this,2);r--;)i[s++]=o;break;case 17:for(r=3+g(this,3);r--;)i[s++]=0;o=0;break;case 18:for(r=11+g(this,7);r--;)i[s++]=0;o=0;break;default:o=i[s++]=n}return this.I=o,i}var i,n,r,s,o=g(e,5)+257,a=g(e,5)+1,f=g(e,4)+4,h=new(L?Uint8Array:Array)(oe.length);for(s=0;s<f;++s)h[oe[s]]=g(e,3);if(!L)for(s=f,f=h.length;s<f;++s)h[oe[s]]=0;i=l(h),n=new(L?Uint8Array:Array)(o),r=new(L?Uint8Array:Array)(a),e.I=0,e.r(l(t.call(e,o,i,n)),l(t.call(e,a,i,r)))}function k(e){this.input=e,this.c=0,this.G=[],this.S=!1}function y(e){if("string"==typeof e){var t,i,n=e.split("");for(t=0,i=n.length;t<i;t++)n[t]=(255&n[t].charCodeAt(0))>>>0;e=n}for(var r,s=1,o=0,a=e.length,l=0;0<a;){r=1024<a?1024:a,a-=r;do s+=e[l++],o+=s;while(--r);s%=65521,o%=65521}return(o<<16|s)>>>0}function E(e,t){var i,r;switch(this.input=e,this.c=0,!t&&(t={})||(t.index&&(this.c=t.index),t.verify&&(this.W=t.verify)),i=e[this.c++],r=e[this.c++],15&i){case ke:this.method=ke;break;default:n(Error("unsupported compression method"))}0!==((i<<8)+r)%31&&n(Error("invalid fcheck flag:"+((i<<8)+r)%31)),32&r&&n(Error("fdict flag is not supported")),this.K=new m(e,{index:this.c,bufferSize:t.bufferSize,bufferType:t.bufferType,resize:t.resize})}function A(e,t){this.input=e,this.a=new(L?Uint8Array:Array)(32768),this.k=ye.t;var i,n={};!t&&(t={})||"number"!=typeof t.compressionType||(this.k=t.compressionType);for(i in t)n[i]=t[i];n.outputBuffer=this.a,this.J=new f(this.input,n)}function T(t,i,n){e.nextTick(function(){var e,r;try{r=S(t,n)}catch(t){e=t}i(e,r)})}function S(e,t){var i;return i=new A(e).h(),t||(t={}),t.H?i:O(i)}function M(t,i,n){e.nextTick(function(){var e,r;try{r=R(t,n)}catch(t){e=t}i(e,r)})}function R(e,t){var i;return e.subarray=e.slice,i=new E(e).i(),t||(t={}),t.noBuffer?i:O(i)}function C(t,i,n){e.nextTick(function(){var e,r;try{r=P(t,n)}catch(t){e=t}i(e,r)})}function P(e,t){var i;return e.subarray=e.slice,i=new w(e).h(),t||(t={}),t.H?i:O(i)}function x(t,i,n){e.nextTick(function(){var e,r;try{r=I(t,n)}catch(t){e=t}i(e,r)})}function I(e,t){var i;return e.subarray=e.slice,i=new k(e).i(),t||(t={}),t.H?i:O(i)}function O(e){var t,n,r=new i(e.length);for(t=0,n=e.length;t<n;++t)r[t]=e[t];return r}var N=void 0,D=!0,L="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Uint32Array&&"undefined"!=typeof DataView;r.prototype.f=function(){var e,t=this.buffer,i=t.length,n=new(L?Uint8Array:Array)(i<<1);if(L)n.set(t);else for(e=0;e<i;++e)n[e]=t[e];return this.buffer=n},r.prototype.d=function(e,t,i){var n,r=this.buffer,s=this.index,o=this.m,a=r[s];if(i&&1<t&&(e=8<t?(H[255&e]<<24|H[e>>>8&255]<<16|H[e>>>16&255]<<8|H[e>>>24&255])>>32-t:H[e]>>8-t),8>t+o)a=a<<t|e,o+=t;else for(n=0;n<t;++n)a=a<<1|e>>t-n-1&1,8===++o&&(o=0,r[s++]=H[a],a=0,s===r.length&&(r=this.f()));r[s]=a,this.buffer=r,this.m=o,this.index=s},r.prototype.finish=function(){var e,t=this.buffer,i=this.index;return 0<this.m&&(t[i]<<=8-this.m,t[i]=H[t[i]],i++),L?e=t.subarray(0,i):(t.length=i,e=t),e};var U,B=new(L?Uint8Array:Array)(256);for(U=0;256>U;++U){for(var j=U,F=j,G=7,j=j>>>1;j;j>>>=1)F<<=1,F|=1&j,--G;B[U]=(F<<G&255)>>>0}var H=B,z=[0,1996959894,3993919788,2567524794,124634137,1886057615,3915621685,2657392035,249268274,2044508324,3772115230,2547177864,162941995,2125561021,3887607047,2428444049,498536548,1789927666,4089016648,2227061214,450548861,1843258603,4107580753,2211677639,325883990,1684777152,4251122042,2321926636,335633487,1661365465,4195302755,2366115317,997073096,1281953886,3579855332,2724688242,1006888145,1258607687,3524101629,2768942443,901097722,1119000684,3686517206,2898065728,853044451,1172266101,3705015759,2882616665,651767980,1373503546,3369554304,3218104598,565507253,1454621731,3485111705,3099436303,671266974,1594198024,3322730930,2970347812,795835527,1483230225,3244367275,3060149565,1994146192,31158534,2563907772,4023717930,1907459465,112637215,2680153253,3904427059,2013776290,251722036,2517215374,3775830040,2137656763,141376813,2439277719,3865271297,1802195444,476864866,2238001368,4066508878,1812370925,453092731,2181625025,4111451223,1706088902,314042704,2344532202,4240017532,1658658271,366619977,2362670323,4224994405,1303535960,984961486,2747007092,3569037538,1256170817,1037604311,2765210733,3554079995,1131014506,879679996,2909243462,3663771856,1141124467,855842277,2852801631,3708648649,1342533948,654459306,3188396048,3373015174,1466479909,544179635,3110523913,3462522015,1591671054,702138776,2966460450,3352799412,1504918807,783551873,3082640443,3233442989,3988292384,2596254646,62317068,1957810842,3939845945,2647816111,81470997,1943803523,3814918930,2489596804,225274430,2053790376,3826175755,2466906013,167816743,2097651377,4027552580,2265490386,503444072,1762050814,4150417245,2154129355,426522225,1852507879,4275313526,2312317920,282753626,1742555852,4189708143,2394877945,397917763,1622183637,3604390888,2714866558,953729732,1340076626,3518719985,2797360999,1068828381,1219638859,3624741850,2936675148,906185462,1090812512,3747672003,2825379669,829329135,1181335161,3412177804,3160834842,628085408,1382605366,3423369109,3138078467,570562233,1426400815,3317316542,2998733608,733239954,1555261956,3268935591,3050360625,752459403,1541320221,2607071920,3965973030,1969922972,40735498,2617837225,3943577151,1913087877,83908371,2512341634,3803740692,2075208622,213261112,2463272603,3855990285,2094854071,198958881,2262029012,4057260610,1759359992,534414190,2176718541,4139329115,1873836001,414664567,2282248934,4279200368,1711684554,285281116,2405801727,4167216745,1634467795,376229701,2685067896,3608007406,1308918612,956543938,2808555105,3495958263,1231636301,1047427035,2932959818,3654703836,1088359270,936918e3,2847714899,3736837829,1202900863,817233897,3183342108,3401237130,1404277552,615818150,3134207493,3453421203,1423857449,601450431,3009837614,3294710456,1567103746,711928724,3020668471,3272380065,1510334235,755167117],q=L?new Uint32Array(z):z;a.prototype.getParent=function(e){return 2*((e-2)/4|0)},a.prototype.push=function(e,t){var i,n,r,s=this.buffer;for(i=this.length,s[this.length++]=t,s[this.length++]=e;0<i&&(n=this.getParent(i),s[i]>s[n]);)r=s[i],s[i]=s[n],s[n]=r,r=s[i+1],s[i+1]=s[n+1],s[n+1]=r,i=n;return this.length},a.prototype.pop=function(){var e,t,i,n,r,s=this.buffer;for(t=s[0],e=s[1],this.length-=2,s[0]=s[this.length],s[1]=s[this.length+1],r=0;(n=2*r+2,!(n>=this.length))&&(n+2<this.length&&s[n+2]>s[n]&&(n+=2),s[n]>s[r]);)i=s[r],s[r]=s[n],s[n]=i,i=s[r+1],s[r+1]=s[n+1],s[n+1]=i,r=n;return{index:e,value:t,length:this.length}};var W,V=2,Y={NONE:0,M:1,t:V,Y:3},Z=[];for(W=0;288>W;W++)switch(D){case 143>=W:Z.push([W+48,8]);break;case 255>=W:Z.push([W-144+400,9]);break;case 279>=W:Z.push([W-256+0,7]);break;case 287>=W:Z.push([W-280+192,8]);break;default:n("invalid literal: "+W)}f.prototype.h=function(){var e,t,i,s,o=this.input;switch(this.k){case 0:for(i=0,s=o.length;i<s;){t=L?o.subarray(i,i+65535):o.slice(i,i+65535),i+=t.length;var a=t,l=i===s,f=N,h=N,c=N,p=N,w=N,m=this.a,g=this.b;if(L){for(m=new Uint8Array(this.a.buffer);m.length<=g+a.length+5;)m=new Uint8Array(m.length<<1);m.set(this.a)}if(f=l?1:0,m[g++]=0|f,h=a.length,c=~h+65536&65535,m[g++]=255&h,m[g++]=h>>>8&255,m[g++]=255&c,m[g++]=c>>>8&255,L)m.set(a,g),g+=a.length,m=m.subarray(0,g);else{for(p=0,w=a.length;p<w;++p)m[g++]=a[p];m.length=g}this.b=g,this.a=m}break;case 1:var _=new r(L?new Uint8Array(this.a.buffer):this.a,this.b);_.d(1,1,D),_.d(1,2,D);var v,k,y,E=u(this,o);for(v=0,k=E.length;v<k;v++)if(y=E[v],r.prototype.d.apply(_,Z[y]),256<y)_.d(E[++v],E[++v],D),_.d(E[++v],5),_.d(E[++v],E[++v],D);else if(256===y)break;this.a=_.finish(),this.b=this.a.length;break;case V:var A,T,S,M,R,C,P,x,I,O,U,B,j,F,G,H=new r(L?new Uint8Array(this.a.buffer):this.a,this.b),z=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],q=Array(19);for(A=V,H.d(1,1,D),H.d(A,2,D),T=u(this,o),C=d(this.V,15),P=b(C),x=d(this.U,7),I=b(x),S=286;257<S&&0===C[S-1];S--);for(M=30;1<M&&0===x[M-1];M--);var W,Y,$,K,X,J,Q=S,ee=M,te=new(L?Uint32Array:Array)(Q+ee),ie=new(L?Uint32Array:Array)(316),ne=new(L?Uint8Array:Array)(19);for(W=Y=0;W<Q;W++)te[Y++]=C[W];for(W=0;W<ee;W++)te[Y++]=x[W];if(!L)for(W=0,K=ne.length;W<K;++W)ne[W]=0;for(W=X=0,K=te.length;W<K;W+=Y){for(Y=1;W+Y<K&&te[W+Y]===te[W];++Y);if($=Y,0===te[W])if(3>$)for(;0<$--;)ie[X++]=0,ne[0]++;else for(;0<$;)J=138>$?$:138,J>$-3&&J<$&&(J=$-3),10>=J?(ie[X++]=17,ie[X++]=J-3,ne[17]++):(ie[X++]=18,ie[X++]=J-11,ne[18]++),$-=J;else if(ie[X++]=te[W],ne[te[W]]++,$--,3>$)for(;0<$--;)ie[X++]=te[W],ne[te[W]]++;else for(;0<$;)J=6>$?$:6,J>$-3&&J<$&&(J=$-3),ie[X++]=16,ie[X++]=J-3,ne[16]++,$-=J}for(e=L?ie.subarray(0,X):ie.slice(0,X),O=d(ne,7),F=0;19>F;F++)q[F]=O[z[F]];for(R=19;4<R&&0===q[R-1];R--);for(U=b(O),H.d(S-257,5,D),H.d(M-1,5,D),H.d(R-4,4,D),F=0;F<R;F++)H.d(q[F],3,D);for(F=0,G=e.length;F<G;F++)if(B=e[F],H.d(U[B],O[B],D),16<=B){switch(F++,B){case 16:j=2;break;case 17:j=3;break;case 18:j=7;break;default:n("invalid code: "+B)}H.d(e[F],j,D)}var re,se,oe,ae,le,fe,he,ue,ce=[P,C],de=[I,x];for(le=ce[0],fe=ce[1],he=de[0],ue=de[1],re=0,se=T.length;re<se;++re)if(oe=T[re],H.d(le[oe],fe[oe],D),256<oe)H.d(T[++re],T[++re],D),ae=T[++re],H.d(he[ae],ue[ae],D),H.d(T[++re],T[++re],D);else if(256===oe)break;this.a=H.finish(),this.b=this.a.length;break;default:n("invalid compression type")}return this.a};var $=function(){function e(e){switch(D){case 3===e:return[257,e-3,0];case 4===e:return[258,e-4,0];case 5===e:return[259,e-5,0];case 6===e:return[260,e-6,0];case 7===e:return[261,e-7,0];case 8===e:return[262,e-8,0];case 9===e:return[263,e-9,0];case 10===e:return[264,e-10,0];case 12>=e:return[265,e-11,1];case 14>=e:return[266,e-13,1];case 16>=e:return[267,e-15,1];case 18>=e:return[268,e-17,1];case 22>=e:return[269,e-19,2];case 26>=e:return[270,e-23,2];case 30>=e:return[271,e-27,2];case 34>=e:return[272,e-31,2];case 42>=e:return[273,e-35,3];case 50>=e:return[274,e-43,3];case 58>=e:return[275,e-51,3];case 66>=e:return[276,e-59,3];case 82>=e:return[277,e-67,4];case 98>=e:return[278,e-83,4];case 114>=e:return[279,e-99,4];case 130>=e:return[280,e-115,4];case 162>=e:return[281,e-131,5];case 194>=e:return[282,e-163,5];case 226>=e:return[283,e-195,5];case 257>=e:return[284,e-227,5];case 258===e:return[285,e-258,0];default:n("invalid length: "+e)}}var t,i,r=[];for(t=3;258>=t;t++)i=e(t),r[t]=i[2]<<24|i[1]<<16|i[0];return r}(),K=L?new Uint32Array($):$;w.prototype.h=function(){var e,t,i,n,r,o,a,l,h=new(L?Uint8Array:Array)(32768),u=0,c=this.input,d=this.c,p=this.filename,b=this.w;if(h[u++]=31,h[u++]=139,h[u++]=8,e=0,this.g.fname&&(e|=Q),this.g.fcomment&&(e|=ee),this.g.fhcrc&&(e|=J),h[u++]=e,t=(Date.now?Date.now():+new Date)/1e3|0,h[u++]=255&t,h[u++]=t>>>8&255,h[u++]=t>>>16&255,h[u++]=t>>>24&255,h[u++]=0,h[u++]=X,this.g.fname!==N){for(a=0,l=p.length;a<l;++a)o=p.charCodeAt(a),255<o&&(h[u++]=o>>>8&255),h[u++]=255&o;h[u++]=0}if(this.g.comment){for(a=0,l=b.length;a<l;++a)o=b.charCodeAt(a),255<o&&(h[u++]=o>>>8&255),h[u++]=255&o;h[u++]=0}return this.g.fhcrc&&(i=65535&s(h,0,u),h[u++]=255&i,h[u++]=i>>>8&255),this.l.outputBuffer=h,this.l.outputIndex=u,r=new f(c,this.l),h=r.h(),u=r.b,L&&(u+8>h.buffer.byteLength?(this.a=new Uint8Array(u+8),this.a.set(new Uint8Array(h.buffer)),h=this.a):h=new Uint8Array(h.buffer)),n=s(c,N,N),h[u++]=255&n,h[u++]=n>>>8&255,h[u++]=n>>>16&255,h[u++]=n>>>24&255,l=c.length,h[u++]=255&l,h[u++]=l>>>8&255,h[u++]=l>>>16&255,h[u++]=l>>>24&255,this.c=d,L&&u<h.length&&(this.a=h=h.subarray(0,u)),h};var X=255,J=2,Q=8,ee=16,te=0,ie=1;m.prototype.i=function(){for(;!this.u;){var e=g(this,3);switch(1&e&&(this.u=D),e>>>=1){case 0:var t=this.input,i=this.c,r=this.a,s=this.b,o=t.length,a=N,l=N,f=r.length,h=N;switch(this.e=this.j=0,i+1>=o&&n(Error("invalid uncompressed block header: LEN")),a=t[i++]|t[i++]<<8,i+1>=o&&n(Error("invalid uncompressed block header: NLEN")),l=t[i++]|t[i++]<<8,a===~l&&n(Error("invalid uncompressed block header: length verify")),i+a>t.length&&n(Error("input buffer is broken")),this.q){case te:for(;s+a>r.length;){if(h=f-s,a-=h,L)r.set(t.subarray(i,i+h),s),s+=h,i+=h;else for(;h--;)r[s++]=t[i++];this.b=s,r=this.f(),s=this.b}break;case ie:for(;s+a>r.length;)r=this.f({B:2});break;default:n(Error("invalid inflate mode"))}if(L)r.set(t.subarray(i,i+a),s),s+=a,i+=a;else for(;a--;)r[s++]=t[i++];this.c=i,this.b=s,this.a=r;break;case 1:this.r(ge,ve);break;case 2:v(this);break;default:n(Error("unknown BTYPE: "+e))}}return this.z()};var ne,re,se=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],oe=L?new Uint16Array(se):se,ae=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,258,258],le=L?new Uint16Array(ae):ae,fe=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0],he=L?new Uint8Array(fe):fe,ue=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577],ce=L?new Uint16Array(ue):ue,de=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],pe=L?new Uint8Array(de):de,be=new(L?Uint8Array:Array)(288);for(ne=0,re=be.length;ne<re;++ne)be[ne]=143>=ne?8:255>=ne?9:279>=ne?7:8;var we,me,ge=l(be),_e=new(L?Uint8Array:Array)(30);for(we=0,me=_e.length;we<me;++we)_e[we]=5;var ve=l(_e);m.prototype.r=function(e,t){var i=this.a,n=this.b;this.A=e;for(var r,s,o,a,l=i.length-258;256!==(r=_(this,e));)if(256>r)n>=l&&(this.b=n,i=this.f(),n=this.b),i[n++]=r;else for(s=r-257,a=le[s],0<he[s]&&(a+=g(this,he[s])),r=_(this,t),o=ce[r],0<pe[r]&&(o+=g(this,pe[r])),n>=l&&(this.b=n,i=this.f(),n=this.b);a--;)i[n]=i[n++-o];for(;8<=this.e;)this.e-=8,this.c--;this.b=n},m.prototype.R=function(e,t){var i=this.a,n=this.b;this.A=e;for(var r,s,o,a,l=i.length;256!==(r=_(this,e));)if(256>r)n>=l&&(i=this.f(),l=i.length),i[n++]=r;else for(s=r-257,a=le[s],0<he[s]&&(a+=g(this,he[s])),r=_(this,t),o=ce[r],0<pe[r]&&(o+=g(this,pe[r])),n+a>l&&(i=this.f(),l=i.length);a--;)i[n]=i[n++-o];for(;8<=this.e;)this.e-=8,this.c--;this.b=n},m.prototype.f=function(){var e,t,i=new(L?Uint8Array:Array)(this.b-32768),n=this.b-32768,r=this.a;if(L)i.set(r.subarray(32768,i.length));else for(e=0,t=i.length;e<t;++e)i[e]=r[e+32768];if(this.o.push(i),this.s+=i.length,L)r.set(r.subarray(n,n+32768));else for(e=0;32768>e;++e)r[e]=r[n+e];return this.b=32768,r},m.prototype.T=function(e){var t,i,n,r,s=this.input.length/this.c+1|0,o=this.input,a=this.a;return e&&("number"==typeof e.B&&(s=e.B),"number"==typeof e.N&&(s+=e.N)),2>s?(i=(o.length-this.c)/this.A[2],r=258*(i/2)|0,n=r<a.length?a.length+r:a.length<<1):n=a.length*s,L?(t=new Uint8Array(n),t.set(a)):t=a,this.a=t},m.prototype.z=function(){var e,t,i,n,r,s=0,o=this.a,a=this.o,l=new(L?Uint8Array:Array)(this.s+(this.b-32768));if(0===a.length)return L?this.a.subarray(32768,this.b):this.a.slice(32768,this.b);for(t=0,i=a.length;t<i;++t)for(e=a[t],n=0,r=e.length;n<r;++n)l[s++]=e[n];for(t=32768,i=this.b;t<i;++t)l[s++]=o[t];return this.o=[],this.buffer=l},m.prototype.P=function(){var e,t=this.b;return L?this.L?(e=new Uint8Array(t),e.set(this.a.subarray(0,t))):e=this.a.subarray(0,t):(this.a.length>t&&(this.a.length=t),e=this.a),this.buffer=e},k.prototype.i=function(){for(var e=this.input.length;this.c<e;){var t=new o,i=N,r=N,a=N,l=N,f=N,h=N,u=N,c=N,d=N,p=this.input,b=this.c;switch(t.C=p[b++],t.D=p[b++],(31!==t.C||139!==t.D)&&n(Error("invalid file signature:"+t.C+","+t.D)),t.v=p[b++],t.v){case 8:break;default:n(Error("unknown compression method: "+t.v))}if(t.n=p[b++],c=p[b++]|p[b++]<<8|p[b++]<<16|p[b++]<<24,t.aa=new Date(1e3*c),t.ca=p[b++],t.ba=p[b++],0<(4&t.n)&&(t.X=p[b++]|p[b++]<<8,b+=t.X),0<(t.n&Q)){for(u=[],h=0;0<(f=p[b++]);)u[h++]=String.fromCharCode(f);t.name=u.join("")}if(0<(t.n&ee)){for(u=[],h=0;0<(f=p[b++]);)u[h++]=String.fromCharCode(f);t.w=u.join("")}0<(t.n&J)&&(t.Q=65535&s(p,0,b),t.Q!==(p[b++]|p[b++]<<8)&&n(Error("invalid header crc16"))),i=p[p.length-4]|p[p.length-3]<<8|p[p.length-2]<<16|p[p.length-1]<<24,p.length-b-4-4<512*i&&(l=i),r=new m(p,{index:b,bufferSize:l}),t.data=a=r.i(),b=r.c,t.Z=d=(p[b++]|p[b++]<<8|p[b++]<<16|p[b++]<<24)>>>0,s(a,N,N)!==d&&n(Error("invalid CRC-32 checksum: 0x"+s(a,N,N).toString(16)+" / 0x"+d.toString(16))),t.$=i=(p[b++]|p[b++]<<8|p[b++]<<16|p[b++]<<24)>>>0,(4294967295&a.length)!==i&&n(Error("invalid input size: "+(4294967295&a.length)+" / "+i)),this.G.push(t),this.c=b}this.S=D;var w,g,_,v=this.G,k=0,y=0;for(w=0,g=v.length;w<g;++w)y+=v[w].data.length;if(L)for(_=new Uint8Array(y),w=0;w<g;++w)_.set(v[w].data,k),k+=v[w].data.length;else{for(_=[],w=0;w<g;++w)_[w]=v[w].data;_=Array.prototype.concat.apply([],_)}return _},E.prototype.i=function(){var e,t,i=this.input;return e=this.K.i(),this.c=this.K.c,this.W&&(t=(i[this.c++]<<24|i[this.c++]<<16|i[this.c++]<<8|i[this.c++])>>>0,t!==y(e)&&n(Error("invalid adler-32 checksum"))),e};var ke=8,ye=Y;A.prototype.h=function(){var e,t,i,r,s,o,a,l=0;switch(a=this.a,e=ke){case ke:t=Math.LOG2E*Math.log(32768)-8;break;default:n(Error("invalid compression method"))}switch(i=t<<4|e,a[l++]=i,e){case ke:switch(this.k){case ye.NONE:s=0;break;case ye.M:s=1;break;case ye.t:s=2;break;default:n(Error("unsupported compression type"))}break;default:n(Error("invalid compression method"))}return r=s<<6|0,a[l++]=r|31-(256*i+r)%31,o=y(this.input),this.J.b=l,a=this.J.h(),l=a.length,L&&(a=new Uint8Array(a.buffer),a.length<=l+4&&(this.a=new Uint8Array(a.length+4),this.a.set(a),a=this.a),a=a.subarray(0,l+4)),a[l++]=o>>24&255,a[l++]=o>>16&255,a[l++]=o>>8&255,a[l++]=255&o,a},t.deflate=T,t.deflateSync=S,t.inflate=M,t.inflateSync=R,t.gzip=C,t.gzipSync=P,t.gunzip=x,t.gunzipSync=I}).call(this)}).call(t,i(2),i(58).Buffer)},function(e,t,i){const n=i(5),r=[n.WSEvents.READY,n.WSEvents.GUILD_CREATE,n.WSEvents.GUILD_DELETE,n.WSEvents.GUILD_MEMBERS_CHUNK,n.WSEvents.GUILD_MEMBER_ADD,n.WSEvents.GUILD_MEMBER_REMOVE];class s{constructor(e){this.ws=e,this.handlers={},this.queue=[],this.register(n.WSEvents.READY,"Ready"),this.register(n.WSEvents.GUILD_CREATE,"GuildCreate"),this.register(n.WSEvents.GUILD_DELETE,"GuildDelete"),this.register(n.WSEvents.GUILD_UPDATE,"GuildUpdate"),this.register(n.WSEvents.GUILD_BAN_ADD,"GuildBanAdd"),this.register(n.WSEvents.GUILD_BAN_REMOVE,"GuildBanRemove"),this.register(n.WSEvents.GUILD_MEMBER_ADD,"GuildMemberAdd"),this.register(n.WSEvents.GUILD_MEMBER_REMOVE,"GuildMemberRemove"),this.register(n.WSEvents.GUILD_MEMBER_UPDATE,"GuildMemberUpdate"),this.register(n.WSEvents.GUILD_ROLE_CREATE,"GuildRoleCreate"),this.register(n.WSEvents.GUILD_ROLE_DELETE,"GuildRoleDelete"),this.register(n.WSEvents.GUILD_ROLE_UPDATE,"GuildRoleUpdate"),this.register(n.WSEvents.GUILD_MEMBERS_CHUNK,"GuildMembersChunk"),this.register(n.WSEvents.CHANNEL_CREATE,"ChannelCreate"),this.register(n.WSEvents.CHANNEL_DELETE,"ChannelDelete"),this.register(n.WSEvents.CHANNEL_UPDATE,"ChannelUpdate"),this.register(n.WSEvents.PRESENCE_UPDATE,"PresenceUpdate"),this.register(n.WSEvents.USER_UPDATE,"UserUpdate"),this.register(n.WSEvents.USER_NOTE_UPDATE,"UserNoteUpdate"),this.register(n.WSEvents.VOICE_STATE_UPDATE,"VoiceStateUpdate"),this.register(n.WSEvents.TYPING_START,"TypingStart"),this.register(n.WSEvents.MESSAGE_CREATE,"MessageCreate"),this.register(n.WSEvents.MESSAGE_DELETE,"MessageDelete"),this.register(n.WSEvents.MESSAGE_UPDATE,"MessageUpdate"),this.register(n.WSEvents.VOICE_SERVER_UPDATE,"VoiceServerUpdate"),this.register(n.WSEvents.MESSAGE_DELETE_BULK,"MessageDeleteBulk"),this.register(n.WSEvents.CHANNEL_PINS_UPDATE,"ChannelPinsUpdate"),this.register(n.WSEvents.GUILD_SYNC,"GuildSync"),this.register(n.WSEvents.RELATIONSHIP_ADD,"RelationshipAdd"),this.register(n.WSEvents.RELATIONSHIP_REMOVE,"RelationshipRemove"),this.register(n.WSEvents.MESSAGE_REACTION_ADD,"MessageReactionAdd"),this.register(n.WSEvents.MESSAGE_REACTION_REMOVE,"MessageReactionRemove"),this.register(n.WSEvents.MESSAGE_REACTION_REMOVE_ALL,"MessageReactionRemoveAll")}get client(){return this.ws.client}register(e,t){const n=i(179)(`./handlers/${t}`);this.handlers[e]=new n(this)}handleQueue(){this.queue.forEach((e,t)=>{this.handle(this.queue[t]),this.queue.splice(t,1)})}setSequence(e){e&&e>this.ws.sequence&&(this.ws.sequence=e)}handle(e){return e.op===n.OPCodes.RECONNECT?(this.setSequence(e.s),this.ws.tryReconnect(),!1):e.op===n.OPCodes.INVALID_SESSION?(this.ws.sessionID=null,this.ws._sendNewIdentify(),!1):(e.op===n.OPCodes.HEARTBEAT_ACK&&this.ws.client.emit("debug","Heartbeat acknowledged"),this.ws.status===n.Status.RECONNECTING&&(this.ws.reconnecting=!1,this.ws.checkIfReady()),this.setSequence(e.s),void 0===this.ws.disabledEvents[e.t]&&(this.ws.status!==n.Status.READY&&r.indexOf(e.t)===-1?(this.queue.push(e),!1):!!this.handlers[e.t]&&this.handlers[e.t].handle(e)))}}e.exports=s},function(e,t,i){function n(e){return i(r(e))}function r(e){return s[e]||function(){throw new Error("Cannot find module '"+e+"'.")}()}var s={"./WebSocketPacketManager":178,"./WebSocketPacketManager.js":178,"./handlers/AbstractHandler":180,"./handlers/AbstractHandler.js":180,"./handlers/ChannelCreate":181,"./handlers/ChannelCreate.js":181,"./handlers/ChannelDelete":182,"./handlers/ChannelDelete.js":182,"./handlers/ChannelPinsUpdate":183,"./handlers/ChannelPinsUpdate.js":183,"./handlers/ChannelUpdate":184,"./handlers/ChannelUpdate.js":184,"./handlers/GuildBanAdd":185,"./handlers/GuildBanAdd.js":185,"./handlers/GuildBanRemove":186,"./handlers/GuildBanRemove.js":186,"./handlers/GuildCreate":187,"./handlers/GuildCreate.js":187,"./handlers/GuildDelete":188,"./handlers/GuildDelete.js":188,"./handlers/GuildEmojiUpdate":189,"./handlers/GuildEmojiUpdate.js":189,"./handlers/GuildMemberAdd":190,"./handlers/GuildMemberAdd.js":190,"./handlers/GuildMemberRemove":191,"./handlers/GuildMemberRemove.js":191,"./handlers/GuildMemberUpdate":192,"./handlers/GuildMemberUpdate.js":192,"./handlers/GuildMembersChunk":193,"./handlers/GuildMembersChunk.js":193,"./handlers/GuildRoleCreate":194,"./handlers/GuildRoleCreate.js":194,"./handlers/GuildRoleDelete":195,"./handlers/GuildRoleDelete.js":195,"./handlers/GuildRoleUpdate":196,"./handlers/GuildRoleUpdate.js":196,"./handlers/GuildSync":197,"./handlers/GuildSync.js":197,"./handlers/GuildUpdate":198,"./handlers/GuildUpdate.js":198,"./handlers/MessageCreate":199,"./handlers/MessageCreate.js":199,"./handlers/MessageDelete":200,"./handlers/MessageDelete.js":200,"./handlers/MessageDeleteBulk":201,"./handlers/MessageDeleteBulk.js":201,"./handlers/MessageReactionAdd":202,"./handlers/MessageReactionAdd.js":202,"./handlers/MessageReactionRemove":203,"./handlers/MessageReactionRemove.js":203,"./handlers/MessageReactionRemoveAll":204,"./handlers/MessageReactionRemoveAll.js":204,"./handlers/MessageUpdate":205,"./handlers/MessageUpdate.js":205,"./handlers/PresenceUpdate":206,"./handlers/PresenceUpdate.js":206,"./handlers/Ready":207,"./handlers/Ready.js":207,"./handlers/RelationshipAdd":209,"./handlers/RelationshipAdd.js":209,"./handlers/RelationshipRemove":210,"./handlers/RelationshipRemove.js":210,"./handlers/TypingStart":211,"./handlers/TypingStart.js":211,"./handlers/UserNoteUpdate":212,"./handlers/UserNoteUpdate.js":212,"./handlers/UserUpdate":213,"./handlers/UserUpdate.js":213,"./handlers/VoiceServerUpdate":214,"./handlers/VoiceServerUpdate.js":214,"./handlers/VoiceStateUpdate":215,"./handlers/VoiceStateUpdate.js":215};n.keys=function(){return Object.keys(s)},n.resolve=r,e.exports=n,n.id=179},function(e,t){class i{constructor(e){this.packetManager=e}handle(e){return e}}e.exports=i},function(e,t,i){const n=i(180);class r extends n{handle(e){const t=this.packetManager.client,i=e.d;t.actions.ChannelCreate.handle(i)}}e.exports=r},function(e,t,i){const n=i(180),r=i(5);class s extends n{handle(e){const t=this.packetManager.client,i=e.d,n=t.actions.ChannelDelete.handle(i);n.channel&&t.emit(r.Events.CHANNEL_DELETE,n.channel)}}e.exports=s},function(e,t,i){const n=i(180),r=i(5);class s extends n{handle(e){const t=this.packetManager.client,i=e.d,n=t.channels.get(i.channel_id),s=new Date(i.last_pin_timestamp);n&&s&&t.emit(r.Events.CHANNEL_PINS_UPDATE,n,s)}}e.exports=s},function(e,t,i){const n=i(180);class r extends n{handle(e){const t=this.packetManager.client,i=e.d;t.actions.ChannelUpdate.handle(i)}}e.exports=r},function(e,t,i){const n=i(180),r=i(5);class s extends n{handle(e){const t=this.packetManager.client,i=e.d,n=t.guilds.get(i.guild_id),s=t.users.get(i.user.id);n&&s&&t.emit(r.Events.GUILD_BAN_ADD,n,s)}}e.exports=s},function(e,t,i){const n=i(180);class r extends n{handle(e){const t=this.packetManager.client,i=e.d;t.actions.GuildBanRemove.handle(i)}}e.exports=r},function(e,t,i){const n=i(180);class r extends n{handle(e){const t=this.packetManager.client,i=e.d,n=t.guilds.get(i.id);n?n.available||i.unavailable||(n.setup(i),this.packetManager.ws.checkIfReady()):t.dataManager.newGuild(i)}}e.exports=r},function(e,t,i){const n=i(180),r=i(5);class s extends n{handle(e){const t=this.packetManager.client,i=e.d,n=t.actions.GuildDelete.handle(i);n.guild&&t.emit(r.Events.GUILD_DELETE,n.guild)}}e.exports=s},function(e,t,i){const n=i(180);class r extends n{handle(e){const t=this.packetManager.client,i=e.d,n=t.guilds.get(i.guild_id);n&&t.actions.EmojiUpdate.handle(i,n)}}e.exports=r},function(e,t,i){const n=i(180);class r extends n{handle(e){const t=this.packetManager.client,i=e.d,n=t.guilds.get(i.guild_id);n&&(n.memberCount++,n._addMember(i))}}e.exports=r},function(e,t,i){const n=i(180);class r extends n{handle(e){const t=this.packetManager.client,i=e.d;t.actions.GuildMemberRemove.handle(i)}}e.exports=r},function(e,t,i){const n=i(180);class r extends n{handle(e){const t=this.packetManager.client,i=e.d,n=t.guilds.get(i.guild_id);if(n){const e=n.members.get(i.user.id);e&&n._updateMember(e,i)}}}e.exports=r},function(e,t,i){const n=i(180),r=i(5);class s extends n{handle(e){const t=this.packetManager.client,i=e.d,n=t.guilds.get(i.guild_id),s=[];if(n)for(const o of i.members)s.push(n._addMember(o,!1));n._checkChunks(),t.emit(r.Events.GUILD_MEMBERS_CHUNK,s)}}e.exports=s},function(e,t,i){const n=i(180);class r extends n{handle(e){const t=this.packetManager.client,i=e.d;t.actions.GuildRoleCreate.handle(i)}}e.exports=r},function(e,t,i){const n=i(180);class r extends n{handle(e){const t=this.packetManager.client,i=e.d;t.actions.GuildRoleDelete.handle(i)}}e.exports=r},function(e,t,i){const n=i(180);class r extends n{handle(e){const t=this.packetManager.client,i=e.d;t.actions.GuildRoleUpdate.handle(i)}}e.exports=r},function(e,t,i){const n=i(180);class r extends n{handle(e){const t=this.packetManager.client,i=e.d;t.actions.GuildSync.handle(i)}}e.exports=r},function(e,t,i){const n=i(180);class r extends n{handle(e){const t=this.packetManager.client,i=e.d;t.actions.GuildUpdate.handle(i)}}e.exports=r},function(e,t,i){const n=i(180),r=i(5);class s extends n{handle(e){const t=this.packetManager.client,i=e.d,n=t.actions.MessageCreate.handle(i);n.message&&t.emit(r.Events.MESSAGE_CREATE,n.message)}}e.exports=s},function(e,t,i){const n=i(180),r=i(5);class s extends n{handle(e){const t=this.packetManager.client,i=e.d,n=t.actions.MessageDelete.handle(i);n.message&&t.emit(r.Events.MESSAGE_DELETE,n.message)}}e.exports=s},function(e,t,i){const n=i(180);class r extends n{handle(e){const t=this.packetManager.client,i=e.d;t.actions.MessageDeleteBulk.handle(i)}}e.exports=r},function(e,t,i){const n=i(180);class r extends n{handle(e){const t=this.packetManager.client,i=e.d;t.actions.MessageReactionAdd.handle(i)}}e.exports=r},function(e,t,i){const n=i(180);class r extends n{handle(e){const t=this.packetManager.client,i=e.d;t.actions.MessageReactionRemove.handle(i)}}e.exports=r},function(e,t,i){const n=i(180);class r extends n{handle(e){const t=this.packetManager.client,i=e.d;t.actions.MessageReactionRemoveAll.handle(i)}}e.exports=r},function(e,t,i){const n=i(180);class r extends n{handle(e){const t=this.packetManager.client,i=e.d;t.actions.MessageUpdate.handle(i)}}e.exports=r},function(e,t,i){const n=i(180),r=i(5),s=i(46);class o extends n{handle(e){const t=this.packetManager.client,i=e.d;let n=t.users.get(i.user.id);const o=t.guilds.get(i.guild_id);if(!n){if(!i.user.username)return;n=t.dataManager.newUser(i.user)}const a=s(n);if(n.patch(i.user),n.equals(a)||t.emit(r.Events.USER_UPDATE,a,n),o){let e=o.members.get(n.id);if(e||"offline"===i.status||(e=o._addMember({user:n,roles:i.roles,deaf:!1,mute:!1},!1),t.emit(r.Events.GUILD_MEMBER_AVAILABLE,e)),e){const a=s(e);e.presence&&(a.frozenPresence=s(e.presence)),o._setPresence(n.id,i),t.emit(r.Events.PRESENCE_UPDATE,a,e)}else o._setPresence(n.id,i)}}}e.exports=o},function(e,t,i){const n=i(180),r=i(208);class s extends n{handle(e){const t=this.packetManager.client,i=e.d,n=new r(t,i.user);t.user=n,t.readyAt=new Date,t.users.set(n.id,n);for(const s of i.guilds)t.dataManager.newGuild(s);for(const o of i.private_channels)t.dataManager.newChannel(o);for(const a of i.relationships){const e=t.dataManager.newUser(a.user);1===a.type?t.user.friends.set(e.id,e):2===a.type&&t.user.blocked.set(e.id,e)}i.presences=i.presences||[];for(const l of i.presences)t.dataManager.newUser(l.user),t._setPresence(l.user.id,l);if(i.notes)for(const f in i.notes){let e=i.notes[f];e.length||(e=null),t.user.notes.set(f,e)}!t.user.bot&&t.options.sync&&t.setInterval(t.syncGuilds.bind(t),3e4),t.once("ready",t.syncGuilds.bind(t)),t.users.has("1")||t.dataManager.newUser({id:"1",username:"Clyde",discriminator:"0000",avatar:"https://discordapp.com/assets/f78426a064bc9dd24847519259bc42af.png",bot:!0,status:"online",game:null,verified:!0}),t.setTimeout(()=>{t.ws.normalReady||t.ws._emitReady(!1)},1200*i.guilds.length),this.packetManager.ws.sessionID=i.session_id,this.packetManager.ws.checkIfReady()}}e.exports=s},function(e,t,i){const n=i(13),r=i(10);class s extends n{setup(e){super.setup(e),this.verified=e.verified,this.email=e.email,this.localPresence={},this._typing=new Map,this.friends=new r,this.blocked=new r,this.notes=new r}edit(e){return this.client.rest.methods.updateCurrentUser(e)}setUsername(e){return this.client.rest.methods.updateCurrentUser({username:e})}setEmail(e){return this.client.rest.methods.updateCurrentUser({email:e})}setPassword(e){return this.client.rest.methods.updateCurrentUser({password:e})}setAvatar(e){return e.startsWith("data:")?this.client.rest.methods.updateCurrentUser({avatar:e}):this.client.resolver.resolveBuffer(e).then(e=>this.client.rest.methods.updateCurrentUser({avatar:e}))}setStatus(e){return this.setPresence({status:e})}setGame(e,t){return this.setPresence({game:{name:e,url:t}})}setAFK(e){return this.setPresence({afk:e})}addFriend(e){return e=this.client.resolver.resolveUser(e),this.client.rest.methods.addFriend(e)}removeFriend(e){return e=this.client.resolver.resolveUser(e),this.client.rest.methods.removeFriend(e)}createGuild(e,t,i=null){return i?i.startsWith("data:")?this.client.rest.methods.createGuild({name:e,icon:i,region:t}):this.client.resolver.resolveBuffer(i).then(i=>this.client.rest.methods.createGuild({name:e,icon:i,region:t})):this.client.rest.methods.createGuild({name:e,icon:i,region:t})}setPresence(e){return new Promise(t=>{let i=this.localPresence.status||this.presence.status,n=this.localPresence.game,r=this.localPresence.afk||this.presence.afk;if(!n&&this.presence.game&&(n={name:this.presence.game.name,type:this.presence.game.type,url:this.presence.game.url}),e.status){if("string"!=typeof e.status)throw new TypeError("Status must be a string");i=e.status}e.game&&(n=e.game,n.url&&(n.type=1)),"undefined"!=typeof e.afk&&(r=e.afk),
r=Boolean(r),this.localPresence={status:i,game:n,afk:r},this.localPresence.since=0,this.localPresence.game=this.localPresence.game||null,this.client.ws.send({op:3,d:this.localPresence}),this.client._setPresence(this.id,this.localPresence),t(this)})}}e.exports=s},function(e,t,i){const n=i(180);class r extends n{handle(e){const t=this.packetManager.client,i=e.d;1===i.type?t.fetchUser(i.id).then(e=>{t.user.friends.set(e.id,e)}):2===i.type&&t.fetchUser(i.id).then(e=>{t.user.blocked.set(e.id,e)})}}e.exports=r},function(e,t,i){const n=i(180);class r extends n{handle(e){const t=this.packetManager.client,i=e.d;2===i.type?t.user.blocked.has(i.id)&&t.user.blocked.delete(i.id):1===i.type&&t.user.friends.has(i.id)&&t.user.friends.delete(i.id)}}e.exports=r},function(e,t,i){function n(e,t){return e.client.setTimeout(()=>{e.client.emit(s.Events.TYPING_STOP,e,t,e._typing.get(t.id)),e._typing.delete(t.id)},6e3)}const r=i(180),s=i(5);class o extends r{handle(e){const t=this.packetManager.client,i=e.d,r=t.channels.get(i.channel_id),o=t.users.get(i.user_id),l=new Date(1e3*i.timestamp);if(r&&o){if("voice"===r.type)return void t.emit(s.Events.WARN,`Discord sent a typing packet to voice channel ${r.id}`);if(r._typing.has(o.id)){const e=r._typing.get(o.id);e.lastTimestamp=l,e.resetTimeout(n(r,o))}else r._typing.set(o.id,new a(t,l,l,n(r,o))),t.emit(s.Events.TYPING_START,r,o)}}}class a{constructor(e,t,i,n){this.client=e,this.since=t,this.lastTimestamp=i,this._timeout=n}resetTimeout(e){this.client.clearTimeout(this._timeout),this._timeout=e}get elapsedTime(){return Date.now()-this.since}}e.exports=o},function(e,t,i){const n=i(180);class r extends n{handle(e){const t=this.packetManager.client,i=e.d;t.actions.UserNoteUpdate.handle(i)}}e.exports=r},function(e,t,i){const n=i(180);class r extends n{handle(e){const t=this.packetManager.client,i=e.d;t.actions.UserUpdate.handle(i)}}e.exports=r},function(e,t,i){const n=i(180);class r extends n{handle(e){const t=this.packetManager.client,i=e.d;t.emit("self.voiceServer",i)}}e.exports=r},function(e,t,i){const n=i(180),r=i(5),s=i(46);class o extends n{handle(e){const t=this.packetManager.client,i=e.d,n=t.guilds.get(i.guild_id);if(n){const e=n.members.get(i.user_id);if(e){const n=s(e);e.voiceChannel&&e.voiceChannel.id!==i.channel_id&&e.voiceChannel.members.delete(n.id),i.channel_id||(e.speaking=null),e.user.id===t.user.id&&i.channel_id&&t.emit("self.voiceStateUpdate",i);const o=t.channels.get(i.channel_id);o&&o.members.set(e.user.id,e),e.serverMute=i.mute,e.serverDeaf=i.deaf,e.selfMute=i.self_mute,e.selfDeaf=i.self_deaf,e.voiceSessionID=i.session_id,e.voiceChannelID=i.channel_id,t.emit(r.Events.VOICE_STATE_UPDATE,n,e)}}}}e.exports=o},function(e,t,i){class n{constructor(e){this.client=e,this.register("MessageCreate"),this.register("MessageDelete"),this.register("MessageDeleteBulk"),this.register("MessageUpdate"),this.register("MessageReactionAdd"),this.register("MessageReactionRemove"),this.register("MessageReactionRemoveAll"),this.register("ChannelCreate"),this.register("ChannelDelete"),this.register("ChannelUpdate"),this.register("GuildDelete"),this.register("GuildUpdate"),this.register("GuildMemberGet"),this.register("GuildMemberRemove"),this.register("GuildBanRemove"),this.register("GuildRoleCreate"),this.register("GuildRoleDelete"),this.register("GuildRoleUpdate"),this.register("UserGet"),this.register("UserUpdate"),this.register("UserNoteUpdate"),this.register("GuildSync"),this.register("GuildEmojiCreate"),this.register("GuildEmojiDelete"),this.register("GuildEmojiUpdate"),this.register("GuildRolesPositionUpdate")}register(e){const t=i(217)(`./${e}`);this[e]=new t(this.client)}}e.exports=n},function(e,t,i){function n(e){return i(r(e))}function r(e){return s[e]||function(){throw new Error("Cannot find module '"+e+"'.")}()}var s={"./Action":218,"./Action.js":218,"./ActionsManager":216,"./ActionsManager.js":216,"./ChannelCreate":219,"./ChannelCreate.js":219,"./ChannelDelete":220,"./ChannelDelete.js":220,"./ChannelUpdate":221,"./ChannelUpdate.js":221,"./GuildBanRemove":222,"./GuildBanRemove.js":222,"./GuildDelete":223,"./GuildDelete.js":223,"./GuildEmojiCreate":224,"./GuildEmojiCreate.js":224,"./GuildEmojiDelete":225,"./GuildEmojiDelete.js":225,"./GuildEmojiUpdate":226,"./GuildEmojiUpdate.js":226,"./GuildMemberGet":227,"./GuildMemberGet.js":227,"./GuildMemberRemove":228,"./GuildMemberRemove.js":228,"./GuildRoleCreate":229,"./GuildRoleCreate.js":229,"./GuildRoleDelete":230,"./GuildRoleDelete.js":230,"./GuildRoleUpdate":231,"./GuildRoleUpdate.js":231,"./GuildRolesPositionUpdate":232,"./GuildRolesPositionUpdate.js":232,"./GuildSync":233,"./GuildSync.js":233,"./GuildUpdate":234,"./GuildUpdate.js":234,"./MessageCreate":235,"./MessageCreate.js":235,"./MessageDelete":236,"./MessageDelete.js":236,"./MessageDeleteBulk":237,"./MessageDeleteBulk.js":237,"./MessageReactionAdd":238,"./MessageReactionAdd.js":238,"./MessageReactionRemove":239,"./MessageReactionRemove.js":239,"./MessageReactionRemoveAll":240,"./MessageReactionRemoveAll.js":240,"./MessageUpdate":241,"./MessageUpdate.js":241,"./UserGet":242,"./UserGet.js":242,"./UserNoteUpdate":243,"./UserNoteUpdate.js":243,"./UserUpdate":244,"./UserUpdate.js":244};n.keys=function(){return Object.keys(s)},n.resolve=r,e.exports=n,n.id=217},function(e,t){class i{constructor(e){this.client=e}handle(e){return e}}e.exports=i},function(e,t,i){const n=i(218);class r extends n{handle(e){const t=this.client,i=t.dataManager.newChannel(e);return{channel:i}}}e.exports=r},function(e,t,i){const n=i(218);class r extends n{constructor(e){super(e),this.deleted=new Map}handle(e){const t=this.client;let i=t.channels.get(e.id);return i?(t.dataManager.killChannel(i),this.deleted.set(i.id,i),this.scheduleForDeletion(i.id)):i=this.deleted.get(e.id)||null,{channel:i}}scheduleForDeletion(e){this.client.setTimeout(()=>this.deleted.delete(e),this.client.options.restWsBridgeTimeout)}}e.exports=r},function(e,t,i){const n=i(218),r=i(5),s=i(46);class o extends n{handle(e){const t=this.client,i=t.channels.get(e.id);if(i){const n=s(i);return i.setup(e),t.emit(r.Events.CHANNEL_UPDATE,n,i),{old:n,updated:i}}return{old:null,updated:null}}}e.exports=o},function(e,t,i){const n=i(218),r=i(5);class s extends n{handle(e){const t=this.client,i=t.guilds.get(e.guild_id),n=t.dataManager.newUser(e.user);i&&n&&t.emit(r.Events.GUILD_BAN_REMOVE,i,n)}}e.exports=s},function(e,t,i){const n=i(218),r=i(5);class s extends n{constructor(e){super(e),this.deleted=new Map}handle(e){const t=this.client;let i=t.guilds.get(e.id);if(i){if(i.available&&e.unavailable)return i.available=!1,t.emit(r.Events.GUILD_UNAVAILABLE,i),{guild:null};t.guilds.delete(i.id),this.deleted.set(i.id,i),this.scheduleForDeletion(i.id)}else i=this.deleted.get(e.id)||null;return{guild:i}}scheduleForDeletion(e){this.client.setTimeout(()=>this.deleted.delete(e),this.client.options.restWsBridgeTimeout)}}e.exports=s},function(e,t,i){const n=i(218);class r extends n{handle(e,t){const i=this.client,n=i.dataManager.newEmoji(e,t);return{emoji:n}}}e.exports=r},function(e,t,i){const n=i(218);class r extends n{handle(e){const t=this.client;return t.dataManager.killEmoji(e),{data:e}}}e.exports=r},function(e,t,i){const n=i(218);class r extends n{handle(e,t){const i=this.client;for(let n of e.emojis){const e=t.emojis.has(n.id);e?i.dataManager.updateEmoji(t.emojis.get(n.id),n):n=i.dataManager.newEmoji(n,t)}for(let n of t.emojis)e.emoijs.has(n.id)||i.dataManager.killEmoji(n);return{emojis:e.emojis}}}e.exports=r},function(e,t,i){const n=i(218);class r extends n{handle(e,t){const i=e._addMember(t,!1);return{member:i}}}e.exports=r},function(e,t,i){const n=i(218),r=i(5);class s extends n{constructor(e){super(e),this.deleted=new Map}handle(e){const t=this.client,i=t.guilds.get(e.guild_id);if(i){let n=i.members.get(e.user.id);return n?(i.memberCount--,i._removeMember(n),this.deleted.set(i.id+e.user.id,n),t.status===r.Status.READY&&t.emit(r.Events.GUILD_MEMBER_REMOVE,n),this.scheduleForDeletion(i.id,e.user.id)):n=this.deleted.get(i.id+e.user.id)||null,{guild:i,member:n}}return{guild:i,member:null}}scheduleForDeletion(e,t){this.client.setTimeout(()=>this.deleted.delete(e+t),this.client.options.restWsBridgeTimeout)}}e.exports=s},function(e,t,i){const n=i(218),r=i(5),s=i(26);class o extends n{handle(e){const t=this.client,i=t.guilds.get(e.guild_id);if(i){const n=i.roles.has(e.role.id),o=new s(i,e.role);return i.roles.set(o.id,o),n||t.emit(r.Events.GUILD_ROLE_CREATE,o),{role:o}}return{role:null}}}e.exports=o},function(e,t,i){const n=i(218),r=i(5);class s extends n{constructor(e){super(e),this.deleted=new Map}handle(e){const t=this.client,i=t.guilds.get(e.guild_id);if(i){let n=i.roles.get(e.role_id);return n?(i.roles.delete(e.role_id),this.deleted.set(i.id+e.role_id,n),this.scheduleForDeletion(i.id,e.role_id),t.emit(r.Events.GUILD_ROLE_DELETE,n)):n=this.deleted.get(i.id+e.role_id)||null,{role:n}}return{role:null}}scheduleForDeletion(e,t){this.client.setTimeout(()=>this.deleted.delete(e+t),this.client.options.restWsBridgeTimeout)}}e.exports=s},function(e,t,i){const n=i(218),r=i(5),s=i(46);class o extends n{handle(e){const t=this.client,i=t.guilds.get(e.guild_id);if(i){const n=e.role;let o=null;const a=i.roles.get(n.id);return a&&(o=s(a),a.setup(e.role),t.emit(r.Events.GUILD_ROLE_UPDATE,o,a)),{old:o,updated:a}}return{old:null,updated:null}}}e.exports=o},function(e,t,i){const n=i(218);class r extends n{handle(e){const t=this.client,i=t.guilds.get(e.guild_id);if(i)for(const n of e.roles){const e=i.roles.get(n.id);e&&(e.position=n.position)}return{guild:i}}}e.exports=r},function(e,t,i){const n=i(218);class r extends n{handle(e){const t=this.client,i=t.guilds.get(e.id);if(i){e.presences=e.presences||[];for(const t of e.presences)i._setPresence(t.user.id,t);e.members=e.members||[];for(const n of e.members){const e=i.members.get(n.user.id);e?i._updateMember(e,n):i._addMember(n)}}}}e.exports=r},function(e,t,i){const n=i(218),r=i(5),s=i(46);class o extends n{handle(e){const t=this.client,i=t.guilds.get(e.id);if(i){const n=s(i);return i.setup(e),t.emit(r.Events.GUILD_UPDATE,n,i),{old:n,updated:i}}return{old:null,updated:null}}}e.exports=o},function(e,t,i){const n=i(218),r=i(16);class s extends n{handle(e){const t=this.client,i=t.channels.get((e instanceof Array?e[0]:e).channel_id);if(i){if(e instanceof Array){const n=new Array(e.length);for(let s=0;s<e.length;s++)n[s]=i._cacheMessage(new r(i,e[s],t));return i.lastMessageID=n[n.length-1].id,{messages:n}}{const n=i._cacheMessage(new r(i,e,t));return i.lastMessageID=e.id,{message:n}}}return{message:null}}}e.exports=s},function(e,t,i){const n=i(218);class r extends n{constructor(e){super(e),this.deleted=new Map}handle(e){const t=this.client,i=t.channels.get(e.channel_id);if(i){let t=i.messages.get(e.id);return t?(i.messages.delete(t.id),this.deleted.set(i.id+t.id,t),this.scheduleForDeletion(i.id,t.id)):t=this.deleted.get(i.id+e.id)||null,{message:t}}return{message:null}}scheduleForDeletion(e,t){this.client.setTimeout(()=>this.deleted.delete(e+t),this.client.options.restWsBridgeTimeout)}}e.exports=r},function(e,t,i){const n=i(218),r=i(10),s=i(5);class o extends n{handle(e){const t=this.client,i=t.channels.get(e.channel_id),n=e.ids,o=new r;for(const a of n){const e=i.messages.get(a);e&&o.set(e.id,e)}return o.size>0&&t.emit(s.Events.MESSAGE_BULK_DELETE,o),{messages:o}}}e.exports=o},function(e,t,i){const n=i(218),r=i(5);class s extends n{handle(e){const t=this.client.users.get(e.user_id);if(!t)return!1;const i=this.client.channels.get(e.channel_id);if(!i||"voice"===i.type)return!1;const n=i.messages.get(e.message_id);if(!n)return!1;if(!e.emoji)return!1;const s=n._addReaction(e.emoji,t);return s&&this.client.emit(r.Events.MESSAGE_REACTION_ADD,s,t),{message:n,reaction:s,user:t}}}e.exports=s},function(e,t,i){const n=i(218),r=i(5);class s extends n{handle(e){const t=this.client.users.get(e.user_id);if(!t)return!1;const i=this.client.channels.get(e.channel_id);if(!i||"voice"===i.type)return!1;const n=i.messages.get(e.message_id);if(!n)return!1;if(!e.emoji)return!1;const s=n._removeReaction(e.emoji,t);return s&&this.client.emit(r.Events.MESSAGE_REACTION_REMOVE,s,t),{message:n,reaction:s,user:t}}}e.exports=s},function(e,t,i){const n=i(218),r=i(5);class s extends n{handle(e){const t=this.client.channels.get(e.channel_id);if(!t||"voice"===t.type)return!1;const i=t.messages.get(e.message_id);return!!i&&(i._clearReactions(),this.client.emit(r.Events.MESSAGE_REACTION_REMOVE_ALL,i),{message:i})}}e.exports=s},function(e,t,i){const n=i(218),r=i(5),s=i(46);class o extends n{handle(e){const t=this.client,i=t.channels.get(e.channel_id);if(i){const n=i.messages.get(e.id);if(n){const i=s(n);return n.patch(e),n._edits.unshift(i),t.emit(r.Events.MESSAGE_UPDATE,i,n),{old:i,updated:n}}return{old:n,updated:n}}return{old:null,updated:null}}}e.exports=o},function(e,t,i){const n=i(218);class r extends n{handle(e){const t=this.client,i=t.dataManager.newUser(e);return{user:i}}}e.exports=r},function(e,t,i){const n=i(218),r=i(5);class s extends n{handle(e){const t=this.client,i=t.user.notes.get(e.id),n=e.note.length?e.note:null;return t.user.notes.set(e.id,n),t.emit(r.Events.USER_NOTE_UPDATE,e.id,i,n),{old:i,updated:n}}}e.exports=s},function(e,t,i){const n=i(218),r=i(5),s=i(46);class o extends n{handle(e){const t=this.client;if(t.user){if(t.user.equals(e))return{old:t.user,updated:t.user};const i=s(t.user);return t.user.patch(e),t.emit(r.Events.USER_UPDATE,i,t.user),{old:i,updated:t.user}}return{old:null,updated:null}}}e.exports=o},function(e,t,i){(function(t){const n=i(246),r=i(247);class s{constructor(e){this.client=e,t.on("message",this._handleMessage.bind(this))}get id(){return this.client.options.shardId}get count(){return this.client.options.shardCount}send(e){return new Promise((i,n)=>{const r=t.send(e,e=>{e?n(e):i()});if(!r)throw new Error("Failed to send message to master process.")})}fetchClientValues(e){return new Promise((i,r)=>{const s=o=>{o&&o._sFetchProp===e&&(t.removeListener("message",s),o._error?r(n(o._error)):i(o._result))};t.on("message",s),this.send({_sFetchProp:e}).catch(e=>{t.removeListener("message",s),r(e)})})}broadcastEval(e){return new Promise((i,r)=>{const s=o=>{o&&o._sEval===e&&(t.removeListener("message",s),o._error?r(n(o._error)):i(o._result))};t.on("message",s),this.send({_sEval:e}).catch(e=>{t.removeListener("message",s),r(e)})})}_handleMessage(e){if(e)if(e._fetchProp){const t=e._fetchProp.split(".");let i=this.client;for(const n of t)i=i[n];this._respond("fetchProp",{_fetchProp:e._fetchProp,_result:i})}else if(e._eval)try{this._respond("eval",{_eval:e._eval,_result:this.client._eval(e._eval)})}catch(t){this._respond("eval",{_eval:e._eval,_error:r(t)})}}_respond(e,t){this.send(t).catch(t=>this.client.emit("error",`Error when sending ${e} response to master process: ${t}`))}static singleton(e){return this._singleton?e.emit("error","Multiple clients created in child process; only the first will handle sharding helpers."):this._singleton=new this(e),this._singleton}}e.exports=s}).call(t,i(2))},function(e,t){e.exports=function(e){const t=new Error(e.message);return t.name=e.name,t.stack=e.stack,t}},function(e,t){e.exports=function(e){const t={};return t.name=e.name,t.message=e.message,t.stack=e.stack,t}},function(e,t,i){const n=i(31),r=i(7),s=i(57),o=i(4),a=i(5);class l extends n{constructor(e,t,i){super(null,e,t),this.options=o(a.DefaultOptions,i),this.rest=new r(this),this.resolver=new s(this)}}e.exports=l},function(e,t,i){(function(t){const n=i(62),r=i(15),s=i(246),o=i(247);class a{constructor(e,i,s=[]){this.manager=e,this.id=i,this.env=Object.assign({},t.env,{SHARD_ID:this.id,SHARD_COUNT:this.manager.totalShards,CLIENT_TOKEN:this.manager.token}),this.process=n.fork(r.resolve(this.manager.file),s,{env:this.env}),this.process.on("message",this._handleMessage.bind(this)),this.process.once("exit",()=>{this.manager.respawn&&this.manager.createShard(this.id)}),this._evals=new Map,this._fetches=new Map}send(e){return new Promise((t,i)=>{const n=this.process.send(e,e=>{e?i(e):t(this)});if(!n)throw new Error("Failed to send message to shard's process.")})}fetchClientValue(e){if(this._fetches.has(e))return this._fetches.get(e);const t=new Promise((t,i)=>{const n=i=>{i&&i._fetchProp===e&&(this.process.removeListener("message",n),this._fetches.delete(e),t(i._result))};this.process.on("message",n),this.send({_fetchProp:e}).catch(t=>{this.process.removeListener("message",n),this._fetches.delete(e),i(t)})});return this._fetches.set(e,t),t}eval(e){if(this._evals.has(e))return this._evals.get(e);const t=new Promise((t,i)=>{const n=r=>{r&&r._eval===e&&(this.process.removeListener("message",n),this._evals.delete(e),r._error?i(s(r._error)):t(r._result))};this.process.on("message",n),this.send({_eval:e}).catch(t=>{this.process.removeListener("message",n),this._evals.delete(e),i(t)})});return this._evals.set(e,t),t}_handleMessage(e){if(e){if(e._sFetchProp)return void this.manager.fetchClientValues(e._sFetchProp).then(t=>this.send({_sFetchProp:e._sFetchProp,_result:t}),t=>this.send({_sFetchProp:e._sFetchProp,_error:o(t)}));if(e._sEval)return void this.manager.broadcastEval(e._sEval).then(t=>this.send({_sEval:e._sEval,_result:t}),t=>this.send({_sEval:e._sEval,_error:o(t)}))}this.manager.emit("message",this,e)}}e.exports=a}).call(t,i(2))},function(e,t,i){(function(t){const n=i(15),r=i(62),s=i(3).EventEmitter,o=i(4),a=i(249),l=i(10),f=i(251);class h extends s{constructor(e,i={}){if(super(),i=o({totalShards:"auto",respawn:!0,shardArgs:[],token:null},i),this.file=e,!e)throw new Error("File must be specified.");n.isAbsolute(e)||(this.file=n.resolve(t.cwd(),e));const s=r.statSync(this.file);if(!s.isFile())throw new Error("File path does not point to a file.");if(this.totalShards=i.totalShards,"auto"!==this.totalShards){if("number"!=typeof this.totalShards||isNaN(this.totalShards))throw new TypeError("Amount of shards must be a number.");if(this.totalShards<1)throw new RangeError("Amount of shards must be at least 1.");if(this.totalShards!==Math.floor(this.totalShards))throw new RangeError("Amount of shards must be an integer.")}this.respawn=i.respawn,this.shardArgs=i.shardArgs,this.token=i.token?i.token.replace(/^Bot\s*/i,""):null,this.shards=new l}createShard(e=this.shards.size){const t=new a(this,e,this.shardArgs);return this.shards.set(e,t),this.emit("launch",t),Promise.resolve(t)}spawn(e=this.totalShards,t=5500){if("auto"===e)return f(this.token).then(e=>{return this.totalShards=e,this._spawn(e,t)});if("number"!=typeof e||isNaN(e))throw new TypeError("Amount of shards must be a number.");if(e<1)throw new RangeError("Amount of shards must be at least 1.");if(e!==Math.floor(e))throw new TypeError("Amount of shards must be an integer.");return this._spawn(e,t)}_spawn(e,t){return new Promise(i=>{if(this.shards.size>=e)throw new Error(`Already spawned ${this.shards.size} shards.`);if(this.totalShards=e,this.createShard(),this.shards.size>=this.totalShards)return void i(this.shards);if(t<=0){for(;this.shards.size<this.totalShards;)this.createShard();i(this.shards)}else{const e=setInterval(()=>{this.createShard(),this.shards.size>=this.totalShards&&(clearInterval(e),i(this.shards))},t)}})}broadcast(e){const t=[];for(const i of this.shards.values())t.push(i.send(e));return Promise.all(t)}broadcastEval(e){const t=[];for(const i of this.shards.values())t.push(i.eval(e));return Promise.all(t)}fetchClientValues(e){if(0===this.shards.size)return Promise.reject(new Error("No shards have been spawned."));if(this.shards.size!==this.totalShards)return Promise.reject(new Error("Still spawning shards."));const t=[];for(const i of this.shards.values())t.push(i.fetchClientValue(e));return Promise.all(t)}}e.exports=h}).call(t,i(2))},function(e,t,i){const n=i(40),r=i(5).Endpoints.botGateway;e.exports=function(e){return new Promise((t,i)=>{if(!e)throw new Error("A token must be provided.");n.get(r).set("Authorization",`Bot ${e.replace(/^Bot\s*/i,"")}`).end((e,n)=>{e&&i(e),t(n.body.shards)})})}}]);