diff --git a/.DS_Store b/.DS_Store index 8ce924c1..3040d0a8 100644 Binary files a/.DS_Store and b/.DS_Store differ diff --git a/src/components/emoticonsDropdown.ts b/src/components/emoticonsDropdown.ts index e1a99760..2fecfdd7 100644 --- a/src/components/emoticonsDropdown.ts +++ b/src/components/emoticonsDropdown.ts @@ -19,7 +19,7 @@ const initEmoticonsDropdown = (pageEl: HTMLDivElement, let dropdown = pageEl.querySelector('.emoji-dropdown') as HTMLDivElement; dropdown.classList.add('active'); // need - let lazyLoadQueue = new LazyLoadQueue(); + let lazyLoadQueue = new LazyLoadQueue(5); let container = pageEl.querySelector('.emoji-container .tabs-container') as HTMLDivElement; let tabs = pageEl.querySelector('.emoji-dropdown .emoji-tabs') as HTMLUListElement; diff --git a/src/components/lazyLoadQueue.ts b/src/components/lazyLoadQueue.ts index 39e8261d..8379c552 100644 --- a/src/components/lazyLoadQueue.ts +++ b/src/components/lazyLoadQueue.ts @@ -1,10 +1,85 @@ import { isElementInViewport } from "../lib/utils"; export default class LazyLoadQueue { - private lazyLoadMedia: Array<{div: HTMLDivElement, load: () => Promise}> = []; + private lazyLoadMedia: Array<{div: HTMLDivElement, load: () => Promise, wasSeen?: boolean}> = []; + private loadingMedia = 0; + private tempID = 0; + + constructor(private parallelLimit = 0) { + + } + + public clear() { + this.tempID--; + this.lazyLoadMedia.length = 0; + this.loadingMedia = 0; + } + + public async processQueue(id?: number) { + if(this.parallelLimit > 0 && this.loadingMedia >= this.parallelLimit) return; + + let item: {div: HTMLDivElement, load: () => Promise, wasSeen?: boolean}; + let index: number; + /* if(id) item = this.lazyLoadMedia.splice(id, 1) as any; + else item = this.lazyLoadMedia.pop(); */ + + if(id !== undefined) item = this.lazyLoadMedia.splice(id, 1)[0]; + else { + index = this.lazyLoadMedia.findIndex(i => isElementInViewport(i.div)); + if(index !== -1) { + item = this.lazyLoadMedia.splice(index, 1)[0]; + } else { + //index = this.lazyLoadMedia.findIndex(i => i.wasSeen); + //if(index !== -1) { + //item = this.lazyLoadMedia.splice(index, 1)[0]; + /*} else { + item = this.lazyLoadMedia.pop(); + } */ + + let length = this.lazyLoadMedia.length; + for(index = length - 1; index >= 0; --index) { + if(this.lazyLoadMedia[index].wasSeen) { + item = this.lazyLoadMedia.splice(index, 1)[0]; + break; + } + } + } + } + + if(item) { + this.loadingMedia++; + + let tempID = this.tempID; + + try { + await item.load(); + } catch(err) { + console.error('loadMediaQueue error:', err, item, id, index); + } + + if(tempID == this.tempID) { + this.loadingMedia--; + } + + if(this.lazyLoadMedia.length) { + this.processQueue(); + } + } + } public check(id?: number) { - /* let length = this.lazyLoadMedia.length; + /* if(id !== undefined) { + let {div, load} = this.lazyLoadMedia[id]; + if(isElementInViewport(div)) { + //console.log('will load div by id:', div, div.getBoundingClientRect()); + load(); + this.lazyLoadMedia.splice(id, 1); + } + + return; + } + + let length = this.lazyLoadMedia.length; for(let i = length - 1; i >= 0; --i) { let {div, load} = this.lazyLoadMedia[i]; @@ -14,18 +89,31 @@ export default class LazyLoadQueue { this.lazyLoadMedia.splice(i, 1); } } */ + if(id !== undefined) { - let {div, load} = this.lazyLoadMedia[id]; + let {div} = this.lazyLoadMedia[id]; if(isElementInViewport(div)) { //console.log('will load div by id:', div, div.getBoundingClientRect()); - load(); - this.lazyLoadMedia.splice(id, 1); + this.lazyLoadMedia[id].wasSeen = true; + this.processQueue(id); } return; } + + let length = this.lazyLoadMedia.length; + for(let i = length - 1; i >= 0; --i) { + let {div} = this.lazyLoadMedia[i]; + + if(isElementInViewport(div)) { + console.log('will load div:', div); + this.lazyLoadMedia[i].wasSeen = true; + this.processQueue(i); + //this.lazyLoadMedia.splice(i, 1); + } + } - this.lazyLoadMedia = this.lazyLoadMedia.filter(({div, load}) => { + /* this.lazyLoadMedia = this.lazyLoadMedia.filter(({div, load}) => { if(isElementInViewport(div)) { //console.log('will load div:', div, div.getBoundingClientRect()); load(); @@ -33,10 +121,11 @@ export default class LazyLoadQueue { } return true; - }); + }); */ } - public push(el: {div: HTMLDivElement, load: () => Promise}) { + public push(el: {div: HTMLDivElement, load: () => Promise, wasSeen?: boolean}) { + el.wasSeen = false; let id = this.lazyLoadMedia.push(el) - 1; this.check(id); diff --git a/src/components/pageAuthCode.ts b/src/components/pageAuthCode.ts index f740504f..61de694e 100644 --- a/src/components/pageAuthCode.ts +++ b/src/components/pageAuthCode.ts @@ -1,11 +1,10 @@ -import {MTProto} from '../lib/mtproto/mtproto'; - import pageSignIn from './pageSignIn'; import pageSignUp from './pageSignUp'; import pageIm from './pageIm'; import pagePassword from './pagePassword'; import CryptoWorker from '../lib/crypto/cryptoworker'; import LottieLoader from '../lib/lottieLoader'; +import apiManager from '../lib/mtproto/apiManager'; let installed = false; let authCode: { @@ -102,7 +101,7 @@ export default async(_authCode: typeof authCode) => { codeInput.setAttribute('disabled', 'true'); - changePhonePromise = MTProto.apiManager.invokeApi('auth.sendCode', { + changePhonePromise = apiManager.invokeApi('auth.sendCode', { /* flags: 0, */ phone_number: phone_number, api_id: Config.App.id, @@ -179,13 +178,13 @@ export default async(_authCode: typeof authCode) => { console.log('invoking auth.signIn with params:', params); - MTProto.apiManager.invokeApi('auth.signIn', params) + apiManager.invokeApi('auth.signIn', params) .then((response: any) => { console.log('auth.signIn response:', response); switch(response._) { case 'auth.authorization': - MTProto.apiManager.setUserAuth({ + apiManager.setUserAuth({ id: response.user.id }); diff --git a/src/components/pageIm.ts b/src/components/pageIm.ts index 32d41d96..d726b98e 100644 --- a/src/components/pageIm.ts +++ b/src/components/pageIm.ts @@ -7,7 +7,10 @@ import lottieLoader from "../lib/lottieLoader"; import appSidebarLeft from "../lib/appManagers/appSidebarLeft"; - +/* (window as any).libraryLoaded = function(lol: any) { + // @ts-ignore + console.log('libraryLoaded', lol, this, window.webpMachine); +} */ export default () => import('../lib/services').then(services => { console.log('included services', services); @@ -193,5 +196,7 @@ export default () => import('../lib/services').then(services => { appSidebarLeft.loadDialogs().then(result => { appSidebarLeft.onChatsScroll(); appImManager.setScroll(chatScroll); + + appSidebarLeft.loadDialogs(true); }); }); diff --git a/src/components/pagePassword.ts b/src/components/pagePassword.ts index 873aecce..f7d7682d 100644 --- a/src/components/pagePassword.ts +++ b/src/components/pagePassword.ts @@ -1,10 +1,10 @@ -import {MTProto} from '../lib/mtproto/mtproto'; - import pageIm from './pageIm'; import CryptoWorker from '../lib/crypto/cryptoworker'; import { putPreloader } from './misc'; import LottieLoader from '../lib/lottieLoader'; +import passwordManager from '../lib/mtproto/passwordManager'; +import apiManager from '../lib/mtproto/apiManager'; let installed = false; @@ -97,15 +97,15 @@ export default async() => { this.textContent = 'PLEASE WAIT...'; putPreloader(this); - MTProto.passwordManager.getState() + passwordManager.getState() .then(state => { console.log(state); - MTProto.passwordManager.check(state, value).then((response: any) => { + passwordManager.check(state, value).then((response: any) => { console.log('passwordManager response:', response); switch(response._) { case 'auth.authorization': - MTProto.apiManager.setUserAuth({ + apiManager.setUserAuth({ id: response.user.id }); diff --git a/src/components/pageSignUp.ts b/src/components/pageSignUp.ts index 4933c2b7..afcd4c20 100644 --- a/src/components/pageSignUp.ts +++ b/src/components/pageSignUp.ts @@ -1,4 +1,3 @@ -import {MTProto} from '../lib/mtproto/mtproto'; import {putPreloader} from './misc'; let installed = false; @@ -9,6 +8,7 @@ let authCode: { import resizeableImage from '../lib/cropper'; import pageIm from './pageIm'; +import apiManager from '../lib/mtproto/apiManager'; export default (_authCode: typeof authCode) => { authCode = _authCode; @@ -75,10 +75,10 @@ export default (_authCode: typeof authCode) => { /* console.log(file, typeof(file)); */ // @ts-ignore - /* MTProto.apiFileManager.uploadFile(file).then(function(inputFile) { + /* apiFileManager.uploadFile(file).then(function(inputFile) { console.log('uploaded smthn', inputFile); - MTProto.apiManager.invokeApi('photos.uploadProfilePhoto', { + apiManager.invokeApi('photos.uploadProfilePhoto', { file: inputFile }).then(function (updateResult) { console.log('updated photo!'); @@ -137,10 +137,10 @@ export default (_authCode: typeof authCode) => { console.log('invoking uploadFile...'); // @ts-ignore - MTProto.apiFileManager.uploadFile(avatarBlob).then((inputFile: any) => { + apiFileManager.uploadFile(avatarBlob).then((inputFile: any) => { console.log('uploaded smthn', inputFile); - MTProto.apiManager.invokeApi('photos.uploadProfilePhoto', { + apiManager.invokeApi('photos.uploadProfilePhoto', { file: inputFile }).then((updateResult) => { console.log('updated photo!'); @@ -179,13 +179,13 @@ export default (_authCode: typeof authCode) => { this.textContent = 'PLEASE WAIT...'; putPreloader(this); - MTProto.apiManager.invokeApi('auth.signUp', params) + apiManager.invokeApi('auth.signUp', params) .then((response: any) => { console.log('auth.signUp response:', response); switch(response._) { case 'auth.authorization': // success - MTProto.apiManager.setUserAuth({ // warning + apiManager.setUserAuth({ // warning id: response.user.id }); diff --git a/src/components/scrollable.ts b/src/components/scrollable.ts index 4f056f25..90d3c18e 100644 --- a/src/components/scrollable.ts +++ b/src/components/scrollable.ts @@ -129,7 +129,7 @@ export default class Scrollable { //console.log('onresize', thumb.style[type], thumbHeight, height); } - public setVirtualContainer(el: HTMLElement) { + public setVirtualContainer(el?: HTMLElement) { this.splitUp = el; this.hiddenElements.up.length = this.hiddenElements.down.length = 0; @@ -143,8 +143,10 @@ export default class Scrollable { //this.topObserver.observe(this.paddingTopDiv); //this.bottomObserver.observe(this.paddingBottomDiv); - el.parentElement.insertBefore(this.paddingTopDiv, el); - el.parentNode.insertBefore(this.paddingBottomDiv, el.nextSibling); + if(el) { + el.parentElement.insertBefore(this.paddingTopDiv, el); + el.parentNode.insertBefore(this.paddingBottomDiv, el.nextSibling); + } } public onScroll() { diff --git a/src/components/wrappers.ts b/src/components/wrappers.ts index 35c5caf5..9ccdf83e 100644 --- a/src/components/wrappers.ts +++ b/src/components/wrappers.ts @@ -8,6 +8,7 @@ import { formatBytes } from "../lib/utils"; import ProgressivePreloader from './preloader'; import LazyLoadQueue from './lazyLoadQueue'; import apiFileManager from '../lib/mtproto/apiFileManager'; +import appWebpManager from '../lib/appManagers/appWebpManager'; export type MTDocument = { _: 'document', @@ -224,7 +225,7 @@ export function wrapSticker(doc: MTDocument, div: HTMLDivElement, middleware?: ( console.error('wrong doc for wrapSticker!', doc, div); } - //console.log('wrap sticker', doc); + console.log('wrap sticker', doc); if(doc.thumbs && !div.firstElementChild) { let thumb = doc.thumbs[0]; @@ -308,7 +309,10 @@ export function wrapSticker(doc: MTDocument, div: HTMLDivElement, middleware?: ( reader.readAsArrayBuffer(blob); } else if(stickerType == 1) { let img = new Image(); - img.src = URL.createObjectURL(blob); + + appWebpManager.polyfillImage(img, blob); + + //img.src = URL.createObjectURL(blob); /* div.style.height = doc.h + 'px'; div.style.width = doc.w + 'px'; */ diff --git a/src/lib/appManagers/appDialogsManager.ts b/src/lib/appManagers/appDialogsManager.ts index 7d4ff5ca..700403f7 100644 --- a/src/lib/appManagers/appDialogsManager.ts +++ b/src/lib/appManagers/appDialogsManager.ts @@ -25,6 +25,7 @@ export class AppDialogsManager { public chatListArchived = document.getElementById('dialogs-archived') as HTMLUListElement; public pinnedDelimiter: HTMLDivElement; public chatsHidden: any; + public chatsArchivedHidden: any; public myID = 0; public doms: {[peerID: number]: DialogDom} = {}; @@ -48,6 +49,7 @@ export class AppDialogsManager { //let chatClosedDiv = document.getElementById('chat-closed'); this.setListClickListener(this.chatList); + this.setListClickListener(this.chatListArchived); } public setListClickListener(list: HTMLUListElement, onFound?: () => void) { @@ -152,46 +154,58 @@ export class AppDialogsManager { public sortDom(archived = false) { //return; - let dialogs = appMessagesManager.dialogsStorage.dialogs; + let dialogs = appMessagesManager.dialogsStorage.dialogs.slice(); let inUpper: HTMLLIElement[] = []; let inBottom: HTMLLIElement[] = []; let pinnedDialogs = []; - for(let i = 0; i < dialogs.length; ++i) { - let dialog = dialogs[i]; - if(!dialog.pFlags.pinned) break; - pinnedDialogs.push(dialog); - } - if(pinnedDialogs.length) { - let dom = this.getDialogDom(pinnedDialogs[pinnedDialogs.length - 1].peerID); - if(dom) { - dom.listEl.append(this.pinnedDelimiter); + let sorted = dialogs; + + if(!archived) { + for(let i = 0; i < dialogs.length; ++i) { + let dialog = dialogs[i]; + if(!dialog.pFlags.pinned) break; + pinnedDialogs.push(dialog); } - } else { - if(this.pinnedDelimiter.parentElement) { - this.pinnedDelimiter.parentElement.removeChild(this.pinnedDelimiter); + + if(pinnedDialogs.length) { + let dom = this.getDialogDom(pinnedDialogs[pinnedDialogs.length - 1].peerID); + if(dom) { + dom.listEl.append(this.pinnedDelimiter); + } + } else { + if(this.pinnedDelimiter.parentElement) { + this.pinnedDelimiter.parentElement.removeChild(this.pinnedDelimiter); + } } + + sorted = sorted.filter((d: any) => !d.pFlags.pinned && d.folder_id != 1); + } else { + sorted = sorted.filter((d: any) => d.folder_id == 1); } - let sorted = dialogs - .filter((d: any) => !d.pFlags.pinned) - .sort((a: any, b: any) => { + sorted = sorted.sort((a: any, b: any) => { let timeA = appMessagesManager.getMessage(a.top_message).date; let timeB = appMessagesManager.getMessage(b.top_message).date; return timeB - timeA; }); - sorted = pinnedDialogs.concat(sorted); + if(!archived) { + sorted = pinnedDialogs.concat(sorted); + } //console.log('sortDom', sorted, this.chatsHidden, this.chatsHidden.up, this.chatsHidden.down); - let hiddenLength: number = this.chatsHidden.up.length; - let inViewportLength = this.chatList.childElementCount; + let chatList = archived ? this.chatListArchived : this.chatList; + let chatsHidden = archived ? this.chatsArchivedHidden : this.chatsHidden; + + let hiddenLength: number = chatsHidden.up.length; + let inViewportLength = chatList.childElementCount; - this.chatList.innerHTML = ''; + chatList.innerHTML = ''; let inViewportIndex = 0; sorted.forEach((d: any, idx) => { @@ -221,10 +235,10 @@ export class AppDialogsManager { //this.chatList.append(dom.listEl); }); - console.log('sortDom', sorted.length, inUpper.length, this.chatList.childElementCount, inBottom.length); + console.log('sortDom', sorted.length, inUpper.length, chatList.childElementCount, inBottom.length); - this.chatsHidden.up = inUpper; - this.chatsHidden.down = inBottom; + chatsHidden.up = inUpper; + chatsHidden.down = inBottom; } public setLastMessage(dialog: any, lastMessage?: any, dom?: DialogDom) { @@ -398,7 +412,7 @@ export class AppDialogsManager { }, container?: HTMLUListElement, drawStatus = true) { let peerID: number = dialog.peerID; - if((peerID in this.doms) && !container) return; + if((this.doms[peerID] || this.domsArchived[peerID]) && !container) return; let title = appPeersManager.getPeerTitle(peerID); @@ -497,7 +511,7 @@ export class AppDialogsManager { }; if(!container) { - if(dialog.folder_id) { + if(dialog.folder_id && dialog.folder_id == 1) { this.chatListArchived.append(li); this.domsArchived[dialog.peerID] = dom; } else { diff --git a/src/lib/appManagers/appImManager.ts b/src/lib/appManagers/appImManager.ts index 9e13b31e..e4adef9c 100644 --- a/src/lib/appManagers/appImManager.ts +++ b/src/lib/appManagers/appImManager.ts @@ -931,6 +931,8 @@ export class AppImManager { if(item) { this.loadingMedia++; + let peerID = this.peerID; + let promise = item(); try { await promise; @@ -938,7 +940,9 @@ export class AppImManager { this.log.error('loadMediaQueue error:', err); } - this.loadingMedia--; + if(peerID == this.peerID) { + this.loadingMedia--; + } } if(this.loadMediaQueue.length) return this.loadMediaQueueProcess(); @@ -1179,6 +1183,7 @@ export class AppImManager { this.unreaded = []; this.unreadOut = []; this.loadMediaQueue = []; + this.loadingMedia = 0; lottieLoader.checkAnimations(false, 'chat', true); diff --git a/src/lib/appManagers/appMessagesManager.ts b/src/lib/appManagers/appMessagesManager.ts index daf3e31c..ba19a767 100644 --- a/src/lib/appManagers/appMessagesManager.ts +++ b/src/lib/appManagers/appMessagesManager.ts @@ -60,7 +60,7 @@ export class AppMessagesManager { public maxSeenID = 0; - public allDialogsLoaded = false; + public allDialogsLoaded: {[folder_id: number]: boolean} = {}; public dialogsOffsetDate = 0; public pinnedIndex = 0; public dialogsNum = 0; @@ -705,11 +705,18 @@ export class AppMessagesManager { }; } - public getConversations(query?: string, offsetIndex?: number, limit = 20) { - var curDialogStorage = this.dialogsStorage; - var isSearch = typeof(query) == 'string' && query.length; + public getConversations(query?: string, offsetIndex?: number, limit = 20, folderID = -1) { + //var curDialogStorage = this.dialogsStorage; + //var isSearch = typeof(query) == 'string' && query.length; + let curDialogStorage = this.dialogsStorage.dialogs; - if(isSearch) { + if(folderID > 0) { + curDialogStorage = curDialogStorage.filter(d => d.folder_id == folderID); + } else { + curDialogStorage = curDialogStorage.filter(d => d.folder_id != 1); + } + + /* if(isSearch) { if(!limit || this.cachedResults.query !== query) { this.cachedResults.query = query; @@ -724,30 +731,38 @@ export class AppMessagesManager { this.cachedResults.count = this.cachedResults.dialogs.length; } curDialogStorage = this.cachedResults; - } else { + } else { */ this.cachedResults.query = false; - } + //} - var offset = 0 + var offset = 0; if(offsetIndex > 0) { - for(offset = 0; offset < curDialogStorage.dialogs.length; offset++) { - if(offsetIndex > curDialogStorage.dialogs[offset].index) { + for(; offset < curDialogStorage.length; offset++) { + if(offsetIndex > curDialogStorage[offset].index) { break; } } } - if(isSearch || this.allDialogsLoaded || curDialogStorage.dialogs.length >= offset + limit) { + if(/* isSearch || */this.allDialogsLoaded[folderID] || curDialogStorage.length >= offset + limit) { return Promise.resolve({ - dialogs: curDialogStorage.dialogs.slice(offset, offset + limit) + dialogs: curDialogStorage.slice(offset, offset + limit) }); } - return this.getTopMessages(limit).then(() => { - offset = 0 + return this.getTopMessages(limit, folderID).then(() => { + let curDialogStorage = this.dialogsStorage.dialogs; + + if(folderID > 0) { + curDialogStorage = curDialogStorage.filter(d => d.folder_id == folderID); + } else { + curDialogStorage = curDialogStorage.filter(d => d.folder_id != 1); + } + + offset = 0; if(offsetIndex > 0) { - for(offset = 0; offset < curDialogStorage.dialogs.length; offset++) { - if(offsetIndex > curDialogStorage.dialogs[offset].index) { + for(offset = 0; offset < curDialogStorage.length; offset++) { + if(offsetIndex > curDialogStorage[offset].index) { break; } } @@ -756,12 +771,12 @@ export class AppMessagesManager { //console.warn(offset, offset + limit, curDialogStorage.dialogs.length, this.dialogsStorage.dialogs.length); return { - dialogs: curDialogStorage.dialogs.slice(offset, offset + limit) + dialogs: curDialogStorage.slice(offset, offset + limit) }; }); } - public getTopMessages(limit: number) { + public getTopMessages(limit: number, folderID = -1) { var dialogs = this.dialogsStorage.dialogs; var offsetDate = 0; var offsetID = 0; @@ -775,12 +790,16 @@ export class AppMessagesManager { flags |= 1; } + if(folderID > 0) { + flags |= 1; + flags |= 2; + } + let hash = 0; - /* let id = 296814355; - hash = (((hash * 0x4F25) & 0x7FFFFFFF) + id) & 0x7FFFFFFF; */ return apiManager.invokeApi('messages.getDialogs', { flags: flags, + folder_id: folderID, offset_date: offsetDate, offset_id: appMessagesIDsManager.getMessageLocalID(offsetID), offset_peer: AppPeersManager.getInputPeerByID(offsetPeerID), @@ -789,6 +808,8 @@ export class AppMessagesManager { }, { timeout: 300 }).then((dialogsResult: any) => { + console.log('messages.getDialogs result:', dialogsResult); + if(!offsetDate) { telegramMeWebService.setAuthorized(true); } @@ -841,7 +862,7 @@ export class AppMessagesManager { if(!dialogsResult.dialogs.length || !dialogsResult.count || dialogs.length >= dialogsResult.count) { - this.allDialogsLoaded = true; + this.allDialogsLoaded[folderID] = true; } if(hasPrepend && !this.newDialogsHandlePromise) { @@ -1313,6 +1334,7 @@ export class AppMessagesManager { dialog.index = this.generateDialogIndex(topDate); dialog.peerID = peerID; + if(!dialog.folder_id) dialog.folder_id = 0; this.pushDialogToStorage(dialog, offsetDate); diff --git a/src/lib/appManagers/appSidebarLeft.ts b/src/lib/appManagers/appSidebarLeft.ts index a5313c0c..87b09c45 100644 --- a/src/lib/appManagers/appSidebarLeft.ts +++ b/src/lib/appManagers/appSidebarLeft.ts @@ -52,6 +52,7 @@ class AppSidebarLeft { private chatsArchivedContainer = document.getElementById('chats-archived-container') as HTMLDivElement; private chatsContainer = document.getElementById('chats-container') as HTMLDivElement; + private chatsArchivedOffsetIndex = 0; private chatsOffsetIndex = 0; private chatsPreloader: HTMLDivElement; private chatsLoadCount = 0; @@ -71,6 +72,7 @@ class AppSidebarLeft { private query = ''; public scroll: Scrollable = null; + public scrollArchived: Scrollable = null; public searchGroups: {[group: string]: SearchGroup} = { contacts: new SearchGroup('Contacts and Chats', 'contacts'), @@ -90,11 +92,14 @@ class AppSidebarLeft { this.scroll = new Scrollable(this.chatsContainer as HTMLDivElement); this.scroll.setVirtualContainer(appDialogsManager.chatList); appDialogsManager.chatsHidden = this.scroll.hiddenElements; - this.scroll.container.addEventListener('scroll', this.onChatsScroll.bind(this)); + + this.scrollArchived = new Scrollable(this.chatsArchivedContainer as HTMLDivElement); + this.scrollArchived.setVirtualContainer(appDialogsManager.chatListArchived); + appDialogsManager.chatsArchivedHidden = this.scrollArchived.hiddenElements; + this.scroll.container.addEventListener('scroll', this.onChatsArchivedScroll.bind(this)); this.listsContainer = new Scrollable(this.searchContainer).container; - for(let i in this.searchGroups) { this.listsContainer.append(this.searchGroups[i].container); } @@ -200,7 +205,9 @@ class AppSidebarLeft { setTimeout(() => { this.onSidebarScroll(); + this.scroll.onScroll(); this.onChatsScroll(); + this.onChatsArchivedScroll(); }, 0); }); @@ -209,26 +216,34 @@ class AppSidebarLeft { }); */ } - public async loadDialogs() { + public async loadDialogs(archived = false) { if(this.loadDialogsPromise/* || 1 == 1 */) return this.loadDialogsPromise; - this.chatsContainer.append(this.chatsPreloader); + (archived ? this.chatsArchivedContainer : this.chatsContainer).append(this.chatsPreloader); //let offset = appMessagesManager.generateDialogIndex();/* appMessagesManager.dialogsNum */; + + let offset = archived ? this.chatsArchivedOffsetIndex : this.chatsOffsetIndex; + //let offset = 0; + try { - this.loadDialogsPromise = appMessagesManager.getConversations('', this.chatsOffsetIndex, this.chatsLoadCount); + this.loadDialogsPromise = appMessagesManager.getConversations('', offset, this.chatsLoadCount, +archived); let result = await this.loadDialogsPromise; if(result && result.dialogs && result.dialogs.length) { - this.chatsOffsetIndex = result.dialogs[result.dialogs.length - 1].index; + let index = result.dialogs[result.dialogs.length - 1].index; + + if(archived) this.chatsArchivedOffsetIndex = index; + else this.chatsOffsetIndex = index; + result.dialogs.forEach((dialog: any) => { appDialogsManager.addDialog(dialog); }); } - this.log('loaded ' + this.chatsLoadCount + ' dialogs by offset:', this.chatsOffsetIndex, result, this.scroll.hiddenElements); + this.log('loaded ' + this.chatsLoadCount + ' dialogs by offset:', offset, result, this.scroll.hiddenElements); this.scroll.onScroll(); } catch(err) { this.log.error(err); @@ -239,7 +254,7 @@ class AppSidebarLeft { } public onChatsScroll() { - //this.log(this.scroll); + //this.log(this.scroll.hiddenElements.down.length, this.loadDialogsPromise, appDialogsManager.chatList.childNodes); if(this.scroll.hiddenElements.down.length > 0/* || 1 == 1 */) return; if(!this.loadDialogsPromise) { @@ -254,6 +269,23 @@ class AppSidebarLeft { //console.log('last 5 dialogs:', d); } } + + public onChatsArchivedScroll() { + //this.log(this.scrollArchived.hiddenElements.down.length, this.loadDialogsPromise, appDialogsManager.chatListArchived.childNodes); + if(this.scrollArchived.hiddenElements.down.length > 0/* || 1 == 1 */) return; + + if(!this.loadDialogsPromise) { + let d = Array.from(appDialogsManager.chatListArchived.childNodes).slice(-5); + for(let node of d) { + if(isElementInViewport(node)) { + this.loadDialogs(true); + break; + } + } + + //console.log('last 5 dialogs:', d); + } + } public onSidebarScroll() { if(!this.query.trim()) return; @@ -339,7 +371,7 @@ class AppSidebarLeft { } else { username = '@' + username; } - + dom.lastMessageSpan.innerText = username; } }); diff --git a/src/lib/appManagers/appSidebarRight.ts b/src/lib/appManagers/appSidebarRight.ts index 590a632d..7090d3ea 100644 --- a/src/lib/appManagers/appSidebarRight.ts +++ b/src/lib/appManagers/appSidebarRight.ts @@ -53,7 +53,7 @@ class AppSidebarRight { public sharedMediaType: string = ''; private sharedMediaSelected: HTMLDivElement = null; - private lazyLoadQueueSidebar = new LazyLoadQueue(); + private lazyLoadQueueSidebar = new LazyLoadQueue(5); /* public minMediaID: { [type: string]: number } = {}; */ @@ -144,7 +144,10 @@ class AppSidebarRight { }); window.addEventListener('resize', () => { - setTimeout(() => this.onSidebarScroll(), 0); + setTimeout(() => { + this.sidebarScroll.onScroll(); + this.onSidebarScroll(); + }, 0); }); } @@ -334,6 +337,7 @@ class AppSidebarRight { this.savedVirtualStates = {}; this.prevTabID = -1; + this.sidebarScroll.setVirtualContainer(null); (this.profileTabs.children[1] as HTMLLIElement).click(); // set media if(this.sharedMediaSelected) { @@ -348,6 +352,8 @@ class AppSidebarRight { this.profileElements.notificationsCheckbox.checked = true; this.profileElements.notificationsStatus.innerText = 'Enabled'; + this.lazyLoadQueueSidebar.clear(); + Object.keys(this.sharedMedia).forEach(key => { this.sharedMedia[key].innerHTML = ''; }); diff --git a/src/lib/appManagers/appWebpManager.ts b/src/lib/appManagers/appWebpManager.ts new file mode 100644 index 00000000..b60ec773 --- /dev/null +++ b/src/lib/appManagers/appWebpManager.ts @@ -0,0 +1,72 @@ +class AppWebpManager { + public webpMachine: any = null; + public loaded: Promise; + public busyPromise: Promise; + public queue: {bytes: Uint8Array, img: HTMLImageElement}[] = []; + + constructor() { + this.loaded = new Promise((resolve, reject) => { + (window as any).webpLoaded = () => { + console.log('webpHero loaded'); + this.webpMachine = new (window as any).webpHero.WebpMachine(); + this.webpMachine.webp.Module.doNotCaptureKeyboard = true; + //this.webpMachine.polyfillDocument(); + resolve(); + }; + + let sc = document.createElement('script'); + sc.src = 'webp-hero.bundle.js'; + sc.async = true; + sc.onload = (window as any).webpLoaded; + /* sc.innerHTML = ` + window.webpMachine = new webpHero.WebpMachine(); + window.webpMachine.polyfillDocument(); + `; */ + + document.body.appendChild(sc); + }); + } + + convert(bytes: Uint8Array): Promise { + return this.webpMachine.decode(bytes); + } + + async processQueue() { + if(this.busyPromise) return; + + let {img, bytes} = this.queue.pop(); + + await this.loaded; + + this.busyPromise = this.convert(bytes); + img.src = await this.busyPromise; + + this.busyPromise = null; + + if(this.queue.length) { + this.processQueue(); + } + } + + async polyfillImage(img: HTMLImageElement, blob: Blob) { + /* console.log('polyfillImage', this); + return this.webpMachine.polyfillImage(image); */ + + if(await this.webpMachine.webpSupport) { + img.src = URL.createObjectURL(blob); + return; + } + + const reader = new FileReader(); + reader.addEventListener('loadend', async(e) => { + // @ts-ignore + let bytes = new Uint8Array(e.srcElement.result); + + this.queue.push({bytes, img}); + this.processQueue(); + }); + reader.readAsArrayBuffer(blob); + } +} + +export default new AppWebpManager(); diff --git a/src/lib/mtproto/apiFileManager.ts b/src/lib/mtproto/apiFileManager.ts index f617a4e2..7025ad7d 100644 --- a/src/lib/mtproto/apiFileManager.ts +++ b/src/lib/mtproto/apiFileManager.ts @@ -218,7 +218,9 @@ export class ApiFileManager { }); }, dcID); - var processDownloaded = function(bytes: any) { + var processDownloaded = (bytes: Uint8Array) => { + //this.log('processDownloaded', location, bytes); + return Promise.resolve(bytes); /* if(!location.sticker || WebpManager.isWebpSupported()) { return qSync.when(bytes); diff --git a/src/scss/partials/_chat.scss b/src/scss/partials/_chat.scss index 6fa1c840..617e1ef8 100644 --- a/src/scss/partials/_chat.scss +++ b/src/scss/partials/_chat.scss @@ -190,11 +190,18 @@ } } - .emoji { + img.emoji { height: 18px; width: 18px; margin: 0 .05rem; } + + span.emoji { + height: auto; + width: auto; + overflow: visible; + vertical-align: unset; + } &.emoji-big { font-size: 0; @@ -915,12 +922,16 @@ color: #111; } - .emoji { - font-size: 16px; + img.emoji { height: 16px; width: 16px; vertical-align: top; } + + span.emoji { + font-size: 16px; + vertical-align: unset; + } } /* #chat-closed { diff --git a/src/scss/partials/_chatlist.scss b/src/scss/partials/_chatlist.scss index 9531fcad..6149a545 100644 --- a/src/scss/partials/_chatlist.scss +++ b/src/scss/partials/_chatlist.scss @@ -43,8 +43,10 @@ ul { margin: 0; //padding: 0 .5rem; - display: grid; - grid-auto-columns: 1fr; + /* display: grid; + grid-auto-columns: 1fr; */ + display: flex; + flex-direction: column; /* grid-gap: 4px; */ width: 100%; } diff --git a/src/scss/style.scss b/src/scss/style.scss index 4b7727c5..485945ee 100644 --- a/src/scss/style.scss +++ b/src/scss/style.scss @@ -1249,6 +1249,11 @@ div.scrollable::-webkit-scrollbar-thumb { opacity: .4; } +[contenteditable] { + -webkit-user-select: text; + user-select: text; +} + .menu-horizontal { width: 100%; color: $darkgrey; diff --git a/webp-hero.bundle.js b/webp-hero.bundle.js new file mode 100644 index 00000000..ed00ef34 --- /dev/null +++ b/webp-hero.bundle.js @@ -0,0 +1 @@ +!function(){var e,r,n=(e=function(e,r){(function(e,n){var t=h.nextTick,i=(Function.prototype.apply,Array.prototype.slice),o={},a=0;function f(e,r){this._id=e,this._clearFn=r}f.prototype.unref=f.prototype.ref=function(){},f.prototype.close=function(){this._clearFn.call(window,this._id)},r.setImmediate="function"==typeof e?e:function(e){var n=a++,f=!(arguments.length<2)&&i.call(arguments,1);return o[n]=!0,t(function(){o[n]&&(f?e.apply(null,f):e.call(null),r.clearImmediate(n))}),n},r.clearImmediate="function"==typeof n?n:function(e){delete o[e]}}).call(this,n({}).setImmediate,n({}).clearImmediate)},function(n){return r||e(r={exports:{},parent:n},r.exports),r.exports}),t={},i=this&&this.__awaiter||function(e,n,t,i){return new(t||(t=Promise))(function(o,a){function f(e){try{u(i.next(e))}catch(r){a(r)}}function A(e){try{u(i.throw(e))}catch(r){a(r)}}function u(e){e.done?o(e.value):new t(function(r){r(e.value)}).then(f,A)}u((i=i.apply(e,n||[])).next())})},o=this&&this.__generator||function(e,n){var t,i,o,a,f={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return a={next:A(0),throw:A(1),return:A(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function A(a){return function(A){return function(a){if(t)throw new TypeError("Generator is already executing.");for(;f;)try{if(t=1,i&&(o=2&a[0]?i.return:a[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,a[1])).done)return o;switch(i=0,o&&(a=[2&a[0],o.value]),a[0]){case 0:case 1:o=a;break;case 4:return f.label++,{value:a[1],done:!1};case 5:f.label++,i=a[1],a=[0];continue;case 7:a=f.ops.pop(),f.trys.pop();continue;default:if(!(o=(o=f.trys).length>0&&o[o.length-1])&&(6===a[0]||2===a[0])){f=0;continue}if(3===a[0]&&(!o||a[1]>o[0]&&a[1]0&&o[o.length-1])&&(6===a[0]||2===a[0])){f=0;continue}if(3===a[0]&&(!o||a[1]>o[0]&&a[1]1)for(var n=1;n255&&(t&=255),r.push(String.fromCharCode(t))}return r.join("")}(n);throw A}},o&&(t.readBinary=function(e){try{var r=new XMLHttpRequest;return r.open("GET",e,!1),r.responseType="arraybuffer",r.send(null),new Uint8Array(r.response)}catch(A){var n=ie(e);if(n)return n;throw A}}),t.readAsync=function(e,r,n){var t=new XMLHttpRequest;t.open("GET",e,!0),t.responseType="arraybuffer",t.onload=function(){if(200==t.status||0==t.status&&t.response)r(t.response);else{var i=ie(e);i?r(i.buffer):n()}},t.onerror=n,t.send(null)},t.setWindowTitle=function(e){document.title=e};var f=t.print||("undefined"!=typeof console?console.log.bind(console):"undefined"!=typeof print?print:null),A=t.printErr||("undefined"!=typeof printErr?printErr:"undefined"!=typeof console&&console.warn.bind(console)||f);for(n in i)i.hasOwnProperty(n)&&(t[n]=i[n]);function u(e){u.shown||(u.shown={}),u.shown[e]||(u.shown[e]=1,A(e))}i=void 0,new Array(0);var s=0,l=!1;function c(e){return t["_"+e]}var d,h,v,b,g,w,m,k="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function p(e,r,n){for(var t=r+n,i=r;e[i]&&!(i>=t);)++i;if(i-r>16&&e.subarray&&k)return k.decode(e.subarray(r,i));for(var o="";r>10,56320|1023&u)}}else o+=String.fromCharCode((31&a)<<6|f)}else o+=String.fromCharCode(a)}return o}function C(e,r){return e?p(v,e,r):""}function y(e,r,n,t){if(!(t>0))return 0;for(var i=n,o=n+t-1,a=0;a=55296&&f<=57343&&(f=65536+((1023&f)<<10)|1023&e.charCodeAt(++a)),f<=127){if(n>=o)break;r[n++]=f}else if(f<=2047){if(n+1>=o)break;r[n++]=192|f>>6,r[n++]=128|63&f}else if(f<=65535){if(n+2>=o)break;r[n++]=224|f>>12,r[n++]=128|f>>6&63,r[n++]=128|63&f}else{if(n+3>=o)break;r[n++]=240|f>>18,r[n++]=128|f>>12&63,r[n++]=128|f>>6&63,r[n++]=128|63&f}}return r[n]=0,n-i}function I(e,r){return e%r>0&&(e+=r-e%r),e}function E(){t.HEAP8=h=new Int8Array(d),t.HEAP16=b=new Int16Array(d),t.HEAP32=g=new Int32Array(d),t.HEAPU8=v=new Uint8Array(d),t.HEAPU16=new Uint16Array(d),t.HEAPU32=w=new Uint32Array(d),t.HEAPF32=m=new Float32Array(d),t.HEAPF64=new Float64Array(d)}"undefined"!=typeof TextDecoder&&new TextDecoder("utf-16le");var D=t.TOTAL_MEMORY||67108864;function L(e){for(;e.length>0;){var r=e.shift();if("function"!=typeof r){var n=r.func;"number"==typeof n?void 0===r.arg?t.dynCall_v(n):t.dynCall_vi(n,r.arg):n(void 0===r.arg?null:r.arg)}else r()}}D<5242880&&A("TOTAL_MEMORY should be larger than TOTAL_STACK, was "+D+"! (TOTAL_STACK=5242880)"),d=t.buffer?t.buffer:new ArrayBuffer(D),E(),g[2700]=5253936;var x=[],S=[],_=[],B=[],M=!1;Math.imul&&-5===Math.imul(4294967295,5)||(Math.imul=function(e,r){var n=65535&e,t=65535&r;return n*t+((e>>>16)*t+n*(r>>>16)<<16)|0}),Math.clz32||(Math.clz32=function(e){var r=32,n=e>>16;return n&&(r-=16,e=n),(n=e>>8)&&(r-=8,e=n),(n=e>>4)&&(r-=4,e=n),(n=e>>2)&&(r-=2,e=n),(n=e>>1)?r-2:r-e}),Math.trunc||(Math.trunc=function(e){return e<0?Math.ceil(e):Math.floor(e)});var F=Math.abs,P=Math.ceil,R=Math.floor,T=Math.min,G=0,O=null,q=null;function U(e){G++,t.monitorRunDependencies&&t.monitorRunDependencies(G)}function Y(e){if(G--,t.monitorRunDependencies&&t.monitorRunDependencies(G),0==G&&(null!==O&&(clearInterval(O),O=null),q)){var r=q;q=null,r()}}t.preloadedImages={},t.preloadedAudios={};var z=null,W="data:application/octet-stream;base64,";function X(e){return String.prototype.startsWith?e.startsWith(W):0===e.indexOf(W)}function Q(r,n){if(j.mainLoop.timingMode=r,j.mainLoop.timingValue=n,!j.mainLoop.func)return 1;if(0==r)j.mainLoop.scheduler=function(){var e=0|Math.max(0,j.mainLoop.tickStartTime+n-N());setTimeout(j.mainLoop.runner,e)},j.mainLoop.method="timeout";else if(1==r)j.mainLoop.scheduler=function(){j.requestAnimationFrame(j.mainLoop.runner)},j.mainLoop.method="rAF";else if(2==r){if(void 0===e){var i=[];addEventListener("message",function(e){"setimmediate"!==e.data&&"setimmediate"!==e.data.target||(e.stopPropagation(),i.shift()())},!0),e=function(e){i.push(e),o?(void 0===t.setImmediates&&(t.setImmediates=[]),t.setImmediates.push(e),postMessage({target:"setimmediate"})):postMessage("setimmediate","*")}}j.mainLoop.scheduler=function(){e(j.mainLoop.runner)},j.mainLoop.method="immediate"}return 0}function N(){ke()}function V(e,r,n,i,o){var a;t.noExitRuntime=!0,j.mainLoop.func=e,j.mainLoop.arg=i,a=void 0!==i?function(){t.dynCall_vi(e,i)}:function(){t.dynCall_v(e)};var f=j.mainLoop.currentlyRunningMainloop;if(j.mainLoop.runner=function(){if(!l)if(j.mainLoop.queue.length>0){var e=Date.now(),r=j.mainLoop.queue.shift();if(r.func(r.arg),j.mainLoop.remainingBlockers){var n=j.mainLoop.remainingBlockers,i=n%1==0?n-1:Math.floor(n);r.counted?j.mainLoop.remainingBlockers=i:(i+=.5,j.mainLoop.remainingBlockers=(8*n+i)/9)}if(console.log('main loop blocker "'+r.name+'" took '+(Date.now()-e)+" ms"),j.mainLoop.updateStatus(),f1&&j.mainLoop.currentFrameNumber%j.mainLoop.timingValue!=0?j.mainLoop.scheduler():(0==j.mainLoop.timingMode&&(j.mainLoop.tickStartTime=N()),"timeout"===j.mainLoop.method&&t.ctx&&(A("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!"),j.mainLoop.method=""),j.mainLoop.runIter(a),f0?Q(0,1e3/r):Q(1,1),j.mainLoop.scheduler()),n)throw"SimulateInfiniteLoop"}z="data:application/octet-stream;base64,AAAAAAAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGCg4SFhoeIiYqLjI2Oj5CRkpOUlZaXmJmam5ydnp+goaKjpKWmp6ipqqusra6vsLGys7S1tre4ubq7vL2+v8DBwsPExcbHyMnKy8zNzs/Q0dLT1NXW19jZ2tvc3d7f4OHi4+Tl5ufo6err7O3u7/Dx8vP09fb3+Pn6+/z9/v8AAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2Nzg5Ojs8PT4/QEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaW1xdXl9gYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXp7fH1+f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f38AAAAAAAAAAPDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDx8vP09fb3+Pn6+/z9/v8AAQIDBAUGBwgJCgsMDQ4PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAgMEBQYHCAkKCwwNDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicoKSorLC0uLzAxMjM0NTY3ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpbXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/gIGCg4SFhoeIiYqLjI2Oj5CRkpOUlZaXmJmam5ydnp+goaKjpKWmp6ipqqusra6vsLGys7S1tre4ubq7vL2+v8DBwsPExcbHyMnKy8zNzs/Q0dLT1NXW19jZ2tvc3d7f4OHi4+Tl5ufo6err7O3u7/Dx8vP09fb3+Pn6+/z9/v////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AAP/+/fz7+vn49/b19PPy8fDv7u3s6+rp6Ofm5eTj4uHg397d3Nva2djX1tXU09LR0M/OzczLysnIx8bFxMPCwcC/vr28u7q5uLe2tbSzsrGwr66trKuqqainpqWko6KhoJ+enZybmpmYl5aVlJOSkZCPjo2Mi4qJiIeGhYSDgoGAf359fHt6eXh3dnV0c3JxcG9ubWxramloZ2ZlZGNiYWBfXl1cW1pZWFdWVVRTUlFQT05NTEtKSUhHRkVEQ0JBQD8+PTw7Ojk4NzY1NDMyMTAvLi0sKyopKCcmJSQjIiEgHx4dHBsaGRgXFhUUExIREA8ODQwLCgkIBwYFBAMCAQABAgMEBQYHCAkKCwwNDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicoKSorLC0uLzAxMjM0NTY3ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpbXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/gIGCg4SFhoeIiYqLjI2Oj5CRkpOUlZaXmJmam5ydnp+goaKjpKWmp6ipqqusra6vsLGys7S1tre4ubq7vL2+v8DBwsPExcbHyMnKy8zNzs/Q0dLT1NXW19jZ2tvc3d7f4OHi4+Tl5ufo6err7O3u7/Dx8vP09fb3+Pn6+/z9/v8AGAcXGSgGJykWGiYqOAU3ORUbNjolK0gER0kUHDU7RkokLFhFSzQ8A1dZEx1WWiMtRExVWzM9aAJnaRIeZmoiLlRcQ01lazI+eAF3eVNdER9kbEJOdnohL3V7MT9jbVJeAHR8QU8QIGJuMHN9UV9Acn5hb1Bxf2BwAAAAAAAAAAAAAAAAAQAAAAMAAAAHAAAADwAAAB8AAAA/AAAAfwAAAP8AAAD/AQAA/wMAAP8HAAD/DwAA/x8AAP8/AAD/fwAA//8AAP//AQD//wMA//8HAP//DwD//x8A//8/AP//fwD///8AAAAAAAAAAAAAAAAAiguMC44LkguaC6oLygsKDIwMjA2MD4wTAAAAAAAAAAAREgABAgMEBRAGBwgJCgsMDQ4PAAAAAAAAAAAAAAAAADBS4Q2GGLMDy6xfd2piiBxVXDhoKLizFPj+hUpLuN1Jl/P8ZIkCVVwAAClK2sF+Dau3QFl9V5JUcsoZTmmM0zhl7gEMX3WhMlL2N1QyLLtasVeqD+cz9XPa7l9o4sxjdYMOmW7tpzBHxtnATzwVa0n6AxRPDPsaVDILmXMcy9cmBjfMb9h3uywqL3Z13cwlZGFUsyQVh30KqBQEIme/HhSDFbRW4wLlc2+xykRCTSYo+666c+3rUAr7tmodC9Q6DWg72zWDHggrlWvOd/DlgVG8O4V4lJSfADzt5ScAAAAAAAAEAAgADACAAIQAiACMAAABBAEIAQwBgAGEAYgBjAHneDBZc3F4mHCYs0B+qnYuRl+vRY9QVVJIm2c4Ogqr2r0RDZhyGhGjLMMVCq15GFDDGj4sQFWQRwomq9WQIhqqLjcTiKAhzkc/FAhyctAMCeJRKAtgtlQdECSGt1mJYmVqpZRIu2SCnW8gS1BCZqdjSj4o6oApNQmy8Y0aCGtKKxqSSaYxF51BJmmgMzQfc4BoTwwb2f9XEQdXREcscjMPuhcvKQ5utrcVEcJCLRlmxb0XEhZYWJOWKi4txM0rYbd1VSYjsz0nNchXGhUr6Ks4IjNocmYdXU0nHFWrOqVaYkAiFnTOFyIrpklrNiAaMwFRKx9EGWoWQKsk4XIiExVmhLwQTHw+Ek5fVTkyMDPBZSOf129ZLm88lB+s2+QVEm9wcU1Vs/8meHIoKgHE9dEKGW1YKx2MptUlK5o9Px6bQy1EAdFkUAgrmgEzGkeOTk4Q/4AixaspKAVm07cEAd0zMhGo0cAXGVKKHySrG6YmLOVDVzqpUnMaO7M/O1q0O6ZdSZooKBV0j9EiJ68vDxC3It8xLbcuESG3BmIPILc5LhYYgAE2ESVBIElzHIAXgM0oAwlzM8ASBt9XJQlzO01AFS9oNyzaCTY1guJAWkbNKCkXGjk2OXC4BSkmptUeIhqFmHQKIIYnEzXdGnIgSf8fCUHqAg8BdklLIAwzwP+gKzNYHyNDZlU3ulU4FRdvO80tJcA3JkZ8SWYBImJ9YipYaFV1r1JfVDVZgGRxZS1LT3svM4BRqwE5EQVHZjk1KTEmIQ15OUkaAVUpCkOKTW5aL3JzFQIKZv+mFwZlHRAKVYBlxBo5EgpmZtUiFCt1FA8ko4BEARpmPUclIjUf88BFPEcmSXcc3iVELYAiAS8L9as+ERNGklU3PkYlKyWaZKNVoAE/CVyIHEAgyVVLDwkJQP+4dxBWBhwFQP8Z+AE4CBGEif83dIA6DxRShzkaeSikMh+JmoUZI9ozZyyDg3sfBp5WKECHlOAtt4AWGhGD8JoOAdEtEBVbQN4HAcU4FSebPIoXZtVTDA02wP9ELxxVGlVVgIAgkqsSCwc/kKsEBPYjGwqSrqsMGoC+UCNjtFB+Ni1Vfi9XsDMpFCBlS4CLdpJ0gFU4KQ+w7FUlCT5HHhF3dv8REoplJjyKN0YrGo6SJBMeq/9hGxSKLT0+2wFRvEAgKRR1l44UFaNwEww9w4AwBBgAAAAAAAAAAAAAAAAAAf8C/gMEBv0F/Pv6B/kI+PcAAAAAAAAAAAAAAAAAAP///////////////////////////////////////////7D2////////////3/H8///////////5/f3////////////0/P//////////6v7+///////////9///////////////2/v//////////7/3+///////////+//7////////////4/v//////////+//+///////////////////////////9/v//////////+/7+///////////+//7////////////+/f/+////////+v/+//7////////+/////////////////////////////////////////////////////////9n/////////////4fzx/f///v/////q+vH6/f/9/v/////+////////////3/7+///////////u/f7+///////////4/v//////////+f7////////////////////////////9////////////9/7////////////////////////////9/v///////////P/////////////////////////////+/v///////////f/////////////////////////////+/f//////////+v/////////////+/////////////////////////////////////////////////////////7r7+v//////////6vv0/v/////////7+/P9/v/+///////9/v//////////7P3+///////////7/f3+/v/////////+/v///////////v7+///////////////////////////+/////////////v7////////////+/////////////////////////////v////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////j/////////////+v78/v/////////4/vn9///////////9/f//////////9v39///////////8/vv+/v/////////+/P//////////+P79///////////9//7+///////////7/v//////////9fv+///////////9/f7////////////7/f///////////P3+/////////////v/////////////8////////////+f/+//////////////7//////////////f//////////+v///////////////////////////////////////////v///////////////////////////4CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgP2I/v/k24CAgICAvYHy/+PV/9uAgIBqfuP81tH//4CAgAFi+P/s4v//gICAtYXu/t3q/5qAgIBOhsr3xrT/24CAgAG5+f/z/4CAgICAuJb3/+zggICAgIBNbtj/7OaAgICAgAFl+//x/4CAgICAqovx/OzR//+AgIAldMTz5P///4CAgAHM/v/1/4CAgICAz6D6/+6AgICAgIBmZ+f/06uAgICAgAGY/P/w/4CAgICAsYfz/+rhgICAgIBQgdP/wuCAgICAgAEB/4CAgICAgICA9gH/gICAgICAgID/gICAgICAgICAgMYj7d/Bu6KgkZs+gy3G3ayw3J383QFEL5LQlafdov/fgAGV8f/d4P//gICAuI3q/d7c/8eAgIBRY7XysL75yv//gAGB6P3WxfLE//+AY3nS+snG/8qAgIAXW6Pyqrv30v//gAHI9v/q/4CAgICAbbLx/+f1//+AgIAsgsn9zcD//4CAgAGE7/vb0f+lgICAXojh+9q+//+AgIAWZK71uqH/x4CAgAG2+f/o64CAgICAfI/x/+PqgICAgIAjTbX7wdP/zYCAgAGd9//s5///gICAeY3r/+Hj//+AgIAtY7z7w9n/4ICAgAEB+//V/4CAgICAywH4//+AgICAgICJAbH/4P+AgICAgP0J+PvP0P/AgICArw3g88G5+cb//4BJEavdobPsp//qgAFf9/3Ut///gICA71r0+tPR//+AgICbTcP4vMP//4CAgAEY7/va2//NgICAyTPb/8S6gICAgIBFLr7vydr/5ICAgAG/+///gICAgICA36X5/9X/gICAgICNfPj//4CAgICAgAEQ+P//gICAgICAviTm/+z/gICAgICVAf+AgICAgICAgAHi/4CAgICAgICA98D/gICAgICAgIDwgP+AgICAgICAgAGG/P//gICAgICA1T76//+AgICAgIA3Xf+AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMoY1eu6v9yg8K//fia26Km45K7/u4A9Lorbl7Lwqv/YgAFw5vrHv/ef//+Apm3k/NPX/66AgIAnTaLorLT1sv//gAE03PbGx/nc//+AfEq/87fB+t3//4AYR4Lbmqrztv//gAG24fnb8P/ggICAlZbi/NjN/6uAgIAcbKryt8L+3///gAFR5vzMy//AgICAe2bR97zE/+mAgIAUX5nzpK3/y4CAgAHe+P/Y1YCAgICAqK/2/OvN//+AgIAvdNf/09T//4CAgAF57P3U1v//gICAjVTV/MnK/9uAgIAqUKDworn/zYCAgAEB/4CAgICAgICA9AH/gICAgICAgIDuAf+AgICAgICAgAQFBgcICQoKCwwNDg8QERESExQUFRUWFhcXGBkZGhscHR4fICEiIyQlJSYnKCkqKywtLi4vMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUZHSElKS0xMTU5PUFFSU1RVVldYWVtdX2BiZGVmaGpsbnBydHZ6fH6AgoSGiIqMj5GUl5qdBAAFAAYABwAIAAkACgALAAwADQAOAA8AEAARABIAEwAUABUAFgAXABgAGQAaABsAHAAdAB4AHwAgACEAIgAjACQAJQAmACcAKAApACoAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAOgA8AD4AQABCAEQARgBIAEoATABOAFAAUgBUAFYAWABaAFwAXgBgAGIAZABmAGgAagBsAG4AcAByAHQAdwB6AH0AgACDAIYAiQCMAI8AkgCVAJgAmwCeAKEApACnAKoArQCxALUAuQC9AMEAxQDJAM0A0QDVANkA3QDhAOUA6gDvAPUA+QD+AAMBCAENARIBFwEcAQABBAgFAgMGCQwNCgcLDg+pIwAArSMAALIjAAC4IwAAEQAKABEREQAAAAAFAAAAAAAACQAAAAALAAAAAAAAAAARAA8KERERAwoHAAETCQsLAAAJBgsAAAsABhEAAAAREREAAAAAAAAAAAAAAAAAAAAACwAAAAAAAAAAEQAKChEREQAKAAACAAkLAAAACQALAAALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAADAAAAAAJDAAAAAAADAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAANAAAABA0AAAAACQ4AAAAAAA4AAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAADwAAAAAPAAAAAAkQAAAAAAAQAAAQAAASAAAAEhISAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAAASEhIAAAAAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALAAAAAAAAAAAAAAAKAAAAAAoAAAAACQsAAAAAAAsAAAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAwMTIzNDU2Nzg5QUJDREVGDAQAAIAIAAD/CQAA/wwAALAfAAC0HwAAuB8AALwfAADAHwAAxB8AAMgfAAABAAAAAQAAAAIAAAACAAAAAwAAAAQAAADkHwAA6B8AAPAfAAAFAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAABQqAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAD//////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD0KQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAExpYnJhcnkgdmVyc2lvbiBtaXNtYXRjaCEKAFVuYWJsZSB0byBzZXQgdmlkZW8gbW9kZSAoMzJicHAgJWR4JWQpIQoAVW5hYmxlIHRvIGNyZWF0ZSAlZHglZCBSR0JBIHN1cmZhY2UhCgBFcnJvciBkZWNvZGluZyBpbWFnZSAoJWQpCgACAwcDAwsDBAMEBAICBAQEAgEBCAcGBAQCAgIBAQEBAAIIQ291bGQgbm90IGRlY29kZSBhbHBoYSBkYXRhLgBGcmFtZSBzZXR1cCBmYWlsZWQAdGhyZWFkIGluaXRpYWxpemF0aW9uIGZhaWxlZC4Abm8gbWVtb3J5IGR1cmluZyBmcmFtZSBpbml0aWFsaXphdGlvbi4AUklGRgBXRUJQAFZQOFgAQUxQSABWUDggAFZQOEwAT0sAbnVsbCBWUDhJbyBwYXNzZWQgdG8gVlA4R2V0SGVhZGVycygpAFRydW5jYXRlZCBoZWFkZXIuAEluY29ycmVjdCBrZXlmcmFtZSBwYXJhbWV0ZXJzLgBGcmFtZSBub3QgZGlzcGxheWFibGUuAGNhbm5vdCBwYXJzZSBwaWN0dXJlIGhlYWRlcgBCYWQgY29kZSB3b3JkAGJhZCBwYXJ0aXRpb24gbGVuZ3RoAGNhbm5vdCBwYXJzZSBzZWdtZW50IGhlYWRlcgBjYW5ub3QgcGFyc2UgZmlsdGVyIGhlYWRlcgBjYW5ub3QgcGFyc2UgcGFydGl0aW9ucwBOb3QgYSBrZXkgZnJhbWUuAK2UjACwm4yHALSdjYaCAP7+8+bEsZmMhYKBAE5VTEwgVlA4SW8gcGFyYW1ldGVyIGluIFZQOERlY29kZSgpLgBQcmVtYXR1cmUgZW5kLW9mLXBhcnRpdGlvbjAgZW5jb3VudGVyZWQuAFByZW1hdHVyZSBlbmQtb2YtZmlsZSBlbmNvdW50ZXJlZC4AT3V0cHV0IGFib3J0ZWQuAC0rICAgMFgweAAobnVsbCkALTBYKzBYIDBYLTB4KzB4IDB4AGluZgBJTkYAbmFuAE5BTgAu";var j={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){j.mainLoop.scheduler=null,j.mainLoop.currentlyRunningMainloop++},resume:function(){j.mainLoop.currentlyRunningMainloop++;var e=j.mainLoop.timingMode,r=j.mainLoop.timingValue,n=j.mainLoop.func;j.mainLoop.func=null,V(n,0,!1,j.mainLoop.arg,!0),Q(e,r),j.mainLoop.scheduler()},updateStatus:function(){if(t.setStatus){var e=t.statusMessage||"Please wait...",r=j.mainLoop.remainingBlockers,n=j.mainLoop.expectedBlockers;r?r=6;){var a=t>>i-6&63;i-=6,n+=r[a]}return 2==i?(n+=r[(3&t)<<4],n+="=="):4==i&&(n+=r[(15&t)<<2],n+="="),n}(e),f(l))},l.src=s,j.safeSetTimeout(function(){f(l)},1e4)}};t.preloadPlugins.push(n);var i=t.canvas;i&&(i.requestPointerLock=i.requestPointerLock||i.mozRequestPointerLock||i.webkitRequestPointerLock||i.msRequestPointerLock||function(){},i.exitPointerLock=document.exitPointerLock||document.mozExitPointerLock||document.webkitExitPointerLock||document.msExitPointerLock||function(){},i.exitPointerLock=i.exitPointerLock.bind(document),document.addEventListener("pointerlockchange",o,!1),document.addEventListener("mozpointerlockchange",o,!1),document.addEventListener("webkitpointerlockchange",o,!1),document.addEventListener("mspointerlockchange",o,!1),t.elementPointerLock&&i.addEventListener("click",function(e){!j.pointerLock&&t.canvas.requestPointerLock&&(t.canvas.requestPointerLock(),e.preventDefault())},!1))}function o(){j.pointerLock=document.pointerLockElement===t.canvas||document.mozPointerLockElement===t.canvas||document.webkitPointerLockElement===t.canvas||document.msPointerLockElement===t.canvas}},createContext:function(e,r,n,i){if(r&&t.ctx&&e==t.canvas)return t.ctx;var o,a;if(r){var f={antialias:!1,alpha:!1,majorVersion:1};if(i)for(var A in i)f[A]=i[A];void 0!==$&&(a=$.createContext(e,f))&&(o=$.getContext(a).GLctx)}else o=e.getContext("2d");return o?(n&&(t.ctx=o,r&&$.makeContextCurrent(a),t.useWebGL=r,j.moduleContextCreatedCallbacks.forEach(function(e){e()}),j.init()),o):null},destroyContext:function(e,r,n){},fullscreenHandlersInstalled:!1,lockPointer:void 0,resizeCanvas:void 0,requestFullscreen:function(e,r,n){j.lockPointer=e,j.resizeCanvas=r,j.vrDevice=n,void 0===j.lockPointer&&(j.lockPointer=!0),void 0===j.resizeCanvas&&(j.resizeCanvas=!1),void 0===j.vrDevice&&(j.vrDevice=null);var i=t.canvas;function o(){j.isFullscreen=!1;var e=i.parentNode;(document.fullscreenElement||document.mozFullScreenElement||document.msFullscreenElement||document.webkitFullscreenElement||document.webkitCurrentFullScreenElement)===e?(i.exitFullscreen=j.exitFullscreen,j.lockPointer&&i.requestPointerLock(),j.isFullscreen=!0,j.resizeCanvas?j.setFullscreenCanvasSize():j.updateCanvasDimensions(i)):(e.parentNode.insertBefore(i,e),e.parentNode.removeChild(e),j.resizeCanvas?j.setWindowedCanvasSize():j.updateCanvasDimensions(i)),t.onFullScreen&&t.onFullScreen(j.isFullscreen),t.onFullscreen&&t.onFullscreen(j.isFullscreen)}j.fullscreenHandlersInstalled||(j.fullscreenHandlersInstalled=!0,document.addEventListener("fullscreenchange",o,!1),document.addEventListener("mozfullscreenchange",o,!1),document.addEventListener("webkitfullscreenchange",o,!1),document.addEventListener("MSFullscreenChange",o,!1));var a=document.createElement("div");i.parentNode.insertBefore(a,i),a.appendChild(i),a.requestFullscreen=a.requestFullscreen||a.mozRequestFullScreen||a.msRequestFullscreen||(a.webkitRequestFullscreen?function(){a.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT)}:null)||(a.webkitRequestFullScreen?function(){a.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT)}:null),n?a.requestFullscreen({vrDisplay:n}):a.requestFullscreen()},requestFullScreen:function(e,r,n){return A("Browser.requestFullScreen() is deprecated. Please call Browser.requestFullscreen instead."),j.requestFullScreen=function(e,r,n){return j.requestFullscreen(e,r,n)},j.requestFullscreen(e,r,n)},exitFullscreen:function(){return!!j.isFullscreen&&((document.exitFullscreen||document.cancelFullScreen||document.mozCancelFullScreen||document.msExitFullscreen||document.webkitCancelFullScreen||function(){}).apply(document,[]),!0)},nextRAF:0,fakeRequestAnimationFrame:function(e){var r=Date.now();if(0===j.nextRAF)j.nextRAF=r+1e3/60;else for(;r+2>=j.nextRAF;)j.nextRAF+=1e3/60;var n=Math.max(j.nextRAF-r,0);setTimeout(e,n)},requestAnimationFrame:function(e){"undefined"==typeof window?j.fakeRequestAnimationFrame(e):(window.requestAnimationFrame||(window.requestAnimationFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame||j.fakeRequestAnimationFrame),window.requestAnimationFrame(e))},safeCallback:function(e){return function(){if(!l)return e.apply(null,arguments)}},allowAsyncCallbacks:!0,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){j.allowAsyncCallbacks=!1},resumeAsyncCallbacks:function(){if(j.allowAsyncCallbacks=!0,j.queuedAsyncCallbacks.length>0){var e=j.queuedAsyncCallbacks;j.queuedAsyncCallbacks=[],e.forEach(function(e){e()})}},safeRequestAnimationFrame:function(e){return j.requestAnimationFrame(function(){l||(j.allowAsyncCallbacks?e():j.queuedAsyncCallbacks.push(e))})},safeSetTimeout:function(e,r){return t.noExitRuntime=!0,setTimeout(function(){l||(j.allowAsyncCallbacks?e():j.queuedAsyncCallbacks.push(e))},r)},safeSetInterval:function(e,r){return t.noExitRuntime=!0,setInterval(function(){l||j.allowAsyncCallbacks&&e()},r)},getMimetype:function(e){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[e.substr(e.lastIndexOf(".")+1)]},getUserMedia:function(e){window.getUserMedia||(window.getUserMedia=navigator.getUserMedia||navigator.mozGetUserMedia),window.getUserMedia(e)},getMovementX:function(e){return e.movementX||e.mozMovementX||e.webkitMovementX||0},getMovementY:function(e){return e.movementY||e.mozMovementY||e.webkitMovementY||0},getMouseWheelDelta:function(e){var r=0;switch(e.type){case"DOMMouseScroll":r=e.detail/3;break;case"mousewheel":r=e.wheelDelta/120;break;case"wheel":switch(r=e.deltaY,e.deltaMode){case 0:r/=100;break;case 1:r/=3;break;case 2:r*=80;break;default:throw"unrecognized mouse wheel delta mode: "+e.deltaMode}break;default:throw"unrecognized mouse wheel event: "+e.type}return r},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(e){if(j.pointerLock)"mousemove"!=e.type&&"mozMovementX"in e?j.mouseMovementX=j.mouseMovementY=0:(j.mouseMovementX=j.getMovementX(e),j.mouseMovementY=j.getMovementY(e)),void 0!==J?(j.mouseX=J.mouseX+j.mouseMovementX,j.mouseY=J.mouseY+j.mouseMovementY):(j.mouseX+=j.mouseMovementX,j.mouseY+=j.mouseMovementY);else{var r=t.canvas.getBoundingClientRect(),n=t.canvas.width,i=t.canvas.height,o=void 0!==window.scrollX?window.scrollX:window.pageXOffset,a=void 0!==window.scrollY?window.scrollY:window.pageYOffset;if("touchstart"===e.type||"touchend"===e.type||"touchmove"===e.type){var f=e.touch;if(void 0===f)return;var A=f.pageX-(o+r.left),u=f.pageY-(a+r.top),s={x:A*=n/r.width,y:u*=i/r.height};if("touchstart"===e.type)j.lastTouches[f.identifier]=s,j.touches[f.identifier]=s;else if("touchend"===e.type||"touchmove"===e.type){var l=j.touches[f.identifier];l||(l=s),j.lastTouches[f.identifier]=l,j.touches[f.identifier]=s}return}var c=e.pageX-(o+r.left),d=e.pageY-(a+r.top);c*=n/r.width,d*=i/r.height,j.mouseMovementX=c-j.mouseX,j.mouseMovementY=d-j.mouseY,j.mouseX=c,j.mouseY=d}},asyncLoad:function(e,r,n,i){var o=i?"":"al "+e;t.readAsync(e,function(e){r(new Uint8Array(e)),o&&Y()},function(r){if(!n)throw'Loading data file "'+e+'" failed.';n()}),o&&U()},resizeListeners:[],updateResizeListeners:function(){var e=t.canvas;j.resizeListeners.forEach(function(r){r(e.width,e.height)})},setCanvasSize:function(e,r,n){var i=t.canvas;j.updateCanvasDimensions(i,e,r),n||j.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function(){if(void 0!==J){var e=w[J.screen>>2];e|=8388608,g[J.screen>>2]=e}j.updateCanvasDimensions(t.canvas),j.updateResizeListeners()},setWindowedCanvasSize:function(){if(void 0!==J){var e=w[J.screen>>2];e&=-8388609,g[J.screen>>2]=e}j.updateCanvasDimensions(t.canvas),j.updateResizeListeners()},updateCanvasDimensions:function(e,r,n){r&&n?(e.widthNative=r,e.heightNative=n):(r=e.widthNative,n=e.heightNative);var i=r,o=n;if(t.forcedAspectRatio&&t.forcedAspectRatio>0&&(i/o1)return 0;if(r.buffer||(r.buffer=Ae(r.width*r.height*4),g[e+20>>2]=r.buffer),g[e+20>>2]=r.buffer,e==J.screen&&t.screenIsReadOnly&&r.image)return 0;if(J.defaults.discardOnLock){if(r.image||(r.image=r.ctx.createImageData(r.width,r.height)),!J.defaults.opaqueFrontBuffer)return}else r.image=r.ctx.getImageData(0,0,r.width,r.height);if(e==J.screen&&J.defaults.opaqueFrontBuffer)for(var n=r.image.data,i=n.length,o=0;o>2],y:g[e+4>>2],w:g[e+8>>2],h:g[e+12>>2]}},updateRect:function(e,r){g[e>>2]=r.x,g[e+4>>2]=r.y,g[e+8>>2]=r.w,g[e+12>>2]=r.h},intersectionOfRects:function(e,r){var n=Math.max(e.x,r.x),t=Math.max(e.y,r.y),i=Math.min(e.x+e.w,r.x+r.w),o=Math.min(e.y+e.h,r.y+r.h);return{x:n,y:t,w:Math.max(n,i)-n,h:Math.max(t,o)-t}},checkPixelFormat:function(e){},loadColorToCSSRGB:function(e){var r=g[e>>2];return"rgb("+(255&r)+","+(r>>8&255)+","+(r>>16&255)+")"},loadColorToCSSRGBA:function(e){var r=g[e>>2];return"rgba("+(255&r)+","+(r>>8&255)+","+(r>>16&255)+","+(r>>24&255)/255+")"},translateColorToCSSRGBA:function(e){return"rgba("+(255&e)+","+(e>>8&255)+","+(e>>16&255)+","+(e>>>24)/255+")"},translateRGBAToCSSRGBA:function(e,r,n,t){return"rgba("+(255&e)+","+(255&r)+","+(255&n)+","+(255&t)/255+")"},translateRGBAToColor:function(e,r,n,t){return e|r<<8|n<<16|t<<24},makeSurface:function(e,r,n,i,o,a,f,A,u){var s,l=1&(n=n||0),c=2097152&n,d=67108864&n,v=Ae(60),b=Ae(44),w=c?1:4,m=0;l||d||(m=Ae(e*r*4)),g[v>>2]=n,g[v+4>>2]=b,g[v+8>>2]=e,g[v+12>>2]=r,g[v+16>>2]=e*w,g[v+20>>2]=m,g[v+36>>2]=0,g[v+40>>2]=0,g[v+44>>2]=t.canvas.width,g[v+48>>2]=t.canvas.height,g[v+56>>2]=1,g[b>>2]=-2042224636,g[b+4>>2]=0,h[b+8>>0]=8*w,h[b+9>>0]=w,g[b+12>>2]=a||255,g[b+16>>2]=f||65280,g[b+20>>2]=A||16711680,g[b+24>>2]=u||4278190080,J.GL=J.GL||d,i?s=t.canvas:((s=J.canvasPool.length>0?J.canvasPool.pop():document.createElement("canvas")).width=e,s.height=r);var k={antialias:0!=J.glAttributes[13]&&J.glAttributes[14]>1,depth:J.glAttributes[6]>0,stencil:J.glAttributes[7]>0,alpha:J.glAttributes[3]>0},p=j.createContext(s,d,i,k);return J.surfaces[v]={width:e,height:r,canvas:s,ctx:p,surf:v,buffer:m,pixelFormat:b,alpha:255,flags:n,locked:0,usePageCanvas:i,source:o,isFlagSet:function(e){return n&e}},v},copyIndexedColorData:function(e,r,n,i,o){if(e.colors){var a=t.canvas.width,f=t.canvas.height,A=r||0,u=n||0,s=(i||a-A)+A,l=(o||f-u)+u,c=e.buffer;e.image.data32||(e.image.data32=new Uint32Array(e.image.data.buffer));for(var d=e.image.data32,h=e.colors32,b=u;b>0]]}},freeSurface:function(e){var r=e+56,n=g[r>>2];if(n>1)g[r>>2]=n-1;else{var t=J.surfaces[e];!t.usePageCanvas&&t.canvas&&J.canvasPool.push(t.canvas),t.buffer&&fe(t.buffer),fe(t.pixelFormat),fe(e),J.surfaces[e]=null,e===J.screen&&(J.screen=null)}},blitSurface:function(e,r,n,t,i){var o,a,f,A,s=J.surfaces[e],l=J.surfaces[n];if(o=r?J.loadRect(r):{x:0,y:0,w:s.width,h:s.height},a=t?J.loadRect(t):{x:0,y:0,w:s.width,h:s.height},l.clipRect){var c=i&&0!==o.w?o.w/a.w:1,d=i&&0!==o.h?o.h/a.h:1;a=J.intersectionOfRects(l.clipRect,a),o.w=a.w*c,o.h=a.h*d,t&&J.updateRect(t,a)}if(i?(f=a.w,A=a.h):(f=o.w,A=o.h),0===o.w||0===o.h||0===f||0===A)return 0;var h=l.ctx.globalAlpha;return l.ctx.globalAlpha=s.alpha/255,l.ctx.drawImage(s.canvas,o.x,o.y,o.w,o.h,a.x,a.y,f,A),l.ctx.globalAlpha=h,n!=J.screen&&(u("WARNING: copying canvas data to memory for compatibility"),Z(n),l.locked--),0},downFingers:{},savedKeydown:null,receiveEvent:function(e){function r(){for(var e in J.keyboardMap)J.events.push({type:"keyup",keyCode:J.keyboardMap[e]})}switch(e.type){case"touchstart":case"touchmove":e.preventDefault();var n=[];if("touchstart"===e.type)for(var i=0;i0?Math.max(s,1):Math.min(s,-1))>0?3:4;J.events.push({type:"mousedown",button:l,pageX:e.pageX,pageY:e.pageY}),J.events.push({type:"mouseup",button:l,pageX:e.pageX,pageY:e.pageY}),J.events.push({type:"wheel",deltaX:0,deltaY:s}),e.preventDefault();break;case"mousemove":if(1===J.DOMButtons[0]&&J.events.push({type:"touchmove",touch:{identifier:0,deviceID:-1,pageX:e.pageX,pageY:e.pageY}}),j.pointerLock&&("mozMovementX"in e&&(e.movementX=e.mozMovementX,e.movementY=e.mozMovementY),0==e.movementX&&0==e.movementY))return void e.preventDefault();case"keydown":case"keyup":case"keypress":case"mousedown":case"mouseup":if("keydown"===e.type&&(J.unicode||J.textInput)&&8!==e.keyCode&&9!==e.keyCode||e.preventDefault(),"mousedown"==e.type)J.DOMButtons[e.button]=1,J.events.push({type:"touchstart",touch:{identifier:0,deviceID:-1,pageX:e.pageX,pageY:e.pageY}});else if("mouseup"==e.type){if(!J.DOMButtons[e.button])return;J.events.push({type:"touchend",touch:{identifier:0,deviceID:-1,pageX:e.pageX,pageY:e.pageY}}),J.DOMButtons[e.button]=0}"keydown"===e.type||"mousedown"===e.type?J.canRequestFullscreen=!0:"keyup"!==e.type&&"mouseup"!==e.type||(J.isRequestingFullscreen&&(t.requestFullscreen(!0,!0),J.isRequestingFullscreen=!1),J.canRequestFullscreen=!1),"keypress"===e.type&&J.savedKeydown?(J.savedKeydown.keypressCharCode=e.charCode,J.savedKeydown=null):"keydown"===e.type&&(J.savedKeydown=e),("keypress"!==e.type||J.textInput)&&J.events.push(e);break;case"mouseout":for(i=0;i<3;i++)J.DOMButtons[i]&&(J.events.push({type:"mouseup",button:i,pageX:e.pageX,pageY:e.pageY}),J.DOMButtons[i]=0);e.preventDefault();break;case"focus":J.events.push(e),e.preventDefault();break;case"blur":J.events.push(e),r(),e.preventDefault();break;case"visibilitychange":J.events.push({type:"visibilitychange",visible:!document.hidden}),r(),e.preventDefault();break;case"unload":return void(j.mainLoop.runner&&(J.events.push(e),j.mainLoop.runner()));case"resize":J.events.push(e),e.preventDefault&&e.preventDefault()}J.events.length>=1e4&&(A("SDL event queue full, dropping events"),J.events=J.events.slice(0,1e4)),J.flushEventsToHandler()},lookupKeyCodeForEvent:function(e){var r=e.keyCode;return r>=65&&r<=90?r+=32:(r=J.keyCodes[e.keyCode]||e.keyCode,e.location===KeyboardEvent.DOM_KEY_LOCATION_RIGHT&&r>=1248&&r<=1251&&(r+=4)),r},handleEvent:function(e){if(!e.handled)switch(e.handled=!0,e.type){case"touchstart":case"touchend":case"touchmove":j.calculateMouseEvent(e);break;case"keydown":case"keyup":var r="keydown"===e.type,n=J.lookupKeyCodeForEvent(e);h[J.keyboardState+n>>0]=r,J.modState=(h[J.keyboardState+1248>>0]?64:0)|(h[J.keyboardState+1249>>0]?1:0)|(h[J.keyboardState+1250>>0]?256:0)|(h[J.keyboardState+1252>>0]?128:0)|(h[J.keyboardState+1253>>0]?2:0)|(h[J.keyboardState+1254>>0]?512:0),r?J.keyboardMap[n]=e.keyCode:delete J.keyboardMap[n];break;case"mousedown":case"mouseup":"mousedown"==e.type?J.buttonState|=1<0;)if(!1!==J.makeCEvent(J.events.shift(),e))return 1;return 0}return J.events.length>0},makeCEvent:function(e,r){if("number"==typeof e)return ue(r,e,28),void fe(e);switch(J.handleEvent(e),e.type){case"keydown":case"keyup":var n,i="keydown"===e.type,o=J.lookupKeyCodeForEvent(e);n=o>=1024?o-1024:J.scanCodes[o]||o,g[r>>2]=J.DOMEventToSDLEvent[e.type],h[r+8>>0]=i?1:0,h[r+9>>0]=0,g[r+12>>2]=n,g[r+16>>2]=o,b[r+20>>1]=J.modState,g[r+24>>2]=e.keypressCharCode||o;break;case"keypress":g[r>>2]=J.DOMEventToSDLEvent[e.type];for(var a=(p=String.fromCharCode(e.charCode),void 0,void 0,I=void 0,void 0,C=void 0>0?void 0:function(e){for(var r=0,n=0;n=55296&&t<=57343&&(t=65536+((1023&t)<<10)|1023&e.charCodeAt(++n)),t<=127?++r:r+=t<=2047?2:t<=65535?3:4}return r}(p)+1,y(p,I=new Array(C),0,I.length),I),f=0;f>0]=a[f];break;case"mousedown":case"mouseup":case"mousemove":"mousemove"!=e.type?(i="mousedown"===e.type,g[r>>2]=J.DOMEventToSDLEvent[e.type],g[r+4>>2]=0,g[r+8>>2]=0,g[r+12>>2]=0,h[r+16>>0]=e.button+1,h[r+17>>0]=i?1:0,g[r+20>>2]=j.mouseX,g[r+24>>2]=j.mouseY):(g[r>>2]=J.DOMEventToSDLEvent[e.type],g[r+4>>2]=0,g[r+8>>2]=0,g[r+12>>2]=0,g[r+16>>2]=J.buttonState,g[r+20>>2]=j.mouseX,g[r+24>>2]=j.mouseY,g[r+28>>2]=j.mouseMovementX,g[r+32>>2]=j.mouseMovementY);break;case"wheel":g[r>>2]=J.DOMEventToSDLEvent[e.type],g[r+16>>2]=e.deltaX,g[r+20>>2]=e.deltaY;break;case"touchstart":case"touchend":case"touchmove":var A=e.touch;if(!j.touches[A.identifier])break;var u=t.canvas.width,s=t.canvas.height,l=j.touches[A.identifier].x/u,c=j.touches[A.identifier].y/s,d=l-j.lastTouches[A.identifier].x/u,v=c-j.lastTouches[A.identifier].y/s;if(void 0===A.deviceID&&(A.deviceID=J.TOUCH_DEFAULT_ID),0===d&&0===v&&"touchmove"===e.type)return!1;g[r>>2]=J.DOMEventToSDLEvent[e.type],g[r+4>>2]=H(),tempI64=[A.deviceID>>>0,(tempDouble=A.deviceID,+F(tempDouble)>=1?tempDouble>0?(0|T(+R(tempDouble/4294967296),4294967295))>>>0:~~+P((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],g[r+8>>2]=tempI64[0],g[r+12>>2]=tempI64[1],tempI64=[A.identifier>>>0,(tempDouble=A.identifier,+F(tempDouble)>=1?tempDouble>0?(0|T(+R(tempDouble/4294967296),4294967295))>>>0:~~+P((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],g[r+16>>2]=tempI64[0],g[r+20>>2]=tempI64[1],m[r+24>>2]=l,m[r+28>>2]=c,m[r+32>>2]=d,m[r+36>>2]=v,void 0!==A.force?m[r+40>>2]=A.force:m[r+40>>2]="touchend"==e.type?0:1;break;case"unload":g[r>>2]=J.DOMEventToSDLEvent[e.type];break;case"resize":g[r>>2]=J.DOMEventToSDLEvent[e.type],g[r+4>>2]=e.w,g[r+8>>2]=e.h;break;case"joystick_button_up":case"joystick_button_down":var w="joystick_button_up"===e.type?0:1;g[r>>2]=J.DOMEventToSDLEvent[e.type],h[r+4>>0]=e.index,h[r+5>>0]=e.button,h[r+6>>0]=w;break;case"joystick_axis_motion":g[r>>2]=J.DOMEventToSDLEvent[e.type],h[r+4>>0]=e.index,h[r+5>>0]=e.axis,g[r+8>>2]=J.joystickAxisValueConversion(e.value);break;case"focus":g[r>>2]=J.DOMEventToSDLEvent[e.type],g[r+4>>2]=0,h[r+8>>0]=12;break;case"blur":g[r>>2]=J.DOMEventToSDLEvent[e.type],g[r+4>>2]=0,h[r+8>>0]=13;break;case"visibilitychange":var k=e.visible?1:2;g[r>>2]=J.DOMEventToSDLEvent[e.type],g[r+4>>2]=0,h[r+8>>0]=k;break;default:throw"Unhandled SDL event: "+e.type}var p,C,I},makeFontString:function(e,r){return"'"!=r.charAt(0)&&'"'!=r.charAt(0)&&(r='"'+r+'"'),e+"px "+r+", serif"},estimateTextWidth:function(e,r){var n=e.size,t=J.makeFontString(n,e.name),i=J.ttfContext;i.save(),i.font=t;var o=0|i.measureText(r).width;return i.restore(),o},allocateChannels:function(e){if(!(J.numChannels&&J.numChannels>=e&&0!=e)){J.numChannels=e,J.channels=[];for(var r=0;r>1]/32768;else if(8==J.audio.format)for(a=0;a>0];o[a]=(f>=0?f-128:f+128)/128}else{if(33056!=J.audio.format)throw"Invalid SDL audio format "+J.audio.format+"!";for(a=0;a>2]}}},debugSurface:function(e){console.log("dumping surface "+[e.surf,e.source,e.width,e.height]);for(var r=e.ctx.getImageData(0,0,e.width,e.height).data,n=Math.min(e.width,e.height),t=0;t0},queryJoysticks:function(){for(var e in J.lastJoystickState){var r=J.getGamepad(e-1),n=J.lastJoystickState[e];if(void 0===r)return;if(null===r)return;if("number"!=typeof r.timestamp||r.timestamp!==n.timestamp||!r.timestamp){var t;for(t=0;te&&e>=0?r[e]:null}},$={counter:1,lastError:0,buffers:[],mappedBuffers:{},programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:{},currentContext:null,offscreenCanvases:{},timerQueriesEXT:[],programInfos:{},stringCache:{},unpackAlignment:4,init:function(){$.miniTempBuffer=new Float32Array($.MINI_TEMP_BUFFER_SIZE);for(var e=0;e<$.MINI_TEMP_BUFFER_SIZE;e++)$.miniTempBufferViews[e]=$.miniTempBuffer.subarray(0,e+1)},recordError:function(e){$.lastError||($.lastError=e)},getNewId:function(e){for(var r=$.counter++,n=e.length;n>2]:-1;i+=C(g[n+4*o>>2],a<0?void 0:a)}return i},createContext:function(e,r){var n=e.getContext("webgl",r)||e.getContext("experimental-webgl",r);return n&&$.registerContext(n,r)},registerContext:function(e,n){var t=Ae(8),i={handle:t,attributes:n,version:n.majorVersion,GLctx:e};return i.cannotHandleOffsetsInUniformArrayViews=function(e){function n(r,n){var t=e.createShader(n);return e.shaderSource(t,r),e.compileShader(t),t}try{var t=e.createProgram();e.attachShader(t,n("attribute vec4 p;void main(){gl_Position=p;}",e.VERTEX_SHADER)),e.attachShader(t,n("precision lowp float;uniform vec4 u;void main(){gl_FragColor=u;}",e.FRAGMENT_SHADER)),e.linkProgram(t);var i=new Float32Array(8);i[4]=1,e.useProgram(t);var o=e.getUniformLocation(t,"u");return e.uniform4fv(o,i.subarray(4,8)),!e.getUniform(t,o)[0]}catch(r){return!1}}(),e.canvas&&(e.canvas.GLctxObject=i),$.contexts[t]=i,(void 0===n.enableExtensionsByDefault||n.enableExtensionsByDefault)&&$.initExtensions(i),t},makeContextCurrent:function(e){return $.currentContext=$.contexts[e],t.ctx=K=$.currentContext&&$.currentContext.GLctx,!(e&&!K)},getContext:function(e){return $.contexts[e]},deleteContext:function(e){$.currentContext===$.contexts[e]&&($.currentContext=null),"object"==typeof JSEvents&&JSEvents.removeAllHandlersOnTarget($.contexts[e].GLctx.canvas),$.contexts[e]&&$.contexts[e].GLctx.canvas&&($.contexts[e].GLctx.canvas.GLctxObject=void 0),fe($.contexts[e]),$.contexts[e]=null},initExtensions:function(e){if(e||(e=$.currentContext),!e.initExtensionsDone){e.initExtensionsDone=!0;var r=e.GLctx;if(e.version<2){var n=r.getExtension("ANGLE_instanced_arrays");n&&(r.vertexAttribDivisor=function(e,r){n.vertexAttribDivisorANGLE(e,r)},r.drawArraysInstanced=function(e,r,t,i){n.drawArraysInstancedANGLE(e,r,t,i)},r.drawElementsInstanced=function(e,r,t,i,o){n.drawElementsInstancedANGLE(e,r,t,i,o)});var t=r.getExtension("OES_vertex_array_object");t&&(r.createVertexArray=function(){return t.createVertexArrayOES()},r.deleteVertexArray=function(e){t.deleteVertexArrayOES(e)},r.bindVertexArray=function(e){t.bindVertexArrayOES(e)},r.isVertexArray=function(e){return t.isVertexArrayOES(e)});var i=r.getExtension("WEBGL_draw_buffers");i&&(r.drawBuffers=function(e,r){i.drawBuffersWEBGL(e,r)})}r.disjointTimerQueryExt=r.getExtension("EXT_disjoint_timer_query");var o=["OES_texture_float","OES_texture_half_float","OES_standard_derivatives","OES_vertex_array_object","WEBGL_compressed_texture_s3tc","WEBGL_depth_texture","OES_element_index_uint","EXT_texture_filter_anisotropic","EXT_frag_depth","WEBGL_draw_buffers","ANGLE_instanced_arrays","OES_texture_float_linear","OES_texture_half_float_linear","EXT_blend_minmax","EXT_shader_texture_lod","WEBGL_compressed_texture_pvrtc","EXT_color_buffer_half_float","WEBGL_color_buffer_float","EXT_sRGB","WEBGL_compressed_texture_etc1","EXT_disjoint_timer_query","WEBGL_compressed_texture_etc","WEBGL_compressed_texture_astc","EXT_color_buffer_float","WEBGL_compressed_texture_s3tc_srgb","EXT_disjoint_timer_query_webgl2"],a=r.getSupportedExtensions();a&&a.length>0&&r.getSupportedExtensions().forEach(function(e){-1!=o.indexOf(e)&&r.getExtension(e)})}},populateUniformTable:function(e){for(var r=$.programs[e],n=$.programInfos[e]={uniforms:{},maxUniformLength:0,maxAttributeLength:-1,maxUniformBlockNameLength:-1},t=n.uniforms,i=K.getProgramParameter(r,35718),o=0;o>2]},getStr:function(){return C(ee.get())},get64:function(){var e=ee.get();return ee.get(),e},getZero:function(){ee.get()}};function re(){return h.length}function ne(e){try{var n=new ArrayBuffer(e);if(n.byteLength!=e)return!1;new Int8Array(n).set(h)}catch(r){return!1}return t._emscripten_replace_memory(n),h=new Int8Array(n),b=new Int16Array(n),g=new Int32Array(n),v=new Uint8Array(n),new Uint16Array(n),w=new Uint32Array(n),m=new Float32Array(n),new Float64Array(n),d=n,n}t.requestFullScreen=function(e,r,n){A("Module.requestFullScreen is deprecated. Please call Module.requestFullscreen instead."),t.requestFullScreen=t.requestFullscreen,j.requestFullScreen(e,r,n)},t.requestFullscreen=function(e,r,n){j.requestFullscreen(e,r,n)},t.requestAnimationFrame=function(e){j.requestAnimationFrame(e)},t.setCanvasSize=function(e,r,n){j.setCanvasSize(e,r,n)},t.pauseMainLoop=function(){j.mainLoop.pause()},t.resumeMainLoop=function(){j.mainLoop.resume()},t.getUserMedia=function(){j.getUserMedia()},t.createContext=function(e,r,n,t){return j.createContext(e,r,n,t)},N="undefined"!=typeof dateNow?dateNow:"object"==typeof performance&&performance&&"function"==typeof performance.now?function(){return performance.now()}:Date.now,$.init();var te="function"==typeof atob?atob:function(e){var r,n,t,i,o,a,f="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",A="",u=0;e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{r=f.indexOf(e.charAt(u++))<<2|(i=f.indexOf(e.charAt(u++)))>>4,n=(15&i)<<4|(o=f.indexOf(e.charAt(u++)))>>2,t=(3&o)<<6|(a=f.indexOf(e.charAt(u++))),A+=String.fromCharCode(r),64!==o&&(A+=String.fromCharCode(n)),64!==a&&(A+=String.fromCharCode(t))}while(u>2]),o[n>>2]=0,o[e+2364>>2]=0,(e=0|o[(n=e+2344|0)>>2])?(Y(0|o[(r=e+20|0)>>2]),o[r>>2]=0,U(e),o[n>>2]=0):o[n>>2]=0}function U(e){Nr(e|=0)}function Y(e){(e|=0)&&(z(e),U(e))}function z(e){var r=0,n=0,t=0;if(e|=0){U(0|o[e+160>>2]),U(0|o[e+172>>2]),W(0|o[e+168>>2]),X(e+124|0),X(e+136|0),n=56+(r=e+120|0)|0;do{o[r>>2]=0,r=r+4|0}while((0|r)<(0|n));if(U(0|o[(r=e+16|0)>>2]),o[r>>2]=0,(0|o[(r=e+176|0)>>2])>0){n=0;do{U(0|o[(t=e+180+(20*n|0)+16|0)>>2]),o[t>>2]=0,n=n+1|0}while((0|n)<(0|o[r>>2]))}o[r>>2]=0,o[e+260>>2]=0,U(0|o[(r=e+264|0)>>2]),o[r>>2]=0,o[e+12>>2]=0}}function W(e){(e|=0)&&U(e)}function X(e){(e|=0)&&(U(0|o[e>>2]),o[e>>2]=0)}function Q(e,r,n,i){e|=0,n|=0,i|=0;var f,A,u,s,c=0,d=0,h=0,b=0,g=0,w=0,m=0,k=0,p=0,C=0,y=0,I=0,E=0,D=0,L=0,x=0,S=0,_=0,B=0,M=0,F=0,P=0;if(f=0|o[(r|=0)>>2],(0|n)<0|(0|i)<1|(i+n|0)>(0|(u=0|o[(A=r+88|0)>>2])))return 0;s=e+2356|0;e:do{if(!(0|o[s>>2])){d=0|o[(c=e+2344|0)>>2];do{if(d)D=i,L=d,x=16;else{if(h=0|N(1,0,144),o[c>>2]=h,!h)return 0;if(h=0|o[r>>2],h=0|V(g=0|vn(0|(b=0|o[A>>2]),((0|b)<0)<<31>>31|0,0|h,((0|h)<0)<<31>>31|0),0|v(),1),o[e+2360>>2]=h,0|h&&(o[e+2364>>2]=h,o[e+2368>>2]=0,g=0|o[c>>2],m=1+(b=0|o[e+2348>>2])|0,k=(w=0|o[e+2352>>2])-1|0,p=g+24|0,0|o[2034]&&(o[2368]=0,o[2369]=1,o[2370]=2,o[2371]=3,o[2364]=0,o[2365]=1,o[2366]=2,o[2367]=3),o[2034]=0,o[g+136>>2]=h,o[g>>2]=o[r>>2],h=r+4|0,o[(C=g+4|0)>>2]=o[h>>2],w>>>0>=2)&&(w=3&t[b>>0],o[(y=g+8|0)>>2]=255&w,I=0|a[b>>0],o[g+12>>2]=I>>>2&3,E=(I=0|a[b>>0])>>>4&3,o[g+16>>2]=E,(255&w)<=1)&&!(E>>>0>1|(0|a[b>>0])>63)&&(j(p,520),H(0,p),o[g+64>>2]=g,o[p>>2]=o[r>>2],o[g+28>>2]=o[h>>2],o[g+96>>2]=o[r+72>>2],o[g+100>>2]=o[r+76>>2],o[g+104>>2]=o[r+80>>2],o[g+108>>2]=o[r+84>>2],o[g+112>>2]=o[A>>2],0|(0|o[y>>2]?0|Z(g,m,k):k>>>0>=(0|l(0|o[C>>2],0|o[g>>2]))>>>0&1))){if(k=0|o[c>>2],1==(0|o[k+16>>2])){D=u-n|0,L=k,x=16;break}o[e+2372>>2]=0,D=i,L=k,x=16;break}}}while(0);do{if(16==(0|x)){if(d=0|o[L>>2],k=0|o[L+112>>2],0|o[L+8>>2]){if(!(0|K(L,m=D+n|0)))break;S=m}else{if(g=0|o[(m=e+2368|0)>>2],C=0|l(d,n),y=1+(0|o[e+2348>>2])+C|0,p=(h=0|o[e+2364>>2])+C|0,E=(0|D)>0,b=0|o[(C=L+12|0)>>2])if(E){if(B=0|l(d,D+n+-1|0),Yn[31&o[9472+(b<<2)>>2]](g,y,p,d),1!=(0|D)){I=y,_=p,F=1;do{I=I+d|0,P=_,_=_+d|0,Yn[31&o[9472+(o[C>>2]<<2)>>2]](P,I,_,d),F=F+1|0}while((0|F)!=(0|D))}M=h+B|0}else M=g;else if(E){for(w=D+n+-1|0,I=y,_=0,B=p;In(0|B,0|I,0|d),(0|(_=_+1|0))!=(0|D);)I=I+d|0,B=B+d|0;M=h+(0|l(d,w))|0}else M=g;o[m>>2]=M,S=D+n|0}if((0|S)<(0|k)){if(!(0|o[s>>2]))break e}else o[s>>2]=1;if(0|(F=0|o[c>>2])&&(Y(0|o[(d=F+20|0)>>2]),o[d>>2]=0,U(F)),o[c>>2]=0,(0|(F=0|o[e+2372>>2]))<=0)break e;if(d=0|o[r+84>>2],0|J((_=(0|o[e+2364>>2])+(0|l(d,f))|0)+(I=0|o[r+76>>2])|0,(0|o[r+80>>2])-I|0,(0|o[A>>2])-d|0,f,F))break e}}while(0);return U(0|o[(F=e+2360|0)>>2]),o[F>>2]=0,o[e+2364>>2]=0,0|(F=0|o[c>>2])&&(Y(0|o[(d=F+20|0)>>2]),o[d>>2]=0,U(F)),o[c>>2]=0,0}}while(0);return 0|(0|o[e+2364>>2])+(0|l(f,n))}function N(e,r,n){var t,i,o=0;return t=0|vn(0|(n|=0),0,0|(e|=0),0|(r|=0)),i=0|v(),!(0==(0|e)&0==(0|r))&&(o=0|kn(2147418112,0,0|e,0|r),(0|t)!=(0|t)|0!=(0|i)|(r=0|v())>>>0<0|0==(0|r)&o>>>0>>0)?0:0|Vr(e,n)}function V(e,r,n){var t,i,o=0;return t=0|vn(0|(n|=0),0,0|(e|=0),0|(r|=0)),i=0|v(),!(0==(0|e)&0==(0|r))&&(o=0|kn(2147418112,0,0|e,0|r),(0|t)!=(0|t)|0!=(0|i)|(r=0|v())>>>0<0|0==(0|r)&o>>>0>>0)?0:0|Qr(0|l(e,n))}function j(e,r){if(512!=(-256&(r|=0)|0))return 0;if(!(e|=0))return 1;e=(r=e)+108|0;do{o[r>>2]=0,r=r+4|0}while((0|r)<(0|e));return 1}function H(e,r){e|=0,o[44+(r|=0)>>2]=4,o[r+48>>2]=5,o[r+52>>2]=5,o[r+40>>2]=e}function Z(e,r,n){e|=0,r|=0,n|=0;var i,a,f,A,u=0,s=0,l=0,c=0;if(!(i=0|N(1,0,272)))return 0;if(o[i>>2]=0,o[i+4>>2]=2,ke(),u=0|o[e>>2],o[(a=i+100|0)>>2]=u,l=0|o[(s=e+4|0)>>2],o[(f=i+104|0)>>2]=l,A=e+24|0,o[i+8>>2]=A,o[e+64>>2]=e,o[A>>2]=u,o[e+28>>2]=l,o[i>>2]=0,pe(i+24|0,r,n),!(0|Ce(0|o[e>>2],0|o[s>>2],1,i,0)))return z(i),U(i),0;e:do{if(1==(0|o[i+176>>2])&&3==(0|o[i+180>>2])&&(0|o[i+120>>2])<=0){if((0|(s=0|o[i+164>>2]))>0){n=0|o[i+168>>2],r=0;do{if(0|t[o[n+(548*r|0)+4>>2]>>0]){c=14;break e}if(0|t[o[n+(548*r|0)+8>>2]>>0]){c=14;break e}if(0|t[o[n+(548*r|0)+12>>2]>>0]){c=14;break e}r=r+1|0}while((0|r)<(0|s))}o[e+132>>2]=1,s=0|o[a>>2],n=0|vn(0|(r=0|o[f>>2]),((0|r)<0)<<31>>31|0,0|s,((0|s)<0)<<31>>31|0),s=0|v(),o[i+20>>2]=0,r=0|V(n,s,1),o[i+16>>2]=r,r?c=17:(o[i>>2]=1,c=19)}else c=14}while(0);do{if(14==(0|c)){if(o[e+132>>2]=0,r=0|o[e>>2],s=0|o[a>>2],l=0|vn(0|(n=0|o[f>>2]),((0|n)<0)<<31>>31|0,0|s,((0|s)<0)<<31>>31|0),s=0|v(),n=65535&r,r=0|bn(0|(u=0|Cn(0|r,((0|r)<0)<<31>>31|0,4)),0|v(),0|n,0),s=0|V(u=0|bn(0|r,0|v(),0|l,0|s),0|v(),4),o[i+16>>2]=s,s){o[i+20>>2]=s+(l<<2)+(n<<2),c=17;break}o[i>>2]=1,o[i+20>>2]=0,c=19;break}}while(0);return 17==(0|c)?(o[e+20>>2]=i,1):19==(0|c)?(z(i),U(i),0):0}function K(e,r){r|=0;var n,A,u,s,c,d,h,b,g,w=0,m=0,k=0,p=0,C=0,y=0,I=0,E=0,D=0,L=0,x=0,S=0,_=0,B=0,M=0,F=0,P=0,R=0,T=0,G=0,O=0,q=0,U=0,Y=0,z=0,W=0,X=0,Q=0,N=0,V=0,j=0,H=0,Z=0,K=0,J=0,ie=0,oe=0,ae=0,fe=0,Ae=0,ue=0,se=0,le=0,ce=0,de=0,he=0,ve=0,be=0,ge=0,we=0,me=0,ke=0,pe=0,Ce=0,ye=0,Ie=0,Ee=0,De=0,Le=0,xe=0,Se=0,_e=0,Be=0,Me=0,Fe=0,Pe=0,Re=0,Te=0,Ge=0,Oe=0,qe=0,Ue=0;if(n=0|o[20+(e|=0)>>2],(0|o[n+108>>2])>=(0|r))return 1;if(0|o[(w=e+132|0)>>2])m=0|o[n+16>>2];else{if($(),e=0|o[n+16>>2],!(0|o[w>>2]))return 0|te(n,e,0|o[n+100>>2],0|o[n+104>>2],r,1);m=e}e=0|o[n+100>>2],s=(A=0|o[(w=n+112|0)>>2])-(0|l(u=(0|A)/(0|e)|0,e))|0,c=n+24|0,d=0|l(0|o[n+104>>2],e),h=0|l(e,r),b=0|o[n+148>>2];e:do{if((0|A)<(0|h))if((p=0|o[(k=n+152|0)>>2])?(y=0|l(0|o[n+156>>2],p?u>>p:u),C=0|o[(0|o[n+160>>2])+(y+(p?s>>p:s)<<2)>>2]):C=0,0|o[(p=n+48|0)>>2])Oe=u,qe=A,Ue=p,pe=73;else{for(I=n+44|0,E=n+160|0,D=n+156|0,L=n+40|0,x=n+36|0,S=u,_=s,B=A,M=(0|o[(y=n+168|0)>>2])+(548*C|0)|0;;){_&b?T=M:((F=0|o[k>>2])?(R=0|l(0|o[D>>2],F?S>>F:S),P=0|o[(0|o[E>>2])+(R+(F?_>>F:_)<<2)>>2]):P=0,T=(0|o[y>>2])+(548*P|0)|0),(0|(F=0|o[I>>2]))>31?(ee(c),G=0|o[I>>2]):G=F,F=0|o[T>>2],R=0|pn(0|(O=0|o[(R=c)>>2]),0|(q=0|o[R+4>>2]),63&G|0),v(),(255&(Y=0|t[(R=F+((U=255&R)<<2)|0)>>0]))>8?(z=G+8|0,o[I>>2]=z,W=0|pn(0|O,0|q,63&z|0),v(),Q=X=R+((0|f[F+(U<<2)+2>>1])<<2)+(((1<<(255&Y)-8)-1&W)<<2)|0,N=0|t[X>>0],V=z):(Q=R,N=Y,V=G),Y=V+(255&N)|0,o[I>>2]=Y,z=65535&(R=0|i[Q+2>>1]);do{if((65535&R)<256)t[m+B>>0]=R,X=B+1|0,(0|(W=_+1|0))>=(0|e)?(0|S)<(0|r)&0==(15&(U=S+1|0)|0)?(re(n,U),j=X,H=U,Z=0,K=T):(j=X,H=U,Z=0,K=T):(j=X,H=S,Z=W,K=T);else{if((65535&R)>=280){J=B,ie=0,oe=p;break e}if(X=(W=z+-258|0)>>1,(65535&R)<260?(ae=z+-256|0,fe=Y,Ae=O,ue=q):(W=(0|ne(c,X))+((65535&(1&R|2))<>2],Ae=0|o[X>>2],ue=0|o[X+4>>2]),X=ae+1|0,W=0|o[T+16>>2],U=0|pn(0|Ae,0|ue,63&fe|0),v(),(255&(se=0|t[(U=W+((F=255&U)<<2)|0)>>0]))>8?(le=fe+8|0,o[I>>2]=le,ce=0|pn(0|Ae,0|ue,63&le|0),v(),he=de=U+((0|f[W+(F<<2)+2>>1])<<2)+(((1<<(255&se)-8)-1&ce)<<2)|0,ve=0|t[de>>0],be=le):(he=U,ve=se,be=fe),se=be+(255&ve)|0,o[I>>2]=se,le=65535&(U=0|i[he+2>>1]),(0|se)>31&&ee(c),de=(se=le+-2|0)>>1,((ge=(65535&U)<4?le:(0|ne(c,de))+((1&le|2)<120?we=ge+-119|0:(de=0|a[3584+ge>>0],we=(0|(le=(0|l(de>>>4,e))+(8-(15&de))|0))>1?le:1),(d-B|0)<(0|X)|(0|B)<(0|we)){J=B,ie=0,oe=p;break e}de=(le=m+B|0)+(0-we)|0;r:do{if((0|X)>7){switch(0|we){case 1:U=0|t[de>>0],me=0|l(255&U,16843009),ke=U;break;case 2:me=65537*(65535&(U=a[de>>0]|a[de+1>>0]<<8))|0,ke=255&U;break;case 4:me=U=a[de>>0]|a[de+1>>0]<<8|a[de+2>>0]<<16|a[de+3>>0]<<24,ke=255&U;break;default:pe=54;break r}do{if(3&le){if(U=de+1|0,se=le+1|0,t[le>>0]=ke,ce=me<<24|me>>>8,!(3&se)){Ce=ce,ye=ae,Ie=se,Ee=U,De=ae>>>2,pe=48;break}for(F=U,U=se,se=ce,ce=ae;W=F,F=F+1|0,Le=U,U=U+1|0,t[Le>>0]=0|t[W>>0],se=se<<24|se>>>8,xe=ce+-1|0,3&U;)ce=xe;(0|ce)>4?(Ce=se,ye=xe,Ie=U,Ee=F,De=xe>>2,pe=48):(Se=0,_e=xe,Be=U,Me=F)}else Ce=me,ye=X,Ie=le,Ee=de,De=X>>>2,pe=48}while(0);if(48==(0|pe)){pe=0,W=0;do{o[Ie+(W<<2)>>2]=Ce,W=W+1|0}while((0|W)<(0|De));Se=W<<2,_e=ye,Be=Ie,Me=Ee}if((0|Se)>=(0|_e))break;Le=Se;do{t[Be+Le>>0]=0|t[Me+Le>>0],Le=Le+1|0}while((0|Le)!=(0|_e))}else pe=54}while(0);do{if(54==(0|pe)){if(pe=0,(0|we)>=(0|X)){In(0|le,0|de,0|X);break}if((0|X)<=0)break;Le=0;do{t[le+Le>>0]=0|t[de+Le>>0],Le=Le+1|0}while((0|Le)!=(0|X))}}while(0);if(de=X+B|0,(0|(le=X+_|0))<(0|e))Fe=S,Pe=le;else for(Le=S,W=le;;){if(le=W-e|0,(0|Le)<(0|r)&0==(15&(Re=Le+1|0)|0)&&re(n,Re),(0|le)<(0|e)){Fe=Re,Pe=le;break}Le=Re,W=le}if((0|de)>=(0|h)|0==(Pe&b|0)){j=de,H=Fe,Z=Pe,K=T;break}(W=0|o[k>>2])?(Le=0|l(0|o[D>>2],W?Fe>>W:Fe),Te=0|o[(0|o[E>>2])+(Le+(W?Pe>>W:Pe)<<2)>>2]):Te=0,j=de,H=Fe,Z=Pe,K=(0|o[y>>2])+(548*Te|0)|0}}while(0);if(0|o[p>>2])break;if(Ge=(0|o[L>>2])==(0|o[x>>2])?(0|o[I>>2])>64&1:0,o[p>>2]=Ge,!((0|j)<(0|h)&0==(0|Ge))){Oe=H,qe=j,Ue=p,pe=73;break e}S=H,_=Z,B=j,M=K}o[p>>2]=1,Oe=H,qe=j,Ue=p,pe=73}else Oe=u,qe=A,Ue=n+48|0,pe=73}while(0);return 73==(0|pe)&&(re(n,(0|Oe)>(0|r)?r:Oe),J=qe,ie=1,oe=Ue),g=0|o[oe>>2]?1:(0|o[n+40>>2])==(0|o[n+36>>2])?(0|o[n+44>>2])>64&1:0,o[oe>>2]=g,0|ie&&!((0|d)>(0|J)&0!=(0|g))?(o[w>>2]=J,1):(o[n>>2]=0==(0|g)?3:5,0)}function J(e,r,n,o,A){o|=0;var u,s,c,d,h,v=0,b=0,g=0,w=0,m=0,k=0,p=0,C=0,y=0,I=0,E=0,D=0,L=0,x=0,S=0,_=0,B=0,M=0,F=0,P=0,R=0,T=0,G=0,q=0,Y=0,z=0,W=0;if(u=O,O=O+256|0,v=u,b=(0|(A|=0))/25|0,A>>>0>100)return O=u,0;if(0==(0|(e|=0))|(0|(r|=0))<1|(0|(n|=0))<1)return O=u,0;if(A=r+-1|0,g=(1|b<<1)>(0|r)?A>>1:b,b=n+-1|0,g=0-(s=(1|g<<1)>(0|n)?b>>1:g)|0,(0|s)<=0)return O=u,1;if(!(c=0|V(1,0,4094+(m=r<<1)+(k=0|l(1+(w=s<<1|1)|0,m))|0)))return O=u,0;for(Dn(0|(p=(d=c+((0|l(w,r))<<1)|0)+(0-r<<1)|0),0,0|m),h=c+k|0,k=0|l(w,w),Dn(0|v,0,256),w=0,C=e,y=255,I=0,E=0,D=255;;){L=0,x=y,S=I,_=D,B=E;do{x=(F=(0|_)>(0|(M=0|a[C+L>>0])))?M:x,_=F?M:_,S=(F=(0|B)<(0|M))?M:S,B=F?M:B,t[v+M>>0]=1,L=L+1|0}while((0|L)!=(0|r));if((0|(w=w+1|0))==(0|n))break;C=C+o|0,y=x,I=S,E=B,D=_}for(D=c,E=h+m|0,I=262144/(k>>>0)|0,k=-1,y=0,C=0,w=B-_|0;0|t[v+y>>0]?(_=C+1|0,(0|k)>-1?(P=y,R=_,T=(0|(B=y-k|0))<(0|w)?B:w):(P=y,R=_,T=w)):(P=k,R=C,T=w),256!=(0|(y=y+1|0));)k=P,C=R,w=T;w=E+2046|0,C=(E=T<<2)-(T=(C=12*T|0)>>2)|0,P=1;do{k=(G=(0|P)>(0|T)?(0|E)>(0|P)?(0|l(E-P|0,T))/(0|C)|0:0:P)>>2,i[w+(P<<1)>>1]=k,i[w+(0-P<<1)>>1]=0-k,P=P+1|0}while(1024!=(0|P));if(i[w>>1]=0,(0|R)>2&(0|g)<(0|n))for(R=(0|r)>0,P=(0|s)<0,G=r-s|0,C=s+-1|0,T=s+1|0,E=~s,k=d+(A<<1)|0,A=m+-2-s|0,m=g,g=e,y=e,e=D,v=p;;){if(p=v,v=e,R){_=0,B=0;do{L=(B=(65535&B)+(0|a[g+_>>0])|0)+(0|f[p+(_<<1)>>1])|0,M=v+(_<<1)|0,i[d+(_<<1)>>1]=L-(0|f[M>>1]),i[M>>1]=L,_=_+1|0}while((0|_)!=(0|r))}if(e=(0|(_=v+(r<<1)|0))==(0|d)?D:_,g=(0|m)>-1&(0|m)<(0|b)?g+o|0:g,(0|m)<(0|s))q=y;else{if(P)Y=0;else{_=0;do{p=0|l((0|f[d+(s-_<<1)>>1])+(0|f[d+(C+_<<1)>>1])&65535,I),i[h+(_<<1)>>1]=p>>>16,_=_+1|0}while((0|_)!=(0|T));Y=T}if((0|Y)<(0|G)){_=Y;do{p=0|l((0|f[d+(_+s<<1)>>1])-(0|f[d+(_+E<<1)>>1])&65535,I),i[h+(_<<1)>>1]=p>>>16,_=_+1|0}while((0|_)!=(0|G));z=G}else z=Y;if((0|z)<(0|r)){_=z;do{p=0|l((f[k>>1]<<1)-(0|f[d+(A-_<<1)>>1])-(0|f[d+(_+E<<1)>>1])&65535,I),i[h+(_<<1)>>1]=p>>>16,_=_+1|0}while((0|_)!=(0|r))}if(R){_=0;do{(0|S)>(0|(B=0|a[(p=y+_|0)>>0]))&(0|x)<(0|B)&&(W=(L=(0|i[w+((0|f[h+(_<<1)>>1])-(B<<2)<<1)>>1])+B|0)>>>0>255?255+(L>>31&-255)|0:255&L,t[p>>0]=W),_=_+1|0}while((0|_)!=(0|r))}q=y+o|0}if((0|(m=m+1|0))==(0|n))break;y=q}return U(c),O=u,1}function $(){o[2028]=0}function ee(e){var r,n,t=0,i=0,f=0,A=0,u=0,s=0,l=0,c=0,d=0,h=0;r=16+(e|=0)|0,t=0|o[(n=e+20|0)>>2];e:do{if((0|t)>7)for(i=e+8|0,f=0|o[e+12>>2],A=t,u=0|o[r>>2];;){if(u>>>0>=f>>>0){s=A;break e}if(c=0|pn(0|o[(l=e)>>2],0|o[l+4>>2],8),l=0|v(),o[(d=e)>>2]=c,o[d+4>>2]=l,d=0|Cn(0|a[(0|o[i>>2])+u>>0],0,56),h=0|v()|l,o[(l=e)>>2]=d|c,o[l+4>>2]=h,u=u+1|0,o[r>>2]=u,h=A+-8|0,o[n>>2]=h,(0|A)<=15){s=h;break}A=h}else s=t}while(0);0==(0|o[(t=e+24|0)>>2])&&((0|s)<65||(0|o[r>>2])!=(0|o[e+12>>2]))||(o[t>>2]=1,o[n>>2]=0)}function re(e,r){r|=0;var n,t,i,a=0,f=0,A=0,u=0,s=0,c=0;if(a=0|o[8+(e|=0)>>2],f=0|o[a+40>>2],t=e+108|0,A=0|o[((0|o[(n=f+12|0)>>2])>>>0<2?a+84|0:t)>>2],(0|(s=(0|(u=0|o[t>>2]))<(0|A)?A:u))>=(0|r))return o[(e+116|0)>>2]=r,void(o[t>>2]=r);if(u=0|o[a>>2],a=(0|o[f+136>>2])+(0|l(u,s))|0,ce(e+180|0,s,r,(0|o[e+16>>2])+(0|l(0|o[e+100>>2],s))|0,a),!(A=0|o[n>>2]))return o[(e+116|0)>>2]=r,void(o[t>>2]=r);if(i=f+140|0,f=0|l(u,r+-1-s|0),Yn[31&o[9472+(A<<2)>>2]](0|o[i>>2],a,a,u),(0|(A=s+1|0))!=(0|r)){s=a,c=A;do{A=s,s=s+u|0,Yn[31&o[9472+(o[n>>2]<<2)>>2]](A,s,s,u),c=c+1|0}while((0|c)!=(0|r))}o[i>>2]=a+f,o[(e+116|0)>>2]=r,o[t>>2]=r}function ne(e,r){var n,t,i,f=0,A=0,u=0,s=0,l=0,c=0,d=0,h=0,b=0,g=0;if(!((0|(r|=0))<25&0==(0|o[(n=24+(e|=0)|0)>>2])))return o[n>>2]=1,o[e+20>>2]=0,0;if(l=0|pn(0|(A=0|o[(f=e)>>2]),0|(u=0|o[f+4>>2]),63&(s=0|o[(f=e+20|0)>>2])|0),v(),t=o[3712+(r<<2)>>2]&l,l=s+r|0,o[f>>2]=l,r=e+16|0,(0|l)<=7)return 0|t;for(s=e+8|0,i=0|o[e+12>>2],c=0|o[r>>2],d=A,A=u,u=l;;){if(c>>>0>=i>>>0){h=u;break}if(l=0|pn(0|d,0|A,8),b=0|v(),o[(g=e)>>2]=l,o[g+4>>2]=b,d=(g=0|Cn(0|a[(0|o[s>>2])+c>>0],0,56))|l,A=0|v()|b,o[(b=e)>>2]=d,o[b+4>>2]=A,c=c+1|0,o[r>>2]=c,b=u+-8|0,o[f>>2]=b,(0|u)<=15){h=b;break}u=b}return(0|h)<65||(0|o[r>>2])!=(0|o[e+12>>2])?0|t:(o[n>>2]=1,o[f>>2]=0,0|t)}function te(e,r,n,A,u,s){r|=0,n|=0,A|=0,u|=0,s|=0;var c,d,h,b,g,w,m,k,p,C,y,I,E,D,L=0,x=0,S=0,_=0,B=0,M=0,F=0,P=0,R=0,T=0,G=0,O=0,q=0,U=0,Y=0,z=0,W=0,X=0,Q=0,N=0,V=0,j=0,H=0,Z=0,K=0,J=0,$=0,re=0,te=0,oe=0,ae=0,fe=0,Ae=0,ue=0,se=0,le=0,ce=0,de=0,he=0,ve=0,be=0,ge=0,we=0,me=0,ke=0,pe=0,Ce=0,ye=0,Ie=0,Ee=0,De=0,Le=0,xe=0,Se=0,_e=0,Be=0,Me=0,Fe=0,Pe=0,Re=0,Te=0,Ge=0,Oe=0,qe=0,Ue=0,Ye=0,ze=0,We=0,Xe=0,Qe=0,Ne=0,Ve=0,je=0,He=0,Ze=0,Ke=0,Je=0,$e=0,er=0,rr=0,nr=0,tr=0,ir=0,or=0,ar=0,fr=0,Ar=0,ur=0,sr=0,lr=0,cr=0,dr=0,hr=0,vr=0,br=0,gr=0,wr=0,mr=0,kr=0,pr=0;b=(d=0|o[(c=112+(e|=0)|0)>>2])-(0|l(h=(0|d)/(0|n)|0,n))|0,g=e+24|0,w=r+(d<<2)|0,m=r+((0|l(A,n))<<2)|0,k=r+((A=0|l(u,n))<<2)|0,C=280+(L=0|o[(p=e+120|0)>>2])|0,y=0==(0|o[(x=e+56|0)>>2])?16777216:h,I=(0|L)>0,L=e+124|0,E=I?L:0,D=0|o[e+148>>2];e:do{if((0|d)<(0|A))for((S=0|o[e+152>>2])?(B=0|l(0|o[e+156>>2],S?h>>S:h),_=0|o[(0|o[e+160>>2])+(B+(S?b>>S:b)<<2)>>2]):_=0,S=r,B=e+64|0,M=e+96|0,F=e+152|0,P=e+136|0,R=e+168|0,T=e+160|0,G=e+156|0,O=e+44|0,q=0!=(0|s),U=e+48|0,Y=e+40|0,z=e+36|0,W=E+4|0,X=m,Q=0==(0|s),N=h,V=b,j=w,H=w,Z=y,K=(0|o[e+168>>2])+(548*_|0)|0;;){J=H,(0|N)<(0|Z)?$=Z:(re=j-S|0,o[B>>2]=o[g>>2],o[B+4>>2]=o[g+4>>2],o[B+8>>2]=o[g+8>>2],o[B+12>>2]=o[g+12>>2],o[B+16>>2]=o[g+16>>2],o[B+20>>2]=o[g+20>>2],o[B+24>>2]=o[g+24>>2],o[B+28>>2]=o[g+28>>2],o[M>>2]=re>>2,(0|o[p>>2])>0&&ie(L,P),$=N+8|0),V&D?ae=K:((re=0|o[F>>2])?(oe=0|l(0|o[G>>2],re?N>>re:N),te=0|o[(0|o[T>>2])+(oe+(re?V>>re:V)<<2)>>2]):te=0,ae=(0|o[R>>2])+(548*te|0)|0);do{if(0|o[ae+28>>2])Me=H,Fe=J,Pe=0|o[ae+24>>2],Ee=45;else{if((0|o[O>>2])>31&&ee(g),0|o[ae+32>>2]){if(le=0|pn(0|(fe=0|o[(Ae=g)>>2]),0|(oe=0|o[Ae+4>>2]),63&(Ae=0|o[O>>2])|0),v(),le=0|o[ae+36+((ue=63&le)<<3)>>2],ce=0|o[ae+36+(ue<<3)+4>>2],ue=le+Ae|0,(0|le)<256?(o[O>>2]=ue,o[j>>2]=ce,De=0):(o[O>>2]=ue+-256,De=ce),0|o[U>>2]){pe=N,Ce=j,ye=U,Ie=1,Ee=111;break e}if((0|o[Y>>2])==(0|o[z>>2])&&(0|o[O>>2])>=65){Le=N,xe=j,Se=U,Ee=108;break e}if(!De){_e=H,Be=J,Ee=46;break}we=De,me=fe,ke=oe}else{if(re=0|o[ae>>2],ue=0|pn(0|(fe=0|o[(oe=g)>>2]),0|(Ae=0|o[oe+4>>2]),63&(oe=0|o[O>>2])|0),v(),(255&(le=0|t[(ue=re+((se=255&ue)<<2)|0)>>0]))>8?(ce=oe+8|0,o[O>>2]=ce,de=0|pn(0|fe,0|Ae,63&ce|0),v(),ve=he=ue+((0|f[re+(se<<2)+2>>1])<<2)+(((1<<(255&le)-8)-1&de)<<2)|0,be=0|t[he>>0],ge=ce):(ve=ue,be=le,ge=oe),o[O>>2]=ge+(255&be),0|o[U>>2]){pe=N,Ce=j,ye=U,Ie=1,Ee=111;break e}we=0|f[ve+2>>1],me=fe,ke=Ae}if((0|o[Y>>2])==(0|o[z>>2])&&(0|o[O>>2])>=65){Le=N,xe=j,Se=U,Ee=108;break e}if((0|we)<256){if(0|o[ae+20>>2]){Me=H,Fe=J,Pe=o[ae+24>>2]|we<<8,Ee=45;break}if(oe=0|o[ae+4>>2],ce=0|pn(0|me,0|ke,63&(fe=0|o[O>>2])|0),v(),(255&(le=0|t[(ce=oe+((ue=255&ce)<<2)|0)>>0]))>8?(Ae=fe+8|0,o[O>>2]=Ae,he=0|pn(0|me,0|ke,63&Ae|0),v(),Re=de=ce+((0|f[oe+(ue<<2)+2>>1])<<2)+(((1<<(255&le)-8)-1&he)<<2)|0,Te=0|t[de>>0],Ge=Ae):(Re=ce,Te=le,Ge=fe),fe=Ge+(255&Te)|0,o[O>>2]=fe,le=0|f[Re+2>>1],(0|fe)>31?(ee(g),ce=g,Oe=0|o[O>>2],qe=0|o[ce>>2],Ue=0|o[ce+4>>2]):(Oe=fe,qe=me,Ue=ke),fe=0|o[ae+8>>2],ce=0|pn(0|qe,0|Ue,63&Oe|0),v(),(255&(de=0|t[(ce=fe+((Ae=255&ce)<<2)|0)>>0]))>8?(he=Oe+8|0,o[O>>2]=he,ue=0|pn(0|qe,0|Ue,63&he|0),v(),Ye=oe=ce+((0|f[fe+(Ae<<2)+2>>1])<<2)+(((1<<(255&de)-8)-1&ue)<<2)|0,ze=0|t[oe>>0],We=he):(Ye=ce,ze=de,We=Oe),de=We+(255&ze)|0,o[O>>2]=de,ce=0|f[Ye+2>>1],he=0|o[ae+12>>2],oe=0|pn(0|qe,0|Ue,63&de|0),v(),(255&(Ae=0|t[(oe=he+((ue=255&oe)<<2)|0)>>0]))>8?(fe=de+8|0,o[O>>2]=fe,se=0|pn(0|qe,0|Ue,63&fe|0),v(),Xe=re=oe+((0|f[he+(ue<<2)+2>>1])<<2)+(((1<<(255&Ae)-8)-1&se)<<2)|0,Qe=0|t[re>>0],Ne=fe):(Xe=oe,Qe=Ae,Ne=de),de=Ne+(255&Qe)|0,o[O>>2]=de,0|o[U>>2]){pe=N,Ce=j,ye=U,Ie=1,Ee=111;break e}if(!((0|de)<65||(0|o[Y>>2])!=(0|o[z>>2]))){Le=N,xe=j,Se=U,Ee=108;break e}Me=H,Fe=J,Pe=le<<16|we<<8|ce|(0|f[Xe+2>>1])<<24,Ee=45;break}if((0|we)>=280){if((0|we)>=(0|C))break e;if(ce=we+-280|0,le=0|o[E>>2],H>>>0>>0){Ae=(de=j+-1+(0-J)|0)>>>2,de=H;do{oe=0|o[de>>2],de=de+4|0,fe=0|o[W>>2],re=0|l(oe,506832829),o[le+((fe?re>>>fe:re)<<2)>>2]=oe}while(de>>>0>>0);Ve=de=H+4+(Ae<<2)|0,je=de}else Ve=H,je=J;Me=Ve,Fe=je,Pe=0|o[le+(ce<<2)>>2],Ee=45;break}if(de=we+-256|0,re=(oe=we+-258|0)>>1,(0|we)<260?(He=de,Ze=me,Ke=ke):(He=oe=(0|ne(g,re))+((1&de|2)<>2],Ke=0|o[re+4>>2]),re=He+1|0,oe=0|o[ae+16>>2],fe=0|pn(0|Ze,0|Ke,63&(de=0|o[O>>2])|0),v(),(255&(ue=0|t[(fe=oe+((se=255&fe)<<2)|0)>>0]))>8?(he=de+8|0,o[O>>2]=he,Je=0|pn(0|Ze,0|Ke,63&he|0),v(),er=$e=fe+((0|f[oe+(se<<2)+2>>1])<<2)+(((1<<(255&ue)-8)-1&Je)<<2)|0,rr=0|t[$e>>0],nr=he):(er=fe,rr=ue,nr=de),de=nr+(255&rr)|0,o[O>>2]=de,fe=65535&(ue=0|i[er+2>>1]),(0|de)>31&&ee(g),he=(de=fe+-2|0)>>1,((tr=(65535&ue)<4?fe:(0|ne(g,he))+((1&fe|2)<120?ir=tr+-119|0:(he=0|a[3584+tr>>0],ir=(0|(fe=(0|l(he>>>4,n))+(8-(15&he))|0))>1?fe:1),0|o[U>>2]){pe=N,Ce=j,ye=U,Ie=1,Ee=111;break e}if((0|o[Y>>2])==(0|o[z>>2])&&(0|o[O>>2])>=65){Le=N,xe=j,Se=U,Ee=108;break e}if(((he=(fe=j)-S|0)>>2|0)<(0|ir))break e;if(((he=X-fe|0)>>2|0)<(0|re))break e;he=j+(0-ir<<2)|0;do{if(0==(3&fe|0)&(0|re)>3&(0|ir)<3){1==(0|ir)?(or=ue=0|o[he>>2],ar=ue,fr=ue):(or=de=0|o[(ue=he)>>2],ar=de,fr=0|o[ue+4>>2]),4&fe?(o[j>>2]=or,Ar=He,ur=j+4|0,sr=he+4|0,lr=fr,cr=ar):(Ar=re,ur=j,sr=he,lr=ar,cr=fr),ue=Ar>>>1,de=0;do{o[($e=ur+(de<<3)|0)>>2]=lr,o[$e+4>>2]=cr,de=de+1|0}while(de>>>0>>0);if(ue=de<<1,!(1&Ar))break;o[ur+(ue<<2)>>2]=o[sr+(ue<<2)>>2]}else{if((0|ir)>=(0|re)){In(0|j,0|he,re<<2|0);break}if((0|re)<=0)break;ue=0;do{o[j+(ue<<2)>>2]=o[he+(ue<<2)>>2],ue=ue+1|0}while((0|ue)!=(0|re))}}while(0);he=j+(re<<2)|0,fe=re+V|0;r:do{if((0|fe)<(0|n))dr=N,hr=fe;else{if(Q)for(ce=fe,le=N;;){if(ue=le+1|0,(0|(Ae=ce-n|0))<(0|n)){dr=ue,hr=Ae;break r}ce=Ae,le=ue}for(le=fe,ce=N;;){if(ue=le-n|0,(0|ce)<(0|u)&0==(15&(Ae=ce+1|0)|0)&&Un[3&s](e,Ae),(0|ue)<(0|n)){dr=Ae,hr=ue;break}le=ue,ce=Ae}}}while(0);if(hr&D?((fe=0|o[F>>2])?(re=0|l(0|o[G>>2],fe?dr>>fe:dr),br=0|o[(0|o[T>>2])+(re+(fe?hr>>fe:hr)<<2)>>2]):br=0,vr=(0|o[R>>2])+(548*br|0)|0):vr=ae,!(I&H>>>0>>0)){gr=he,wr=dr,mr=hr,kr=vr,pr=H;break}fe=0|o[E>>2],ce=(re=j+3+((He<<2)-J)|0)>>>2,re=H;do{le=0|o[re>>2],re=re+4|0,Ae=0|o[W>>2],ue=0|l(le,506832829),o[fe+((Ae?ue>>>Ae:ue)<<2)>>2]=le}while(re>>>0>>0);gr=he,wr=dr,mr=hr,kr=vr,pr=H+4+(ce<<2)|0}}while(0);if(45==(0|Ee)&&(Ee=0,o[j>>2]=Pe,_e=Me,Be=Fe,Ee=46),46==(0|Ee))if(Ee=0,J=j+4|0,(0|(re=V+1|0))>=(0|n))if(q&(0|N)<(0|u)&0==(15&(fe=N+1|0)|0)&&Un[3&s](e,fe),I&_e>>>0>>0){for(le=0|o[E>>2],Ae=(ue=(_e>>>0>j>>>0?_e:j)+3+(0-Be)|0)>>>2,ue=_e;de=0|o[ue>>2],$e=0|o[W>>2],Je=0|l(de,506832829),o[le+(($e?Je>>>$e:Je)<<2)>>2]=de,ue>>>0>>0;)ue=ue+4|0;gr=J,wr=fe,mr=0,kr=ae,pr=_e+4+(Ae<<2)|0}else gr=J,wr=fe,mr=0,kr=ae,pr=_e;else gr=J,wr=N,mr=re,kr=ae,pr=_e;if(!(gr>>>0>>0)){Le=wr,xe=gr,Se=U,Ee=108;break}N=wr,V=mr,j=gr,H=pr,Z=$,K=kr}else Le=h,xe=w,Se=e+48|0,Ee=108}while(0);if(108==(0|Ee)&&(0|o[Se>>2]?(pe=Le,Ce=xe,ye=Se,Ie=1,Ee=111):(0|o[e+40>>2])==(0|o[e+36>>2])?(pe=Le,Ce=xe,ye=Se,Ie=(0|o[e+44>>2])>64&1,Ee=111):(pe=Le,Ce=xe,ye=Se,Ie=0,Ee=111)),111==(0|Ee)){if(o[ye>>2]=Ie,Ce>>>0>>0&(1^((ye=0==(0|Ie))|0==(0|o[x>>2]))))return o[e>>2]=5,x=e+64|0,o[g>>2]=o[x>>2],o[g+4>>2]=o[x+4>>2],o[g+8>>2]=o[x+8>>2],o[g+12>>2]=o[x+12>>2],o[g+16>>2]=o[x+16>>2],o[g+20>>2]=o[x+20>>2],o[g+24>>2]=o[x+24>>2],o[g+28>>2]=o[x+28>>2],o[c>>2]=o[e+96>>2],(0|o[p>>2])<=0?1:(ie(e+136|0,L),1);if(ye)return 0|s&&Un[3&s](e,(0|pe)>(0|u)?u:pe),o[e>>2]=0,pe=Ce-r|0,o[c>>2]=pe>>2,1}return o[e>>2]=3,0}function ie(e,r){e|=0,In(0|o[(r|=0)>>2],0|o[e>>2],4<>2]|0)}function oe(e,r,n,i,a){r|=0,n|=0,i|=0,a|=0;var f,A,u=0,s=0,c=0,d=0,h=0,v=0,b=0,g=0,w=0,m=0,k=0,p=0,C=0,y=0,I=0,E=0,D=0,L=0,x=0,S=0,_=0,B=0,M=0,F=0,P=0,R=0,T=0,G=0,q=0;switch(f=O,O=O+16|0,u=f,A=0|o[(s=8+(e|=0)|0)>>2],0|o[e>>2]){case 2:return function(e,r,n){e|=0,n|=0;var t=0,i=0,a=0;if(!((0|(r|=0))<=0)){t=0;do{a=(i=0|o[e+(t<<2)>>2])>>>8&255,o[n+(t<<2)>>2]=(a<<16|a)+(16711935&i)&16711935|-16711936&i,t=t+1|0}while((0|t)!=(0|r))}}(i,0|l(A,n-r|0),a),void(O=f);case 0:if(r)w=r,m=i,k=a,p=A+-1|0;else{if(d=(c=0|o[i>>2])-16777216&-16711936|16711935&c,o[a>>2]=d,c=i+4|0,h=A+-1|0,v=a+4|0,(0|A)>1){b=0,g=d;do{g=(-16711936&(d=0|o[c+(b<<2)>>2]))+(-16711936&g)&-16711936|(16711935&d)+(16711935&g)&16711935,o[v+(b<<2)>>2]=g,b=b+1|0}while((0|b)!=(0|h))}w=1,m=i+(A<<2)|0,k=a+(A<<2)|0,p=h}g=(b=1<<(h=0|o[e+4>>2]))-1|0,v=b+p|0,p=h?v>>>h:v;e:do{if((0|w)<(0|n)){if(v=0-A|0,c=0-b|0,(0|A)<=1)for(d=w,C=m,y=k;;){if(I=0|o[y+(v<<2)>>2],E=0|o[C>>2],o[y>>2]=(-16711936&E)+(-16711936&I)&-16711936|(16711935&E)+(16711935&I)&16711935,(0|(d=d+1|0))==(0|n))break e;C=C+(A<<2)|0,y=y+(A<<2)|0}for(y=(0|o[e+16>>2])+((0|l(p,h?w>>h:w))<<2)|0,C=w,d=m,I=k;;){for(E=0|o[I+(v<<2)>>2],D=0|o[d>>2],o[I>>2]=(-16711936&D)+(-16711936&E)&-16711936|(16711935&D)+(16711935&E)&16711935,E=1,D=y;L=0|o[D>>2],S=E,E=(0|(x=(E&c)+b|0))>(0|A)?A:x,_=I+(S<<2)|0,Yn[31&o[9488+((L>>>8&15)<<2)>>2]](d+(S<<2)|0,_+(v<<2)|0,E-S|0,_),!((0|A)<=(0|x));)D=D+4|0;if((0|(D=C+1|0))==(0|n))break;y=0==(D&g|0)?y+(p<<2)|0:y,C=D,d=d+(A<<2)|0,I=I+(A<<2)|0}}}while(0);return(0|o[e+12>>2])==(0|n)?void(O=f):(In(a+(0-A<<2)|0,a+((0|l(A,~r+n|0))<<2)|0,A<<2|0),void(O=f));case 1:if(m=A-(k=A&0-(g=1<<(p=0|o[e+4>>2])))|0,w=(b=g+-1|0)+A|0,h=p?w>>>p:w,(0|n)<=(0|r))return void(O=f);if(w=(0|o[e+16>>2])+((0|l(h,p?r>>p:r))<<2)|0,p=u+1|0,I=u+2|0,(0|k)<=0){for(d=(0|A)>0,C=a,y=w,v=r,c=i;t[u>>0]=0,t[u+1>>0]=0,t[u+2>>0]=0,d?(D=0|o[y>>2],t[u>>0]=D,t[p>>0]=D>>>8,t[I>>0]=D>>>16,xe(u,c,m,C),B=c+(m<<2)|0,M=C+(m<<2)|0):(B=c,M=C),(0|(D=v+1|0))!=(0|n);)C=M,y=0==(D&b|0)?y+(h<<2)|0:y,v=D,c=B;return void(O=f)}for(B=a,c=w,w=r,v=i;;){t[u>>0]=0,t[u+1>>0]=0,t[u+2>>0]=0,y=v+(k<<2)|0,M=c,C=v,d=B;do{D=M,M=M+4|0,E=0|o[D>>2],t[u>>0]=E,t[p>>0]=E>>>8,t[I>>0]=E>>>16,xe(u,C,g,d),C=C+(g<<2)|0,d=d+(g<<2)|0}while(C>>>0>>0);if(C>>>0<(v+(A<<2)|0)>>>0?(y=0|o[M>>2],t[u>>0]=y,t[p>>0]=y>>>8,t[I>>0]=y>>>16,xe(u,C,m,d),F=C+(m<<2)|0,P=d+(m<<2)|0):(F=C,P=d),(0|(y=w+1|0))==(0|n))break;B=P,c=0==(y&b|0)?c+(h<<2)|0:c,w=y,v=F}return void(O=f);case 3:if((0|i)==(0|a)&(0|(v=0|o[(F=e+4|0)>>2]))>0){if(h=A+-1+(1<>>v:h,w))<<2)|0),0|i,b<<2|0),b=0|o[F>>2],F=0|o[s>>2],s=0|o[e+16>>2],(0|(c=b?8>>>b:8))>=8)return Be(w,s,i,r,n,F),void(O=f);if(h=(1<(0|r)&(0|F)>0))return void(O=f);for(P=w,w=i,B=r;;){for(m=0,u=0,I=P,p=w;m&h?(R=u,T=I):(R=(g=0|o[I>>2])>>>8&255,T=I+4|0),o[p>>2]=o[s+((R&b)<<2)>>2],(0|(m=m+1|0))!=(0|F);)u=c?R>>>c:R,I=T,p=p+4|0;if((0|(B=B+1|0))==(0|n))break;P=T,w=w+(F<<2)|0}return void(O=f)}if(F=0|o[e+16>>2],(0|(e=v?8>>>v:8))>=8)return Be(i,F,a,r,n,A),void(O=f);if(w=(1<(0|r)&(0|A)>0))return void(O=f);for(T=i,i=a,a=r;;){for(r=0,P=0,B=T,R=i;r&w?(G=P,q=B):(G=(c=0|o[B>>2])>>>8&255,q=B+4|0),o[R>>2]=o[F+((G&v)<<2)>>2],(0|(r=r+1|0))!=(0|A);)P=e?G>>>e:G,B=q,R=R+4|0;if((0|(a=a+1|0))==(0|n))break;T=q,i=i+(A<<2)|0}return void(O=f);default:return void(O=f)}}function ae(e,r){var n,t;return r|=0,n=0|o[32+(e|=0)>>2],0|((0|(t=((0|o[e+24>>2])-1+n|0)/(0|n)|0))>(0|r)?r:t)}function fe(e,r,n,t,i){r|=0,n|=0,i|=0;var o=0,a=0;if(!((0|(t|=0))<=0))for(o=0,a=e|=0;de(a,n,i),(0|(o=o+1|0))!=(0|t);)a=a+r|0}function Ae(e,r,n,t){t|=0;var i,a,f,A,u,s,c,d,h,v,b=0,g=0,w=0,m=0,k=0,p=0,C=0;if(i=24+(e|=0)|0,(0|(r|=0))<=0)return 0;for(a=e+56|0,f=e+64|0,A=e+4|0,u=e+76|0,s=e+80|0,c=e+8|0,d=e+52|0,h=e+60|0,v=e+32|0,g=n|=0,n=0;;){if((0|o[f>>2])<(0|o[a>>2])&&(0|o[i>>2])<=0){b=n,w=12;break}if(0|o[A>>2]&&(m=0|o[u>>2],o[u>>2]=o[s>>2],o[s>>2]=m),le(e,g),0==(0|o[A>>2])&&(0|l(0|o[d>>2],0|o[c>>2]))>0){m=0|o[s>>2],k=0|o[u>>2],p=0;do{o[(C=k+(p<<2)|0)>>2]=(0|o[C>>2])+(0|o[m+(p<<2)>>2]),p=p+1|0}while((0|p)<(0|l(0|o[d>>2],0|o[c>>2])))}if(o[h>>2]=1+(0|o[h>>2]),p=n+1|0,o[i>>2]=(0|o[i>>2])-(0|o[v>>2]),!((0|p)<(0|r))){b=p,w=12;break}g=g+t|0,n=p}return 12==(0|w)?0|b:0}function ue(e){var r=0,n=0,i=0,a=0,f=0,A=0,u=0;if(!((0|o[(r=24+(e|=0)|0)>>2])>=1)){do{if(0|o[e+4>>2])Ge(e);else{if(0|o[e+20>>2]){Oe(e);break}if(n=e+8|0,(0|l(0|o[(i=e+52|0)>>2],0|o[n>>2]))>0){f=e+68|0,A=0,u=0|o[(a=e+76|0)>>2];do{t[(0|o[f>>2])+A>>0]=o[u+(A<<2)>>2],u=0|o[a>>2],o[u+(A<<2)>>2]=0,A=A+1|0}while((0|A)<(0|l(0|o[i>>2],0|o[n>>2])))}}}while(0);o[r>>2]=(0|o[r>>2])+(0|o[e+28>>2]),o[(r=e+68|0)>>2]=(0|o[r>>2])+(0|o[e+72>>2]),o[(r=e+64|0)>>2]=1+(0|o[r>>2])}}function se(e,r,n,i){e|=0,r|=0,i|=0;var a=0,f=0,A=0,u=0;switch(0|(n|=0)){case 0:return void function(e,r,n){var i;if(n|=0,i=(e|=0)+((r|=0)<<2)|0,!((0|r)<=0))for(r=n,n=e;e=0|o[n>>2],n=n+4|0,t[r>>0]=e>>>16,t[r+1>>0]=e>>>8,t[r+2>>0]=e,!(n>>>0>=i>>>0);)r=r+3|0}(e,r,i);case 1:return void Se(e,r,i);case 7:return Se(e,r,i),void be(i,0,r,1,0);case 2:return void function(e,r,n){var i;if(n|=0,i=(e|=0)+((r|=0)<<2)|0,!((0|r)<=0))for(r=n,n=e;e=0|o[n>>2],n=n+4|0,t[r>>0]=e,t[r+1>>0]=e>>>8,t[r+2>>0]=e>>>16,!(n>>>0>=i>>>0);)r=r+3|0}(e,r,i);case 3:return void In(0|i,0|e,r<<2|0);case 8:return In(0|i,0|e,r<<2|0),void be(i,0,r,1,0);case 4:if(a=e+(r<<2)|0,(0|r)<=0)return;for(f=i,A=e;u=0|yn(0|o[A>>2]),A=A+4|0,t[f>>0]=u,t[f+1>>0]=u>>8,t[f+2>>0]=u>>16,t[f+3>>0]=u>>24,!(A>>>0>=a>>>0);)f=f+4|0;return;case 9:if(f=e+(r<<2)|0,(0|r)>0)for(a=i,A=e;u=0|yn(0|o[A>>2]),A=A+4|0,t[a>>0]=u,t[a+1>>0]=u>>8,t[a+2>>0]=u>>16,t[a+3>>0]=u>>24,!(A>>>0>=f>>>0);)a=a+4|0;return void be(i,1,r,1,0);case 5:return void _e(e,r,i);case 10:return _e(e,r,i),void ve(i,r,1,0);case 6:return void function(e,r,n){var i;if(n|=0,i=(e|=0)+((r|=0)<<2)|0,!((0|r)<=0))for(r=n,n=e;e=0|o[n>>2],n=n+4|0,t[r>>0]=e>>>16&248|e>>>13&7,t[r+1>>0]=e>>>5&224|e>>>3&31,!(n>>>0>=i>>>0);)r=r+2|0}(e,r,i);default:return}}function le(e,r){return r|=0,0|o[(e|=0)>>2]?void function(e,r){r|=0;var n,t,i=0,f=0,A=0,u=0,s=0,c=0,d=0,h=0,v=0,b=0,g=0,w=0,m=0,k=0,p=0,C=0,y=0,I=0,E=0;if(n=0|o[8+(e|=0)>>2],t=0|l(0|o[e+52>>2],n),!((0|n)<=0)){i=e+36|0,f=e+44|0,A=e+80|0,u=e+40|0,e=0;do{if(s=0|o[i>>2],c=0|a[r+e>>0],d=e+n|0,h=(0|o[f>>2])>1?0|a[r+d>>0]:c,v=0|l(s,c),b=0|o[A>>2],o[b+(e<<2)>>2]=v,(0|d)<(0|t))for(v=c,c=s,s=d,g=h,w=d;m=s+n|0,(0|(d=c-(0|o[u>>2])|0))<0?(k=0|o[i>>2],p=0|a[r+m>>0],C=g,y=k+d|0,I=m,E=k):(p=g,C=v,y=d,I=s,E=0|o[i>>2]),d=(0|l(E,p))+(0|l(C-p|0,y))|0,o[b+(w<<2)>>2]=d,!((0|(w=w+n|0))>=(0|t));)v=C,c=y,s=I,g=p;e=e+1|0}while((0|e)!=(0|n))}}(e,r):void qe(e,r)}function ce(e,r,n,i,f){r|=0,n|=0,i|=0,f|=0;var A,u,s,l=0,c=0,d=0,h=0,v=0,b=0,g=0,w=0;if(A=(l=0|o[4+(e|=0)>>2])?8>>>l:8,u=0|o[e+8>>2],s=0|o[e+16>>2],(0|A)>=8)!function(e,r,n,i,f,A){e|=0,r|=0,n|=0;var u=0,s=0,l=0,c=0;if((0|(i|=0))<(0|(f|=0))&(0|(A|=0))>0)for(u=i,i=e,e=n;;){for(n=0,s=e,l=i,i=i+A|0;c=0|o[r+((0|a[l>>0])<<2)>>2],t[s>>0]=c>>>8,(0|(n=n+1|0))!=(0|A);)s=s+1|0,l=l+1|0;if((0|(u=u+1|0))==(0|f))break;e=e+A|0}}(i,s,f,r,n,u);else if(e=(1<0)for(c=i,i=f,f=r;;){for(r=0,d=0,h=c,v=i;d&e?(b=r,g=h):(b=0|a[h>>0],g=h+1|0),w=0|o[s+((b&l)<<2)>>2],t[v>>0]=w>>>8,(0|(d=d+1|0))!=(0|u);)r=A?b>>>A:b,h=g,v=v+1|0;if((0|(f=f+1|0))==(0|n))break;c=g,i=i+u|0}}function de(e,r,n){e|=0,n|=0;var t=0,i=0,a=0,f=0,A=0,u=0;if(!((0|(r|=0))<=0))if(n){n=0;do{(t=0|o[(a=e+(n<<2)|0)>>2])>>>0<4278190080&&(u=t>>>0<16777216?0:(8388608+(0|l(A=4278190080/(t>>>24>>>0)|0,255&t))|0)>>>24|-16777216&t|(i=8388608+(0|l(A,t>>>8&255))|0)>>>24<<8|(8388608+(0|l(A,t>>>16&255))|0)>>>24<<16,o[a>>2]=u),n=n+1|0}while((0|n)!=(0|r))}else{n=0;do{(i=0|o[(t=e+(n<<2)|0)>>2])>>>0<4278190080&&(a=i>>>0<16777216?0:(8388608+(0|l(f=65793*(i>>>24)|0,255&i))|0)>>>24|-16777216&i|(8388608+(0|l(f,i>>>8&255))|0)>>>24<<8|(A=8388608+(0|l(f,i>>>16&255))|0)>>>24<<16,o[t>>2]=a),n=n+1|0}while((0|n)!=(0|r))}}function he(e,r,n,i){e|=0,r|=0,i|=0;var o=0,f=0,A=0;if(!((0|(n|=0))<=0))if(i){i=0;do{switch((A=0|t[r+i>>0])<<24>>24){case-1:break;case 0:t[e+i>>0]=0;break;default:o=8388608+(0|l(4278190080/((255&A)>>>0)|0,0|a[(f=e+i|0)>>0]))|0,t[f>>0]=o>>>24}i=i+1|0}while((0|i)!=(0|n))}else{i=0;do{switch((o=0|t[r+i>>0])<<24>>24){case-1:break;case 0:t[e+i>>0]=0;break;default:A=8388608+(0|l(65793*(255&o)|0,0|a[(f=e+i|0)>>0]))|0,t[f>>0]=A>>>24}i=i+1|0}while((0|i)!=(0|n))}}function ve(e,r,n,i){e|=0,i|=0;var o=0,f=0,A=0,u=0,s=0,c=0,d=0,h=0,v=0;if((0|(r|=0))>0&(0|(n|=0))>0)for(o=e,e=n;;){n=0;do{A=o+(f=n<<1)|0,c=4369*(255&(s=15&(f=0|t[(u=o+(1|f)|0)>>0])))|0,d=0|a[A>>0],h=0|l(c,240&d|d>>>4),v=0|l(d<<4&240|15&d,c),f=0|l(240&(d=255&f)|d>>>4,c),t[A>>0]=v>>>20&15|h>>>16&240,t[u>>0]=f>>>16&255&-16|s,n=n+1|0}while((0|n)!=(0|r));if(!((0|e)>1))break;o=o+i|0,e=e+-1|0}}function be(e,r,n,i,o){e|=0,r|=0,n|=0,o|=0;var f,A=0,u=0,s=0,c=0,d=0,h=0,v=0,b=0;if(!((0|(i|=0))<=0||(r=1&(A=0!=(0|r)),f=A?0:3,(0|n)<=0)))for(A=e,e=i;;){i=e,e=e+-1|0,u=A+r|0,s=A+f|0,c=0;do{(h=0|t[s+(d=c<<2)>>0])<<24>>24!=-1&&(b=0|l(v=32897*(255&h)|0,0|a[(h=u+d|0)>>0]),t[h>>0]=b>>>23,h=0|l(v,0|a[(b=u+(1|d)|0)>>0]),t[b>>0]=h>>>23,d=0|l(v,0|a[(h=u+(2|d)|0)>>0]),t[h>>0]=d>>>23),c=c+1|0}while((0|c)!=(0|n));if((0|i)<=1)break;A=A+o|0}}function ge(e,r,n,i,o,a){r|=0,a|=0;var f=0,A=0,u=0,s=0,l=0;if(!((0|(i|=0))>0&(0|(n|=0))>0))return 0;for(f=0,A=255,u=o|=0,o=e|=0;;){e=0,s=A;do{l=0|t[o+e>>0],t[u+(e<<2)>>0]=l,s=255&s&l,e=e+1|0}while((0|e)!=(0|n));if((0|(f=f+1|0))==(0|i))break;A=s,u=u+a|0,o=o+r|0}return 0|255!=(0|s)&1}function we(e,r,n,i,o,a){r|=0,a|=0;var f=0,A=0,u=0,s=0,l=0;if(!((0|(i|=0))>0&(0|(n|=0))>0))return 1;for(f=0,A=-1,u=o|=0,o=e|=0;;){e=0,s=A;do{l=0|t[o+(e<<2)>>0],t[u+e>>0]=l,s&=l,e=e+1|0}while((0|e)!=(0|n));if((0|(f=f+1|0))==(0|i))break;A=s,u=u+a|0,o=o+r|0}return 0|s<<24>>24==-1&1}function me(e,r,n){e|=0,r|=0;var i=0,a=0;if(!((0|(n|=0))<=0)){i=0;do{a=0|o[e+(i<<2)>>2],t[r+i>>0]=a>>>8,i=i+1|0}while((0|i)!=(0|n))}}function ke(){0|o[2029]&&(o[2388]=1,o[2389]=2,o[2390]=3,o[2391]=4,o[2392]=5,o[2393]=6,o[2394]=7,o[2395]=8,o[2396]=9,o[2397]=10,o[2398]=11,o[2399]=12,o[2400]=13,o[2401]=14,o[2402]=1,o[2403]=1,o[2420]=1,o[2421]=2,o[2422]=3,o[2423]=4,o[2424]=5,o[2425]=6,o[2426]=7,o[2427]=8,o[2428]=9,o[2429]=10,o[2430]=11,o[2431]=12,o[2432]=13,o[2433]=14,o[2434]=1,o[2435]=1,o[2372]=4,o[2373]=5,o[2374]=6,o[2375]=7,o[2376]=8,o[2377]=9,o[2378]=10,o[2379]=11,o[2380]=12,o[2381]=13,o[2382]=14,o[2383]=15,o[2384]=16,o[2385]=17,o[2386]=4,o[2387]=4,o[2404]=4,o[2405]=5,o[2406]=6,o[2407]=7,o[2408]=8,o[2409]=9,o[2410]=10,o[2411]=11,o[2412]=12,o[2413]=13,o[2414]=14,o[2415]=15,o[2416]=16,o[2417]=17,o[2418]=4,o[2419]=4),o[2029]=0}function pe(e,r,n){r|=0,n|=0;var t=0,i=0,f=0,A=0,u=0,s=0,l=0;if(o[12+(e|=0)>>2]=n,o[(t=e)>>2]=0,o[t+4>>2]=0,o[e+20>>2]=0,o[e+24>>2]=0,t=n>>>0<8?n:8)for(n=0,A=0,u=0;;){if(l=(s=0|Cn(0|a[r+n>>0],0,n<<3|0))|A,s=0|v()|u,(n=n+1|0)>>>0>=t>>>0){i=l,f=s;break}A=l,u=s}else i=0,f=0;o[(u=e)>>2]=i,o[u+4>>2]=f,o[e+16>>2]=t,o[e+8>>2]=r}function Ce(e,r,n,A,u){e|=0,r|=0,u|=0;var s,c,d,h,b,g=0,w=0,m=0,k=0,p=0,C=0,y=0,I=0,E=0,D=0,L=0,x=0,S=0,_=0,B=0,M=0,F=0,P=0,R=0,T=0,G=0,q=0,Y=0,z=0,Q=0,j=0,H=0,Z=0,K=0,J=0,$=0,ee=0,re=0,ie=0,oe=0,ae=0,fe=0,Ae=0,ue=0,se=0,le=0,ce=0,de=0,he=0,ve=0,be=0,ge=0,we=0,me=0,ke=0,pe=0,De=0,Le=0,xe=0,Se=0,_e=0,Be=0,Me=0;s=O,O=O+16|0,c=s,d=24+(A|=0)|0,h=A+120|0,b=0!=(0|(n|=0));e:do{if(b)for(g=A+176|0,w=A+260|0,m=e;;){if(!(0|ne(d,1))){k=m,p=18;break e}if(C=0|o[g>>2],y=0|ne(d,2),(I=0|o[w>>2])&(E=1<>2]=I|E,o[A+180+(20*C|0)>>2]=y,o[(E=A+180+(20*C|0)+8|0)>>2]=m,o[(I=A+180+(20*C|0)+12|0)>>2]=r,o[(D=A+180+(20*C|0)+16|0)>>2]=0,o[g>>2]=1+(0|o[g>>2]),0|y){case 1:case 0:y=2+(0|ne(d,3))|0,o[A+180+(20*C|0)+4>>2]=y,x=(L=(1<>2])|0,S=L+(0|o[I>>2])|0,_=0|Ce(y?x>>>y:x,y?S>>>y:S,0,A,D),B=m;break;case 3:if(M=(0|(S=1+(0|ne(d,8))|0))>16?0:(0|S)>4?1:(0|S)>2?2:3,y=(0|o[E>>2])-1+(1<>>M:y,o[(y=A+180+(20*C|0)+4|0)>>2]=M,!(0|Ce(S,1,0,A,D))){p=73;break e}if(!(C=0|V(y=1<<((C=0|o[y>>2])?8>>>C:8),((0|y)<0)<<31>>31,4))){p=73;break e}if(x=0|o[D>>2],o[C>>2]=o[x>>2],I=S<<2,(0|S)>1)for(S=4;;){if(t[C+S>>0]=(0|a[C+(S+-4)>>0])+(0|a[x+S>>0]),!((0|(L=S+1|0))<(0|I))){F=L;break}S=L}else F=4;(0|(S=y<<2))>(0|F)&&Dn(C+F|0,0,S-F|0),U(0|o[D>>2]),o[D>>2]=C,_=1,B=E;break;default:_=1,B=m}if(!_){p=73;break e}m=B}else k=e,p=18}while(0);do{if(18==(0|p)){if(0|ne(d,1)){if(!(((e=0|ne(d,4))-1|0)>>>0<11)){o[A>>2]=3,R=0;break}P=e}else P=0;o[c>>2]=0,e=0|f[3824+(P<<1)>>1];do{if(0!=(0|n)&&0!=(0|ne(d,1)))if(F=(_=(1<<(B=2+(0|ne(d,3))|0))-1|0)+k|0,M=B?F>>>B:F,F=_+r|0,F=0|l(M,_=B?F>>>B:F),0|Ce(M,_,0,A,c)){if(o[A+152>>2]=B,B=(0|F)>0)for(_=0|o[c>>2],M=0,m=1;;){if(S=(w=0|o[(g=_+(M<<2)|0)>>2])>>>8&65535,o[g>>2]=S,g=(0|S)<(0|m)?m:S+1|0,(0|(M=M+1|0))==(0|F)){T=g;break}m=g}else T=1;if((0|T)>1e3|(0|T)>(0|l(k,r))){if(!(m=0|V(T,((0|T)<0)<<31>>31,4))){o[A>>2]=1,G=0,q=0,Y=1,z=0,Q=0;break}if(Dn(0|m,-1,T<<2|0),B)for(M=0|o[c>>2],_=0,E=0;;){if(D=m+(o[(C=M+(E<<2)|0)>>2]<<2)|0,-1==(0|(y=0|o[D>>2]))?(o[D>>2]=_,j=_+1|0,H=_):(j=_,H=y),o[C>>2]=H,(0|(E=E+1|0))==(0|F)){Z=m,K=T,J=j,$=m,p=35;break}_=j}else Z=m,K=T,J=0,$=m,p=35}else Z=0,K=T,J=T,$=0,p=35}else G=0,q=0,Y=1,z=0,Q=0;else Z=0,K=1,J=1,$=0,p=35}while(0);e:do{if(35==(0|p))if(0|o[A+48>>2])G=0,q=0,Y=1,z=0,Q=$;else{if(F=1<0)?(ee=(0|(E=(0|F)>-24?F+280|0:256))>40?E:40,re=0):(ee=280,re=0),E=0|N(ee,re,4),0==(0|(B=0|V(M=0|l(J,e),((0|M)<0)<<31>>31,4)))|0==(0|E)|0==(0|(M=0|ye(J)))){o[A>>2]=1,G=M,q=B,Y=1,z=E,Q=$;break}if((0|K)>0)for(C=0==(0|Z),y=F+280|0,D=(0|F)>-279,g=F+280|0,F=B,S=0;;){do{if(C)oe=S,p=49;else{if(-1==(0|(w=0|o[Z+(S<<2)>>2]))){if(_){if(!(0|Ie(g,A,E,0))){G=M,q=B,Y=1,z=E,Q=$;break e}if(!(0|Ie(256,A,E,0))){G=M,q=B,Y=1,z=E,Q=$;break e}if(!(0|Ie(256,A,E,0))){G=M,q=B,Y=1,z=E,Q=$;break e}if(!(0|Ie(256,A,E,0))){G=M,q=B,Y=1,z=E,Q=$;break e}if(0|Ie(40,A,E,0)){ie=F;break}G=M,q=B,Y=1,z=E,Q=$;break e}if(!(0|Ie(280,A,E,0))){G=M,q=B,Y=1,z=E,Q=$;break e}if(!(0|Ie(256,A,E,0))){G=M,q=B,Y=1,z=E,Q=$;break e}if(!(0|Ie(256,A,E,0))){G=M,q=B,Y=1,z=E,Q=$;break e}if(!(0|Ie(256,A,E,0))){G=M,q=B,Y=1,z=E,Q=$;break e}if(0|Ie(40,A,E,0)){ie=F;break}G=M,q=B,Y=1,z=E,Q=$;break e}oe=w,p=49}}while(0);do{if(49==(0|p)){if(p=0,o[(w=M+(548*oe|0)|0)>>2]=F,_){if(!(I=0|Ie(y,A,E,F))){G=M,q=B,Y=1,z=E,Q=$;break e}if(x=0|a[F>>0],L=F+(I<<2)|0,I=0|o[E>>2],D)for(ae=1,fe=I;;){if(ue=(0|(Ae=0|o[E+(ae<<2)>>2]))>(0|fe)?Ae:fe,(0|(ae=ae+1|0))==(0|y)){se=ue;break}fe=ue}else se=I;if(o[M+(548*oe|0)+4>>2]=L,!(fe=0|Ie(256,A,E,L))){G=M,q=B,Y=1,z=E,Q=$;break e}ue=x+(255&(ae=0|t[L>>0]))|0,Ae=L+(fe<<2)|0,fe=1,le=0|o[E>>2];do{le=(0|(ce=0|o[E+(fe<<2)>>2]))>(0|le)?ce:le,fe=fe+1|0}while(256!=(0|fe));if(fe=le+se|0,o[M+(548*oe|0)+8>>2]=Ae,!(L=0|Ie(256,A,E,Ae))){G=M,q=B,Y=1,z=E,Q=$;break e}I=ae|(x=0|t[Ae>>0]),ce=ue+(255&x)|0,x=Ae+(L<<2)|0,L=1,de=0|o[E>>2];do{de=(0|(he=0|o[E+(L<<2)>>2]))>(0|de)?he:de,L=L+1|0}while(256!=(0|L));if(L=de+fe|0,o[M+(548*oe|0)+12>>2]=x,!(Ae=0|Ie(256,A,E,x))){G=M,q=B,Y=1,z=E,Q=$;break e}ae=I|(ue=0|t[x>>0]),le=ce+(255&ue)|0,ue=x+(Ae<<2)|0,Ae=1,he=0|o[E>>2];do{he=(0|(ve=0|o[E+(Ae<<2)>>2]))>(0|he)?ve:he,Ae=Ae+1|0}while(256!=(0|Ae));if(o[M+(548*oe|0)+16>>2]=ue,!(Ae=0|Ie(40,A,E,ue))){G=M,q=B,Y=1,z=E,Q=$;break e}be=he+L|0,ge=ae,we=le+(0|a[ue>>0])|0,me=ue+(Ae<<2)|0}else{if(!(Ae=0|Ie(280,A,E,F))){G=M,q=B,Y=1,z=E,Q=$;break e}x=0|a[F>>0],ce=F+(Ae<<2)|0,Ae=1,I=0|o[E>>2];do{I=(0|(fe=0|o[E+(Ae<<2)>>2]))>(0|I)?fe:I,Ae=Ae+1|0}while(Ae>>>0<280);if(o[M+(548*oe|0)+4>>2]=ce,!(Ae=0|Ie(256,A,E,ce))){G=M,q=B,Y=1,z=E,Q=$;break e}le=x+(255&(ue=0|t[ce>>0]))|0,ae=ce+(Ae<<2)|0,Ae=1,L=0|o[E>>2];do{L=(0|(he=0|o[E+(Ae<<2)>>2]))>(0|L)?he:L,Ae=Ae+1|0}while(Ae>>>0<256);if(Ae=L+I|0,o[M+(548*oe|0)+8>>2]=ae,!(ce=0|Ie(256,A,E,ae))){G=M,q=B,Y=1,z=E,Q=$;break e}he=ue|(x=0|t[ae>>0]),fe=le+(255&x)|0,x=ae+(ce<<2)|0,ce=1,de=0|o[E>>2];do{de=(0|(ve=0|o[E+(ce<<2)>>2]))>(0|de)?ve:de,ce=ce+1|0}while(ce>>>0<256);if(ce=de+Ae|0,o[M+(548*oe|0)+12>>2]=x,!(ae=0|Ie(256,A,E,x))){G=M,q=B,Y=1,z=E,Q=$;break e}ue=he|(le=0|t[x>>0]),I=fe+(255&le)|0,le=x+(ae<<2)|0,ae=1,L=0|o[E>>2];do{L=(0|(ve=0|o[E+(ae<<2)>>2]))>(0|L)?ve:L,ae=ae+1|0}while(ae>>>0<256);if(o[M+(548*oe|0)+16>>2]=le,!(ae=0|Ie(40,A,E,le))){G=M,q=B,Y=1,z=E,Q=$;break e}be=L+ce|0,ge=ue,we=I+(0|a[le>>0])|0,me=le+(ae<<2)|0}if(ae=ge<<24>>24==0,o[M+(548*oe|0)+20>>2]=1&ae,o[(x=M+(548*oe|0)+28|0)>>2]=0,ae&&(ae=(0|f[2+(0|o[M+(548*oe|0)+4>>2])>>1])<<16|0|f[2+(0|o[M+(548*oe|0)+8>>2])>>1]|(0|f[2+(0|o[M+(548*oe|0)+12>>2])>>1])<<24,o[(fe=M+(548*oe|0)+24|0)>>2]=ae,0==(0|we))&&(65535&(he=0|i[2+(0|o[w>>2])>>1]))<256){o[x>>2]=1,o[fe>>2]=(65535&he)<<8|ae,o[M+(548*oe|0)+32>>2]=0,ie=me;break}if(ae=(0|be)<6,o[M+(548*oe|0)+32>>2]=1&ae,ae){ae=M+(548*oe|0)+4|0,he=M+(548*oe|0)+8|0,fe=M+(548*oe|0)+12|0,x=0|o[w>>2],Ae=0;do{de=M+(548*oe|0)+36+(Ae<<3)|0,(65535&(ve=(ke=f[(ve=x+(Ae<<2)|0)>>1]|f[ve+2>>1]<<16)>>>16))>255?(o[de>>2]=255&ke|256,o[M+(548*oe|0)+36+(Ae<<3)+4>>2]=ve):(pe=M+(548*oe|0)+36+(Ae<<3)+4|0,De=255&ke,o[de>>2]=De,ke=ve<<8,o[pe>>2]=ke,ve=De?Ae>>>De:Ae,Le=0|o[ae>>2],xe=0|i[Le+(ve<<2)+2>>1],Le=De+(Se=0|a[Le+(ve<<2)>>0])|0,o[de>>2]=Le,De=(65535&xe)<<16|ke,o[pe>>2]=De,ke=Se?ve>>>Se:ve,ve=0|o[he>>2],Se=0|i[ve+(ke<<2)+2>>1],ve=Le+(xe=0|a[ve+(ke<<2)>>0])|0,o[de>>2]=ve,Le=De|65535&Se,o[pe>>2]=Le,Se=xe?ke>>>xe:ke,ke=0|o[fe>>2],xe=0|i[ke+(Se<<2)+2>>1],o[de>>2]=ve+(0|a[ke+(Se<<2)>>0]),o[pe>>2]=(65535&xe)<<24|Le),Ae=Ae+1|0}while(64!=(0|Ae));ie=me}else ie=me}}while(0);if((0|(S=S+1|0))>=(0|K))break;F=ie}o[A+160>>2]=o[c>>2],o[A+164>>2]=J,o[A+168>>2]=M,o[A+172>>2]=B,G=M,q=B,Y=0,z=E,Q=$}}while(0);if(U(z),U(Q),Y){U(0|o[c>>2]),U(q),W(G),p=73;break}if((0|P)>0){if(o[h>>2]=1<>2]=1,R=0;break}}else o[h>>2]=0;if(e=0|o[A+152>>2],o[A+100>>2]=k,o[A+104>>2]=r,S=(F=(1<>2]=e?S>>>e:S,o[A+148>>2]=0==(0|e)?-1:F,b)o[A+4>>2]=1,_e=0;else{if(!(e=0|V(F=0|vn(0|k,((0|k)<0)<<31>>31|0,0|r,((0|r)<0)<<31>>31|0),0|v(),4))){o[A>>2]=1,R=0;break}if(!(0|te(A,e,k,r,r,0))){R=e;break}if(0|o[A+48>>2]){R=e;break}_e=e}if(0|u&&(o[u>>2]=_e),o[A+112>>2]=0,b)return O=s,1;U(0|o[A+160>>2]),U(0|o[A+172>>2]),W(0|o[A+168>>2]),X(A+124|0),X(A+136|0),Me=(Be=h)+56|0;do{o[Be>>2]=0,Be=Be+4|0}while((0|Be)<(0|Me));return O=s,1}}while(0);73==(0|p)&&(o[A>>2]=3,R=0),U(R),U(0|o[A+160>>2]),U(0|o[A+172>>2]),W(0|o[A+168>>2]),X(A+124|0),X(A+136|0),Me=(Be=h)+56|0;do{o[Be>>2]=0,Be=Be+4|0}while((0|Be)<(0|Me));return O=s,0}function ye(e){return 0|V(e|=0,((0|e)<0)<<31>>31,548)}function Ie(e,r,n,t){e|=0,n|=0,t|=0;var f,A,u,s,l,c=0,d=0,h=0,b=0,g=0,w=0,m=0,k=0,p=0,C=0,y=0,I=0,E=0,D=0,L=0;f=O,O=O+592|0,A=f+80|0,u=f,l=0|ne(s=24+(r|=0)|0,1),Dn(0|n,0,e<<2|0);e:do{if(l)c=0|ne(s,1),d=0==(0|ne(s,1)),h=n+((0|ne(s,d?1:8))<<2)|0,o[h>>2]=1,1==(0|c)?(c=n+((0|ne(s,8))<<2)|0,o[c>>2]=1,b=26):b=26;else{h=(c=u)+76|0;do{o[c>>2]=0,c=c+4|0}while((0|c)<(0|h));if((0|(c=4+(0|ne(s,4))|0))>19)return o[r>>2]=3,O=f,0;if((0|c)>0){h=0;do{d=0|ne(s,3),o[u+((0|a[3856+h>>0])<<2)>>2]=d,h=h+1|0}while((0|h)!=(0|c))}r:do{if(0|De(A,7,u,19)){if(0|ne(s,1)){if((0|(c=2+(0|ne(s,2+((0|ne(s,3))<<1)|0))|0))>(0|e))break;g=c}else g=e;n:do{if((0|e)>0)for(c=r+44|0,h=0,d=8,w=g;;){if(!w)break n;if(w=w+-1|0,(0|(m=0|o[c>>2]))>31?(ee(s),k=0|o[c>>2]):k=m,p=0|pn(0|o[(m=s)>>2],0|o[m+4>>2],63&k|0),v(),m=127&p,o[c>>2]=k+(0|a[A+(m<<2)>>0]),m=65535&(p=0|i[A+(m<<2)+2>>1]),(65535&p)>=16){if(y=0|a[8680+(C=m+-16|0)>>0],((I=(0|ne(s,0|a[8677+C>>0]))+y|0)+h|0)>(0|e))break r;if(y=p<<16>>16==16?d:0,(0|I)>0)for(C=I,I=h;;){if(E=I+1|0,o[n+(I<<2)>>2]=y,!((0|C)>1)){D=d,L=E;break}C=C+-1|0,I=E}else D=d,L=h}else o[n+(h<<2)>>2]=m,D=p<<16>>16==0?d:m,L=h+1|0;if((0|L)>=(0|e))break;h=L,d=D}}while(0);b=26;break e}}while(0);o[r>>2]=3}}while(0);return 26==(0|b)&&0==(0|o[r+48>>2])&&0|(b=0|De(t,8,n,e))?(O=f,0|b):(o[r>>2]=3,O=f,0)}function Ee(e,r){var n,t;return e|=0,t=0|N(n=1<<(r|=0),((0|n)<0)<<31>>31,4),o[e>>2]=t,t?(o[e+4>>2]=32-r,o[e+8>>2]=r,1):0}function De(e,r,n,t){e|=0,r|=0,n|=0,t|=0;var i,o,a=0,f=0,A=0;i=O,O=O+1024|0,o=i;do{if(e){if((0|t)<513){a=0|Le(e,r,n,t,o);break}(f=0|V(t,((0|t)<0)<<31>>31,2))?(A=0|Le(e,r,n,t,f),U(f),a=A):a=0}else a=0|Le(0,r,n,t,0)}while(0);return O=i,0|a}function Le(e,r,n,a,A){e|=0,n|=0,a|=0,A|=0;var u,s,l,c=0,d=0,h=0,v=0,b=0,g=0,w=0,m=0,k=0,p=0,C=0,y=0,I=0,E=0,D=0,L=0,x=0,S=0,_=0,B=0,M=0,F=0,P=0,R=0,T=0,G=0,q=0,U=0,Y=0,z=0,W=0,X=0,Q=0,N=0,V=0,j=0,H=0,Z=0,K=0,J=0,$=0,ee=0,re=0,ne=0,te=0,ie=0,oe=0,ae=0,fe=0,Ae=0,ue=0,se=0,le=0,ce=0,de=0,he=0,ve=0,be=0,ge=0;u=O,O=O+128|0,c=u,l=1<<(r|=0),h=64+(d=s=u+64|0)|0;do{o[d>>2]=0,d=d+4|0}while((0|d)<(0|h));d=(0|a)>0;do{if(d){for(h=0;;){if((0|(v=0|o[n+(h<<2)>>2]))>15){b=0,g=69;break}if(o[(w=s+(v<<2)|0)>>2]=1+(0|o[w>>2]),(0|(h=h+1|0))>=(0|a)){g=5;break}}if(5==(0|g)){m=0|o[s>>2];break}if(69==(0|g))return O=u,0|b}else m=0}while(0);if((0|m)==(0|a))return O=u,0;if(o[c+4>>2]=0,(0|(m=0|o[s+4>>2]))>2)return O=u,0;if(o[c+8>>2]=m,(0|(h=0|o[s+8>>2]))>4)return O=u,0;if(w=m+h|0,o[c+12>>2]=w,(0|(h=0|o[s+12>>2]))>8)return O=u,0;if(v=w+h|0,o[c+16>>2]=v,(0|(h=0|o[s+16>>2]))>16)return O=u,0;if(w=v+h|0,o[c+20>>2]=w,(0|(h=0|o[s+20>>2]))>32)return O=u,0;if(v=w+h|0,o[c+24>>2]=v,(0|(h=0|o[s+24>>2]))>64)return O=u,0;if(w=v+h|0,o[c+28>>2]=w,(0|(h=0|o[s+28>>2]))>128)return O=u,0;if(v=w+h|0,o[c+32>>2]=v,(0|(h=0|o[s+32>>2]))>256)return O=u,0;if(w=v+h|0,o[c+36>>2]=w,(0|(h=0|o[s+36>>2]))>512)return O=u,0;if(v=w+h|0,o[c+40>>2]=v,(0|(h=0|o[s+40>>2]))>1024)return O=u,0;if(w=v+h|0,o[c+44>>2]=w,(0|(h=0|o[s+44>>2]))>2048)return O=u,0;if(v=w+h|0,o[c+48>>2]=v,(0|(h=0|o[s+48>>2]))>4096)return O=u,0;if(w=v+h|0,o[c+52>>2]=w,(0|(h=0|o[s+52>>2]))>8192)return O=u,0;if(v=w+h|0,o[c+56>>2]=v,(0|(h=0|o[s+56>>2]))>16384)return O=u,0;if(w=v+h|0,o[(h=c+60|0)>>2]=w,d){if(A){d=0;do{(0|(k=0|o[n+(d<<2)>>2]))>0&&(k=0|o[(v=c+(k<<2)|0)>>2],o[v>>2]=k+1,i[A+(k<<1)>>1]=d),d=d+1|0}while((0|d)!=(0|a))}else{d=0;do{(0|(v=0|o[n+(d<<2)>>2]))>0&&(o[(k=c+(v<<2)|0)>>2]=1+(0|o[k>>2])),d=d+1|0}while((0|d)!=(0|a))}p=0|o[h>>2]}else p=w;if(1==(0|p)){if(!A)return O=u,0|l;w=(0|f[A>>1])<<16,a=l;do{d=a,i[(c=e+((a=a+-1|0)<<2)|0)>>1]=w,i[c+2>>1]=w>>>16}while((0|d)>1);return O=u,0|l}if(w=l+-1|0,(0|r)>=1){d=(0|(a=2-m|0))<0;e:do{if(e){if(d)return O=u,0;for(k=0,n=2,c=1,v=0,D=m,L=s+4|0,x=a,S=3;;){if((0|D)>0){_=255&c,B=1<>1])<<16|_,G=l;do{i[(q=R+((G=G-n|0)<<2)|0)>>1]=T,i[q+2>>1]=T>>>16}while((0|G)>0);for(G=B;G&M;)G>>>=1;F=F+1|0,M=0==(0|G)?M:(G+-1&M)+G|0,T=P,P=P+-1|0}while((0|T)>1);o[L>>2]=P,U=M,Y=F}else U=k,Y=v;if(B=c+1|0,(0|c)>=(0|r)){C=x,y=S,I=U,E=Y;break e}if((0|(x=(_=x<<1)-(D=0|o[s+(B<<2)>>2])|0))<0){b=0;break}k=U,n<<=1,c=B,v=Y,L=s+(B<<2)|0,S=_+S|0}return O=u,0|b}if(d)return O=u,0;for(c=1,n=a,k=3;;){if((0|c)>=(0|r)){C=n,y=k,I=0,E=0;break e}if((0|(n=(v=n<<1)-(0|o[s+((c=c+1|0)<<2)>>2])|0))<0){b=0;break}k=v+k|0}return O=u,0|b}while(0);(0|r)<15?(z=C,W=y,X=I,Q=E,g=42):(N=l,V=y,j=p)}else z=1,W=1,X=0,Q=0,g=42;do{if(42==(0|g)){for(p=0!=(0|e),y=e,E=-1,I=e,C=l,Y=l,U=z,a=W,m=2,d=r,S=X,L=Q;;){if(v=d,a=(c=U<<1)+a|0,(0|(U=c-(k=0|o[(n=s+((d=d+1|0)<<2)|0)>>2])|0))<0){b=0,g=69;break}e:do{if(p&(0|k)>0){if(x=255&(c=d-r|0),D=1<=14)for(_=255&d,B=E,T=I,R=C,q=Y,H=S,Z=L;;){(0|(K=H&w))==(0|B)?(J=q,$=B,ee=T,re=R):(ne=T+(q<<2)|0,t[e+(K<<2)>>0]=_,te=ne-y|0,i[e+(K<<2)+2>>1]=(te>>>2)-K,J=D,$=K,ee=ne,re=D+R|0),ne=ee+((r?H>>>r:H)<<2)|0,K=(0|f[A+(Z<<1)>>1])<<16|x,te=J;do{i[(ie=ne+((te=te-m|0)<<2)|0)>>1]=K,i[ie+2>>1]=K>>>16}while((0|te)>0);for(te=c;te&H;)te>>>=1;if(K=Z+1|0,ne=0==(0|te)?H:(te+-1&H)+te|0,ie=0|o[n>>2],o[n>>2]=ie+-1,!((0|ie)>1)){oe=J,ae=$,fe=ee,Ae=re,ue=ne,se=K;break e}B=$,T=ee,R=re,q=J,H=ne,Z=K}for(Z=E,H=I,q=C,R=Y,T=S,B=L,_=k;;){if((0|(G=T&w))==(0|Z))le=R,ce=Z,de=H,he=q;else{K=H+(R<<2)|0,ne=D-_|0;r:do{if((0|ne)<1)ve=d;else for(ie=d,be=ne;;){if(ge=ie+1|0,(0|ie)>=14){ve=ge;break r}if((0|(be=(be<<1)-(0|o[s+(ge<<2)>>2])|0))<1){ve=ge;break}ie=ge}}while(0);ne=1<>0]=ve,te=K-y|0,i[e+(G<<2)+2>>1]=(te>>>2)-G,le=ne,ce=G,de=K,he=ne+q|0}ne=de+((r?T>>>r:T)<<2)|0,te=(0|f[A+(B<<1)>>1])<<16|x,ie=le;do{i[(be=ne+((ie=ie-m|0)<<2)|0)>>1]=te,i[be+2>>1]=te>>>16}while((0|ie)>0);for(ie=c;ie&T;)ie>>>=1;if(te=B+1|0,ne=0==(0|ie)?T:(ie+-1&T)+ie|0,_=(K=0|o[n>>2])-1|0,o[n>>2]=_,(0|K)<=1){oe=le,ae=ce,fe=de,Ae=he,ue=ne,se=te;break}Z=ce,H=de,q=he,R=le,T=ne,B=te}}else oe=Y,ae=E,fe=I,Ae=C,ue=S,se=L}while(0);if((0|v)>=14){g=67;break}E=ae,I=fe,C=Ae,Y=oe,m<<=1,S=ue,L=se}if(67==(0|g)){N=Ae,V=a,j=0|o[h>>2];break}if(69==(0|g))return O=u,0|b}}while(0);return O=u,0|((0|V)==((j<<1)-1|0)?N:0)}function xe(e,r,n,i){e|=0,r|=0,i|=0;var a,f,A,u=0,s=0,c=0,d=0,h=0;if(!((0|(n|=0))<=0)){a=0|t[e>>0],f=0|t[e+1>>0],A=0|t[e+2>>0],e=0;do{u=0|o[r+(e<<2)>>2],d=((s=0|l(c=(s=u<<16)>>24,a))>>5)+(u>>>16)|0,s=0|l(c,f),h=0|l((c=d<<24)>>24,A),o[i+(e<<2)>>2]=d<<16&16711680|-16711936&u|(s>>>5)+u+(h>>>5)&255,e=e+1|0}while((0|e)!=(0|n))}}function Se(e,r,n){var i;if(n|=0,i=(e|=0)+((r|=0)<<2)|0,!((0|r)<=0))for(r=n,n=e;e=0|o[n>>2],n=n+4|0,t[r>>0]=e>>>16,t[r+1>>0]=e>>>8,t[r+2>>0]=e,t[r+3>>0]=e>>>24,!(n>>>0>=i>>>0);)r=r+4|0}function _e(e,r,n){var i;if(n|=0,i=(e|=0)+((r|=0)<<2)|0,!((0|r)<=0))for(r=n,n=e;e=0|o[n>>2],n=n+4|0,t[r>>0]=e>>>16&240|e>>>12&15,t[r+1>>0]=240&e|e>>>28,!(n>>>0>=i>>>0);)r=r+2|0}function Be(e,r,n,t,i,a){e|=0,r|=0,n|=0;var f=0,A=0,u=0,s=0;if((0|(t|=0))<(0|(i|=0))&(0|(a|=0))>0)for(f=t,t=e,e=n;;){for(n=0,A=e,u=t,t=t+(a<<2)|0;s=0|o[u>>2],o[A>>2]=o[r+((s>>>8&255)<<2)>>2],(0|(n=n+1|0))!=(0|a);)A=A+4|0,u=u+4|0;if((0|(f=f+1|0))==(0|i))break;e=e+(a<<2)|0}}function Me(e,r,n){e|=0,n|=0;var t,i,a,f,A=0,u=0,s=0,l=0,c=0,d=0,h=0,v=0,b=0,g=0,w=0,m=0,k=0;if(t=O,O=O+16|0,i=t+4|0,A=t,a=0|o[(r|=0)>>2],f=0|o[r+4>>2],u=0!=(0|e))if(s=(0|o[e+8>>2])>0,o[r+72>>2]=1&s,s){if(s=0|o[e+20>>2],l=0|o[e+24>>2],c=0|o[e+12>>2],d=0|o[e+16>>2],n=(h=n>>>0>10)?-2&c:c,((c=h?-2&d:d)+l|0)>(0|f)|(n+s|0)>(0|a)|(0|l)<1|(0|s)<1|(c|n|0)<0)return O=t,0;v=l,b=s,g=c,w=n}else v=f,b=a,g=0,w=0;else o[r+72>>2]=0,v=f,b=a,g=0,w=0;if(o[r+76>>2]=w,o[r+84>>2]=g,o[r+80>>2]=b+w,o[r+88>>2]=v+g,o[r+12>>2]=b,o[r+16>>2]=v,!u)return o[r+92>>2]=0,o[r+68>>2]=0,o[r+56>>2]=1,O=t,1;u=(0|o[e+28>>2])>0,o[(g=r+92|0)>>2]=1&u;do{if(u){if(o[i>>2]=o[e+32>>2],o[A>>2]=o[e+36>>2],0|Ue(b,v,i,A)){o[r+96>>2]=o[i>>2],o[r+100>>2]=o[A>>2],m=0==(0|o[g>>2]);break}return O=t,0}m=1}while(0);return o[(g=r+68|0)>>2]=0!=(0|o[e>>2])&1,o[(A=r+56|0)>>2]=0==(0|o[e+4>>2])&1,m?(O=t,1):(k=(0|o[r+96>>2])<(0|(3*a|0)/4)?(0|o[r+100>>2])<(0|(3*f|0)/4)&1:0,o[g>>2]=k,o[A>>2]=0,O=t,1)}function Fe(){0|o[2033]&&(o[2437]=1,o[2439]=2,o[2443]=1,o[2444]=2,o[2436]=3,o[2438]=4,o[2440]=5,o[2441]=6,o[2442]=7,o[2445]=5,o[2446]=6),o[2033]=0}function Pe(e,r,n,t,i,a,f,A,u){n|=0,t|=0,a|=0,f|=0,A|=0,u|=0;var s,c=0,d=0;c=(0|(r|=0))<(0|(i|=0)),o[(e|=0)>>2]=1&c,s=(0|n)<(0|a),o[e+4>>2]=1&s,o[e+44>>2]=r,o[e+48>>2]=n,o[e+52>>2]=i,o[e+56>>2]=a,o[e+60>>2]=0,o[e+64>>2]=0,o[e+68>>2]=t,o[e+72>>2]=f,o[e+8>>2]=A,f=c?i+-1|0:r,o[e+36>>2]=f,t=c?r+-1|0:i,o[e+40>>2]=t,c||(c=0|kn(0,1,0|t,((0|t)<0)<<31>>31|0),v(),o[e+12>>2]=c),t=(c=s<<31>>31)+n|0,o[e+28>>2]=t,n=c+a|0,o[e+32>>2]=n,c=e+24|0,s?(o[c>>2]=n,d=f):(o[c>>2]=t,c=(0|(f=0|kn(0,0|a,0|(c=0|l(t,f)),((0|c)<0)<<31>>31|0)))==(0|f)&0==(0|v()),o[e+20>>2]=c?f:0,d=n),n=0|kn(0,1,0|d,((0|d)<0)<<31>>31|0),v(),o[e+16>>2]=n,o[e+76>>2]=u,n=u+((0|l(A,i))<<2)|0,o[e+80>>2]=n,Dn(0|u,0,0|l(i<<3,A)),o[2032]=0}function Re(e){var r,n,t,i=0,a=0,f=0,A=0;if(r=24+(e|=0)|0,n=e+56|0,(0|o[(t=e+64|0)>>2])>=(0|o[n>>2]))return 0;for(a=0;;){if((0|o[r>>2])>0){i=a,f=5;break}if(ue(e),A=a+1|0,!((0|o[t>>2])<(0|o[n>>2]))){i=A,f=5;break}a=A}return 5==(0|f)?0|i:0}function Te(e,r,n,t,i,o,a){e|=0,r|=0,n|=0,t|=0,i|=0,a|=0;var f=0;if(!((0|(o|=0))<=0))for(f=e,e=n,n=0;he(f,e,i,a),(0|(n=n+1|0))!=(0|o);)f=f+r|0,e=e+t|0}function Ge(e){var r,n,i,a,f=0,A=0,u=0,s=0,c=0,d=0,h=0,b=0;if(r=0|o[68+(e|=0)>>2],n=0|o[e+76>>2],i=0|l(0|o[e+8>>2],0|o[e+52>>2]),a=0|o[e+80>>2],f=0|o[e+24>>2]){if(A=0|kn(0,0-f|0,0|(u=0|o[e+32>>2]),((0|u)<0)<<31>>31|0),v(),(0|i)<=0)return;u=0-A|0,f=e+16|0,e=0;do{s=0|vn(0|o[a+(e<<2)>>2],0,0|u,0),c=0|v(),d=0|vn(0|A,0,0|o[n+(e<<2)>>2],0),h=0|v(),b=0|bn(0|s,0|c,-2147483648,0),bn(0|b,0|v(),0|d,0|h),bn(0|(d=0|vn(0|(h=0|v()),0,0|o[f>>2],0)),0|v(),-2147483648,0),d=0|v(),t[r+e>>0]=(0|d)>255?-1:255&d,e=e+1|0}while((0|e)!=(0|i))}else if(!((0|i)<=0)){A=e+16|0,u=0;do{bn(0|(s=0|vn(0|o[A>>2],0,0|o[a+(u<<2)>>2],0)),0|v(),-2147483648,0),s=0|v(),t[r+u>>0]=(0|s)>255?-1:255&s,u=u+1|0}while((0|u)!=(0|i))}}function Oe(e){var r,n,i,a,f,A=0,u=0,s=0,c=0,d=0;if(r=0|o[68+(e|=0)>>2],n=0|o[e+76>>2],i=0|l(0|o[e+8>>2],0|o[e+52>>2]),a=0|o[e+80>>2],A=(0|i)>0,f=0|l(0|o[e+24>>2],0-(0|o[e+16>>2])|0)){if(!A)return;A=e+20|0,e=0;do{vn(0|o[a+(e<<2)>>2],0,0|f,0),s=0|v(),bn(0|(c=0|vn((0|o[(u=n+(e<<2)|0)>>2])-s|0,0,0|o[A>>2],0)),0|v(),-2147483648,0),c=0|v(),t[r+e>>0]=(0|c)>255?-1:255&c,o[u>>2]=s,e=e+1|0}while((0|e)!=(0|i))}else if(A){u=e+20|0,s=0;do{c=n+(s<<2)|0,bn(0|(d=0|vn(0|o[u>>2],0,0|o[c>>2],0)),0|v(),-2147483648,0),d=0|v(),t[r+s>>0]=(0|d)>255?-1:255&d,o[c>>2]=0,s=s+1|0}while((0|s)!=(0|i))}}function qe(e,r){r|=0;var n,i,a,f,A,u,s=0,c=0,d=0,h=0,b=0,g=0,w=0,m=0,k=0,p=0,C=0,y=0,I=0,E=0,D=0,L=0;if(n=0|o[8+(e|=0)>>2],i=0|l(0|o[e+52>>2],n),!((0|n)<=0)){a=e+36|0,f=e+40|0,A=e+80|0,u=e+12|0,e=0;do{if((0|e)<(0|i))for(s=0,c=0,d=e,h=e;;){if(b=(0|o[a>>2])+s|0,g=0|o[f>>2],(0|b)>0){w=c,m=h,k=b;do{k=k-g|0,w=w+(255&(p=0|t[r+m>>0]))|0,m=m+n|0}while((0|k)>0);C=255&p,y=k,I=w,E=m}else C=0,y=b,I=c,E=h;if(D=0|l(C,0-y|0),L=(0|l(g,I))-D|0,o[(0|o[A>>2])+(d<<2)>>2]=L,bn(0|(L=0|vn(0|o[u>>2],0,0|D,0)),0|v(),-2147483648,0),c=0|v(),(0|(d=d+n|0))>=(0|i))break;s=y,h=E}e=e+1|0}while((0|e)!=(0|n))}}function Ue(e,r,n,t){e|=0,r|=0,t|=0;var i,a,f=0,A=0,u=0,s=0,l=0,c=0,d=0;return f=0|o[(n|=0)>>2],i=0|o[t>>2],A=((0|r)<0)<<31>>31,a=((0|e)<0)<<31>>31,(0|r)>0&0==(0|f)?(u=0|vn(0|i,((0|i)<0)<<31>>31|0,0|e,0|a),s=0|v(),l=0|bn(0|r,0|A,-1,-1),s=0|kn(0|bn(0|l,0|v(),0|u,0|s),0|v(),0|r,0|A),v(),c=s):c=f,(0|e)>0&0==(0|i)?(f=0|vn(0|c,((0|c)<0)<<31>>31|0,0|r,0|A),A=0|v(),r=0|bn(0|e,0|a,-1,-1),A=0|kn(0|(s=0|bn(0|r,0|v(),0|f,0|A)),0|v(),0|e,0|a),v(),d=A):d=i,(0|c)<1|(0|d)<1?0:(o[n>>2]=c,o[t>>2]=d,1)}function Ye(e,r,n,i){var a,f=0,A=0,u=0,s=0,c=0,d=0,h=0,b=0,g=0,w=0,m=0,k=0,p=0,C=0,y=0,I=0,E=0,D=0,L=0,x=0,S=0;if(a=O,O=O+16|0,f=a+4|0,A=a,(0|(r|=0))<1|(0|(e|=0))<1|0==(0|(i|=0)))return O=a,2;if(u=0!=(0|(n|=0))){if(0|o[n+8>>2]){if(s=0|o[n+20>>2],c=0|o[n+24>>2],d=0|o[n+12>>2],(0|c)<1|(0|s)<1|((h=0|o[n+16>>2])|d|0)<0)return O=a,2;if(((-2&d)+s|0)>(0|e)|((-2&h)+c|0)>(0|r))return O=a,2;b=s,g=c}else b=e,g=r;if(0|o[n+28>>2]){if(o[f>>2]=o[n+32>>2],o[A>>2]=o[n+36>>2],c=0==(0|Ue(b,g,f,A)))return O=a,2;w=0|o[f>>2],m=0|o[A>>2]}else w=b,m=g}else w=e,m=r;if(o[i+4>>2]=w,o[(r=i+8|0)>>2]=m,(0|m)<1|(0|w)<1|(e=0|o[i>>2])>>>0>12)return O=a,2;do{if((0|o[i+12>>2])<1&&0==(0|o[(g=i+80|0)>>2])){if(b=((0|w)<0)<<31>>31,f=0|vn(255&(A=0|t[8683+e>>0])|0,0,0|w,0|b),(c=0|v())>>>0>0|0==(0|c)&f>>>0>4294967295)return O=a,2;if(c=0|vn(0|(f=0|l(w,255&A)),((0|f)<0)<<31>>31|0,0|m,0|(A=((0|m)<0)<<31>>31)),s=0|v(),(h=e>>>0>10)?(p=0|vn(0|(d=(w+1|0)/2|0),((0|d)<0)<<31>>31|0,0|(k=(m+1|0)/2|0),((0|k)<0)<<31>>31|0),k=0|v(),C=12==(0|e),y=0|vn(0|w,0|b,0|m,0|A),A=0|v(),I=d,E=C?w:0,D=p,L=k,x=C?y:0,S=C?A:0):(I=0,E=0,D=0,L=0,x=0,S=0),A=0|Cn(0|D,0|L,1),C=0|v(),y=0|bn(0|x,0|S,0|c,0|s),!(C=0|V(s=0|bn(0|y,0|v(),0|A,0|C),0|v(),1)))return O=a,1;if(o[g>>2]=C,o[i+16>>2]=C,!h){o[i+20>>2]=f,o[i+24>>2]=c;break}o[i+32>>2]=f,o[i+48>>2]=c,f=C+c|0,o[i+20>>2]=f,o[i+36>>2]=I,o[i+52>>2]=D,o[i+24>>2]=f+D,o[i+40>>2]=I,o[i+56>>2]=D,12==(0|e)&&(o[i+28>>2]=f+A),o[i+60>>2]=x,o[i+44>>2]=E}}while(0);return 0!=(0|(E=0|ze(i)))|1^u?(O=a,0|E):0|o[n+48>>2]?(n=(0|o[r>>2])-1|0,(0|o[i>>2])>>>0<=10?(E=0|o[(r=i+20|0)>>2],u=0|l(E,n),o[(x=i+16|0)>>2]=(0|o[x>>2])+u,o[r>>2]=0-E,O=a,0):(r=0|o[(E=i+32|0)>>2],u=0|l(r,n),o[(x=i+16|0)>>2]=(0|o[x>>2])+u,o[E>>2]=0-r,r=n>>1,u=0|o[(E=i+36|0)>>2],x=0|l(u,r),o[(e=i+20|0)>>2]=(0|o[e>>2])+x,o[E>>2]=0-u,E=0|o[(u=i+40|0)>>2],x=0|l(E,r),o[(r=i+24|0)>>2]=(0|o[r>>2])+x,o[u>>2]=0-E,(u=0|o[(E=i+28|0)>>2])?(i=0|o[(x=i+44|0)>>2],r=u+(0|l(i,n))|0,o[E>>2]=r,o[x>>2]=0-i,O=a,0):(O=a,0))):(O=a,0)}function ze(e){var r,n,t,i=0,f=0,A=0,u=0,s=0,c=0,d=0,h=0,b=0,g=0,w=0,m=0,k=0,p=0,C=0,y=0;if(r=0|o[(e|=0)>>2],n=0|o[e+4>>2],t=0|o[e+8>>2],r>>>0>12)return 2;do{if(r>>>0>10){if(i=(n+1|0)/2|0,A=(0|(f=0|o[e+32>>2]))>-1?f:0-f|0,u=(0|(f=0|o[e+36>>2]))>-1?f:0-f|0,s=(0|(f=0|o[e+40>>2]))>-1?f:0-f|0,c=(0|(f=0|o[e+44>>2]))>-1?f:0-f|0,b=((0|n)<0)<<31>>31,g=0|bn(0|(h=0|vn(0|A,((0|A)<0)<<31>>31|0,0|(f=t+-1|0),0|(d=((0|f)<0)<<31>>31))),0|v(),0|n,0|b),h=0|v(),p=((0|i)<0)<<31>>31,C=0|bn(0|(k=0|vn(0|u,((0|u)<0)<<31>>31|0,0|(w=((t+1|0)/2|0)-1|0),0|(m=((0|w)<0)<<31>>31))),0|v(),0|i,0|p),k=0|v(),m=0|bn(0|(y=0|vn(0|s,((0|s)<0)<<31>>31|0,0|w,0|m)),0|v(),0|i,0|p),p=0|v(),y=0!=(0|o[e+24>>2])&0!=(0|o[e+20>>2])&0!=(0|o[e+16>>2])&(0|s)>=(0|i)&(0|u)>=(0|i)&(0|A)>=(0|n)&(h>>>0<0|(0==(0|h)?g>>>0<=(0|o[e+48>>2])>>>0:0))&(k>>>0<0|(0==(0|k)?C>>>0<=(0|o[e+52>>2])>>>0:0))&(p>>>0<0|(0==(0|p)?m>>>0<=(0|o[e+56>>2])>>>0:0)),12==(0|r)){if(d=0|bn(0|(m=0|vn(0|c,((0|c)<0)<<31>>31|0,0|f,0|d)),0|v(),0|n,0|b),b=0|v(),0!=(0|o[e+28>>2])&(0|c)>=(0|n)&y&(b>>>0<0|(0==(0|b)?d>>>0<=(0|o[e+60>>2])>>>0:0)))break;return 2}if(y)break;return 2}if(m=0|bn(0|(b=0|vn(0|(d=(0|(y=0|o[e+20>>2]))>-1?y:0-y|0),((0|d)<0)<<31>>31|0,0|(y=t+-1|0),((0|y)<0)<<31>>31|0)),0|(y=0|v()),0|(c=0|l(n,0|a[8683+r>>0])),((0|c)<0)<<31>>31|0),y=0|v(),!(0!=(0|o[e+16>>2])&(0|d)>=(0|c)&(y>>>0<0|(0==(0|y)?m>>>0<=(0|o[e+24>>2])>>>0:0))))return 2}while(0);return 0}function We(e,r){if(0==(0|(e|=0))|512!=(-256&(r|=0)|0))return 0;e=(r=e)+84|0;do{o[r>>2]=0,r=r+4|0}while((0|r)<(0|e));return 1}function Xe(e){var r;(e|=0)&&(r=e+80|0,(0|o[e+12>>2])<1&&U(0|o[r>>2]),o[r>>2]=0)}function Qe(e,r){var n,t,i,f=0,A=0;if(n=4+(e|=0)|0,o[4+(r|=0)>>2]=o[n>>2],t=e+8|0,o[r+8>>2]=o[t>>2],0|ze(r))return 2;if(i=0|o[e>>2],f=0|o[e+16>>2],i>>>0<=10)return A=0|l(0|o[n>>2],0|a[8683+i>>0]),Ne(f,0|o[e+20>>2],0|o[r+16>>2],0|o[r+20>>2],A,0|o[t>>2]),0;switch(Ne(f,0|o[e+32>>2],0|o[r+16>>2],0|o[r+32>>2],0|o[n>>2],0|o[t>>2]),Ne(0|o[e+20>>2],0|o[e+36>>2],0|o[r+20>>2],0|o[r+36>>2],(1+(0|o[n>>2])|0)/2|0,(1+(0|o[t>>2])|0)/2|0),Ne(0|o[e+24>>2],0|o[e+40>>2],0|o[r+24>>2],0|o[r+40>>2],(1+(0|o[n>>2])|0)/2|0,(1+(0|o[t>>2])|0)/2|0),0|(f=0|o[e>>2])){case 1:case 3:case 4:case 5:case 12:break;default:if((f+-7|0)>>>0>3)return 0}return Ne(0|o[e+28>>2],0|o[e+44>>2],0|o[r+28>>2],0|o[r+44>>2],0|o[n>>2],0|o[t>>2]),0}function Ne(e,r,n,t,i,o){e|=0,r|=0,t|=0,i|=0;var a=0;if(!((0|(o|=0))<=0))for(a=o,o=e,e=n|=0;In(0|e,0|o,0|i),(0|a)>1;)a=a+-1|0,o=o+r|0,e=e+t|0}function Ve(e,r){return r|=0,(0|o[12+(e|=0)>>2])<=1?0:0|r&&((0|o[e>>2])-7|0)>>>0<4?0|0!=(0|o[r+8>>2])&1:0}function je(e,r){r|=0;var n,t=0,i=0,f=0,A=0,u=0,s=0;if(e|=0){n=0|o[e+44>>2];do{if((0|n)>=0){if((0|n)<=100){if(!((0|(t=255*n|0))>99))break;i=(0|t)/100|0}else i=255;(0|(t=0|o[r+800>>2]))<12?(t=(0|l(i,0|a[8696+((0|t)>0?t:0)>>0]))>>3,o[r+804>>2]=t,f=t):f=0|o[r+804>>2],(0|(t=0|o[r+832>>2]))<12?(t=(0|l(i,0|a[8696+((0|t)>0?t:0)>>0]))>>3,o[r+836>>2]=t,A=t):A=0|o[r+836>>2],(0|(t=0|o[r+864>>2]))<12?(t=(0|l(i,0|a[8696+((0|t)>0?t:0)>>0]))>>3,o[r+868>>2]=t,u=t):u=0|o[r+868>>2],(0|(t=0|o[r+896>>2]))<12?(t=(0|l(i,0|a[8696+((0|t)>0?t:0)>>0]))>>3,o[r+900>>2]=t,s=t):s=0|o[r+900>>2],s|u|A|f|0&&(He(r+544|0,1),o[r+540>>2]=1)}}while(0);f=0|o[e+52>>2],o[(e=r+2372|0)>>2]=f,(0|f)>100?o[e>>2]=100:(0|f)>=0||(o[e>>2]=0)}}function He(e,r){r=+r;var n;In(8+(e|=0)|0,3888,220),o[e>>2]=0,o[e+4>>2]=31,n=r<0?0:r>1?256:~~(256*r)>>>0,o[e+228>>2]=n}function Ze(e,r){r|=0;var n,t=0,i=0,a=0,f=0,A=0,u=0,s=0,l=0,c=0;if(t=160+(e|=0)|0,a=(0|o[e+2308>>2])>0&&(0|(i=0|o[e+2300>>2]))>=(0|o[e+300>>2])?(0|i)<=(0|o[e+308>>2]):0,i=1&a,!(0|o[(f=e+148|0)>>2]))return o[e+164>>2]=o[e+2300>>2],o[e+168>>2]=i,Ke(e,t),0|Je(e,r);if(n=e+124|0,!(1&(0|Rn[7&o[(u=8148)>>2]](n))))return 0;u=r,r=108+(A=e+180|0)|0;do{o[A>>2]=o[u>>2],A=A+4|0,u=u+4|0}while((0|A)<(0|r));return u=e+152|0,o[t>>2]=o[u>>2],o[e+164>>2]=o[e+2300>>2],o[e+168>>2]=i,2==(0|o[f>>2])?(i=0|o[(f=e+176|0)>>2],A=e+2304|0,o[f>>2]=o[A>>2],o[A>>2]=i):Ke(e,t),a?(t=0|o[(a=e+172|0)>>2],i=e+2260|0,o[a>>2]=o[i>>2],o[i>>2]=t,s=0|o[2038],qn[31&s](n),c=(0|(l=1+(0|o[u>>2])|0))==(0|o[(e+156|0)>>2])?0:l,o[u>>2]=c,1):(s=0|o[2038],qn[31&s](n),c=(0|(l=1+(0|o[u>>2])|0))==(0|o[(e+156|0)>>2])?0:l,o[u>>2]=c,1)}function Ke(e,r){e|=0;var n,i,A,u,s,c,d,h,v,b,g,w,m,k,p,C,y,I,E,D,L,x,S,_,B,M,F,P,R,T,G,O,q,U,Y,z,W,X,Q,N,V,j,H,Z,K,J,$,ee,re,ne,te,ie,oe,ae,fe,Ae,ue,se,le,ce,de,he,ve,be,ge,we,me,ke,pe,Ce,ye,Ie,Ee,De,Le,xe,Se,_e,Be,Me,Fe,Pe,Re,Te,Ge,Oe,qe,Ue,Ye,ze,We,Xe,Qe,Ne,Ve,je,He,Ze,Ke,Je,$e,er,rr,nr,Ar,ur,sr,lr,cr,dr,hr,vr,br,gr,wr,mr,kr,pr,Cr,yr,Ir,Er,Dr,Lr=0,xr=0,Sr=0,_r=0,Br=0,Mr=0,Fr=0,Pr=0,Rr=0,Tr=0,Gr=0,Or=0,qr=0,Ur=0,Yr=0,zr=0,Wr=0,Xr=0;if(n=0|o[4+(r|=0)>>2],Lr=0|o[r>>2],i=40+(xr=0|o[e+2264>>2])|0,A=xr+584|0,t[xr+39>>0]=-127,t[xr+71>>0]=-127,t[xr+103>>0]=-127,t[xr+135>>0]=-127,t[xr+167>>0]=-127,t[xr+199>>0]=-127,t[xr+231>>0]=-127,t[xr+263>>0]=-127,t[xr+295>>0]=-127,t[xr+327>>0]=-127,t[xr+359>>0]=-127,t[xr+391>>0]=-127,t[xr+423>>0]=-127,t[xr+455>>0]=-127,t[xr+487>>0]=-127,t[xr+519>>0]=-127,u=xr+600|0,t[xr+583>>0]=-127,t[xr+599>>0]=-127,t[xr+615>>0]=-127,t[xr+631>>0]=-127,t[xr+647>>0]=-127,t[xr+663>>0]=-127,t[xr+679>>0]=-127,t[xr+695>>0]=-127,t[xr+711>>0]=-127,t[xr+727>>0]=-127,t[xr+743>>0]=-127,t[xr+759>>0]=-127,t[xr+775>>0]=-127,t[xr+791>>0]=-127,t[xr+807>>0]=-127,t[xr+823>>0]=-127,s=(0|n)>0)t[xr+567>>0]=-127,t[xr+551>>0]=-127,t[xr+7>>0]=-127;else{_r=21+(Sr=xr+7|0)|0;do{t[Sr>>0]=127,Sr=Sr+1|0}while((0|Sr)<(0|_r));_r=9+(Sr=xr+551|0)|0;do{t[Sr>>0]=127,Sr=Sr+1|0}while((0|Sr)<(0|_r));_r=9+(Sr=xr+567|0)|0;do{t[Sr>>0]=127,Sr=Sr+1|0}while((0|Sr)<(0|_r))}if(!((0|o[(c=e+288|0)>>2])<=0)){d=r+16|0,r=e+2252|0,h=xr+8|0,v=xr+552|0,b=xr+568|0,g=xr+24|0,w=xr+408|0,m=xr+280|0,k=xr+152|0,p=(Br=0==(0|n))?6:5,C=Br?4:0,Br=e+292|0,y=xr+520|0,I=xr+808|0,E=xr+824|0,D=Lr<<4,L=e+2280|0,x=Lr<<3,Lr=e+2284|0,S=e+2268|0,_=e+2272|0,B=e+2276|0,e=xr+4|0,M=xr+20|0,F=xr+36|0,P=xr+52|0,R=xr+68|0,T=xr+84|0,G=xr+100|0,O=xr+116|0,q=xr+132|0,U=xr+148|0,Y=xr+164|0,z=xr+180|0,W=xr+196|0,X=xr+212|0,Q=xr+228|0,N=xr+244|0,V=xr+260|0,j=xr+276|0,H=xr+292|0,Z=xr+308|0,K=xr+324|0,J=xr+340|0,$=xr+356|0,ee=xr+372|0,re=xr+388|0,ne=xr+404|0,te=xr+420|0,ie=xr+436|0,oe=xr+452|0,ae=xr+468|0,fe=xr+484|0,Ae=xr+500|0,ue=xr+516|0,se=xr+532|0,le=xr+548|0,ce=xr+556|0,de=xr+564|0,he=xr+572|0,ve=xr+580|0,be=xr+588|0,ge=xr+596|0,we=xr+604|0,me=xr+612|0,ke=xr+620|0,pe=xr+628|0,Ce=xr+636|0,ye=xr+644|0,Ie=xr+652|0,Ee=xr+660|0,De=xr+668|0,Le=xr+676|0,xe=xr+684|0,Se=xr+692|0,_e=xr+700|0,Be=xr+708|0,Me=xr+716|0,Fe=xr+724|0,Pe=xr+732|0,Re=xr+740|0,Te=xr+748|0,Ge=xr+756|0,Oe=xr+764|0,qe=xr+772|0,Ue=xr+780|0,Ye=xr+788|0,ze=xr+796|0,We=xr+804|0,Xe=xr+812|0,Qe=xr+820|0,Ne=xr+828|0,Ve=xr+72|0,je=xr+104|0,He=xr+136|0,Ze=xr+168|0,Ke=xr+200|0,Je=xr+232|0,$e=xr+264|0,er=xr+296|0,rr=xr+328|0,nr=xr+360|0,Ar=xr+392|0,ur=xr+424|0,sr=xr+456|0,lr=xr+488|0,cr=xr+520|0,dr=xr+616|0,hr=xr+632|0,vr=xr+648|0,br=xr+664|0,gr=xr+680|0,wr=xr+696|0,mr=xr+712|0,kr=xr+728|0,pr=xr+744|0,Cr=xr+760|0,yr=xr+776|0,Ir=xr+792|0,Er=xr+808|0,Dr=xr+824|0,xr=0;do{if(Mr=0|o[d>>2],(Fr=0==(0|xr))||(Pr=a[M>>0]|a[M+1>>0]<<8|a[M+2>>0]<<16|a[M+3>>0]<<24,t[e>>0]=Pr,t[e+1>>0]=Pr>>8,t[e+2>>0]=Pr>>16,t[e+3>>0]=Pr>>24,Pr=a[P>>0]|a[P+1>>0]<<8|a[P+2>>0]<<16|a[P+3>>0]<<24,t[F>>0]=Pr,t[F+1>>0]=Pr>>8,t[F+2>>0]=Pr>>16,t[F+3>>0]=Pr>>24,Pr=a[T>>0]|a[T+1>>0]<<8|a[T+2>>0]<<16|a[T+3>>0]<<24,t[R>>0]=Pr,t[R+1>>0]=Pr>>8,t[R+2>>0]=Pr>>16,t[R+3>>0]=Pr>>24,Pr=a[O>>0]|a[O+1>>0]<<8|a[O+2>>0]<<16|a[O+3>>0]<<24,t[G>>0]=Pr,t[G+1>>0]=Pr>>8,t[G+2>>0]=Pr>>16,t[G+3>>0]=Pr>>24,Pr=a[U>>0]|a[U+1>>0]<<8|a[U+2>>0]<<16|a[U+3>>0]<<24,t[q>>0]=Pr,t[q+1>>0]=Pr>>8,t[q+2>>0]=Pr>>16,t[q+3>>0]=Pr>>24,Pr=a[z>>0]|a[z+1>>0]<<8|a[z+2>>0]<<16|a[z+3>>0]<<24,t[Y>>0]=Pr,t[Y+1>>0]=Pr>>8,t[Y+2>>0]=Pr>>16,t[Y+3>>0]=Pr>>24,Pr=a[X>>0]|a[X+1>>0]<<8|a[X+2>>0]<<16|a[X+3>>0]<<24,t[W>>0]=Pr,t[W+1>>0]=Pr>>8,t[W+2>>0]=Pr>>16,t[W+3>>0]=Pr>>24,Pr=a[N>>0]|a[N+1>>0]<<8|a[N+2>>0]<<16|a[N+3>>0]<<24,t[Q>>0]=Pr,t[Q+1>>0]=Pr>>8,t[Q+2>>0]=Pr>>16,t[Q+3>>0]=Pr>>24,Pr=a[j>>0]|a[j+1>>0]<<8|a[j+2>>0]<<16|a[j+3>>0]<<24,t[V>>0]=Pr,t[V+1>>0]=Pr>>8,t[V+2>>0]=Pr>>16,t[V+3>>0]=Pr>>24,Pr=a[Z>>0]|a[Z+1>>0]<<8|a[Z+2>>0]<<16|a[Z+3>>0]<<24,t[H>>0]=Pr,t[H+1>>0]=Pr>>8,t[H+2>>0]=Pr>>16,t[H+3>>0]=Pr>>24,Pr=a[J>>0]|a[J+1>>0]<<8|a[J+2>>0]<<16|a[J+3>>0]<<24,t[K>>0]=Pr,t[K+1>>0]=Pr>>8,t[K+2>>0]=Pr>>16,t[K+3>>0]=Pr>>24,Pr=a[ee>>0]|a[ee+1>>0]<<8|a[ee+2>>0]<<16|a[ee+3>>0]<<24,t[$>>0]=Pr,t[$+1>>0]=Pr>>8,t[$+2>>0]=Pr>>16,t[$+3>>0]=Pr>>24,Pr=a[ne>>0]|a[ne+1>>0]<<8|a[ne+2>>0]<<16|a[ne+3>>0]<<24,t[re>>0]=Pr,t[re+1>>0]=Pr>>8,t[re+2>>0]=Pr>>16,t[re+3>>0]=Pr>>24,Pr=a[ie>>0]|a[ie+1>>0]<<8|a[ie+2>>0]<<16|a[ie+3>>0]<<24,t[te>>0]=Pr,t[te+1>>0]=Pr>>8,t[te+2>>0]=Pr>>16,t[te+3>>0]=Pr>>24,Pr=a[ae>>0]|a[ae+1>>0]<<8|a[ae+2>>0]<<16|a[ae+3>>0]<<24,t[oe>>0]=Pr,t[oe+1>>0]=Pr>>8,t[oe+2>>0]=Pr>>16,t[oe+3>>0]=Pr>>24,Pr=a[Ae>>0]|a[Ae+1>>0]<<8|a[Ae+2>>0]<<16|a[Ae+3>>0]<<24,t[fe>>0]=Pr,t[fe+1>>0]=Pr>>8,t[fe+2>>0]=Pr>>16,t[fe+3>>0]=Pr>>24,Pr=a[se>>0]|a[se+1>>0]<<8|a[se+2>>0]<<16|a[se+3>>0]<<24,t[ue>>0]=Pr,t[ue+1>>0]=Pr>>8,t[ue+2>>0]=Pr>>16,t[ue+3>>0]=Pr>>24,Pr=a[ce>>0]|a[ce+1>>0]<<8|a[ce+2>>0]<<16|a[ce+3>>0]<<24,t[le>>0]=Pr,t[le+1>>0]=Pr>>8,t[le+2>>0]=Pr>>16,t[le+3>>0]=Pr>>24,Pr=a[he>>0]|a[he+1>>0]<<8|a[he+2>>0]<<16|a[he+3>>0]<<24,t[de>>0]=Pr,t[de+1>>0]=Pr>>8,t[de+2>>0]=Pr>>16,t[de+3>>0]=Pr>>24,Pr=a[be>>0]|a[be+1>>0]<<8|a[be+2>>0]<<16|a[be+3>>0]<<24,t[ve>>0]=Pr,t[ve+1>>0]=Pr>>8,t[ve+2>>0]=Pr>>16,t[ve+3>>0]=Pr>>24,Pr=a[we>>0]|a[we+1>>0]<<8|a[we+2>>0]<<16|a[we+3>>0]<<24,t[ge>>0]=Pr,t[ge+1>>0]=Pr>>8,t[ge+2>>0]=Pr>>16,t[ge+3>>0]=Pr>>24,Pr=a[ke>>0]|a[ke+1>>0]<<8|a[ke+2>>0]<<16|a[ke+3>>0]<<24,t[me>>0]=Pr,t[me+1>>0]=Pr>>8,t[me+2>>0]=Pr>>16,t[me+3>>0]=Pr>>24,Pr=a[Ce>>0]|a[Ce+1>>0]<<8|a[Ce+2>>0]<<16|a[Ce+3>>0]<<24,t[pe>>0]=Pr,t[pe+1>>0]=Pr>>8,t[pe+2>>0]=Pr>>16,t[pe+3>>0]=Pr>>24,Pr=a[Ie>>0]|a[Ie+1>>0]<<8|a[Ie+2>>0]<<16|a[Ie+3>>0]<<24,t[ye>>0]=Pr,t[ye+1>>0]=Pr>>8,t[ye+2>>0]=Pr>>16,t[ye+3>>0]=Pr>>24,Pr=a[De>>0]|a[De+1>>0]<<8|a[De+2>>0]<<16|a[De+3>>0]<<24,t[Ee>>0]=Pr,t[Ee+1>>0]=Pr>>8,t[Ee+2>>0]=Pr>>16,t[Ee+3>>0]=Pr>>24,Pr=a[xe>>0]|a[xe+1>>0]<<8|a[xe+2>>0]<<16|a[xe+3>>0]<<24,t[Le>>0]=Pr,t[Le+1>>0]=Pr>>8,t[Le+2>>0]=Pr>>16,t[Le+3>>0]=Pr>>24,Pr=a[_e>>0]|a[_e+1>>0]<<8|a[_e+2>>0]<<16|a[_e+3>>0]<<24,t[Se>>0]=Pr,t[Se+1>>0]=Pr>>8,t[Se+2>>0]=Pr>>16,t[Se+3>>0]=Pr>>24,Pr=a[Me>>0]|a[Me+1>>0]<<8|a[Me+2>>0]<<16|a[Me+3>>0]<<24,t[Be>>0]=Pr,t[Be+1>>0]=Pr>>8,t[Be+2>>0]=Pr>>16,t[Be+3>>0]=Pr>>24,Pr=a[Pe>>0]|a[Pe+1>>0]<<8|a[Pe+2>>0]<<16|a[Pe+3>>0]<<24,t[Fe>>0]=Pr,t[Fe+1>>0]=Pr>>8,t[Fe+2>>0]=Pr>>16,t[Fe+3>>0]=Pr>>24,Pr=a[Te>>0]|a[Te+1>>0]<<8|a[Te+2>>0]<<16|a[Te+3>>0]<<24,t[Re>>0]=Pr,t[Re+1>>0]=Pr>>8,t[Re+2>>0]=Pr>>16,t[Re+3>>0]=Pr>>24,Pr=a[Oe>>0]|a[Oe+1>>0]<<8|a[Oe+2>>0]<<16|a[Oe+3>>0]<<24,t[Ge>>0]=Pr,t[Ge+1>>0]=Pr>>8,t[Ge+2>>0]=Pr>>16,t[Ge+3>>0]=Pr>>24,Pr=a[Ue>>0]|a[Ue+1>>0]<<8|a[Ue+2>>0]<<16|a[Ue+3>>0]<<24,t[qe>>0]=Pr,t[qe+1>>0]=Pr>>8,t[qe+2>>0]=Pr>>16,t[qe+3>>0]=Pr>>24,Pr=a[ze>>0]|a[ze+1>>0]<<8|a[ze+2>>0]<<16|a[ze+3>>0]<<24,t[Ye>>0]=Pr,t[Ye+1>>0]=Pr>>8,t[Ye+2>>0]=Pr>>16,t[Ye+3>>0]=Pr>>24,Pr=a[Xe>>0]|a[Xe+1>>0]<<8|a[Xe+2>>0]<<16|a[Xe+3>>0]<<24,t[We>>0]=Pr,t[We+1>>0]=Pr>>8,t[We+2>>0]=Pr>>16,t[We+3>>0]=Pr>>24,Pr=a[Ne>>0]|a[Ne+1>>0]<<8|a[Ne+2>>0]<<16|a[Ne+3>>0]<<24,t[Qe>>0]=Pr,t[Qe+1>>0]=Pr>>8,t[Qe+2>>0]=Pr>>16,t[Qe+3>>0]=Pr>>24),Rr=(Pr=0|o[r>>2])+(xr<<5)|0,Tr=0|o[Mr+(800*xr|0)+788>>2],s){Gr=Rr,_r=(Sr=h)+16|0;do{t[Sr>>0]=0|t[Gr>>0],Sr=Sr+1|0,Gr=Gr+1|0}while((0|Sr)<(0|_r));Ur=a[(qr=Or=Pr+(xr<<5)+16|0)>>0]|a[qr+1>>0]<<8|a[qr+2>>0]<<16|a[qr+3>>0]<<24,Or=a[(qr=Or+4|0)>>0]|a[qr+1>>0]<<8|a[qr+2>>0]<<16|a[qr+3>>0]<<24,t[(Yr=qr=v)>>0]=Ur,t[Yr+1>>0]=Ur>>8,t[Yr+2>>0]=Ur>>16,t[Yr+3>>0]=Ur>>24,t[(Ur=qr+4|0)>>0]=Or,t[Ur+1>>0]=Or>>8,t[Ur+2>>0]=Or>>16,t[Ur+3>>0]=Or>>24,qr=a[(Ur=Or=Pr+(xr<<5)+24|0)>>0]|a[Ur+1>>0]<<8|a[Ur+2>>0]<<16|a[Ur+3>>0]<<24,Or=a[(Ur=Or+4|0)>>0]|a[Ur+1>>0]<<8|a[Ur+2>>0]<<16|a[Ur+3>>0]<<24,t[(Yr=Ur=b)>>0]=qr,t[Yr+1>>0]=qr>>8,t[Yr+2>>0]=qr>>16,t[Yr+3>>0]=qr>>24,t[(qr=Ur+4|0)>>0]=Or,t[qr+1>>0]=Or>>8,t[qr+2>>0]=Or>>16,t[qr+3>>0]=Or>>24}e:do{if(0|t[Mr+(800*xr|0)+768>>0]){do{if(s){if((0|xr)<((0|o[c>>2])-1|0)){qr=a[(Or=Rr+32|0)>>0]|a[Or+1>>0]<<8|a[Or+2>>0]<<16|a[Or+3>>0]<<24,t[g>>0]=qr,t[g+1>>0]=qr>>8,t[g+2>>0]=qr>>16,t[g+3>>0]=qr>>24,Xr=qr;break}Dn(0|g,0|(qr=0|t[Pr+(xr<<5)+15>>0]),4),Xr=(qr=(Or=255&qr)<<8|Or)|qr<<16;break}Xr=0|o[g>>2]}while(0);for(o[w>>2]=Xr,o[m>>2]=Xr,o[k>>2]=Xr,qr=Tr,Or=0;;){switch(Ur=i+(0|f[4112+(Or<<1)>>1])|0,qn[31&o[9376+((255&t[Mr+(800*xr|0)+769+Or>>0])<<2)>>2]](Ur),Wr=Mr+(800*xr|0)+(Or<<4<<1)|0,qr>>>30&3){case 3:tr(Wr,Ur,0);break;case 2:or(Wr,Ur);break;case 1:ir(Wr,Ur)}if(16==(0|(Or=Or+1|0)))break;qr<<=2}zr=Fr?p:C}else if(Or=0|t[Mr+(800*xr|0)+769>>0],qr=Fr?p:C,qn[31&o[9344+((Or<<24>>24==0?qr:255&Or)<<2)>>2]](i),Tr)for(Or=Tr,Ur=0;;){switch(Yr=Mr+(800*xr|0)+(Ur<<4<<1)|0,Wr=i+(0|f[4112+(Ur<<1)>>1])|0,Or>>>30&3){case 3:tr(Yr,Wr,0);break;case 2:or(Yr,Wr);break;case 1:ir(Yr,Wr)}if(16==(0|(Ur=Ur+1|0))){zr=qr;break e}Or<<=2}else zr=qr}while(0);Fr=0|o[Mr+(800*xr|0)+792>>2],Tr=0|t[Mr+(800*xr|0)+785>>0],qn[31&o[(qr=9424+((Tr<<24>>24==0?zr:255&Tr)<<2)|0)>>2]](A),qn[31&o[qr>>2]](u),qr=Mr+(800*xr|0)+512|0;do{if(255&Fr|0){if(170&Fr){ar(qr,A);break}fr(qr,A);break}}while(0);qr=Mr+(800*xr|0)+640|0;do{if(65280&Fr|0){if(43520&Fr){ar(qr,u);break}fr(qr,u);break}}while(0);if((0|n)<((0|o[Br>>2])-1|0)){Gr=y,_r=(Sr=Rr)+16|0;do{t[Sr>>0]=0|t[Gr>>0],Sr=Sr+1|0,Gr=Gr+1|0}while((0|Sr)<(0|_r));Fr=a[(qr=Rr=I)>>0]|a[qr+1>>0]<<8|a[qr+2>>0]<<16|a[qr+3>>0]<<24,Rr=a[(qr=Rr+4|0)>>0]|a[qr+1>>0]<<8|a[qr+2>>0]<<16|a[qr+3>>0]<<24,t[(Mr=qr=Pr+(xr<<5)+16|0)>>0]=Fr,t[Mr+1>>0]=Fr>>8,t[Mr+2>>0]=Fr>>16,t[Mr+3>>0]=Fr>>24,t[(Fr=qr+4|0)>>0]=Rr,t[Fr+1>>0]=Rr>>8,t[Fr+2>>0]=Rr>>16,t[Fr+3>>0]=Rr>>24,qr=a[(Fr=Rr=E)>>0]|a[Fr+1>>0]<<8|a[Fr+2>>0]<<16|a[Fr+3>>0]<<24,Rr=a[(Fr=Rr+4|0)>>0]|a[Fr+1>>0]<<8|a[Fr+2>>0]<<16|a[Fr+3>>0]<<24,t[(Mr=Fr=Pr+(xr<<5)+24|0)>>0]=qr,t[Mr+1>>0]=qr>>8,t[Mr+2>>0]=qr>>16,t[Mr+3>>0]=qr>>24,t[(qr=Fr+4|0)>>0]=Rr,t[qr+1>>0]=Rr>>8,t[qr+2>>0]=Rr>>16,t[qr+3>>0]=Rr>>24}Rr=0|l(D,0|o[L>>2]),qr=0|o[Lr>>2],Fr=(0|o[S>>2])+(xr<<4)+Rr|0,Rr=xr<<3,Mr=(0|o[_>>2])+Rr|0,Tr=(0|o[B>>2])+Rr|0,Gr=i,_r=(Sr=Fr)+16|0;do{t[Sr>>0]=0|t[Gr>>0],Sr=Sr+1|0,Gr=Gr+1|0}while((0|Sr)<(0|_r));Gr=Ve,_r=16+(Sr=Fr+(0|o[L>>2])|0)|0;do{t[Sr>>0]=0|t[Gr>>0],Sr=Sr+1|0,Gr=Gr+1|0}while((0|Sr)<(0|_r));Gr=je,_r=16+(Sr=Fr+(o[L>>2]<<1)|0)|0;do{t[Sr>>0]=0|t[Gr>>0],Sr=Sr+1|0,Gr=Gr+1|0}while((0|Sr)<(0|_r));Gr=He,_r=16+(Sr=Fr+(3*(0|o[L>>2])|0)|0)|0;do{t[Sr>>0]=0|t[Gr>>0],Sr=Sr+1|0,Gr=Gr+1|0}while((0|Sr)<(0|_r));Gr=Ze,_r=16+(Sr=Fr+(o[L>>2]<<2)|0)|0;do{t[Sr>>0]=0|t[Gr>>0],Sr=Sr+1|0,Gr=Gr+1|0}while((0|Sr)<(0|_r));Gr=Ke,_r=16+(Sr=Fr+(5*(0|o[L>>2])|0)|0)|0;do{t[Sr>>0]=0|t[Gr>>0],Sr=Sr+1|0,Gr=Gr+1|0}while((0|Sr)<(0|_r));Gr=Je,_r=16+(Sr=Fr+(6*(0|o[L>>2])|0)|0)|0;do{t[Sr>>0]=0|t[Gr>>0],Sr=Sr+1|0,Gr=Gr+1|0}while((0|Sr)<(0|_r));Gr=$e,_r=16+(Sr=Fr+(7*(0|o[L>>2])|0)|0)|0;do{t[Sr>>0]=0|t[Gr>>0],Sr=Sr+1|0,Gr=Gr+1|0}while((0|Sr)<(0|_r));Gr=er,_r=16+(Sr=Fr+(o[L>>2]<<3)|0)|0;do{t[Sr>>0]=0|t[Gr>>0],Sr=Sr+1|0,Gr=Gr+1|0}while((0|Sr)<(0|_r));Gr=rr,_r=16+(Sr=Fr+(9*(0|o[L>>2])|0)|0)|0;do{t[Sr>>0]=0|t[Gr>>0],Sr=Sr+1|0,Gr=Gr+1|0}while((0|Sr)<(0|_r));Gr=nr,_r=16+(Sr=Fr+(10*(0|o[L>>2])|0)|0)|0;do{t[Sr>>0]=0|t[Gr>>0],Sr=Sr+1|0,Gr=Gr+1|0}while((0|Sr)<(0|_r));Gr=Ar,_r=16+(Sr=Fr+(11*(0|o[L>>2])|0)|0)|0;do{t[Sr>>0]=0|t[Gr>>0],Sr=Sr+1|0,Gr=Gr+1|0}while((0|Sr)<(0|_r));Gr=ur,_r=16+(Sr=Fr+(12*(0|o[L>>2])|0)|0)|0;do{t[Sr>>0]=0|t[Gr>>0],Sr=Sr+1|0,Gr=Gr+1|0}while((0|Sr)<(0|_r));Gr=sr,_r=16+(Sr=Fr+(13*(0|o[L>>2])|0)|0)|0;do{t[Sr>>0]=0|t[Gr>>0],Sr=Sr+1|0,Gr=Gr+1|0}while((0|Sr)<(0|_r));Gr=lr,_r=16+(Sr=Fr+(14*(0|o[L>>2])|0)|0)|0;do{t[Sr>>0]=0|t[Gr>>0],Sr=Sr+1|0,Gr=Gr+1|0}while((0|Sr)<(0|_r));Gr=cr,_r=16+(Sr=Fr+(15*(0|o[L>>2])|0)|0)|0;do{t[Sr>>0]=0|t[Gr>>0],Sr=Sr+1|0,Gr=Gr+1|0}while((0|Sr)<(0|_r));Pr=Mr+(Fr=0|l(qr,x))|0,Rr=Tr+Fr|0,Ur=a[(Or=Fr=A)>>0]|a[Or+1>>0]<<8|a[Or+2>>0]<<16|a[Or+3>>0]<<24,Fr=a[(Or=Fr+4|0)>>0]|a[Or+1>>0]<<8|a[Or+2>>0]<<16|a[Or+3>>0]<<24,t[(Wr=Or=Pr)>>0]=Ur,t[Wr+1>>0]=Ur>>8,t[Wr+2>>0]=Ur>>16,t[Wr+3>>0]=Ur>>24,t[(Ur=Or+4|0)>>0]=Fr,t[Ur+1>>0]=Fr>>8,t[Ur+2>>0]=Fr>>16,t[Ur+3>>0]=Fr>>24,Or=a[(Ur=Fr=u)>>0]|a[Ur+1>>0]<<8|a[Ur+2>>0]<<16|a[Ur+3>>0]<<24,Fr=a[(Ur=Fr+4|0)>>0]|a[Ur+1>>0]<<8|a[Ur+2>>0]<<16|a[Ur+3>>0]<<24,t[(Wr=Ur=Rr)>>0]=Or,t[Wr+1>>0]=Or>>8,t[Wr+2>>0]=Or>>16,t[Wr+3>>0]=Or>>24,t[(Or=Ur+4|0)>>0]=Fr,t[Or+1>>0]=Fr>>8,t[Or+2>>0]=Fr>>16,t[Or+3>>0]=Fr>>24,Ur=a[(Or=Fr=dr)>>0]|a[Or+1>>0]<<8|a[Or+2>>0]<<16|a[Or+3>>0]<<24,Fr=a[(Or=Fr+4|0)>>0]|a[Or+1>>0]<<8|a[Or+2>>0]<<16|a[Or+3>>0]<<24,Or=Pr+(0|o[Lr>>2])|0,t[(Wr=Or)>>0]=Ur,t[Wr+1>>0]=Ur>>8,t[Wr+2>>0]=Ur>>16,t[Wr+3>>0]=Ur>>24,t[(Ur=Or+4|0)>>0]=Fr,t[Ur+1>>0]=Fr>>8,t[Ur+2>>0]=Fr>>16,t[Ur+3>>0]=Fr>>24,Or=a[(Ur=Fr=hr)>>0]|a[Ur+1>>0]<<8|a[Ur+2>>0]<<16|a[Ur+3>>0]<<24,Fr=a[(Ur=Fr+4|0)>>0]|a[Ur+1>>0]<<8|a[Ur+2>>0]<<16|a[Ur+3>>0]<<24,Ur=Rr+(0|o[Lr>>2])|0,t[(Wr=Ur)>>0]=Or,t[Wr+1>>0]=Or>>8,t[Wr+2>>0]=Or>>16,t[Wr+3>>0]=Or>>24,t[(Or=Ur+4|0)>>0]=Fr,t[Or+1>>0]=Fr>>8,t[Or+2>>0]=Fr>>16,t[Or+3>>0]=Fr>>24,Ur=a[(Or=Fr=vr)>>0]|a[Or+1>>0]<<8|a[Or+2>>0]<<16|a[Or+3>>0]<<24,Fr=a[(Or=Fr+4|0)>>0]|a[Or+1>>0]<<8|a[Or+2>>0]<<16|a[Or+3>>0]<<24,Or=Pr+(o[Lr>>2]<<1)|0,t[(Wr=Or)>>0]=Ur,t[Wr+1>>0]=Ur>>8,t[Wr+2>>0]=Ur>>16,t[Wr+3>>0]=Ur>>24,t[(Ur=Or+4|0)>>0]=Fr,t[Ur+1>>0]=Fr>>8,t[Ur+2>>0]=Fr>>16,t[Ur+3>>0]=Fr>>24,Or=a[(Ur=Fr=br)>>0]|a[Ur+1>>0]<<8|a[Ur+2>>0]<<16|a[Ur+3>>0]<<24,Fr=a[(Ur=Fr+4|0)>>0]|a[Ur+1>>0]<<8|a[Ur+2>>0]<<16|a[Ur+3>>0]<<24,Ur=Rr+(o[Lr>>2]<<1)|0,t[(Wr=Ur)>>0]=Or,t[Wr+1>>0]=Or>>8,t[Wr+2>>0]=Or>>16,t[Wr+3>>0]=Or>>24,t[(Or=Ur+4|0)>>0]=Fr,t[Or+1>>0]=Fr>>8,t[Or+2>>0]=Fr>>16,t[Or+3>>0]=Fr>>24,Ur=a[(Or=Fr=gr)>>0]|a[Or+1>>0]<<8|a[Or+2>>0]<<16|a[Or+3>>0]<<24,Fr=a[(Or=Fr+4|0)>>0]|a[Or+1>>0]<<8|a[Or+2>>0]<<16|a[Or+3>>0]<<24,Or=Pr+(3*(0|o[Lr>>2])|0)|0,t[(Wr=Or)>>0]=Ur,t[Wr+1>>0]=Ur>>8,t[Wr+2>>0]=Ur>>16,t[Wr+3>>0]=Ur>>24,t[(Ur=Or+4|0)>>0]=Fr,t[Ur+1>>0]=Fr>>8,t[Ur+2>>0]=Fr>>16,t[Ur+3>>0]=Fr>>24,Or=a[(Ur=Fr=wr)>>0]|a[Ur+1>>0]<<8|a[Ur+2>>0]<<16|a[Ur+3>>0]<<24,Fr=a[(Ur=Fr+4|0)>>0]|a[Ur+1>>0]<<8|a[Ur+2>>0]<<16|a[Ur+3>>0]<<24,Ur=Rr+(3*(0|o[Lr>>2])|0)|0,t[(Wr=Ur)>>0]=Or,t[Wr+1>>0]=Or>>8,t[Wr+2>>0]=Or>>16,t[Wr+3>>0]=Or>>24,t[(Or=Ur+4|0)>>0]=Fr,t[Or+1>>0]=Fr>>8,t[Or+2>>0]=Fr>>16,t[Or+3>>0]=Fr>>24,Ur=a[(Or=Fr=mr)>>0]|a[Or+1>>0]<<8|a[Or+2>>0]<<16|a[Or+3>>0]<<24,Fr=a[(Or=Fr+4|0)>>0]|a[Or+1>>0]<<8|a[Or+2>>0]<<16|a[Or+3>>0]<<24,Or=Pr+(o[Lr>>2]<<2)|0,t[(Wr=Or)>>0]=Ur,t[Wr+1>>0]=Ur>>8,t[Wr+2>>0]=Ur>>16,t[Wr+3>>0]=Ur>>24,t[(Ur=Or+4|0)>>0]=Fr,t[Ur+1>>0]=Fr>>8,t[Ur+2>>0]=Fr>>16,t[Ur+3>>0]=Fr>>24,Or=a[(Ur=Fr=kr)>>0]|a[Ur+1>>0]<<8|a[Ur+2>>0]<<16|a[Ur+3>>0]<<24,Fr=a[(Ur=Fr+4|0)>>0]|a[Ur+1>>0]<<8|a[Ur+2>>0]<<16|a[Ur+3>>0]<<24,Ur=Rr+(o[Lr>>2]<<2)|0,t[(Wr=Ur)>>0]=Or,t[Wr+1>>0]=Or>>8,t[Wr+2>>0]=Or>>16,t[Wr+3>>0]=Or>>24,t[(Or=Ur+4|0)>>0]=Fr,t[Or+1>>0]=Fr>>8,t[Or+2>>0]=Fr>>16,t[Or+3>>0]=Fr>>24,Ur=a[(Or=Fr=pr)>>0]|a[Or+1>>0]<<8|a[Or+2>>0]<<16|a[Or+3>>0]<<24,Fr=a[(Or=Fr+4|0)>>0]|a[Or+1>>0]<<8|a[Or+2>>0]<<16|a[Or+3>>0]<<24,Or=Pr+(5*(0|o[Lr>>2])|0)|0,t[(Wr=Or)>>0]=Ur,t[Wr+1>>0]=Ur>>8,t[Wr+2>>0]=Ur>>16,t[Wr+3>>0]=Ur>>24,t[(Ur=Or+4|0)>>0]=Fr,t[Ur+1>>0]=Fr>>8,t[Ur+2>>0]=Fr>>16,t[Ur+3>>0]=Fr>>24,Or=a[(Ur=Fr=Cr)>>0]|a[Ur+1>>0]<<8|a[Ur+2>>0]<<16|a[Ur+3>>0]<<24,Fr=a[(Ur=Fr+4|0)>>0]|a[Ur+1>>0]<<8|a[Ur+2>>0]<<16|a[Ur+3>>0]<<24,Ur=Rr+(5*(0|o[Lr>>2])|0)|0,t[(Wr=Ur)>>0]=Or,t[Wr+1>>0]=Or>>8,t[Wr+2>>0]=Or>>16,t[Wr+3>>0]=Or>>24,t[(Or=Ur+4|0)>>0]=Fr,t[Or+1>>0]=Fr>>8,t[Or+2>>0]=Fr>>16,t[Or+3>>0]=Fr>>24,Ur=a[(Or=Fr=yr)>>0]|a[Or+1>>0]<<8|a[Or+2>>0]<<16|a[Or+3>>0]<<24,Fr=a[(Or=Fr+4|0)>>0]|a[Or+1>>0]<<8|a[Or+2>>0]<<16|a[Or+3>>0]<<24,Or=Pr+(6*(0|o[Lr>>2])|0)|0,t[(Wr=Or)>>0]=Ur,t[Wr+1>>0]=Ur>>8,t[Wr+2>>0]=Ur>>16,t[Wr+3>>0]=Ur>>24,t[(Ur=Or+4|0)>>0]=Fr,t[Ur+1>>0]=Fr>>8,t[Ur+2>>0]=Fr>>16,t[Ur+3>>0]=Fr>>24,Or=a[(Ur=Fr=Ir)>>0]|a[Ur+1>>0]<<8|a[Ur+2>>0]<<16|a[Ur+3>>0]<<24,Fr=a[(Ur=Fr+4|0)>>0]|a[Ur+1>>0]<<8|a[Ur+2>>0]<<16|a[Ur+3>>0]<<24,Ur=Rr+(6*(0|o[Lr>>2])|0)|0,t[(Wr=Ur)>>0]=Or,t[Wr+1>>0]=Or>>8,t[Wr+2>>0]=Or>>16,t[Wr+3>>0]=Or>>24,t[(Or=Ur+4|0)>>0]=Fr,t[Or+1>>0]=Fr>>8,t[Or+2>>0]=Fr>>16,t[Or+3>>0]=Fr>>24,Ur=a[(Or=Fr=Er)>>0]|a[Or+1>>0]<<8|a[Or+2>>0]<<16|a[Or+3>>0]<<24,Fr=a[(Or=Fr+4|0)>>0]|a[Or+1>>0]<<8|a[Or+2>>0]<<16|a[Or+3>>0]<<24,Or=Pr+(7*(0|o[Lr>>2])|0)|0,t[(Pr=Or)>>0]=Ur,t[Pr+1>>0]=Ur>>8,t[Pr+2>>0]=Ur>>16,t[Pr+3>>0]=Ur>>24,t[(Ur=Or+4|0)>>0]=Fr,t[Ur+1>>0]=Fr>>8,t[Ur+2>>0]=Fr>>16,t[Ur+3>>0]=Fr>>24,Or=a[(Ur=Fr=Dr)>>0]|a[Ur+1>>0]<<8|a[Ur+2>>0]<<16|a[Ur+3>>0]<<24,Fr=a[(Ur=Fr+4|0)>>0]|a[Ur+1>>0]<<8|a[Ur+2>>0]<<16|a[Ur+3>>0]<<24,Ur=Rr+(7*(0|o[Lr>>2])|0)|0,t[(Rr=Ur)>>0]=Or,t[Rr+1>>0]=Or>>8,t[Rr+2>>0]=Or>>16,t[Rr+3>>0]=Or>>24,t[(Or=Ur+4|0)>>0]=Fr,t[Or+1>>0]=Fr>>8,t[Or+2>>0]=Fr>>16,t[Or+3>>0]=Fr>>24,xr=xr+1|0}while((0|xr)<(0|o[c>>2]))}}function Je(e,r){r|=0;var n,i,f,A,u,s,c,d,h,v,b,g,w,m,k,p,C,y=0,I=0,E=0,D=0,L=0,x=0,S=0,_=0,B=0,M=0,F=0,P=0,R=0,T=0,G=0,q=0,U=0,Y=0,z=0,W=0,X=0,N=0,V=0,j=0,H=0,Z=0,K=0,J=0,$=0,ee=0,re=0;if(n=O,O=O+64|0,i=n,A=0|o[(f=160+(e|=0)|0)>>2],I=0|a[8708+(0|o[(y=e+2308|0)>>2])>>0],E=0|o[(u=e+2280|0)>>2],s=0|l(E,I),D=0|o[(c=e+2284|0)>>2],d=0|l(I>>>1,D),L=0|l(E,A<<4),E=0|l(D,A<<3),h=0-s|0,v=(0|o[(D=e+2268|0)>>2])+h+L|0,g=0-d|0,w=(0|o[(b=e+2272|0)>>2])+g+E|0,k=(0|o[(m=e+2276|0)>>2])+g+E|0,S=0==(0|(p=0|o[(x=e+164|0)>>2])),C=(0|p)>=((0|o[e+308>>2])-1|0),2==(0|o[e+148>>2])&&Ke(e,f),0|o[e+168>>2]&&(0|(_=0|o[e+296>>2]))<(0|o[(B=e+304|0)>>2])){M=e+172|0,F=(0|o[x>>2])>0,x=_;do{_=0|o[f>>2],P=0|o[u>>2],R=0|o[M>>2],T=(0|o[D>>2])+(0|l(_<<4,P))+(x<<4)|0,G=0|a[R+(x<<2)+1>>0],U=255&(q=0|t[R+(x<<2)>>0]);do{if(q<<24>>24){if(1==(0|o[y>>2])){if((0|x)>0&&hr(T,P,U+4|0),0|t[(Y=R+(x<<2)+2|0)>>0]&&br(T,P,U),F&&dr(T,P,U+4|0),!(0|t[Y>>0]))break;vr(T,P,U);break}if(Y=0|o[c>>2],z=0|l(Y,_<<3),W=x<<3,X=(0|o[b>>2])+z+W|0,N=(0|o[m>>2])+z+W|0,W=0|a[R+(x<<2)+3>>0],z=U+4|0,(0|x)>0&&(sr(T,P,z,G,W),wr(X,N,Y,z,G,W)),0|t[(V=R+(x<<2)+2|0)>>0]&&(gr(T,P,U,G,W),mr(X,N,Y,U,G,W)),F&&(Ar(T,P,z,G,W),lr(X,N,Y,z,G,W)),!(0|t[V>>0]))break;ur(T,P,U,G,W),cr(X,N,Y,U,G,W);break}}while(0);x=x+1|0}while((0|x)<(0|o[B>>2]))}if(0|o[e+540>>2]&&(0|(B=0|o[e+296>>2]))<(0|(F=0|o[(x=e+304|0)>>2])))for(y=e+176|0,M=e+544|0,G=e+548|0,U=B,B=F;;){if(F=0|o[c>>2],P=(0|o[y>>2])+(800*U|0)+796|0,(255&(T=0|t[P>>0]))>3){R=255&T,T=0|o[b>>2],_=0|l(o[f>>2]<<3,F),q=0|o[m>>2],W=0,Y=0|o[M>>2],N=0|o[G>>2];do{V=(0|o[(X=e+552+(Y<<2)|0)>>2])-(0|o[e+552+(N<<2)>>2])|0,o[X>>2]=2147483647&V,Y=55==(0|(X=1+(0|o[M>>2])|0))?0:X,o[M>>2]=Y,N=55==(0|(X=1+(0|o[G>>2])|0))?0:X,o[G>>2]=N,V=0|l((X=V<<1)>>24,R),t[i+W>>0]=128+(V>>>8),W=W+1|0}while(64!=(0|W));kr(i,T+_+(W=U<<3)|0,F),R=0|a[P>>0],N=0,Y=0|o[M>>2],V=0|o[G>>2];do{z=(0|o[(X=e+552+(Y<<2)|0)>>2])-(0|o[e+552+(V<<2)>>2])|0,o[X>>2]=2147483647&z,Y=55==(0|(X=1+(0|o[M>>2])|0))?0:X,o[M>>2]=Y,V=55==(0|(X=1+(0|o[G>>2])|0))?0:X,o[G>>2]=V,z=0|l((X=z<<1)>>24,R),t[i+N>>0]=128+(z>>>8),N=N+1|0}while(64!=(0|N));kr(i,q+_+W|0,F),j=0|o[x>>2]}else j=B;if((0|(U=U+1|0))>=(0|j))break;B=j}if(0|o[(j=r+44|0)>>2]){if(B=p<<4,S?(o[r+20>>2]=(0|o[D>>2])+L,o[r+24>>2]=(0|o[b>>2])+E,H=0,Z=(0|o[m>>2])+E|0):(o[r+20>>2]=v,o[r+24>>2]=w,H=B-I|0,Z=k),o[r+28>>2]=Z,B=(0|(Z=B+16+(C?0:0-I|0)|0))>(0|(I=0|o[r+88>>2]))?I:Z,o[(Z=r+104|0)>>2]=0,0!=(0|o[e+2348>>2])&(0|B)>(0|H)){if(I=0|Q(e,r,H,B-H|0),o[Z>>2]=I,!I)return K=0|$e(e,3,8711),O=n,0|K;J=I}else J=0;(0|(I=0|o[r+84>>2]))>(0|H)?(E=I-H|0,L=0|l(0|o[u>>2],E),o[(S=r+20|0)>>2]=(0|o[S>>2])+L,L=0|l(0|o[c>>2],E>>1),o[(S=r+24|0)>>2]=(0|o[S>>2])+L,o[(S=r+28|0)>>2]=(0|o[S>>2])+L,J?(L=J+(0|l(0|o[r>>2],E))|0,o[Z>>2]=L,$=I,ee=L):($=I,ee=0)):($=H,ee=J),(0|B)>(0|$)?(J=0|o[r+76>>2],o[(H=r+20|0)>>2]=(0|o[H>>2])+J,H=J>>1,o[(L=r+24|0)>>2]=(0|o[L>>2])+H,o[(L=r+28|0)>>2]=(0|o[L>>2])+H,0|ee&&(o[Z>>2]=ee+J),o[r+8>>2]=$-I,o[r+12>>2]=(0|o[r+80>>2])-J,o[r+16>>2]=B-$,re=0|Rn[7&o[j>>2]](r)):re=1}else re=1;return C|(A+1|0)!=(0|o[e+156>>2])?(O=n,0|(K=re)):(In((0|o[D>>2])+h|0,v+(o[u>>2]<<4)|0,0|s),In((0|o[b>>2])+g|0,w+(o[c>>2]<<3)|0,0|d),In((0|o[m>>2])+g|0,k+(o[c>>2]<<3)|0,0|d),O=n,0|(K=re))}function $e(e,r,n){return r|=0,n|=0,0|o[(e|=0)>>2]?0:(o[e>>2]=r,o[e+8>>2]=n,o[e+4>>2]=0,0)}function er(e,r){e|=0;var n=0,i=0,f=0,A=0,u=0,s=0,l=0,c=0,d=0,h=0,v=0,b=0,g=0,w=0,m=0,k=0,p=0;if(0|(n=0|o[48+(r|=0)>>2])&&0==(0|Rn[7&n](r)))return $e(e,6,8740),0|o[e>>2];if(n=e+2308|0,0|o[r+68>>2]?(o[n>>2]=0,c=0,d=0,l=8):(i=0|o[n>>2],f=0|a[8708+i>>0],2==(0|i)?(o[e+296>>2]=0,A=f,u=2,s=e+300|0,l=11):(c=i,d=f,l=8)),8==(0|l)&&(n=(0|o[r+76>>2])-d|0,o[(f=e+296|0)>>2]=n>>4,i=(0|o[r+84>>2])-d|0,o[(h=e+300|0)>>2]=i>>4,(0|n)<0&&(o[f>>2]=0),(0|i)<0?(A=d,u=c,s=h,l=11):(v=d,b=c)),11==(0|l)&&(o[s>>2]=0,v=A,b=u),A=(v=(u=v+15|0)+(0|o[r+88>>2])|0)>>4,o[(v=e+308|0)>>2]=A,r=(s=u+(0|o[r+80>>2])|0)>>4,s=0|o[e+288>>2],o[e+304>>2]=(0|r)>(0|s)?s:r,(0|A)>(0|(r=0|o[e+292>>2]))&&(o[v>>2]=r),(0|b)<=0)return 0;b=e+60|0,r=e+68|0,v=e+72|0,A=e+64|0,s=e+88|0,u=e+112|0,l=0==(0|o[e+104>>2]),c=0;do{l?g=0|o[b>>2]:(d=0|t[e+120+c>>0],g=0|o[u>>2]?d:(0|o[b>>2])+d|0),0|o[r>>2]?(i=(0|(h=(0|(d=(0|o[v>>2])+g|0))<63?d:63))>0?h:0,(0|d)>0?(n=(f=(0|(h=0|o[A>>2]))>4?2:1)?i>>>f:i,f=9-h|0,n=(0|(w=(0|h)>0?(0|n)>(0|f)?f:n:i))>1?w:1,t[e+2312+(c<<3)+1>>0]=n,t[e+2312+(c<<3)+3>>0]=(0|i)>39?2:(0|i)>14&1,m=n+(i<<1)&255):m=0,t[e+2312+(c<<3)>>0]=m,t[e+2312+(c<<3)+2>>0]=0,n=(0|(d=(0|(i=(0|o[s>>2])+d|0))<63?i:63))>0?d:0,(0|i)>0?(w=(d=(0|(i=0|o[A>>2]))>4?2:1)?n>>>d:n,d=9-i|0,w=(0|(f=(0|i)>0?(0|w)>(0|d)?d:w:n))>1?f:1,t[e+2312+(c<<3)+5>>0]=w,t[e+2312+(c<<3)+7>>0]=(0|n)>39?2:(0|n)>14&1,k=w+(n<<1)&255):k=0):(w=(0|(n=(0|g)<63?g:63))>0?n:0,(0|g)>0?(d=(f=(0|(n=0|o[A>>2]))>4?2:1)?w>>>f:w,f=9-n|0,i=255&(d=(0|(i=(0|n)>0?(0|d)>(0|f)?f:d:w))>1?i:1),t[e+2312+(c<<3)+1>>0]=i,f=(0|w)>39?2:(0|w)>14&1,t[e+2312+(c<<3)+3>>0]=f,t[e+2312+(c<<3)+5>>0]=i,t[e+2312+(c<<3)+7>>0]=f,p=d+(w<<1)&255):p=0,t[e+2312+(c<<3)>>0]=p,t[e+2312+(c<<3)+2>>0]=0,k=p),t[e+2312+(c<<3)+4>>0]=k,t[e+2312+(c<<3)+6>>0]=1,c=c+1|0}while(4!=(0|c));return 0}function rr(e,r){r|=0;var n,t,i,A,u,s,c=0,d=0,h=0,b=0,g=0,w=0,m=0,k=0,p=0,C=0,y=0,I=0,E=0,D=0,L=0,x=0,S=0,_=0,B=0,M=0,F=0,P=0,R=0;o[(n=152+(e|=0)|0)>>2]=0,c=e+148|0;do{if((0|o[c>>2])>0){if(0|Rn[7&o[(d=8144)>>2]](e+124|0)){o[e+136>>2]=e,o[e+140>>2]=e+180,o[e+132>>2]=20,d=(0|o[e+2308>>2])>0?3:2,o[e+156>>2]=d,h=d;break}if(0|$e(e,1,8759)){h=0|o[e+156>>2];break}return 0}o[e+156>>2]=1,h=1}while(0);if(t=(d=0|o[e+288>>2])<<2,b=d<<5,i=2+(d<<1)|0,w=0|o[(g=e+2308|0)>>2],m=0|o[c>>2],k=0|l((0|m)>0?2:1,t),p=(0|w)>0?k:0,k=0|l(800*d|0,2==(0|m)?2:1),A=0|l((3*((C=h<<4)+(0|a[8708+w>>0])|0)|0)/2|0,b),0|o[e+2348>>2]?(y=w=0|vn(0|f[e+50>>1],0,0|f[e+48>>1],0),I=0|v()):(y=0,I=0),w=0|bn(0|b,0,863,0),E=0|bn(0|w,0|v(),0|t,0),w=0|bn(0|E,0|v(),0|i,0),E=0|bn(0|w,0|v(),0|k,0),w=0|bn(0|E,0|v(),0|p,0),E=0|bn(0|w,0|v(),0|A,0),!((0|(w=0|bn(0|E,0|v(),0|y,0|I)))==(0|w)&0==(0|(E=0|v()))))return 0;u=e+2292|0,D=0|o[(s=e+2288|0)>>2];do{if(E>>>0>0|(0==(0|E)?w>>>0>(0|o[u>>2])>>>0:0)){if(U(D),o[u>>2]=0,L=0|V(w,E,1),o[s>>2]=L,0|L){o[u>>2]=w,x=0|o[c>>2],S=L,_=13;break}if(0|$e(e,1,8789)){B=e+2276|0,M=e+2280|0,F=e+2284|0,P=e+2268|0,R=e+2272|0;break}return 0}x=m,S=D,_=13}while(0);return 13==(0|_)&&(o[(_=e+2244|0)>>2]=S,D=S+t|0,o[e+2252>>2]=D,b=2+(S=D+b|0)|0,o[e+2256>>2]=b,D=S+i|0,S=0==(0|p)?0:D,o[e+2260>>2]=S,o[e+160>>2]=0,o[e+172>>2]=(0|x)>0?S+(d<<2)|0:S,S=D+p+31&-32,o[e+2264>>2]=S,p=S+832|0,o[e+2304>>2]=p,o[(S=e+176|0)>>2]=p,2==(0|x)&&(o[S>>2]=p+(800*d|0)),S=p+k|0,k=d<<4,o[(p=e+2280|0)>>2]=k,x=d<<3,o[(d=e+2284|0)>>2]=x,D=0|a[8708+(0|o[g>>2])>>0],g=0|l(k,D),m=0|l(D>>>1,x),D=S+g|0,o[(g=e+2268|0)>>2]=D,c=D+(0|l(k,C))+m|0,o[(C=e+2272|0)>>2]=c,k=c+(0|l(h<<3,x))+m|0,o[(m=e+2276|0)>>2]=k,o[n>>2]=0,o[e+2364>>2]=0==(0|y)&0==(0|I)?0:S+A|0,Dn(b+-2|0,0,0|i),nr(e),Dn(0|o[_>>2],0,0|t),B=m,M=p,F=d,P=g,R=C),o[r+8>>2]=0,o[r+20>>2]=o[P>>2],o[r+24>>2]=o[R>>2],o[r+28>>2]=o[B>>2],o[r+32>>2]=o[M>>2],o[r+36>>2]=o[F>>2],o[r+104>>2]=0,function(){var e=0;0|o[2041]?(o[2344]=6,o[2345]=7,o[2346]=8,o[2348]=9,o[2350]=10,o[2347]=11,o[2349]=12,o[2351]=13,o[2352]=14,o[2353]=15,o[2336]=16,o[2337]=17,o[2338]=18,o[2339]=19,o[2340]=20,o[2341]=21,o[2342]=22,o[2356]=23,o[2357]=24,o[2358]=25,o[2359]=26,o[2360]=27,o[2361]=28,o[2362]=29,e=0|o[2485]):e=0,o[2041]=e}(),1}function nr(e){var r;r=0|o[2256+(e|=0)>>2],t[r+-2>>0]=0,t[r+-1>>0]=0,o[e+2248>>2]=0,o[e+2296>>2]=0}function tr(e,r,n){n|=0,yr(e|=0,r|=0),n&&yr(e+32|0,r+4|0)}function ir(e,r){r|=0;var n=0,o=0;n=(e=(n=4+(0|i[(e|=0)>>1])|0)>>3)+(0|a[r>>0])|0,t[r>>0]=n>>>0>255?255+(n>>>31)|0:n,o=e+(0|a[(n=r+1|0)>>0])|0,t[n>>0]=o>>>0>255?255+(o>>>31)|0:o,n=e+(0|a[(o=r+2|0)>>0])|0,t[o>>0]=n>>>0>255?255+(n>>>31)|0:n,o=e+(0|a[(n=r+3|0)>>0])|0,t[n>>0]=o>>>0>255?255+(o>>>31)|0:o,n=e+(0|a[(o=r+32|0)>>0])|0,t[o>>0]=n>>>0>255?255+(n>>>31)|0:n,o=e+(0|a[(n=r+33|0)>>0])|0,t[n>>0]=o>>>0>255?255+(o>>>31)|0:o,n=e+(0|a[(o=r+34|0)>>0])|0,t[o>>0]=n>>>0>255?255+(n>>>31)|0:n,o=e+(0|a[(n=r+35|0)>>0])|0,t[n>>0]=o>>>0>255?255+(o>>>31)|0:o,n=e+(0|a[(o=r+64|0)>>0])|0,t[o>>0]=n>>>0>255?255+(n>>>31)|0:n,o=e+(0|a[(n=r+65|0)>>0])|0,t[n>>0]=o>>>0>255?255+(o>>>31)|0:o,n=e+(0|a[(o=r+66|0)>>0])|0,t[o>>0]=n>>>0>255?255+(n>>>31)|0:n,o=e+(0|a[(n=r+67|0)>>0])|0,t[n>>0]=o>>>0>255?255+(o>>>31)|0:o,n=e+(0|a[(o=r+96|0)>>0])|0,t[o>>0]=n>>>0>255?255+(n>>>31)|0:n,o=e+(0|a[(n=r+97|0)>>0])|0,t[n>>0]=o>>>0>255?255+(o>>>31)|0:o,n=e+(0|a[(o=r+98|0)>>0])|0,t[o>>0]=n>>>0>255?255+(n>>>31)|0:n,r=e+(0|a[(n=r+99|0)>>0])|0,t[n>>0]=r>>>0>255?255+(r>>>31)|0:r}function or(e,r){r|=0;var n=0,o=0,f=0,A=0,u=0,s=0,l=0,c=0;n=4+(0|i[(e|=0)>>1])|0,A=(f=35468*(o=0|i[e+8>>1])|0)>>16,u=((f=20091*o|0)>>16)+o|0,f=(e=35468*(o=0|i[e+2>>1])|0)>>16,s=((e=20091*o|0)>>16)+o|0,l=((e=(o=u+n|0)+s|0)>>3)+(0|a[r>>0])|0,t[r>>0]=l>>>0>255?255+(l>>>31)|0:l,c=((e=o+f|0)>>3)+(0|a[(l=r+1|0)>>0])|0,t[l>>0]=c>>>0>255?255+(c>>>31)|0:c,e=((l=o-f|0)>>3)+(0|a[(c=r+2|0)>>0])|0,t[c>>0]=e>>>0>255?255+(e>>>31)|0:e,o=((c=o-s|0)>>3)+(0|a[(e=r+3|0)>>0])|0,t[e>>0]=o>>>0>255?255+(o>>>31)|0:o,l=((c=s+(o=A+n|0)|0)>>3)+(0|a[(e=r+32|0)>>0])|0,t[e>>0]=l>>>0>255?255+(l>>>31)|0:l,c=((e=o+f|0)>>3)+(0|a[(l=r+33|0)>>0])|0,t[l>>0]=c>>>0>255?255+(c>>>31)|0:c,e=((l=o-f|0)>>3)+(0|a[(c=r+34|0)>>0])|0,t[c>>0]=e>>>0>255?255+(e>>>31)|0:e,o=((c=o-s|0)>>3)+(0|a[(e=r+35|0)>>0])|0,t[e>>0]=o>>>0>255?255+(o>>>31)|0:o,c=((e=s+(o=n-A|0)|0)>>3)+(0|a[(A=r+64|0)>>0])|0,t[A>>0]=c>>>0>255?255+(c>>>31)|0:c,e=((A=o+f|0)>>3)+(0|a[(c=r+65|0)>>0])|0,t[c>>0]=e>>>0>255?255+(e>>>31)|0:e,A=((c=o-f|0)>>3)+(0|a[(e=r+66|0)>>0])|0,t[e>>0]=A>>>0>255?255+(A>>>31)|0:A,o=((e=o-s|0)>>3)+(0|a[(A=r+67|0)>>0])|0,t[A>>0]=o>>>0>255?255+(o>>>31)|0:o,A=((n=(o=n-u|0)+s|0)>>3)+(0|a[(u=r+96|0)>>0])|0,t[u>>0]=A>>>0>255?255+(A>>>31)|0:A,n=((u=o+f|0)>>3)+(0|a[(A=r+97|0)>>0])|0,t[A>>0]=n>>>0>255?255+(n>>>31)|0:n,f=((A=o-f|0)>>3)+(0|a[(n=r+98|0)>>0])|0,t[n>>0]=f>>>0>255?255+(f>>>31)|0:f,f=r+99|0,s=((r=o-s|0)>>3)+(0|a[f>>0])|0,t[f>>0]=s>>>0>255?255+(s>>>31)|0:s}function ar(e,r){tr(e|=0,r|=0,1),tr(e+64|0,r+128|0,1)}function fr(e,r){r|=0;var n=0;0|i[(e|=0)>>1]&&ir(e,r),0|i[(n=e+32|0)>>1]&&ir(n,r+4|0),0|i[(n=e+64|0)>>1]&&ir(n,r+128|0),0|i[(n=e+96|0)>>1]&&ir(n,r+132|0)}function Ar(e,r,n,t,i){Cr(e|=0,r|=0,1,16,n|=0,t|=0,i|=0)}function ur(e,r,n,t,i){var o,a;pr(a=(e|=0)+(o=(r|=0)<<2)|0,r,1,16,n|=0,t|=0,i|=0),pr(e=a+o|0,r,1,16,n,t,i),pr(e+o|0,r,1,16,n,t,i)}function sr(e,r,n,t,i){Cr(e|=0,1,r|=0,16,n|=0,t|=0,i|=0)}function lr(e,r,n,t,i,o){r|=0,Cr(e|=0,n|=0,1,8,t|=0,i|=0,o|=0),Cr(r,n,1,8,t,i,o)}function cr(e,r,n,t,i,o){var a;r|=0,pr((e|=0)+(a=(n|=0)<<2)|0,n,1,8,t|=0,i|=0,o|=0),pr(r+a|0,n,1,8,t,i,o)}function dr(e,r,n){e|=0;var i,f,A,u,s,c,d=0,h=0,v=0,b=0,g=0,w=0,m=0,k=0;i=(n|=0)<<1|1,n=0|l(r|=0,-2),f=0-r|0,A=0|o[2027],u=0|o[2024],s=0|o[2025],c=0|o[2026],d=0;do{b=0|a[(v=(h=e+d|0)+f|0)>>0],g=0|a[h>>0],w=(0|a[h+n>>0])-(0|a[h+r>>0])|0,((a[A+(b-g)>>0]<<2)+(0|a[A+w>>0])|0)<=(0|i)&&(m=(3*(g-b|0)|0)+(0|t[u+w>>0])|0,k=0|t[s+((w=m+4|0)>>3)>>0],w=m+3|0,t[v>>0]=0|t[c+((0|t[s+(w>>3)>>0])+b)>>0],t[h>>0]=0|t[c+(g-k)>>0]),d=d+1|0}while(16!=(0|d))}function hr(e,r,n){e|=0,r|=0;var i,f,A,u,s=0,c=0,d=0,h=0,v=0,b=0,g=0,w=0;i=(n|=0)<<1|1,n=0|o[2027],f=0|o[2024],A=0|o[2025],u=0|o[2026],s=0;do{c=e+(0|l(s,r))|0,h=0|a[(d=c+-1|0)>>0],v=0|a[c>>0],b=(0|a[c+-2>>0])-(0|a[c+1>>0])|0,((a[n+(h-v)>>0]<<2)+(0|a[n+b>>0])|0)<=(0|i)&&(g=(3*(v-h|0)|0)+(0|t[f+b>>0])|0,w=0|t[A+((b=g+4|0)>>3)>>0],b=g+3|0,t[d>>0]=0|t[u+((0|t[A+(b>>3)>>0])+h)>>0],t[c>>0]=0|t[u+(v-w)>>0]),s=s+1|0}while(16!=(0|s))}function vr(e,r,n){e|=0;var i,f,A,u,s,c,d=0,h=0,v=0,b=0,g=0,w=0,m=0,k=0,p=0;d=(r|=0)<<2,i=(n|=0)<<1|1,n=0|l(r,-2),f=0-r|0,A=0|o[2027],u=0|o[2024],s=0|o[2025],c=0|o[2026],h=e+d|0,e=0;do{g=0|a[(b=(v=h+e|0)+f|0)>>0],w=0|a[v>>0],m=(0|a[v+n>>0])-(0|a[v+r>>0])|0,((a[A+(g-w)>>0]<<2)+(0|a[A+m>>0])|0)<=(0|i)&&(k=(3*(w-g|0)|0)+(0|t[u+m>>0])|0,p=0|t[s+((m=k+4|0)>>3)>>0],m=k+3|0,t[b>>0]=0|t[c+((0|t[s+(m>>3)>>0])+g)>>0],t[v>>0]=0|t[c+(w-p)>>0]),e=e+1|0}while(16!=(0|e));e=h+d|0,h=0;do{v=0|a[(w=(p=e+h|0)+f|0)>>0],g=0|a[p>>0],m=(0|a[p+n>>0])-(0|a[p+r>>0])|0,((a[A+(v-g)>>0]<<2)+(0|a[A+m>>0])|0)<=(0|i)&&(b=(3*(g-v|0)|0)+(0|t[u+m>>0])|0,k=0|t[s+((m=b+4|0)>>3)>>0],m=b+3|0,t[w>>0]=0|t[c+((0|t[s+(m>>3)>>0])+v)>>0],t[p>>0]=0|t[c+(g-k)>>0]),h=h+1|0}while(16!=(0|h));h=e+d|0,d=0;do{g=0|a[(k=(e=h+d|0)+f|0)>>0],p=0|a[e>>0],v=(0|a[e+n>>0])-(0|a[e+r>>0])|0,((a[A+(g-p)>>0]<<2)+(0|a[A+v>>0])|0)<=(0|i)&&(m=(3*(p-g|0)|0)+(0|t[u+v>>0])|0,w=0|t[s+((v=m+4|0)>>3)>>0],v=m+3|0,t[k>>0]=0|t[c+((0|t[s+(v>>3)>>0])+g)>>0],t[e>>0]=0|t[c+(p-w)>>0]),d=d+1|0}while(16!=(0|d))}function br(e,r,n){e|=0,r|=0;var i,f,A,u,s=0,c=0,d=0,h=0,v=0,b=0,g=0,w=0,m=0;i=(n|=0)<<1|1,n=0|o[2027],f=0|o[2024],A=0|o[2025],u=0|o[2026],s=e+4|0,c=0;do{d=s+(0|l(c,r))|0,v=0|a[(h=d+-1|0)>>0],b=0|a[d>>0],g=(0|a[d+-2>>0])-(0|a[d+1>>0])|0,((a[n+(v-b)>>0]<<2)+(0|a[n+g>>0])|0)<=(0|i)&&(w=(3*(b-v|0)|0)+(0|t[f+g>>0])|0,m=0|t[A+((g=w+4|0)>>3)>>0],g=w+3|0,t[h>>0]=0|t[u+((0|t[A+(g>>3)>>0])+v)>>0],t[d>>0]=0|t[u+(b-m)>>0]),c=c+1|0}while(16!=(0|c));c=e+8|0,s=0;do{m=c+(0|l(s,r))|0,d=0|a[(b=m+-1|0)>>0],v=0|a[m>>0],g=(0|a[m+-2>>0])-(0|a[m+1>>0])|0,((a[n+(d-v)>>0]<<2)+(0|a[n+g>>0])|0)<=(0|i)&&(h=(3*(v-d|0)|0)+(0|t[f+g>>0])|0,w=0|t[A+((g=h+4|0)>>3)>>0],g=h+3|0,t[b>>0]=0|t[u+((0|t[A+(g>>3)>>0])+d)>>0],t[m>>0]=0|t[u+(v-w)>>0]),s=s+1|0}while(16!=(0|s));s=e+12|0,e=0;do{c=s+(0|l(e,r))|0,v=0|a[(w=c+-1|0)>>0],m=0|a[c>>0],d=(0|a[c+-2>>0])-(0|a[c+1>>0])|0,((a[n+(v-m)>>0]<<2)+(0|a[n+d>>0])|0)<=(0|i)&&(g=(3*(m-v|0)|0)+(0|t[f+d>>0])|0,b=0|t[A+((d=g+4|0)>>3)>>0],d=g+3|0,t[w>>0]=0|t[u+((0|t[A+(d>>3)>>0])+v)>>0],t[c>>0]=0|t[u+(m-b)>>0]),e=e+1|0}while(16!=(0|e))}function gr(e,r,n,t,i){pr(4+(e|=0)|0,1,r|=0,16,n|=0,t|=0,i|=0),pr(e+8|0,1,r,16,n,t,i),pr(e+12|0,1,r,16,n,t,i)}function wr(e,r,n,t,i,o){r|=0,Cr(e|=0,1,n|=0,8,t|=0,i|=0,o|=0),Cr(r,1,n,8,t,i,o)}function mr(e,r,n,t,i,o){r|=0,pr(4+(e|=0)|0,1,n|=0,8,t|=0,i|=0,o|=0),pr(r+4|0,1,n,8,t,i,o)}function kr(e,r,n){e|=0,r|=0;var i=0,o=0,f=0,A=0,u=0,s=0,l=0;if(1!=(0|(n|=0)))for(f=r,r=0,i=e;o=((e=(0|a[i>>0])-120|0)>>4)+(0|a[f>>0])|0,t[f>>0]=o>>>0>255?255+(o>>>31)|0:o,A=((o=(0|a[i+1>>0])-120|0)>>4)+(0|a[(e=f+1|0)>>0])|0,t[e>>0]=A>>>0>255?255+(A>>>31)|0:A,o=((A=(0|a[i+2>>0])-120|0)>>4)+(0|a[(e=f+2|0)>>0])|0,t[e>>0]=o>>>0>255?255+(o>>>31)|0:o,A=((o=(0|a[i+3>>0])-120|0)>>4)+(0|a[(e=f+3|0)>>0])|0,t[e>>0]=A>>>0>255?255+(A>>>31)|0:A,o=((A=(0|a[i+4>>0])-120|0)>>4)+(0|a[(e=f+4|0)>>0])|0,t[e>>0]=o>>>0>255?255+(o>>>31)|0:o,A=((o=(0|a[i+5>>0])-120|0)>>4)+(0|a[(e=f+5|0)>>0])|0,t[e>>0]=A>>>0>255?255+(A>>>31)|0:A,o=((A=(0|a[i+6>>0])-120|0)>>4)+(0|a[(e=f+6|0)>>0])|0,t[e>>0]=o>>>0>255?255+(o>>>31)|0:o,A=((o=(0|a[i+7>>0])-120|0)>>4)+(0|a[(e=f+7|0)>>0])|0,t[e>>0]=A>>>0>255?255+(A>>>31)|0:A,8!=(0|(r=r+1|0));)f=f+n|0,i=i+8|0;else for(i=r,o=0,f=e,A=0|t[r+6>>0];s=((u=(0|a[f>>0])-120|0)>>4)+(0|a[i>>0])|0,t[i>>0]=s>>>0>255?255+(s>>>31)|0:s,l=((s=(0|a[f+1>>0])-120|0)>>4)+(0|a[(u=i+1|0)>>0])|0,t[u>>0]=l>>>0>255?255+(l>>>31)|0:l,s=((l=(0|a[f+2>>0])-120|0)>>4)+(0|a[(u=i+2|0)>>0])|0,t[u>>0]=s>>>0>255?255+(s>>>31)|0:s,l=((s=(0|a[f+3>>0])-120|0)>>4)+(0|a[(u=i+3|0)>>0])|0,t[u>>0]=l>>>0>255?255+(l>>>31)|0:l,s=((l=(0|a[f+4>>0])-120|0)>>4)+(0|a[(u=i+4|0)>>0])|0,t[u>>0]=s>>>0>255?255+(s>>>31)|0:s,l=((s=(0|a[f+5>>0])-120|0)>>4)+(0|a[(u=i+5|0)>>0])|0,t[u>>0]=l>>>0>255?255+(l>>>31)|0:l,u=((l=(0|a[f+6>>0])-120|0)>>4)+(255&A)|0,t[i+6>>0]=u>>>0>255?255+(u>>>31)|0:u,A=255&((s=((u=(0|a[f+7>>0])-120|0)>>4)+(0|a[(l=i+7|0)>>0])|0)>>>0>255?255+(s>>>31)|0:s),t[l>>0]=A,8!=(0|(o=o+1|0));)i=i+n|0,f=f+8|0}function pr(e,r,n,i,f,A,u){e|=0,r|=0,n|=0,A|=0,u|=0;var s,c,d,h,v,b,g,w,m,k,p=0,C=0,y=0,I=0,E=0,D=0,L=0,x=0,S=0,_=0,B=0,M=0,F=0,P=0,R=0,T=0;if(s=(f|=0)<<1|1,!((0|(i|=0))<=0))for(f=0|l(r,-3),c=0|l(r,-2),d=0-r|0,h=r<<1,v=3*r|0,b=0|o[2027],g=0|l(r,-4),w=0|o[2024],m=0|o[2025],k=0|o[2026],p=e,e=i;;){i=e,e=e+-1|0,C=0|a[p+f>>0],I=0|a[(y=p+c|0)>>0],D=0|a[(E=p+d|0)>>0],L=0|a[p>>0],S=0|a[(x=p+r|0)>>0],_=0|a[p+h>>0],B=0|a[p+v>>0],M=I-S|0;do{if(((a[b+(D-L)>>0]<<2)+(0|a[b+M>>0])|0)<=(0|s)&&(0|a[b+((0|a[p+g>>0])-C)>>0])<=(0|A)&&(0|a[b+(C-I)>>0])<=(0|A)&&(0|(F=0|a[b+(I-D)>>0]))<=(0|A)&&(0|a[b+(B-_)>>0])<=(0|A)&&(0|a[b+(_-S)>>0])<=(0|A)&&(0|(P=0|a[b+(S-L)>>0]))<=(0|A)){if(R=3*(L-D|0)|0,(0|F)>(0|u)|(0|P)>(0|u)){P=R+(0|t[w+M>>0])|0,T=0|t[m+((F=P+4|0)>>3)>>0],F=P+3|0,t[E>>0]=0|t[k+((0|t[m+(F>>3)>>0])+D)>>0],t[p>>0]=0|t[k+(L-T)>>0];break}F=0|t[m+((T=R+4|0)>>3)>>0],R=0|t[m+((T=R+3|0)>>3)>>0],P=(T=F+1|0)>>1,t[y>>0]=0|t[k+(P+I)>>0],t[E>>0]=0|t[k+(R+D)>>0],t[p>>0]=0|t[k+(L-F)>>0],t[x>>0]=0|t[k+(S-P)>>0];break}}while(0);if((0|i)<=1)break;p=p+n|0}}function Cr(e,r,n,i,f,A,u){e|=0,r|=0,n|=0,A|=0,u|=0;var s,c,d,h,v,b,g,w,m,k,p=0,C=0,y=0,I=0,E=0,D=0,L=0,x=0,S=0,_=0,B=0,M=0,F=0,P=0,R=0,T=0,G=0,O=0;if(s=(f|=0)<<1|1,!((0|(i|=0))<=0))for(f=0|l(r,-3),c=0|l(r,-2),d=0-r|0,h=r<<1,v=3*r|0,b=0|o[2027],g=0|l(r,-4),w=0|o[2024],m=0|o[2025],k=0|o[2026],p=e,e=i;;){i=e,e=e+-1|0,y=0|a[(C=p+f|0)>>0],E=0|a[(I=p+c|0)>>0],L=0|a[(D=p+d|0)>>0],x=0|a[p>>0],_=0|a[(S=p+r|0)>>0],M=0|a[(B=p+h|0)>>0],F=0|a[p+v>>0],P=E-_|0;do{if(((a[b+(L-x)>>0]<<2)+(0|a[b+P>>0])|0)<=(0|s)&&(0|a[b+((0|a[p+g>>0])-y)>>0])<=(0|A)&&(0|a[b+(y-E)>>0])<=(0|A)&&(0|(R=0|a[b+(E-L)>>0]))<=(0|A)&&(0|a[b+(F-M)>>0])<=(0|A)&&(0|a[b+(M-_)>>0])<=(0|A)&&(0|(T=0|a[b+(_-x)>>0]))<=(0|A)){if(G=(3*(x-L|0)|0)+(0|t[w+P>>0])|0,(0|R)>(0|u)|(0|T)>(0|u)){R=0|t[m+((T=G+4|0)>>3)>>0],T=G+3|0,t[D>>0]=0|t[k+((0|t[m+(T>>3)>>0])+L)>>0],t[p>>0]=0|t[k+(x-R)>>0];break}T=(G=63+(27*(R=0|t[w+G>>0])|0)|0)>>7,O=(G=63+(18*R|0)|0)>>7,R=(G=63+(9*R|0)|0)>>7,t[C>>0]=0|t[k+(R+y)>>0],t[I>>0]=0|t[k+(O+E)>>0],t[D>>0]=0|t[k+(T+L)>>0],t[p>>0]=0|t[k+(x-T)>>0],t[S>>0]=0|t[k+(_-O)>>0],t[B>>0]=0|t[k+(M-R)>>0];break}}while(0);if((0|i)<=1)break;p=p+n|0}}function yr(e,r){r|=0;var n,f=0,A=0,u=0,s=0,l=0,c=0,d=0,h=0,v=0,b=0;n=O,O=O+64|0,f=n,A=0|i[(e|=0)>>1],s=(u=0|i[e+16>>1])+A|0,l=A-u|0,h=((A=35468*(u=0|i[e+8>>1])|0)>>16)-(c=0|i[e+24>>1])-((d=20091*c|0)>>16)|0,c=((d=20091*u|0)>>16)+u+((A=35468*c|0)>>16)|0,o[f>>2]=c+s,o[(A=f+4|0)>>2]=h+l,o[f+8>>2]=l-h,o[f+12>>2]=s-c,c=0|i[e+2>>1],h=(s=0|i[e+18>>1])+c|0,l=c-s|0,v=((c=35468*(s=0|i[e+10>>1])|0)>>16)-(u=0|i[e+26>>1])-((d=20091*u|0)>>16)|0,c=(u=((d=20091*s|0)>>16)+s+((c=35468*u|0)>>16)|0)+h|0,o[f+16>>2]=c,o[f+20>>2]=v+l,o[f+24>>2]=l-v,o[f+28>>2]=h-u,u=0|i[e+4>>1],v=(h=0|i[e+20>>1])+u|0,l=u-h|0,b=((u=35468*(h=0|i[e+12>>1])|0)>>16)-(s=0|i[e+28>>1])-((d=20091*s|0)>>16)|0,u=(s=((d=20091*h|0)>>16)+h+((u=35468*s|0)>>16)|0)+v|0,o[f+32>>2]=u,o[f+36>>2]=b+l,o[f+40>>2]=l-b,o[f+44>>2]=v-s,s=0|i[e+6>>1],b=(v=0|i[e+22>>1])+s|0,l=s-v|0,d=((s=35468*(v=0|i[e+14>>1])|0)>>16)-(h=0|i[e+30>>1])-((e=20091*h|0)>>16)|0,s=(h=((e=20091*v|0)>>16)+v+((s=35468*h|0)>>16)|0)+b|0,o[f+48>>2]=s,v=d+l|0,o[f+52>>2]=v,o[f+56>>2]=l-d,o[f+60>>2]=b-h,b=(h=4+(0|o[f>>2])|0)+u|0,d=h-u|0,l=((u=35468*c|0)>>16)-s-((h=20091*s|0)>>16)|0,c=((u=(s=((h=20091*c|0)>>16)+c+((u=35468*s|0)>>16)|0)+b|0)>>3)+(0|a[r>>0])|0,t[r>>0]=c>>>0>255?255+(c>>>31)|0:c,h=((u=l+d|0)>>3)+(0|a[(c=r+1|0)>>0])|0,t[c>>0]=h>>>0>255?255+(h>>>31)|0:h,l=((c=d-l|0)>>3)+(0|a[(h=r+2|0)>>0])|0,t[h>>0]=l>>>0>255?255+(l>>>31)|0:l,s=((h=b-s|0)>>3)+(0|a[(l=r+3|0)>>0])|0,t[l>>0]=s>>>0>255?255+(s>>>31)|0:s,s=r+32|0,h=(l=4+(0|o[A>>2])|0)+(A=0|o[f+36>>2])|0,b=l-A|0,d=((l=35468*(A=0|o[f+20>>2])|0)>>16)-v-((c=20091*v|0)>>16)|0,A=((l=(v=((c=20091*A|0)>>16)+A+((l=35468*v|0)>>16)|0)+h|0)>>3)+(0|a[s>>0])|0,t[s>>0]=A>>>0>255?255+(A>>>31)|0:A,l=((s=d+b|0)>>3)+(0|a[(A=r+33|0)>>0])|0,t[A>>0]=l>>>0>255?255+(l>>>31)|0:l,d=((A=b-d|0)>>3)+(0|a[(l=r+34|0)>>0])|0,t[l>>0]=d>>>0>255?255+(d>>>31)|0:d,v=((l=h-v|0)>>3)+(0|a[(d=r+35|0)>>0])|0,t[d>>0]=v>>>0>255?255+(v>>>31)|0:v,v=r+64|0,h=(d=4+(0|o[f+8>>2])|0)+(l=0|o[f+40>>2])|0,A=d-l|0,c=((d=35468*(l=0|o[f+24>>2])|0)>>16)-(b=0|o[f+56>>2])-((s=20091*b|0)>>16)|0,l=((d=(b=((s=20091*l|0)>>16)+l+((d=35468*b|0)>>16)|0)+h|0)>>3)+(0|a[v>>0])|0,t[v>>0]=l>>>0>255?255+(l>>>31)|0:l,d=((v=c+A|0)>>3)+(0|a[(l=r+65|0)>>0])|0,t[l>>0]=d>>>0>255?255+(d>>>31)|0:d,c=((l=A-c|0)>>3)+(0|a[(d=r+66|0)>>0])|0,t[d>>0]=c>>>0>255?255+(c>>>31)|0:c,b=((d=h-b|0)>>3)+(0|a[(c=r+67|0)>>0])|0,t[c>>0]=b>>>0>255?255+(b>>>31)|0:b,b=r+96|0,h=(c=4+(0|o[f+12>>2])|0)+(d=0|o[f+44>>2])|0,l=c-d|0,v=((c=35468*(d=0|o[f+28>>2])|0)>>16)-(A=0|o[f+60>>2])-((f=20091*A|0)>>16)|0,d=((c=(A=((f=20091*d|0)>>16)+d+((c=35468*A|0)>>16)|0)+h|0)>>3)+(0|a[b>>0])|0,t[b>>0]=d>>>0>255?255+(d>>>31)|0:d,c=((b=v+l|0)>>3)+(0|a[(d=r+97|0)>>0])|0,t[d>>0]=c>>>0>255?255+(c>>>31)|0:c,v=((d=l-v|0)>>3)+(0|a[(c=r+98|0)>>0])|0,t[c>>0]=v>>>0>255?255+(v>>>31)|0:v,v=r+99|0,A=((r=h-A|0)>>3)+(0|a[v>>0])|0,t[v>>0]=A>>>0>255?255+(A>>>31)|0:A,O=n}function Ir(e,r,n,t){var i;if(r|=0,0==(0|(e|=0))|0==(0|(n|=0))|512!=(-256&(t|=0)|0))return 2;i=(t=n)+40|0;do{o[t>>2]=0,t=t+4|0}while((0|t)<(0|i));return 0|Er(e,r,n,n+4|0,n+8|0,n+12|0,n+16|0,0)}function Er(e,r,n,t,i,f,A,u){r|=0,n|=0,t|=0,i|=0,f|=0,A|=0,u|=0;var s,c,d,h,v,b,g=0,w=0,m=0,k=0,p=0,C=0,y=0,I=0,E=0,D=0,L=0,x=0,S=0,_=0,B=0,M=0,F=0,P=0,R=0,T=0,G=0,q=0,U=0,Y=0,z=0,W=0,X=0,Q=0,N=0,V=0,j=0,H=0,Z=0,K=0,J=0,$=0,ee=0;if(s=O,O=O+16|0,d=s,h=e|=0,o[(c=s+4|0)>>2]=0,o[d>>2]=0,b=(v=0!=(0|u))?0|o[u+8>>2]:0,0==(0|e)|r>>>0<12)return O=s,7;if(0|Hr(e,8828,4))k=r,p=h,C=0,y=0;else{if(0|Hr(e+8|0,8833,4))return O=s,3;if(((w=(0|a[e+5>>0])<<8|0|a[e+4>>0]|((0|a[e+7>>0])<<8|0|a[e+6>>0])<<16)-12|0)>>>0>4294967274)return O=s,3;if((m=r+-12|0)>>>0<8|0!=(0|b)&w>>>0>(r+-8|0)>>>0)return O=s,7;k=m,p=e+12|0,C=w,y=1}if(0|Hr(w=p,8838,4))L=0,x=0,S=0,_=0,B=k,M=0,F=p,P=0,R=0;else{if(10!=((0|a[w+5>>0])<<8|0|a[w+4>>0]|((0|a[w+7>>0])<<8|0|a[w+6>>0])<<16|0))return O=s,3;if(k>>>0<18)return O=s,7;if(e=0|a[w+8>>0],m=1+((0|a[w+13>>0])<<8|0|a[w+12>>0]|(0|a[w+14>>0])<<16)|0,I=1+((0|a[w+16>>0])<<8|0|a[w+15>>0]|(0|a[w+17>>0])<<16)|0,E=0|l(m,I),!(D=0==(0|I))&&(0|(E>>>0)/((D?1:I)>>>0))!=(0|m))return O=s,3;if(!y)return O=s,3;L=e,x=1,S=I,_=m,B=k+-18|0,M=(D=2&e)>>>1,F=w+18|0,P=0!=(0|D),R=1}(p=0==(0|i))||(o[i>>2]=L>>>4&1),0|f&&(o[f>>2]=M),(f=0==(0|A))||(o[A>>2]=0),o[c>>2]=_,o[d>>2]=S,L=0==(0|u);e:do{if(L&R&P)ee=0;else{r:do{if(B>>>0>=4){y&0!=(0|x)?(T=F,G=25):0==(x|C|0)&&0==(0|Hr(k=F,8843,4))?(T=k,G=25):(q=B,U=F,Y=0,z=0);n:do{if(25==(0|G)){if(B>>>0<8){W=0;break r}if(!C){for(k=T,D=B,w=F,m=0,I=0;;){if((e=(0|a[k+5>>0])<<8|0|a[k+4>>0]|((0|a[k+7>>0])<<8|0|a[k+6>>0])<<16)>>>0>4294967286){g=3;break}if(E=e+9&-2,!(0|Hr(k,8848,4))){q=D,U=w,Y=m,z=I;break n}if(!(0|Hr(k,8853,4))){q=D,U=w,Y=m,z=I;break n}if(D>>>0>>0){W=I;break r}if(Q=(X=0==(0|Hr(k,8843,4)))?k+8|0:I,N=k+E|0,(V=D-E|0)>>>0<8){W=Q;break r}k=N,D=V,w=N,m=X?e:m,I=Q}return O=s,0|g}for(I=T,m=22,w=B,D=F,k=0,Q=0;;){if((e=(0|a[I+5>>0])<<8|0|a[I+4>>0]|((0|a[I+7>>0])<<8|0|a[I+6>>0])<<16)>>>0>4294967286){g=3,G=65;break}if((N=(X=e+9&-2)+m|0)>>>0>C>>>0){g=3,G=65;break}if(!(0|Hr(I,8848,4))){q=w,U=D,Y=k,z=Q;break n}if(!(0|Hr(I,8853,4))){q=w,U=D,Y=k,z=Q;break n}if(w>>>0>>0){W=Q;break r}if(E=(V=0==(0|Hr(I,8843,4)))?I+8|0:Q,j=I+X|0,(H=w-X|0)>>>0<8){W=E;break r}I=j,m=N,w=H,D=j,k=V?e:k,Q=E}if(65==(0|G))return O=s,0|g}}while(0);if(D=1&(k=0==(0|Hr(Q=U,8853,4))),!(q>>>0<8)){if(k|0==(0|Hr(Q,8848,4))){if(C>>>0>11&(k=(0|a[Q+5>>0])<<8|0|a[Q+4>>0]|((0|a[Q+7>>0])<<8|0|a[Q+6>>0])<<16)>>>0>(C+-12|0)>>>0)return O=s,3;if(0!=(0|b)&k>>>0>(w=q+-8|0)>>>0){W=z;break}Z=w,K=Q+8|0,J=k,$=D}else Z=q,K=U,J=q,$=0|Dr(Q,q);if(J>>>0>4294967286)return O=s,3;if(f|0!=(0|M)||(o[A>>2]=0==(0|$)?1:2),$){if(Z>>>0<5){W=z;break}if(!(0|xr(K,Z,c,d,i)))return O=s,3}else{if(Z>>>0<10){W=z;break}if(!(0|Lr(K,Z,J,c,d)))return O=s,3}if(0|x&&((0|_)!=(0|o[c>>2])||(0|S)!=(0|o[d>>2])))return O=s,3;if(!v){ee=z;break e}o[u>>2]=h,o[u+4>>2]=r,o[(Q=u+8|0)>>2]=0,o[Q+4>>2]=0,o[u+16>>2]=z,o[u+20>>2]=Y,o[u+24>>2]=J,o[u+28>>2]=C,o[u+32>>2]=$,o[u+12>>2]=K-h,ee=z;break e}W=z}else W=0}while(0);if(!(L&0!=(0|x)))return O=s,7;ee=W}}while(0);return p||(o[i>>2]=o[i>>2]|0!=(0|ee)),0|n&&(o[n>>2]=o[c>>2]),t?(o[t>>2]=o[d>>2],O=s,0|(g=0)):(O=s,0|(g=0))}function Dr(e,r){return e|=0,(r|=0)>>>0<=4?0:47!=(0|t[e>>0])?0:0|(0|a[e+4>>0])<32&1}function Lr(e,r,n,i,f){var A,u,s;return n|=0,i|=0,f|=0,0==(0|(e|=0))|(r|=0)>>>0<10?0:-99!=(0|t[e+3>>0])?0:1!=(0|t[e+4>>0])?0:42!=(0|t[e+5>>0])?0:(r=0|a[e>>0],A=a[e+1>>0]<<8|r|a[e+2>>0]<<16,u=a[e+7>>0]<<8&16128|a[e+6>>0],s=a[e+9>>0]<<8&16128|a[e+8>>0],16==(25&r|0)&A>>>5>>>0>>0?0==(0|u)|0==(0|s)?0:(0|i&&(o[i>>2]=u),f?(o[f>>2]=s,1):1):0)}function xr(e,r,n,i,f){n|=0,i|=0,f|=0;var A,u,s=0,l=0;return A=O,O=O+32|0,u=A,0==(0|(e|=0))|(r|=0)>>>0<5?(O=A,0):47!=(0|t[e>>0])?(O=A,0):(0|a[e+4>>0])>31?(O=A,0):(pe(u,e,r),47==(0|ne(u,8))&&(r=1+(0|ne(u,14))|0,e=1+(0|ne(u,14))|0,s=0|ne(u,1),0==(0|ne(u,3)))&&0==(0|o[u+24>>2])?(0|n&&(o[n>>2]=r),0|i&&(o[i>>2]=e),f?(o[f>>2]=s,l=1):l=1):l=0,O=A,0|l)}function Sr(e,r){r|=0;var n,f,A,u=0,s=0,l=0,c=0,d=0,h=0,v=0,b=0,g=0,w=0,m=0,k=0,p=0,C=0,y=0,I=0,E=0,D=0,L=0,x=0,S=0,_=0,B=0,M=0,F=0,P=0,R=0,T=0;if(!(e|=0))return 0;if(o[e>>2]=0,o[(n=e+8|0)>>2]=8858,!r)return o[e>>2]=2,o[n>>2]=8861,o[e+4>>2]=0,0;if(u=0|o[r+64>>2],(s=0|o[r+60>>2])>>>0<4)return o[e>>2]=7,o[n>>2]=8898,o[e+4>>2]=0,0;if(l=0|a[u>>0],c=a[u+1>>0]<<8|l|a[u+2>>0]<<16,f=255&(1&l^1),t[(A=e+40|0)>>0]=f,d=l>>>1&7,t[e+41>>0]=d,h=l>>>4&1,t[e+42>>0]=h,l=c>>>5,o[(c=e+44|0)>>2]=l,(255&d)>3)return o[e>>2]=3,o[n>>2]=8916,o[e+4>>2]=0,0;if(!(h<<24>>24))return o[e>>2]=4,o[n>>2]=8947,o[e+4>>2]=0,0;h=u+3|0,d=s+-3|0;do{if(f<<24>>24){if(d>>>0<7)return o[e>>2]=7,o[n>>2]=8970,o[e+4>>2]=0,0;if(-99==(0|t[h>>0])&&1==(0|t[u+4>>0])&&42==(0|t[u+5>>0])){m=a[(w=u+7|0)>>0]<<8&16128|a[u+6>>0],i[e+48>>1]=m,k=0|t[w>>0],t[e+52>>0]=(255&k)>>>6,w=a[(k=u+9|0)>>0]<<8&16128|a[u+8>>0],i[e+50>>1]=w,p=0|t[k>>0],t[e+53>>0]=(255&p)>>>6,p=m+15|0,o[e+288>>2]=p>>>4,p=w+15|0,o[e+292>>2]=p>>>4,o[r>>2]=m,o[r+4>>2]=w,o[r+72>>2]=0,o[r+84>>2]=0,o[r+76>>2]=0,o[r+80>>2]=m,o[r+88>>2]=w,o[r+92>>2]=0,o[r+96>>2]=m,o[r+100>>2]=w,o[r+12>>2]=m,o[r+16>>2]=w,Rr(e+904|0),o[e+104>>2]=0,o[e+108>>2]=0,o[e+112>>2]=1,o[e+116>>2]=0,o[e+120>>2]=0,v=u+10|0,b=s+-10|0,g=0|o[c>>2];break}return o[e>>2]=3,o[n>>2]=8998,o[e+4>>2]=0,0}v=h,b=d,g=l}while(0);if(g>>>0>b>>>0)return 0|o[e>>2]?0:(o[e>>2]=7,o[n>>2]=9012,o[e+4>>2]=0,0);if(Tr(s=e+12|0,v,g),c=v+(g=0|o[c>>2])|0,u=b-g|0,0|t[A>>0]&&(g=255&(0|Gr(s,1)),t[e+54>>0]=g,g=255&(0|Gr(s,1)),t[e+55>>0]=g),g=0|Gr(s,1),o[e+104>>2]=g,g?(g=0|Gr(s,1),o[(r=e+108|0)>>2]=g,0|Gr(s,1)&&(g=0|Gr(s,1),o[e+112>>2]=g,C=0|Gr(s,1)?255&(0|Or(s,7)):0,t[e+116>>0]=C,y=0|Gr(s,1)?255&(0|Or(s,7)):0,t[e+117>>0]=y,I=0|Gr(s,1)?255&(0|Or(s,7)):0,t[e+118>>0]=I,E=0|Gr(s,1)?255&(0|Or(s,7)):0,t[e+119>>0]=E,D=0|Gr(s,1)?255&(0|Or(s,6)):0,t[e+120>>0]=D,L=0|Gr(s,1)?255&(0|Or(s,6)):0,t[e+121>>0]=L,x=0|Gr(s,1)?255&(0|Or(s,6)):0,t[e+122>>0]=x,S=0|Gr(s,1)?255&(0|Or(s,6)):0,t[e+123>>0]=S),0|o[r>>2]&&(_=0|Gr(s,1)?255&(0|Gr(s,8)):-1,t[e+904>>0]=_,B=0|Gr(s,1)?255&(0|Gr(s,8)):-1,t[e+905>>0]=B,M=0|Gr(s,1)?255&(0|Gr(s,8)):-1,t[e+906>>0]=M)):o[e+108>>2]=0,0|o[(M=e+36|0)>>2])return 0|o[e>>2]?0:(o[e>>2]=3,o[n>>2]=9033,o[e+4>>2]=0,0);B=0|Gr(s,1),o[(_=e+56|0)>>2]=B,B=0|Gr(s,6),o[(r=e+60|0)>>2]=B,B=0|Gr(s,3),o[e+64>>2]=B,B=0|Gr(s,1),o[e+68>>2]=B;do{if(0|B&&0|Gr(s,1)){if(0|Gr(s,1)&&(S=0|Or(s,6),o[e+72>>2]=S),0|Gr(s,1)&&(S=0|Or(s,6),o[e+76>>2]=S),0|Gr(s,1)&&(S=0|Or(s,6),o[e+80>>2]=S),0|Gr(s,1)&&(S=0|Or(s,6),o[e+84>>2]=S),0|Gr(s,1)&&(S=0|Or(s,6),o[e+88>>2]=S),0|Gr(s,1)&&(S=0|Or(s,6),o[e+92>>2]=S),0|Gr(s,1)&&(S=0|Or(s,6),o[e+96>>2]=S),!(0|Gr(s,1)))break;S=0|Or(s,6),o[e+100>>2]=S}}while(0);if(F=0|o[r>>2]?0==(0|o[_>>2])?2:1:0,o[e+2308>>2]=F,0|o[M>>2])return 0|o[e>>2]?0:(o[e>>2]=3,o[n>>2]=9061,o[e+4>>2]=0,0);if(M=v+b|0,b=(1<<(0|Gr(s,2)))-1|0,o[e+312>>2]=b,u>>>0>=(v=3*b|0)>>>0){if(F=c+v|0,_=u-v|0,b)for(v=0,u=_,_=F,F=c;;){if(Tr(e+316+(28*v|0)|0,_,r=(c=a[F+1>>0]<<8|a[F>>0]|a[F+2>>0]<<16)>>>0>u>>>0?u:c),c=_+r|0,B=u-r|0,(0|(v=v+1|0))==(0|b)){P=B,R=c;break}u=B,_=c,F=F+3|0}else P=_,R=F;if(Tr(e+316+(28*b|0)|0,R,P),R>>>0>>0)return qr(e),0|t[A>>0]?(Gr(s,1),Ur(s,e),o[e+4>>2]=1,1):0|o[e>>2]?0:(o[e>>2]=4,o[n>>2]=9112,o[e+4>>2]=0,0);T=5}else T=7;return 0|o[e>>2]?0:(o[e>>2]=T,o[n>>2]=9088,o[e+4>>2]=0,0)}function _r(e,r){e|=0;var n,i,f,A,u,s,d,h,v,b,g,w,m,k,p=0,C=0,y=0,I=0,E=0,D=0,L=0,x=0,S=0,_=0,B=0,M=0,F=0,P=0,R=0,T=0,G=0,O=0,q=0,U=0,Y=0,z=0,W=0,X=0,Q=0,N=0,V=0,j=0,H=0,Z=0,K=0,J=0,$=0,ee=0,re=0,ne=0,te=0,ie=0,oe=0,ae=0,fe=0,Ae=0,ue=0,se=0,le=0,ce=0,de=0,he=0,ve=0,be=0,ge=0,we=0,me=0,ke=0,pe=0,Ce=0,ye=0,Ie=0,Ee=0,De=0,Le=0,xe=0,Se=0,_e=0,Be=0,Me=0,Fe=0,Pe=0,Re=0,Te=0,Ge=0,Oe=0;if((0|o[(n=288+(r|=0)|0)>>2])<=0)return 0|1&0==(0|o[(r+36|0)>>2]);i=r+2244|0,f=r+2248|0,A=r+2304|0,u=r+108|0,s=r+2236|0,d=r+904|0,h=e+4|0,v=e+8|0,b=r+2240|0,g=e+12|0,w=e+20|0,m=r+906|0,k=r+905|0,p=0;do{if(C=(0|o[i>>2])+(p<<2)|0,y=0|o[A>>2],0|o[u>>2]){E=0|a[d>>0],D=0|o[h>>2],L=0|o[v>>2];do{if((0|L)<0){if((x=0|o[g>>2])>>>0<(0|o[w>>2])>>>0){S=a[x>>0]|a[x+1>>0]<<8|a[x+2>>0]<<16|a[x+3>>0]<<24,o[g>>2]=x+3,x=0|yn(0|S),o[e>>2]=o[e>>2]<<24|x>>>8,x=L+24|0,o[v>>2]=x,_=x;break}Pr(e),_=0|o[v>>2];break}_=L}while(0);if(x=(L=0|l(D,E))>>>8,L=0|o[e>>2],(S=(_?L>>>_:L)>>>0>x>>>0)?(B=L-(x+1<<_)|0,o[e>>2]=B,M=D-x|0,F=B):(M=x+1|0,F=L),x=_-(L=24^(0|c(0|M)))|0,o[v>>2]=x,B=(M<>2]=B,S){S=0|a[m>>0];do{if((0|x)<0){if((L=0|o[g>>2])>>>0<(0|o[w>>2])>>>0){P=a[L>>0]|a[L+1>>0]<<8|a[L+2>>0]<<16|a[L+3>>0]<<24,o[g>>2]=L+3,P=(L=0|yn(0|P))>>>8|F<<24,o[e>>2]=P,L=x+24|0,o[v>>2]=L,R=P,T=L;break}Pr(e),R=0|o[e>>2],T=0|o[v>>2];break}R=F,T=x}while(0);(D=(T?R>>>T:R)>>>0>(E=(D=0|l(B,S))>>>8)>>>0)?(o[e>>2]=R-(E+1<>2]=T-E,o[h>>2]=(G<>0];do{if((0|x)<0){if((E=0|o[g>>2])>>>0<(0|o[w>>2])>>>0){L=a[E>>0]|a[E+1>>0]<<8|a[E+2>>0]<<16|a[E+3>>0]<<24,o[g>>2]=E+3,L=(E=0|yn(0|L))>>>8|F<<24,o[e>>2]=L,E=x+24|0,o[v>>2]=E,q=L,U=E;break}Pr(e),q=0|o[e>>2],U=0|o[v>>2];break}q=F,U=x}while(0);(x=(U?q>>>U:q)>>>0>(S=(x=0|l(B,D))>>>8)>>>0)?(o[e>>2]=q-(S+1<>2]=U-S,o[h>>2]=(Y<>0]=I,0|o[s>>2]){x=0|a[b>>0],S=0|o[h>>2],E=0|o[v>>2];do{if((0|E)<0){if((L=0|o[g>>2])>>>0<(0|o[w>>2])>>>0){P=a[L>>0]|a[L+1>>0]<<8|a[L+2>>0]<<16|a[L+3>>0]<<24,o[g>>2]=L+3,L=0|yn(0|P),o[e>>2]=o[e>>2]<<24|L>>>8,L=E+24|0,o[v>>2]=L,X=L;break}Pr(e),X=0|o[v>>2];break}X=E}while(0);B=(E=0|l(S,x))>>>8,E=0|o[e>>2],(D=(X?E>>>X:E)>>>0>B>>>0)?(o[e>>2]=E-(B+1<>2]=E,L=(Q<>2]=L,t[y+(800*p|0)+797>>0]=1&D,z=E,W=L}else z=0|o[v>>2],W=0|o[h>>2];do{if((0|z)<0){if((L=0|o[g>>2])>>>0<(0|o[w>>2])>>>0){E=a[L>>0]|a[L+1>>0]<<8|a[L+2>>0]<<16|a[L+3>>0]<<24,o[g>>2]=L+3,L=0|yn(0|E),o[e>>2]=o[e>>2]<<24|L>>>8,L=z+24|0,o[v>>2]=L,N=L;break}Pr(e),N=0|o[v>>2];break}N=z}while(0);if(x=(S=145*W|0)>>>8,S=0|o[e>>2],(L=(N?S>>>N:S)>>>0>x>>>0)?(E=S-(x+1<>2]=E,V=W-x|0,j=E):(V=x+1|0,j=S),x=N-(S=24^(0|c(0|V)))|0,o[v>>2]=x,E=(V<>2]=E,t[y+(800*p|0)+768>>0]=1&(1^L),L){do{if((0|x)<0){if((L=0|o[g>>2])>>>0<(0|o[w>>2])>>>0){S=a[L>>0]|a[L+1>>0]<<8|a[L+2>>0]<<16|a[L+3>>0]<<24,o[g>>2]=L+3,S=(L=0|yn(0|S))>>>8|j<<24,o[e>>2]=S,L=x+24|0,o[v>>2]=L,H=S,Z=L;break}Pr(e),H=0|o[e>>2],Z=0|o[v>>2];break}H=j,Z=x}while(0);if((x=(Z?H>>>Z:H)>>>0>(L=(x=156*E|0)>>>8)>>>0)?(S=H-(L+1<>2]=S,K=E-L|0,J=S):(K=L+1|0,J=H),S=Z-(L=24^(0|c(0|K)))|0,o[v>>2]=S,D=(K<>2]=D,L=(0|S)<0,x){do{if(L){if((x=0|o[g>>2])>>>0<(0|o[w>>2])>>>0){B=a[x>>0]|a[x+1>>0]<<8|a[x+2>>0]<<16|a[x+3>>0]<<24,o[g>>2]=x+3,B=(x=0|yn(0|B))>>>8|J<<24,o[e>>2]=B,x=S+24|0,o[v>>2]=x,$=B,ee=x;break}Pr(e),$=0|o[e>>2],ee=0|o[v>>2];break}$=J,ee=S}while(0);(x=(ee?$>>>ee:$)>>>0>(E=D>>>1&16777215)>>>0)?(o[e>>2]=$-(E+1<>2]=ee-E,o[h>>2]=(re<>2])>>>0<(0|o[w>>2])>>>0){E=a[x>>0]|a[x+1>>0]<<8|a[x+2>>0]<<16|a[x+3>>0]<<24,o[g>>2]=x+3,E=(x=0|yn(0|E))>>>8|J<<24,o[e>>2]=E,x=S+24|0,o[v>>2]=x,te=E,ie=x;break}Pr(e),te=0|o[e>>2],ie=0|o[v>>2];break}te=J,ie=S}while(0);(S=(ie?te>>>ie:te)>>>0>(L=(S=163*D|0)>>>8)>>>0)?(o[e>>2]=te-(L+1<>2]=ie-L,o[h>>2]=(oe<>0]=S,Dn(0|C,0|S,4),Dn(0|f,0|S,4)}else for(S=y+(800*p|0)+769|0,L=0;;){E=0,B=0|a[(x=r+2248+L|0)>>0];do{ae=0|a[(P=C+E|0)>>0],fe=0|a[4144+(90*ae|0)+(9*B|0)>>0],Ae=0|o[h>>2],ue=0|o[v>>2];do{if((0|ue)<0){if((se=0|o[g>>2])>>>0<(0|o[w>>2])>>>0){le=a[se>>0]|a[se+1>>0]<<8|a[se+2>>0]<<16|a[se+3>>0]<<24,o[g>>2]=se+3,se=0|yn(0|le),o[e>>2]=o[e>>2]<<24|se>>>8,se=ue+24|0,o[v>>2]=se,ce=se;break}Pr(e),ce=0|o[v>>2];break}ce=ue}while(0);if(se=(ue=0|l(Ae,fe))>>>8,ue=0|o[e>>2],de=1&(le=(ce?ue>>>ce:ue)>>>0>se>>>0),le?(le=ue-(se+1<>2]=le,he=Ae-se|0,ve=le):(he=se+1|0,ve=ue),se=ce-(ue=24^(0|c(0|he)))|0,o[v>>2]=se,le=(he<>2]=le,ue=0|t[5056+de>>0],1&(de?41706>>>de:41706)){for(de=ue,ue=se,se=ve,ge=le;;){le=de<<1,we=0|a[4144+(90*ae|0)+(9*B|0)+de>>0];do{if((0|ue)<0){if((me=0|o[g>>2])>>>0<(0|o[w>>2])>>>0){ke=a[me>>0]|a[me+1>>0]<<8|a[me+2>>0]<<16|a[me+3>>0]<<24,o[g>>2]=me+3,ke=(me=0|yn(0|ke))>>>8|se<<24,o[e>>2]=ke,me=ue+24|0,o[v>>2]=me,pe=ke,Ce=me;break}Pr(e),pe=0|o[e>>2],Ce=0|o[v>>2];break}pe=se,Ce=ue}while(0);if((me=(Ce?pe>>>Ce:pe)>>>0>(ke=(me=0|l(ge,we))>>>8)>>>0)?(ye=pe-(ke+1<>2]=ye,Ie=ge-ke|0,Ee=ye):(Ie=ke+1|0,Ee=pe),ue=Ce-(ke=24^(0|c(0|Ie)))|0,o[v>>2]=ue,ge=(Ie<>2]=ge,De=0|t[5056+(ke=le|1&me)>>0],!(1&(ke?41706>>>ke:41706)))break;de=De<<24>>24,se=Ee}be=De<<24>>24}else be=ue;Le=255&(B=0-be|0),t[P>>0]=Le,E=E+1|0}while(4!=(0|E));if(E=a[C>>0]|a[C+1>>0]<<8|a[C+2>>0]<<16|a[C+3>>0]<<24,t[S>>0]=E,t[S+1>>0]=E>>8,t[S+2>>0]=E>>16,t[S+3>>0]=E>>24,t[x>>0]=Le,4==(0|(L=L+1|0)))break;S=S+4|0}S=0|o[h>>2],L=0|o[v>>2];do{if((0|L)<0){if((C=0|o[g>>2])>>>0<(0|o[w>>2])>>>0){D=a[C>>0]|a[C+1>>0]<<8|a[C+2>>0]<<16|a[C+3>>0]<<24,o[g>>2]=C+3,C=0|yn(0|D),o[e>>2]=o[e>>2]<<24|C>>>8,C=L+24|0,o[v>>2]=C,xe=C;break}Pr(e),xe=0|o[v>>2];break}xe=L}while(0);if(C=(L=142*S|0)>>>8,L=0|o[e>>2],(D=(xe?L>>>xe:L)>>>0>C>>>0)?(E=L-(C+1<>2]=E,Se=S-C|0,_e=E):(Se=C+1|0,_e=L),C=xe-(L=24^(0|c(0|Se)))|0,o[v>>2]=C,E=(Se<>2]=E,D){do{if((0|C)<0){if((D=0|o[g>>2])>>>0<(0|o[w>>2])>>>0){L=a[D>>0]|a[D+1>>0]<<8|a[D+2>>0]<<16|a[D+3>>0]<<24,o[g>>2]=D+3,L=(D=0|yn(0|L))>>>8|_e<<24,o[e>>2]=L,D=C+24|0,o[v>>2]=D,Be=L,Me=D;break}Pr(e),Be=0|o[e>>2],Me=0|o[v>>2];break}Be=_e,Me=C}while(0);if((C=(Me?Be>>>Me:Be)>>>0>(S=(C=114*E|0)>>>8)>>>0)?(D=Be-(S+1<>2]=D,Fe=E-S|0,Pe=D):(Fe=S+1|0,Pe=Be),D=Me-(S=24^(0|c(0|Fe)))|0,o[v>>2]=D,L=(Fe<>2]=L,C){do{if((0|D)<0){if((C=0|o[g>>2])>>>0<(0|o[w>>2])>>>0){S=a[C>>0]|a[C+1>>0]<<8|a[C+2>>0]<<16|a[C+3>>0]<<24,o[g>>2]=C+3,S=(C=0|yn(0|S))>>>8|Pe<<24,o[e>>2]=S,C=D+24|0,o[v>>2]=C,Re=S,Te=C;break}Pr(e),Re=0|o[e>>2],Te=0|o[v>>2];break}Re=Pe,Te=D}while(0);(D=(Te?Re>>>Te:Re)>>>0>(E=(D=183*L|0)>>>8)>>>0)?(o[e>>2]=Re-(E+1<>2]=Te-E,o[h>>2]=(Ge<>0]=Oe,p=p+1|0}while((0|p)<(0|o[n>>2]));return 0|1&0==(0|o[(r+36|0)>>2])}function Br(e,r){r|=0;var n,f,A,u=0,s=0,l=0,c=0,d=0,h=0,v=0,b=0,g=0,w=0,m=0,k=0,p=0,C=0,y=0,I=0,E=0,D=0,L=0,x=0,S=0,_=0,B=0,M=0,F=0;if(n=O,O=O+32|0,u=n,f=(s=0|o[2256+(e|=0)>>2])+((c=0|o[(l=e+2296|0)>>2])<<1)|0,A=0|o[e+2304>>2],0!=(0|o[e+2236>>2])&&(h=255&(d=0|t[A+(800*c|0)+797>>0]),d<<24>>24!=0))t[f>>0]=0,t[s+-2>>0]=0,0|t[A+(800*c|0)+768>>0]||(t[s+(c<<1)+1>>0]=0,t[s+-1>>0]=0),o[A+(800*c|0)+788>>2]=0,o[A+(800*c|0)+792>>2]=0,t[A+(800*c|0)+796>>0]=0,v=h;else{for(h=A+(800*c|0)|0,d=0|a[A+(800*c|0)+798>>0],Dn(0|h,0,768),0|t[A+(800*c|0)+768>>0]?(k=0,p=3):(o[u>>2]=0,o[u+4>>2]=0,o[u+8>>2]=0,o[u+12>>2]=0,o[u+16>>2]=0,o[u+20>>2]=0,o[u+24>>2]=0,o[u+28>>2]=0,b=s+(c<<1)+1|0,g=s+-1|0,m=(0|(w=0|On[1&o[2549]](r,e+2032|0,(0|a[g>>0])+(0|a[b>>0])|0,e+776+(d<<5)+8|0,0,u)))>0&1,t[g>>0]=m,t[b>>0]=m,(0|w)>1?function(e,r){r|=0;var n,t,a=0,f=0,A=0,u=0,s=0,l=0,c=0,d=0,h=0,v=0,b=0,g=0,w=0,m=0,k=0,p=0,C=0,y=0;n=O,O=O+64|0,a=n,f=0|i[(e|=0)>>1],u=(A=0|i[e+24>>1])+f|0,s=0|i[e+8>>1],c=(l=0|i[e+16>>1])+s|0,d=s-l|0,l=f-A|0,A=c+u|0,o[a>>2]=A,o[(f=a+32|0)>>2]=u-c,o[(c=a+16|0)>>2]=d+l,o[(u=a+48|0)>>2]=l-d,d=0|i[e+2>>1],s=(l=0|i[e+26>>1])+d|0,h=0|i[e+10>>1],b=(v=0|i[e+18>>1])+h|0,g=h-v|0,v=d-l|0,l=b+s|0,o[a+4>>2]=l,o[(d=a+36|0)>>2]=s-b,b=g+v|0,o[a+20>>2]=b,o[(s=a+52|0)>>2]=v-g,g=0|i[e+4>>1],h=(v=0|i[e+28>>1])+g|0,w=0|i[e+12>>1],k=(m=0|i[e+20>>1])+w|0,p=w-m|0,m=g-v|0,v=k+h|0,o[a+8>>2]=v,g=h-k|0,o[a+40>>2]=g,k=p+m|0,o[a+24>>2]=k,o[(h=a+56|0)>>2]=m-p,p=0|i[e+6>>1],w=(m=0|i[e+30>>1])+p|0,t=0|i[e+14>>1],e=(C=0|i[e+22>>1])+t|0,y=t-C|0,C=p-m|0,m=e+w|0,o[a+12>>2]=m,p=w-e|0,o[a+44>>2]=p,e=y+C|0,o[a+28>>2]=e,w=C-y|0,o[a+60>>2]=w,y=v+l|0,C=l-v|0,v=(a=A+3|0)-m|0,m=y+(A=a+m|0)|0,i[r>>1]=m>>>3,m=C+v|0,i[r+32>>1]=m>>>3,m=A-y|0,i[r+64>>1]=m>>>3,m=v-C|0,i[r+96>>1]=m>>>3,C=k+b|0,v=b-k|0,k=(m=3+(0|o[c>>2])|0)-e|0,e=C+(c=m+e|0)|0,i[r+128>>1]=e>>>3,e=v+k|0,i[r+160>>1]=e>>>3,e=c-C|0,i[r+192>>1]=e>>>3,e=k-v|0,i[r+224>>1]=e>>>3,f=(e=3+(0|o[f>>2])|0)+p|0,d=g+(v=0|o[d>>2])|0,k=v-g|0,g=e-p|0,p=d+f|0,i[r+256>>1]=p>>>3,p=k+g|0,i[r+288>>1]=p>>>3,p=f-d|0,i[r+320>>1]=p>>>3,p=g-k|0,i[r+352>>1]=p>>>3,u=(p=3+(0|o[u>>2])|0)+w|0,k=0|o[s>>2],h=(s=0|o[h>>2])+k|0,g=k-s|0,s=p-w|0,w=h+u|0,i[r+384>>1]=w>>>3,w=g+s|0,i[r+416>>1]=w>>>3,w=u-h|0,i[r+448>>1]=w>>>3,w=s-g|0,i[r+480>>1]=w>>>3,O=n}(u,h):(u=(w=3+(0|i[u>>1])|0)>>3&65535,i[A+(800*c|0)>>1]=u,i[A+(800*c|0)+32>>1]=u,i[A+(800*c|0)+64>>1]=u,i[A+(800*c|0)+96>>1]=u,i[A+(800*c|0)+128>>1]=u,i[A+(800*c|0)+160>>1]=u,i[A+(800*c|0)+192>>1]=u,i[A+(800*c|0)+224>>1]=u,i[A+(800*c|0)+256>>1]=u,i[A+(800*c|0)+288>>1]=u,i[A+(800*c|0)+320>>1]=u,i[A+(800*c|0)+352>>1]=u,i[A+(800*c|0)+384>>1]=u,i[A+(800*c|0)+416>>1]=u,i[A+(800*c|0)+448>>1]=u,i[A+(800*c|0)+480>>1]=u),k=1,p=0),u=e+1964+(68*p|0)|0,p=s+-2|0,s=e+776+(d<<5)|0,w=h,h=15&t[f>>0],m=15&t[p>>0],b=0,g=0;C=255&m,y=255&h,y=(E=(0|(I=0|On[1&o[2549]](r,u,(1&C)+(1&y)|0,s,k,w)))>(0|k)&1)<<7|(D=y>>>1),L=0!=(0|i[w>>1])&1,x=w+32|0,y=(E=(0|(S=0|On[1&o[2549]](r,u,(1&D)+E|0,s,k,x)))>(0|k)&1)<<7|(D=y>>>1),_=((0|S)>3?3:(0|S)>1?2:0!=(0|i[x>>1])&1)|((0|I)>3?12:(0|I)>1?8:L<<2),L=w+64|0,E=(0|(I=0|On[1&o[2549]](r,u,(1&D)+E|0,s,k,L)))>(0|k)&1,D=y>>>1,y=((0|I)>3?3:(0|I)>1?2:0!=(0|i[L>>1])&1)|_<<2,_=w+96|0,L=E<<7|224&D,h=(255&(D=255&((E=((0|(I=0|On[1&o[2549]](r,u,(1&D)+E|0,s,k,_)))>(0|k)&1)<<7)|L>>>1)))>>>4,B=E|C>>>1,b=y<<2|b<<8|((0|I)>3?3:(0|I)>1?2:0!=(0|i[_>>1])&1),4!=(0|(g=g+1|0));)w=w+128|0,m=255&B;m=A+(800*c|0)+512|0,w=e+2100|0,g=e+776+(d<<5)+16|0,k=0|a[f>>0],s=0|a[p>>0],_=(0|(u=0|On[1&o[2549]](r,w,(s>>>4&1)+(k>>>4&1)|0,g,0,m)))>0&1,I=0!=(0|i[m>>1])&1,m=A+(800*c|0)+544|0,k=(0|(y=0|On[1&o[2549]](r,w,(k>>>5&1)+_|0,g,0,m)))>0&1,C=((0|y)>3?3:(0|y)>1?2:0!=(0|i[m>>1])&1)|((0|u)>3?12:(0|u)>1?8:I<<2),I=A+(800*c|0)+576|0,_=(0|(u=0|On[1&o[2549]](r,w,(s>>>5&1)+_|0,g,0,I)))>0&1,s=((0|u)>3?3:(0|u)>1?2:0!=(0|i[I>>1])&1)|C<<2,C=A+(800*c|0)+608|0,u=(0|(I=0|On[1&o[2549]](r,w,_+k|0,g,0,C)))>0&1,m=((0|I)>3?3:(0|I)>1?2:0!=(0|i[C>>1])&1)|s<<2,s=A+(800*c|0)+640|0,C=0|a[f>>0],I=0|a[p>>0],E=(0|(y=0|On[1&o[2549]](r,w,(I>>>6&1)+(C>>>6&1)|0,g,0,s)))>0&1,D=0!=(0|i[s>>1])&1,s=A+(800*c|0)+672|0,C=(0|(L=0|On[1&o[2549]](r,w,(C>>>7)+E|0,g,0,s)))>0&1,x=((0|L)>3?3:(0|L)>1?2:0!=(0|i[s>>1])&1)|((0|y)>3?12:(0|y)>1?8:D<<2),D=A+(800*c|0)+704|0,E=(0|(y=0|On[1&o[2549]](r,w,(I>>>7)+E|0,g,0,D)))>0&1,I=((0|y)>3?3:(0|y)>1?2:0!=(0|i[D>>1])&1)|x<<2,x=A+(800*c|0)+736|0,g=(0|(D=0|On[1&o[2549]](r,w,E+C|0,g,0,x)))>0&1,w=m|(((0|D)>3?3:(0|D)>1?2:0!=(0|i[x>>1])&1)|I<<2)<<8,t[f>>0]=(u<<1|_)<<4|255&h|(g<<1|E)<<6,t[p>>0]=k<<4|B>>>4|u<<5|C<<6|g<<7,o[A+(800*c|0)+788>>2]=b,o[A+(800*c|0)+792>>2]=w,M=43690&w?0:255&o[e+776+(d<<5)+28>>2],t[A+(800*c|0)+796>>0]=M,v=0==(w|b|0)&1}return(0|o[e+2308>>2])<=0?(F=0|o[(r+24|0)>>2],O=n,0|1&0==(0|F)):(l=(b=0|o[e+2260>>2])+((w=0|o[l>>2])<<2)|0,M=e+2312+(a[A+(800*c|0)+798>>0]<<3)+(a[A+(800*c|0)+768>>0]<<2)|0,c=a[M>>0]|a[M+1>>0]<<8|a[M+2>>0]<<16|a[M+3>>0]<<24,t[l>>0]=c,t[l+1>>0]=c>>8,t[l+2>>0]=c>>16,t[l+3>>0]=c>>24,t[(c=b+(w<<2)+2|0)>>0]=a[c>>0]|0==(0|v),F=0|o[(r+24|0)>>2],O=n,0|1&0==(0|F))}function Mr(e,r,n){e|=0,r|=0;var i=0,a=0,f=0;if(!((0|(n|=0))<=0)){i=0;do{f=1081344+(6420*(255&(a=0|o[e+(i<<2)>>2]))|0)+(16839*(a>>>16&255)|0)+(33059*(a>>>8&255)|0)|0,t[r+i>>0]=f>>>16,i=i+1|0}while((0|i)!=(0|n))}}function Fr(e,r,n,i,f){e|=0,r|=0,n|=0,f|=0;var A=0,u=0,s=0,c=0,d=0,h=0,v=0,b=0,g=0;if(A=(i|=0)>>1,(0|i)>1)if(f)for(u=0;;){if(h=0|o[e+((v=u<<1)<<2)>>2],v=((d=0|o[e+((1|v)<<2)>>2])>>>15&510)+(h>>>15&510)|0,c=(d<<1&510)+(h<<1&510)|0,b=(d=33685504+(h=(0|l(s=(d>>>7&510)+(h>>>7&510)|0,-19081))+(0|l(v,-9719))+(28800*c|0)|0)|0)>>18,v=(c=33685504+(d=(0|l(s,-24116))+(28800*v|0)+(0|l(c,-4684))|0)|0)>>18,t[r+u>>0]=b>>>0<256?b:(0|h)<-33685504?0:255,t[n+u>>0]=v>>>0<256?v:(0|d)<-33685504?0:255,!((0|(d=u+1|0))<(0|A))){g=d;break}u=d}else for(u=0;;){if(c=0|o[e+((s=u<<1)<<2)>>2],s=((d=0|o[e+((1|s)<<2)>>2])>>>15&510)+(c>>>15&510)|0,v=(d<<1&510)+(c<<1&510)|0,b=(d=33685504+(c=(0|l(h=(d>>>7&510)+(c>>>7&510)|0,-19081))+(0|l(s,-9719))+(28800*v|0)|0)|0)>>18,s=(v=33685504+(d=(0|l(h,-24116))+(28800*s|0)+(0|l(v,-4684))|0)|0)>>18,h=(b>>>0<256?b:(0|c)<-33685504?0:255)+1+(0|a[(v=r+u|0)>>0])|0,t[v>>0]=h>>>1,v=(s>>>0<256?s:(0|d)<-33685504?0:255)+1+(0|a[(h=n+u|0)>>0])|0,t[h>>0]=v>>>1,!((0|(v=u+1|0))<(0|A))){g=v;break}u=v}else g=0;if(1&i)return e=(i=0|o[e+(g<<1<<2)>>2])>>>14&1020,A=i<<2&1020,d=(v=(d=33685504+(i=(0|l(u=i>>>6&1020,-19081))+(0|l(e,-9719))+(28800*A|0)|0)|0)>>18)>>>0<256?v:(0|i)<-33685504?0:255,A=(e=(A=33685504+(i=(0|l(u,-24116))+(28800*e|0)+(0|l(A,-4684))|0)|0)>>18)>>>0<256?e:(0|i)<-33685504?0:255,f?(t[r+g>>0]=d,void(t[n+g>>0]=A)):(i=d+1+(0|a[(f=r+g|0)>>0])|0,t[f>>0]=i>>>1,f=A+1+(0|a[(i=n+g|0)>>0])|0,void(t[i>>0]=f>>>1))}function Pr(e){var r=0,n=0,t=0;return(n=0|o[(r=12+(e|=0)|0)>>2])>>>0<(0|o[e+16>>2])>>>0?(o[(t=e+8|0)>>2]=8+(0|o[t>>2]),o[r>>2]=n+1,void(o[e>>2]=o[e>>2]<<8|0|a[n>>0])):0|o[(n=e+24|0)>>2]?void(o[e+8>>2]=0):(o[e>>2]=o[e>>2]<<8,o[(r=e+8|0)>>2]=8+(0|o[r>>2]),void(o[n>>2]=1))}function Rr(e){i[(e|=0)>>1]=65535,t[e+2>>0]=255}function Tr(e,r,n){r|=0,n|=0;var t,i,f,A=0,u=0;return o[4+(e|=0)>>2]=254,o[e>>2]=0,o[(t=e+8|0)>>2]=-8,o[(i=e+24|0)>>2]=0,o[(f=e+12|0)>>2]=r,A=r+n|0,o[e+16>>2]=A,u=n>>>0>3?A+-4+1|0:r,o[e+20>>2]=u,u>>>0>r>>>0?(u=a[r>>0]|a[r+1>>0]<<8|a[r+2>>0]<<16|a[r+3>>0]<<24,o[f>>2]=r+3,A=0|yn(0|u),o[e>>2]=A>>>8,void(o[t>>2]=16)):(0|n)>0?(o[t>>2]=0,o[f>>2]=r+1,void(o[e>>2]=a[r>>0])):(o[e>>2]=0,o[t>>2]=0,void(o[i>>2]=1))}function Gr(e,r){var n,t,i,f,A,u,s=0,l=0,d=0,h=0,v=0,b=0,g=0,w=0,m=0,k=0;if((0|(r|=0))<=0)return 0;for(n=4+(e|=0)|0,i=e+12|0,f=e+20|0,A=e+16|0,u=e+24|0,l=0,d=r,r=0|o[(t=e+8|0)>>2],h=0|o[n>>2];;){v=d,d=d+-1|0;do{if((0|r)<0){if((b=0|o[i>>2])>>>0<(0|o[f>>2])>>>0){g=a[b>>0]|a[b+1>>0]<<8|a[b+2>>0]<<16|a[b+3>>0]<<24,o[i>>2]=b+3,w=0|yn(0|g),o[e>>2]=o[e>>2]<<24|w>>>8,w=r+24|0,o[t>>2]=w,m=w;break}if(b>>>0<(0|o[A>>2])>>>0){w=r+8|0,o[t>>2]=w,o[i>>2]=b+1,o[e>>2]=o[e>>2]<<8|0|a[b>>0],m=w;break}if(0|o[u>>2]){o[t>>2]=0,m=0;break}o[e>>2]=o[e>>2]<<8,w=r+8|0,o[t>>2]=w,o[u>>2]=1,m=w;break}m=r}while(0);if(w=h>>>1&16777215,b=0|o[e>>2],(g=(m?b>>>m:b)>>>0>w>>>0)?(o[e>>2]=b-(w+1<>2]=r,h=(k<>2]=h,w=(1&g)<>2]),h=0;do{i?h?(o[(g=e+776+(h<<5)|0)>>2]=o[n>>2],o[g+4>>2]=o[n+4>>2],o[g+8>>2]=o[n+8>>2],o[g+12>>2]=o[n+12>>2],o[g+16>>2]=o[n+16>>2],o[g+20>>2]=o[n+20>>2],o[g+24>>2]=o[n+24>>2],o[g+28>>2]=o[n+28>>2]):(v=r,b=16):(v=(0==(0|o[d>>2])?r:0)+(0|t[e+116+h>>0])|0,b=16),16==(0|b)&&(b=0,w=(0|(g=v+A|0))<127?g:127,o[e+776+(h<<5)>>2]=a[7200+((0|w)>0?w:0)>>0],w=(0|v)<127?v:127,o[e+776+(h<<5)+4>>2]=f[7328+(((0|w)>0?w:0)<<1)>>1],g=(0|(w=v+u|0))<127?w:127,o[e+776+(h<<5)+8>>2]=a[7200+((0|g)>0?g:0)>>0]<<1,g=101581*(0|f[7328+(((0|(w=(0|(g=v+s|0))<127?g:127))>0?w:0)<<1)>>1])|0,o[e+776+(h<<5)+12>>2]=g>>>0<524288?8:g>>>16,w=(0|(g=v+l|0))<117?g:117,o[e+776+(h<<5)+16>>2]=a[7200+((0|w)>0?w:0)>>0],g=(0|(w=v+c|0))<127?w:127,o[e+776+(h<<5)+20>>2]=f[7328+(((0|g)>0?g:0)<<1)>>1],o[e+776+(h<<5)+24>>2]=w),h=h+1|0}while(4!=(0|h))}function Ur(e,r){r|=0;var n,i,f,A,u=0,s=0,d=0,h=0,v=0,b=0,g=0,w=0,m=0,k=0,p=0,C=0,y=0,I=0,E=0,D=0,L=0,x=0,S=0;n=4+(e|=0)|0,i=e+8|0,f=e+12|0,A=e+20|0,u=0;do{s=0;do{d=0;do{h=0|a[5088+(264*u|0)+(33*s|0)+d>>0],v=0|o[n>>2],b=0|o[i>>2];do{if((0|b)<0){if((g=0|o[f>>2])>>>0<(0|o[A>>2])>>>0){w=a[g>>0]|a[g+1>>0]<<8|a[g+2>>0]<<16|a[g+3>>0]<<24,o[f>>2]=g+3,g=0|yn(0|w),o[e>>2]=o[e>>2]<<24|g>>>8,g=b+24|0,o[i>>2]=g,m=g;break}Pr(e),m=0|o[i>>2];break}m=b}while(0);g=(b=0|l(v,h))>>>8,b=0|o[e>>2],(w=(m?b>>>m:b)>>>0>g>>>0)?(o[e>>2]=b-(g+1<>2]=m-g,o[n>>2]=(k<>0],t[r+907+(264*u|0)+(33*s|0)+d>>0]=p,d=d+1|0}while(11!=(0|d));d=0;do{w=0|a[5088+(264*u|0)+(33*s|0)+11+d>>0],g=0|o[n>>2],b=0|o[i>>2];do{if((0|b)<0){if((C=0|o[f>>2])>>>0<(0|o[A>>2])>>>0){y=a[C>>0]|a[C+1>>0]<<8|a[C+2>>0]<<16|a[C+3>>0]<<24,o[f>>2]=C+3,C=0|yn(0|y),o[e>>2]=o[e>>2]<<24|C>>>8,C=b+24|0,o[i>>2]=C,I=C;break}Pr(e),I=0|o[i>>2];break}I=b}while(0);v=(b=0|l(g,w))>>>8,b=0|o[e>>2],(h=(I?b>>>I:b)>>>0>v>>>0)?(o[e>>2]=b-(v+1<>2]=I-v,o[n>>2]=(E<>0],t[r+907+(264*u|0)+(33*s|0)+11+d>>0]=D,d=d+1|0}while(11!=(0|d));d=0;do{h=0|a[5088+(264*u|0)+(33*s|0)+22+d>>0],v=0|o[n>>2],b=0|o[i>>2];do{if((0|b)<0){if((C=0|o[f>>2])>>>0<(0|o[A>>2])>>>0){y=a[C>>0]|a[C+1>>0]<<8|a[C+2>>0]<<16|a[C+3>>0]<<24,o[f>>2]=C+3,C=0|yn(0|y),o[e>>2]=o[e>>2]<<24|C>>>8,C=b+24|0,o[i>>2]=C,L=C;break}Pr(e),L=0|o[i>>2];break}L=b}while(0);g=(b=0|l(v,h))>>>8,b=0|o[e>>2],(w=(L?b>>>L:b)>>>0>g>>>0)?(o[e>>2]=b-(g+1<>2]=L-g,o[n>>2]=(x<>0],t[r+907+(264*u|0)+(33*s|0)+22+d>>0]=S,d=d+1|0}while(11!=(0|d));s=s+1|0}while(8!=(0|s));s=r+907+(264*u|0)|0,o[r+1964+(68*u|0)>>2]=s,o[r+1964+(68*u|0)+4>>2]=r+907+(264*u|0)+33,o[r+1964+(68*u|0)+8>>2]=r+907+(264*u|0)+66,o[r+1964+(68*u|0)+12>>2]=r+907+(264*u|0)+99,d=r+907+(264*u|0)+198|0,o[r+1964+(68*u|0)+16>>2]=d,o[r+1964+(68*u|0)+20>>2]=r+907+(264*u|0)+132,o[r+1964+(68*u|0)+24>>2]=r+907+(264*u|0)+165,o[r+1964+(68*u|0)+28>>2]=d,o[r+1964+(68*u|0)+32>>2]=d,o[r+1964+(68*u|0)+36>>2]=d,o[r+1964+(68*u|0)+40>>2]=d,o[r+1964+(68*u|0)+44>>2]=d,o[r+1964+(68*u|0)+48>>2]=d,o[r+1964+(68*u|0)+52>>2]=d,o[r+1964+(68*u|0)+56>>2]=d,o[r+1964+(68*u|0)+60>>2]=r+907+(264*u|0)+231,o[r+1964+(68*u|0)+64>>2]=s,u=u+1|0}while(4!=(0|u));u=0|Gr(e,1),o[r+2236>>2]=u,u&&(u=255&(0|Gr(e,8)),t[r+2240>>0]=u)}function Yr(e,r){e|=0;var n,i,f,A=0,u=0,s=0,d=0,h=0,v=0,b=0,g=0,w=0,m=0,k=0,p=0,C=0,y=0,I=0,E=0,D=0,L=0,x=0,S=0,_=0,B=0,M=0,F=0,P=0,R=0,T=0,G=0,O=0,q=0,U=0,Y=0,z=0,W=0,X=0,Q=0,N=0,V=0,j=0,H=0,Z=0,K=0,J=0,$=0,ee=0,re=0;A=0|a[3+(r|=0)>>0],i=0|o[(n=e+4|0)>>2],u=0|o[(f=e+8|0)>>2];do{if((0|u)<0){if((d=0|o[(s=e+12|0)>>2])>>>0<(0|o[e+20>>2])>>>0){h=a[d>>0]|a[d+1>>0]<<8|a[d+2>>0]<<16|a[d+3>>0]<<24,o[s>>2]=d+3,d=0|yn(0|h),o[e>>2]=o[e>>2]<<24|d>>>8,d=u+24|0,o[f>>2]=d,v=d;break}Pr(e),v=0|o[f>>2];break}v=u}while(0);if(A=(u=0|l(i,A))>>>8,u=0|o[e>>2],(d=(v?u>>>v:u)>>>0>A>>>0)?(h=u-(A+1<>2]=h,b=i-A|0,g=h):(b=A+1|0,g=u),A=v-(u=24^(0|c(0|b)))|0,o[f>>2]=A,v=(b<>2]=v,!d){d=0|a[r+4>>0];do{if((0|A)<0){if((b=0|o[(u=e+12|0)>>2])>>>0<(0|o[e+20>>2])>>>0){h=a[b>>0]|a[b+1>>0]<<8|a[b+2>>0]<<16|a[b+3>>0]<<24,o[u>>2]=b+3,h=g<<24|(b=0|yn(0|h))>>>8,o[e>>2]=h,b=A+24|0,o[f>>2]=b,w=h,m=b;break}Pr(e),w=0|o[e>>2],m=0|o[f>>2];break}w=g,m=A}while(0);if((b=(m?w>>>m:w)>>>0>(d=(b=0|l(v,d))>>>8)>>>0)?(h=w-(d+1<>2]=h,k=v-d|0,p=h):(k=d+1|0,p=w),d=m-(w=24^(0|c(0|k)))|0,o[f>>2]=d,m=(k<>2]=m,!b)return 2;b=0|a[r+5>>0];do{if((0|d)<0){if((k=0|o[(w=e+12|0)>>2])>>>0<(0|o[e+20>>2])>>>0){h=a[k>>0]|a[k+1>>0]<<8|a[k+2>>0]<<16|a[k+3>>0]<<24,o[w>>2]=k+3,h=p<<24|(k=0|yn(0|h))>>>8,o[e>>2]=h,k=d+24|0,o[f>>2]=k,C=h,y=k;break}Pr(e),C=0|o[e>>2],y=0|o[f>>2];break}C=p,y=d}while(0);return(d=(y?C>>>y:C)>>>0>(b=(d=0|l(m,b))>>>8)>>>0)?(o[e>>2]=C-(b+1<>2]=y-b,o[n>>2]=(I<>0];do{if((0|A)<0){if((I=0|o[(b=e+12|0)>>2])>>>0<(0|o[e+20>>2])>>>0){y=a[I>>0]|a[I+1>>0]<<8|a[I+2>>0]<<16|a[I+3>>0]<<24,o[b>>2]=I+3,y=g<<24|(I=0|yn(0|y))>>>8,o[e>>2]=y,I=A+24|0,o[f>>2]=I,E=y,D=I;break}Pr(e),E=0|o[e>>2],D=0|o[f>>2];break}E=g,D=A}while(0);if((A=(D?E>>>D:E)>>>0>(d=(A=0|l(v,d))>>>8)>>>0)?(g=E-(d+1<>2]=g,L=v-d|0,x=g):(L=d+1|0,x=E),d=D-(E=24^(0|c(0|L)))|0,o[f>>2]=d,D=(L<>2]=D,A){A=0|a[r+8>>0];do{if((0|d)<0){if((L=0|o[(E=e+12|0)>>2])>>>0<(0|o[e+20>>2])>>>0){g=a[L>>0]|a[L+1>>0]<<8|a[L+2>>0]<<16|a[L+3>>0]<<24,o[E>>2]=L+3,g=x<<24|(L=0|yn(0|g))>>>8,o[e>>2]=g,L=d+24|0,o[f>>2]=L,S=g,_=L;break}Pr(e),S=0|o[e>>2],_=0|o[f>>2];break}S=x,_=d}while(0);g=1&(L=(_?S>>>_:S)>>>0>(A=(L=0|l(D,A))>>>8)>>>0),L?(E=S-(A+1<<_)|0,o[e>>2]=E,B=D-A|0,M=E):(B=A+1|0,M=S),A=_-(S=24^(0|c(0|B)))|0,o[f>>2]=A,_=(B<>2]=_,S=0|a[r+(L?10:9)>>0];do{if((0|A)<0){if((B=0|o[(L=e+12|0)>>2])>>>0<(0|o[e+20>>2])>>>0){E=a[B>>0]|a[B+1>>0]<<8|a[B+2>>0]<<16|a[B+3>>0]<<24,o[L>>2]=B+3,E=M<<24|(B=0|yn(0|E))>>>8,o[e>>2]=E,B=A+24|0,o[f>>2]=B,F=E,P=B;break}Pr(e),F=0|o[e>>2],P=0|o[f>>2];break}F=M,P=A}while(0);if((A=(P?F>>>P:F)>>>0>(S=(A=0|l(_,S))>>>8)>>>0)?(M=F-(S+1<>2]=M,R=_-S|0,T=M):(R=S+1|0,T=F),S=P-(F=24^(0|c(0|R)))|0,o[f>>2]=S,P=(R<>2]=P,A=0|o[7600+((F=g<<1|1&A)<<2)>>2],(g=0|t[A>>0])<<24>>24)for(R=e+12|0,M=e+20|0,_=A,A=0,B=g,g=S,S=T,T=P;;){P=255&B;do{if((0|g)<0){if((E=0|o[R>>2])>>>0<(0|o[M>>2])>>>0){L=a[E>>0]|a[E+1>>0]<<8|a[E+2>>0]<<16|a[E+3>>0]<<24,o[R>>2]=E+3,L=S<<24|(E=0|yn(0|L))>>>8,o[e>>2]=L,E=g+24|0,o[f>>2]=E,O=L,q=E;break}Pr(e),O=0|o[e>>2],q=0|o[f>>2];break}O=S,q=g}while(0);if((E=(q?O>>>q:O)>>>0>(L=(E=0|l(T,P))>>>8)>>>0)?(v=O-(L+1<>2]=v,U=T-L|0,Y=v):(U=L+1|0,Y=O),g=q-(L=24^(0|c(0|U)))|0,o[f>>2]=g,T=(U<>2]=T,L=A<<1|1&E,!((B=0|t[(_=_+1|0)>>0])<<24>>24)){G=L;break}A=L,S=Y}else G=0;return 0|G+(8<>0];do{if((0|d)<0){if((G=0|o[(r=e+12|0)>>2])>>>0<(0|o[e+20>>2])>>>0){Y=a[G>>0]|a[G+1>>0]<<8|a[G+2>>0]<<16|a[G+3>>0]<<24,o[r>>2]=G+3,Y=x<<24|(G=0|yn(0|Y))>>>8,o[e>>2]=Y,G=d+24|0,o[f>>2]=G,z=Y,W=G;break}Pr(e),z=0|o[e>>2],W=0|o[f>>2];break}z=x,W=d}while(0);if((d=(W?z>>>W:z)>>>0>(F=(d=0|l(D,F))>>>8)>>>0)?(x=z-(F+1<>2]=x,X=D-F|0,Q=x):(X=F+1|0,Q=z),F=W-(z=24^(0|c(0|X)))|0,o[f>>2]=F,W=(X<>2]=W,z=(0|F)<0,!d){do{if(z){if((X=0|o[(d=e+12|0)>>2])>>>0<(0|o[e+20>>2])>>>0){x=a[X>>0]|a[X+1>>0]<<8|a[X+2>>0]<<16|a[X+3>>0]<<24,o[d>>2]=X+3,x=Q<<24|(X=0|yn(0|x))>>>8,o[e>>2]=x,X=F+24|0,o[f>>2]=X,N=x,V=X;break}Pr(e),N=0|o[e>>2],V=0|o[f>>2];break}N=Q,V=F}while(0);return(X=(V?N>>>V:N)>>>0>(x=(X=159*W|0)>>>8)>>>0)?(o[e>>2]=N-(x+1<>2]=V-x,o[n>>2]=(j<>2])>>>0<(0|o[e+20>>2])>>>0){j=a[x>>0]|a[x+1>>0]<<8|a[x+2>>0]<<16|a[x+3>>0]<<24,o[X>>2]=x+3,j=Q<<24|(x=0|yn(0|j))>>>8,o[e>>2]=j,x=F+24|0,o[f>>2]=x,H=j,Z=x;break}Pr(e),H=0|o[e>>2],Z=0|o[f>>2];break}H=Q,Z=F}while(0);(F=(Z?H>>>Z:H)>>>0>(Q=(F=165*W|0)>>>8)>>>0)?(z=H-(Q+1<>2]=z,K=W-Q|0,J=z):(K=Q+1|0,J=H),Q=Z-(H=24^(0|c(0|K)))|0,o[f>>2]=Q,Z=(K<>2]=Z,H=7+((1&F)<<1)|0;do{if((0|Q)<0){if((K=0|o[(F=e+12|0)>>2])>>>0<(0|o[e+20>>2])>>>0){z=a[K>>0]|a[K+1>>0]<<8|a[K+2>>0]<<16|a[K+3>>0]<<24,o[F>>2]=K+3,z=J<<24|(K=0|yn(0|z))>>>8,o[e>>2]=z,K=Q+24|0,o[f>>2]=K,$=z,ee=K;break}Pr(e),$=0|o[e>>2],ee=0|o[f>>2];break}$=J,ee=Q}while(0);return(Q=(ee?$>>>ee:$)>>>0>(J=(Q=145*Z|0)>>>8)>>>0)?(o[e>>2]=$-(J+1<>2]=ee-J,o[n>>2]=(re<>2]?0:(o[e>>2]=2,o[e+8>>2]=9156,o[e+4>>2]=0,0);if(0==(0|o[(n=e+4|0)>>2])&&0==(0|Sr(e,r)))return 0;if(!(0|er(e,r))){e:do{if(0|rr(e,r)){o[(a=e+2300|0)>>2]=0,f=e+308|0;r:do{if((0|o[f>>2])>0){A=e+312|0,u=e+12|0,s=e+2296|0,l=e+288|0,c=e+2256|0,d=e+2248|0,h=0;n:for(;;){if(v=e+316+(28*(o[A>>2]&h)|0)|0,!(0|_r(u,e))){b=12;break}if((0|o[s>>2])<(0|o[l>>2]))do{if(!(0|Br(e,v))){b=17;break n}g=1+(0|o[s>>2])|0,o[s>>2]=g}while((0|g)<(0|o[l>>2]));if(v=0|o[c>>2],t[v+-2>>0]=0,t[v+-1>>0]=0,o[d>>2]=0,o[s>>2]=0,!(0|Ze(e,r))){b=21;break}if(h=1+(0|o[a>>2])|0,o[a>>2]=h,(0|h)>=(0|o[f>>2]))break r}if(12==(0|b)){if(0|o[e>>2]){i=0;break e}o[e>>2]=7,o[e+8>>2]=9193,o[n>>2]=0,i=0;break e}if(17==(0|b)){if(0|o[e>>2]){i=0;break e}o[e>>2]=7,o[e+8>>2]=9234,o[n>>2]=0,i=0;break e}if(21==(0|b)){if(0|o[e>>2]){i=0;break e}o[e>>2]=6,o[e+8>>2]=9269,o[n>>2]=0,i=0;break e}}}while(0);if((0|o[e+148>>2])>0&&0==(0|Rn[7&o[(f=8148)>>2]](e+124|0))){i=0;break}i=1}else i=0}while(0);if(0|(b=(0|function(e,r){r|=0;var n;return n=(0|o[148+(e|=0)>>2])>0?0|Rn[7&o[2037]](e+124|0):1,(e=0|o[r+52>>2])?(qn[31&e](r),0|n):0|n}(e,r))&i))return o[n>>2]=0,0|b}return qn[31&o[(b=8160)>>2]](e+124|0),q(e),U(0|o[(b=e+2288|0)>>2]),o[b>>2]=0,o[e+2292>>2]=0,o[(b=e+12|0)>>2]=0,o[b+4>>2]=0,o[b+8>>2]=0,o[b+12>>2]=0,o[b+16>>2]=0,o[b+20>>2]=0,o[b+24>>2]=0,o[n>>2]=0,0}function Wr(e,r,n){e|=0,r|=0,n|=0;var t,i,a,f=0,A=0,u=0,s=0,c=0,d=0,h=0,b=0,g=0;if(t=O,O=O+160|0,f=t+148|0,A=t+144|0,i=t+36|0,o[(a=t)>>2]=e,o[(u=a+4|0)>>2]=r,o[a+8>>2]=1,o[A>>2]=0,s=0|Er(e,r,0,0,0,A,0,a),o[f>>2]=s,0|o[f>>2]?7==(0|o[f>>2])&0!=(0|o[A>>2])&&(c=4):0|o[A>>2]&&(c=4),4==(0|c)&&(o[f>>2]=4),0|(c=0|o[f>>2]))return O=t,0|c;if(j(i,520),c=0|o[a+12>>2],o[i+64>>2]=(0|o[a>>2])+c,o[i+60>>2]=(0|o[u>>2])-c,H(n,i),0|o[a+32>>2]){if(!(h=0|function(){var e;return(e=0|N(1,0,272))?(o[e>>2]=0,o[e+4>>2]=2,ke(),0|e):0}()))return O=t,1;g=0|function(e,r){var n,t=0,i=0;return(e|=0)?(r|=0)?(o[e+8>>2]=r,o[e>>2]=0,pe(n=e+24|0,0|o[r+64>>2],0|o[r+60>>2]),47==(0|ne(n,8))&&(t=1+(0|ne(n,14))|0,i=1+(0|ne(n,14))|0,ne(n,1),0==(0|ne(n,3)))&&0==(0|o[e+48>>2])?(o[e+4>>2]=2,o[r>>2]=t,o[r+4>>2]=i,0|Ce(t,i,1,e,0)?1:(z(e),0)):(o[e>>2]=3,z(e),0)):(o[e>>2]=2,0):0}(h,i)?(c=0|Ye(0|o[i>>2],0|o[i+4>>2],0|o[n+20>>2],0|o[n>>2]))||(0|function(e){var r,n,t,i=0,a=0,f=0,A=0,u=0,s=0,l=0,c=0,d=0,h=0,b=0,g=0,w=0,m=0,k=0,p=0,C=0,y=0;if(!(e|=0))return 0;r=0|o[e+8>>2],n=0|o[r+40>>2],t=e+4|0;e:do{if(0|o[t>>2]){if(o[(u=e+12|0)>>2]=o[n>>2],!(0|Me(0|o[n+20>>2],r,3))){o[e>>2]=2;break}if(s=0|o[r>>2],c=0|o[(l=e+100|0)>>2],b=0|vn(0|(h=0|o[(d=e+104|0)>>2]),((0|h)<0)<<31>>31|0,0|c,((0|c)<0)<<31>>31|0),c=0|v(),h=65535&s,s=0|bn(0|(g=0|Cn(0|s,((0|s)<0)<<31>>31|0,4)),0|v(),0|h,0),c=0|V(g=0|bn(0|s,0|v(),0|b,0|c),0|v(),4),o[(g=e+16|0)>>2]=c,!c){o[e>>2]=1,o[e+20>>2]=0;break}o[e+20>>2]=c+(b<<2)+(h<<2),h=r+92|0;do{if(0|o[h>>2]){if(b=0|o[r+12>>2],c=0|o[r+96>>2],s=0|o[r+16>>2],w=0|o[r+100>>2],p=0|bn(0|(k=0|Cn(0|c,0|(m=((0|c)<0)<<31>>31),5)),0|v(),84,0),C=0|V(m=0|bn(0|p,0|v(),0|(C=0|Cn(0|c,0|m,2)),0|v()),0|v(),1)){if(o[e+264>>2]=C,o[e+268>>2]=C,Pe(C,b,s,(m=C+84|0)+k|0,c,w,0,4,m),0|o[h>>2]){A=13;break}A=12;break}o[e>>2]=1;break e}A=12}while(0);if(12==(0|A)&&(((h=0|o[o[u>>2]>>2])-7|0)>>>0>3?y=h:A=13),13==(0|A)&&($(),y=0|o[o[u>>2]>>2]),y>>>0>10&&(o[2042]=0,0|o[28+(0|o[u>>2])>>2])&&$(),0|o[e+56>>2]&&(0|o[e+120>>2])>0&&0==(0|o[(h=e+136|0)>>2])&&0==(0|Ee(h,0|o[e+132>>2]))){o[e>>2]=1;break}o[t>>2]=0,i=g,a=l,f=d,A=23}else i=e+16|0,a=e+100|0,f=e+104|0,A=23}while(0);return 23==(0|A)&&0|te(e,0|o[i>>2],0|o[a>>2],0|o[f>>2],0|o[r+88>>2],2)?(o[n+16>>2]=o[e+116>>2],1):(z(e),0)}(h)?0:0|o[h>>2]):0|o[h>>2],Y(h),b=g}else{if(!(c=0|function(){var e;return(e=0|N(1,0,2376))?(o[e>>2]=0,o[e+8>>2]=8858,qn[31&o[2035]](e+124|0),o[e+4>>2]=0,o[e+312>>2]=0,0|o[2549]?0|e:(o[2549]=1,0|e)):0|e}()))return O=t,1;o[c+2348>>2]=o[a+16>>2],o[c+2352>>2]=o[a+20>>2],0|Sr(c,i)?(u=i+4|0,f=n+20|0,(A=0|Ye(0|o[i>>2],0|o[u>>2],0|o[f>>2],0|o[n>>2]))?h=A:(s=0|function(e,r,n,t){return n|=0,(e|=0)?0|(0==(0|o[e+40>>2])?0:(0|n)>511?2:0):0}(0|o[f>>2],0,0|o[i>>2],o[u>>2]),o[c+148>>2]=s,je(0|o[f>>2],c),h=0|zr(c,i)?0:0|o[c>>2])):h=0|o[c>>2],function(e){var r=0;(e|=0)&&(qn[31&o[(r=8160)>>2]](e+124|0),q(e),U(0|o[(r=e+2288|0)>>2]),o[r>>2]=0,o[e+2292>>2]=0,o[(r=e+12|0)>>2]=0,o[r+4>>2]=0,o[r+8>>2]=0,o[r+12>>2]=0,o[r+16>>2]=0,o[r+20>>2]=0,o[r+24>>2]=0,o[e+4>>2]=0,U(e))}(c),b=h}return 0|b?(Xe(0|o[n>>2]),O=t,0|(d=b)):(b=0|o[n+20>>2])&&0|o[b+48>>2]?(d=0|function(e){var r,n,t=0,i=0,a=0,f=0;return(e|=0)?(r=(0|o[e+8>>2])-1|0,(0|o[e>>2])>>>0<=10?(i=0|o[(t=e+20|0)>>2],a=0|l(i,r),o[(f=e+16|0)>>2]=(0|o[f>>2])+a,o[t>>2]=0-i,0):(t=0|o[(i=e+32|0)>>2],a=0|l(t,r),o[(f=e+16|0)>>2]=(0|o[f>>2])+a,o[i>>2]=0-t,t=r>>1,a=0|o[(i=e+36|0)>>2],f=0|l(a,t),o[(n=e+20|0)>>2]=(0|o[n>>2])+f,o[i>>2]=0-a,i=0|o[(a=e+40|0)>>2],f=0|l(i,t),o[(t=e+24|0)>>2]=(0|o[t>>2])+f,o[a>>2]=0-i,(a=0|o[(i=e+28|0)>>2])?(e=0|o[(f=e+44|0)>>2],t=a+(0|l(e,r))|0,o[i>>2]=t,o[f>>2]=0-e,0):0)):2}(0|o[n>>2]),O=t,0|d):(O=t,0|(d=0))}function Xr(e,r,n){e|=0,r|=0;var t,i,a,f=0,A=0,u=0,s=0,l=0,c=0,d=0;if(t=O,O=O+144|0,i=t+88|0,a=t,!(n|=0))return O=t,2;e:do{if(e){s=(u=n)+40|0;do{o[u>>2]=0,u=u+4|0}while((0|u)<(0|s));switch(0|(c=0|Er(e,r,n,l=n+4|0,n+8|0,n+12|0,n+16|0,0))){case 0:break;case 7:return O=t,3;default:A=c;break e}s=52+(u=i+4|0)|0;do{o[u>>2]=0,u=u+4|0}while((0|u)<(0|s));return o[i+20>>2]=n+124,u=n+40|0,o[i>>2]=u,0|Ve(u,n)?(We(a,520),o[a>>2]=o[u>>2],o[a+4>>2]=o[n>>2],o[a+8>>2]=o[l>>2],o[i>>2]=a,d=(s=0|Wr(e,r,i))||0|Qe(a,u),Xe(a),O=t,0|(f=d)):(f=0|Wr(e,r,i),O=t,0|f)}A=2}while(0);return O=t,0|A}function Qr(e){e|=0;var r,n=0,t=0,i=0,a=0,f=0,A=0,u=0,s=0,l=0,c=0,d=0,h=0,v=0,b=0,g=0,w=0,m=0,k=0,p=0,C=0,y=0,I=0,E=0,D=0,L=0,x=0,S=0,_=0,B=0,M=0,F=0,P=0,R=0,T=0,G=0,q=0,U=0,Y=0,z=0,W=0,X=0,Q=0,N=0,V=0,j=0,H=0,Z=0,K=0,J=0,$=0,ee=0,re=0,ne=0,te=0,ie=0,oe=0,ae=0,fe=0,Ae=0,ue=0,se=0,le=0,ce=0,de=0,he=0,ve=0,be=0,ge=0,we=0,me=0,ke=0,pe=0,Ce=0,ye=0,Ie=0,Ee=0,De=0,Le=0,xe=0,Se=0,_e=0,Be=0,Me=0,Fe=0,Pe=0;r=O,O=O+16|0,n=r;do{if(e>>>0<245){if(i=(t=e>>>0<11?16:e+11&-8)>>>3,a=0|o[2550],3&(f=i?a>>>i:a)|0)return l=0|o[(s=8+(u=10240+((A=(1&f^1)+i|0)<<1<<2)|0)|0)>>2],(0|(d=0|o[(c=l+8|0)>>2]))==(0|u)?o[2550]=a&~(1<>2]=u,o[s>>2]=d),d=A<<3,o[l+4>>2]=3|d,o[(A=l+d+4|0)>>2]=1|o[A>>2],O=r,0|c;if(t>>>0>(c=0|o[2552])>>>0){if(0|f)return f=0|o[(l=8+(s=10240+((u=((A=(i=(d=(A=((d=f<>>12&16)?A>>>d:A)>>>5&8)|d|(i=(f=A?i>>>A:i)>>>2&4)|(f=(l=i?f>>>i:f)>>>1&2)|(l=(s=f?l>>>f:l)>>>1&1))+(l?s>>>l:s)|0)<<1<<2)|0)|0)>>2],(0|(d=0|o[(i=f+8|0)>>2]))==(0|s)?(A=a&~(1<>2]=s,o[l>>2]=d,h=a),u=(d=u<<3)-t|0,o[f+4>>2]=3|t,o[4+(l=f+t|0)>>2]=1|u,o[f+d>>2]=u,0|c&&(d=0|o[2555],s=10240+((f=c>>>3)<<1<<2)|0,h&(A=1<>2],b=A):(o[2550]=h|A,v=s,b=s+8|0),o[b>>2]=d,o[v+12>>2]=d,o[d+8>>2]=v,o[d+12>>2]=s),o[2552]=u,o[2555]=l,O=r,0|i;if(i=0|o[2551]){for(f=g=0|o[10504+(((l=(s=(u=(l=(i&0-i)-1|0)>>>12&16)?l>>>u:l)>>>5&8)|u|(s=(d=l?s>>>l:s)>>>2&4)|(d=(A=s?d>>>s:d)>>>1&2)|(A=(f=d?A>>>d:A)>>>1&1))+(A?f>>>A:f)<<2)>>2],A=g,d=(-8&o[g+4>>2])-t|0;;){if(g=0|o[f+16>>2])w=g;else{if(!(s=0|o[f+20>>2]))break;w=s}f=w,A=(s=(g=(-8&o[w+4>>2])-t|0)>>>0>>0)?w:A,d=s?g:d}if((f=A+t|0)>>>0>A>>>0){g=0|o[A+24>>2],s=0|o[A+12>>2];do{if((0|s)==(0|A)){if(l=0|o[(u=A+20|0)>>2])C=l,y=u;else{if(!(k=0|o[(m=A+16|0)>>2])){p=0;break}C=k,y=m}for(u=C,l=y;;){if(k=0|o[(m=u+20|0)>>2])D=k,L=m;else{if(!(E=0|o[(I=u+16|0)>>2]))break;D=E,L=I}u=D,l=L}o[l>>2]=0,p=u}else m=0|o[A+8>>2],o[m+12>>2]=s,o[s+8>>2]=m,p=s}while(0);do{if(0|g){if(s=0|o[A+28>>2],(0|A)==(0|o[(m=10504+(s<<2)|0)>>2])){if(o[m>>2]=p,!p){o[2551]=i&~(1<>2])==(0|A)?s:g+20|0)>>2]=p,!p)break;o[p+24>>2]=g,0|(s=0|o[A+16>>2])&&(o[p+16>>2]=s,o[s+24>>2]=p),0|(s=0|o[A+20>>2])&&(o[p+20>>2]=s,o[s+24>>2]=p)}}while(0);return d>>>0<16?(g=d+t|0,o[A+4>>2]=3|g,o[(i=A+g+4|0)>>2]=1|o[i>>2]):(o[A+4>>2]=3|t,o[f+4>>2]=1|d,o[f+d>>2]=d,0|c&&(i=0|o[2555],s=10240+((g=c>>>3)<<1<<2)|0,(m=1<>2],S=m):(o[2550]=m|a,x=s,S=s+8|0),o[S>>2]=i,o[x+12>>2]=i,o[i+8>>2]=x,o[i+12>>2]=s),o[2552]=d,o[2555]=f),O=r,0|A+8}_=t}else _=t}else _=t}else if(e>>>0<=4294967231)if(i=-8&(s=e+11|0),m=0|o[2551]){g=0-i|0,B=(k=s>>>8)?i>>>0>16777215?31:1&((s=7+(k=14-((E=(k=520192+(s=k<<(I=(s=k+1048320|0)>>>16&8))|0)>>>16&4)|I|(M=(s=245760+(k=s<>>16&2))+((s=k<>>15)|0)|0)?i>>>s:i)|k<<1:0,k=0|o[10504+(B<<2)>>2];e:do{if(k)for(s=0,M=g,I=k,E=i<<(31==(0|B)?0:25-(B>>>1)|0),G=0;;){if((q=(-8&o[I+4>>2])-i|0)>>>0>>0){if(!q){U=I,Y=0,z=I,T=65;break e}W=I,X=q}else W=s,X=M;if(Q=0==(0|(q=0|o[I+20>>2]))|(0|q)==(0|(I=0|o[I+16+(E>>>31<<2)>>2]))?G:q,!I){F=Q,P=W,R=X,T=61;break}s=W,M=X,E<<=1,G=Q}else F=0,P=0,R=g,T=61}while(0);if(61==(0|T)){if(0==(0|F)&0==(0|P)){if(!(g=((k=2<>>12&16)?k>>>g:k)>>>5&8)|g|(t=(A=k?t>>>k:t)>>>2&4)|(A=(f=t?A>>>t:A)>>>1&2)|(f=(d=A?f>>>A:f)>>>1&1))+(f?d>>>f:d)<<2)>>2]}else N=P,V=F;V?(U=N,Y=R,z=V,T=65):(j=N,H=R)}if(65==(0|T))for(d=U,f=Y,A=z;;){if(k=(g=(t=(-8&o[A+4>>2])-i|0)>>>0>>0)?t:f,t=g?A:d,!(Z=(g=0|o[A+16>>2])||0|o[A+20>>2])){j=t,H=k;break}d=t,f=k,A=Z}if(0!=(0|j)&&H>>>0<((0|o[2552])-i|0)>>>0&&(A=j+i|0)>>>0>j>>>0){f=0|o[j+24>>2],d=0|o[j+12>>2];do{if((0|d)==(0|j)){if(t=0|o[(k=j+20|0)>>2])J=t,$=k;else{if(!(a=0|o[(g=j+16|0)>>2])){K=0;break}J=a,$=g}for(k=J,t=$;;){if(a=0|o[(g=k+20|0)>>2])ee=a,re=g;else{if(!(G=0|o[(c=k+16|0)>>2]))break;ee=G,re=c}k=ee,t=re}o[t>>2]=0,K=k}else g=0|o[j+8>>2],o[g+12>>2]=d,o[d+8>>2]=g,K=d}while(0);do{if(f){if(d=0|o[j+28>>2],(0|j)==(0|o[(g=10504+(d<<2)|0)>>2])){if(o[g>>2]=K,!K){g=m&~(1<>2])==(0|j)?g:f+20|0)>>2]=K,!K){ne=m;break}o[K+24>>2]=f,0|(g=0|o[j+16>>2])&&(o[K+16>>2]=g,o[g+24>>2]=K),(g=0|o[j+20>>2])?(o[K+20>>2]=g,o[g+24>>2]=K,ne=m):ne=m}else ne=m}while(0);e:do{if(H>>>0<16)m=H+i|0,o[j+4>>2]=3|m,o[(f=j+m+4|0)>>2]=1|o[f>>2];else{if(o[j+4>>2]=3|i,o[A+4>>2]=1|H,o[A+H>>2]=H,f=H>>>3,H>>>0<256){m=10240+(f<<1<<2)|0,(g=0|o[2550])&(d=1<>2],ie=d):(o[2550]=g|d,te=m,ie=m+8|0),o[ie>>2]=A,o[te+12>>2]=A,o[A+8>>2]=te,o[A+12>>2]=m;break}if(oe=(m=H>>>8)?H>>>0>16777215?31:1&((d=7+(m=14-((f=(m=520192+(d=m<<(g=(d=m+1048320|0)>>>16&8))|0)>>>16&4)|g|(a=(d=245760+(m=d<>>16&2))+((d=m<>>15)|0)|0)?H>>>d:H)|m<<1:0,m=10504+(oe<<2)|0,o[A+28>>2]=oe,o[4+(d=A+16|0)>>2]=0,o[d>>2]=0,!(ne&(d=1<>2]=A,o[A+24>>2]=m,o[A+12>>2]=A,o[A+8>>2]=A;break}d=0|o[m>>2];r:do{if((-8&o[d+4>>2]|0)!=(0|H)){for(m=H<<(31==(0|oe)?0:25-(oe>>>1)|0),a=d;g=0|o[(fe=a+16+(m>>>31<<2)|0)>>2];){if((-8&o[g+4>>2]|0)==(0|H)){ae=g;break r}m<<=1,a=g}o[fe>>2]=A,o[A+24>>2]=a,o[A+12>>2]=A,o[A+8>>2]=A;break e}ae=d}while(0);k=0|o[(d=ae+8|0)>>2],o[k+12>>2]=A,o[d>>2]=A,o[A+8>>2]=k,o[A+12>>2]=ae,o[A+24>>2]=0}}while(0);return O=r,0|j+8}_=i}else _=i;else _=-1}while(0);if((j=0|o[2552])>>>0>=_>>>0)return ae=j-_|0,fe=0|o[2555],ae>>>0>15?(H=fe+_|0,o[2555]=H,o[2552]=ae,o[H+4>>2]=1|ae,o[fe+j>>2]=ae,o[fe+4>>2]=3|_):(o[2552]=0,o[2555]=0,o[fe+4>>2]=3|j,o[(ae=fe+j+4|0)>>2]=1|o[ae>>2]),O=r,0|fe+8;if((fe=0|o[2553])>>>0>_>>>0)return ae=fe-_|0,o[2553]=ae,H=(j=0|o[2556])+_|0,o[2556]=H,o[H+4>>2]=1|ae,o[j+4>>2]=3|_,O=r,0|j+8;if(0|o[2668]?Ae=0|o[2670]:(o[2670]=4096,o[2669]=4096,o[2671]=-1,o[2672]=-1,o[2673]=0,o[2661]=0,o[2668]=-16&n^1431655768,Ae=4096),n=_+48|0,(Ae=(ae=Ae+(j=_+47|0)|0)&(H=0-Ae|0))>>>0<=_>>>0)return O=r,0;if(0|(oe=0|o[2660])&&(te=(ne=0|o[2658])+Ae|0)>>>0<=ne>>>0|te>>>0>oe>>>0)return O=r,0;e:do{if(4&o[2661])he=0,T=143;else{oe=0|o[2556];r:do{if(oe){for(te=10648;!((ne=0|o[te>>2])>>>0<=oe>>>0&&(ne+(0|o[te+4>>2])|0)>>>0>oe>>>0);){if(!(ne=0|o[te+8>>2])){T=128;break r}te=ne}if((ne=ae-fe&H)>>>0<2147483647)if((0|(ie=0|Ln(0|ne)))==((0|o[te>>2])+(0|o[te+4>>2])|0)){if(-1!=(0|ie)){se=ne,le=ie,T=145;break e}ue=ne}else ce=ie,de=ne,T=136;else ue=0}else T=128}while(0);do{if(128==(0|T))if(-1!=(0|(oe=0|Ln(0)))&&(i=oe,ne=(K=(0==((ie=(ne=0|o[2669])-1|0)&i|0)?0:(ie+i&0-ne)-i|0)+Ae|0)+(i=0|o[2658])|0,K>>>0>_>>>0&K>>>0<2147483647)){if(0|(ie=0|o[2660])&&ne>>>0<=i>>>0|ne>>>0>ie>>>0){ue=0;break}if((0|(ie=0|Ln(0|K)))==(0|oe)){se=K,le=oe,T=145;break e}ce=ie,de=K,T=136}else ue=0}while(0);do{if(136==(0|T)){if(K=0-de|0,!(n>>>0>de>>>0&de>>>0<2147483647&-1!=(0|ce))){if(-1==(0|ce)){ue=0;break}se=de,le=ce,T=145;break e}if((oe=j-de+(ie=0|o[2670])&0-ie)>>>0>=2147483647){se=de,le=ce,T=145;break e}if(-1==(0|Ln(0|oe))){Ln(0|K),ue=0;break}se=oe+de|0,le=ce,T=145;break e}}while(0);o[2661]=4|o[2661],he=ue,T=143}}while(0);if(143==(0|T)&&Ae>>>0<2147483647&&!(-1==(0|(ue=0|Ln(0|Ae)))|1^(de=(ce=(Ae=0|Ln(0))-ue|0)>>>0>(_+40|0)>>>0)|ue>>>0>>0&-1!=(0|ue)&-1!=(0|Ae)^1)&&(se=de?ce:he,le=ue,T=145),145==(0|T)){ue=(0|o[2658])+se|0,o[2658]=ue,ue>>>0>(0|o[2659])>>>0&&(o[2659]=ue),ue=0|o[2556];e:do{if(ue){for(he=10648;;){if((0|le)==((ve=0|o[he>>2])+(be=0|o[he+4>>2])|0)){T=154;break}if(!(ce=0|o[he+8>>2]))break;he=ce}if(154==(0|T)&&(ce=he+4|0,0==(8&o[he+12>>2]|0))&&le>>>0>ue>>>0&ve>>>0<=ue>>>0){o[ce>>2]=be+se,de=ue+(Ae=0==(7&(de=ue+8|0)|0)?0:0-de&7)|0,j=(ce=(0|o[2553])+se|0)-Ae|0,o[2556]=de,o[2553]=j,o[de+4>>2]=1|j,o[ue+ce+4>>2]=40,o[2557]=o[2672];break}for(le>>>0<(0|o[2554])>>>0&&(o[2554]=le),ce=le+se|0,j=10648;;){if((0|o[j>>2])==(0|ce)){T=162;break}if(!(de=0|o[j+8>>2]))break;j=de}if(162==(0|T)&&0==(8&o[j+12>>2]|0)){o[j>>2]=le,o[(he=j+4|0)>>2]=(0|o[he>>2])+se,de=le+(0==(7&(he=le+8|0)|0)?0:0-he&7)|0,Ae=ce+(0==(7&(he=ce+8|0)|0)?0:0-he&7)|0,he=de+_|0,n=Ae-de-_|0,o[de+4>>2]=3|_;r:do{if((0|ue)==(0|Ae))H=(0|o[2553])+n|0,o[2553]=H,o[2556]=he,o[he+4>>2]=1|H;else{if((0|o[2555])==(0|Ae)){H=(0|o[2552])+n|0,o[2552]=H,o[2555]=he,o[he+4>>2]=1|H,o[he+H>>2]=H;break}if(1==(3&(H=0|o[Ae+4>>2])|0)){fe=-8&H,ae=H>>>3;n:do{if(H>>>0<256){if(oe=0|o[Ae+8>>2],(0|(K=0|o[Ae+12>>2]))==(0|oe)){o[2550]=o[2550]&~(1<>2]=K,o[K+8>>2]=oe;break}oe=0|o[Ae+24>>2],K=0|o[Ae+12>>2];do{if((0|K)==(0|Ae)){if(i=0|o[(ne=4+(ie=Ae+16|0)|0)>>2])we=i,me=ne;else{if(!(re=0|o[ie>>2])){ge=0;break}we=re,me=ie}for(ne=we,i=me;;){if(re=0|o[(ie=ne+20|0)>>2])ke=re,pe=ie;else{if(!($=0|o[(ee=ne+16|0)>>2]))break;ke=$,pe=ee}ne=ke,i=pe}o[i>>2]=0,ge=ne}else ie=0|o[Ae+8>>2],o[ie+12>>2]=K,o[K+8>>2]=ie,ge=K}while(0);if(!oe)break;a=10504+((K=0|o[Ae+28>>2])<<2)|0;do{if((0|o[a>>2])==(0|Ae)){if(o[a>>2]=ge,0|ge)break;o[2551]=o[2551]&~(1<>2])==(0|Ae)?ie:oe+20|0)>>2]=ge,!ge)break n}while(0);if(o[ge+24>>2]=oe,0|(a=0|o[(K=Ae+16|0)>>2])&&(o[ge+16>>2]=a,o[a+24>>2]=ge),!(a=0|o[K+4>>2]))break;o[ge+20>>2]=a,o[a+24>>2]=ge}while(0);Ce=Ae+fe|0,ye=fe+n|0}else Ce=Ae,ye=n;if(o[(ae=Ce+4|0)>>2]=-2&o[ae>>2],o[he+4>>2]=1|ye,o[he+ye>>2]=ye,ae=ye>>>3,ye>>>0<256){H=10240+(ae<<1<<2)|0,(te=0|o[2550])&(a=1<>2],Ee=a):(o[2550]=te|a,Ie=H,Ee=H+8|0),o[Ee>>2]=he,o[Ie+12>>2]=he,o[he+8>>2]=Ie,o[he+12>>2]=H;break}H=ye>>>8;do{if(H){if(ye>>>0>16777215){De=31;break}De=1&((a=7+(ae=14-((K=(ae=520192+(a=H<<(te=(a=H+1048320|0)>>>16&8))|0)>>>16&4)|te|(ie=(a=245760+(ae=a<>>16&2))+((a=ae<>>15)|0)|0)?ye>>>a:ye)|ae<<1}else De=0}while(0);if(H=10504+(De<<2)|0,o[he+28>>2]=De,o[4+(fe=he+16|0)>>2]=0,o[fe>>2]=0,!((fe=0|o[2551])&(ae=1<>2]=he,o[he+24>>2]=H,o[he+12>>2]=he,o[he+8>>2]=he;break}ae=0|o[H>>2];n:do{if((-8&o[ae+4>>2]|0)!=(0|ye)){for(H=ye<<(31==(0|De)?0:25-(De>>>1)|0),fe=ae;a=0|o[(xe=fe+16+(H>>>31<<2)|0)>>2];){if((-8&o[a+4>>2]|0)==(0|ye)){Le=a;break n}H<<=1,fe=a}o[xe>>2]=he,o[he+24>>2]=fe,o[he+12>>2]=he,o[he+8>>2]=he;break r}Le=ae}while(0);H=0|o[(ae=Le+8|0)>>2],o[H+12>>2]=he,o[ae>>2]=he,o[he+8>>2]=H,o[he+12>>2]=Le,o[he+24>>2]=0}}while(0);return O=r,0|de+8}for(he=10648;!((n=0|o[he>>2])>>>0<=ue>>>0&&(Se=n+(0|o[he+4>>2])|0)>>>0>ue>>>0);)he=0|o[he+8>>2];n=(he=(n=(he=Se+-47|0)+(0==(7&(de=he+8|0)|0)?0:0-de&7)|0)>>>0<(de=ue+16|0)>>>0?ue:n)+8|0,ce=le+(j=0==(7&(ce=le+8|0)|0)?0:0-ce&7)|0,H=(Ae=se+-40|0)-j|0,o[2556]=ce,o[2553]=H,o[ce+4>>2]=1|H,o[le+Ae+4>>2]=40,o[2557]=o[2672],o[(Ae=he+4|0)>>2]=27,o[n>>2]=o[2662],o[n+4>>2]=o[2663],o[n+8>>2]=o[2664],o[n+12>>2]=o[2665],o[2662]=le,o[2663]=se,o[2665]=0,o[2664]=n,n=he+24|0;do{H=n,o[(n=n+4|0)>>2]=7}while((H+8|0)>>>0>>0);if((0|he)!=(0|ue)){if(n=he-ue|0,o[Ae>>2]=-2&o[Ae>>2],o[ue+4>>2]=1|n,o[he>>2]=n,H=n>>>3,n>>>0<256){ce=10240+(H<<1<<2)|0,(j=0|o[2550])&(ae=1<>2],Be=ae):(o[2550]=j|ae,_e=ce,Be=ce+8|0),o[Be>>2]=ue,o[_e+12>>2]=ue,o[ue+8>>2]=_e,o[ue+12>>2]=ce;break}if(Me=(ce=n>>>8)?n>>>0>16777215?31:1&((ae=7+(ce=14-((H=(ce=520192+(ae=ce<<(j=(ae=ce+1048320|0)>>>16&8))|0)>>>16&4)|j|(oe=(ae=245760+(ce=ae<>>16&2))+((ae=ce<>>15)|0)|0)?n>>>ae:n)|ce<<1:0,ce=10504+(Me<<2)|0,o[ue+28>>2]=Me,o[ue+20>>2]=0,o[de>>2]=0,!((ae=0|o[2551])&(oe=1<>2]=ue,o[ue+24>>2]=ce,o[ue+12>>2]=ue,o[ue+8>>2]=ue;break}oe=0|o[ce>>2];r:do{if((-8&o[oe+4>>2]|0)!=(0|n)){for(ce=n<<(31==(0|Me)?0:25-(Me>>>1)|0),ae=oe;j=0|o[(Pe=ae+16+(ce>>>31<<2)|0)>>2];){if((-8&o[j+4>>2]|0)==(0|n)){Fe=j;break r}ce<<=1,ae=j}o[Pe>>2]=ue,o[ue+24>>2]=ae,o[ue+12>>2]=ue,o[ue+8>>2]=ue;break e}Fe=oe}while(0);oe=0|o[(n=Fe+8|0)>>2],o[oe+12>>2]=ue,o[n>>2]=ue,o[ue+8>>2]=oe,o[ue+12>>2]=Fe,o[ue+24>>2]=0}}else 0==(0|(oe=0|o[2554]))|le>>>0>>0&&(o[2554]=le),o[2662]=le,o[2663]=se,o[2665]=0,o[2559]=o[2668],o[2558]=-1,o[2563]=10240,o[2562]=10240,o[2565]=10248,o[2564]=10248,o[2567]=10256,o[2566]=10256,o[2569]=10264,o[2568]=10264,o[2571]=10272,o[2570]=10272,o[2573]=10280,o[2572]=10280,o[2575]=10288,o[2574]=10288,o[2577]=10296,o[2576]=10296,o[2579]=10304,o[2578]=10304,o[2581]=10312,o[2580]=10312,o[2583]=10320,o[2582]=10320,o[2585]=10328,o[2584]=10328,o[2587]=10336,o[2586]=10336,o[2589]=10344,o[2588]=10344,o[2591]=10352,o[2590]=10352,o[2593]=10360,o[2592]=10360,o[2595]=10368,o[2594]=10368,o[2597]=10376,o[2596]=10376,o[2599]=10384,o[2598]=10384,o[2601]=10392,o[2600]=10392,o[2603]=10400,o[2602]=10400,o[2605]=10408,o[2604]=10408,o[2607]=10416,o[2606]=10416,o[2609]=10424,o[2608]=10424,o[2611]=10432,o[2610]=10432,o[2613]=10440,o[2612]=10440,o[2615]=10448,o[2614]=10448,o[2617]=10456,o[2616]=10456,o[2619]=10464,o[2618]=10464,o[2621]=10472,o[2620]=10472,o[2623]=10480,o[2622]=10480,o[2625]=10488,o[2624]=10488,n=le+(de=0==(7&(n=le+8|0)|0)?0:0-n&7)|0,he=(oe=se+-40|0)-de|0,o[2556]=n,o[2553]=he,o[n+4>>2]=1|he,o[le+oe+4>>2]=40,o[2557]=o[2672]}while(0);if((le=0|o[2553])>>>0>_>>>0)return se=le-_|0,o[2553]=se,ue=(le=0|o[2556])+_|0,o[2556]=ue,o[ue+4>>2]=1|se,o[le+4>>2]=3|_,O=r,0|le+8}return o[(le=10696)>>2]=12,O=r,0}function Nr(e){var r,n=0,t=0,i=0,a=0,f=0,A=0,u=0,s=0,l=0,c=0,d=0,h=0,v=0,b=0,g=0,w=0,m=0,k=0,p=0,C=0,y=0,I=0,E=0,D=0,L=0,x=0,S=0,_=0,B=0,M=0,F=0,P=0;if(e|=0){n=e+-8|0,t=0|o[2554],r=n+(e=-8&(i=0|o[e+-4>>2]))|0;do{if(1&i)l=n,c=e,d=n;else{if(a=0|o[n>>2],!(3&i))return;if(A=a+e|0,(f=n+(0-a)|0)>>>0>>0)return;if((0|o[2555])==(0|f)){if(3!=(3&(s=0|o[(u=r+4|0)>>2])|0)){l=f,c=A,d=f;break}return o[2552]=A,o[u>>2]=-2&s,o[f+4>>2]=1|A,void(o[f+A>>2]=A)}if(s=a>>>3,a>>>0<256){if(a=0|o[f+8>>2],(0|(u=0|o[f+12>>2]))==(0|a)){o[2550]=o[2550]&~(1<>2]=u,o[u+8>>2]=a,l=f,c=A,d=f;break}a=0|o[f+24>>2],u=0|o[f+12>>2];do{if((0|u)==(0|f)){if(v=0|o[(h=4+(s=f+16|0)|0)>>2])w=v,m=h;else{if(!(b=0|o[s>>2])){g=0;break}w=b,m=s}for(h=w,v=m;;){if(b=0|o[(s=h+20|0)>>2])C=b,y=s;else{if(!(p=0|o[(k=h+16|0)>>2]))break;C=p,y=k}h=C,v=y}o[v>>2]=0,g=h}else s=0|o[f+8>>2],o[s+12>>2]=u,o[u+8>>2]=s,g=u}while(0);if(a){if(u=0|o[f+28>>2],(0|o[(s=10504+(u<<2)|0)>>2])==(0|f)){if(o[s>>2]=g,!g){o[2551]=o[2551]&~(1<>2])==(0|f)?u:a+20|0)>>2]=g,!g){l=f,c=A,d=f;break}o[g+24>>2]=a,0|(s=0|o[(u=f+16|0)>>2])&&(o[g+16>>2]=s,o[s+24>>2]=g),(s=0|o[u+4>>2])?(o[g+20>>2]=s,o[s+24>>2]=g,l=f,c=A,d=f):(l=f,c=A,d=f)}else l=f,c=A,d=f}}while(0);if(!(d>>>0>=r>>>0)&&1&(e=0|o[(n=r+4|0)>>2])){if(2&e)o[n>>2]=-2&e,o[l+4>>2]=1|c,o[d+c>>2]=c,S=c;else{if((0|o[2556])==(0|r)){if(g=(0|o[2553])+c|0,o[2553]=g,o[2556]=l,o[l+4>>2]=1|g,(0|l)!=(0|o[2555]))return;return o[2555]=0,void(o[2552]=0)}if((0|o[2555])==(0|r))return g=(0|o[2552])+c|0,o[2552]=g,o[2555]=d,o[l+4>>2]=1|g,void(o[d+g>>2]=g);g=(-8&e)+c|0,y=e>>>3;do{if(e>>>0<256){if(C=0|o[r+8>>2],(0|(m=0|o[r+12>>2]))==(0|C)){o[2550]=o[2550]&~(1<>2]=m,o[m+8>>2]=C;break}C=0|o[r+24>>2],m=0|o[r+12>>2];do{if((0|m)==(0|r)){if(i=0|o[(t=4+(w=r+16|0)|0)>>2])E=i,D=t;else{if(!(s=0|o[w>>2])){I=0;break}E=s,D=w}for(t=E,i=D;;){if(s=0|o[(w=t+20|0)>>2])L=s,x=w;else{if(!(b=0|o[(u=t+16|0)>>2]))break;L=b,x=u}t=L,i=x}o[i>>2]=0,I=t}else h=0|o[r+8>>2],o[h+12>>2]=m,o[m+8>>2]=h,I=m}while(0);if(0|C){if(m=0|o[r+28>>2],(0|o[(f=10504+(m<<2)|0)>>2])==(0|r)){if(o[f>>2]=I,!I){o[2551]=o[2551]&~(1<>2])==(0|r)?m:C+20|0)>>2]=I,!I)break;o[I+24>>2]=C,0|(f=0|o[(m=r+16|0)>>2])&&(o[I+16>>2]=f,o[f+24>>2]=I),0|(f=0|o[m+4>>2])&&(o[I+20>>2]=f,o[f+24>>2]=I)}}while(0);if(o[l+4>>2]=1|g,o[d+g>>2]=g,(0|l)==(0|o[2555]))return void(o[2552]=g);S=g}if(c=S>>>3,S>>>0<256)return d=10240+(c<<1<<2)|0,(e=0|o[2550])&(n=1<>2],B=n):(o[2550]=e|n,_=d,B=d+8|0),o[B>>2]=l,o[_+12>>2]=l,o[l+8>>2]=_,void(o[l+12>>2]=d);M=(d=S>>>8)?S>>>0>16777215?31:1&((_=7+(d=14-((n=(d=520192+(_=d<<(B=(_=d+1048320|0)>>>16&8))|0)>>>16&4)|B|(e=(_=245760+(d=_<>>16&2))+((_=d<>>15)|0)|0)?S>>>_:S)|d<<1:0,d=10504+(M<<2)|0,o[l+28>>2]=M,o[l+20>>2]=0,o[l+16>>2]=0,_=0|o[2551],e=1<>2];r:do{if((-8&o[B+4>>2]|0)!=(0|S)){for(n=S<<(31==(0|M)?0:25-(M>>>1)|0),c=B;g=0|o[(P=c+16+(n>>>31<<2)|0)>>2];){if((-8&o[g+4>>2]|0)==(0|S)){F=g;break r}n<<=1,c=g}o[P>>2]=l,o[l+24>>2]=c,o[l+12>>2]=l,o[l+8>>2]=l;break e}F=B}while(0);C=0|o[(B=F+8|0)>>2],o[C+12>>2]=l,o[B>>2]=l,o[l+8>>2]=C,o[l+12>>2]=F,o[l+24>>2]=0}else o[2551]=_|e,o[d>>2]=l,o[l+24>>2]=d,o[l+12>>2]=l,o[l+8>>2]=l}while(0);if(l=(0|o[2558])-1|0,o[2558]=l,!(0|l)){for(l=10656;F=0|o[l>>2];)l=F+8|0;o[2558]=-1}}}}function Vr(e,r){r|=0;var n=0,t=0;return(e|=0)?(n=0|l(r,e),t=(r|e)>>>0>65535?(0|(n>>>0)/(e>>>0))==(0|r)?n:-1:n):t=0,(n=0|Qr(t))&&3&o[n+-4>>2]?(Dn(0|n,0,0|t),0|n):0|n}function jr(e){var r=0;return(e|=0)>>>0>4294963200?(o[2674]=0-e,r=-1):r=e,0|r}function Hr(e,r,n){e|=0,r|=0,n|=0;var i=0,o=0,a=0,f=0,A=0,u=0;e:do{if(n){for(o=e,a=n,f=r;(A=0|t[o>>0])<<24>>24==(u=0|t[f>>0])<<24>>24;){if(!(a=a+-1|0)){i=0;break e}o=o+1|0,f=f+1|0}i=(255&A)-(255&u)|0}else i=0}while(0);return 0|i}function Zr(e,r,n){e|=0;var i,a=0,f=0,A=0,u=0,s=0,c=0,d=0,h=0,v=0,b=0,g=0,w=0,m=0,k=0,p=0,C=0,y=0,I=0;i=255&(r|=0),a=0!=(0|(n|=0));e:do{if(a&0!=(3&e|0))for(f=255&r,A=e,u=n;;){if((0|t[A>>0])==f<<24>>24){s=A,c=u,d=6;break e}if(!((b=0!=(0|(v=u+-1|0)))&0!=(3&(h=A+1|0)|0))){g=h,w=v,m=b,d=5;break}A=h,u=v}else g=e,w=n,m=a,d=5}while(0);5==(0|d)&&(m?(s=g,c=w,d=6):d=16);e:do{if(6==(0|d)){if(w=255&r,(0|t[s>>0])==w<<24>>24){if(c){k=s;break}d=16;break}g=0|l(i,16843009);r:do{if(c>>>0>3)for(m=s,a=c;;){if((-2139062144&(n=o[m>>2]^g)^-2139062144)&n+-16843009|0){p=a,C=m;break r}if(n=m+4|0,!((e=a+-4|0)>>>0>3)){y=n,I=e,d=11;break}m=n,a=e}else y=s,I=c,d=11}while(0);if(11==(0|d)){if(!I){d=16;break}p=I,C=y}for(g=C,a=p;;){if((0|t[g>>0])==w<<24>>24){k=g;break e}if(!(a=a+-1|0)){d=16;break}g=g+1|0}}}while(0);return 16==(0|d)&&(k=0),0|k}function Kr(e){return((e|=0)-48|0)>>>0<10|0}function Jr(e,r,n){e|=0,r|=0,n|=0;var i,a,f,A=0,u=0,s=0,l=0,c=0,d=0,h=0,v=0,b=0,g=0,w=0;i=O,O=O+224|0,a=i+208|0,f=i+80|0,u=i,l=40+(s=A=i+160|0)|0;do{o[s>>2]=0,s=s+4|0}while((0|s)<(0|l));return o[a>>2]=o[n>>2],(0|$r(0,r,a,f,A))<0?c=-1:((0|o[e+76>>2])>-1?1:0,s=32&(n=0|o[e>>2]),(0|t[e+74>>0])<1&&(o[e>>2]=-33&n),0|o[(n=e+48|0)>>2]?g=0|$r(e,r,a,f,A):(d=0|o[(l=e+44|0)>>2],o[l>>2]=u,o[(h=e+28|0)>>2]=u,o[(v=e+20|0)>>2]=u,o[n>>2]=80,o[(b=e+16|0)>>2]=u+80,u=0|$r(e,r,a,f,A),d?(Gn[15&o[e+36>>2]](e,0,0),w=0==(0|o[v>>2])?-1:u,o[l>>2]=d,o[n>>2]=0,o[b>>2]=0,o[h>>2]=0,o[v>>2]=0,g=w):g=u),A=0|o[e>>2],o[e>>2]=A|s,c=0==(32&A|0)?g:-1),O=i,0|c}function $r(e,r,n,a,f){e|=0,r|=0,n|=0,a|=0,f|=0;var u,s,l,c,d,h,b,g,w=0,m=0,k=0,p=0,C=0,y=0,I=0,E=0,D=0,L=0,x=0,S=0,_=0,B=0,M=0,F=0,P=0,R=0,T=0,G=0,q=0,U=0,Y=0,z=0,W=0,X=0,Q=0,N=0,V=0,j=0,H=0,Z=0,K=0,J=0,$=0,ee=0,re=0,ne=0,te=0,ie=0,oe=0,ae=0,fe=0,Ae=0,ue=0,se=0,le=0,ce=0,de=0,he=0,ve=0,be=0,ge=0,we=0,me=0,ke=0,pe=0,Ce=0,ye=0,Ie=0,Ee=0,De=0,Le=0,xe=0;u=O,O=O+64|0,l=u+40|0,w=u,c=u+48|0,d=u+60|0,o[(s=u+56|0)>>2]=r,r=0!=(0|e),b=h=w+40|0,g=w+39|0,w=c+4|0,m=0,k=0,p=0;e:for(;;){for(C=m,y=k;;){do{if((0|y)>-1){if((0|C)>(2147483647-y|0)){o[(I=10696)>>2]=75,E=-1;break}E=C+y|0;break}E=y}while(0);if(D=0|o[s>>2],!((I=0|t[D>>0])<<24>>24)){L=92;break e}x=I,I=D;r:for(;;){switch(x<<24>>24){case 37:L=10;break r;case 0:S=I;break r}_=I+1|0,o[s>>2]=_,x=0|t[_>>0],I=_}r:do{if(10==(0|L))for(L=0,x=I,_=I;;){if(37!=(0|t[_+1>>0])){S=x;break r}if(B=x+1|0,_=_+2|0,o[s>>2]=_,37!=(0|t[_>>0])){S=B;break}x=B}}while(0);if(C=S-D|0,r&&en(e,D,C),!C)break;y=E}if(y=0==(0|Kr(0|t[1+(0|o[s>>2])>>0])),C=0|o[s>>2],y||36!=(0|t[C+2>>0])?(M=-1,F=p,P=1):(M=(0|t[C+1>>0])-48|0,F=1,P=3),y=C+P|0,o[s>>2]=y,(I=((C=0|t[y>>0])<<24>>24)-32|0)>>>0>31|0==(1<>2]=_,(x=((B=0|t[_>>0])<<24>>24)-32|0)>>>0>31|0==(1<>24==42){if(0!=(0|Kr(0|t[G+1>>0]))&&(I=0|o[s>>2],36==(0|t[I+2>>0])))o[f+((0|t[(C=I+1|0)>>0])-48<<2)>>2]=10,q=0|o[a+((0|t[C>>0])-48<<3)>>2],U=1,Y=I+3|0;else{if(0|F){z=-1;break}r?(I=3+(0|o[n>>2])&-4,C=0|o[I>>2],o[n>>2]=I+4,W=C):W=0,q=W,U=0,Y=1+(0|o[s>>2])|0}o[s>>2]=Y,X=(C=(0|q)<0)?0-q|0:q,Q=C?8192|R:R,N=U,V=Y}else{if((0|(C=0|rn(s)))<0){z=-1;break}X=C,Q=R,N=F,V=0|o[s>>2]}do{if(46==(0|t[V>>0])){if(42!=(0|t[(C=V+1|0)>>0])){o[s>>2]=C,j=C=0|rn(s),H=0|o[s>>2];break}if(0|Kr(0|t[V+2>>0])&&(C=0|o[s>>2],36==(0|t[C+3>>0]))){o[f+((0|t[(I=C+2|0)>>0])-48<<2)>>2]=10,x=0|o[a+((0|t[I>>0])-48<<3)>>2],I=C+4|0,o[s>>2]=I,j=x,H=I;break}if(0|N){z=-1;break e}r?(I=3+(0|o[n>>2])&-4,x=0|o[I>>2],o[n>>2]=I+4,Z=x):Z=0,x=2+(0|o[s>>2])|0,o[s>>2]=x,j=Z,H=x}else j=-1,H=V}while(0);for(x=0,I=H;;){if(((0|t[I>>0])-65|0)>>>0>57){z=-1;break e}if(C=I,I=I+1|0,o[s>>2]=I,((J=255&(K=0|t[(0|t[C>>0])-65+(7616+(58*x|0))>>0]))-1|0)>>>0>=8)break;x=J}if(!(K<<24>>24)){z=-1;break}C=(0|M)>-1;do{if(K<<24>>24==19){if(C){z=-1;break e}L=54}else{if(C){o[f+(M<<2)>>2]=J,y=0|o[4+(_=a+(M<<3)|0)>>2],o[(B=l)>>2]=o[_>>2],o[B+4>>2]=y,L=54;break}if(!r){z=0;break e}nn(l,J,n),$=0|o[s>>2],L=55}}while(0);54==(0|L)&&(L=0,r?($=I,L=55):ee=0);r:do{if(55==(0|L)){L=0,y=0!=(0|x)&3==(15&(C=0|t[$+-1>>0])|0)?-33&C:C,C=-65537&Q,B=0==(8192&Q|0)?Q:C;n:do{switch(0|y){case 110:switch((255&x)<<24>>24){case 0:case 1:o[o[l>>2]>>2]=E,ee=0;break r;case 2:_=0|o[l>>2],o[_>>2]=E,o[_+4>>2]=((0|E)<0)<<31>>31,ee=0;break r;case 3:i[o[l>>2]>>1]=E,ee=0;break r;case 4:t[o[l>>2]>>0]=E,ee=0;break r;case 6:o[o[l>>2]>>2]=E,ee=0;break r;case 7:_=0|o[l>>2],o[_>>2]=E,o[_+4>>2]=((0|E)<0)<<31>>31,ee=0;break r;default:ee=0;break r}break;case 112:re=120,ne=j>>>0>8?j:8,te=8|B,L=67;break;case 88:case 120:re=y,ne=j,te=B,L=67;break;case 111:fe=_=0|on(ie=0|o[(_=l)>>2],oe=0|o[_+4>>2],h),Ae=0,ue=9285,se=0==(8&B|0)|(0|j)>(0|(ae=b-_|0))?j:ae+1|0,le=B,ce=ie,de=oe,L=73;break;case 105:case 100:if(ie=0|o[(oe=l)>>2],(0|(ae=0|o[oe+4>>2]))<0){oe=0|gn(0,0,0|ie,0|ae),_=0|v(),o[(he=l)>>2]=oe,o[he+4>>2]=_,ve=1,be=9285,ge=oe,we=_,L=72;break n}ve=0!=(2049&B|0)&1,be=0==(2048&B|0)?0==(1&B|0)?9285:9287:9286,ge=ie,we=ae,L=72;break n;case 117:ve=0,be=9285,ge=0|o[(ae=l)>>2],we=0|o[ae+4>>2],L=72;break;case 99:t[g>>0]=o[l>>2],me=g,ke=0,pe=9285,Ce=1,ye=C,Ie=b;break;case 115:me=ie=0==(0|(ae=0|o[l>>2]))?9295:ae,ke=0,pe=9285,Ce=(_=0==(0|(ae=0|Zr(ie,0,j))))?j:ae-ie|0,ye=C,Ie=_?ie+j|0:ae;break;case 67:o[c>>2]=o[l>>2],o[w>>2]=0,o[l>>2]=c,Ee=-1,L=79;break;case 83:j?(Ee=j,L=79):(fn(e,32,X,0,B),De=0,L=89);break;case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:ee=0|un(e,+A[l>>3],X,j,B,y);break r;default:me=D,ke=0,pe=9285,Ce=j,ye=B,Ie=b}}while(0);n:do{if(67==(0|L))L=0,fe=y=0|tn(C=0|o[(y=l)>>2],ae=0|o[y+4>>2],h,32&re),Ae=(ie=0==(8&te|0)|0==(0|C)&0==(0|ae))?0:2,ue=ie?9285:9285+(re>>>4)|0,se=ne,le=te,ce=C,de=ae,L=73;else if(72==(0|L))L=0,fe=0|an(ge,we,h),Ae=ve,ue=be,se=j,le=B,ce=ge,de=we,L=73;else if(79==(0|L)){for(L=0,ae=0|o[l>>2],C=0;;){if(!(ie=0|o[ae>>2])){Le=C;break}if((xe=(0|(y=0|An(d,ie)))<0)|y>>>0>(Ee-C|0)>>>0){L=83;break}if(!(Ee>>>0>(ie=y+C|0)>>>0)){Le=ie;break}ae=ae+4|0,C=ie}if(83==(0|L)){if(L=0,xe){z=-1;break e}Le=C}if(fn(e,32,X,Le,B),Le)for(ae=0|o[l>>2],ie=0;;){if(!(y=0|o[ae>>2])){De=Le,L=89;break n}if((0|(ie=(_=0|An(d,y))+ie|0))>(0|Le)){De=Le,L=89;break n}if(en(e,d,_),ie>>>0>=Le>>>0){De=Le,L=89;break}ae=ae+4|0}else De=0,L=89}}while(0);if(73==(0|L))L=0,C=b-fe+(1&(1^(ae=0!=(0|ce)|0!=(0|de))))|0,me=(ie=0!=(0|se)|ae)?fe:h,ke=Ae,pe=ue,Ce=ie?(0|se)>(0|C)?se:C:0,ye=(0|se)>-1?-65537&le:le,Ie=b;else if(89==(0|L)){L=0,fn(e,32,X,De,8192^B),ee=(0|X)>(0|De)?X:De;break}fn(e,32,_=(0|X)<(0|(ae=(ie=(0|Ce)<(0|(C=Ie-me|0))?C:Ce)+ke|0))?ae:X,ae,ye),en(e,pe,ke),fn(e,48,_,ae,65536^ye),fn(e,48,ie,C,0),en(e,me,C),fn(e,32,_,ae,8192^ye),ee=_}}while(0);m=ee,k=E,p=N}e:do{if(92==(0|L))if(e)z=E;else if(p){for(N=1;k=0|o[f+(N<<2)>>2];){if(nn(a+(N<<3)|0,k,n),!((k=N+1|0)>>>0<10)){z=1;break e}N=k}for(k=N;;){if(0|o[f+(k<<2)>>2]){z=-1;break e}if((k=k+1|0)>>>0>=10){z=1;break}}}else z=0}while(0);return O=u,0|z}function en(e,r,n){r|=0,n|=0,32&o[(e|=0)>>2]||dn(r,n,e)}function rn(e){var r=0,n=0,i=0,a=0,f=0;if(0|Kr(0|t[o[(e|=0)>>2]>>0]))for(n=0;;){if(i=0|o[e>>2],a=(10*n|0)-48+(0|t[i>>0])|0,f=i+1|0,o[e>>2]=f,!(0|Kr(0|t[f>>0]))){r=a;break}n=a}else r=0;return 0|r}function nn(e,r,n){e|=0,r|=0,n|=0;var t=0,i=0,a=0,f=0,u=0;e:do{if(r>>>0<=20)switch(0|r){case 9:t=3+(0|o[n>>2])&-4,i=0|o[t>>2],o[n>>2]=t+4,o[e>>2]=i;break e;case 10:i=3+(0|o[n>>2])&-4,t=0|o[i>>2],o[n>>2]=i+4,o[(i=e)>>2]=t,o[i+4>>2]=((0|t)<0)<<31>>31;break e;case 11:t=3+(0|o[n>>2])&-4,i=0|o[t>>2],o[n>>2]=t+4,o[(t=e)>>2]=i,o[t+4>>2]=0;break e;case 12:t=7+(0|o[n>>2])&-8,a=0|o[(i=t)>>2],f=0|o[i+4>>2],o[n>>2]=t+8,o[(t=e)>>2]=a,o[t+4>>2]=f;break e;case 13:f=3+(0|o[n>>2])&-4,t=0|o[f>>2],o[n>>2]=f+4,f=(65535&t)<<16>>16,o[(t=e)>>2]=f,o[t+4>>2]=((0|f)<0)<<31>>31;break e;case 14:f=3+(0|o[n>>2])&-4,t=0|o[f>>2],o[n>>2]=f+4,o[(f=e)>>2]=65535&t,o[f+4>>2]=0;break e;case 15:f=3+(0|o[n>>2])&-4,t=0|o[f>>2],o[n>>2]=f+4,f=(255&t)<<24>>24,o[(t=e)>>2]=f,o[t+4>>2]=((0|f)<0)<<31>>31;break e;case 16:f=3+(0|o[n>>2])&-4,t=0|o[f>>2],o[n>>2]=f+4,o[(f=e)>>2]=255&t,o[f+4>>2]=0;break e;case 17:case 18:f=7+(0|o[n>>2])&-8,u=+A[f>>3],o[n>>2]=f+8,A[e>>3]=u;break e;default:break e}}while(0)}function tn(e,r,n,i){n|=0,i|=0;var o=0,f=0;if(0==(0|(e|=0))&0==(0|(r|=0)))o=n;else for(f=n,n=r,r=e;;){if(t[(e=f+-1|0)>>0]=0|a[8080+(15&r)>>0]|i,0==(0|(r=0|pn(0|r,0|n,4)))&0==(0|(n=0|v()))){o=e;break}f=e}return 0|o}function on(e,r,n){n|=0;var i=0,o=0;if(0==(0|(e|=0))&0==(0|(r|=0)))i=n;else for(o=n,n=r,r=e;;){if(t[(e=o+-1|0)>>0]=7&r|48,0==(0|(r=0|pn(0|r,0|n,3)))&0==(0|(n=0|v()))){i=e;break}o=e}return 0|i}function an(e,r,n){n|=0;var i=0,o=0,a=0,f=0,A=0,u=0,s=0,l=0;if((r|=0)>>>0>0|0==(0|r)&(e|=0)>>>0>4294967295){i=n,o=e,a=r;do{A=0|gn(0|(r=o),0|(f=a),0|vn(0|(o=0|kn(0|o,0|a,10,0)),0|(a=0|v()),10,0),0|v()),v(),t[(i=i+-1|0)>>0]=255&A|48}while(f>>>0>9|9==(0|f)&r>>>0>4294967295);u=o,s=i}else u=e,s=n;if(u)for(n=u,u=s;;){if(s=n,n=(n>>>0)/10|0,t[(e=u+-1|0)>>0]=s-(10*n|0)|48,s>>>0<10){l=e;break}u=e}else l=s;return 0|l}function fn(e,r,n,t,i){e|=0,r|=0;var o,a,f=0;if(o=O,O=O+256|0,a=o,(0|(n|=0))>(0|(t|=0))&0==(73728&(i|=0)|0)){if(Dn(0|a,r<<24>>24|0,0|((i=n-t|0)>>>0<256?i:256)),i>>>0>255){r=n-t|0,t=i;do{en(e,a,256),t=t+-256|0}while(t>>>0>255);f=255&r}else f=i;en(e,a,f)}O=o}function An(e,r){return 0|((e|=0)?0|cn(e,r|=0):0)}function un(e,r,n,i,f,A){e|=0,r=+r,n|=0,i|=0,f|=0,A|=0;var u,s,c,d,h,b,g,w=0,m=0,k=0,p=0,C=0,y=0,I=0,E=0,D=0,L=0,x=0,S=0,_=0,B=0,M=0,F=0,P=0,R=0,T=0,G=0,q=0,U=0,Y=0,z=0,W=0,X=0,Q=0,N=0,V=0,j=0,H=0,Z=0,K=0,J=0,$=0,ee=0,re=0,ne=0,te=0,ie=0,oe=0,ae=0,fe=0,Ae=0,ue=0,se=0,le=0,ce=0,de=0,he=0,ve=0,be=0,ge=0,we=0,me=0,ke=0,pe=0,Ce=0,ye=0,Ie=0,Ee=0,De=0,Le=0,xe=0,Se=0,_e=0,Be=0,Me=0,Fe=0,Pe=0;u=O,O=O+560|0,s=u+32|0,h=d=u,b=u+540|0,o[(c=u+536|0)>>2]=0,g=b+12|0,w=0|sn(r),(0|(m=0|v()))<0?(p=0|sn(k=-r),C=k,y=1,I=9302,E=0|v(),D=p):(C=r,y=0!=(2049&f|0)&1,I=0==(2048&f|0)?0==(1&f|0)?9303:9308:9305,E=m,D=w);do{if(!0&2146435072==(2146435072&E|0))w=0!=(32&A|0),fn(e,32,n,D=y+3|0,-65537&f),en(e,I,y),en(e,C!=C|!1?w?9329:9333:w?9321:9325,3),fn(e,32,n,D,8192^f),L=D;else{if((D=0!=(r=2*+ln(C,c)))&&(o[c>>2]=(0|o[c>>2])-1),97==(0|(w=32|A))){p=0==(0|(m=32&A))?I:I+9|0,x=2|y,S=12-i|0;do{if(!(i>>>0>11|0==(0|S))){k=8,_=S;do{_=_+-1|0,k*=16}while(0!=(0|_));if(45==(0|t[p>>0])){B=-(k+(-r-k));break}B=r+k-k;break}B=r}while(0);for((0|(M=0|an(_=(0|(S=0|o[c>>2]))<0?0-S|0:S,((0|_)<0)<<31>>31,g)))==(0|g)?(t[(_=b+11|0)>>0]=48,F=_):F=M,t[F+-1>>0]=43+(S>>31&2),t[(S=F+-2|0)>>0]=A+15,M=(0|i)<1,_=0==(8&f|0),P=d,R=B;T=~~R,G=P+1|0,t[P>>0]=m|a[8080+T>>0],R=16*(R-+(0|T)),1!=(G-h|0)||_&M&0==R?q=G:(t[G>>0]=46,q=P+2|0),0!=R;)P=q;P=q,0!=(0|i)&&(-2-h+P|0)<(0|i)?(U=i+2+(M=g)-(_=S)|0,Y=M,z=_):(U=(_=g)-h-(M=S)+P|0,Y=_,z=M),fn(e,32,n,M=U+x|0,f),en(e,p,x),fn(e,48,n,M,65536^f),en(e,d,_=P-h|0),fn(e,48,U-(_+(P=Y-z|0))|0,0,0),en(e,S,P),fn(e,32,n,M,8192^f),L=M;break}M=(0|i)<0?6:i,D?(P=(0|o[c>>2])-28|0,o[c>>2]=P,W=268435456*r,X=P):(W=r,X=0|o[c>>2]),_=P=(0|X)<0?s:s+288|0,R=W;do{m=~~R>>>0,o[_>>2]=m,_=_+4|0,R=1e9*(R-+(m>>>0))}while(0!=R);if(D=P,(0|X)>0)for(S=P,x=_,p=X;;){if(m=(0|p)<29?p:29,(G=x+-4|0)>>>0>=S>>>0){T=G,G=0;do{j=0|gn(0|(N=0|bn(0|(Q=0|Cn(0|o[T>>2],0,0|m)),0|v(),0|G,0)),0|(Q=0|v()),0|(V=0|vn(0|(G=0|kn(0|N,0|Q,1e9,0)),0|v(),1e9,0)),0|v()),v(),o[T>>2]=j,T=T+-4|0}while(T>>>0>=S>>>0);G?(o[(T=S+-4|0)>>2]=G,H=T):H=S}else H=S;e:do{if(x>>>0>H>>>0)for(T=x;;){if(0|o[(j=T+-4|0)>>2]){Z=T;break e}if(!(j>>>0>H>>>0)){Z=j;break}T=j}else Z=x}while(0);if(G=(0|o[c>>2])-m|0,o[c>>2]=G,!((0|G)>0)){K=H,J=Z,$=G;break}S=H,x=Z,p=G}else K=P,J=_,$=X;if((0|$)<0)for(p=1+((M+25|0)/9|0)|0,x=102==(0|w),S=K,G=J,T=$;;){if(V=(0|(j=0-T|0))<9?j:9,S>>>0>>0){j=(1<>>V:1e9,N=0,ee=S;do{re=0|o[ee>>2],o[ee>>2]=(V?re>>>V:re)+N,N=0|l(re&j,Q),ee=ee+4|0}while(ee>>>0>>0);ee=0==(0|o[S>>2])?S+4|0:S,N?(o[G>>2]=N,ne=G+4|0,te=ee):(ne=G,te=ee)}else ne=G,te=0==(0|o[S>>2])?S+4|0:S;if(j=((Q=ne-(ee=x?P:te)|0)>>2|0)>(0|p)?ee+(p<<2)|0:ne,T=(0|o[c>>2])+V|0,o[c>>2]=T,(0|T)>=0){ie=te,oe=j;break}S=te,G=j}else ie=K,oe=J;if(ie>>>0>>0)if(S=9*((G=D-ie|0)>>2)|0,(G=0|o[ie>>2])>>>0<10)ae=S;else for(T=S,S=10;;){if(p=T+1|0,G>>>0<(S=10*S|0)>>>0){ae=p;break}T=p}else ae=0;if((0|(G=M-(102==(0|w)?0:ae)+(((S=0!=(0|M))&(T=103==(0|w)))<<31>>31)|0))<((9*((p=oe-D|0)>>2)|0)-9|0)){if(x=P+4+((G=(0|(p=G+9216|0))/9|0)-1024<<2)|0,(0|(_=p-(9*G|0)|0))<8)for(G=_,_=10;;){if(p=10*_|0,!((0|G)<7)){fe=p;break}G=G+1|0,_=p}else fe=10;if((p=(x+4|0)==(0|oe))&0==(0|(w=(_=0|o[x>>2])-(0|l(G=(_>>>0)/(fe>>>0)|0,fe))|0)))de=x,he=ae,ve=ie;else if(k=0==(1&G|0)?9007199254740992:9007199254740994,R=w>>>0<(G=fe>>>1)>>>0?.5:p&(0|w)==(0|G)?1:1.5,y?(Ae=(G=45==(0|t[I>>0]))?-R:R,ue=G?-k:k):(Ae=R,ue=k),G=_-w|0,o[x>>2]=G,ue+Ae!=ue){if(w=G+fe|0,o[x>>2]=w,w>>>0>999999999)for(w=x,G=ie;;){if(_=w+-4|0,o[w>>2]=0,_>>>0>>0?(o[(p=G+-4|0)>>2]=0,se=p):se=G,p=1+(0|o[_>>2])|0,o[_>>2]=p,!(p>>>0>999999999)){le=_,ce=se;break}w=_,G=se}else le=x,ce=ie;if(w=9*((G=D-ce|0)>>2)|0,(G=0|o[ce>>2])>>>0<10)de=le,he=w,ve=ce;else for(_=w,w=10;;){if(p=_+1|0,G>>>0<(w=10*w|0)>>>0){de=le,he=p,ve=ce;break}_=p}}else de=x,he=ae,ve=ie;be=he,ge=oe>>>0>(_=de+4|0)>>>0?_:oe,we=ve}else be=ae,ge=oe,we=ie;_=0-be|0;e:do{if(ge>>>0>we>>>0)for(w=ge;;){if(0|o[(G=w+-4|0)>>2]){me=w,ke=1;break e}if(!(G>>>0>we>>>0)){me=G,ke=0;break}w=G}else me=ge,ke=0}while(0);do{if(T){if((0|(x=M+(1&(1^S))|0))>(0|be)&(0|be)>-5?(pe=A+-1|0,Ce=x+-1-be|0):(pe=A+-2|0,Ce=x+-1|0),!(8&f)){if(ke&&0!=(0|(x=0|o[me+-4>>2])))if((x>>>0)%10|0)ye=0;else for(w=0,V=10;;){if(N=w+1|0,0|(x>>>0)%((V=10*V|0)>>>0)){ye=N;break}w=N}else ye=9;if(V=(9*((w=me-D|0)>>2)|0)-9|0,102==(32|pe)){Ie=pe,Ee=(0|Ce)<(0|(x=(0|(w=V-ye|0))>0?w:0))?Ce:x;break}Ie=pe,Ee=(0|Ce)<(0|(V=(0|(x=V+be-ye|0))>0?x:0))?Ce:V;break}Ie=pe,Ee=Ce}else Ie=A,Ee=M}while(0);if(D=(M=0!=(0|Ee))?1:f>>>3&1,S=102==(32|Ie))De=0,Le=(0|be)>0?be:0;else{if(V=0|an(T=(0|be)<0?_:be,((0|T)<0)<<31>>31,g),((T=g)-V|0)<2)for(x=V;;){if(t[(w=x+-1|0)>>0]=48,!((T-w|0)<2)){xe=w;break}x=w}else xe=V;t[xe+-1>>0]=43+(be>>31&2),t[(x=xe+-2|0)>>0]=Ie,De=x,Le=T-x|0}if(fn(e,32,n,x=y+1+Ee+D+Le|0,f),en(e,I,y),fn(e,48,n,x,65536^f),S){N=w=d+9|0,G=d+8|0,p=_=we>>>0>P>>>0?P:we;do{if(j=0|an(0|o[p>>2],0,w),(0|p)==(0|_))(0|j)==(0|w)?(t[G>>0]=48,Se=G):Se=j;else if(j>>>0>d>>>0)for(Dn(0|d,48,j-h|0),ee=j;;){if(!((Q=ee+-1|0)>>>0>d>>>0)){Se=Q;break}ee=Q}else Se=j;en(e,Se,N-Se|0),p=p+4|0}while(p>>>0<=P>>>0);if(0==(8&f|0)&(1^M)||en(e,9337,1),p>>>0>>0&(0|Ee)>0)for(P=Ee,N=p;;){if((G=0|an(0|o[N>>2],0,w))>>>0>d>>>0)for(Dn(0|d,48,G-h|0),_=G;;){if(!((S=_+-1|0)>>>0>d>>>0)){_e=S;break}_=S}else _e=G;if(en(e,_e,(0|P)<9?P:9),_=P+-9|0,!((N=N+4|0)>>>0>>0&(0|P)>9)){Be=_;break}P=_}else Be=Ee;fn(e,48,Be+9|0,9,0)}else{if(we>>>0<(P=ke?me:we+4|0)>>>0&(0|Ee)>-1)for(w=0==(8&f|0),p=N=d+9|0,M=0-h|0,_=d+8|0,j=Ee,S=we;;){(0|(D=0|an(0|o[S>>2],0,N)))==(0|N)?(t[_>>0]=48,Me=_):Me=D;do{if((0|S)==(0|we)){if(D=Me+1|0,en(e,Me,1),w&(0|j)<1){Fe=D;break}en(e,9337,1),Fe=D}else{if(Me>>>0<=d>>>0){Fe=Me;break}for(Dn(0|d,48,Me+M|0),D=Me;;){if(!((T=D+-1|0)>>>0>d>>>0)){Fe=T;break}D=T}}}while(0);if(en(e,Fe,(0|j)>(0|(G=p-Fe|0))?G:j),!((S=S+4|0)>>>0

>>0&(0|(D=j-G|0))>-1)){Pe=D;break}j=D}else Pe=Ee;fn(e,48,Pe+18|0,18,0),en(e,De,g-De|0)}fn(e,32,n,x,8192^f),L=x}}while(0);return O=u,0|((0|L)<(0|n)?n:L)}function sn(e){var r;return e=+e,A[u>>3]=e,r=0|o[u>>2],h(0|o[u+4>>2]),0|r}function ln(e,r){return+ +function e(r,n){r=+r,n|=0;var t,i,a,f=0,s=0,l=0;switch(A[u>>3]=r,a=0|pn(0|(t=0|o[u>>2]),0|(i=0|o[u+4>>2]),52),v(),2047&a){case 0:0!=r?(f=+e(0x10000000000000000*r,n),s=(0|o[n>>2])-64|0):(f=r,s=0),o[n>>2]=s,l=f;break;case 2047:l=r;break;default:o[n>>2]=(2047&a)-1022,o[u>>2]=t,o[u+4>>2]=-2146435073&i|1071644672,l=+A[u>>3]}return+l}(e=+e,r|=0)}function cn(e,r,n){e|=0,r|=0;var i=0;do{if(e){if(r>>>0<128){t[e>>0]=r,i=1;break}if(!(0|o[o[2122]>>2])){if(57216==(-128&r|0)){t[e>>0]=r,i=1;break}o[2674]=84,i=-1;break}if(r>>>0<2048){t[e>>0]=r>>>6|192,t[e+1>>0]=63&r|128,i=2;break}if(r>>>0<55296|57344==(-8192&r|0)){t[e>>0]=r>>>12|224,t[e+1>>0]=r>>>6&63|128,t[e+2>>0]=63&r|128,i=3;break}if((r+-65536|0)>>>0<1048576){t[e>>0]=r>>>18|240,t[e+1>>0]=r>>>12&63|128,t[e+2>>0]=r>>>6&63|128,t[e+3>>0]=63&r|128,i=4;break}o[2674]=84,i=-1;break}i=1}while(0);return 0|i}function dn(e,r,n){e|=0,r|=0;var i=0,a=0,f=0,A=0,u=0,s=0,l=0,c=0,d=0,h=0,v=0;(a=0|o[(i=16+(n|=0)|0)>>2])?(f=a,A=5):0|function(e){var r=0,n=0,i=0;return n=0|t[(r=74+(e|=0)|0)>>0],t[r>>0]=n+255|n,8&(n=0|o[e>>2])?(o[e>>2]=32|n,i=-1):(o[e+8>>2]=0,o[e+4>>2]=0,r=0|o[e+44>>2],o[e+28>>2]=r,o[e+20>>2]=r,o[e+16>>2]=r+(0|o[e+48>>2]),i=0),0|i}(n)?u=0:(f=0|o[i>>2],A=5);e:do{if(5==(0|A)){if(s=i=0|o[(a=n+20|0)>>2],(f-i|0)>>>0>>0){u=0|Gn[15&o[n+36>>2]](n,e,r);break}r:do{if((0|t[n+75>>0])<0|0==(0|r))l=0,c=e,d=r,h=s;else{for(i=r;10!=(0|t[e+(v=i+-1|0)>>0]);){if(!v){l=0,c=e,d=r,h=s;break r}i=v}if((v=0|Gn[15&o[n+36>>2]](n,e,i))>>>0>>0){u=v;break e}l=i,c=e+i|0,d=r-i|0,h=0|o[a>>2]}}while(0);In(0|h,0|c,0|d),o[a>>2]=(0|o[a>>2])+d,u=l+d|0}}while(0);return 0|u}function hn(e,r,n){var t,i;return e|=0,r|=0,n|=0,t=O,O=O+16|0,o[(i=t)>>2]=n,n=0|Jr(e,r,i),O=t,0|n}function vn(e,r,n,t){var i,o;return r|=0,t|=0,n=0|function(e,r){var n,t,i,o=0;return e=((t=0|l(o=65535&(r|=0),n=65535&(e|=0)))>>>16)+(0|l(o,i=e>>>16))|0,r=0|l(o=r>>>16,n),0|(h((e>>>16)+(0|l(o,i))+(((65535&e)+r|0)>>>16)|0),e+r<<16|65535&t|0)}(i=e|=0,e=n|=0),o=0|v(),0|(h((0|l(r,e))+(0|l(t,i))+o|0&o|0),0|n)}function bn(e,r,n,t){var i;return 0|(h((r|=0)+(t|=0)+((i=(e|=0)+(n|=0)>>>0)>>>0>>0|0)>>>0|0),0|i)}function gn(e,r,n,t){return 0|(h(0|(r|=0)-(t|=0)-((n|=0)>>>0>(e|=0)>>>0|0)>>>0),e-n>>>0|0)}function wn(e){return 0|((e|=0)?31-(0|c(e^e-1))|0:32)}function mn(e,r,n,t,i){i|=0;var a,f=0,A=0,u=0,s=0,l=0,d=0,b=0,g=0,w=0,m=0,k=0,p=0,C=0,y=0,I=0,E=0,D=0,L=0,x=0,S=0,_=0,B=0,M=0,F=0,P=0,R=0;if(f=e|=0,a=n|=0,l=s=t|=0,!(u=A=r|=0))return d=0!=(0|i),l?d?(o[i>>2]=0|e,o[i+4>>2]=0&r,g=0,0|(h(0|(b=0)),g)):(g=0,0|(h(0|(b=0)),g)):(d&&(o[i>>2]=(f>>>0)%(a>>>0),o[i+4>>2]=0),g=(f>>>0)/(a>>>0)>>>0,0|(h(0|(b=0)),g));d=0==(0|l);do{if(a){if(!d){if((w=(0|c(0|l))-(0|c(0|u))|0)>>>0<=31){C=m=w+1|0,y=f>>>(m>>>0)&(p=w-31>>31)|u<<(k=31-w|0),I=u>>>(m>>>0)&p,E=0,D=f<>2]=0|e,o[i+4>>2]=A|0&r,g=0,0|(h(0|(b=0)),g)):(g=0,0|(h(0|(b=0)),g))}if((k=a-1|0)&a|0){C=p=33+(0|c(0|a))-(0|c(0|u))|0,y=(w=32-p|0)-1>>31&u>>>((x=p-32|0)>>>0)|(u<>>(p>>>0))&(S=x>>31),I=S&u>>>(p>>>0),E=f<<(m=64-p|0)&(L=w>>31),D=(u<>>(x>>>0))&L|f<>31;break}return 0|i&&(o[i>>2]=k&f,o[i+4>>2]=0),1==(0|a)?(g=0|e,0|(h(0|(b=A|0&r)),g)):(g=u<<32-(k=0|wn(0|a))|f>>>(k>>>0)|0,0|(h(0|(b=u>>>(k>>>0)|0)),g))}if(d)return 0|i&&(o[i>>2]=(u>>>0)%(a>>>0),o[i+4>>2]=0),g=(u>>>0)/(a>>>0)>>>0,0|(h(0|(b=0)),g);if(!f)return 0|i&&(o[i>>2]=0,o[i+4>>2]=(u>>>0)%(l>>>0)),g=(u>>>0)/(l>>>0)>>>0,0|(h(0|(b=0)),g);if(!((k=l-1|0)&l))return 0|i&&(o[i>>2]=0|e,o[i+4>>2]=k&u|0&r),b=0,g=u>>>((0|wn(0|l))>>>0),0|(h(0|b),g);if((k=(0|c(0|l))-(0|c(0|u))|0)>>>0<=30){C=p=k+1|0,y=u<<(w=31-k|0)|f>>>(p>>>0),I=u>>>(p>>>0),E=0,D=f<>2]=0|e,o[i+4>>2]=A|0&r,g=0,0|(h(0|(b=0)),g)):(g=0,0|(h(0|(b=0)),g))}while(0);if(C){t=0|bn(0|(r=0|n),0|(n=s|0&t),-1,-1),s=0|v(),A=D,D=E,E=I,I=y,y=C,C=0;do{e=A,A=D>>>31|A<<1,D=C|D<<1,gn(0|t,0|s,0|(f=I<<1|e>>>31|0),0|(e=I>>>31|E<<1|0)),C=1&(l=(u=0|v())>>31|((0|u)<0?-1:0)<<1),I=0|gn(0|f,0|e,l&r|0,(((0|u)<0?-1:0)>>31|((0|u)<0?-1:0)<<1)&n|0),E=0|v(),y=y-1|0}while(0!=(0|y));_=A,B=D,M=E,F=I,P=0,R=C}else _=D,B=E,M=I,F=y,P=0,R=0;return C=B,B=0,0|i&&(o[i>>2]=F,o[i+4>>2]=M),g=-2&(C<<1|0)|R,0|(h(0|(b=(0|C)>>>31|(_|B)<<1|0&(B<<1|C>>>31)|P)),g)}function kn(e,r,n,t){return 0|mn(e|=0,r|=0,n|=0,t|=0,0)}function pn(e,r,n){return e|=0,r|=0,(0|(n|=0))<32?(h(r>>>n|0),e>>>n|(r&(1<>>n-32|0)}function Cn(e,r,n){return e|=0,(0|(n|=0))<32?(h((r|=0)<>>32-n|0),e<>8&255)<<16|(e>>16&255)<<8|e>>>24|0}function In(e,r,n){e|=0,r|=0;var i,a,f=0;if((0|(n|=0))>=8192)return S(0|e,0|r,0|n),0|e;if(i=0|e,a=e+n|0,(3&e)==(3&r)){for(;3&e;){if(!n)return 0|i;t[e>>0]=0|t[r>>0],e=e+1|0,r=r+1|0,n=n-1|0}for(n=(f=-4&a|0)-64|0;(0|e)<=(0|n);)o[e>>2]=o[r>>2],o[e+4>>2]=o[r+4>>2],o[e+8>>2]=o[r+8>>2],o[e+12>>2]=o[r+12>>2],o[e+16>>2]=o[r+16>>2],o[e+20>>2]=o[r+20>>2],o[e+24>>2]=o[r+24>>2],o[e+28>>2]=o[r+28>>2],o[e+32>>2]=o[r+32>>2],o[e+36>>2]=o[r+36>>2],o[e+40>>2]=o[r+40>>2],o[e+44>>2]=o[r+44>>2],o[e+48>>2]=o[r+48>>2],o[e+52>>2]=o[r+52>>2],o[e+56>>2]=o[r+56>>2],o[e+60>>2]=o[r+60>>2],e=e+64|0,r=r+64|0;for(;(0|e)<(0|f);)o[e>>2]=o[r>>2],e=e+4|0,r=r+4|0}else for(f=a-4|0;(0|e)<(0|f);)t[e>>0]=0|t[r>>0],t[e+1>>0]=0|t[r+1>>0],t[e+2>>0]=0|t[r+2>>0],t[e+3>>0]=0|t[r+3>>0],e=e+4|0,r=r+4|0;for(;(0|e)<(0|a);)t[e>>0]=0|t[r>>0],e=e+1|0,r=r+1|0;return 0|i}function En(e,r,n){var i=0;if((0|(r|=0))<(0|(e|=0))&(0|e)<(r+(n|=0)|0)){for(i=e,r=r+n|0,e=e+n|0;(0|n)>0;)r=r-1|0,n=n-1|0,t[(e=e-1|0)>>0]=0|t[r>>0];e=i}else In(e,r,n);return 0|e}function Dn(e,r,n){r|=0;var i,a=0,f=0,A=0;if(i=(e|=0)+(n|=0)|0,r&=255,(0|n)>=67){for(;3&e;)t[e>>0]=r,e=e+1|0;for(f=r|r<<8|r<<16|r<<24,A=(a=-4&i|0)-64|0;(0|e)<=(0|A);)o[e>>2]=f,o[e+4>>2]=f,o[e+8>>2]=f,o[e+12>>2]=f,o[e+16>>2]=f,o[e+20>>2]=f,o[e+24>>2]=f,o[e+28>>2]=f,o[e+32>>2]=f,o[e+36>>2]=f,o[e+40>>2]=f,o[e+44>>2]=f,o[e+48>>2]=f,o[e+52>>2]=f,o[e+56>>2]=f,o[e+60>>2]=f,e=e+64|0;for(;(0|e)<(0|a);)o[e>>2]=f,e=e+4|0}for(;(0|e)<(0|i);)t[e>>0]=r,e=e+1|0;return i-n|0}function Ln(e){var r,n;return(0|(e|=0))>0&(0|(n=(r=0|o[s>>2])+e|0))<(0|r)|(0|n)<0?(G(0|n),I(12),-1):(0|n)>(0|x())&&0==(0|_(0|n))?(I(12),-1):(o[s>>2]=n,0|r)}function xn(e){return d(0),0}function Sn(e,r){return d(1),0}function _n(e,r,n){return d(2),0}function Bn(e){d(4)}function Mn(e,r){d(5)}function Fn(e,r,n,t){d(6)}function Pn(e,r,n,t,i){d(7)}var Rn=[xn,function(e){var r,n,t=0,i=0,a=0;switch(o[(r=20+(e|=0)|0)>>2]=0,0|(t=0|o[(n=e+4|0)>>2])){case 0:if(i=0|N(1,0,80),o[e>>2]=i,!i)return 0;do{if(0|M(0|(a=i+28|0),0))break;if(0|R(i+76|0,0,6,0|e)){B(0|a);break}return o[n>>2]=1,1}while(0);return U(i),o[e>>2]=0,0;case 1:return 0|t;default:if(!(t=0|o[e>>2]))return 1;if((0|o[n>>2])>>>0>=2){e=t+28|0;do{P(0|e,0|t)}while(1!=(0|o[n>>2]))}return 0|0==(0|o[r>>2])&1}return 0},function(e){var r,n=0,t=0;if(0|(r=0|o[(e|=0)>>2])&&(0|o[(n=e+4|0)>>2])>>>0>=2){t=r+28|0;do{P(0|t,0|r)}while(1!=(0|o[n>>2]))}return 0==(0|o[e+20>>2])|0},function(e){var r,n,t=0;return r=O,O=O+16|0,n=r,t=0|function(e){return 0|e}(0|o[60+(e|=0)>>2]),o[n>>2]=t,t=0|jr(0|L(6,0|n)),O=r,0|t},function(e){var r,n,t;return r=0|o[40+(e|=0)>>2],(0|o[e+12>>2])<1||(0|o[e+16>>2])<1?0:(n=0|Tn[31&o[r+44>>2]](e,r),0|(t=0|o[r+48>>2])&&Gn[15&t](e,r,n),o[(e=r+16|0)>>2]=(0|o[e>>2])+n,1)},function(e){var r,n,t,i,a=0,f=0,A=0,u=0,s=0,c=0,d=0,h=0,v=0,b=0,g=0,w=0,m=0,k=0,p=0,C=0,y=0,I=0,E=0,D=0,L=0,x=0,S=0,_=0;if(r=0|o[40+(e|=0)>>2],f=(a=0|o[o[r>>2]>>2])>>>0<11,s=(A=a+-1|0)>>>0<12&&0!=(1&((u=65535&A)?2077>>>u:2077))?1:(a+-7|0)>>>0<4,A=r+44|0,n=r+48|0,t=r+52|0,o[(u=r+40|0)>>2]=0,o[u+4>>2]=0,o[u+8>>2]=0,o[u+12>>2]=0,!(0|Me(0|o[r+20>>2],e,s?11:12)))return 0;if((a+-7|0)>>>0>3|1^s||Fe(),!(0|o[e+92>>2])){do{if(f){if(0|o[2030]&&(o[2468]=11,o[2469]=12,o[2470]=13,o[2471]=14,o[2472]=15,o[2473]=16,o[2474]=17,o[2475]=12,o[2476]=14,o[2477]=15,o[2478]=16),o[2030]=0,o[A>>2]=17,0|o[e+56>>2]){if(v=0|V(1,0,(-2&(h=1+(d=0|o[(c=e+12|0)>>2])|0))+d|0),o[u>>2]=v,v){o[r+4>>2]=v,d=v+(0|o[c>>2])|0,o[r+8>>2]=d,o[r+12>>2]=d+(h>>1),o[A>>2]=18,Fe();break}return 0}}else o[A>>2]=19}while(0);if(!s)return 1;switch(0|a){case 5:case 10:b=9;break;default:b=f?6:5}return o[n>>2]=b,f?($(),1):1}if(b=0|o[r>>2],h=(s=(a=0|o[b>>2])-1|0)>>>0<12,!f)return g=h&&0!=(1&((f=65535&s)?2077>>>f:2077))?1:(a+-7|0)>>>0<4,v=(c=1+(f=0|o[e+96>>2])|0)>>1,m=(w=1+(d=0|o[e+100>>2])|0)>>1,p=(k=1+(0|o[(w=e+12|0)>>2])|0)>>1,y=(C=1+(0|o[(k=e+16|0)>>2])|0)>>1,D=0|V(1,0,(E=((c=(I=-2&c)<<1)+(C=f<<1)<<2)+(g?f<<3:0)|0)+(g?367:283)|0),o[u>>2]=D,D?(L=D+E+31&-32,o[r+24>>2]=L,o[(E=r+28|0)>>2]=L+84,o[(x=r+32|0)>>2]=L+168,o[(S=r+36|0)>>2]=g?L+252|0:0,Pe(L,0|o[w>>2],0|o[k>>2],0|o[b+16>>2],f,d,0|o[b+32>>2],1,D),L=D+(C<<2)|0,Pe(0|o[E>>2],p,y,0|o[b+20>>2],v,m,0|o[b+36>>2],1,L),Pe(0|o[x>>2],p,y,0|o[b+24>>2],v,m,0|o[b+40>>2],1,L+(I<<2)|0),o[A>>2]=16,g?(Pe(0|o[S>>2],0|o[w>>2],0|o[k>>2],0|o[b+28>>2],f,d,0|o[b+44>>2],1,L+(c<<2)|0),o[n>>2]=4,$(),1):1):0;if(i=h&&0!=(1&((h=65535&s)?2077>>>h:2077))?1:(a+-7|0)>>>0<4,a=0|o[e+96>>2],h=0|o[e+100>>2],L=(c=1+(0|o[(s=e+12|0)>>2])|0)>>1,b=(e=1+(0|o[(c=e+16|0)>>2])|0)>>1,e=a<<1,d=6*a|0,k=0|V(1,0,(f=0|l(a,i?36:27))+(i?367:283)|0),o[u>>2]=k,!k)return 0;if(u=k+((i?a<<3:d)<<2)|0,w=k+f+31&-32,o[r+24>>2]=w,o[(f=r+28|0)>>2]=w+84,o[(S=r+32|0)>>2]=w+168,o[(g=r+36|0)>>2]=i?w+252|0:0,Pe(w,0|o[s>>2],0|o[c>>2],u,a,h,0,1,k),Pe(0|o[f>>2],L,b,u+a|0,a,h,0,1,k+(e<<2)|0),Pe(0|o[S>>2],L,b,u+e|0,a,h,0,1,k+(a<<2<<2)|0),o[A>>2]=15,0|o[2031]&&(o[2453]=4,o[2455]=5,o[2452]=6,o[2454]=7,o[2456]=8,o[2457]=9,o[2458]=10,o[2459]=4,o[2460]=5,o[2461]=8,o[2462]=9),o[2031]=0,!i)return 1;switch(Pe(0|o[g>>2],0|o[s>>2],0|o[c>>2],u+(3*a|0)|0,a,h,0,1,k+(d<<2)|0),o[n>>2]=3,0|o[o[r>>2]>>2]){case 10:case 5:_=7;break;default:_=8}return o[t>>2]=_,$(),1},function(e){var r,n,t,i=0;n=4+(e|=0)|0,t=28+(r=0|o[e>>2])|0;e:for(;;){r:for(;;){switch(0|o[n>>2]){case 0:break e;case 2:i=5;break r;case 1:break;default:i=7;break r}P(0|t,0|r)}5==(0|i)?(i=0,qn[31&o[2039]](e),o[n>>2]=1,F(0|t)):7==(0|i)&&(i=0,F(0|t))}return F(0|t),0},xn],Tn=[Sn,function(e,r){return-16777216},function(e,r){return 0|e},function(e,r){return 0|o[(r|=0)>>2]},function(e,r){return 0|o[4+(r|=0)>>2]},function(e,r){return 0|o[(r|=0)-4>>2]},function(e,r){var n,t,i;return e|=0,n=0|o[(r|=0)>>2],((e=(i=((r=(t=0|o[r+4>>2])^e)>>>1&2139062143)+(t&e)|0)^n)>>>1&2139062143)+(i&n)|0},function(e,r){var n;return e|=0,((r=(n=0|o[(r|=0)-4>>2])^e)>>>1&2139062143)+(n&e)|0},function(e,r){var n;return e|=0,((r=(n=0|o[(r|=0)>>2])^e)>>>1&2139062143)+(n&e)|0},function(e,r){var n;return e|=0,e=0|o[(r|=0)-4>>2],((r=(n=0|o[r>>2])^e)>>>1&2139062143)+(n&e)|0},function(e,r){var n;return e|=0,e=0|o[(r|=0)>>2],((r=(n=0|o[r+4>>2])^e)>>>1&2139062143)+(n&e)|0},function(e,r){e|=0;var n,t,i=0,a=0;return i=0|o[(r|=0)-4>>2],a=0|o[r>>2],n=0|o[r+4>>2],t=((r=i^e)>>>1&2139062143)+(i&e)|0,((a=(i=((e=n^a)>>>1&2139062143)+(n&a)|0)^t)>>>1&2139062143)+(i&t)|0},function(e,r){e|=0;var n,t,i,a,f,A,u,s,l=0;return n=0|o[(r|=0)>>2],t=(e>>>24)-(r=(l=0|o[r+-4>>2])>>>24)|0,i=(n>>>24)-r|0,a=(e>>>16&255)-(r=l>>>16&255)|0,f=(n>>>16&255)-r|0,A=(e>>>8&255)-(r=l>>>8&255)|0,u=(n>>>8&255)-r|0,0|((((0|(l=(255&e)-(r=255&l)|0))>-1?l:0-l|0)-((0|(s=(255&n)-r|0))>-1?s:0-s|0)-((0|i)>-1?i:0-i|0)+((0|t)>-1?t:0-t|0)-((0|u)>-1?u:0-u|0)+((0|A)>-1?A:0-A|0)-((0|f)>-1?f:0-f|0)+((0|a)>-1?a:0-a|0)|0)<1?n:e)},function(e,r){var n,t,i,a,f;return e|=0,((r=((n=0|o[(r|=0)>>2])>>>24)+(e>>>24)-((t=0|o[r+-4>>2])>>>24)|0)>>>0<256?r:r>>>24^255)<<24|((f=(255&n)+(255&e)-(255&t)|0)>>>0<256?f:f>>>24^255)|((i=(n>>>16&255)+(e>>>16&255)-(t>>>16&255)|0)>>>0<256?i:i>>>24^255)<<16|((a=(n>>>8&255)+(e>>>8&255)-(t>>>8&255)|0)>>>0<256?a:a>>>24^255)<<8|0},function(e,r){e|=0;var n,t,i=0,a=0;return i=0|o[(r|=0)>>2],n=0|o[r+-4>>2],i=(((e=(a=((r=i^e)>>>1&2139062143)+(i&e)|0)>>>24)-(n>>>24)|0)/2|0)+e|0,r=(((e=a>>>16&255)-(n>>>16&255)|0)/2|0)+e|0,t=(((e=a>>>8&255)-(n>>>8&255)|0)/2|0)+e|0,(i>>>0<256?i:i>>>24^255)<<24|((a=(((e=255&a)-(255&n)|0)/2|0)+e|0)>>>0<256?a:a>>>24^255)|(r>>>0<256?r:r>>>24^255)<<16|(t>>>0<256?t:t>>>24^255)<<8|0},function(e,r){r|=0;var n,t,i,a,f,A,u,s,c,d,h=0,v=0,b=0,g=0,w=0,m=0,k=0,p=0,C=0,y=0,I=0,E=0,D=0,L=0,x=0,S=0,_=0;if(t=(1+(n=0|o[16+(e|=0)>>2])|0)>>1,(0|n)<=0)return 0;for(i=e+20|0,a=e+32|0,f=r+28|0,A=e+24|0,u=e+36|0,s=r+32|0,c=e+28|0,e=r+16|0,v=0,b=0,g=0,w=0|o[(d=r+24|0)>>2];;){m=0|o[a>>2],g=(0|Ae(w,n-g|0,(0|o[i>>2])+(0|l(m,g))|0,m))+g|0,m=t-v|0,0|ae(0|o[f>>2],m)?(p=0|o[u>>2],C=0|Ae(0|o[f>>2],m,(0|o[A>>2])+(0|l(p,v))|0,p),p=0|o[u>>2],Ae(0|o[s>>2],m,(0|o[c>>2])+(0|l(p,v))|0,p),k=C+v|0):k=v,C=0|o[r>>2],p=0|o[9808+(o[C>>2]<<2)>>2],m=C+20|0,y=0|o[d>>2];e:do{if((0|o[y+64>>2])<(0|o[y+56>>2]))for(I=(0|o[C+16>>2])+(0|l(0|o[m>>2],(0|o[e>>2])+b|0))|0,E=0,D=y;;){if((0|o[D+24>>2])>0){L=E,x=D;break e}if(S=0|o[f>>2],(0|o[S+64>>2])>=(0|o[S+56>>2])){L=E,x=D;break e}if((0|o[S+24>>2])>0){L=E,x=D;break e}if(ue(D),ue(0|o[f>>2]),ue(0|o[s>>2]),S=0|o[d>>2],zn[31&p](0|o[S+68>>2],0|o[68+(0|o[f>>2])>>2],0|o[68+(0|o[s>>2])>>2],I,0|o[S+52>>2]),S=E+1|0,_=0|o[d>>2],!((0|o[_+64>>2])<(0|o[_+56>>2]))){L=S,x=_;break}I=I+(0|o[m>>2])|0,E=S,D=_}else L=0,x=y}while(0);if(y=L+b|0,(0|n)<=(0|g)){h=y;break}v=k,b=y,w=x}return 0|h},function(e,r){r|=0;var n=0,t=0,i=0,a=0,f=0,A=0,u=0,s=0;switch(i=(t=1+(n=0|o[16+(e|=0)>>2])|0)>>1,t=0|o[r+24>>2],0|(a=0|o[o[r>>2]>>2])){case 1:case 3:case 4:case 5:case 12:f=3;break;default:(a+-7|0)>>>0<=3&&(f=3)}if(3==(0|f)&&0|(f=0|o[e+104>>2])&&Te(0|o[e+20>>2],0|o[e+32>>2],f,0|o[e>>2],0|o[e+12>>2],n,0),f=0|o[e+32>>2],!(a=(0|n)>0))return 0;A=0,u=n,n=0|o[e+20>>2];do{s=0|Ae(t,u,n,f),n=n+(0|l(s,f))|0,u=u-s|0,A=(0|Re(t))+A|0}while((0|u)>0);if(t=0|o[(u=e+36|0)>>2],f=0|o[r+28>>2],!a)return 0|A;a=i,n=0|o[e+24>>2];do{s=0|Ae(f,a,n,t),n=n+(0|l(s,t))|0,a=a-s|0,Re(f)}while((0|a)>0);a=0|o[u>>2],u=0|o[r+32>>2],r=i,i=0|o[e+28>>2];do{e=0|Ae(u,r,i,a),i=i+(0|l(e,a))|0,r=r-e|0,Re(u)}while((0|r)>0);return 0|A},function(e,r){var n,t,i;return e|=0,n=0|o[(r|=0)>>2],r=0|o[n+20>>2],t=(0|o[n+16>>2])+(0|l(r,0|o[e+8>>2]))|0,i=e+16|0,function(e,r,n,t,i,o,a,f,A,u){e|=0,r|=0,n|=0,t|=0,i|=0,o|=0,a|=0,f|=0,u|=0;var s=0,l=0;if(!((0|(A|=0))<=0))for(s=e,e=n,n=t,t=o,o=0;zn[31&u](s,e,n,t,f),l=0==(1&o|0),(0|(o=o+1|0))!=(0|A);)s=s+r|0,e=l?e:e+i|0,n=l?n:n+i|0,t=t+a|0}(0|o[e+20>>2],0|o[e+32>>2],0|o[e+24>>2],0|o[e+28>>2],0|o[e+36>>2],t,r,0|o[e+12>>2],0|o[i>>2],0|o[9872+(o[n>>2]<<2)>>2]),0|o[i>>2]},function(e,r){r|=0;var n,t,i,a,f,A,u,s,c,d=0,h=0,v=0,b=0,g=0,w=0,m=0,k=0,p=0,C=0,y=0,I=0,E=0,D=0,L=0,x=0,S=0,_=0,B=0,M=0,F=0;if(d=0|o[16+(e|=0)>>2],h=0|o[r>>2],v=0|o[e+8>>2],b=0|o[(n=h+20|0)>>2],t=(0|o[h+16>>2])+(0|l(b,v))|0,i=0|o[9744+(o[h>>2]<<2)>>2],h=0|o[e+20>>2],g=0|o[e+24>>2],a=0|o[e+28>>2],f=r+8|0,A=r+12|0,u=v+d|0,c=(1+(s=0|o[e+12>>2])|0)/2|0,v?(Wn[7&i](0|o[r+4>>2],h,0|o[f>>2],0|o[A>>2],g,a,t+(0-b)|0,t,s),w=d+1|0):(Wn[7&i](h,0,g,a,g,a,t,0,s),w=d),(0|(d=v+2|0))<(0|u))for(v=e+36|0,b=e+32|0,m=t,k=h,p=a,C=g,y=d;;){if(I=C+(d=0|o[v>>2])|0,E=p+d|0,D=m+((d=0|o[n>>2])<<1)|0,x=k+((L=0|o[b>>2])<<1)|0,Wn[7&i](x+(0-L)|0,x,C,p,I,E,D+(0-d)|0,D,s),(0|(y=y+2|0))>=(0|u)){S=D,_=x,B=E,M=I,F=b;break}m=D,k=x,p=E,C=I}else S=t,_=h,B=a,M=g,F=e+32|0;return g=_+(0|o[F>>2])|0,((0|o[e+84>>2])+u|0)<(0|o[e+88>>2])?(In(0|o[r+4>>2],0|g,0|s),In(0|o[f>>2],0|M,0|c),In(0|o[A>>2],0|B,0|c),0|w+-1):1&u|0?0|w:(Wn[7&i](g,0,M,B,M,B,S+(0|o[n>>2])|0,0,s),0|w)},function(e,r){e|=0;var n,t,i,a,f,A,u,s,c,d=0,h=0,v=0,b=0,g=0;if(d=0|o[(r|=0)>>2],r=0|o[e+8>>2],n=d+32|0,t=(0|o[d+16>>2])+(0|l(0|o[n>>2],r))|0,h=r>>1,r=d+36|0,i=(0|o[d+20>>2])+(0|l(0|o[r>>2],h))|0,a=d+40|0,f=(0|o[d+24>>2])+(0|l(0|o[a>>2],h))|0,A=(1+(h=0|o[e+12>>2])|0)/2|0,u=(1+(v=0|o[(d=e+16|0)>>2])|0)/2|0,!(b=(0|v)>0))return 0|o[d>>2];if(c=e+32|0,In(0|t,0|o[(s=e+20|0)>>2],0|h),1!=(0|v)){g=1;do{In(0|t+(0|l(0|o[n>>2],g)),(0|o[s>>2])+(0|l(0|o[c>>2],g))|0,0|h),g=g+1|0}while((0|g)!=(0|v))}if(!b)return 0|o[d>>2];b=e+24|0,v=e+36|0,g=e+28|0,e=0;do{In(0|(h=i+(0|l(0|o[r>>2],e))|0),(0|o[b>>2])+(0|l(0|o[v>>2],e))|0,0|A),In(0|(h=f+(0|l(0|o[a>>2],e))|0),(0|o[g>>2])+(0|l(0|o[v>>2],e))|0,0|A),e=e+1|0}while((0|e)<(0|u));return 0|o[d>>2]},Je,Sn,Sn,Sn,Sn,Sn,Sn,Sn,Sn,Sn,Sn,Sn],Gn=[_n,function(e,r,n){r|=0,n|=0;var t,i,a,f,A,u=0,s=0,l=0,c=0,d=0,h=0,v=0,b=0,g=0,w=0,m=0,k=0,p=0;t=O,O=O+48|0,i=t+32|0,u=t+16|0,a=t,s=0|o[(f=28+(e|=0)|0)>>2],o[a>>2]=s,l=(0|o[(A=e+20|0)>>2])-s|0,o[a+4>>2]=l,o[a+8>>2]=r,o[a+12>>2]=n,r=l+n|0,l=e+60|0,o[u>>2]=o[l>>2],o[u+4>>2]=a,o[u+8>>2]=2,s=0|jr(0|D(146,0|u));e:do{if((0|r)!=(0|s)){for(u=2,c=r,d=a,h=s;!((0|h)<0);){if(c=c-h|0,w=u+((b=h>>>0>(v=0|o[d+4>>2])>>>0)<<31>>31)|0,m=h-(b?v:0)|0,o[(g=b?d+8|0:d)>>2]=(0|o[g>>2])+m,o[(v=g+4|0)>>2]=(0|o[v>>2])-m,o[i>>2]=o[l>>2],o[i+4>>2]=g,o[i+8>>2]=w,(0|c)==(0|(h=0|jr(0|D(146,0|i))))){k=3;break e}u=w,d=g}o[e+16>>2]=0,o[f>>2]=0,o[A>>2]=0,o[e>>2]=32|o[e>>2],p=2==(0|u)?0:n-(0|o[d+4>>2])|0}else k=3}while(0);return 3==(0|k)&&(k=0|o[e+44>>2],o[e+16>>2]=k+(0|o[e+48>>2]),e=k,o[f>>2]=e,o[A>>2]=e,p=n),O=t,0|p},function(e,r,n){e|=0,r|=0,n|=0;var t,i,a,f=0;return t=O,O=O+32|0,a=t+20|0,o[(i=t)>>2]=o[e+60>>2],o[i+4>>2]=0,o[i+8>>2]=r,o[i+12>>2]=a,o[i+16>>2]=n,(0|jr(0|E(140,0|i)))<0?(o[a>>2]=-1,f=-1):f=0|o[a>>2],O=t,0|f},function(e,r,n){r|=0,n|=0;var t,i,a,f,A,u,s,c=0,d=0,h=0,v=0;if(!(c=0|o[(t=104+(e|=0)|0)>>2]))return 0;if(i=0|o[r+36>>2],a=(0|o[r+16>>2])+n|0,(0|n)<=0)return 0;for(f=i+60|0,A=e+8|0,u=e+16|0,s=r+52|0,d=n,n=c;c=0|o[f>>2],h=0|o[A>>2],v=0|o[e>>2],Ae(i,h-c+(0|o[u>>2])|0,n+(0|l(v,c-h|0))|0,v),!((0|(v=d-(0|Gn[15&o[s>>2]](r,a-d|0,d))|0))<=0);)d=v,n=0|o[t>>2];return 0},function(e,r,n){e|=0,n|=0;var t,i,a,f=0,A=0,u=0,s=0,c=0,d=0,h=0;if(f=0|o[(r|=0)>>2],A=0|o[f+28>>2],t=0|o[r+16>>2],u=0|o[(i=f+44|0)>>2],a=A+(0|l(u,t))|0,!(s=0|o[e+104>>2])){if(!A)return 0;if(A=0|o[e+96>>2],(0|n)<=0)return 0;for(c=a,d=0;Dn(0|c,-1,0|A),(0|(d=d+1|0))!=(0|n);)c=c+u|0;return 0}if(u=0|o[f+16>>2],f=0|o[(c=f+32|0)>>2],n=0|o[e>>2],d=0|o[e+16>>2],r=0|o[(e=r+36|0)>>2],(0|d)<=0)return 0;A=0,h=d,d=s;do{s=0|Ae(r,h,d,n),d=d+(0|l(s,n))|0,h=h-s|0,A=(0|Re(r))+A|0}while((0|h)>0);return(0|A)<=0?0:(Te(h=u+(0|l(f,t))|0,0|o[c>>2],a,0|o[i>>2],0|o[52+(0|o[e>>2])>>2],A,1),0)},function(e,r,n){r|=0,n|=0;var t,i,a=0,f=0,A=0,u=0;if(n=0|o[104+(e|=0)>>2],a=0|o[r>>2],r=0|o[e+12>>2],t=0|o[e+16>>2],f=0|o[a+28>>2],a=0|o[(i=a+44|0)>>2],A=f+(0|l(a,0|o[e+8>>2]))|0,n){if((0|t)<=0)return 0;for(a=A,A=n,n=0;In(0|a,0|A,0|r),(0|(n=n+1|0))!=(0|t);)a=a+(0|o[i>>2])|0,A=A+(0|o[e>>2])|0;return 0}if(!((0|t)>0&0!=(0|f)))return 0;for(f=A,u=0;Dn(0|f,-1,0|r),(0|(u=u+1|0))!=(0|t);)f=f+a|0;return 0},function(e,r,n){r|=0,n|=0;var t,i,a,f,A,u,s=0,c=0,d=0,h=0,v=0,b=0,g=0;return(n=0|o[104+(e|=0)>>2])?(t=0|o[e+12>>2],i=0|o[r>>2],f=1&(a=4==(0|(r=0|o[i>>2]))|9==(0|r)),A=0|o[e+8>>2],u=0|o[e+16>>2],0|o[e+56>>2]?(A?(h=u,v=A+-1|0,b=n+(0-(0|o[e>>2]))|0):(h=u+-1|0,v=0,b=n),s=(0|(g=u+A+(n=0|o[e+84>>2])|0))==(0|o[e+88>>2])?g-(n+v)|0:h,c=v,d=b):(s=u,c=A,d=n),v=0|o[(b=i+20|0)>>2],h=(0|o[i+16>>2])+(0|l(v,c))|0,(r+-7|0)>>>0>3|0==(0|ge(d,0|o[e>>2],t,s,h+(a?0:3)|0,v))?0:(be(h,f,t,s,0|o[b>>2]),0)):0},function(e,r,n){r|=0,n|=0;var i,f,A,u,s=0,c=0,d=0,h=0,v=0,b=0,g=0,w=0,m=0,k=0;if(i=20+(s=0|o[(e|=0)>>2])|0,f=(0|o[s+16>>2])+(0|l(0|o[i>>2],r))|0,e=0|o[(r=e+36|0)>>2],A=0|o[e+52>>2],u=((0|o[s>>2])-7|0)>>>0<4,(0|o[e+64>>2])>=(0|o[e+56>>2]))return 0;if((0|A)<=0){for(s=0,d=e;;){if(!((0|s)<(0|n)&&(0|o[d+24>>2])<1)){c=s,h=13;break}if(ue(d),v=s+1|0,d=0|o[r>>2],(0|o[d+64>>2])>=(0|o[d+56>>2])){c=v,h=13;break}s=v}if(13==(0|h))return 0|c}for(h=15,s=0,d=f+1|0,v=e;;){if(!((0|s)<(0|n)&&(0|o[v+24>>2])<1)){b=h,g=s;break}ue(v),e=0,w=h;do{k=(m=0|a[(0|o[68+(0|o[r>>2])>>2])+e>>0])>>>4,t[(m=d+(e<<1)|0)>>0]=k|-16&t[m>>0]&255,w&=k,e=e+1|0}while((0|e)!=(0|A));if(e=s+1|0,v=0|o[r>>2],(0|o[v+64>>2])>=(0|o[v+56>>2])){b=w,g=e;break}h=w,s=e,d=d+(0|o[i>>2])|0}return u&15!=(0|b)?(ve(f,A,g,0|o[i>>2]),0|(c=g)):0|(c=g)},function(e,r,n){r|=0,n|=0;var t,i,a,f,A,u=0,s=0,c=0,d=0,h=0,v=0,b=0,g=0,w=0,m=0;if(u=0|o[(e|=0)>>2],s=0|o[(t=u+20|0)>>2],i=(0|o[u+16>>2])+(0|l(s,r))|0,a=1&(u=4==(0|(r=0|o[u>>2]))|9==(0|r)),f=(r+-7|0)>>>0<4,e=0|o[(r=e+36|0)>>2],A=0|o[e+52>>2],(0|o[e+64>>2])>=(0|o[e+56>>2]))return 0;for(c=0,d=0,h=i+(u?0:3)|0,u=e,e=s;;){if(!((0|d)<(0|n)&&(0|o[u+24>>2])<1)){v=c,b=d,g=e;break}if(ue(u),s=0|ge(0|o[68+(0|o[r>>2])>>2],0,A,1,h,0)|c,w=0|o[t>>2],m=d+1|0,u=0|o[r>>2],(0|o[u+64>>2])>=(0|o[u+56>>2])){v=s,b=m,g=w;break}c=s,d=m,h=h+w|0,e=w}return f&0!=(0|v)?(be(i,a,A,b,g),0|b):0|b},function(e,r,n){r|=0,n|=0;var i,f,A=0,u=0,s=0,c=0,d=0,h=0,v=0,b=0,g=0,w=0,m=0;if(!(n=0|o[104+(e|=0)>>2]))return 0;if(i=0|o[e+12>>2],A=0|o[r>>2],r=0|o[A>>2],u=0|o[e+8>>2],f=0|o[e+16>>2],0|o[e+56>>2]?(u?(h=u+-1|0,v=f,b=n+(0-(0|o[e>>2]))|0):(h=0,v=f+-1|0,b=n),s=h,c=(0|(g=f+u+(n=0|o[e+84>>2])|0))==(0|o[e+88>>2])?g-(n+h)|0:v,d=b):(s=u,c=f,d=n),b=A+20|0,v=(0|o[A+16>>2])+(0|l(0|o[b>>2],s))|0,(0|c)<=0)return 0;if((0|i)<=0)return 0;for(s=0,A=15,h=v+1|0,n=d;;){d=0,w=A;do{u=(g=0|a[n+d>>0])>>>4,t[(g=h+(d<<1)|0)>>0]=u|-16&t[g>>0]&255,w&=u,d=d+1|0}while((0|d)!=(0|i));if(m=0|o[b>>2],(0|(s=s+1|0))==(0|c))break;A=w,h=h+m|0,n=n+(0|o[e>>2])|0}return(r+-7|0)>>>0>3|15==(0|w)?0:(ve(v,i,c,m),0)},_n,_n,_n,_n,_n,_n],On=[function(e,r,n,t,i,o){return d(3),0},function(e,r,n,t,f,A){n|=0,t|=0,A|=0;var u,s,d,h,v=0,b=0,g=0,w=0,m=0,k=0,p=0,C=0,y=0,I=0,E=0,D=0,L=0,x=0,S=0,_=0,B=0,M=0,F=0,P=0,R=0,T=0,G=0,O=0,q=0,U=0,Y=0,z=0,W=0,X=0,Q=0;if((0|(f|=0))>=16)return 16;u=4+(e|=0)|0,s=e+8|0,d=e+12|0,h=e+20|0,b=(0|o[(r|=0)+(f<<2)>>2])+(11*n|0)|0,n=f,f=0|o[s>>2],g=0|o[u>>2];e:for(;;){w=0|a[b>>0];do{if((0|f)<0){if((m=0|o[d>>2])>>>0<(0|o[h>>2])>>>0){k=a[m>>0]|a[m+1>>0]<<8|a[m+2>>0]<<16|a[m+3>>0]<<24,o[d>>2]=m+3,m=0|yn(0|k),o[e>>2]=o[e>>2]<<24|m>>>8,m=f+24|0,o[s>>2]=m,p=m;break}Pr(e),p=0|o[s>>2];break}p=f}while(0);if(k=(m=0|l(g,w))>>>8,m=0|o[e>>2],(C=(p?m>>>p:m)>>>0>k>>>0)?(y=m-(k+1<>2]=y,I=g-k|0,E=y):(I=k+1|0,E=m),k=p-(m=24^(0|c(0|I)))|0,o[s>>2]=k,y=(I<>2]=y,!C){v=n,D=37;break}for(C=b,m=n,L=k,k=E,x=y;;){y=0|a[C+1>>0];do{if((0|L)<0){if((S=0|o[d>>2])>>>0<(0|o[h>>2])>>>0){_=a[S>>0]|a[S+1>>0]<<8|a[S+2>>0]<<16|a[S+3>>0]<<24,o[d>>2]=S+3,_=k<<24|(S=0|yn(0|_))>>>8,o[e>>2]=_,S=L+24|0,o[s>>2]=S,B=_,M=S;break}Pr(e),B=0|o[e>>2],M=0|o[s>>2];break}B=k,M=L}while(0);if((S=(M?B>>>M:B)>>>0>(_=(S=0|l(x,y))>>>8)>>>0)?(F=B-(_+1<>2]=F,P=x-_|0,R=F):(P=_+1|0,R=B),T=M-(_=24^(0|c(0|P)))|0,o[s>>2]=T,G=(P<<_)-1|0,o[u>>2]=G,O=m+1|0,S)break;if(16==(0|O)){v=16,D=37;break e}C=0|o[r+(O<<2)>>2],m=O,L=T,k=R,x=G}x=0|o[r+(O<<2)>>2],k=0|a[C+2>>0];do{if((0|T)<0){if((L=0|o[d>>2])>>>0<(0|o[h>>2])>>>0){w=a[L>>0]|a[L+1>>0]<<8|a[L+2>>0]<<16|a[L+3>>0]<<24,o[d>>2]=L+3,w=R<<24|(L=0|yn(0|w))>>>8,o[e>>2]=w,L=T+24|0,o[s>>2]=L,q=w,U=L;break}Pr(e),q=0|o[e>>2],U=0|o[s>>2];break}q=R,U=T}while(0);(L=(U?q>>>U:q)>>>0>(w=(L=0|l(G,k))>>>8)>>>0)?(o[e>>2]=q-(w+1<>2]=S,o[u>>2]=(Y<>2]):(z=1,W=x+11|0,X=S);do{if((0|X)<0){if((S=0|o[d>>2])>>>0<(0|o[h>>2])>>>0){L=a[S>>0]|a[S+1>>0]<<8|a[S+2>>0]<<16|a[S+3>>0]<<24,o[d>>2]=S+3,S=0|yn(0|L),o[e>>2]=o[e>>2]<<24|S>>>8,S=X+24|0,o[s>>2]=S,Q=S;break}Pr(e),Q=0|o[s>>2];break}Q=X}while(0);if(C=(x=0|o[u>>2])>>>1,k=0|o[e>>2],L=(S=C-(Q?k>>>Q:k)|0)>>31,S=Q+-1|0,o[s>>2]=S,w=L+x|1,o[u>>2]=w,o[e>>2]=k-((L&C+1)<0&1)<<2)>>2])),i[A+((0|a[7584+m>>0])<<1)>>1]=C,!((0|m)<15)){v=16,D=37;break}b=W,n=O,f=S,g=w}return 37==(0|D)?0|v:0}],qn=[Bn,function(e){o[(e|=0)>>2]=0,o[e+4>>2]=0,o[e+8>>2]=0,o[e+12>>2]=0,o[e+16>>2]=0,o[e+20>>2]=0},function(e){var r,n,t=0,i=0;if(r=0|o[(e|=0)>>2]){switch(0|o[(n=e+4|0)>>2]){case 0:break;case 1:t=r+28|0,i=6;break;default:e=r+28|0;do{P(0|e,0|r)}while(1!=(0|o[n>>2]));t=e,i=6}6==(0|i)&&(o[n>>2]=2,F(0|t))}},function(e){var r,n=0;(n=0|o[8+(e|=0)>>2])&&(r=0==(0|Tn[31&n](0|o[e+12>>2],0|o[e+16>>2]))&1,o[(n=e+20|0)>>2]=o[n>>2]|r)},function(e){var r,n,t=0,i=0,a=0;if(r=0|o[(e|=0)>>2]){switch(0|o[(n=e+4|0)>>2]){case 0:break;case 1:t=r+28|0,i=6;break;default:a=r+28|0;do{P(0|a,0|r)}while(1!=(0|o[n>>2]));t=a,i=6}6==(0|i)&&(o[n>>2]=0,F(0|t)),T(0|o[r+76>>2],0),B(r+28|0),U(r),o[e>>2]=0}},function(e){var r;r=40+(0|o[40+(e|=0)>>2])|0,U(0|o[r>>2]),o[r>>2]=0},function(e){var r;Dn(0|(e|=0),0|(r=(4+(0|a[e+-32>>0])+(0|a[e+-1>>0])+(0|a[e+-31>>0])+(0|a[e+31>>0])+(0|a[e+-30>>0])+(0|a[e+63>>0])+(0|a[e+-29>>0])+(0|a[e+95>>0])|0)>>>3&255),4),Dn(e+32|0,0|r,4),Dn(e+64|0,0|r,4),Dn(e+96|0,0|r,4)},function(e){e|=0;var r,n,i,f,A,u=0;u=(r=(0|o[2026])+(0-(0|a[e+-33>>0]))|0)+(0|a[e+-1>>0])|0,n=0|a[e+-32>>0],t[e>>0]=0|t[u+n>>0],i=0|a[e+-31>>0],t[e+1>>0]=0|t[u+i>>0],f=0|a[e+-30>>0],t[e+2>>0]=0|t[u+f>>0],A=0|a[e+-29>>0],t[e+3>>0]=0|t[u+A>>0],u=r+(0|a[e+31>>0])|0,t[e+32>>0]=0|t[u+n>>0],t[e+33>>0]=0|t[u+i>>0],t[e+34>>0]=0|t[u+f>>0],t[e+35>>0]=0|t[u+A>>0],u=r+(0|a[e+63>>0])|0,t[e+64>>0]=0|t[u+n>>0],t[e+65>>0]=0|t[u+i>>0],t[e+66>>0]=0|t[u+f>>0],t[e+67>>0]=0|t[u+A>>0],u=r+(0|a[e+95>>0])|0,t[e+96>>0]=0|t[u+n>>0],t[e+97>>0]=0|t[u+i>>0],t[e+98>>0]=0|t[u+f>>0],t[e+99>>0]=0|t[u+A>>0]},function(e){var r,n,i,o=0,f=0,A=0,u=0;o=0|a[(e|=0)-32>>0],n=(A=(r=2+(f=0|a[e+-31>>0])|0)+(0|a[e+-33>>0])+(o<<1)|0)>>>2&255,f=(u=(i=2+(A=0|a[e+-30>>0])|0)+o+(f<<1)|0)>>>2&255,A=(o=r+(A<<1)+(u=0|a[e+-29>>0])|0)>>>2&255,u=(o=i+(u<<1)+(0|a[e+-28>>0])|0)>>>2&255,t[e>>0]=n,t[e+1>>0]=f,t[e+2>>0]=A,t[e+3>>0]=u,t[e+32>>0]=n,t[e+33>>0]=f,t[e+34>>0]=A,t[e+35>>0]=u,t[e+64>>0]=n,t[e+65>>0]=f,t[e+66>>0]=A,t[e+67>>0]=u,t[e+96>>0]=n,t[e+97>>0]=f,t[e+98>>0]=A,t[e+99>>0]=u},function(e){var r,n,i,o,f,A=0,u=0,s=0,l=0,c=0;A=0|a[(e|=0)-1>>0],r=0|a[e+31>>0],u=0|a[e+63>>0],s=0|a[e+-33>>0],l=0|a[e+-32>>0],n=0|a[e+-31>>0],i=0|a[e+-30>>0],o=0|a[e+-29>>0],c=(f=r+2|0)+(u<<1)+(0|a[e+95>>0])|0,t[e+96>>0]=c>>>2,u=((c=A+2|0)+(r<<1)+u|0)>>>2&255,t[e+64>>0]=u,t[e+97>>0]=u,A=(u=f+(A<<1)+s|0)>>>2&255,t[e+32>>0]=A,t[e+65>>0]=A,t[e+98>>0]=A,c=(A=c+l+(s<<1)|0)>>>2&255,t[e>>0]=c,t[e+33>>0]=c,t[e+66>>0]=c,t[e+99>>0]=c,s=(c=s+2+n+(l<<1)|0)>>>2&255,t[e+1>>0]=s,t[e+34>>0]=s,t[e+67>>0]=s,l=(s=l+2+i+(n<<1)|0)>>>2&255,t[e+2>>0]=l,t[e+35>>0]=l,l=n+2+o+(i<<1)|0,t[e+3>>0]=l>>>2},function(e){var r,n,i,o,f=0,A=0,u=0,s=0,l=0;r=0|a[(e|=0)-31>>0],f=0|a[e+-30>>0],A=0|a[e+-29>>0],u=0|a[e+-28>>0],s=0|a[e+-27>>0],n=0|a[e+-26>>0],i=0|a[e+-25>>0],l=(o=f+2|0)+(0|a[e+-32>>0])+(r<<1)|0,t[e>>0]=l>>>2,f=((l=A+2|0)+r+(f<<1)|0)>>>2&255,t[e+32>>0]=f,t[e+1>>0]=f,A=(f=o+(A<<1)+u|0)>>>2&255,t[e+64>>0]=A,t[e+33>>0]=A,t[e+2>>0]=A,l=(A=l+(u<<1)+s|0)>>>2&255,t[e+96>>0]=l,t[e+65>>0]=l,t[e+34>>0]=l,t[e+3>>0]=l,u=(l=u+2+(s<<1)+n|0)>>>2&255,t[e+97>>0]=u,t[e+66>>0]=u,t[e+35>>0]=u,s=(u=s+2+(n<<1)+i|0)>>>2&255,t[e+98>>0]=s,t[e+67>>0]=s,s=n+2+i+(i<<1)|0,t[e+99>>0]=s>>>2},function(e){var r,n,i=0,o=0,f=0,A=0,u=0;r=0|a[(e|=0)-1>>0],i=0|a[e+31>>0],o=0|a[e+63>>0],f=0|a[e+95>>0],A=(n=i+2|0)+(0|a[e+-33>>0])+(r<<1)|0,u=0|l(A>>>2&255,16843009),t[e>>0]=u,t[e+1>>0]=u>>8,t[e+2>>0]=u>>16,t[e+3>>0]=u>>24,u=e+32|0,i=0|l(((A=o+2|0)+r+(i<<1)|0)>>>2&255,16843009),t[u>>0]=i,t[u+1>>0]=i>>8,t[u+2>>0]=i>>16,t[u+3>>0]=i>>24,i=e+64|0,o=0|l((u=n+(o<<1)+f|0)>>>2&255,16843009),t[i>>0]=o,t[i+1>>0]=o>>8,t[i+2>>0]=o>>16,t[i+3>>0]=o>>24,o=e+96|0,f=0|l((e=A+f+(f<<1)|0)>>>2&255,16843009),t[o>>0]=f,t[o+1>>0]=f>>8,t[o+2>>0]=f>>16,t[o+3>>0]=f>>24},function(e){var r,n,i,o,f,A=0,u=0,s=0,l=0,c=0;r=0|a[(e|=0)-1>>0],n=0|a[e+31>>0],A=0|a[e+63>>0],u=0|a[e+-33>>0],s=0|a[e+-32>>0],i=0|a[e+-31>>0],o=0|a[e+-30>>0],f=0|a[e+-29>>0],c=((l=s+1|0)+u|0)>>>1&255,t[e+65>>0]=c,t[e>>0]=c,l=(c=l+i|0)>>>1&255,t[e+66>>0]=l,t[e+1>>0]=l,c=(l=i+1+o|0)>>>1&255,t[e+67>>0]=c,t[e+2>>0]=c,c=o+1+f|0,t[e+3>>0]=c>>>1,l=(c=r+2|0)+A+(n<<1)|0,t[e+96>>0]=l>>>2,A=(l=u+2|0)+n+(r<<1)|0,t[e+64>>0]=A>>>2,u=(A=c+(u<<1)+s|0)>>>2&255,t[e+97>>0]=u,t[e+32>>0]=u,l=(u=l+(s<<1)+i|0)>>>2&255,t[e+98>>0]=l,t[e+33>>0]=l,s=(l=s+2+(i<<1)+o|0)>>>2&255,t[e+99>>0]=s,t[e+34>>0]=s,s=i+2+(o<<1)+f|0,t[e+35>>0]=s>>>2},function(e){var r,n,i,o,f,A=0,u=0,s=0,l=0,c=0;A=0|a[(e|=0)-32>>0],r=0|a[e+-31>>0],u=0|a[e+-30>>0],s=0|a[e+-29>>0],n=0|a[e+-28>>0],i=0|a[e+-27>>0],o=0|a[e+-26>>0],f=0|a[e+-25>>0],c=(l=r+1|0)+A|0,t[e>>0]=c>>>1,l=(c=l+u|0)>>>1&255,t[e+64>>0]=l,t[e+1>>0]=l,c=(l=u+1+s|0)>>>1&255,t[e+65>>0]=c,t[e+2>>0]=c,l=(c=s+1+n|0)>>>1&255,t[e+66>>0]=l,t[e+3>>0]=l,c=(l=u+2|0)+A+(r<<1)|0,t[e+32>>0]=c>>>2,u=(A=(c=s+2|0)+r+(u<<1)|0)>>>2&255,t[e+96>>0]=u,t[e+33>>0]=u,s=(u=l+(s<<1)+n|0)>>>2&255,t[e+97>>0]=s,t[e+34>>0]=s,c=(s=c+(n<<1)+i|0)>>>2&255,t[e+98>>0]=c,t[e+35>>0]=c,c=n+2+(i<<1)+o|0,t[e+67>>0]=c>>>2,c=i+2+(o<<1)+f|0,t[e+99>>0]=c>>>2},function(e){var r,n,i,o,f=0,A=0,u=0,s=0,l=0,c=0;r=0|a[(e|=0)-1>>0],f=0|a[e+31>>0],n=0|a[e+63>>0],i=0|a[e+95>>0],A=0|a[e+-33>>0],u=0|a[e+-32>>0],s=0|a[e+-31>>0],o=0|a[e+-30>>0],c=((l=r+1|0)+A|0)>>>1&255,t[e+34>>0]=c,t[e>>0]=c,l=(c=l+f|0)>>>1&255,t[e+66>>0]=l,t[e+32>>0]=l,c=(l=f+1+n|0)>>>1&255,t[e+98>>0]=c,t[e+64>>0]=c,c=n+1+i|0,t[e+96>>0]=c>>>1,c=u+2+(s<<1)+o|0,t[e+3>>0]=c>>>2,c=A+2+(u<<1)+s|0,t[e+2>>0]=c>>>2,u=(s=(c=r+2|0)+(A<<1)+u|0)>>>2&255,t[e+35>>0]=u,t[e+1>>0]=u,A=(s=(u=f+2|0)+(r<<1)+A|0)>>>2&255,t[e+67>>0]=A,t[e+33>>0]=A,f=(A=c+n+(f<<1)|0)>>>2&255,t[e+99>>0]=f,t[e+65>>0]=f,f=u+i+(n<<1)|0,t[e+97>>0]=f>>>2},function(e){var r,n,i,o=0,f=0,A=0,u=0;r=0|a[(e|=0)-1>>0],n=0|a[e+31>>0],o=0|a[e+63>>0],f=255&(i=0|t[e+95>>0]),u=(A=n+1|0)+r|0,t[e>>0]=u>>>1,A=(u=A+o|0)>>>1&255,t[e+32>>0]=A,t[e+2>>0]=A,u=(A=o+1+f|0)>>>1&255,t[e+64>>0]=u,t[e+34>>0]=u,A=(u=o+2|0)+r+(n<<1)|0,t[e+1>>0]=A>>>2,o=(A=f+2+n+(o<<1)|0)>>>2&255,t[e+33>>0]=o,t[e+3>>0]=o,f=(o=u+f+(f<<1)|0)>>>2&255,t[e+65>>0]=f,t[e+35>>0]=f,t[e+66>>0]=i,t[e+67>>0]=i,Dn(e+96|0,0|i,4)},function(e){var r;Dn(0|(e|=0),0|(r=(16+(0|a[e+-1>>0])+(0|a[e+-32>>0])+(0|a[e+31>>0])+(0|a[e+-31>>0])+(0|a[e+63>>0])+(0|a[e+-30>>0])+(0|a[e+95>>0])+(0|a[e+-29>>0])+(0|a[e+127>>0])+(0|a[e+-28>>0])+(0|a[e+159>>0])+(0|a[e+-27>>0])+(0|a[e+191>>0])+(0|a[e+-26>>0])+(0|a[e+223>>0])+(0|a[e+-25>>0])+(0|a[e+255>>0])+(0|a[e+-24>>0])+(0|a[e+287>>0])+(0|a[e+-23>>0])+(0|a[e+319>>0])+(0|a[e+-22>>0])+(0|a[e+351>>0])+(0|a[e+-21>>0])+(0|a[e+383>>0])+(0|a[e+-20>>0])+(0|a[e+415>>0])+(0|a[e+-19>>0])+(0|a[e+447>>0])+(0|a[e+-18>>0])+(0|a[e+479>>0])+(0|a[e+-17>>0])|0)>>>5&255),16),Dn(e+32|0,0|r,16),Dn(e+64|0,0|r,16),Dn(e+96|0,0|r,16),Dn(e+128|0,0|r,16),Dn(e+160|0,0|r,16),Dn(e+192|0,0|r,16),Dn(e+224|0,0|r,16),Dn(e+256|0,0|r,16),Dn(e+288|0,0|r,16),Dn(e+320|0,0|r,16),Dn(e+352|0,0|r,16),Dn(e+384|0,0|r,16),Dn(e+416|0,0|r,16),Dn(e+448|0,0|r,16),Dn(e+480|0,0|r,16)},function(e){var r,n,i,f,A,u,s,l,c,d,h,v,b,g,w,m,k,p=0,C=0;for(r=(e|=0)-32|0,n=(0|o[2026])+(0-(0|a[e+-33>>0]))|0,i=e+-31|0,f=e+-30|0,A=e+-29|0,u=e+-28|0,s=e+-27|0,l=e+-26|0,c=e+-25|0,d=e+-24|0,h=e+-23|0,v=e+-22|0,b=e+-21|0,g=e+-20|0,w=e+-19|0,m=e+-18|0,k=e+-17|0,p=e,e=0;C=n+(0|a[p+-1>>0])|0,t[p>>0]=0|t[C+(0|a[r>>0])>>0],t[p+1>>0]=0|t[C+(0|a[i>>0])>>0],t[p+2>>0]=0|t[C+(0|a[f>>0])>>0],t[p+3>>0]=0|t[C+(0|a[A>>0])>>0],t[p+4>>0]=0|t[C+(0|a[u>>0])>>0],t[p+5>>0]=0|t[C+(0|a[s>>0])>>0],t[p+6>>0]=0|t[C+(0|a[l>>0])>>0],t[p+7>>0]=0|t[C+(0|a[c>>0])>>0],t[p+8>>0]=0|t[C+(0|a[d>>0])>>0],t[p+9>>0]=0|t[C+(0|a[h>>0])>>0],t[p+10>>0]=0|t[C+(0|a[v>>0])>>0],t[p+11>>0]=0|t[C+(0|a[b>>0])>>0],t[p+12>>0]=0|t[C+(0|a[g>>0])>>0],t[p+13>>0]=0|t[C+(0|a[w>>0])>>0],t[p+14>>0]=0|t[C+(0|a[m>>0])>>0],t[p+15>>0]=0|t[C+(0|a[k>>0])>>0],16!=(0|(e=e+1|0));)p=p+32|0},function(e){var r,n=0,i=0,o=0;i=r=(e|=0)-32|0,o=(n=e)+16|0;do{t[n>>0]=0|t[i>>0],n=n+1|0,i=i+1|0}while((0|n)<(0|o));i=r,o=16+(n=e+32|0)|0;do{t[n>>0]=0|t[i>>0],n=n+1|0,i=i+1|0}while((0|n)<(0|o));i=r,o=16+(n=e+64|0)|0;do{t[n>>0]=0|t[i>>0],n=n+1|0,i=i+1|0}while((0|n)<(0|o));i=r,o=16+(n=e+96|0)|0;do{t[n>>0]=0|t[i>>0],n=n+1|0,i=i+1|0}while((0|n)<(0|o));i=r,o=16+(n=e+128|0)|0;do{t[n>>0]=0|t[i>>0],n=n+1|0,i=i+1|0}while((0|n)<(0|o));i=r,o=16+(n=e+160|0)|0;do{t[n>>0]=0|t[i>>0],n=n+1|0,i=i+1|0}while((0|n)<(0|o));i=r,o=16+(n=e+192|0)|0;do{t[n>>0]=0|t[i>>0],n=n+1|0,i=i+1|0}while((0|n)<(0|o));i=r,o=16+(n=e+224|0)|0;do{t[n>>0]=0|t[i>>0],n=n+1|0,i=i+1|0}while((0|n)<(0|o));i=r,o=16+(n=e+256|0)|0;do{t[n>>0]=0|t[i>>0],n=n+1|0,i=i+1|0}while((0|n)<(0|o));i=r,o=16+(n=e+288|0)|0;do{t[n>>0]=0|t[i>>0],n=n+1|0,i=i+1|0}while((0|n)<(0|o));i=r,o=16+(n=e+320|0)|0;do{t[n>>0]=0|t[i>>0],n=n+1|0,i=i+1|0}while((0|n)<(0|o));i=r,o=16+(n=e+352|0)|0;do{t[n>>0]=0|t[i>>0],n=n+1|0,i=i+1|0}while((0|n)<(0|o));i=r,o=16+(n=e+384|0)|0;do{t[n>>0]=0|t[i>>0],n=n+1|0,i=i+1|0}while((0|n)<(0|o));i=r,o=16+(n=e+416|0)|0;do{t[n>>0]=0|t[i>>0],n=n+1|0,i=i+1|0}while((0|n)<(0|o));i=r,o=16+(n=e+448|0)|0;do{t[n>>0]=0|t[i>>0],n=n+1|0,i=i+1|0}while((0|n)<(0|o));i=r,o=16+(n=e+480|0)|0;do{t[n>>0]=0|t[i>>0],n=n+1|0,i=i+1|0}while((0|n)<(0|o))},function(e){Dn(0|(e|=0),0|t[e+-1>>0],16),Dn(e+32|0,0|t[e+31>>0],16),Dn(e+64|0,0|t[e+63>>0],16),Dn(e+96|0,0|t[e+95>>0],16),Dn(e+128|0,0|t[e+127>>0],16),Dn(e+160|0,0|t[e+159>>0],16),Dn(e+192|0,0|t[e+191>>0],16),Dn(e+224|0,0|t[e+223>>0],16),Dn(e+256|0,0|t[e+255>>0],16),Dn(e+288|0,0|t[e+287>>0],16),Dn(e+320|0,0|t[e+319>>0],16),Dn(e+352|0,0|t[e+351>>0],16),Dn(e+384|0,0|t[e+383>>0],16),Dn(e+416|0,0|t[e+415>>0],16),Dn(e+448|0,0|t[e+447>>0],16),Dn(e+480|0,0|t[e+479>>0],16)},function(e){var r;Dn(0|(e|=0),0|(r=(8+(0|a[e+-1>>0])+(0|a[e+31>>0])+(0|a[e+63>>0])+(0|a[e+95>>0])+(0|a[e+127>>0])+(0|a[e+159>>0])+(0|a[e+191>>0])+(0|a[e+223>>0])+(0|a[e+255>>0])+(0|a[e+287>>0])+(0|a[e+319>>0])+(0|a[e+351>>0])+(0|a[e+383>>0])+(0|a[e+415>>0])+(0|a[e+447>>0])+(0|a[e+479>>0])|0)>>>4&255),16),Dn(e+32|0,0|r,16),Dn(e+64|0,0|r,16),Dn(e+96|0,0|r,16),Dn(e+128|0,0|r,16),Dn(e+160|0,0|r,16),Dn(e+192|0,0|r,16),Dn(e+224|0,0|r,16),Dn(e+256|0,0|r,16),Dn(e+288|0,0|r,16),Dn(e+320|0,0|r,16),Dn(e+352|0,0|r,16),Dn(e+384|0,0|r,16),Dn(e+416|0,0|r,16),Dn(e+448|0,0|r,16),Dn(e+480|0,0|r,16)},function(e){var r;Dn(0|(e|=0),0|(r=(8+(0|a[e+-32>>0])+(0|a[e+-31>>0])+(0|a[e+-30>>0])+(0|a[e+-29>>0])+(0|a[e+-28>>0])+(0|a[e+-27>>0])+(0|a[e+-26>>0])+(0|a[e+-25>>0])+(0|a[e+-24>>0])+(0|a[e+-23>>0])+(0|a[e+-22>>0])+(0|a[e+-21>>0])+(0|a[e+-20>>0])+(0|a[e+-19>>0])+(0|a[e+-18>>0])+(0|a[e+-17>>0])|0)>>>4&255),16),Dn(e+32|0,0|r,16),Dn(e+64|0,0|r,16),Dn(e+96|0,0|r,16),Dn(e+128|0,0|r,16),Dn(e+160|0,0|r,16),Dn(e+192|0,0|r,16),Dn(e+224|0,0|r,16),Dn(e+256|0,0|r,16),Dn(e+288|0,0|r,16),Dn(e+320|0,0|r,16),Dn(e+352|0,0|r,16),Dn(e+384|0,0|r,16),Dn(e+416|0,0|r,16),Dn(e+448|0,0|r,16),Dn(e+480|0,0|r,16)},function(e){var r=0,n=0;n=16+(r=e|=0)|0;do{t[r>>0]=128,r=r+1|0}while((0|r)<(0|n));n=16+(r=e+32|0)|0;do{t[r>>0]=128,r=r+1|0}while((0|r)<(0|n));n=16+(r=e+64|0)|0;do{t[r>>0]=128,r=r+1|0}while((0|r)<(0|n));n=16+(r=e+96|0)|0;do{t[r>>0]=128,r=r+1|0}while((0|r)<(0|n));n=16+(r=e+128|0)|0;do{t[r>>0]=128,r=r+1|0}while((0|r)<(0|n));n=16+(r=e+160|0)|0;do{t[r>>0]=128,r=r+1|0}while((0|r)<(0|n));n=16+(r=e+192|0)|0;do{t[r>>0]=128,r=r+1|0}while((0|r)<(0|n));n=16+(r=e+224|0)|0;do{t[r>>0]=128,r=r+1|0}while((0|r)<(0|n));n=16+(r=e+256|0)|0;do{t[r>>0]=128,r=r+1|0}while((0|r)<(0|n));n=16+(r=e+288|0)|0;do{t[r>>0]=128,r=r+1|0}while((0|r)<(0|n));n=16+(r=e+320|0)|0;do{t[r>>0]=128,r=r+1|0}while((0|r)<(0|n));n=16+(r=e+352|0)|0;do{t[r>>0]=128,r=r+1|0}while((0|r)<(0|n));n=16+(r=e+384|0)|0;do{t[r>>0]=128,r=r+1|0}while((0|r)<(0|n));n=16+(r=e+416|0)|0;do{t[r>>0]=128,r=r+1|0}while((0|r)<(0|n));n=16+(r=e+448|0)|0;do{t[r>>0]=128,r=r+1|0}while((0|r)<(0|n));n=16+(r=e+480|0)|0;do{t[r>>0]=128,r=r+1|0}while((0|r)<(0|n))},function(e){var r;Dn(0|(e|=0),0|(r=(8+(0|a[e+-32>>0])+(0|a[e+-1>>0])+(0|a[e+-31>>0])+(0|a[e+31>>0])+(0|a[e+-30>>0])+(0|a[e+63>>0])+(0|a[e+-29>>0])+(0|a[e+95>>0])+(0|a[e+-28>>0])+(0|a[e+127>>0])+(0|a[e+-27>>0])+(0|a[e+159>>0])+(0|a[e+-26>>0])+(0|a[e+191>>0])+(0|a[e+-25>>0])+(0|a[e+223>>0])|0)>>>4&255),8),Dn(e+32|0,0|r,8),Dn(e+64|0,0|r,8),Dn(e+96|0,0|r,8),Dn(e+128|0,0|r,8),Dn(e+160|0,0|r,8),Dn(e+192|0,0|r,8),Dn(e+224|0,0|r,8)},function(e){var r,n,i,f,A,u,s,l,c,d=0,h=0,v=0,b=0,g=0,w=0,m=0,k=0,p=0;r=(e|=0)-32|0,d=(n=(0|o[2026])+(0-(0|a[e+-33>>0]))|0)+(0|a[e+-1>>0])|0,h=0|a[r>>0],t[e>>0]=0|t[d+h>>0],v=0|a[(i=e+-31|0)>>0],t[e+1>>0]=0|t[d+v>>0],b=0|a[(f=e+-30|0)>>0],t[e+2>>0]=0|t[d+b>>0],g=0|a[(A=e+-29|0)>>0],t[e+3>>0]=0|t[d+g>>0],w=0|a[(u=e+-28|0)>>0],t[e+4>>0]=0|t[d+w>>0],m=0|a[(s=e+-27|0)>>0],t[e+5>>0]=0|t[d+m>>0],k=0|a[(l=e+-26|0)>>0],t[e+6>>0]=0|t[d+k>>0],p=0|a[(c=e+-25|0)>>0],t[e+7>>0]=0|t[d+p>>0],d=n+(0|a[e+31>>0])|0,t[e+32>>0]=0|t[d+h>>0],t[e+33>>0]=0|t[d+v>>0],t[e+34>>0]=0|t[d+b>>0],t[e+35>>0]=0|t[d+g>>0],t[e+36>>0]=0|t[d+w>>0],t[e+37>>0]=0|t[d+m>>0],t[e+38>>0]=0|t[d+k>>0],t[e+39>>0]=0|t[d+p>>0],d=n+(0|a[e+63>>0])|0,t[e+64>>0]=0|t[d+h>>0],t[e+65>>0]=0|t[d+v>>0],t[e+66>>0]=0|t[d+b>>0],t[e+67>>0]=0|t[d+g>>0],t[e+68>>0]=0|t[d+w>>0],t[e+69>>0]=0|t[d+m>>0],t[e+70>>0]=0|t[d+k>>0],t[e+71>>0]=0|t[d+p>>0],p=n+(0|a[e+95>>0])|0,d=0|a[r>>0],t[e+96>>0]=0|t[p+d>>0],k=0|a[i>>0],t[e+97>>0]=0|t[p+k>>0],m=0|a[f>>0],t[e+98>>0]=0|t[p+m>>0],w=0|a[A>>0],t[e+99>>0]=0|t[p+w>>0],g=0|a[u>>0],t[e+100>>0]=0|t[p+g>>0],b=0|a[s>>0],t[e+101>>0]=0|t[p+b>>0],v=0|a[l>>0],t[e+102>>0]=0|t[p+v>>0],h=0|a[c>>0],t[e+103>>0]=0|t[p+h>>0],p=n+(0|a[e+127>>0])|0,t[e+128>>0]=0|t[p+d>>0],t[e+129>>0]=0|t[p+k>>0],t[e+130>>0]=0|t[p+m>>0],t[e+131>>0]=0|t[p+w>>0],t[e+132>>0]=0|t[p+g>>0],t[e+133>>0]=0|t[p+b>>0],t[e+134>>0]=0|t[p+v>>0],t[e+135>>0]=0|t[p+h>>0],h=n+(0|a[e+159>>0])|0,t[e+160>>0]=0|t[h+d>>0],t[e+161>>0]=0|t[h+k>>0],t[e+162>>0]=0|t[h+(0|a[f>>0])>>0],t[e+163>>0]=0|t[h+(0|a[A>>0])>>0],t[e+164>>0]=0|t[h+(0|a[u>>0])>>0],t[e+165>>0]=0|t[h+(0|a[s>>0])>>0],t[e+166>>0]=0|t[h+(0|a[l>>0])>>0],t[e+167>>0]=0|t[h+(0|a[c>>0])>>0],h=n+(0|a[e+191>>0])|0,t[e+192>>0]=0|t[h+(0|a[r>>0])>>0],t[e+193>>0]=0|t[h+(0|a[i>>0])>>0],t[e+194>>0]=0|t[h+(0|a[f>>0])>>0],t[e+195>>0]=0|t[h+(0|a[A>>0])>>0],t[e+196>>0]=0|t[h+(0|a[u>>0])>>0],t[e+197>>0]=0|t[h+(0|a[s>>0])>>0],t[e+198>>0]=0|t[h+(0|a[l>>0])>>0],t[e+199>>0]=0|t[h+(0|a[c>>0])>>0],h=n+(0|a[e+223>>0])|0,t[e+224>>0]=0|t[h+(0|a[r>>0])>>0],t[e+225>>0]=0|t[h+(0|a[i>>0])>>0],t[e+226>>0]=0|t[h+(0|a[f>>0])>>0],t[e+227>>0]=0|t[h+(0|a[A>>0])>>0],t[e+228>>0]=0|t[h+(0|a[u>>0])>>0],t[e+229>>0]=0|t[h+(0|a[s>>0])>>0],t[e+230>>0]=0|t[h+(0|a[l>>0])>>0],t[e+231>>0]=0|t[h+(0|a[c>>0])>>0]},function(e){var r=0,n=0,i=0,o=0;i=a[(n=r=(e|=0)-32|0)>>0]|a[n+1>>0]<<8|a[n+2>>0]<<16|a[n+3>>0]<<24,r=a[(n=r+4|0)>>0]|a[n+1>>0]<<8|a[n+2>>0]<<16|a[n+3>>0]<<24,t[(o=n=e)>>0]=i,t[o+1>>0]=i>>8,t[o+2>>0]=i>>16,t[o+3>>0]=i>>24,t[(o=n+4|0)>>0]=r,t[o+1>>0]=r>>8,t[o+2>>0]=r>>16,t[o+3>>0]=r>>24,t[(n=o=e+32|0)>>0]=i,t[n+1>>0]=i>>8,t[n+2>>0]=i>>16,t[n+3>>0]=i>>24,t[(n=o+4|0)>>0]=r,t[n+1>>0]=r>>8,t[n+2>>0]=r>>16,t[n+3>>0]=r>>24,t[(o=n=e+64|0)>>0]=i,t[o+1>>0]=i>>8,t[o+2>>0]=i>>16,t[o+3>>0]=i>>24,t[(o=n+4|0)>>0]=r,t[o+1>>0]=r>>8,t[o+2>>0]=r>>16,t[o+3>>0]=r>>24,t[(n=o=e+96|0)>>0]=i,t[n+1>>0]=i>>8,t[n+2>>0]=i>>16,t[n+3>>0]=i>>24,t[(n=o+4|0)>>0]=r,t[n+1>>0]=r>>8,t[n+2>>0]=r>>16,t[n+3>>0]=r>>24,t[(o=n=e+128|0)>>0]=i,t[o+1>>0]=i>>8,t[o+2>>0]=i>>16,t[o+3>>0]=i>>24,t[(o=n+4|0)>>0]=r,t[o+1>>0]=r>>8,t[o+2>>0]=r>>16,t[o+3>>0]=r>>24,t[(n=o=e+160|0)>>0]=i,t[n+1>>0]=i>>8,t[n+2>>0]=i>>16,t[n+3>>0]=i>>24,t[(n=o+4|0)>>0]=r,t[n+1>>0]=r>>8,t[n+2>>0]=r>>16,t[n+3>>0]=r>>24,t[(o=n=e+192|0)>>0]=i,t[o+1>>0]=i>>8,t[o+2>>0]=i>>16,t[o+3>>0]=i>>24,t[(o=n+4|0)>>0]=r,t[o+1>>0]=r>>8,t[o+2>>0]=r>>16,t[o+3>>0]=r>>24,t[(e=o=e+224|0)>>0]=i,t[e+1>>0]=i>>8,t[e+2>>0]=i>>16,t[e+3>>0]=i>>24,t[(i=o+4|0)>>0]=r,t[i+1>>0]=r>>8,t[i+2>>0]=r>>16,t[i+3>>0]=r>>24},function(e){Dn(0|(e|=0),0|t[e+-1>>0],8),Dn(e+32|0,0|t[e+31>>0],8),Dn(e+64|0,0|t[e+63>>0],8),Dn(e+96|0,0|t[e+95>>0],8),Dn(e+128|0,0|t[e+127>>0],8),Dn(e+160|0,0|t[e+159>>0],8),Dn(e+192|0,0|t[e+191>>0],8),Dn(e+224|0,0|t[e+223>>0],8)},function(e){var r;Dn(0|(e|=0),0|(r=(4+(0|a[e+-1>>0])+(0|a[e+31>>0])+(0|a[e+63>>0])+(0|a[e+95>>0])+(0|a[e+127>>0])+(0|a[e+159>>0])+(0|a[e+191>>0])+(0|a[e+223>>0])|0)>>>3&255),8),Dn(e+32|0,0|r,8),Dn(e+64|0,0|r,8),Dn(e+96|0,0|r,8),Dn(e+128|0,0|r,8),Dn(e+160|0,0|r,8),Dn(e+192|0,0|r,8),Dn(e+224|0,0|r,8)},function(e){var r;Dn(0|(e|=0),0|(r=(4+(0|a[e+-32>>0])+(0|a[e+-31>>0])+(0|a[e+-30>>0])+(0|a[e+-29>>0])+(0|a[e+-28>>0])+(0|a[e+-27>>0])+(0|a[e+-26>>0])+(0|a[e+-25>>0])|0)>>>3&255),8),Dn(e+32|0,0|r,8),Dn(e+64|0,0|r,8),Dn(e+96|0,0|r,8),Dn(e+128|0,0|r,8),Dn(e+160|0,0|r,8),Dn(e+192|0,0|r,8),Dn(e+224|0,0|r,8)},function(e){var r=0,n=0;t[(n=r=e|=0)>>0]=-2139062144,t[n+1>>0]=-8355712,t[n+2>>0]=-32640,t[n+3>>0]=-128,t[(n=r+4|0)>>0]=-2139062144,t[n+1>>0]=-8355712,t[n+2>>0]=-32640,t[n+3>>0]=-128,t[(r=n=e+32|0)>>0]=-2139062144,t[r+1>>0]=-8355712,t[r+2>>0]=-32640,t[r+3>>0]=-128,t[(r=n+4|0)>>0]=-2139062144,t[r+1>>0]=-8355712,t[r+2>>0]=-32640,t[r+3>>0]=-128,t[(n=r=e+64|0)>>0]=-2139062144,t[n+1>>0]=-8355712,t[n+2>>0]=-32640,t[n+3>>0]=-128,t[(n=r+4|0)>>0]=-2139062144,t[n+1>>0]=-8355712,t[n+2>>0]=-32640,t[n+3>>0]=-128,t[(r=n=e+96|0)>>0]=-2139062144,t[r+1>>0]=-8355712,t[r+2>>0]=-32640,t[r+3>>0]=-128,t[(r=n+4|0)>>0]=-2139062144,t[r+1>>0]=-8355712,t[r+2>>0]=-32640,t[r+3>>0]=-128,t[(n=r=e+128|0)>>0]=-2139062144,t[n+1>>0]=-8355712,t[n+2>>0]=-32640,t[n+3>>0]=-128,t[(n=r+4|0)>>0]=-2139062144,t[n+1>>0]=-8355712,t[n+2>>0]=-32640,t[n+3>>0]=-128,t[(r=n=e+160|0)>>0]=-2139062144,t[r+1>>0]=-8355712,t[r+2>>0]=-32640,t[r+3>>0]=-128,t[(r=n+4|0)>>0]=-2139062144,t[r+1>>0]=-8355712,t[r+2>>0]=-32640,t[r+3>>0]=-128,t[(n=r=e+192|0)>>0]=-2139062144,t[n+1>>0]=-8355712,t[n+2>>0]=-32640,t[n+3>>0]=-128,t[(n=r+4|0)>>0]=-2139062144,t[n+1>>0]=-8355712,t[n+2>>0]=-32640,t[n+3>>0]=-128,t[(e=n=e+224|0)>>0]=-2139062144,t[e+1>>0]=-8355712,t[e+2>>0]=-32640,t[e+3>>0]=-128,t[(e=n+4|0)>>0]=-2139062144,t[e+1>>0]=-8355712,t[e+2>>0]=-32640,t[e+3>>0]=-128},Bn,Bn],Un=[Mn,function(e,r){var n,t,i,a,f,A=0,u=0,s=0,c=0,d=0,h=0,v=0,b=0,g=0,w=0,m=0,k=0,p=0,C=0,y=0,I=0,E=0,D=0,L=0,x=0;if(t=100+(e|=0)|0,(0|(u=(r|=0)-(A=0|o[(n=e+108|0)>>2])|0))<=0)return o[(e+116|0)>>2]=r,void(o[n>>2]=r);for(s=0|o[t>>2],i=e+8|0,a=e+20|0,f=e+176|0,c=u,u=(0|o[e+16>>2])+((0|l(s,A))<<2)|0,d=A,h=A,A=s;;){if(s=(0|c)<16?c:16,v=0|o[i>>2],b=0|o[v+40>>2],g=0|o[v>>2],v=0|l(g,s),w=(0|o[b+136>>2])+(0|l(g,d))|0,m=0|o[a>>2],p=h+s|0,(0|(k=0|o[f>>2]))>0){if(oe(e+180+(20*(C=k+-1|0)|0)|0,h,p,u,m),1!=(0|k)){k=C;do{C=k,oe(e+180+(20*(k=k+-1|0)|0)|0,h,p,m,m)}while((0|C)>1)}}else(0|m)!=(0|u)&&In(0|m,0|u,0|l(s<<2,A));if(me(m,w,v),p=s+d|0,0|(C=0|o[(k=b+12|0)>>2])){if(I=0|o[(y=b+140|0)>>2],(0|c)>0){if(E=0|l(g,s+-1|0),Yn[31&o[9472+(C<<2)>>2]](I,w,w,g),(0|(C=d+1|0))!=(0|p)){D=w,L=C;do{C=D,D=D+g|0,Yn[31&o[9472+(o[k>>2]<<2)>>2]](C,D,D,g),L=L+1|0}while((0|L)!=(0|p))}x=w+E|0}else x=I;o[y>>2]=x}if(L=c-s|0,g=0|o[t>>2],(0|L)<=0)break;c=L,u=D=u+((0|l(g,s))<<2)|0,d=p,h=0|o[n>>2],A=g}o[(e+116|0)>>2]=r,o[n>>2]=r},function(e,r){var n,t,i,a=0,f=0,A=0,u=0,s=0,c=0,d=0,h=0,v=0,b=0,g=0,w=0,m=0,k=0,p=0,C=0,y=0,I=0,E=0,D=0,L=0,x=0,S=0,_=0,B=0;if((0|(f=(r|=0)-(a=0|o[(n=108+(e|=0)|0)>>2])|0))<=0)o[n>>2]=r;else{if(A=0|o[e+100>>2],u=(0|o[e+16>>2])+((0|l(A,a))<<2)|0,t=0|o[e+8>>2],s=0|o[e+20>>2],i=o[t>>2]<<2,d=s,(0|(c=0|o[e+176>>2]))>0){if(oe(e+180+(20*(h=c+-1|0)|0)|0,a,r,u,d),1!=(0|c)){c=h;do{h=c,oe(e+180+(20*(c=c+-1|0)|0)|0,a,r,d,d)}while((0|h)>1)}}else(0|u)!=(0|d)&&In(0|s,0|u,0|l(f<<2,A));if(A=0|o[n>>2],(0|(u=(0|(f=0|o[t+88>>2]))<(0|r)?f:r))<=(0|(a=(d=(0|(f=0|o[t+84>>2]))>(0|A))?f:A)))o[n>>2]=r;else{if(c=s+(0|l(f-A|0,i))|0,h=(d?c:s)+((A=0|o[t+76>>2])<<2)|0,o[t+8>>2]=a-f,f=(0|o[t+80>>2])-A|0,o[t+12>>2]=f,A=u-a|0,o[t+16>>2]=A,u=0|o[(a=e+12|0)>>2],(s=0|o[u>>2])>>>0<=10){if(c=e+116|0,d=0|o[u+20>>2],v=(0|o[u+16>>2])+(0|l(d,0|o[c>>2]))|0,b=(0|A)>0,0|o[t+92>>2])if(b)for(b=e+268|0,m=0,w=0;;){g=h+(0|l(w,i))|0,p=v+(0|l(m,d))|0,C=A-w|0,y=0|ae(0|o[b>>2],C),fe(g,i,0|o[44+(0|o[b>>2])>>2],y,0),w=(0|Ae(0|o[b>>2],C,g,i))+w|0,g=0|o[b>>2],C=0|o[g+68>>2],y=0|o[g+52>>2],I=g+24|0,E=g+56|0,D=g+64|0;e:do{if((0|o[D>>2])<(0|o[E>>2]))for(L=0;;){if((0|o[I>>2])>0){x=L;break e}if(S=p+(0|l(L,d))|0,ue(g),de(C,y,1),se(C,y,s,S),S=L+1|0,!((0|o[D>>2])<(0|o[E>>2]))){x=S;break}L=S}else x=0}while(0);if(E=x+m|0,(0|w)>=(0|A)){k=E;break}m=E}else k=0;else if(b)for(g=A,w=h,m=v;;){if(se(w,f,s,m),!((0|g)>1)){k=A;break}g=g+-1|0,w=w+i|0,m=m+d|0}else k=A;return o[c>>2]=(0|o[c>>2])+k,void(o[n>>2]=r)}c=0|o[(k=e+116|0)>>2],m=(0|A)>0;e:do{if(0|o[t+92>>2])if(m)for(d=e+268|0,s=0,x=c,w=h;;){b=A-s|0,v=0|ae(0|o[d>>2],b),fe(w,i,0|o[44+(0|o[d>>2])>>2],v,0),s=(0|Ae(0|o[d>>2],b,w,i))+s|0,w=w+(0|l(v,i))|0,v=0|o[d>>2],b=0|o[v+68>>2],E=0|o[v+52>>2],D=v+24|0,y=v+56|0,C=v+64|0;r:do{if((0|o[C>>2])<(0|o[y>>2]))for(g=b+3|0,p=x,I=0;;){if((0|o[D>>2])>0){B=I;break r}if(ue(v),de(b,E,1),L=0|o[a>>2],Mr(b,(0|o[L+16>>2])+(0|l(0|o[L+32>>2],p))|0,E),S=p>>1,Fr(b,(0|o[L+20>>2])+(0|l(0|o[L+36>>2],S))|0,(0|o[L+24>>2])+(0|l(0|o[L+40>>2],S))|0,E,1&p^1),0|(S=0|o[L+28>>2])&&we(g,0,E,1,S+(0|l(0|o[L+44>>2],p))|0,0),L=I+1|0,!((0|o[C>>2])<(0|o[y>>2]))){B=L;break}p=p+1|0,I=L}else B=0}while(0);if(y=B+x|0,(0|s)>=(0|A)){_=y;break}x=y}else _=c;else if(m)for(w=A,x=h,s=c,d=u;;){if(Mr(x,(0|o[d+16>>2])+(0|l(0|o[d+32>>2],s))|0,f),b=s>>1,Fr(x,v=(0|o[d+20>>2])+(0|l(0|o[d+36>>2],b))|0,(0|o[d+24>>2])+(0|l(0|o[d+40>>2],b))|0,f,1&s^1),0|(b=0|o[d+28>>2])&&we(x+3|0,0,f,1,b+(0|l(0|o[d+44>>2],s))|0,0),b=s+1|0,(0|w)<=1){_=b;break e}w=w+-1|0,x=x+i|0,s=b,d=0|o[a>>2]}else _=c}while(0);o[k>>2]=_,o[n>>2]=r}}},Mn],Yn=[Fn,function(e,r,n,i){r|=0,n|=0,i|=0;var o=0;if(o=(e|=0)?0|t[e>>0]:0,!((0|i)<=0)){e=o,o=0;do{e=(0|a[r+o>>0])+(255&e)&255,t[n+o>>0]=e,o=o+1|0}while((0|o)!=(0|i))}},function(e,r,n,i){r|=0,n|=0;var o=0,f=0,A=0;if(o=(0|(i|=0))>0,e|=0){if(!o)return;o=0;do{t[n+o>>0]=(0|a[r+o>>0])+(0|a[e+o>>0]),o=o+1|0}while((0|o)!=(0|i))}else if(o){f=0,A=0;do{f=(255&f)+(0|a[r+A>>0])|0,t[n+A>>0]=f,A=A+1|0}while((0|A)!=(0|i))}},function(e,r,n,i){r|=0,n|=0,i|=0;var o=0,f=0,A=0,u=0,s=0;if(e|=0){if(f=0|t[e>>0],!((0|i)<=0)&&(A=((o=(255&f)-(255&f)+(255&f)|0)>>>0<256?o:255+(o>>>31)|0)+(0|a[r>>0])|0,t[n>>0]=A,1!=(0|i))){o=1,u=A,A=f;do{u=((s=(255&u)-(255&(f=A))+(255&(A=0|t[e+o>>0]))|0)>>>0<256?s:255+(s>>>31)|0)+(0|a[r+o>>0])|0,t[n+o>>0]=u,o=o+1|0}while((0|o)!=(0|i))}}else{if((0|i)<=0)return;o=0,f=0;do{o=(255&o)+(0|a[r+f>>0])|0,t[n+f>>0]=o,f=f+1|0}while((0|f)!=(0|i))}},function(e,r,n,t){e|=0,r|=0,t|=0;var i=0;if(!((0|(n|=0))<=0)){r=0;do{i=0|o[e+(r<<2)>>2],o[t+(r<<2)>>2]=i+-16777216&-16711936|16711935&i,r=r+1|0}while((0|r)!=(0|n))}},function(e,r,n,t){e|=0,r|=0,t|=0;var i=0,a=0;if(!((0|(n|=0))<=0)){r=0,i=0|o[t+-4>>2];do{i=(-16711936&(a=0|o[e+(r<<2)>>2]))+(-16711936&i)&-16711936|(16711935&a)+(16711935&i)&16711935,o[t+(r<<2)>>2]=i,r=r+1|0}while((0|r)!=(0|n))}},function(e,r,n,t){e|=0,r|=0,t|=0;var i=0,a=0,f=0;if(!((0|(n|=0))<=0)){i=0;do{a=0|o[r+(i<<2)>>2],f=0|o[e+(i<<2)>>2],o[t+(i<<2)>>2]=(-16711936&f)+(-16711936&a)&-16711936|(16711935&f)+(16711935&a)&16711935,i=i+1|0}while((0|i)!=(0|n))}},function(e,r,n,t){e|=0,r|=0,t|=0;var i=0,a=0,f=0;if(!((0|(n|=0))<=0)){i=0;do{a=0|o[r+(i<<2)+4>>2],f=0|o[e+(i<<2)>>2],o[t+(i<<2)>>2]=(-16711936&f)+(-16711936&a)&-16711936|(16711935&f)+(16711935&a)&16711935,i=i+1|0}while((0|i)!=(0|n))}},function(e,r,n,t){e|=0,r|=0,t|=0;var i=0,a=0,f=0;if(!((0|(n|=0))<=0)){i=0;do{a=0|o[r+(i<<2)+-4>>2],f=0|o[e+(i<<2)>>2],o[t+(i<<2)>>2]=(-16711936&f)+(-16711936&a)&-16711936|(16711935&f)+(16711935&a)&16711935,i=i+1|0}while((0|i)!=(0|n))}},function(e,r,n,t){e|=0,r|=0,t|=0;var i=0,a=0,f=0,A=0,u=0,s=0;if(!((0|(n|=0))<=0)){i=0,a=0|o[t+-4>>2];do{A=0|o[(f=r+(i<<2)|0)>>2],a=(-16711936&(f=((u=(s=((f=(u=0|o[f+4>>2])^a)>>>1&2139062143)+(u&a)|0)^A)>>>1&2139062143)+(s&A)|0))+(-16711936&(A=0|o[e+(i<<2)>>2]))&-16711936|(16711935&f)+(16711935&A)&16711935,o[t+(i<<2)>>2]=a,i=i+1|0}while((0|i)!=(0|n))}},function(e,r,n,t){e|=0,r|=0,t|=0;var i=0,a=0,f=0,A=0;if(!((0|(n|=0))<=0)){i=0,a=0|o[t+-4>>2];do{a=(-16711936&(A=(((f=0|o[r+(i<<2)+-4>>2])^a)>>>1&2139062143)+(f&a)|0))+(-16711936&(f=0|o[e+(i<<2)>>2]))&-16711936|(16711935&A)+(16711935&f)&16711935,o[t+(i<<2)>>2]=a,i=i+1|0}while((0|i)!=(0|n))}},function(e,r,n,t){e|=0,r|=0,t|=0;var i=0,a=0,f=0,A=0;if(!((0|(n|=0))<=0)){i=0,a=0|o[t+-4>>2];do{a=(-16711936&(A=(((f=0|o[r+(i<<2)>>2])^a)>>>1&2139062143)+(f&a)|0))+(-16711936&(f=0|o[e+(i<<2)>>2]))&-16711936|(16711935&A)+(16711935&f)&16711935,o[t+(i<<2)>>2]=a,i=i+1|0}while((0|i)!=(0|n))}},function(e,r,n,t){e|=0,r|=0,t|=0;var i=0,a=0,f=0,A=0,u=0;if(!((0|(n|=0))<=0)){i=0;do{f=0|o[(a=r+(i<<2)|0)-4>>2],u=((a=(A=0|o[a>>2])^f)>>>1&2139062143)+(A&f)|0,f=0|o[e+(i<<2)>>2],o[t+(i<<2)>>2]=(-16711936&u)+(-16711936&f)&-16711936|(16711935&u)+(16711935&f)&16711935,i=i+1|0}while((0|i)!=(0|n))}},function(e,r,n,t){e|=0,r|=0,t|=0;var i=0,a=0,f=0,A=0,u=0;if(!((0|(n|=0))<=0)){i=0;do{f=0|o[(a=r+(i<<2)|0)>>2],u=((a=(A=0|o[a+4>>2])^f)>>>1&2139062143)+(A&f)|0,f=0|o[e+(i<<2)>>2],o[t+(i<<2)>>2]=(-16711936&u)+(-16711936&f)&-16711936|(16711935&u)+(16711935&f)&16711935,i=i+1|0}while((0|i)!=(0|n))}},function(e,r,n,t){e|=0,r|=0,t|=0;var i=0,a=0,f=0,A=0,u=0,s=0,l=0;if(!((0|(n|=0))<=0)){i=0,a=0|o[t+-4>>2];do{A=0|o[(f=r+(i<<2)|0)-4>>2],u=0|o[f>>2],s=0|o[f+4>>2],l=((f=A^a)>>>1&2139062143)+(A&a)|0,a=(-16711936&(s=((u=(f=((A=s^u)>>>1&2139062143)+(s&u)|0)^l)>>>1&2139062143)+(f&l)|0))+(-16711936&(l=0|o[e+(i<<2)>>2]))&-16711936|(16711935&s)+(16711935&l)&16711935,o[t+(i<<2)>>2]=a,i=i+1|0}while((0|i)!=(0|n))}},function(e,r,n,t){e|=0,r|=0,t|=0;var i=0,a=0,f=0,A=0,u=0,s=0,l=0,c=0,d=0,h=0,v=0,b=0;if(!((0|(n|=0))<=0)){i=0,a=0|o[t+-4>>2];do{A=0|o[(f=r+(i<<2)|0)>>2],s=(a>>>24)-(f=(u=0|o[f+-4>>2])>>>24)|0,l=(A>>>24)-f|0,c=(a>>>16&255)-(f=u>>>16&255)|0,d=(A>>>16&255)-f|0,h=(a>>>8&255)-(f=u>>>8&255)|0,v=(A>>>8&255)-f|0,a=(-16711936&(f=(((0|(u=(255&a)-(f=255&u)|0))>-1?u:0-u|0)-((0|(b=(255&A)-f|0))>-1?b:0-b|0)-((0|l)>-1?l:0-l|0)+((0|s)>-1?s:0-s|0)-((0|v)>-1?v:0-v|0)+((0|h)>-1?h:0-h|0)-((0|d)>-1?d:0-d|0)+((0|c)>-1?c:0-c|0)|0)<1?A:a))+(-16711936&(A=0|o[e+(i<<2)>>2]))&-16711936|(16711935&f)+(16711935&A)&16711935,o[t+(i<<2)>>2]=a,i=i+1|0}while((0|i)!=(0|n))}},function(e,r,n,t){e|=0,r|=0,t|=0;var i=0,a=0,f=0,A=0,u=0,s=0,l=0,c=0;if(!((0|(n|=0))<=0)){i=0,a=0|o[t+-4>>2];do{a=(-16711936&(u=((f=((A=0|o[(f=r+(i<<2)|0)>>2])>>>24)+(a>>>24)-((u=0|o[f+-4>>2])>>>24)|0)>>>0<256?f:f>>>24^255)<<24|((c=(255&A)+(255&a)-(255&u)|0)>>>0<256?c:c>>>24^255)|((s=(A>>>16&255)+(a>>>16&255)-(u>>>16&255)|0)>>>0<256?s:s>>>24^255)<<16|((l=(A>>>8&255)+(a>>>8&255)-(u>>>8&255)|0)>>>0<256?l:l>>>24^255)<<8))+(-16711936&(l=0|o[e+(i<<2)>>2]))&-16711936|(16711935&u)+(16711935&l)&16711935,o[t+(i<<2)>>2]=a,i=i+1|0}while((0|i)!=(0|n))}},function(e,r,n,t){e|=0,r|=0,t|=0;var i=0,a=0,f=0,A=0,u=0,s=0,l=0,c=0;if(!((0|(n|=0))<=0)){i=0,a=0|o[t+-4>>2];do{A=0|o[(f=r+(i<<2)|0)>>2],u=0|o[f+-4>>2],f=(((A=(s=((f=A^a)>>>1&2139062143)+(A&a)|0)>>>24)-(u>>>24)|0)/2|0)+A|0,l=(((A=s>>>16&255)-(u>>>16&255)|0)/2|0)+A|0,c=(((A=s>>>8&255)-(u>>>8&255)|0)/2|0)+A|0,a=(-16711936&(A=(f>>>0<256?f:f>>>24^255)<<24|((s=(((A=255&s)-(255&u)|0)/2|0)+A|0)>>>0<256?s:s>>>24^255)|(l>>>0<256?l:l>>>24^255)<<16|(c>>>0<256?c:c>>>24^255)<<8))+(-16711936&(c=0|o[e+(i<<2)>>2]))&-16711936|(16711935&A)+(16711935&c)&16711935,o[t+(i<<2)>>2]=a,i=i+1|0}while((0|i)!=(0|n))}},Fn,Fn,Fn,Fn,Fn,Fn,Fn,Fn,Fn,Fn,Fn,Fn,Fn,Fn],zn=[Pn,function(e,r,n,i,o){e|=0,r|=0,n|=0,i|=0;var f,A=0,u=0,s=0,l=0,c=0;if(t[(o|=0)>>0]=0|t[e>>0],A=e+1|0,u=o+1|0,f=r+-1|0,s=(0|r)>1){r=0;do{t[u+r>>0]=(0|a[A+r>>0])-(0|a[e+r>>0]),r=r+1|0}while((0|r)!=(0|f))}if(r=e+i|0,A=o+i|0,!((0|n)<=1))if(s)for(l=1,u=r,r=A,A=e;;){t[r>>0]=(0|a[u>>0])-(0|a[A>>0]),e=u+1|0,o=r+1|0,s=0;do{t[o+s>>0]=(0|a[e+s>>0])-(0|a[u+s>>0]),s=s+1|0}while((0|s)!=(0|f));if((0|(l=l+1|0))==(0|n))break;s=u,u=u+i|0,r=r+i|0,A=s}else for(s=1,o=r,u=A,l=e;t[u>>0]=(0|a[o>>0])-(0|a[l>>0]),(0|(s=s+1|0))!=(0|n);)c=o,o=o+i|0,u=u+i|0,l=c},function(e,r,n,i,o){e|=0,r|=0,n|=0,i|=0;var f,A=0,u=0,s=0;if(t[(o|=0)>>0]=0|t[e>>0],A=e+1|0,f=o+1|0,u=r+-1|0,(0|r)>1){s=0;do{t[f+s>>0]=(0|a[A+s>>0])-(0|a[e+s>>0]),s=s+1|0}while((0|s)!=(0|u))}if((0|r)>0&(0|n)>1){u=1,s=o,o=e;do{e=o,o=o+i|0,s=s+i|0,A=0;do{t[s+A>>0]=(0|a[o+A>>0])-(0|a[e+A>>0]),A=A+1|0}while((0|A)!=(0|r));u=u+1|0}while((0|u)!=(0|n))}},function(e,r,n,i,o){e|=0,r|=0,n|=0,i|=0;var f=0,A=0,u=0,s=0,l=0,c=0,d=0;if(t[(o|=0)>>0]=0|t[e>>0],f=e+1|0,A=o+1|0,u=r+-1|0,s=(0|r)>1){l=0;do{t[A+l>>0]=(0|a[f+l>>0])-(0|a[e+l>>0]),l=l+1|0}while((0|l)!=(0|u))}if(u=o+i|0,o=e+i|0,!((0|n)<=1))if(l=~i,s)for(c=1,A=u,u=o,o=e;;){t[A>>0]=(0|a[u>>0])-(0|a[o>>0]),e=1;do{f=(0|a[o+e>>0])+(0|a[u+(e+-1)>>0])-(0|a[u+(e+l)>>0])|0,t[A+e>>0]=(0|a[u+e>>0])-(f>>>0<256?f:255+(f>>>31)|0),e=e+1|0}while((0|e)!=(0|r));if((0|(c=c+1|0))==(0|n))break;e=u,A=A+i|0,u=u+i|0,o=e}else for(s=1,f=u,A=o,c=e;t[f>>0]=(0|a[A>>0])-(0|a[c>>0]),(0|(s=s+1|0))!=(0|n);)d=A,f=f+i|0,A=A+i|0,c=d},function(e,r,n,i,o){e|=0,r|=0,n|=0,i|=0;var f=0,A=0,u=0,s=0,l=0,c=0,d=0,h=0,v=0;if(!((0|(o|=0))<=0)){f=0;do{A=i+(f<<2)|0,u=0|a[r+f>>0],s=0|a[n+f>>0],d=(c=(l=(19077*(0|a[e+f>>0])|0)>>>8)-14234+((26149*s|0)>>>8)|0)>>>0<16384?c>>>6:255+(c>>31&-255)|0,t[A>>0]=d,h=(s=l+8708-((c=6419*u|0)>>>8)-((13320*s|0)>>>8)|0)>>>0<16384?s>>>6:255+(s>>31&-255)|0,t[A+1>>0]=h,v=(u=l+-17685+((s=33050*u|0)>>>8)|0)>>>0<16384?u>>>6:255+(u>>31&-255)|0,t[A+2>>0]=v,t[A+3>>0]=-1,f=f+1|0}while((0|f)!=(0|o))}},function(e,r,n,i,o){e|=0,r|=0,n|=0,i|=0;var f=0,A=0,u=0,s=0,l=0,c=0,d=0,h=0,v=0,b=0;if(!((0|(o|=0))<=0)){f=0;do{A=i+(f<<2)|0,u=0|a[r+f>>0],s=0|a[n+f>>0],h=(d=(c=(l=19077*(0|a[e+f>>0])|0)>>>8)-17685+((l=33050*u|0)>>>8)|0)>>>0<16384?d>>>6:255+(d>>31&-255)|0,t[A>>0]=h,v=(l=c+8708-((d=6419*u|0)>>>8)-((u=13320*s|0)>>>8)|0)>>>0<16384?l>>>6:255+(l>>31&-255)|0,t[A+1>>0]=v,b=(s=c+-14234+((l=26149*s|0)>>>8)|0)>>>0<16384?s>>>6:255+(s>>31&-255)|0,t[A+2>>0]=b,t[A+3>>0]=-1,f=f+1|0}while((0|f)!=(0|o))}},function(e,r,n,i,o){e|=0,r|=0,n|=0,i|=0;var f=0,A=0,u=0,s=0,l=0,c=0,d=0,h=0,v=0;if(!((0|(o|=0))<=0)){f=0;do{A=0|a[r+f>>0],u=0|a[n+f>>0],s=i+(3*f|0)|0,d=(c=(l=(19077*(0|a[e+f>>0])|0)>>>8)-14234+((26149*u|0)>>>8)|0)>>>0<16384?c>>>6:255+(c>>31&-255)|0,t[s>>0]=d,h=(u=l+8708-((c=6419*A|0)>>>8)-((13320*u|0)>>>8)|0)>>>0<16384?u>>>6:255+(u>>31&-255)|0,t[s+1>>0]=h,v=(A=l+-17685+((u=33050*A|0)>>>8)|0)>>>0<16384?A>>>6:255+(A>>31&-255)|0,t[s+2>>0]=v,f=f+1|0}while((0|f)!=(0|o))}},function(e,r,n,i,o){e|=0,r|=0,n|=0,i|=0;var f=0,A=0,u=0,s=0,l=0,c=0,d=0,h=0,v=0,b=0;if(!((0|(o|=0))<=0)){f=0;do{A=0|a[r+f>>0],u=0|a[n+f>>0],s=i+(3*f|0)|0,h=(d=(c=(l=19077*(0|a[e+f>>0])|0)>>>8)-17685+((l=33050*A|0)>>>8)|0)>>>0<16384?d>>>6:255+(d>>31&-255)|0,t[s>>0]=h,v=(l=c+8708-((d=6419*A|0)>>>8)-((A=13320*u|0)>>>8)|0)>>>0<16384?l>>>6:255+(l>>31&-255)|0,t[s+1>>0]=v,b=(u=c+-14234+((l=26149*u|0)>>>8)|0)>>>0<16384?u>>>6:255+(u>>31&-255)|0,t[s+2>>0]=b,f=f+1|0}while((0|f)!=(0|o))}},function(e,r,n,i,o){e|=0,r|=0,n|=0,i|=0;var a=0,f=0,A=0,u=0,s=0,l=0,c=0,d=0,h=0,v=0;if(!((0|(o|=0))<=0)){a=0;do{f=0|t[e+a>>0],A=0|t[r+a>>0],u=0|t[n+a>>0],t[(s=i+(a<<2)|0)>>0]=-1,l=255&A,A=255&u,d=(c=(f=(u=19077*(255&f)|0)>>>8)-14234+((u=26149*A|0)>>>8)|0)>>>0<16384?c>>>6:255+(c>>31&-255)|0,t[s+1>>0]=d,h=(A=f+8708-((c=6419*l|0)>>>8)-((u=13320*A|0)>>>8)|0)>>>0<16384?A>>>6:255+(A>>31&-255)|0,t[s+2>>0]=h,v=(l=f+-17685+((A=33050*l|0)>>>8)|0)>>>0<16384?l>>>6:255+(l>>31&-255)|0,t[s+3>>0]=v,a=a+1|0}while((0|a)!=(0|o))}},function(e,r,n,i,o){e|=0,r|=0,n|=0,i|=0;var f=0,A=0,u=0,s=0,l=0,c=0,d=0,h=0,v=0;if(!((0|(o|=0))<=0)){f=0;do{A=0|a[r+f>>0],u=0|a[n+f>>0],s=i+(f<<1)|0,d=(c=(l=(19077*(0|a[e+f>>0])|0)>>>8)-14234+((26149*u|0)>>>8)|0)>>>0<16384?c>>>6:255+(c>>31&-255)|0,h=(u=l+8708-((c=6419*A|0)>>>8)-((13320*u|0)>>>8)|0)>>>0<16384?u>>>6:255+(u>>31&-255)|0,v=(A=l+-17685+((u=33050*A|0)>>>8)|0)>>>0<16384?A>>>6:255+(A>>31&-255)|0,t[s>>0]=h>>>4|240&d,t[s+1>>0]=15|v,f=f+1|0}while((0|f)!=(0|o))}},function(e,r,n,i,o){e|=0,r|=0,n|=0,i|=0;var f=0,A=0,u=0,s=0,l=0,c=0,d=0,h=0,v=0;if(!((0|(o|=0))<=0)){f=0;do{A=0|a[r+f>>0],u=0|a[n+f>>0],s=i+(f<<1)|0,d=(c=(l=(19077*(0|a[e+f>>0])|0)>>>8)-14234+((26149*u|0)>>>8)|0)>>>0<16384?c>>>6:255+(c>>31&-255)|0,h=(u=l+8708-((c=6419*A|0)>>>8)-((13320*u|0)>>>8)|0)>>>0<16384?u>>>6:255+(u>>31&-255)|0,v=(A=l+-17685+((u=33050*A|0)>>>8)|0)>>>0<16384?A>>>6:255+(A>>31&-255)|0,t[s>>0]=h>>>5|248&d,t[s+1>>0]=v>>>3|h<<3&224,f=f+1|0}while((0|f)!=(0|o))}},function(e,r,n,i,o){e|=0,r|=0,n|=0;var f,A=0,u=0,s=0,l=0,c=0,d=0,h=0,v=0,b=0,g=0,w=0,m=0,k=0,p=0,C=0,y=0,I=0,E=0;if(f=(i|=0)+(3*(A=-2&(o|=0))|0)|0,A)for(A=r,r=i,i=n,n=e;;){if(e=0|a[A>>0],d=0|a[i>>0],g=(b=(v=(h=19077*(0|a[n>>0])|0)>>>8)-14234+((h=26149*d|0)>>>8)|0)>>>0<16384?b>>>6:255+(b>>31&-255)|0,t[r>>0]=g,w=(d=v+8708-((b=6419*e|0)>>>8)-((h=13320*d|0)>>>8)|0)>>>0<16384?d>>>6:255+(d>>31&-255)|0,t[r+1>>0]=w,m=(e=v+-17685+((d=33050*e|0)>>>8)|0)>>>0<16384?e>>>6:255+(e>>31&-255)|0,t[r+2>>0]=m,e=0|a[A>>0],d=0|a[i>>0],k=(b=(h=(v=19077*(0|a[n+1>>0])|0)>>>8)-14234+((v=26149*d|0)>>>8)|0)>>>0<16384?b>>>6:255+(b>>31&-255)|0,t[r+3>>0]=k,p=(d=h+8708-((b=6419*e|0)>>>8)-((v=13320*d|0)>>>8)|0)>>>0<16384?d>>>6:255+(d>>31&-255)|0,t[r+4>>0]=p,C=(e=h+-17685+((d=33050*e|0)>>>8)|0)>>>0<16384?e>>>6:255+(e>>31&-255)|0,t[r+5>>0]=C,e=n+2|0,d=A+1|0,h=i+1|0,(0|(r=r+6|0))==(0|f)){u=e,s=d,l=f,c=h;break}A=d,i=h,n=e}else u=e,s=r,l=i,c=n;1&o&&(o=0|a[s>>0],s=0|a[c>>0],y=(n=(u=(c=19077*(0|a[u>>0])|0)>>>8)-14234+((c=26149*s|0)>>>8)|0)>>>0<16384?n>>>6:255+(n>>31&-255)|0,t[l>>0]=y,I=(s=u+8708-((y=6419*o|0)>>>8)-((n=13320*s|0)>>>8)|0)>>>0<16384?s>>>6:255+(s>>31&-255)|0,t[l+1>>0]=I,E=(o=u+-17685+((I=33050*o|0)>>>8)|0)>>>0<16384?o>>>6:255+(o>>31&-255)|0,t[l+2>>0]=E)},function(e,r,n,i,o){e|=0,r|=0,n|=0;var f,A,u=0,s=0,l=0,c=0,d=0,h=0,v=0,b=0,g=0,w=0,m=0,k=0,p=0,C=0,y=0,I=0,E=0,D=0,L=0,x=0,S=0,_=0,B=0,M=0;if(A=(i|=0)+(f=(o|=0)<<2&-8)|0,f){for(h=2+((d=f+-8|0)>>>2)|0,d=r+(v=1+(d>>>3)|0)|0,b=r,r=i,g=n,w=e;m=0|a[b>>0],k=0|a[g>>0],I=(y=(C=(p=19077*(0|a[w>>0])|0)>>>8)-14234+((p=26149*k|0)>>>8)|0)>>>0<16384?y>>>6:255+(y>>31&-255)|0,t[r>>0]=I,E=(k=C+8708-((y=6419*m|0)>>>8)-((p=13320*k|0)>>>8)|0)>>>0<16384?k>>>6:255+(k>>31&-255)|0,t[r+1>>0]=E,D=(m=C+-17685+((k=33050*m|0)>>>8)|0)>>>0<16384?m>>>6:255+(m>>31&-255)|0,t[r+2>>0]=D,t[r+3>>0]=-1,m=0|a[b>>0],k=0|a[g>>0],L=(y=(p=(C=19077*(0|a[w+1>>0])|0)>>>8)-14234+((C=26149*k|0)>>>8)|0)>>>0<16384?y>>>6:255+(y>>31&-255)|0,t[r+4>>0]=L,x=(k=p+8708-((y=6419*m|0)>>>8)-((C=13320*k|0)>>>8)|0)>>>0<16384?k>>>6:255+(k>>31&-255)|0,t[r+5>>0]=x,S=(m=p+-17685+((k=33050*m|0)>>>8)|0)>>>0<16384?m>>>6:255+(m>>31&-255)|0,t[r+6>>0]=S,t[r+7>>0]=-1,(0|(r=r+8|0))!=(0|A);)b=b+1|0,g=g+1|0,w=w+2|0;u=e+h|0,s=d,l=i+f|0,c=n+v|0}else u=e,s=r,l=i,c=n;1&o&&(o=0|a[s>>0],s=0|a[c>>0],_=(v=(u=(c=19077*(0|a[u>>0])|0)>>>8)-14234+((c=26149*s|0)>>>8)|0)>>>0<16384?v>>>6:255+(v>>31&-255)|0,t[l>>0]=_,B=(s=u+8708-((_=6419*o|0)>>>8)-((v=13320*s|0)>>>8)|0)>>>0<16384?s>>>6:255+(s>>31&-255)|0,t[l+1>>0]=B,M=(o=u+-17685+((B=33050*o|0)>>>8)|0)>>>0<16384?o>>>6:255+(o>>31&-255)|0,t[l+2>>0]=M,t[l+3>>0]=-1)},function(e,r,n,i,o){e|=0,r|=0,n|=0;var f,A=0,u=0,s=0,l=0,c=0,d=0,h=0,v=0,b=0,g=0,w=0,m=0,k=0,p=0,C=0,y=0,I=0,E=0;if(f=(i|=0)+(3*(A=-2&(o|=0))|0)|0,A)for(A=r,r=i,i=n,n=e;;){if(e=0|a[A>>0],d=0|a[i>>0],g=(b=(v=(h=19077*(0|a[n>>0])|0)>>>8)-17685+((h=33050*e|0)>>>8)|0)>>>0<16384?b>>>6:255+(b>>31&-255)|0,t[r>>0]=g,w=(h=v+8708-((b=6419*e|0)>>>8)-((e=13320*d|0)>>>8)|0)>>>0<16384?h>>>6:255+(h>>31&-255)|0,t[r+1>>0]=w,m=(d=v+-14234+((h=26149*d|0)>>>8)|0)>>>0<16384?d>>>6:255+(d>>31&-255)|0,t[r+2>>0]=m,d=0|a[A>>0],h=0|a[i>>0],k=(b=(e=(v=19077*(0|a[n+1>>0])|0)>>>8)-17685+((v=33050*d|0)>>>8)|0)>>>0<16384?b>>>6:255+(b>>31&-255)|0,t[r+3>>0]=k,p=(v=e+8708-((b=6419*d|0)>>>8)-((d=13320*h|0)>>>8)|0)>>>0<16384?v>>>6:255+(v>>31&-255)|0,t[r+4>>0]=p,C=(h=e+-14234+((v=26149*h|0)>>>8)|0)>>>0<16384?h>>>6:255+(h>>31&-255)|0,t[r+5>>0]=C,h=n+2|0,v=A+1|0,e=i+1|0,(0|(r=r+6|0))==(0|f)){u=h,s=v,l=f,c=e;break}A=v,i=e,n=h}else u=e,s=r,l=i,c=n;1&o&&(o=0|a[s>>0],s=0|a[c>>0],y=(n=(u=(c=19077*(0|a[u>>0])|0)>>>8)-17685+((c=33050*o|0)>>>8)|0)>>>0<16384?n>>>6:255+(n>>31&-255)|0,t[l>>0]=y,I=(n=u+8708-((y=6419*o|0)>>>8)-((o=13320*s|0)>>>8)|0)>>>0<16384?n>>>6:255+(n>>31&-255)|0,t[l+1>>0]=I,E=(s=u+-14234+((I=26149*s|0)>>>8)|0)>>>0<16384?s>>>6:255+(s>>31&-255)|0,t[l+2>>0]=E)},function(e,r,n,i,o){e|=0,r|=0,n|=0;var f,A,u=0,s=0,l=0,c=0,d=0,h=0,v=0,b=0,g=0,w=0,m=0,k=0,p=0,C=0,y=0,I=0,E=0,D=0,L=0,x=0,S=0,_=0,B=0,M=0;if(A=(i|=0)+(f=(o|=0)<<2&-8)|0,f){for(h=2+((d=f+-8|0)>>>2)|0,d=r+(v=1+(d>>>3)|0)|0,b=r,r=i,g=n,w=e;m=0|a[b>>0],k=0|a[g>>0],I=(y=(C=(p=19077*(0|a[w>>0])|0)>>>8)-17685+((p=33050*m|0)>>>8)|0)>>>0<16384?y>>>6:255+(y>>31&-255)|0,t[r>>0]=I,E=(p=C+8708-((y=6419*m|0)>>>8)-((m=13320*k|0)>>>8)|0)>>>0<16384?p>>>6:255+(p>>31&-255)|0,t[r+1>>0]=E,D=(k=C+-14234+((p=26149*k|0)>>>8)|0)>>>0<16384?k>>>6:255+(k>>31&-255)|0,t[r+2>>0]=D,t[r+3>>0]=-1,k=0|a[b>>0],p=0|a[g>>0],L=(y=(m=(C=19077*(0|a[w+1>>0])|0)>>>8)-17685+((C=33050*k|0)>>>8)|0)>>>0<16384?y>>>6:255+(y>>31&-255)|0,t[r+4>>0]=L,x=(C=m+8708-((y=6419*k|0)>>>8)-((k=13320*p|0)>>>8)|0)>>>0<16384?C>>>6:255+(C>>31&-255)|0,t[r+5>>0]=x,S=(p=m+-14234+((C=26149*p|0)>>>8)|0)>>>0<16384?p>>>6:255+(p>>31&-255)|0,t[r+6>>0]=S,t[r+7>>0]=-1,(0|(r=r+8|0))!=(0|A);)b=b+1|0,g=g+1|0,w=w+2|0;u=e+h|0,s=d,l=i+f|0,c=n+v|0}else u=e,s=r,l=i,c=n;1&o&&(o=0|a[s>>0],s=0|a[c>>0],_=(v=(u=(c=19077*(0|a[u>>0])|0)>>>8)-17685+((c=33050*o|0)>>>8)|0)>>>0<16384?v>>>6:255+(v>>31&-255)|0,t[l>>0]=_,B=(v=u+8708-((_=6419*o|0)>>>8)-((o=13320*s|0)>>>8)|0)>>>0<16384?v>>>6:255+(v>>31&-255)|0,t[l+1>>0]=B,M=(s=u+-14234+((B=26149*s|0)>>>8)|0)>>>0<16384?s>>>6:255+(s>>31&-255)|0,t[l+2>>0]=M,t[l+3>>0]=-1)},function(e,r,n,i,o){e|=0,r|=0,n|=0;var a,f,A=0,u=0,s=0,l=0,c=0,d=0,h=0,v=0,b=0,g=0,w=0,m=0,k=0,p=0,C=0,y=0,I=0,E=0,D=0,L=0,x=0,S=0,_=0,B=0;if(f=(i|=0)+(a=(o|=0)<<2&-8)|0,a){for(d=2+((c=a+-8|0)>>>2)|0,c=r+(h=1+(c>>>3)|0)|0,v=r,r=i,b=n,g=e;w=0|t[g>>0],m=0|t[v>>0],k=0|t[b>>0],t[r>>0]=-1,p=255&m,m=255&k,y=(C=(w=(k=19077*(255&w)|0)>>>8)-14234+((k=26149*m|0)>>>8)|0)>>>0<16384?C>>>6:255+(C>>31&-255)|0,t[r+1>>0]=y,I=(m=w+8708-((C=6419*p|0)>>>8)-((k=13320*m|0)>>>8)|0)>>>0<16384?m>>>6:255+(m>>31&-255)|0,t[r+2>>0]=I,E=(p=w+-17685+((m=33050*p|0)>>>8)|0)>>>0<16384?p>>>6:255+(p>>31&-255)|0,t[r+3>>0]=E,p=0|t[g+1>>0],m=0|t[v>>0],w=0|t[b>>0],t[r+4>>0]=-1,k=255&m,m=255&w,D=(C=(p=(w=19077*(255&p)|0)>>>8)-14234+((w=26149*m|0)>>>8)|0)>>>0<16384?C>>>6:255+(C>>31&-255)|0,t[r+5>>0]=D,L=(m=p+8708-((C=6419*k|0)>>>8)-((w=13320*m|0)>>>8)|0)>>>0<16384?m>>>6:255+(m>>31&-255)|0,t[r+6>>0]=L,x=(k=p+-17685+((m=33050*k|0)>>>8)|0)>>>0<16384?k>>>6:255+(k>>31&-255)|0,t[r+7>>0]=x,(0|(r=r+8|0))!=(0|f);)v=v+1|0,b=b+1|0,g=g+2|0;A=e+d|0,u=c,s=i+a|0,l=n+h|0}else A=e,u=r,s=i,l=n;1&o&&(o=0|t[A>>0],A=0|t[u>>0],u=0|t[l>>0],t[s>>0]=-1,l=255&A,A=255&u,S=(h=(o=(u=19077*(255&o)|0)>>>8)-14234+((u=26149*A|0)>>>8)|0)>>>0<16384?h>>>6:255+(h>>31&-255)|0,t[s+1>>0]=S,_=(A=o+8708-((S=6419*l|0)>>>8)-((h=13320*A|0)>>>8)|0)>>>0<16384?A>>>6:255+(A>>31&-255)|0,t[s+2>>0]=_,B=(l=o+-17685+((_=33050*l|0)>>>8)|0)>>>0<16384?l>>>6:255+(l>>31&-255)|0,t[s+3>>0]=B)},function(e,r,n,i,o){e|=0,r|=0,n|=0;var f,A,u=0,s=0,l=0,c=0,d=0,h=0,v=0,b=0,g=0,w=0,m=0,k=0,p=0,C=0,y=0,I=0,E=0,D=0,L=0,x=0,S=0,_=0,B=0,M=0;if(A=(i|=0)+(f=(o|=0)<<1&-4)|0,f){for(h=2+((d=f+-4|0)>>>1)|0,d=r+(v=1+(d>>>2)|0)|0,b=r,r=i,g=n,w=e;m=0|a[b>>0],k=0|a[g>>0],I=(y=(C=(p=19077*(0|a[w>>0])|0)>>>8)-14234+((p=26149*k|0)>>>8)|0)>>>0<16384?y>>>6:255+(y>>31&-255)|0,E=(k=C+8708-((y=6419*m|0)>>>8)-((p=13320*k|0)>>>8)|0)>>>0<16384?k>>>6:255+(k>>31&-255)|0,D=(m=C+-17685+((k=33050*m|0)>>>8)|0)>>>0<16384?m>>>6:255+(m>>31&-255)|0,t[r>>0]=E>>>4|240&I,t[r+1>>0]=15|D,m=0|a[b>>0],k=0|a[g>>0],L=(y=(p=(C=19077*(0|a[w+1>>0])|0)>>>8)-14234+((C=26149*k|0)>>>8)|0)>>>0<16384?y>>>6:255+(y>>31&-255)|0,x=(k=p+8708-((y=6419*m|0)>>>8)-((C=13320*k|0)>>>8)|0)>>>0<16384?k>>>6:255+(k>>31&-255)|0,S=(m=p+-17685+((k=33050*m|0)>>>8)|0)>>>0<16384?m>>>6:255+(m>>31&-255)|0,t[r+2>>0]=x>>>4|240&L,t[r+3>>0]=15|S,(0|(r=r+4|0))!=(0|A);)b=b+1|0,g=g+1|0,w=w+2|0;u=e+h|0,s=d,l=i+f|0,c=n+v|0}else u=e,s=r,l=i,c=n;1&o&&(o=0|a[s>>0],s=0|a[c>>0],_=(v=(u=(c=19077*(0|a[u>>0])|0)>>>8)-14234+((c=26149*s|0)>>>8)|0)>>>0<16384?v>>>6:255+(v>>31&-255)|0,B=(s=u+8708-((v=6419*o|0)>>>8)-((c=13320*s|0)>>>8)|0)>>>0<16384?s>>>6:255+(s>>31&-255)|0,M=(o=u+-17685+((s=33050*o|0)>>>8)|0)>>>0<16384?o>>>6:255+(o>>31&-255)|0,t[l>>0]=B>>>4|240&_,t[l+1>>0]=15|M)},function(e,r,n,i,o){e|=0,r|=0,n|=0;var f,A,u=0,s=0,l=0,c=0,d=0,h=0,v=0,b=0,g=0,w=0,m=0,k=0,p=0,C=0,y=0,I=0,E=0,D=0,L=0,x=0,S=0,_=0,B=0,M=0;if(A=(i|=0)+(f=(o|=0)<<1&-4)|0,f){for(h=2+((d=f+-4|0)>>>1)|0,d=r+(v=1+(d>>>2)|0)|0,b=r,r=i,g=n,w=e;m=0|a[b>>0],k=0|a[g>>0],I=(y=(C=(p=19077*(0|a[w>>0])|0)>>>8)-14234+((p=26149*k|0)>>>8)|0)>>>0<16384?y>>>6:255+(y>>31&-255)|0,E=(k=C+8708-((y=6419*m|0)>>>8)-((p=13320*k|0)>>>8)|0)>>>0<16384?k>>>6:255+(k>>31&-255)|0,D=(m=C+-17685+((k=33050*m|0)>>>8)|0)>>>0<16384?m>>>6:255+(m>>31&-255)|0,t[r>>0]=E>>>5|248&I,t[r+1>>0]=D>>>3|E<<3&224,m=0|a[b>>0],k=0|a[g>>0],L=(y=(p=(C=19077*(0|a[w+1>>0])|0)>>>8)-14234+((C=26149*k|0)>>>8)|0)>>>0<16384?y>>>6:255+(y>>31&-255)|0,x=(k=p+8708-((y=6419*m|0)>>>8)-((C=13320*k|0)>>>8)|0)>>>0<16384?k>>>6:255+(k>>31&-255)|0,S=(m=p+-17685+((k=33050*m|0)>>>8)|0)>>>0<16384?m>>>6:255+(m>>31&-255)|0,t[r+2>>0]=x>>>5|248&L,t[r+3>>0]=S>>>3|x<<3&224,(0|(r=r+4|0))!=(0|A);)b=b+1|0,g=g+1|0,w=w+2|0;u=e+h|0,s=d,l=i+f|0,c=n+v|0}else u=e,s=r,l=i,c=n;1&o&&(o=0|a[s>>0],s=0|a[c>>0],_=(v=(u=(c=19077*(0|a[u>>0])|0)>>>8)-14234+((c=26149*s|0)>>>8)|0)>>>0<16384?v>>>6:255+(v>>31&-255)|0,B=(s=u+8708-((v=6419*o|0)>>>8)-((c=13320*s|0)>>>8)|0)>>>0<16384?s>>>6:255+(s>>31&-255)|0,M=(o=u+-17685+((s=33050*o|0)>>>8)|0)>>>0<16384?o>>>6:255+(o>>31&-255)|0,t[l>>0]=B>>>5|248&_,t[l+1>>0]=M>>>3|B<<3&224)},Pn,Pn,Pn,Pn,Pn,Pn,Pn,Pn,Pn,Pn,Pn,Pn,Pn,Pn],Wn=[function(e,r,n,t,i,o,a,f,A){d(8)},function(e,r,n,i,o,f,A,u,s){e|=0,r|=0,n|=0,o|=0,f|=0,A|=0,u|=0;var l=0,c=0,d=0,h=0,v=0,b=0,g=0,w=0,m=0,k=0,p=0,C=0,y=0,I=0,E=0,D=0,L=0,x=0,S=0,_=0,B=0,M=0,F=0,P=0,R=0,T=0,G=0,O=0,q=0,U=0,Y=0,z=0,W=0,X=0,Q=0,N=0,V=0,j=0,H=0,Z=0;if(c=(l=(s|=0)-1|0)>>1,b=(v=131074+(3*(d=(0|a[(i|=0)>>0])<<16|0|a[n>>0])|0)+(h=(0|a[f>>0])<<16|0|a[o>>0])|0)>>>2&255,g=v>>>18&255,k=(m=(w=(v=19077*(0|a[e>>0])|0)>>>8)-14234+((v=26149*g|0)>>>8)|0)>>>0<16384?m>>>6:255+(m>>31&-255)|0,t[A>>0]=k,p=(g=w+8708-((k=6419*b|0)>>>8)-((m=13320*g|0)>>>8)|0)>>>0<16384?g>>>6:255+(g>>31&-255)|0,t[A+1>>0]=p,C=(b=w+-17685+((p=33050*b|0)>>>8)|0)>>>0<16384?b>>>6:255+(b>>31&-255)|0,t[A+2>>0]=C,t[A+3>>0]=-1,(C=0!=(0|r))&&(p=(b=d+131074+(3*h|0)|0)>>>2&255,w=b>>>18&255,g=(b=19077*(0|a[r>>0])|0)>>>8,y=(m=((b=26149*w|0)>>>8)-14234+g|0)>>>0<16384?m>>>6:255+(m>>31&-255)|0,t[u>>0]=y,I=(w=8708-((y=6419*p|0)>>>8)-((m=13320*w|0)>>>8)+g|0)>>>0<16384?w>>>6:255+(w>>31&-255)|0,t[u+1>>0]=I,E=(p=((I=33050*p|0)>>>8)-17685+g|0)>>>0<16384?p>>>6:255+(p>>31&-255)|0,t[u+2>>0]=E,t[u+3>>0]=-1),(0|s)<3)D=d,L=h;else for(E=d,d=h,h=1;;){if(I=(m=(w=524296+(I=(p=(0|a[i+h>>0])<<16|0|a[n+h>>0])+d|0)+E+(g=(0|a[f+h>>0])<<16|0|a[o+h>>0])|0)+(I<<1)|0)>>>3,y=(w=(m=w+(g+E<<1)|0)>>>3)+p|0,x=A+(v=(k=(b=h<<1)-1|0)<<2)|0,S=(m=I+E|0)>>>1&255,_=m>>>17&255,F=(M=(B=(m=19077*(0|a[e+k>>0])|0)>>>8)-14234+((m=26149*_|0)>>>8)|0)>>>0<16384?M>>>6:255+(M>>31&-255)|0,t[x>>0]=F,P=(_=B+8708-((M=6419*S|0)>>>8)-((m=13320*_|0)>>>8)|0)>>>0<16384?_>>>6:255+(_>>31&-255)|0,t[x+1>>0]=P,R=(S=B+-17685+((_=33050*S|0)>>>8)|0)>>>0<16384?S>>>6:255+(S>>31&-255)|0,t[x+2>>0]=R,t[x+3>>0]=-1,S=A+(x=h<<3)|0,_=y>>>1&255,B=y>>>17&255,m=(y=19077*(0|a[e+b>>0])|0)>>>8,T=(M=((y=26149*B|0)>>>8)-14234+m|0)>>>0<16384?M>>>6:255+(M>>31&-255)|0,t[S>>0]=T,G=(B=8708-((M=6419*_|0)>>>8)-((y=13320*B|0)>>>8)+m|0)>>>0<16384?B>>>6:255+(B>>31&-255)|0,t[S+1>>0]=G,O=(_=((B=33050*_|0)>>>8)-17685+m|0)>>>0<16384?_>>>6:255+(_>>31&-255)|0,t[S+2>>0]=O,t[S+3>>0]=-1,C&&(S=w+d|0,w=I+g|0,I=u+v|0,v=S>>>1&255,_=S>>>17&255,k=(S=19077*(0|a[r+k>>0])|0)>>>8,q=(m=((S=26149*_|0)>>>8)-14234+k|0)>>>0<16384?m>>>6:255+(m>>31&-255)|0,t[I>>0]=q,U=(_=8708-((m=6419*v|0)>>>8)-((S=13320*_|0)>>>8)+k|0)>>>0<16384?_>>>6:255+(_>>31&-255)|0,t[I+1>>0]=U,Y=(v=((_=33050*v|0)>>>8)-17685+k|0)>>>0<16384?v>>>6:255+(v>>31&-255)|0,t[I+2>>0]=Y,t[I+3>>0]=-1,I=u+x|0,x=w>>>1&255,v=w>>>17&255,b=(w=19077*(0|a[r+b>>0])|0)>>>8,z=(k=((w=26149*v|0)>>>8)-14234+b|0)>>>0<16384?k>>>6:255+(k>>31&-255)|0,t[I>>0]=z,W=(v=8708-((k=6419*x|0)>>>8)-((w=13320*v|0)>>>8)+b|0)>>>0<16384?v>>>6:255+(v>>31&-255)|0,t[I+1>>0]=W,X=(x=((v=33050*x|0)>>>8)-17685+b|0)>>>0<16384?x>>>6:255+(x>>31&-255)|0,t[I+2>>0]=X,t[I+3>>0]=-1),!((0|h)<(0|c))){D=p,L=g;break}E=p,d=g,h=h+1|0}1&s|0||(d=A+(h=l<<2)|0,A=(s=L+131074+(3*D|0)|0)>>>2&255,E=s>>>18&255,e=(s=19077*(0|a[e+l>>0])|0)>>>8,Q=(c=((s=26149*E|0)>>>8)-14234+e|0)>>>0<16384?c>>>6:255+(c>>31&-255)|0,t[d>>0]=Q,N=(E=8708-((Q=6419*A|0)>>>8)-((c=13320*E|0)>>>8)+e|0)>>>0<16384?E>>>6:255+(E>>31&-255)|0,t[d+1>>0]=N,V=(A=((N=33050*A|0)>>>8)-17685+e|0)>>>0<16384?A>>>6:255+(A>>31&-255)|0,t[d+2>>0]=V,t[d+3>>0]=-1,C&&(C=D+131074+(3*L|0)|0,L=u+h|0,h=C>>>2&255,u=C>>>18&255,l=(C=19077*(0|a[r+l>>0])|0)>>>8,j=(r=((C=26149*u|0)>>>8)-14234+l|0)>>>0<16384?r>>>6:255+(r>>31&-255)|0,t[L>>0]=j,H=(u=8708-((j=6419*h|0)>>>8)-((r=13320*u|0)>>>8)+l|0)>>>0<16384?u>>>6:255+(u>>31&-255)|0,t[L+1>>0]=H,Z=(h=((H=33050*h|0)>>>8)-17685+l|0)>>>0<16384?h>>>6:255+(h>>31&-255)|0,t[L+2>>0]=Z,t[L+3>>0]=-1))},function(e,r,n,i,o,f,A,u,s){e|=0,r|=0,n|=0,o|=0,f|=0,A|=0,u|=0;var l=0,c=0,d=0,h=0,v=0,b=0,g=0,w=0,m=0,k=0,p=0,C=0,y=0,I=0,E=0,D=0,L=0,x=0,S=0,_=0,B=0,M=0,F=0,P=0,R=0,T=0,G=0,O=0,q=0,U=0,Y=0,z=0,W=0,X=0,Q=0,N=0,V=0,j=0,H=0,Z=0;if(c=(l=(s|=0)-1|0)>>1,b=(v=131074+(3*(d=(0|a[(i|=0)>>0])<<16|0|a[n>>0])|0)+(h=(0|a[f>>0])<<16|0|a[o>>0])|0)>>>2&255,g=v>>>18&255,k=(m=(w=(v=19077*(0|a[e>>0])|0)>>>8)-17685+((v=33050*b|0)>>>8)|0)>>>0<16384?m>>>6:255+(m>>31&-255)|0,t[A>>0]=k,p=(m=w+8708-((k=6419*b|0)>>>8)-((b=13320*g|0)>>>8)|0)>>>0<16384?m>>>6:255+(m>>31&-255)|0,t[A+1>>0]=p,C=(g=w+-14234+((p=26149*g|0)>>>8)|0)>>>0<16384?g>>>6:255+(g>>31&-255)|0,t[A+2>>0]=C,t[A+3>>0]=-1,(C=0!=(0|r))&&(p=(g=d+131074+(3*h|0)|0)>>>2&255,w=g>>>18&255,m=(g=19077*(0|a[r>>0])|0)>>>8,y=(b=((g=33050*p|0)>>>8)-17685+m|0)>>>0<16384?b>>>6:255+(b>>31&-255)|0,t[u>>0]=y,I=(b=8708-((y=6419*p|0)>>>8)-((p=13320*w|0)>>>8)+m|0)>>>0<16384?b>>>6:255+(b>>31&-255)|0,t[u+1>>0]=I,E=(w=((I=26149*w|0)>>>8)-14234+m|0)>>>0<16384?w>>>6:255+(w>>31&-255)|0,t[u+2>>0]=E,t[u+3>>0]=-1),(0|s)<3)D=d,L=h;else for(E=d,d=h,h=1;;){if(I=(p=(b=524296+(I=(w=(0|a[i+h>>0])<<16|0|a[n+h>>0])+d|0)+E+(m=(0|a[f+h>>0])<<16|0|a[o+h>>0])|0)+(I<<1)|0)>>>3,y=(b=(p=b+(m+E<<1)|0)>>>3)+w|0,x=A+(v=(k=(g=h<<1)-1|0)<<2)|0,S=(p=I+E|0)>>>1&255,_=p>>>17&255,F=(M=(B=(p=19077*(0|a[e+k>>0])|0)>>>8)-17685+((p=33050*S|0)>>>8)|0)>>>0<16384?M>>>6:255+(M>>31&-255)|0,t[x>>0]=F,P=(p=B+8708-((M=6419*S|0)>>>8)-((S=13320*_|0)>>>8)|0)>>>0<16384?p>>>6:255+(p>>31&-255)|0,t[x+1>>0]=P,R=(_=B+-14234+((p=26149*_|0)>>>8)|0)>>>0<16384?_>>>6:255+(_>>31&-255)|0,t[x+2>>0]=R,t[x+3>>0]=-1,_=A+(x=h<<3)|0,p=y>>>1&255,B=y>>>17&255,S=(y=19077*(0|a[e+g>>0])|0)>>>8,T=(M=((y=33050*p|0)>>>8)-17685+S|0)>>>0<16384?M>>>6:255+(M>>31&-255)|0,t[_>>0]=T,G=(y=8708-((M=6419*p|0)>>>8)-((p=13320*B|0)>>>8)+S|0)>>>0<16384?y>>>6:255+(y>>31&-255)|0,t[_+1>>0]=G,O=(B=((y=26149*B|0)>>>8)-14234+S|0)>>>0<16384?B>>>6:255+(B>>31&-255)|0,t[_+2>>0]=O,t[_+3>>0]=-1,C&&(_=b+d|0,b=I+m|0,I=u+v|0,v=_>>>1&255,B=_>>>17&255,k=(_=19077*(0|a[r+k>>0])|0)>>>8,q=(S=((_=33050*v|0)>>>8)-17685+k|0)>>>0<16384?S>>>6:255+(S>>31&-255)|0,t[I>>0]=q,U=(_=8708-((S=6419*v|0)>>>8)-((v=13320*B|0)>>>8)+k|0)>>>0<16384?_>>>6:255+(_>>31&-255)|0,t[I+1>>0]=U,Y=(B=((_=26149*B|0)>>>8)-14234+k|0)>>>0<16384?B>>>6:255+(B>>31&-255)|0,t[I+2>>0]=Y,t[I+3>>0]=-1,I=u+x|0,x=b>>>1&255,B=b>>>17&255,g=(b=19077*(0|a[r+g>>0])|0)>>>8,z=(k=((b=33050*x|0)>>>8)-17685+g|0)>>>0<16384?k>>>6:255+(k>>31&-255)|0,t[I>>0]=z,W=(b=8708-((k=6419*x|0)>>>8)-((x=13320*B|0)>>>8)+g|0)>>>0<16384?b>>>6:255+(b>>31&-255)|0,t[I+1>>0]=W,X=(B=((b=26149*B|0)>>>8)-14234+g|0)>>>0<16384?B>>>6:255+(B>>31&-255)|0,t[I+2>>0]=X,t[I+3>>0]=-1),!((0|h)<(0|c))){D=w,L=m;break}E=w,d=m,h=h+1|0}1&s|0||(d=A+(h=l<<2)|0,A=(s=L+131074+(3*D|0)|0)>>>2&255,E=s>>>18&255,e=(s=19077*(0|a[e+l>>0])|0)>>>8,Q=(c=((s=33050*A|0)>>>8)-17685+e|0)>>>0<16384?c>>>6:255+(c>>31&-255)|0,t[d>>0]=Q,N=(c=8708-((Q=6419*A|0)>>>8)-((A=13320*E|0)>>>8)+e|0)>>>0<16384?c>>>6:255+(c>>31&-255)|0,t[d+1>>0]=N,V=(E=((N=26149*E|0)>>>8)-14234+e|0)>>>0<16384?E>>>6:255+(E>>31&-255)|0,t[d+2>>0]=V,t[d+3>>0]=-1,C&&(C=D+131074+(3*L|0)|0,L=u+h|0,h=C>>>2&255,u=C>>>18&255,l=(C=19077*(0|a[r+l>>0])|0)>>>8,j=(r=((C=33050*h|0)>>>8)-17685+l|0)>>>0<16384?r>>>6:255+(r>>31&-255)|0,t[L>>0]=j,H=(r=8708-((j=6419*h|0)>>>8)-((h=13320*u|0)>>>8)+l|0)>>>0<16384?r>>>6:255+(r>>31&-255)|0,t[L+1>>0]=H,Z=(u=((H=26149*u|0)>>>8)-14234+l|0)>>>0<16384?u>>>6:255+(u>>31&-255)|0,t[L+2>>0]=Z,t[L+3>>0]=-1))},function(e,r,n,i,o,f,A,u,s){e|=0,r|=0,n|=0,o|=0,f|=0,A|=0,u|=0;var l=0,c=0,d=0,h=0,v=0,b=0,g=0,w=0,m=0,k=0,p=0,C=0,y=0,I=0,E=0,D=0,L=0,x=0,S=0,_=0,B=0,M=0,F=0,P=0,R=0,T=0,G=0,O=0,q=0,U=0,Y=0,z=0,W=0,X=0,Q=0,N=0,V=0,j=0,H=0,Z=0;if(c=(l=(s|=0)-1|0)>>1,b=(v=131074+(3*(d=(0|a[(i|=0)>>0])<<16|0|a[n>>0])|0)+(h=(0|a[f>>0])<<16|0|a[o>>0])|0)>>>2&255,g=v>>>18,k=(m=(w=(v=19077*(0|a[e>>0])|0)>>>8)-14234+((v=26149*g|0)>>>8)|0)>>>0<16384?m>>>6:255+(m>>31&-255)|0,t[A>>0]=k,p=(g=w+8708-((m=13320*g|0)>>>8)-((k=6419*b|0)>>>8)|0)>>>0<16384?g>>>6:255+(g>>31&-255)|0,t[A+1>>0]=p,C=(b=w+-17685+((p=33050*b|0)>>>8)|0)>>>0<16384?b>>>6:255+(b>>31&-255)|0,t[A+2>>0]=C,(C=0!=(0|r))&&(p=(b=d+131074+(3*h|0)|0)>>>2&255,w=b>>>18,g=(b=19077*(0|a[r>>0])|0)>>>8,y=(k=((b=26149*w|0)>>>8)-14234+g|0)>>>0<16384?k>>>6:255+(k>>31&-255)|0,t[u>>0]=y,I=(w=8708-((k=13320*w|0)>>>8)-((y=6419*p|0)>>>8)+g|0)>>>0<16384?w>>>6:255+(w>>31&-255)|0,t[u+1>>0]=I,E=(p=((I=33050*p|0)>>>8)-17685+g|0)>>>0<16384?p>>>6:255+(p>>31&-255)|0,t[u+2>>0]=E),(0|s)<3)D=d,L=h;else for(E=d,d=h,h=1;;){if(I=(y=(w=524296+(I=(p=(0|a[i+h>>0])<<16|0|a[n+h>>0])+d|0)+E+(g=(0|a[f+h>>0])<<16|0|a[o+h>>0])|0)+(I<<1)|0)>>>3,k=(w=(y=w+(g+E<<1)|0)>>>3)+p|0,v=(y=I+E|0)>>>1&255,x=y>>>17,S=A+(y=3*(m=(b=h<<1)-1|0)|0)|0,F=(M=(B=(_=19077*(0|a[e+m>>0])|0)>>>8)-14234+((_=26149*x|0)>>>8)|0)>>>0<16384?M>>>6:255+(M>>31&-255)|0,t[S>>0]=F,P=(x=B+8708-((_=13320*x|0)>>>8)-((M=6419*v|0)>>>8)|0)>>>0<16384?x>>>6:255+(x>>31&-255)|0,t[S+1>>0]=P,R=(v=B+-17685+((x=33050*v|0)>>>8)|0)>>>0<16384?v>>>6:255+(v>>31&-255)|0,t[S+2>>0]=R,S=k>>>1&255,v=k>>>17,x=A+(k=6*h|0)|0,M=(B=19077*(0|a[e+b>>0])|0)>>>8,T=(_=((B=26149*v|0)>>>8)-14234+M|0)>>>0<16384?_>>>6:255+(_>>31&-255)|0,t[x>>0]=T,G=(v=8708-((B=13320*v|0)>>>8)-((_=6419*S|0)>>>8)+M|0)>>>0<16384?v>>>6:255+(v>>31&-255)|0,t[x+1>>0]=G,O=(S=((v=33050*S|0)>>>8)-17685+M|0)>>>0<16384?S>>>6:255+(S>>31&-255)|0,t[x+2>>0]=O,C&&(x=w+d|0,w=I+g|0,I=x>>>1&255,S=x>>>17,x=u+y|0,m=(y=19077*(0|a[r+m>>0])|0)>>>8,q=(M=((y=26149*S|0)>>>8)-14234+m|0)>>>0<16384?M>>>6:255+(M>>31&-255)|0,t[x>>0]=q,U=(S=8708-((y=13320*S|0)>>>8)-((M=6419*I|0)>>>8)+m|0)>>>0<16384?S>>>6:255+(S>>31&-255)|0,t[x+1>>0]=U,Y=(I=((S=33050*I|0)>>>8)-17685+m|0)>>>0<16384?I>>>6:255+(I>>31&-255)|0,t[x+2>>0]=Y,x=w>>>1&255,I=w>>>17,w=u+k|0,b=(k=19077*(0|a[r+b>>0])|0)>>>8,z=(m=((k=26149*I|0)>>>8)-14234+b|0)>>>0<16384?m>>>6:255+(m>>31&-255)|0,t[w>>0]=z,W=(I=8708-((k=13320*I|0)>>>8)-((m=6419*x|0)>>>8)+b|0)>>>0<16384?I>>>6:255+(I>>31&-255)|0,t[w+1>>0]=W,X=(x=((I=33050*x|0)>>>8)-17685+b|0)>>>0<16384?x>>>6:255+(x>>31&-255)|0,t[w+2>>0]=X),!((0|h)<(0|c))){D=p,L=g;break}E=p,d=g,h=h+1|0}1&s|0||(h=(s=L+131074+(3*D|0)|0)>>>2&255,d=s>>>18,E=A+(s=3*l|0)|0,e=(A=19077*(0|a[e+l>>0])|0)>>>8,Q=(c=((A=26149*d|0)>>>8)-14234+e|0)>>>0<16384?c>>>6:255+(c>>31&-255)|0,t[E>>0]=Q,N=(d=8708-((c=13320*d|0)>>>8)-((Q=6419*h|0)>>>8)+e|0)>>>0<16384?d>>>6:255+(d>>31&-255)|0,t[E+1>>0]=N,V=(h=((N=33050*h|0)>>>8)-17685+e|0)>>>0<16384?h>>>6:255+(h>>31&-255)|0,t[E+2>>0]=V,C&&(L=(C=D+131074+(3*L|0)|0)>>>2&255,D=C>>>18,C=u+s|0,l=(s=19077*(0|a[r+l>>0])|0)>>>8,j=(r=((s=26149*D|0)>>>8)-14234+l|0)>>>0<16384?r>>>6:255+(r>>31&-255)|0,t[C>>0]=j,H=(D=8708-((r=13320*D|0)>>>8)-((j=6419*L|0)>>>8)+l|0)>>>0<16384?D>>>6:255+(D>>31&-255)|0,t[C+1>>0]=H,Z=(L=((H=33050*L|0)>>>8)-17685+l|0)>>>0<16384?L>>>6:255+(L>>31&-255)|0,t[C+2>>0]=Z))},function(e,r,n,i,o,f,A,u,s){e|=0,r|=0,n|=0,o|=0,f|=0,A|=0,u|=0;var l=0,c=0,d=0,h=0,v=0,b=0,g=0,w=0,m=0,k=0,p=0,C=0,y=0,I=0,E=0,D=0,L=0,x=0,S=0,_=0,B=0,M=0,F=0,P=0,R=0,T=0,G=0,O=0,q=0,U=0,Y=0,z=0,W=0,X=0,Q=0,N=0,V=0,j=0,H=0,Z=0;if(c=(l=(s|=0)-1|0)>>1,b=(v=131074+(3*(d=(0|a[(i|=0)>>0])<<16|0|a[n>>0])|0)+(h=(0|a[f>>0])<<16|0|a[o>>0])|0)>>>2&255,g=v>>>18,k=(m=(w=(v=19077*(0|a[e>>0])|0)>>>8)-17685+((v=33050*b|0)>>>8)|0)>>>0<16384?m>>>6:255+(m>>31&-255)|0,t[A>>0]=k,k=6419*b|0,p=(m=w+8708-((b=13320*g|0)>>>8)-(k>>>8)|0)>>>0<16384?m>>>6:255+(m>>31&-255)|0,t[A+1>>0]=p,C=(g=w+-14234+((p=26149*g|0)>>>8)|0)>>>0<16384?g>>>6:255+(g>>31&-255)|0,t[A+2>>0]=C,(C=0!=(0|r))&&(p=(g=d+131074+(3*h|0)|0)>>>2&255,w=g>>>18,m=(g=19077*(0|a[r>>0])|0)>>>8,y=(k=((g=33050*p|0)>>>8)-17685+m|0)>>>0<16384?k>>>6:255+(k>>31&-255)|0,t[u>>0]=y,y=6419*p|0,I=(k=8708-((p=13320*w|0)>>>8)-(y>>>8)+m|0)>>>0<16384?k>>>6:255+(k>>31&-255)|0,t[u+1>>0]=I,E=(w=((I=26149*w|0)>>>8)-14234+m|0)>>>0<16384?w>>>6:255+(w>>31&-255)|0,t[u+2>>0]=E),(0|s)<3)D=d,L=h;else for(E=d,d=h,h=1;;){if(I=(y=(k=524296+(I=(w=(0|a[i+h>>0])<<16|0|a[n+h>>0])+d|0)+E+(m=(0|a[f+h>>0])<<16|0|a[o+h>>0])|0)+(I<<1)|0)>>>3,p=(k=(y=k+(m+E<<1)|0)>>>3)+w|0,v=(y=I+E|0)>>>1&255,x=y>>>17,S=A+(y=3*(b=(g=h<<1)-1|0)|0)|0,F=(M=(B=(_=19077*(0|a[e+b>>0])|0)>>>8)-17685+((_=33050*v|0)>>>8)|0)>>>0<16384?M>>>6:255+(M>>31&-255)|0,t[S>>0]=F,M=6419*v|0,P=(_=B+8708-((v=13320*x|0)>>>8)-(M>>>8)|0)>>>0<16384?_>>>6:255+(_>>31&-255)|0,t[S+1>>0]=P,R=(x=B+-14234+((_=26149*x|0)>>>8)|0)>>>0<16384?x>>>6:255+(x>>31&-255)|0,t[S+2>>0]=R,S=p>>>1&255,x=p>>>17,_=A+(p=6*h|0)|0,M=(B=19077*(0|a[e+g>>0])|0)>>>8,T=(v=((B=33050*S|0)>>>8)-17685+M|0)>>>0<16384?v>>>6:255+(v>>31&-255)|0,t[_>>0]=T,v=6419*S|0,G=(B=8708-((S=13320*x|0)>>>8)-(v>>>8)+M|0)>>>0<16384?B>>>6:255+(B>>31&-255)|0,t[_+1>>0]=G,O=(x=((B=26149*x|0)>>>8)-14234+M|0)>>>0<16384?x>>>6:255+(x>>31&-255)|0,t[_+2>>0]=O,C&&(_=k+d|0,k=I+m|0,I=_>>>1&255,x=_>>>17,_=u+y|0,b=(y=19077*(0|a[r+b>>0])|0)>>>8,q=(M=((y=33050*I|0)>>>8)-17685+b|0)>>>0<16384?M>>>6:255+(M>>31&-255)|0,t[_>>0]=q,M=6419*I|0,U=(y=8708-((I=13320*x|0)>>>8)-(M>>>8)+b|0)>>>0<16384?y>>>6:255+(y>>31&-255)|0,t[_+1>>0]=U,Y=(x=((y=26149*x|0)>>>8)-14234+b|0)>>>0<16384?x>>>6:255+(x>>31&-255)|0,t[_+2>>0]=Y,_=k>>>1&255,x=k>>>17,k=u+p|0,g=(p=19077*(0|a[r+g>>0])|0)>>>8,z=(b=((p=33050*_|0)>>>8)-17685+g|0)>>>0<16384?b>>>6:255+(b>>31&-255)|0,t[k>>0]=z,b=6419*_|0,W=(p=8708-((_=13320*x|0)>>>8)-(b>>>8)+g|0)>>>0<16384?p>>>6:255+(p>>31&-255)|0,t[k+1>>0]=W,X=(x=((p=26149*x|0)>>>8)-14234+g|0)>>>0<16384?x>>>6:255+(x>>31&-255)|0,t[k+2>>0]=X),!((0|h)<(0|c))){D=w,L=m;break}E=w,d=m,h=h+1|0}1&s|0||(h=(s=L+131074+(3*D|0)|0)>>>2&255,d=s>>>18,E=A+(s=3*l|0)|0,e=(A=19077*(0|a[e+l>>0])|0)>>>8,Q=(c=((A=33050*h|0)>>>8)-17685+e|0)>>>0<16384?c>>>6:255+(c>>31&-255)|0,t[E>>0]=Q,Q=6419*h|0,N=(c=8708-((h=13320*d|0)>>>8)-(Q>>>8)+e|0)>>>0<16384?c>>>6:255+(c>>31&-255)|0,t[E+1>>0]=N,V=(d=((N=26149*d|0)>>>8)-14234+e|0)>>>0<16384?d>>>6:255+(d>>31&-255)|0,t[E+2>>0]=V,C&&(L=(C=D+131074+(3*L|0)|0)>>>2&255,D=C>>>18,C=u+s|0,l=(s=19077*(0|a[r+l>>0])|0)>>>8,j=(r=((s=33050*L|0)>>>8)-17685+l|0)>>>0<16384?r>>>6:255+(r>>31&-255)|0,t[C>>0]=j,j=6419*L|0,H=(r=8708-((L=13320*D|0)>>>8)-(j>>>8)+l|0)>>>0<16384?r>>>6:255+(r>>31&-255)|0,t[C+1>>0]=H,Z=(D=((H=26149*D|0)>>>8)-14234+l|0)>>>0<16384?D>>>6:255+(D>>31&-255)|0,t[C+2>>0]=Z))},function(e,r,n,i,o,f,A,u,s){e|=0,r|=0,n|=0,o|=0,f|=0,A|=0,u|=0;var l=0,c=0,d=0,h=0,v=0,b=0,g=0,w=0,m=0,k=0,p=0,C=0,y=0,I=0,E=0,D=0,L=0,x=0,S=0,_=0,B=0,M=0,F=0,P=0,R=0,T=0,G=0,O=0,q=0,U=0,Y=0,z=0,W=0,X=0,Q=0,N=0,V=0,j=0,H=0,Z=0;if(c=(l=(s|=0)-1|0)>>1,v=131074+(3*(d=(0|a[(i|=0)>>0])<<16|0|a[n>>0])|0)+(h=(0|a[f>>0])<<16|0|a[o>>0])|0,b=0|t[e>>0],t[A>>0]=-1,g=v>>>2&255,w=v>>>18&255,k=(m=(b=(v=19077*(255&b)|0)>>>8)-14234+((v=26149*w|0)>>>8)|0)>>>0<16384?m>>>6:255+(m>>31&-255)|0,t[A+1>>0]=k,p=(w=b+8708-((k=6419*g|0)>>>8)-((m=13320*w|0)>>>8)|0)>>>0<16384?w>>>6:255+(w>>31&-255)|0,t[A+2>>0]=p,C=(g=b+-17685+((p=33050*g|0)>>>8)|0)>>>0<16384?g>>>6:255+(g>>31&-255)|0,t[A+3>>0]=C,(C=0!=(0|r))&&(g=d+131074+(3*h|0)|0,p=0|t[r>>0],t[u>>0]=-1,b=g>>>2&255,w=g>>>18&255,p=(g=19077*(255&p)|0)>>>8,y=(m=((g=26149*w|0)>>>8)-14234+p|0)>>>0<16384?m>>>6:255+(m>>31&-255)|0,t[u+1>>0]=y,I=(w=8708-((y=6419*b|0)>>>8)-((m=13320*w|0)>>>8)+p|0)>>>0<16384?w>>>6:255+(w>>31&-255)|0,t[u+2>>0]=I,E=(b=((I=33050*b|0)>>>8)-17685+p|0)>>>0<16384?b>>>6:255+(b>>31&-255)|0,t[u+3>>0]=E),(0|s)<3)D=d,L=h;else for(E=d,d=h,h=1;;){if(I=(m=(w=524296+(I=(b=(0|a[i+h>>0])<<16|0|a[n+h>>0])+d|0)+E+(p=(0|a[f+h>>0])<<16|0|a[o+h>>0])|0)+(I<<1)|0)>>>3,w=(m=w+(p+E<<1)|0)>>>3,m=I+E|0,y=w+b|0,v=0|t[e+(k=(g=h<<1)-1|0)>>0],t[(S=A+(x=k<<2)|0)>>0]=-1,_=m>>>1&255,B=m>>>17&255,F=(M=(v=(m=19077*(255&v)|0)>>>8)-14234+((m=26149*B|0)>>>8)|0)>>>0<16384?M>>>6:255+(M>>31&-255)|0,t[S+1>>0]=F,P=(B=v+8708-((M=6419*_|0)>>>8)-((m=13320*B|0)>>>8)|0)>>>0<16384?B>>>6:255+(B>>31&-255)|0,t[S+2>>0]=P,R=(_=v+-17685+((B=33050*_|0)>>>8)|0)>>>0<16384?_>>>6:255+(_>>31&-255)|0,t[S+3>>0]=R,S=0|t[e+g>>0],t[(B=A+(_=h<<3)|0)>>0]=-1,v=y>>>1&255,m=y>>>17&255,S=(y=19077*(255&S)|0)>>>8,T=(M=((y=26149*m|0)>>>8)-14234+S|0)>>>0<16384?M>>>6:255+(M>>31&-255)|0,t[B+1>>0]=T,G=(m=8708-((M=6419*v|0)>>>8)-((y=13320*m|0)>>>8)+S|0)>>>0<16384?m>>>6:255+(m>>31&-255)|0,t[B+2>>0]=G,O=(v=((m=33050*v|0)>>>8)-17685+S|0)>>>0<16384?v>>>6:255+(v>>31&-255)|0,t[B+3>>0]=O,C&&(B=w+d|0,w=I+p|0,I=0|t[r+k>>0],t[(k=u+x|0)>>0]=-1,x=B>>>1&255,v=B>>>17&255,I=(B=19077*(255&I)|0)>>>8,q=(S=((B=26149*v|0)>>>8)-14234+I|0)>>>0<16384?S>>>6:255+(S>>31&-255)|0,t[k+1>>0]=q,U=(v=8708-((S=6419*x|0)>>>8)-((B=13320*v|0)>>>8)+I|0)>>>0<16384?v>>>6:255+(v>>31&-255)|0,t[k+2>>0]=U,Y=(x=((v=33050*x|0)>>>8)-17685+I|0)>>>0<16384?x>>>6:255+(x>>31&-255)|0,t[k+3>>0]=Y,k=0|t[r+g>>0],t[(g=u+_|0)>>0]=-1,_=w>>>1&255,x=w>>>17&255,k=(w=19077*(255&k)|0)>>>8,z=(I=((w=26149*x|0)>>>8)-14234+k|0)>>>0<16384?I>>>6:255+(I>>31&-255)|0,t[g+1>>0]=z,W=(x=8708-((I=6419*_|0)>>>8)-((w=13320*x|0)>>>8)+k|0)>>>0<16384?x>>>6:255+(x>>31&-255)|0,t[g+2>>0]=W,X=(_=((x=33050*_|0)>>>8)-17685+k|0)>>>0<16384?_>>>6:255+(_>>31&-255)|0,t[g+3>>0]=X),!((0|h)<(0|c))){D=b,L=p;break}E=b,d=p,h=h+1|0}1&s|0||(s=L+131074+(3*D|0)|0,h=0|t[e+l>>0],t[(d=A+(e=l<<2)|0)>>0]=-1,A=s>>>2&255,E=s>>>18&255,h=(s=19077*(255&h)|0)>>>8,Q=(c=((s=26149*E|0)>>>8)-14234+h|0)>>>0<16384?c>>>6:255+(c>>31&-255)|0,t[d+1>>0]=Q,N=(E=8708-((Q=6419*A|0)>>>8)-((c=13320*E|0)>>>8)+h|0)>>>0<16384?E>>>6:255+(E>>31&-255)|0,t[d+2>>0]=N,V=(A=((N=33050*A|0)>>>8)-17685+h|0)>>>0<16384?A>>>6:255+(A>>31&-255)|0,t[d+3>>0]=V,C&&(C=D+131074+(3*L|0)|0,L=0|t[r+l>>0],t[(l=u+e|0)>>0]=-1,e=C>>>2&255,u=C>>>18&255,L=(C=19077*(255&L)|0)>>>8,j=(r=((C=26149*u|0)>>>8)-14234+L|0)>>>0<16384?r>>>6:255+(r>>31&-255)|0,t[l+1>>0]=j,H=(u=8708-((j=6419*e|0)>>>8)-((r=13320*u|0)>>>8)+L|0)>>>0<16384?u>>>6:255+(u>>31&-255)|0,t[l+2>>0]=H,Z=(e=((H=33050*e|0)>>>8)-17685+L|0)>>>0<16384?e>>>6:255+(e>>31&-255)|0,t[l+3>>0]=Z))},function(e,r,n,i,o,f,A,u,s){e|=0,r|=0,n|=0,o|=0,f|=0,A|=0,u|=0;var l=0,c=0,d=0,h=0,v=0,b=0,g=0,w=0,m=0,k=0,p=0,C=0,y=0,I=0,E=0,D=0,L=0,x=0,S=0,_=0,B=0,M=0,F=0,P=0,R=0,T=0,G=0,O=0,q=0,U=0,Y=0,z=0,W=0,X=0,Q=0,N=0,V=0,j=0,H=0,Z=0;if(c=(l=(s|=0)-1|0)>>1,b=(v=131074+(3*(d=(0|a[(i|=0)>>0])<<16|0|a[n>>0])|0)+(h=(0|a[f>>0])<<16|0|a[o>>0])|0)>>>2&255,g=v>>>18,k=(m=(w=(v=19077*(0|a[e>>0])|0)>>>8)-14234+((v=26149*g|0)>>>8)|0)>>>0<16384?m>>>6:255+(m>>31&-255)|0,p=(g=w+8708-((v=13320*g|0)>>>8)-((m=6419*b|0)>>>8)|0)>>>0<16384?g>>>6:255+(g>>31&-255)|0,C=(b=w+-17685+((g=33050*b|0)>>>8)|0)>>>0<16384?b>>>6:255+(b>>31&-255)|0,t[A>>0]=p>>>4|240&k,t[A+1>>0]=15|C,(C=0!=(0|r))&&(p=(k=d+131074+(3*h|0)|0)>>>2&255,b=k>>>18,g=(k=19077*(0|a[r>>0])|0)>>>8,y=(w=((k=26149*b|0)>>>8)-14234+g|0)>>>0<16384?w>>>6:255+(w>>31&-255)|0,I=(b=8708-((k=13320*b|0)>>>8)-((w=6419*p|0)>>>8)+g|0)>>>0<16384?b>>>6:255+(b>>31&-255)|0,E=(p=((b=33050*p|0)>>>8)-17685+g|0)>>>0<16384?p>>>6:255+(p>>31&-255)|0,t[u>>0]=I>>>4|240&y,t[u+1>>0]=15|E),(0|s)<3)D=d,L=h;else for(E=d,d=h,h=1;;){if(p=(b=(g=524296+(p=(y=(0|a[i+h>>0])<<16|0|a[n+h>>0])+d|0)+E+(I=(0|a[f+h>>0])<<16|0|a[o+h>>0])|0)+(p<<1)|0)>>>3,w=(g=(b=g+(I+E<<1)|0)>>>3)+y|0,v=(b=p+E|0)>>>1&255,x=b>>>17,S=A+(b=(m=(k=h<<1)-1|0)<<1)|0,F=(M=(B=(_=19077*(0|a[e+m>>0])|0)>>>8)-14234+((_=26149*x|0)>>>8)|0)>>>0<16384?M>>>6:255+(M>>31&-255)|0,P=(x=B+8708-((_=13320*x|0)>>>8)-((M=6419*v|0)>>>8)|0)>>>0<16384?x>>>6:255+(x>>31&-255)|0,R=(v=B+-17685+((x=33050*v|0)>>>8)|0)>>>0<16384?v>>>6:255+(v>>31&-255)|0,t[S>>0]=P>>>4|240&F,t[S+1>>0]=15|R,S=w>>>1&255,v=w>>>17,x=A+(w=h<<2)|0,M=(B=19077*(0|a[e+k>>0])|0)>>>8,T=(_=((B=26149*v|0)>>>8)-14234+M|0)>>>0<16384?_>>>6:255+(_>>31&-255)|0,G=(v=8708-((B=13320*v|0)>>>8)-((_=6419*S|0)>>>8)+M|0)>>>0<16384?v>>>6:255+(v>>31&-255)|0,O=(S=((v=33050*S|0)>>>8)-17685+M|0)>>>0<16384?S>>>6:255+(S>>31&-255)|0,t[x>>0]=G>>>4|240&T,t[x+1>>0]=15|O,C&&(x=g+d|0,g=p+I|0,p=x>>>1&255,S=x>>>17,x=u+b|0,m=(b=19077*(0|a[r+m>>0])|0)>>>8,q=(M=((b=26149*S|0)>>>8)-14234+m|0)>>>0<16384?M>>>6:255+(M>>31&-255)|0,U=(S=8708-((b=13320*S|0)>>>8)-((M=6419*p|0)>>>8)+m|0)>>>0<16384?S>>>6:255+(S>>31&-255)|0,Y=(p=((S=33050*p|0)>>>8)-17685+m|0)>>>0<16384?p>>>6:255+(p>>31&-255)|0,t[x>>0]=U>>>4|240&q,t[x+1>>0]=15|Y,x=g>>>1&255,p=g>>>17,g=u+w|0,k=(w=19077*(0|a[r+k>>0])|0)>>>8,z=(m=((w=26149*p|0)>>>8)-14234+k|0)>>>0<16384?m>>>6:255+(m>>31&-255)|0,W=(p=8708-((w=13320*p|0)>>>8)-((m=6419*x|0)>>>8)+k|0)>>>0<16384?p>>>6:255+(p>>31&-255)|0,X=(x=((p=33050*x|0)>>>8)-17685+k|0)>>>0<16384?x>>>6:255+(x>>31&-255)|0,t[g>>0]=W>>>4|240&z,t[g+1>>0]=15|X),!((0|h)<(0|c))){D=y,L=I;break}E=y,d=I,h=h+1|0}1&s|0||(h=(s=L+131074+(3*D|0)|0)>>>2&255,d=s>>>18,E=A+(s=l<<1)|0,e=(A=19077*(0|a[e+l>>0])|0)>>>8,Q=(c=((A=26149*d|0)>>>8)-14234+e|0)>>>0<16384?c>>>6:255+(c>>31&-255)|0,N=(d=8708-((A=13320*d|0)>>>8)-((c=6419*h|0)>>>8)+e|0)>>>0<16384?d>>>6:255+(d>>31&-255)|0,V=(h=((d=33050*h|0)>>>8)-17685+e|0)>>>0<16384?h>>>6:255+(h>>31&-255)|0,t[E>>0]=N>>>4|240&Q,t[E+1>>0]=15|V,C&&(L=(C=D+131074+(3*L|0)|0)>>>2&255,D=C>>>18,C=u+s|0,l=(s=19077*(0|a[r+l>>0])|0)>>>8,j=(r=((s=26149*D|0)>>>8)-14234+l|0)>>>0<16384?r>>>6:255+(r>>31&-255)|0,H=(D=8708-((s=13320*D|0)>>>8)-((r=6419*L|0)>>>8)+l|0)>>>0<16384?D>>>6:255+(D>>31&-255)|0,Z=(L=((D=33050*L|0)>>>8)-17685+l|0)>>>0<16384?L>>>6:255+(L>>31&-255)|0,t[C>>0]=H>>>4|240&j,t[C+1>>0]=15|Z))},function(e,r,n,i,o,f,A,u,s){e|=0,r|=0,n|=0,o|=0,f|=0,A|=0,u|=0;var l=0,c=0,d=0,h=0,v=0,b=0,g=0,w=0,m=0,k=0,p=0,C=0,y=0,I=0,E=0,D=0,L=0,x=0,S=0,_=0,B=0,M=0,F=0,P=0,R=0,T=0,G=0,O=0,q=0,U=0,Y=0,z=0,W=0,X=0,Q=0,N=0,V=0,j=0,H=0,Z=0;if(c=(l=(s|=0)-1|0)>>1,b=(v=131074+(3*(d=(0|a[(i|=0)>>0])<<16|0|a[n>>0])|0)+(h=(0|a[f>>0])<<16|0|a[o>>0])|0)>>>2&255,g=v>>>18,k=(m=(w=(v=19077*(0|a[e>>0])|0)>>>8)-14234+((v=26149*g|0)>>>8)|0)>>>0<16384?m>>>6:255+(m>>31&-255)|0,p=(g=w+8708-((v=13320*g|0)>>>8)-((m=6419*b|0)>>>8)|0)>>>0<16384?g>>>6:255+(g>>31&-255)|0,C=(b=w+-17685+((g=33050*b|0)>>>8)|0)>>>0<16384?b>>>6:255+(b>>31&-255)|0,t[A>>0]=p>>>5|248&k,t[A+1>>0]=C>>>3|p<<3&224,(p=0!=(0|r))&&(k=(C=d+131074+(3*h|0)|0)>>>2&255,b=C>>>18,g=(C=19077*(0|a[r>>0])|0)>>>8,y=(w=((C=26149*b|0)>>>8)-14234+g|0)>>>0<16384?w>>>6:255+(w>>31&-255)|0,I=(b=8708-((C=13320*b|0)>>>8)-((w=6419*k|0)>>>8)+g|0)>>>0<16384?b>>>6:255+(b>>31&-255)|0,E=(k=((b=33050*k|0)>>>8)-17685+g|0)>>>0<16384?k>>>6:255+(k>>31&-255)|0,t[u>>0]=I>>>5|248&y,t[u+1>>0]=E>>>3|I<<3&224),(0|s)<3)D=d,L=h;else for(I=d,d=h,h=1;;){if(k=(b=(g=524296+(k=(E=(0|a[i+h>>0])<<16|0|a[n+h>>0])+d|0)+I+(y=(0|a[f+h>>0])<<16|0|a[o+h>>0])|0)+(k<<1)|0)>>>3,w=(g=(b=g+(y+I<<1)|0)>>>3)+E|0,v=(b=k+I|0)>>>1&255,x=b>>>17,S=A+(b=(m=(C=h<<1)-1|0)<<1)|0,F=(M=(B=(_=19077*(0|a[e+m>>0])|0)>>>8)-14234+((_=26149*x|0)>>>8)|0)>>>0<16384?M>>>6:255+(M>>31&-255)|0,P=(x=B+8708-((_=13320*x|0)>>>8)-((M=6419*v|0)>>>8)|0)>>>0<16384?x>>>6:255+(x>>31&-255)|0,R=(v=B+-17685+((x=33050*v|0)>>>8)|0)>>>0<16384?v>>>6:255+(v>>31&-255)|0,t[S>>0]=P>>>5|248&F,t[S+1>>0]=R>>>3|P<<3&224,S=w>>>1&255,v=w>>>17,x=A+(w=h<<2)|0,M=(B=19077*(0|a[e+C>>0])|0)>>>8,T=(_=((B=26149*v|0)>>>8)-14234+M|0)>>>0<16384?_>>>6:255+(_>>31&-255)|0,G=(v=8708-((B=13320*v|0)>>>8)-((_=6419*S|0)>>>8)+M|0)>>>0<16384?v>>>6:255+(v>>31&-255)|0,O=(S=((v=33050*S|0)>>>8)-17685+M|0)>>>0<16384?S>>>6:255+(S>>31&-255)|0,t[x>>0]=G>>>5|248&T,t[x+1>>0]=O>>>3|G<<3&224,p&&(x=g+d|0,g=k+y|0,k=x>>>1&255,S=x>>>17,x=u+b|0,m=(b=19077*(0|a[r+m>>0])|0)>>>8,q=(M=((b=26149*S|0)>>>8)-14234+m|0)>>>0<16384?M>>>6:255+(M>>31&-255)|0,U=(S=8708-((b=13320*S|0)>>>8)-((M=6419*k|0)>>>8)+m|0)>>>0<16384?S>>>6:255+(S>>31&-255)|0,Y=(k=((S=33050*k|0)>>>8)-17685+m|0)>>>0<16384?k>>>6:255+(k>>31&-255)|0,t[x>>0]=U>>>5|248&q,t[x+1>>0]=Y>>>3|U<<3&224,x=g>>>1&255,k=g>>>17,g=u+w|0,C=(w=19077*(0|a[r+C>>0])|0)>>>8,z=(m=((w=26149*k|0)>>>8)-14234+C|0)>>>0<16384?m>>>6:255+(m>>31&-255)|0,W=(k=8708-((w=13320*k|0)>>>8)-((m=6419*x|0)>>>8)+C|0)>>>0<16384?k>>>6:255+(k>>31&-255)|0,X=(x=((k=33050*x|0)>>>8)-17685+C|0)>>>0<16384?x>>>6:255+(x>>31&-255)|0,t[g>>0]=W>>>5|248&z,t[g+1>>0]=X>>>3|W<<3&224),!((0|h)<(0|c))){D=E,L=y;break}I=E,d=y,h=h+1|0}1&s|0||(h=(s=L+131074+(3*D|0)|0)>>>2&255,d=s>>>18,I=A+(s=l<<1)|0,e=(A=19077*(0|a[e+l>>0])|0)>>>8,Q=(c=((A=26149*d|0)>>>8)-14234+e|0)>>>0<16384?c>>>6:255+(c>>31&-255)|0,N=(d=8708-((A=13320*d|0)>>>8)-((c=6419*h|0)>>>8)+e|0)>>>0<16384?d>>>6:255+(d>>31&-255)|0,V=(h=((d=33050*h|0)>>>8)-17685+e|0)>>>0<16384?h>>>6:255+(h>>31&-255)|0,t[I>>0]=N>>>5|248&Q,t[I+1>>0]=V>>>3|N<<3&224,p&&(L=(p=D+131074+(3*L|0)|0)>>>2&255,D=p>>>18,p=u+s|0,l=(s=19077*(0|a[r+l>>0])|0)>>>8,j=(r=((s=26149*D|0)>>>8)-14234+l|0)>>>0<16384?r>>>6:255+(r>>31&-255)|0,H=(D=8708-((s=13320*D|0)>>>8)-((r=6419*L|0)>>>8)+l|0)>>>0<16384?D>>>6:255+(D>>31&-255)|0,Z=(L=((D=33050*L|0)>>>8)-17685+l|0)>>>0<16384?L>>>6:255+(L>>31&-255)|0,t[p>>0]=H>>>5|248&j,t[p+1>>0]=Z>>>3|H<<3&224))}];return{_WebpToSDL:function(e,r){e|=0,r|=0;var n,t,i,a,f,A,u=0,s=0,c=0,d=0,h=0,v=0,I=0,E=0;if(n=O,O=O+224|0,t=n+16|0,i=n+8|0,a=n,A=40+(f=n+24|0)|0,!(0|function(e,r){return 0==(0|(e|=0))|512!=(-256&(r|=0)|0)?0:(Dn(0|e,0,200),We(e+40|0,520),1)}(f,520)))return function(e,r,n,t){t|=0;var i;i=0|l(n|=0,r|=0),(0|o[t+76>>2])>-1?(n=!1,dn(8544,i,t)):dn(8544,i,t)}(0,26,1,0|o[2043]),O=n,0;0|o[2484]||(m(32),o[2484]=1);do{if(0|Ir(e,r,f,520))h=0,v=0,I=0;else{if(u=f+4|0,!(s=0|p(0|o[f>>2],0|o[u>>2],32,0))){c=0|o[2043],d=0|o[u>>2],o[a>>2]=o[f>>2],o[a+4>>2]=d,hn(c,8571,a),h=0,v=0,I=0;break}if(!(c=0|b(0,0|o[f>>2],0|o[u>>2],32,255,65280,16711680,-16777216))){d=0|o[2043],E=0|o[u>>2],o[i>>2]=o[f>>2],o[i+4>>2]=E,hn(d,8612,i),h=0,v=s,I=0;break}if(k(0|c),o[A>>2]=1,o[f+44>>2]=o[c+8>>2],d=c+12|0,o[f+48>>2]=o[d>>2],o[f+56>>2]=o[c+20>>2],E=c+16|0,o[f+60>>2]=o[E>>2],u=0|l(0|o[d>>2],0|o[E>>2]),o[f+64>>2]=u,o[f+52>>2]=1,0|(u=0|Xr(e,r,f))){E=0|o[2043],o[t>>2]=u,hn(E,8650,t),h=c,v=s,I=0;break}C(0|c),0|y(0|c,0,0|s,0)?(h=c,v=s,I=0):(h=c,v=s,I=0==(0|g(0|s))&1)}}while(0);return w(0|h),w(0|v),Xe(A),O=n,0|I},___errno_location:function(){return 10696},___muldi3:vn,___udivdi3:kn,_bitshift64Lshr:pn,_bitshift64Shl:Cn,_emscripten_replace_memory:function(e){return t=new Int8Array(e),a=new Uint8Array(e),i=new Int16Array(e),f=new Uint16Array(e),o=new Int32Array(e),new Float32Array(e),A=new Float64Array(e),n=e,!0},_free:Nr,_i64Add:bn,_i64Subtract:gn,_llvm_bswap_i32:yn,_malloc:Qr,_memcpy:In,_memmove:En,_memset:Dn,_sbrk:Ln,dynCall_ii:function(e,r){return r|=0,0|Rn[7&(e|=0)](0|r)},dynCall_iii:function(e,r,n){return r|=0,n|=0,0|Tn[31&(e|=0)](0|r,0|n)},dynCall_iiii:function(e,r,n,t){return r|=0,n|=0,t|=0,0|Gn[15&(e|=0)](0|r,0|n,0|t)},dynCall_iiiiiii:function(e,r,n,t,i,o,a){return r|=0,n|=0,t|=0,i|=0,o|=0,a|=0,0|On[1&(e|=0)](0|r,0|n,0|t,0|i,0|o,0|a)},dynCall_vi:function(e,r){r|=0,qn[31&(e|=0)](0|r)},dynCall_vii:function(e,r,n){r|=0,n|=0,Un[3&(e|=0)](0|r,0|n)},dynCall_viiii:function(e,r,n,t,i){r|=0,n|=0,t|=0,i|=0,Yn[31&(e|=0)](0|r,0|n,0|t,0|i)},dynCall_viiiii:function(e,r,n,t,i,o){r|=0,n|=0,t|=0,i|=0,o|=0,zn[31&(e|=0)](0|r,0|n,0|t,0|i,0|o)},dynCall_viiiiiiiii:function(e,r,n,t,i,o,a,f,A,u){r|=0,n|=0,t|=0,i|=0,o|=0,a|=0,f|=0,A|=0,u|=0,Wn[7&(e|=0)](0|r,0|n,0|t,0|i,0|o,0|a,0|f,0|A,0|u)},establishStackSpace:function(e,r){O=e|=0},stackAlloc:function(e){var r;return r=O,O=15+(O=O+(e|=0)|0)&-16,0|r},stackRestore:function(e){O=e|=0},stackSave:function(){return 0|O}}}({Math:Math,Int8Array:Int8Array,Int16Array:Int16Array,Int32Array:Int32Array,Uint8Array:Uint8Array,Uint16Array:Uint16Array,Float32Array:Float32Array,Float64Array:Float64Array},{a:ke,b:function(e){s=e},c:function(){return s},d:function(e,r,n,t,i,o,a,f){return J.makeSurface(r,n,e,!1,"CreateRGBSurface",i,o,a,f)},e:function(e){},f:function(e){e&&J.freeSurface(e)},g:H,h:function(e){if(J.startTime=Date.now(),J.initFlags=e,!t.doNotCaptureKeyboard){var r=t.keyboardListeningElement||document;r.addEventListener("keydown",J.receiveEvent),r.addEventListener("keyup",J.receiveEvent),r.addEventListener("keypress",J.receiveEvent),window.addEventListener("focus",J.receiveEvent),window.addEventListener("blur",J.receiveEvent),document.addEventListener("visibilitychange",J.receiveEvent)}return window.addEventListener("unload",J.receiveEvent),J.keyboardState=Ae(65536),se(J.keyboardState,0,65536),J.DOMEventToSDLEvent.keydown=768,J.DOMEventToSDLEvent.keyup=769,J.DOMEventToSDLEvent.keypress=771,J.DOMEventToSDLEvent.mousedown=1025,J.DOMEventToSDLEvent.mouseup=1026,J.DOMEventToSDLEvent.mousemove=1024,J.DOMEventToSDLEvent.wheel=1027,J.DOMEventToSDLEvent.touchstart=1792,J.DOMEventToSDLEvent.touchend=1793,J.DOMEventToSDLEvent.touchmove=1794,J.DOMEventToSDLEvent.unload=256,J.DOMEventToSDLEvent.resize=28673,J.DOMEventToSDLEvent.visibilitychange=512,J.DOMEventToSDLEvent.focus=512,J.DOMEventToSDLEvent.blur=512,J.DOMEventToSDLEvent.joystick_axis_motion=1536,J.DOMEventToSDLEvent.joystick_button_down=1539,J.DOMEventToSDLEvent.joystick_button_up=1540,0},i:Z,j:function(e,r,n,i){["touchstart","touchend","touchmove","mousedown","mouseup","mousemove","DOMMouseScroll","mousewheel","wheel","mouseout"].forEach(function(e){t.canvas.addEventListener(e,J.receiveEvent,!0)});var o=t.canvas;return 0==e&&0==r&&(e=o.width,r=o.height),J.addedResizeListener||(J.addedResizeListener=!0,j.resizeListeners.push(function(e,r){J.settingVideoMode||J.receiveEvent({type:"resize",w:e,h:r})})),J.settingVideoMode=!0,j.setCanvasSize(e,r),J.settingVideoMode=!1,J.screen&&J.freeSurface(J.screen),J.GL&&(i|=67108864),J.screen=J.makeSurface(e,r,i,!0,"screen"),J.screen},k:function(e){var r=J.surfaces[e];if(r.locked&&!(--r.locked>0)){if(r.isFlagSet(2097152))J.copyIndexedColorData(r);else if(r.colors)for(var n=t.canvas.width,i=t.canvas.height,o=r.buffer,a=(c=r.image.data,r.colors),f=0;f>0];var s=A+4*u;c[s]=a[w],c[s+1]=a[w+1],c[s+2]=a[w+2]}o+=3*n}else{var l,c=r.image.data,d=r.buffer>>2,h=0,b=e==J.screen;if("undefined"!=typeof CanvasPixelArray&&c instanceof CanvasPixelArray)for(l=c.length;h>8&255,c[h+2]=w>>16&255,c[h+3]=b?255:w>>24&255,d++,h+=4}else{var m=new Uint32Array(c.buffer);if(b&&J.defaults.opaqueFrontBuffer){l=m.length,m.set(g.subarray(d,d+l));var k=new Uint8Array(c.buffer),p=3,C=p+4*l;if(l%8==0)for(;p>2]=e),e},n:function(e,n){ee.varargs=n;try{var t=ee.getStreamFromFD(),i=(ee.get(),ee.get()),o=ee.get(),a=ee.get(),f=i;return FS.llseek(t,f,a),g[o>>2]=t.position,t.getdents&&0===f&&0===a&&(t.getdents=null),0}catch(r){return"undefined"!=typeof FS&&r instanceof FS.ErrnoError||ke(r),-r.errno}},o:function(e,n){ee.varargs=n;try{for(var t=ee.get(),i=ee.get(),o=ee.get(),a=0,f=0;f>2],u=g[i+(8*f+4)>>2],s=0;s2130706432)return!1;for(var n=Math.max(r,16777216);n0||(function(){if(t.preRun)for("function"==typeof t.preRun&&(t.preRun=[t.preRun]);t.preRun.length;)e=t.preRun.shift(),x.unshift(e);var e;L(x)}(),G>0||t.calledRun||(t.setStatus?(t.setStatus("Running..."),setTimeout(function(){setTimeout(function(){t.setStatus("")},1),r()},1)):r()))}function ke(e){throw t.onAbort&&t.onAbort(e),void 0!==e?(f(e),A(e),e=JSON.stringify(e)):e="",l=!0,"abort("+e+"). Build with -s ASSERTIONS=1 for more info."}if(we.prototype=new Error,we.prototype.constructor=we,q=function e(){t.calledRun||me(),t.calledRun||(q=e)},t.run=me,t.abort=ke,t.preInit)for("function"==typeof t.preInit&&(t.preInit=[t.preInit]);t.preInit.length>0;)t.preInit.pop()();t.noExitRuntime=!0,me(),this.Module=t,this.webpToSdl=t.cwrap("WebpToSDL","number",["array","number"]),this.setCanvas=function(e){t.canvas=e}}}}).call(this,n({}).setImmediate);var x,S={},_=this&&this.__extends||(x=function(e,r){return(x=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,r){e.__proto__=r}||function(e,r){for(var n in r)r.hasOwnProperty(n)&&(e[n]=r[n])})(e,r)},function(e,r){function n(){this.constructor=e}x(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}),B=this&&this.__awaiter||function(e,n,t,i){return new(t||(t=Promise))(function(o,a){function f(e){try{u(i.next(e))}catch(r){a(r)}}function A(e){try{u(i.throw(e))}catch(r){a(r)}}function u(e){e.done?o(e.value):new t(function(r){r(e.value)}).then(f,A)}u((i=i.apply(e,n||[])).next())})},M=this&&this.__generator||function(e,n){var t,i,o,a,f={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return a={next:A(0),throw:A(1),return:A(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function A(a){return function(A){return function(a){if(t)throw new TypeError("Generator is already executing.");for(;f;)try{if(t=1,i&&(o=2&a[0]?i.return:a[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,a[1])).done)return o;switch(i=0,o&&(a=[2&a[0],o.value]),a[0]){case 0:case 1:o=a;break;case 4:return f.label++,{value:a[1],done:!1};case 5:f.label++,i=a[1],a=[0];continue;case 7:a=f.ops.pop(),f.trys.pop();continue;default:if(!(o=(o=f.trys).length>0&&o[o.length-1])&&(6===a[0]||2===a[0])){f=0;continue}if(3===a[0]&&(!o||a[1]>o[0]&&a[1]